{"version":3,"file":"js/chunk-vendors.3b2a3830.js","mappings":"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cAAe,CACXF,YAAa,CACT,MACA,MACA,MACA,MACA,MACA,MACA,OAEJC,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ7C,MAAO,CACH,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ8C,KAAM,CACF,SACA,SACA,UACA,YACA,WACA,SACA,cAIZ1yE,OAAQ,CACJ/pC,OAAQ,CACJu8G,YAAa,CACT,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJC,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJC,KAAM,CACF,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,aAGR,cAAe,CACXF,YAAa,CACT,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJC,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJC,KAAM,CACF,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,cAIZC,SAAU,CACN18G,OAAQ,CACJu8G,YAAa,CACT,KACA,KACA,KACA,MAEJC,OAAQ,CACJ,IACA,IACA,IACA,KAEJC,KAAM,CACF,cACA,cACA,cACA,gBAGR,cAAe,CACXF,YAAa,CACT,KACA,KACA,KACA,MAEJC,OAAQ,CACJ,IACA,IACA,IACA,KAEJC,KAAM,CACF,cACA,cACA,cACA,iBAIZE,WAAY,CACR38G,OAAQ,CACJu8G,YAAa,CACTK,SAAU,WACVnvD,GAAI,KACJ,iBAAkB,KAClBovD,KAAM,OACNnvD,GAAI,KACJ,iBAAkB,KAClBovD,SAAU,iBACVC,WAAY,mBACZC,SAAU,iBACVC,OAAQ,YAEZT,OAAQ,CACJI,SAAU,KACVnvD,GAAI,IACJ,iBAAkB,KAClBovD,KAAM,IACNnvD,GAAI,IACJ,iBAAkB,KAClBovD,SAAU,iBACVC,WAAY,mBACZC,SAAU,iBACVC,OAAQ,YAEZR,KAAM,CACFG,SAAU,W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","sources":["webpack://own-words/./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack://own-words/./node_modules/@fortawesome/free-brands-svg-icons/index.es.js","webpack://own-words/./node_modules/@fortawesome/free-regular-svg-icons/index.es.js","webpack://own-words/./node_modules/@fortawesome/free-solid-svg-icons/index.es.js","webpack://own-words/./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack://own-words/./node_modules/@popperjs/core/lib/enums.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://own-words/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/math.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/within.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://own-words/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://own-words/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://own-words/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://own-words/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://own-words/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://own-words/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://own-words/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://own-words/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://own-words/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://own-words/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://own-words/./node_modules/@popperjs/core/lib/createPopper.js","webpack://own-words/./node_modules/@popperjs/core/lib/popper.js","webpack://own-words/./node_modules/@popperjs/core/lib/popper-lite.js","webpack://own-words/./node_modules/@progress/kendo-base-components-vue-wrapper/dist/es/index.js","webpack://own-words/./node_modules/@progress/kendo-base-components-vue-wrapper/dist/es/kendo-base-component/index.js","webpack://own-words/./node_modules/@progress/kendo-base-components-vue-wrapper/dist/es/kendo-base-datasource-component/index.js","webpack://own-words/./node_modules/@progress/kendo-base-components-vue-wrapper/dist/es/kendo-base-input-component/index.js","webpack://own-words/./node_modules/@progress/kendo-base-components-vue-wrapper/dist/es/kendo-shared-methods/index.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/utils.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/filtering/filter-descriptor.interface.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/funcs.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/accessor.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/odata.operators.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/filtering/operators.enum.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/filter-serialization.common.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/mvc/operators.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/mvc/deserialization.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/sorting/sort-array.operator.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/transducers.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/filtering/filter.operators.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/grouping/aggregate.operators.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/filtering/filter-no-eval.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/filtering/filter-expression.factory.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/sorting/sort.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/grouping/group.operators.js","webpack://own-words/./node_modules/@progress/kendo-data-query/dist/es/array.operators.js","webpack://own-words/./node_modules/@progress/kendo-draggable/dist/es/main.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/Common/TileSize.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/Common/Tooltip.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoColorPalette/ColorPaletteProps.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoColorPalette/KendoColorPaletteMixin.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoColorPalette/index.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoColorPicker/ColorPickerProps.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoColorPicker/KendoColorPickerMixin.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoColorPicker/Messages.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoColorPicker/index.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoFlatColorPicker/FlatColorPickerProps.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoFlatColorPicker/KendoFlatColorPickerMixin.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoFlatColorPicker/Messages.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoFlatColorPicker/index.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoMaskedTextBox/KendoMaskedTextBoxMixin.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoMaskedTextBox/MaskedTextBoxProps.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoMaskedTextBox/index.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoNumericTextBox/KendoNumericTextBoxMixin.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoNumericTextBox/NumericTextBoxProps.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoNumericTextBox/index.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoRangeSlider/KendoRangeSliderMixin.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoRangeSlider/RangeSliderProps.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoRangeSlider/index.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoSlider/KendoSliderMixin.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoSlider/SliderProps.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoSlider/index.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoSwitch/KendoSwitchMixin.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoSwitch/Messages.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoSwitch/ObsoleteSwitchProps.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoSwitch/SwitchProps.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/KendoSwitch/index.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/index.js","webpack://own-words/./node_modules/@progress/kendo-inputs-vue-wrapper/dist/es/kendo-inputs-installer/index.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/Common/Animation.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/Common/Scrollable.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoContextMenu/Animation.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoContextMenu/ContextMenuProps.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoContextMenu/KendoContextMenuMixin.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoContextMenu/index.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoMenu/KendoMenuItem.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoMenu/KendoMenuMixin.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoMenu/MenuProps.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoMenu/OpenOnClick.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoMenu/index.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoPanelBar/Animation.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoPanelBar/KendoPanelBarItem.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoPanelBar/KendoPanelBarMixin.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoPanelBar/Messages.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoPanelBar/PanelBarProps.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoPanelBar/index.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoSplitter/KendoSplitterMixin.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoSplitter/KendoSplitterPane.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoSplitter/PaneProps.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoSplitter/SplitterProps.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoSplitter/index.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoTabStrip/KendoTabStripMixin.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoTabStrip/TabStripProps.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/KendoTabStrip/index.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/index.js","webpack://own-words/./node_modules/@progress/kendo-layout-vue-wrapper/dist/es/kendo-layout-installer/index.js","webpack://own-words/./node_modules/@progress/kendo-licensing/dist/index-esm.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/align-point.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/align.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/add-scroll.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/apply-location-offset.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/owner-document.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/window.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/document.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/scrollbar-width.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/window-viewport.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/bounding-offset.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/offset-parent.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/is-body-offset.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/offset.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/parents.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/scroll-position.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/element-scroll-position.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/parent-scroll-position.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/offset-parent-scroll-position.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/position.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/position-with-scroll.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/remove-scroll.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/collision.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/restrict-to-view.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/siblings.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/sibling-container.js","webpack://own-words/./node_modules/@progress/kendo-popup-common/dist/es/utils.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/Common/Animation.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/KendoNotification/KendoNotificationMixin.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/KendoNotification/NotificationProps.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/KendoNotification/Position.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/KendoNotification/Templates.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/KendoNotification/index.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/KendoTooltip/Content.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/KendoTooltip/KendoTooltipMixin.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/KendoTooltip/TooltipProps.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/KendoTooltip/index.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/index.js","webpack://own-words/./node_modules/@progress/kendo-popups-vue-wrapper/dist/es/kendo-popups-installer/index.js","webpack://own-words/./node_modules/@progress/kendo-svg-icons/dist/index.es.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/util.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/AnimationChild.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/Animation.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/Fade.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/Expand.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/Push.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/Slide.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/Zoom.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/Reveal.js","webpack://own-words/./node_modules/@progress/kendo-vue-animation/dist/es/hooks/useAnimation.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/noop.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/getTabIndex.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/Chip/focus-reducer.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/util.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/Button.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/ButtonWrap.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/ButtonGroup.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/Chip/data-reducer.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/Chip/selection-reducer.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/Chip/Chip.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/Chip/ChipList.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/FloatingActionButtonItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/FloatingActionButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/ButtonItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/utils/navigation.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/utils/popup.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/SplitButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/DropDownButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/Toolbar.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarSeparator.js","webpack://own-words/./node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarSpacer.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/isObject.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/refs.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/focus.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/noop.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/getTabIndex.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/isRtl.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/theme.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/browser-support.service.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/icons/constants.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/icons/FontIcon.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/icons/SvgIcon.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/icons/Icon.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/icons/getIconName.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/watermark/WatermarkOverlay.js","webpack://own-words/./node_modules/@progress/kendo-vue-common/dist/es/navigation.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/messages/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/TextFilter.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/NumericFilter.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/DateFilter.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/EnumFilter.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/BooleanFilter.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/node_modules/@progress/kendo-vue-common/dist/es/noop.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/navigation/constants.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/operators.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/Expression.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/GroupToolbar.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/GroupFilters.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/Filter.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/navigation/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerNumericButtons.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerInput.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerPageSizes.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerInfo.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerNavigationButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/Pager.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/header/HeaderThElement.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/GridPagerSettings.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/virtualization/columns.js","webpack://own-words/./node_modules/@progress/kendo-vue-data-tools/dist/es/navigation/TableKeyboardNavigation.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/clone.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/noop.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/clone-date.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/day.enum.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/adjust-dst.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/create-date.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/get-date.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/is-equal.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/is-equal-date.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/add-days.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/direction.enum.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/day-of-week.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/models/NavigationAction.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/models/CalendarViewEnum.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/prev-day-of-week.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/constants.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/week-in-year.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/CalendarCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/CalendarWeekCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/models/SelectionRange.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/CenturyViewService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/DecadeViewService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/MonthViewService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/YearViewService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/BusViewService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/messages/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/virtualization/Virtualization.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/utils.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/last-day-of-month.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/add-months.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/set-year.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/add-years.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/add-decades.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/add-centuries.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/normalize-year.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/first-decade-of-century.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/last-decade-of-century.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/first-year-of-decade.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/duration-in-centuries.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/last-year-of-decade.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/duration-in-decades.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/add-weeks.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/first-day-of-month.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/duration-in-months.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/set-month.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/first-month-of-year.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/last-month-of-year.js","webpack://own-words/./node_modules/@progress/kendo-date-math/dist/es/duration-in-years.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/DOMService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/NavigationService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/WeekNamesService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/View.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/ViewList.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/defaults.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/CalendarHeaderTitle.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/Header.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/utils/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/Calendar.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/dateinput/models/mask.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/dateinput/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/dateinput/models/kendo-date.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/models/TimePart.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/dateinput/DateInput.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/datepicker/ToggleButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/common/PickerWrap.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/datepicker/DatePicker.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/virtualization/services/RowHeightService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/virtualization/services/ScrollerService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/TimeList.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/TimePart.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/services/DayPeriodService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/services/DOMService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/services/HoursService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/services/MinutesService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/services/SecondsService.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/TimeSelector.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/TimePicker.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/daterangepicker/DateRangePicker.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/datetimepicker/DateTimeSelector.js","webpack://own-words/./node_modules/@progress/kendo-vue-dateinputs/dist/es/datetimepicker/DateTimePicker.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/dist/es/DialogTitleBar.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/dist/es/StageEnum.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/dist/es/Dialog.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/dist/es/DialogActionsBar.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/dist/es/WindowTitlebar.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/dist/es/WindowResizeHandlers.js","webpack://own-words/./node_modules/@progress/kendo-vue-dialogs/dist/es/Window.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/noop.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/messages/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/settings.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListContainer.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListFilter.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListDefaultItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/List.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/VirtualScroll.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/Navigation.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/DropDownBase.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/DropDownList/DropDownList.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/SearchBar.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ClearButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/ComboBox/ComboBox.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/AutoComplete/AutoComplete.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/MultiSelect/TagList.js","webpack://own-words/./node_modules/@progress/kendo-vue-dropdowns/dist/es/MultiSelect/MultiSelect.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/node_modules/@progress/kendo-vue-common/dist/es/clone.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/dist/es/Field.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/dist/es/Form.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/dist/es/FieldArray.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/dist/es/FieldWrapper.js","webpack://own-words/./node_modules/@progress/kendo-vue-form/dist/es/FormElement.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/clone.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/noop.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/constants/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/isRtl.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/GridNav.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/utils/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/messages/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridSelectionCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridHierarchyCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridDetailHierarchyCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridDetailCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridEditCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/utils/browser-support.service.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/header/Header.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/interfaces/GridSortSettings.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/drag/ColumnResizer.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/drag/ColumnDraggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/header/GridHeaderCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuItemGroup.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuSort.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuItemContent.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/filterCommon.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuFilterCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuFilterUI.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuFilter.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/ColumnMenuContent.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/ColumnMenu.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/header/HeaderRow.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridFilterCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/header/FilterRow.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/drag/GroupingIndicator.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/header/GroupPanel.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/footer/Footer.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/footer/FooterRow.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/VirtualScroll.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/drag/ColumnResize.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/drag/CommonDragLogic.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/drag/DragClue.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/drag/DropClue.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridGroupCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/rows/GridRow.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/header/GridHeaderSelectionCell.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/GridNoRecords.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/Grid.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/rows/GridDetailRow.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/GridToolbar.js","webpack://own-words/./node_modules/@progress/kendo-vue-grid/dist/es/main.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/isObject.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/isRtl.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/theme.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/browser-support.service.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/icons/FontIcon.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/icons/SvgIcon.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/icons/Icon.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/watermark/WatermarkOverlay.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/node_modules/@progress/kendo-vue-common/dist/es/navigation.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/dist/es/badge/Badge.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/dist/es/badge/BadgeContainer.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/dist/es/loader/Loader.js","webpack://own-words/./node_modules/@progress/kendo-vue-indicators/dist/es/skeleton/Skeleton.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/utils/misc.js","webpack://own-words/./node_modules/@progress/kendo-drawing/dist/es/common/class.js","webpack://own-words/./node_modules/@progress/kendo-drawing/dist/es/common/support.js","webpack://own-words/./node_modules/@progress/kendo-drawing/dist/es/common/color/named-colors.js","webpack://own-words/./node_modules/@progress/kendo-drawing/dist/es/common/color/parse-color.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/utils/color-palette.service.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/focus.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/noop.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/getTabIndex.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/isRtl.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/messages/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/result.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/models/palette-presets.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/utils/color-parser.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/ColorPalette.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/Picker.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/ColorPicker.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/switch/Switch.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/input/Input.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/numerictextbox/utils/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/numerictextbox/NumericTextBox.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/stream.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/parsers.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/combinators.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/masking.service.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/MaskedTextBox.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/slider/SliderLabel.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/slider/Slider.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/checkbox/Checkbox.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/radiobutton/RadioButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/radiobutton/RadioGroup.js","webpack://own-words/./node_modules/@progress/kendo-vue-inputs/dist/es/textarea/TextArea.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/default-data.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/common/is-string.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/error-details.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/errors.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/info.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/territory.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/common/constants.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/date-field-name.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/date-format-names.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/parse-range-date.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/currency.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/constants.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/first-day.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/weekend-range.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/cldr/number-symbols.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/common/is-negative-zero.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/numbers/format-currency-symbol.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/numbers/group-integer.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/numbers/is-currency-style.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/common/pad.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/common/round.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/numbers/standard-number-format.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/numbers/utils.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/numbers/custom-number-format.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/numbers/format-options.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/numbers/format-number.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/common/is-number.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/numbers/parse-number.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/common/format-string.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/dates/date-pattern.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/dates/date-name-type.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/dates/format-names.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/common/is-date.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/dates/constants.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/dates/format-date.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/dates/time-utils.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/dates/parse-date.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/dates/split-date-format.js","webpack://own-words/./node_modules/@telerik/kendo-intl/dist/es/format.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/dist/es/Intl/IntlService.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/dist/es/Intl/IntlProvider.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/dist/es/Intl/main.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/dist/es/Localization/messages.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/dist/es/Localization/LocalizationService.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/dist/es/Localization/LocalizationProvider.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/dist/es/Localization/main.js","webpack://own-words/./node_modules/@progress/kendo-vue-intl/dist/es/intlUtils.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/dist/es/messages/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/dist/es/Label.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/dist/es/Error.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/dist/es/Hint.js","webpack://own-words/./node_modules/@progress/kendo-vue-labels/dist/es/FloatingLabel.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/focus.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/getTabIndex.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/isRtl.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/TabStripNavigationItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/card/interfaces/Enums.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/TabStripNavigation.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/TabStripContent.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/TabStrip.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/TabStripTab.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/card/Card.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/stepper/messages/index.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardHeader.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardTitle.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardBody.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardActions.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardImage.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardSubtitle.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardFooter.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/card/Avatar.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/drawer/DrawerItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/drawer/DrawerNavigation.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/drawer/Drawer.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/drawer/DrawerContent.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/stepper/contants.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/stepper/Step.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/getTabIndex.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/isRtl.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/dist/es/common/constants.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/dist/es/common/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-progressbars/dist/es/progressbar/ProgressBar.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/stepper/Stepper.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/itemsIdsUtils.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/prepareInputItemsForInternalWork.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/getNewItemIdUponKeyboardNavigation.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/hoverDelay.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/consts.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/misc.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/components/MenuItemLink.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/components/MenuItemArrow.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/components/MenuItemInternal.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/components/MenuItemInternalsList.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/DirectionHolder.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/MouseOverHandler.js","webpack://own-words/./node_modules/@progress/kendo-vue-layout/dist/es/menu/components/Menu.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/dist/es/util.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/dist/es/services/alignService.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/dist/es/services/domService.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/dist/es/services/positionService.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-popup/dist/es/Popup.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/isObject.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/refs.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/focus.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/browser-support.service.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/icons/FontIcon.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/icons/SvgIcon.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/node_modules/@progress/kendo-vue-common/dist/es/icons/Icon.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/dist/es/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-tooltip/dist/es/Tooltip.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/interfaces/UploadFileStatus.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/messages/main.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Chip/focus-reducer.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/util.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/AnimationChild.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Animation.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Fade.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Expand.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Push.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Slide.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Zoom.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Reveal.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/hooks/useAnimation.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-progressbars/dist/es/common/constants.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-progressbars/dist/es/common/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-progressbars/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-progressbars/dist/es/progressbar/ProgressBar.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-progressbars/dist/es/chunkprogressbar/ChunkProgressBar.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/utils/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/util.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Button.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ButtonWrap.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ButtonGroup.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Chip/data-reducer.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Chip/selection-reducer.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Chip/Chip.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Chip/ChipList.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/FloatingActionButtonItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/utils.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/util.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/services/alignService.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/services/domService.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/services/positionService.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/Popup.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/FloatingActionButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/ButtonItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/utils/navigation.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/utils/popup.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/SplitButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/DropDownButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/Toolbar.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarSeparator.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarSpacer.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadListActionButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadListSingleItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadListMultiItem.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadListGroup.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadList.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadActionButtons.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadInput.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadAddButton.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadStatus.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadDropZone.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadUI.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/UploadNavigation.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/utils/stateUtils.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/utils/connectionUtils.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/utils/validationUtils.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/package-metadata.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/Upload.js","webpack://own-words/./node_modules/@progress/kendo-vue-upload/dist/es/ExternalDropZone.js","webpack://own-words/./node_modules/@telerik/kendo-draggable/dist/es/main.js","webpack://own-words/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://own-words/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://own-words/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://own-words/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://own-words/./node_modules/bootstrap/dist/js/bootstrap.min.js","webpack://own-words/./node_modules/quill/dist/quill.js","webpack://own-words/./node_modules/register-service-worker/index.js","webpack://own-words/./node_modules/v-pagination-3/dist/vue-pagination-2.min.js","webpack://own-words/./node_modules/vue-loader/dist/exportHelper.js","webpack://own-words/./node_modules/vue-loading-overlay/dist/vue-loading.min.js","webpack://own-words/./node_modules/vue3-editor/dist/vue3-editor.common.js","webpack://own-words/./node_modules/vue3-timepicker/dist/VueTimepikcer.esm.js","webpack://own-words/./node_modules/vue/dist/vue.runtime.esm-bundler.js","webpack://own-words/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://own-words/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://own-words/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://own-words/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://own-words/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://own-words/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://own-words/./node_modules/core-js/internals/a-callable.js","webpack://own-words/./node_modules/core-js/internals/a-possible-prototype.js","webpack://own-words/./node_modules/core-js/internals/an-object.js","webpack://own-words/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://own-words/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://own-words/./node_modules/core-js/internals/array-iteration-from-last.js","webpack://own-words/./node_modules/core-js/internals/classof-raw.js","webpack://own-words/./node_modules/core-js/internals/classof.js","webpack://own-words/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://own-words/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://own-words/./node_modules/core-js/internals/create-property-descriptor.js","webpack://own-words/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://own-words/./node_modules/core-js/internals/define-built-in.js","webpack://own-words/./node_modules/core-js/internals/define-global-property.js","webpack://own-words/./node_modules/core-js/internals/descriptors.js","webpack://own-words/./node_modules/core-js/internals/document-create-element.js","webpack://own-words/./node_modules/core-js/internals/environment-user-agent.js","webpack://own-words/./node_modules/core-js/internals/environment-v8-version.js","webpack://own-words/./node_modules/core-js/internals/fails.js","webpack://own-words/./node_modules/core-js/internals/function-bind-context.js","webpack://own-words/./node_modules/core-js/internals/function-bind-native.js","webpack://own-words/./node_modules/core-js/internals/function-call.js","webpack://own-words/./node_modules/core-js/internals/function-name.js","webpack://own-words/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://own-words/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://own-words/./node_modules/core-js/internals/function-uncurry-this.js","webpack://own-words/./node_modules/core-js/internals/get-built-in.js","webpack://own-words/./node_modules/core-js/internals/get-method.js","webpack://own-words/./node_modules/core-js/internals/global-this.js","webpack://own-words/./node_modules/core-js/internals/has-own-property.js","webpack://own-words/./node_modules/core-js/internals/hidden-keys.js","webpack://own-words/./node_modules/core-js/internals/ie8-dom-define.js","webpack://own-words/./node_modules/core-js/internals/indexed-object.js","webpack://own-words/./node_modules/core-js/internals/inspect-source.js","webpack://own-words/./node_modules/core-js/internals/internal-state.js","webpack://own-words/./node_modules/core-js/internals/is-callable.js","webpack://own-words/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://own-words/./node_modules/core-js/internals/is-object.js","webpack://own-words/./node_modules/core-js/internals/is-possible-prototype.js","webpack://own-words/./node_modules/core-js/internals/is-pure.js","webpack://own-words/./node_modules/core-js/internals/is-symbol.js","webpack://own-words/./node_modules/core-js/internals/length-of-array-like.js","webpack://own-words/./node_modules/core-js/internals/make-built-in.js","webpack://own-words/./node_modules/core-js/internals/math-trunc.js","webpack://own-words/./node_modules/core-js/internals/object-define-property.js","webpack://own-words/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://own-words/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://own-words/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://own-words/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://own-words/./node_modules/core-js/internals/require-object-coercible.js","webpack://own-words/./node_modules/core-js/internals/shared-key.js","webpack://own-words/./node_modules/core-js/internals/shared-store.js","webpack://own-words/./node_modules/core-js/internals/shared.js","webpack://own-words/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://own-words/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://own-words/./node_modules/core-js/internals/to-length.js","webpack://own-words/./node_modules/core-js/internals/to-object.js","webpack://own-words/./node_modules/core-js/internals/to-offset.js","webpack://own-words/./node_modules/core-js/internals/to-positive-integer.js","webpack://own-words/./node_modules/core-js/internals/to-primitive.js","webpack://own-words/./node_modules/core-js/internals/to-property-key.js","webpack://own-words/./node_modules/core-js/internals/to-string-tag-support.js","webpack://own-words/./node_modules/core-js/internals/try-to-string.js","webpack://own-words/./node_modules/core-js/internals/uid.js","webpack://own-words/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://own-words/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://own-words/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://own-words/./node_modules/core-js/internals/well-known-symbol.js","webpack://own-words/./node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack://own-words/./node_modules/core-js/modules/es.typed-array.find-last.js","webpack://own-words/./node_modules/core-js/modules/es.typed-array.set.js","webpack://own-words/./node_modules/core-js/modules/esnext.typed-array.find-last-index.js","webpack://own-words/./node_modules/core-js/modules/esnext.typed-array.find-last.js","webpack://own-words/./node_modules/@vueform/multiselect/dist/multiselect.mjs","webpack://own-words/./node_modules/axios/lib/helpers/bind.js","webpack://own-words/./node_modules/axios/lib/utils.js","webpack://own-words/./node_modules/axios/lib/core/AxiosError.js","webpack://own-words/./node_modules/axios/lib/helpers/null.js","webpack://own-words/./node_modules/axios/lib/helpers/toFormData.js","webpack://own-words/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://own-words/./node_modules/axios/lib/helpers/buildURL.js","webpack://own-words/./node_modules/axios/lib/core/InterceptorManager.js","webpack://own-words/./node_modules/axios/lib/defaults/transitional.js","webpack://own-words/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://own-words/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://own-words/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://own-words/./node_modules/axios/lib/platform/browser/index.js","webpack://own-words/./node_modules/axios/lib/platform/common/utils.js","webpack://own-words/./node_modules/axios/lib/platform/index.js","webpack://own-words/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://own-words/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://own-words/./node_modules/axios/lib/defaults/index.js","webpack://own-words/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://own-words/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://own-words/./node_modules/axios/lib/core/transformData.js","webpack://own-words/./node_modules/axios/lib/cancel/isCancel.js","webpack://own-words/./node_modules/axios/lib/cancel/CanceledError.js","webpack://own-words/./node_modules/axios/lib/core/settle.js","webpack://own-words/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://own-words/./node_modules/axios/lib/helpers/speedometer.js","webpack://own-words/./node_modules/axios/lib/helpers/throttle.js","webpack://own-words/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://own-words/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://own-words/./node_modules/axios/lib/helpers/cookies.js","webpack://own-words/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://own-words/./node_modules/axios/lib/helpers/combineURLs.js","webpack://own-words/./node_modules/axios/lib/core/buildFullPath.js","webpack://own-words/./node_modules/axios/lib/core/mergeConfig.js","webpack://own-words/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://own-words/./node_modules/axios/lib/adapters/xhr.js","webpack://own-words/./node_modules/axios/lib/helpers/composeSignals.js","webpack://own-words/./node_modules/axios/lib/helpers/trackStream.js","webpack://own-words/./node_modules/axios/lib/adapters/fetch.js","webpack://own-words/./node_modules/axios/lib/adapters/adapters.js","webpack://own-words/./node_modules/axios/lib/core/dispatchRequest.js","webpack://own-words/./node_modules/axios/lib/env/data.js","webpack://own-words/./node_modules/axios/lib/helpers/validator.js","webpack://own-words/./node_modules/axios/lib/core/Axios.js","webpack://own-words/./node_modules/axios/lib/cancel/CancelToken.js","webpack://own-words/./node_modules/axios/lib/helpers/spread.js","webpack://own-words/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://own-words/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://own-words/./node_modules/axios/lib/axios.js","webpack://own-words/./node_modules/mitt/dist/mitt.mjs","webpack://own-words/./node_modules/vue-router/dist/vue-router.mjs","webpack://own-words/./node_modules/vue-toastification/dist/index.mjs"],"sourcesContent":["/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar PREFIX_TO_STYLE = {\n 'fas': 'solid',\n 'far': 'regular',\n 'fal': 'light',\n 'fad': 'duotone',\n 'fab': 'brands',\n 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/i; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\nvar FONT_WEIGHT_TO_PREFIX = {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal'\n};\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'flip-both', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY].concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n // For example \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.4\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"fab\";\nvar fa500px = {\n prefix: 'fab',\n iconName: '500px',\n icon: [448, 512, [], \"f26e\", \"M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z\"]\n};\nvar faAccessibleIcon = {\n prefix: 'fab',\n iconName: 'accessible-icon',\n icon: [448, 512, [], \"f368\", \"M423.9 255.8L411 413.1c-3.3 40.7-63.9 35.1-60.6-4.9l10-122.5-41.1 2.3c10.1 20.7 15.8 43.9 15.8 68.5 0 41.2-16.1 78.7-42.3 106.5l-39.3-39.3c57.9-63.7 13.1-167.2-74-167.2-25.9 0-49.5 9.9-67.2 26L73 243.2c22-20.7 50.1-35.1 81.4-40.2l75.3-85.7-42.6-24.8-51.6 46c-30 26.8-70.6-18.5-40.5-45.4l68-60.7c9.8-8.8 24.1-10.2 35.5-3.6 0 0 139.3 80.9 139.5 81.1 16.2 10.1 20.7 36 6.1 52.6L285.7 229l106.1-5.9c18.5-1.1 33.6 14.4 32.1 32.7zm-64.9-154c28.1 0 50.9-22.8 50.9-50.9C409.9 22.8 387.1 0 359 0c-28.1 0-50.9 22.8-50.9 50.9 0 28.1 22.8 50.9 50.9 50.9zM179.6 456.5c-80.6 0-127.4-90.6-82.7-156.1l-39.7-39.7C36.4 287 24 320.3 24 356.4c0 130.7 150.7 201.4 251.4 122.5l-39.7-39.7c-16 10.9-35.3 17.3-56.1 17.3z\"]\n};\nvar faAccusoft = {\n prefix: 'fab',\n iconName: 'accusoft',\n icon: [640, 512, [], \"f369\", \"M322.1 252v-1l-51.2-65.8s-12 1.6-25 15.1c-9 9.3-242.1 239.1-243.4 240.9-7 10 1.6 6.8 15.7 1.7.8 0 114.5-36.6 114.5-36.6.5-.6-.1-.1.6-.6-.4-5.1-.8-26.2-1-27.7-.6-5.2 2.2-6.9 7-8.9l92.6-33.8c.6-.8 88.5-81.7 90.2-83.3zm160.1 120.1c13.3 16.1 20.7 13.3 30.8 9.3 3.2-1.2 115.4-47.6 117.8-48.9 8-4.3-1.7-16.7-7.2-23.4-2.1-2.5-205.1-245.6-207.2-248.3-9.7-12.2-14.3-12.9-38.4-12.8-10.2 0-106.8.5-116.5.6-19.2.1-32.9-.3-19.2 16.9C250 75 476.5 365.2 482.2 372.1zm152.7 1.6c-2.3-.3-24.6-4.7-38-7.2 0 0-115 50.4-117.5 51.6-16 7.3-26.9-3.2-36.7-14.6l-57.1-74c-5.4-.9-60.4-9.6-65.3-9.3-3.1.2-9.6.8-14.4 2.9-4.9 2.1-145.2 52.8-150.2 54.7-5.1 2-11.4 3.6-11.1 7.6.2 2.5 2 2.6 4.6 3.5 2.7.8 300.9 67.6 308 69.1 15.6 3.3 38.5 10.5 53.6 1.7 2.1-1.2 123.8-76.4 125.8-77.8 5.4-4 4.3-6.8-1.7-8.2z\"]\n};\nvar faAcquisitionsIncorporated = {\n prefix: 'fab',\n iconName: 'acquisitions-incorporated',\n icon: [384, 512, [], \"f6af\", \"M357.45 468.2c-1.2-7.7-1.3-7.6-9.6-7.6-99.8.2-111.8-2.4-112.7-2.6-12.3-1.7-20.6-10.5-21-23.1-.1-1.6-.2-71.6-1-129.1-.1-4.7 1.6-6.4 5.9-7.5 12.5-3 24.9-6.1 37.3-9.7 4.3-1.3 6.8-.2 8.4 3.5 4.5 10.3 8.8 20.6 13.2 30.9 1.6 3.7.1 4.4-3.4 4.4-10-.2-20-.1-30.4-.1v27h116c-1.4-9.5-2.7-18.1-4-27.5-7 0-13.8.4-20.4-.1-22.6-1.6-18.3-4.4-84-158.6-8.8-20.1-27.9-62.1-36.5-89.2-4.4-14 5.5-25.4 18.9-26.6 18.6-1.7 37.5-1.6 56.2-2 20.6-.4 41.2-.4 61.8-.5 3.1 0 4-1.4 4.3-4.3 1.2-9.8 2.7-19.5 4-29.2.8-5.3 1.6-10.7 2.4-16.1L23.75 0c-3.6 0-5.3 1.1-4.6 5.3 2.2 13.2-.8.8 6.4 45.3 63.4 0 71.8.9 101.8.5 12.3-.2 37 3.5 37.7 22.1.4 11.4-1.1 11.3-32.6 87.4-53.8 129.8-50.7 120.3-67.3 161-1.7 4.1-3.6 5.2-7.6 5.2-8.5-.2-17-.3-25.4.1-1.9.1-5.2 1.8-5.5 3.2-1.5 8.1-2.2 16.3-3.2 24.9h114.3v-27.6c-6.9 0-33.5.4-35.3-2.9 5.3-12.3 10.4-24.4 15.7-36.7 16.3 4 31.9 7.8 47.6 11.7 3.4.9 4.6 3 4.6 6.8-.1 42.9.1 85.9.2 128.8 0 10.2-5.5 19.1-14.9 23.1-6.5 2.7-3.3 3.4-121.4 2.4-5.3 0-7.1 2-7.6 6.8-1.5 12.9-2.9 25.9-5 38.8-.8 5 1.3 5.7 5.3 5.7 183.2.6-30.7 0 337.1 0-2.5-15-4.4-29.4-6.6-43.7zm-174.9-205.7c-13.3-4.2-26.6-8.2-39.9-12.5a44.53 44.53 0 0 1-5.8-2.9c17.2-44.3 34.2-88.1 51.3-132.1 7.5 2.4 7.9-.8 9.4 0 9.3 22.5 18.1 60.1 27 82.8 6.6 16.7 13 33.5 19.7 50.9a35.78 35.78 0 0 1-3.9 2.1c-13.1 3.9-26.4 7.5-39.4 11.7a27.66 27.66 0 0 1-18.4 0z\"]\n};\nvar faAdn = {\n prefix: 'fab',\n iconName: 'adn',\n icon: [496, 512, [], \"f170\", \"M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z\"]\n};\nvar faAdversal = {\n prefix: 'fab',\n iconName: 'adversal',\n icon: [512, 512, [], \"f36a\", \"M482.1 32H28.7C5.8 32 0 37.9 0 60.9v390.2C0 474.4 5.8 480 28.7 480h453.4c24.4 0 29.9-5.2 29.9-29.7V62.2c0-24.6-5.4-30.2-29.9-30.2zM178.4 220.3c-27.5-20.2-72.1-8.7-84.2 23.4-4.3 11.1-9.3 9.5-17.5 8.3-9.7-1.5-17.2-3.2-22.5-5.5-28.8-11.4 8.6-55.3 24.9-64.3 41.1-21.4 83.4-22.2 125.3-4.8 40.9 16.8 34.5 59.2 34.5 128.5 2.7 25.8-4.3 58.3 9.3 88.8 1.9 4.4.4 7.9-2.7 10.7-8.4 6.7-39.3 2.2-46.6-7.4-1.9-2.2-1.8-3.6-3.9-6.2-3.6-3.9-7.3-2.2-11.9 1-57.4 36.4-140.3 21.4-147-43.3-3.1-29.3 12.4-57.1 39.6-71 38.2-19.5 112.2-11.8 114-30.9 1.1-10.2-1.9-20.1-11.3-27.3zm286.7 222c0 15.1-11.1 9.9-17.8 9.9H52.4c-7.4 0-18.2 4.8-17.8-10.7.4-13.9 10.5-9.1 17.1-9.1 132.3-.4 264.5-.4 396.8 0 6.8 0 16.6-4.4 16.6 9.9zm3.8-340.5v291c0 5.7-.7 13.9-8.1 13.9-12.4-.4-27.5 7.1-36.1-5.6-5.8-8.7-7.8-4-12.4-1.2-53.4 29.7-128.1 7.1-144.4-85.2-6.1-33.4-.7-67.1 15.7-100 11.8-23.9 56.9-76.1 136.1-30.5v-71c0-26.2-.1-26.2 26-26.2 3.1 0 6.6.4 9.7 0 10.1-.8 13.6 4.4 13.6 14.3-.1.2-.1.3-.1.5zm-51.5 232.3c-19.5 47.6-72.9 43.3-90 5.2-15.1-33.3-15.5-68.2.4-101.5 16.3-34.1 59.7-35.7 81.5-4.8 20.6 28.8 14.9 84.6 8.1 101.1zm-294.8 35.3c-7.5-1.3-33-3.3-33.7-27.8-.4-13.9 7.8-23 19.8-25.8 24.4-5.9 49.3-9.9 73.7-14.7 8.9-2 7.4 4.4 7.8 9.5 1.4 33-26.1 59.2-67.6 58.8z\"]\n};\nvar faAffiliatetheme = {\n prefix: 'fab',\n iconName: 'affiliatetheme',\n icon: [512, 512, [], \"f36b\", \"M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z\"]\n};\nvar faAirbnb = {\n prefix: 'fab',\n iconName: 'airbnb',\n icon: [448, 512, [], \"f834\", \"M224 373.12c-25.24-31.67-40.08-59.43-45-83.18-22.55-88 112.61-88 90.06 0-5.45 24.25-20.29 52-45 83.18zm138.15 73.23c-42.06 18.31-83.67-10.88-119.3-50.47 103.9-130.07 46.11-200-18.85-200-54.92 0-85.16 46.51-73.28 100.5 6.93 29.19 25.23 62.39 54.43 99.5-32.53 36.05-60.55 52.69-85.15 54.92-50 7.43-89.11-41.06-71.3-91.09 15.1-39.16 111.72-231.18 115.87-241.56 15.75-30.07 25.56-57.4 59.38-57.4 32.34 0 43.4 25.94 60.37 59.87 36 70.62 89.35 177.48 114.84 239.09 13.17 33.07-1.37 71.29-37.01 86.64zm47-136.12C280.27 35.93 273.13 32 224 32c-45.52 0-64.87 31.67-84.66 72.79C33.18 317.1 22.89 347.19 22 349.81-3.22 419.14 48.74 480 111.63 480c21.71 0 60.61-6.06 112.37-62.4 58.68 63.78 101.26 62.4 112.37 62.4 62.89.05 114.85-60.86 89.61-130.19.02-3.89-16.82-38.9-16.82-39.58z\"]\n};\nvar faAlgolia = {\n prefix: 'fab',\n iconName: 'algolia',\n icon: [448, 512, [], \"f36c\", \"M229.3 182.6c-49.3 0-89.2 39.9-89.2 89.2 0 49.3 39.9 89.2 89.2 89.2s89.2-39.9 89.2-89.2c0-49.3-40-89.2-89.2-89.2zm62.7 56.6l-58.9 30.6c-1.8.9-3.8-.4-3.8-2.3V201c0-1.5 1.3-2.7 2.7-2.6 26.2 1 48.9 15.7 61.1 37.1.7 1.3.2 3-1.1 3.7zM389.1 32H58.9C26.4 32 0 58.4 0 90.9V421c0 32.6 26.4 59 58.9 59H389c32.6 0 58.9-26.4 58.9-58.9V90.9C448 58.4 421.6 32 389.1 32zm-202.6 84.7c0-10.8 8.7-19.5 19.5-19.5h45.3c10.8 0 19.5 8.7 19.5 19.5v15.4c0 1.8-1.7 3-3.3 2.5-12.3-3.4-25.1-5.1-38.1-5.1-13.5 0-26.7 1.8-39.4 5.5-1.7.5-3.4-.8-3.4-2.5v-15.8zm-84.4 37l9.2-9.2c7.6-7.6 19.9-7.6 27.5 0l7.7 7.7c1.1 1.1 1 3-.3 4-6.2 4.5-12.1 9.4-17.6 14.9-5.4 5.4-10.4 11.3-14.8 17.4-1 1.3-2.9 1.5-4 .3l-7.7-7.7c-7.6-7.5-7.6-19.8 0-27.4zm127.2 244.8c-70 0-126.6-56.7-126.6-126.6s56.7-126.6 126.6-126.6c70 0 126.6 56.6 126.6 126.6 0 69.8-56.7 126.6-126.6 126.6z\"]\n};\nvar faAlipay = {\n prefix: 'fab',\n iconName: 'alipay',\n icon: [448, 512, [], \"f642\", \"M377.74 32H70.26C31.41 32 0 63.41 0 102.26v307.48C0 448.59 31.41 480 70.26 480h307.48c38.52 0 69.76-31.08 70.26-69.6-45.96-25.62-110.59-60.34-171.6-88.44-32.07 43.97-84.14 81-148.62 81-70.59 0-93.73-45.3-97.04-76.37-3.97-39.01 14.88-81.5 99.52-81.5 35.38 0 79.35 10.25 127.13 24.96 16.53-30.09 26.45-60.34 26.45-60.34h-178.2v-16.7h92.08v-31.24H88.28v-19.01h109.44V92.34h50.92v50.42h109.44v19.01H248.63v31.24h88.77s-15.21 46.62-38.35 90.92c48.93 16.7 100.01 36.04 148.62 52.74V102.26C447.83 63.57 416.43 32 377.74 32zM47.28 322.95c.99 20.17 10.25 53.73 69.93 53.73 52.07 0 92.58-39.68 117.87-72.9-44.63-18.68-84.48-31.41-109.44-31.41-67.45 0-79.35 33.06-78.36 50.58z\"]\n};\nvar faAmazon = {\n prefix: 'fab',\n iconName: 'amazon',\n icon: [448, 512, [], \"f270\", \"M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z\"]\n};\nvar faAmazonPay = {\n prefix: 'fab',\n iconName: 'amazon-pay',\n icon: [640, 512, [], \"f42c\", \"M14 325.3c2.3-4.2 5.2-4.9 9.7-2.5 10.4 5.6 20.6 11.4 31.2 16.7a595.88 595.88 0 0 0 127.4 46.3 616.61 616.61 0 0 0 63.2 11.8 603.33 603.33 0 0 0 95 5.2c17.4-.4 34.8-1.8 52.1-3.8a603.66 603.66 0 0 0 163.3-42.8c2.9-1.2 5.9-2 9.1-1.2 6.7 1.8 9 9 4.1 13.9a70 70 0 0 1-9.6 7.4c-30.7 21.1-64.2 36.4-99.6 47.9a473.31 473.31 0 0 1-75.1 17.6 431 431 0 0 1-53.2 4.8 21.3 21.3 0 0 0-2.5.3H308a21.3 21.3 0 0 0-2.5-.3c-3.6-.2-7.2-.3-10.7-.4a426.3 426.3 0 0 1-50.4-5.3A448.4 448.4 0 0 1 164 420a443.33 443.33 0 0 1-145.6-87c-1.8-1.6-3-3.8-4.4-5.7zM172 65.1l-4.3.6a80.92 80.92 0 0 0-38 15.1c-2.4 1.7-4.6 3.5-7.1 5.4a4.29 4.29 0 0 1-.4-1.4c-.4-2.7-.8-5.5-1.3-8.2-.7-4.6-3-6.6-7.6-6.6h-11.5c-6.9 0-8.2 1.3-8.2 8.2v209.3c0 1 0 2 .1 3 .2 3 2 4.9 4.9 5 7 .1 14.1.1 21.1 0 2.9 0 4.7-2 5-5 .1-1 .1-2 .1-3v-72.4c1.1.9 1.7 1.4 2.2 1.9 17.9 14.9 38.5 19.8 61 15.4 20.4-4 34.6-16.5 43.8-34.9 7-13.9 9.9-28.7 10.3-44.1.5-17.1-1.2-33.9-8.1-49.8-8.5-19.6-22.6-32.5-43.9-36.9-3.2-.7-6.5-1-9.8-1.5-2.8-.1-5.5-.1-8.3-.1zM124.6 107a3.48 3.48 0 0 1 1.7-3.3c13.7-9.5 28.8-14.5 45.6-13.2 14.9 1.1 27.1 8.4 33.5 25.9 3.9 10.7 4.9 21.8 4.9 33 0 10.4-.8 20.6-4 30.6-6.8 21.3-22.4 29.4-42.6 28.5-14-.6-26.2-6-37.4-13.9a3.57 3.57 0 0 1-1.7-3.3c.1-14.1 0-28.1 0-42.2s.1-28 0-42.1zm205.7-41.9c-1 .1-2 .3-2.9.4a148 148 0 0 0-28.9 4.1c-6.1 1.6-12 3.8-17.9 5.8-3.6 1.2-5.4 3.8-5.3 7.7.1 3.3-.1 6.6 0 9.9.1 4.8 2.1 6.1 6.8 4.9 7.8-2 15.6-4.2 23.5-5.7 12.3-2.3 24.7-3.3 37.2-1.4 6.5 1 12.6 2.9 16.8 8.4 3.7 4.8 5.1 10.5 5.3 16.4.3 8.3.2 16.6.3 24.9a7.84 7.84 0 0 1-.2 1.4c-.5-.1-.9 0-1.3-.1a180.56 180.56 0 0 0-32-4.9c-11.3-.6-22.5.1-33.3 3.9-12.9 4.5-23.3 12.3-29.4 24.9-4.7 9.8-5.4 20.2-3.9 30.7 2 14 9 24.8 21.4 31.7 11.9 6.6 24.8 7.4 37.9 5.4 15.1-2.3 28.5-8.7 40.3-18.4a7.36 7.36 0 0 1 1.6-1.1c.6 3.8 1.1 7.4 1.8 11 .6 3.1 2.5 5.1 5.4 5.2 5.4.1 10.9.1 16.3 0a4.84 4.84 0 0 0 4.8-4.7 26.2 26.2 0 0 0 .1-2.8v-106a80 80 0 0 0-.9-12.9c-1.9-12.9-7.4-23.5-19-30.4-6.7-4-14.1-6-21.8-7.1-3.6-.5-7.2-.8-10.8-1.3-3.9.1-7.9.1-11.9.1zm35 127.7a3.33 3.33 0 0 1-1.5 3c-11.2 8.1-23.5 13.5-37.4 14.9-5.7.6-11.4.4-16.8-1.8a20.08 20.08 0 0 1-12.4-13.3 32.9 32.9 0 0 1-.1-19.4c2.5-8.3 8.4-13 16.4-15.6a61.33 61.33 0 0 1 24.8-2.2c8.4.7 16.6 2.3 25 3.4 1.6.2 2.1 1 2.1 2.6-.1 4.8 0 9.5 0 14.3s-.2 9.4-.1 14.1zm259.9 129.4c-1-5-4.8-6.9-9.1-8.3a88.42 88.42 0 0 0-21-3.9 147.32 147.32 0 0 0-39.2 1.9c-14.3 2.7-27.9 7.3-40 15.6a13.75 13.75 0 0 0-3.7 3.5 5.11 5.11 0 0 0-.5 4c.4 1.5 2.1 1.9 3.6 1.8a16.2 16.2 0 0 0 2.2-.1c7.8-.8 15.5-1.7 23.3-2.5 11.4-1.1 22.9-1.8 34.3-.9a71.64 71.64 0 0 1 14.4 2.7c5.1 1.4 7.4 5.2 7.6 10.4.4 8-1.4 15.7-3.5 23.3-4.1 15.4-10 30.3-15.8 45.1a17.6 17.6 0 0 0-1 3c-.5 2.9 1.2 4.8 4.1 4.1a10.56 10.56 0 0 0 4.8-2.5 145.91 145.91 0 0 0 12.7-13.4c12.8-16.4 20.3-35.3 24.7-55.6.8-3.6 1.4-7.3 2.1-10.9v-17.3zM493.1 199q-19.35-53.55-38.7-107.2c-2-5.7-4.2-11.3-6.3-16.9-1.1-2.9-3.2-4.8-6.4-4.8-7.6-.1-15.2-.2-22.9-.1-2.5 0-3.7 2-3.2 4.5a43.1 43.1 0 0 0 1.9 6.1q29.4 72.75 59.1 145.5c1.7 4.1 2.1 7.6.2 11.8-3.3 7.3-5.9 15-9.3 22.3-3 6.5-8 11.4-15.2 13.3a42.13 42.13 0 0 1-15.4 1.1c-2.5-.2-5-.8-7.5-1-3.4-.2-5.1 1.3-5.2 4.8q-.15 5 0 9.9c.1 5.5 2 8 7.4 8.9a108.18 108.18 0 0 0 16.9 2c17.1.4 30.7-6.5 39.5-21.4a131.63 131.63 0 0 0 9.2-18.4q35.55-89.7 70.6-179.6a26.62 26.62 0 0 0 1.6-5.5c.4-2.8-.9-4.4-3.7-4.4-6.6-.1-13.3 0-19.9 0a7.54 7.54 0 0 0-7.7 5.2c-.5 1.4-1.1 2.7-1.6 4.1l-34.8 100c-2.5 7.2-5.1 14.5-7.7 22.2-.4-1.1-.6-1.7-.9-2.4z\"]\n};\nvar faAmilia = {\n prefix: 'fab',\n iconName: 'amilia',\n icon: [448, 512, [], \"f36d\", \"M240.1 32c-61.9 0-131.5 16.9-184.2 55.4-5.1 3.1-9.1 9.2-7.2 19.4 1.1 5.1 5.1 27.4 10.2 39.6 4.1 10.2 14.2 10.2 20.3 6.1 32.5-22.3 96.5-47.7 152.3-47.7 57.9 0 58.9 28.4 58.9 73.1v38.5C203 227.7 78.2 251 46.7 264.2 11.2 280.5 16.3 357.7 16.3 376s15.2 104 124.9 104c47.8 0 113.7-20.7 153.3-42.1v25.4c0 3 2.1 8.2 6.1 9.1 3.1 1 50.7 2 59.9 2s62.5.3 66.5-.7c4.1-1 5.1-6.1 5.1-9.1V168c-.1-80.3-57.9-136-192-136zm50.2 348c-21.4 13.2-48.7 24.4-79.1 24.4-52.8 0-58.9-33.5-59-44.7 0-12.2-3-42.7 18.3-52.9 24.3-13.2 75.1-29.4 119.8-33.5z\"]\n};\nvar faAndroid = {\n prefix: 'fab',\n iconName: 'android',\n icon: [576, 512, [], \"f17b\", \"M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55\"]\n};\nvar faAngellist = {\n prefix: 'fab',\n iconName: 'angellist',\n icon: [448, 512, [], \"f209\", \"M347.1 215.4c11.7-32.6 45.4-126.9 45.4-157.1 0-26.6-15.7-48.9-43.7-48.9-44.6 0-84.6 131.7-97.1 163.1C242 144 196.6 0 156.6 0c-31.1 0-45.7 22.9-45.7 51.7 0 35.3 34.2 126.8 46.6 162-6.3-2.3-13.1-4.3-20-4.3-23.4 0-48.3 29.1-48.3 52.6 0 8.9 4.9 21.4 8 29.7-36.9 10-51.1 34.6-51.1 71.7C46 435.6 114.4 512 210.6 512c118 0 191.4-88.6 191.4-202.9 0-43.1-6.9-82-54.9-93.7zM311.7 108c4-12.3 21.1-64.3 37.1-64.3 8.6 0 10.9 8.9 10.9 16 0 19.1-38.6 124.6-47.1 148l-34-6 33.1-93.7zM142.3 48.3c0-11.9 14.5-45.7 46.3 47.1l34.6 100.3c-15.6-1.3-27.7-3-35.4 1.4-10.9-28.8-45.5-119.7-45.5-148.8zM140 244c29.3 0 67.1 94.6 67.1 107.4 0 5.1-4.9 11.4-10.6 11.4-20.9 0-76.9-76.9-76.9-97.7.1-7.7 12.7-21.1 20.4-21.1zm184.3 186.3c-29.1 32-66.3 48.6-109.7 48.6-59.4 0-106.3-32.6-128.9-88.3-17.1-43.4 3.8-68.3 20.6-68.3 11.4 0 54.3 60.3 54.3 73.1 0 4.9-7.7 8.3-11.7 8.3-16.1 0-22.4-15.5-51.1-51.4-29.7 29.7 20.5 86.9 58.3 86.9 26.1 0 43.1-24.2 38-42 3.7 0 8.3.3 11.7-.6 1.1 27.1 9.1 59.4 41.7 61.7 0-.9 2-7.1 2-7.4 0-17.4-10.6-32.6-10.6-50.3 0-28.3 21.7-55.7 43.7-71.7 8-6 17.7-9.7 27.1-13.1 9.7-3.7 20-8 27.4-15.4-1.1-11.2-5.7-21.1-16.9-21.1-27.7 0-120.6 4-120.6-39.7 0-6.7.1-13.1 17.4-13.1 32.3 0 114.3 8 138.3 29.1 18.1 16.1 24.3 113.2-31 174.7zm-98.6-126c9.7 3.1 19.7 4 29.7 6-7.4 5.4-14 12-20.3 19.1-2.8-8.5-6.2-16.8-9.4-25.1z\"]\n};\nvar faAngrycreative = {\n prefix: 'fab',\n iconName: 'angrycreative',\n icon: [640, 512, [], \"f36e\", \"M640 238.2l-3.2 28.2-34.5 2.3-2 18.1 34.5-2.3-3.2 28.2-34.4 2.2-2.3 20.1 34.4-2.2-3 26.1-64.7 4.1 12.7-113.2L527 365.2l-31.9 2-23.8-117.8 30.3-2 13.6 79.4 31.7-82.4 93.1-6.2zM426.8 371.5l28.3-1.8L468 249.6l-28.4 1.9-12.8 120zM162 388.1l-19.4-36-3.5 37.4-28.2 1.7 2.7-29.1c-11 18-32 34.3-56.9 35.8C23.9 399.9-3 377 .3 339.7c2.6-29.3 26.7-62.8 67.5-65.4 37.7-2.4 47.6 23.2 51.3 28.8l2.8-30.8 38.9-2.5c20.1-1.3 38.7 3.7 42.5 23.7l2.6-26.6 64.8-4.2-2.7 27.9-36.4 2.4-1.7 17.9 36.4-2.3-2.7 27.9-36.4 2.3-1.9 19.9 36.3-2.3-2.1 20.8 55-117.2 23.8-1.6L370.4 369l8.9-85.6-22.3 1.4 2.9-27.9 75-4.9-3 28-24.3 1.6-9.7 91.9-58 3.7-4.3-15.6-39.4 2.5-8 16.3-126.2 7.7zm-44.3-70.2l-26.4 1.7C84.6 307.2 76.9 303 65 303.8c-19 1.2-33.3 17.5-34.6 33.3-1.4 16 7.3 32.5 28.7 31.2 12.8-.8 21.3-8.6 28.9-18.9l27-1.7 2.7-29.8zm56.1-7.7c1.2-12.9-7.6-13.6-26.1-12.4l-2.7 28.5c14.2-.9 27.5-2.1 28.8-16.1zm21.1 70.8l5.8-60c-5 13.5-14.7 21.1-27.9 26.6l22.1 33.4zm135.4-45l-7.9-37.8-15.8 39.3 23.7-1.5zm-170.1-74.6l-4.3-17.5-39.6 2.6-8.1 18.2-31.9 2.1 57-121.9 23.9-1.6 30.7 102 9.9-104.7 27-1.8 37.8 63.6 6.5-66.6 28.5-1.9-4 41.2c7.4-13.5 22.9-44.7 63.6-47.5 40.5-2.8 52.4 29.3 53.4 30.3l3.3-32 39.3-2.7c12.7-.9 27.8.3 36.3 9.7l-4.4-11.9 32.2-2.2 12.9 43.2 23-45.7 31-2.2-43.6 78.4-4.8 44.3-28.4 1.9 4.8-44.3-15.8-43c1 22.3-9.2 40.1-32 49.6l25.2 38.8-36.4 2.4-19.2-36.8-4 38.3-28.4 1.9 3.3-31.5c-6.7 9.3-19.7 35.4-59.6 38-26.2 1.7-45.6-10.3-55.4-39.2l-4 40.3-25 1.6-37.6-63.3-6.3 66.2-56.8 3.7zm276.6-82.1c10.2-.7 17.5-2.1 21.6-4.3 4.5-2.4 7-6.4 7.6-12.1.6-5.3-.6-8.8-3.4-10.4-3.6-2.1-10.6-2.8-22.9-2l-2.9 28.8zM327.7 214c5.6 5.9 12.7 8.5 21.3 7.9 4.7-.3 9.1-1.8 13.3-4.1 5.5-3 10.6-8 15.1-14.3l-34.2 2.3 2.4-23.9 63.1-4.3 1.2-12-31.2 2.1c-4.1-3.7-7.8-6.6-11.1-8.1-4-1.7-8.1-2.8-12.2-2.5-8 .5-15.3 3.6-22 9.2-7.7 6.4-12 14.5-12.9 24.4-1.1 9.6 1.4 17.3 7.2 23.3zm-201.3 8.2l23.8-1.6-8.3-37.6-15.5 39.2z\"]\n};\nvar faAngular = {\n prefix: 'fab',\n iconName: 'angular',\n icon: [448, 512, [], \"f420\", \"M185.7 268.1h76.2l-38.1-91.6-38.1 91.6zM223.8 32L16 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7zM354 373.8h-48.6l-26.2-65.4H168.6l-26.2 65.4H93.7L223.8 81.5z\"]\n};\nvar faAppStore = {\n prefix: 'fab',\n iconName: 'app-store',\n icon: [512, 512, [], \"f36f\", \"M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z\"]\n};\nvar faAppStoreIos = {\n prefix: 'fab',\n iconName: 'app-store-ios',\n icon: [448, 512, [], \"f370\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z\"]\n};\nvar faApper = {\n prefix: 'fab',\n iconName: 'apper',\n icon: [640, 512, [], \"f371\", \"M42.1 239.1c22.2 0 29 2.8 33.5 14.6h.8v-22.9c0-11.3-4.8-15.4-17.9-15.4-11.3 0-14.4 2.5-15.1 12.8H4.8c.3-13.9 1.5-19.1 5.8-24.4C17.9 195 29.5 192 56.7 192c33 0 47.1 5 53.9 18.9 2 4.3 4 15.6 4 23.7v76.3H76.3l1.3-19.1h-1c-5.3 15.6-13.6 20.4-35.5 20.4-30.3 0-41.1-10.1-41.1-37.3 0-25.2 12.3-35.8 42.1-35.8zm17.1 48.1c13.1 0 16.9-3 16.9-13.4 0-9.1-4.3-11.6-19.6-11.6-13.1 0-17.9 3-17.9 12.1-.1 10.4 3.7 12.9 20.6 12.9zm77.8-94.9h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.2 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3H137v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm57.9-60.7h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.3 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3h-39.5v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm53.8-3.8c0-25.4 3.3-37.8 12.3-45.8 8.8-8.1 22.2-11.3 45.1-11.3 42.8 0 55.7 12.8 55.7 55.7v11.1h-75.3c-.3 2-.3 4-.3 4.8 0 16.9 4.5 21.9 20.1 21.9 13.9 0 17.9-3 17.9-13.9h37.5v2.3c0 9.8-2.5 18.9-6.8 24.7-7.3 9.8-19.6 13.6-44.3 13.6-27.5 0-41.6-3.3-50.6-12.3-8.5-8.5-11.3-21.3-11.3-50.8zm76.4-11.6c-.3-1.8-.3-3.3-.3-3.8 0-12.3-3.3-14.6-19.6-14.6-14.4 0-17.1 3-18.1 15.1l-.3 3.3h38.3zm55.6-45.3h38.3l-1.8 19.9h.7c6.8-14.9 14.4-20.2 29.7-20.2 10.8 0 19.1 3.3 23.4 9.3 5.3 7.3 6.8 14.4 6.8 34 0 1.5 0 5 .2 9.3h-35c.3-1.8.3-3.3.3-4 0-15.4-2-19.4-10.3-19.4-6.3 0-10.8 3.3-13.1 9.3-1 3-1 4.3-1 12.3v68h-38.3V192.3z\"]\n};\nvar faApple = {\n prefix: 'fab',\n iconName: 'apple',\n icon: [384, 512, [], \"f179\", \"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"]\n};\nvar faApplePay = {\n prefix: 'fab',\n iconName: 'apple-pay',\n icon: [640, 512, [], \"f415\", \"M116.9 158.5c-7.5 8.9-19.5 15.9-31.5 14.9-1.5-12 4.4-24.8 11.3-32.6 7.5-9.1 20.6-15.6 31.3-16.1 1.2 12.4-3.7 24.7-11.1 33.8m10.9 17.2c-17.4-1-32.3 9.9-40.5 9.9-8.4 0-21-9.4-34.8-9.1-17.9.3-34.5 10.4-43.6 26.5-18.8 32.3-4.9 80 13.3 106.3 8.9 13 19.5 27.3 33.5 26.8 13.3-.5 18.5-8.6 34.5-8.6 16.1 0 20.8 8.6 34.8 8.4 14.5-.3 23.6-13 32.5-26 10.1-14.8 14.3-29.1 14.5-29.9-.3-.3-28-10.9-28.3-42.9-.3-26.8 21.9-39.5 22.9-40.3-12.5-18.6-32-20.6-38.8-21.1m100.4-36.2v194.9h30.3v-66.6h41.9c38.3 0 65.1-26.3 65.1-64.3s-26.4-64-64.1-64h-73.2zm30.3 25.5h34.9c26.3 0 41.3 14 41.3 38.6s-15 38.8-41.4 38.8h-34.8V165zm162.2 170.9c19 0 36.6-9.6 44.6-24.9h.6v23.4h28v-97c0-28.1-22.5-46.3-57.1-46.3-32.1 0-55.9 18.4-56.8 43.6h27.3c2.3-12 13.4-19.9 28.6-19.9 18.5 0 28.9 8.6 28.9 24.5v10.8l-37.8 2.3c-35.1 2.1-54.1 16.5-54.1 41.5.1 25.2 19.7 42 47.8 42zm8.2-23.1c-16.1 0-26.4-7.8-26.4-19.6 0-12.3 9.9-19.4 28.8-20.5l33.6-2.1v11c0 18.2-15.5 31.2-36 31.2zm102.5 74.6c29.5 0 43.4-11.3 55.5-45.4L640 193h-30.8l-35.6 115.1h-.6L537.4 193h-31.6L557 334.9l-2.8 8.6c-4.6 14.6-12.1 20.3-25.5 20.3-2.4 0-7-.3-8.9-.5v23.4c1.8.4 9.3.7 11.6.7z\"]\n};\nvar faArtstation = {\n prefix: 'fab',\n iconName: 'artstation',\n icon: [512, 512, [], \"f77a\", \"M2 377.4l43 74.3A51.35 51.35 0 0 0 90.9 480h285.4l-59.2-102.6zM501.8 350L335.6 59.3A51.38 51.38 0 0 0 290.2 32h-88.4l257.3 447.6 40.7-70.5c1.9-3.2 21-29.7 2-59.1zM275 304.5l-115.5-200L44 304.5z\"]\n};\nvar faAsymmetrik = {\n prefix: 'fab',\n iconName: 'asymmetrik',\n icon: [576, 512, [], \"f372\", \"M517.5 309.2c38.8-40 58.1-80 58.5-116.1.8-65.5-59.4-118.2-169.4-135C277.9 38.4 118.1 73.6 0 140.5 52 114 110.6 92.3 170.7 82.3c74.5-20.5 153-25.4 221.3-14.8C544.5 91.3 588.8 195 490.8 299.2c-10.2 10.8-22 21.1-35 30.6L304.9 103.4 114.7 388.9c-65.6-29.4-76.5-90.2-19.1-151.2 20.8-22.2 48.3-41.9 79.5-58.1 20-12.2 39.7-22.6 62-30.7-65.1 20.3-122.7 52.9-161.6 92.9-27.7 28.6-41.4 57.1-41.7 82.9-.5 35.1 23.4 65.1 68.4 83l-34.5 51.7h101.6l22-34.4c22.2 1 45.3 0 68.6-2.7l-22.8 37.1h135.5L340 406.3c18.6-5.3 36.9-11.5 54.5-18.7l45.9 71.8H542L468.6 349c18.5-12.1 35-25.5 48.9-39.8zm-187.6 80.5l-25-40.6-32.7 53.3c-23.4 3.5-46.7 5.1-69.2 4.4l101.9-159.3 78.7 123c-17.2 7.4-35.3 13.9-53.7 19.2z\"]\n};\nvar faAtlassian = {\n prefix: 'fab',\n iconName: 'atlassian',\n icon: [512, 512, [], \"f77b\", \"M152.2 236.4c-7.7-8.2-19.7-7.7-24.8 2.8L1.6 490.2c-5 10 2.4 21.7 13.4 21.7h175c5.8.1 11-3.2 13.4-8.4 37.9-77.8 15.1-196.3-51.2-267.1zM244.4 8.1c-122.3 193.4-8.5 348.6 65 495.5 2.5 5.1 7.7 8.4 13.4 8.4H497c11.2 0 18.4-11.8 13.4-21.7 0 0-234.5-470.6-240.4-482.3-5.3-10.6-18.8-10.8-25.6.1z\"]\n};\nvar faAudible = {\n prefix: 'fab',\n iconName: 'audible',\n icon: [640, 512, [], \"f373\", \"M640 199.9v54l-320 200L0 254v-54l320 200 320-200.1zm-194.5 72l47.1-29.4c-37.2-55.8-100.7-92.6-172.7-92.6-72 0-135.5 36.7-172.6 92.4h.3c2.5-2.3 5.1-4.5 7.7-6.7 89.7-74.4 219.4-58.1 290.2 36.3zm-220.1 18.8c16.9-11.9 36.5-18.7 57.4-18.7 34.4 0 65.2 18.4 86.4 47.6l45.4-28.4c-20.9-29.9-55.6-49.5-94.8-49.5-38.9 0-73.4 19.4-94.4 49zM103.6 161.1c131.8-104.3 318.2-76.4 417.5 62.1l.7 1 48.8-30.4C517.1 112.1 424.8 58.1 319.9 58.1c-103.5 0-196.6 53.5-250.5 135.6 9.9-10.5 22.7-23.5 34.2-32.6zm467 32.7z\"]\n};\nvar faAutoprefixer = {\n prefix: 'fab',\n iconName: 'autoprefixer',\n icon: [640, 512, [], \"f41c\", \"M318.4 16l-161 480h77.5l25.4-81.4h119.5L405 496h77.5L318.4 16zm-40.3 341.9l41.2-130.4h1.5l40.9 130.4h-83.6zM640 405l-10-31.4L462.1 358l19.4 56.5L640 405zm-462.1-47L10 373.7 0 405l158.5 9.4 19.4-56.4z\"]\n};\nvar faAvianex = {\n prefix: 'fab',\n iconName: 'avianex',\n icon: [512, 512, [], \"f374\", \"M453.1 32h-312c-38.9 0-76.2 31.2-83.3 69.7L1.2 410.3C-5.9 448.8 19.9 480 58.9 480h312c38.9 0 76.2-31.2 83.3-69.7l56.7-308.5c7-38.6-18.8-69.8-57.8-69.8zm-58.2 347.3l-32 13.5-115.4-110c-14.7 10-29.2 19.5-41.7 27.1l22.1 64.2-17.9 12.7-40.6-61-52.4-48.1 15.7-15.4 58 31.1c9.3-10.5 20.8-22.6 32.8-34.9L203 228.9l-68.8-99.8 18.8-28.9 8.9-4.8L265 207.8l4.9 4.5c19.4-18.8 33.8-32.4 33.8-32.4 7.7-6.5 21.5-2.9 30.7 7.9 9 10.5 10.6 24.7 2.7 31.3-1.8 1.3-15.5 11.4-35.3 25.6l4.5 7.3 94.9 119.4-6.3 7.9z\"]\n};\nvar faAviato = {\n prefix: 'fab',\n iconName: 'aviato',\n icon: [640, 512, [], \"f421\", \"M107.2 283.5l-19-41.8H36.1l-19 41.8H0l62.2-131.4 62.2 131.4h-17.2zm-45-98.1l-19.6 42.5h39.2l-19.6-42.5zm112.7 102.4l-62.2-131.4h17.1l45.1 96 45.1-96h17l-62.1 131.4zm80.6-4.3V156.4H271v127.1h-15.5zm209.1-115.6v115.6h-17.3V167.9h-41.2v-11.5h99.6v11.5h-41.1zM640 218.8c0 9.2-1.7 17.8-5.1 25.8-3.4 8-8.2 15.1-14.2 21.1-6 6-13.1 10.8-21.1 14.2-8 3.4-16.6 5.1-25.8 5.1s-17.8-1.7-25.8-5.1c-8-3.4-15.1-8.2-21.1-14.2-6-6-10.8-13-14.2-21.1-3.4-8-5.1-16.6-5.1-25.8s1.7-17.8 5.1-25.8c3.4-8 8.2-15.1 14.2-21.1 6-6 13-8.4 21.1-11.9 8-3.4 16.6-5.1 25.8-5.1s17.8 1.7 25.8 5.1c8 3.4 15.1 5.8 21.1 11.9 6 6 10.7 13.1 14.2 21.1 3.4 8 5.1 16.6 5.1 25.8zm-15.5 0c0-7.3-1.3-14-3.9-20.3-2.6-6.3-6.2-11.7-10.8-16.3-4.6-4.6-10-8.2-16.2-10.9-6.2-2.7-12.8-4-19.8-4s-13.6 1.3-19.8 4c-6.2 2.7-11.6 6.3-16.2 10.9-4.6 4.6-8.2 10-10.8 16.3-2.6 6.3-3.9 13.1-3.9 20.3 0 7.3 1.3 14 3.9 20.3 2.6 6.3 6.2 11.7 10.8 16.3 4.6 4.6 10 8.2 16.2 10.9 6.2 2.7 12.8 4 19.8 4s13.6-1.3 19.8-4c6.2-2.7 11.6-6.3 16.2-10.9 4.6-4.6 8.2-10 10.8-16.3 2.6-6.3 3.9-13.1 3.9-20.3zm-94.8 96.7v-6.3l88.9-10-242.9 13.4c.6-2.2 1.1-4.6 1.4-7.2.3-2 .5-4.2.6-6.5l64.8-8.1-64.9 1.9c0-.4-.1-.7-.1-1.1-2.8-17.2-25.5-23.7-25.5-23.7l-1.1-26.3h23.8l19 41.8h17.1L348.6 152l-62.2 131.4h17.1l19-41.8h23.6L345 268s-22.7 6.5-25.5 23.7c-.1.3-.1.7-.1 1.1l-64.9-1.9 64.8 8.1c.1 2.3.3 4.4.6 6.5.3 2.6.8 5 1.4 7.2L78.4 299.2l88.9 10v6.3c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4 0-6.2-4.6-11.3-10.5-12.2v-5.8l80.3 9v5.4c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-4.9l28.4 3.2v23.7h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9V323l38.3 4.3c8.1 11.4 19 13.6 19 13.6l-.1 6.7-5.1.2-.1 12.1h4.1l.1-5h5.2l.1 5h4.1l-.1-12.1-5.1-.2-.1-6.7s10.9-2.1 19-13.6l38.3-4.3v23.2h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9v-23.7l28.4-3.2v4.9c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-5.4l80.3-9v5.8c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4-.2-6.3-4.7-11.4-10.7-12.3zm-200.8-87.6l19.6-42.5 19.6 42.5h-17.9l-1.7-40.3-1.7 40.3h-17.9z\"]\n};\nvar faAws = {\n prefix: 'fab',\n iconName: 'aws',\n icon: [640, 512, [], \"f375\", \"M180.41 203.01c-.72 22.65 10.6 32.68 10.88 39.05a8.164 8.164 0 0 1-4.1 6.27l-12.8 8.96a10.66 10.66 0 0 1-5.63 1.92c-.43-.02-8.19 1.83-20.48-25.61a78.608 78.608 0 0 1-62.61 29.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28 34.06-62.06 70.93-60.05 7.1.02 21.6.37 46.99 6.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84 10.11-7.36 3.38-8.3 2.82-10.75 2.82-7.41 0-4.36-21.48-2.94-24.2 5.21-6.4 35.86-18.35 65.94-18.18a76.857 76.857 0 0 1 55.69 17.28 70.285 70.285 0 0 1 17.67 52.36l-.01 69.29zM93.99 235.4c32.43-.47 46.16-19.97 49.29-30.47 2.46-10.05 2.05-16.41 2.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82 5.63-41.74 32.26-1.24 16.79 11.12 31.4 29.96 30.48zm170.92 23.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61 4.61 0 0 1 3.86-5.25c.24-.04-2.13 0 22.25 0 8.78-.88 11.64 6.03 12.55 10.37l35.72 140.83 33.16-140.83c.53-3.22 2.94-11.07 12.8-10.24h17.16c2.17-.18 11.11-.5 12.68 10.37l33.42 142.63L420.98 80.1c.48-2.18 2.72-11.37 12.68-10.37h19.72c.85-.13 6.15-.81 5.25 8.58-.43 1.85 3.41-10.66-52.75 169.9-1.15 5.51-4.82 11.09-12.68 10.37h-18.69c-10.94 1.15-12.51-9.66-12.68-10.75L328.67 110.7l-32.78 136.99c-.16 1.09-1.73 11.9-12.68 10.75h-18.3zm273.48 5.63c-5.88.01-33.92-.3-57.36-12.29a12.802 12.802 0 0 1-7.81-11.91v-10.75c0-8.45 6.2-6.9 8.83-5.89 10.04 4.06 16.48 7.14 28.81 9.6 36.65 7.53 52.77-2.3 56.72-4.48 13.15-7.81 14.19-25.68 5.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24 25.05-56.18 69.52-55.95 12.67-.01 46.43 4.13 55.57 15.62 1.35 2.09 2.02 4.55 1.92 7.04v10.11c0 4.44-1.62 6.66-4.87 6.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41 24.97-.43 18.96 26.61 26.07 29.7 26.89 36.46 10.97 48.65 12.79 63.12 29.58 17.14 22.25 7.9 48.3 4.35 55.44-19.08 37.49-68.42 34.44-69.26 34.42zm40.2 104.86c-70.03 51.72-171.69 79.25-258.49 79.25A469.127 469.127 0 0 1 2.83 327.46c-6.53-5.89-.77-13.96 7.17-9.47a637.37 637.37 0 0 0 316.88 84.12 630.22 630.22 0 0 0 241.59-49.55c11.78-5 21.77 7.8 10.12 16.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47 40.07-28.17 105.88-20.1 113.44-10.63 7.55 9.47-2.05 75.41-39.56 106.91-5.76 4.87-11.27 2.3-8.71-4.1 8.44-21.25 27.39-68.49 18.43-80.02z\"]\n};\nvar faBandcamp = {\n prefix: 'fab',\n iconName: 'bandcamp',\n icon: [512, 512, [], \"f2d5\", \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm48.2,326.1h-181L207.9,178h181Z\"]\n};\nvar faBattleNet = {\n prefix: 'fab',\n iconName: 'battle-net',\n icon: [512, 512, [], \"f835\", \"M448.61 225.62c26.87.18 35.57-7.43 38.92-12.37 12.47-16.32-7.06-47.6-52.85-71.33 17.76-33.58 30.11-63.68 36.34-85.3 3.38-11.83 1.09-19 .45-20.25-1.72 10.52-15.85 48.46-48.2 100.05-25-11.22-56.52-20.1-93.77-23.8-8.94-16.94-34.88-63.86-60.48-88.93C252.18 7.14 238.7 1.07 228.18.22h-.05c-13.83-1.55-22.67 5.85-27.4 11-17.2 18.53-24.33 48.87-25 84.07-7.24-12.35-17.17-24.63-28.5-25.93h-.18c-20.66-3.48-38.39 29.22-36 81.29-38.36 1.38-71 5.75-93 11.23-9.9 2.45-16.22 7.27-17.76 9.72 1-.38 22.4-9.22 111.56-9.22 5.22 53 29.75 101.82 26 93.19-9.73 15.4-38.24 62.36-47.31 97.7-5.87 22.88-4.37 37.61.15 47.14 5.57 12.75 16.41 16.72 23.2 18.26 25 5.71 55.38-3.63 86.7-21.14-7.53 12.84-13.9 28.51-9.06 39.34 7.31 19.65 44.49 18.66 88.44-9.45 20.18 32.18 40.07 57.94 55.7 74.12a39.79 39.79 0 0 0 8.75 7.09c5.14 3.21 8.58 3.37 8.58 3.37-8.24-6.75-34-38-62.54-91.78 22.22-16 45.65-38.87 67.47-69.27 122.82 4.6 143.29-24.76 148-31.64 14.67-19.88 3.43-57.44-57.32-93.69zm-77.85 106.22c23.81-37.71 30.34-67.77 29.45-92.33 27.86 17.57 47.18 37.58 49.06 58.83 1.14 12.93-8.1 29.12-78.51 33.5zM216.9 387.69c9.76-6.23 19.53-13.12 29.2-20.49 6.68 13.33 13.6 26.1 20.6 38.19-40.6 21.86-68.84 12.76-49.8-17.7zm215-171.35c-10.29-5.34-21.16-10.34-32.38-15.05a722.459 722.459 0 0 0 22.74-36.9c39.06 24.1 45.9 53.18 9.64 51.95zM279.18 398c-5.51-11.35-11-23.5-16.5-36.44 43.25 1.27 62.42-18.73 63.28-20.41 0 .07-25 15.64-62.53 12.25a718.78 718.78 0 0 0 85.06-84q13.06-15.31 24.93-31.11c-.36-.29-1.54-3-16.51-12-51.7 60.27-102.34 98-132.75 115.92-20.59-11.18-40.84-31.78-55.71-61.49-20-39.92-30-82.39-31.57-116.07 12.3.91 25.27 2.17 38.85 3.88-22.29 36.8-14.39 63-13.47 64.23 0-.07-.95-29.17 20.14-59.57a695.23 695.23 0 0 0 44.67 152.84c.93-.38 1.84.88 18.67-8.25-26.33-74.47-33.76-138.17-34-173.43 20-12.42 48.18-19.8 81.63-17.81 44.57 2.67 86.36 15.25 116.32 30.71q-10.69 15.66-23.33 32.47C365.63 152 339.1 145.84 337.5 146c.11 0 25.9 14.07 41.52 47.22a717.63 717.63 0 0 0-115.34-31.71 646.608 646.608 0 0 0-39.39-6.05c-.07.45-1.81 1.85-2.16 20.33C300 190.28 358.78 215.68 389.36 233c.74 23.55-6.95 51.61-25.41 79.57-24.6 37.31-56.39 67.23-84.77 85.43zm27.4-287c-44.56-1.66-73.58 7.43-94.69 20.67 2-52.3 21.31-76.38 38.21-75.28C267 52.15 305 108.55 306.58 111zm-130.65 3.1c.48 12.11 1.59 24.62 3.21 37.28-14.55-.85-28.74-1.25-42.4-1.26-.08 3.24-.12-51 24.67-49.59h.09c5.76 1.09 10.63 6.88 14.43 13.57zm-28.06 162c20.76 39.7 43.3 60.57 65.25 72.31-46.79 24.76-77.53 20-84.92 4.51-.2-.21-11.13-15.3 19.67-76.81zm210.06 74.8\"]\n};\nvar faBehance = {\n prefix: 'fab',\n iconName: 'behance',\n icon: [576, 512, [], \"f1b4\", \"M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z\"]\n};\nvar faBehanceSquare = {\n prefix: 'fab',\n iconName: 'behance-square',\n icon: [448, 512, [], \"f1b5\", \"M186.5 293c0 19.3-14 25.4-31.2 25.4h-45.1v-52.9h46c18.6.1 30.3 7.8 30.3 27.5zm-7.7-82.3c0-17.7-13.7-21.9-28.9-21.9h-39.6v44.8H153c15.1 0 25.8-6.6 25.8-22.9zm132.3 23.2c-18.3 0-30.5 11.4-31.7 29.7h62.2c-1.7-18.5-11.3-29.7-30.5-29.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM271.7 185h77.8v-18.9h-77.8V185zm-43 110.3c0-24.1-11.4-44.9-35-51.6 17.2-8.2 26.2-17.7 26.2-37 0-38.2-28.5-47.5-61.4-47.5H68v192h93.1c34.9-.2 67.6-16.9 67.6-55.9zM380 280.5c0-41.1-24.1-75.4-67.6-75.4-42.4 0-71.1 31.8-71.1 73.6 0 43.3 27.3 73 71.1 73 33.2 0 54.7-14.9 65.1-46.8h-33.7c-3.7 11.9-18.6 18.1-30.2 18.1-22.4 0-34.1-13.1-34.1-35.3h100.2c.1-2.3.3-4.8.3-7.2z\"]\n};\nvar faBimobject = {\n prefix: 'fab',\n iconName: 'bimobject',\n icon: [448, 512, [], \"f378\", \"M416 32H32C14.4 32 0 46.4 0 64v384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32zm-64 257.4c0 49.4-11.4 82.6-103.8 82.6h-16.9c-44.1 0-62.4-14.9-70.4-38.8h-.9V368H96V136h64v74.7h1.1c4.6-30.5 39.7-38.8 69.7-38.8h17.3c92.4 0 103.8 33.1 103.8 82.5v35zm-64-28.9v22.9c0 21.7-3.4 33.8-38.4 33.8h-45.3c-28.9 0-44.1-6.5-44.1-35.7v-19c0-29.3 15.2-35.7 44.1-35.7h45.3c35-.2 38.4 12 38.4 33.7z\"]\n};\nvar faBitbucket = {\n prefix: 'fab',\n iconName: 'bitbucket',\n icon: [512, 512, [], \"f171\", \"M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z\"]\n};\nvar faBitcoin = {\n prefix: 'fab',\n iconName: 'bitcoin',\n icon: [512, 512, [], \"f379\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z\"]\n};\nvar faBity = {\n prefix: 'fab',\n iconName: 'bity',\n icon: [496, 512, [], \"f37a\", \"M78.4 67.2C173.8-22 324.5-24 421.5 71c14.3 14.1-6.4 37.1-22.4 21.5-84.8-82.4-215.8-80.3-298.9-3.2-16.3 15.1-36.5-8.3-21.8-22.1zm98.9 418.6c19.3 5.7 29.3-23.6 7.9-30C73 421.9 9.4 306.1 37.7 194.8c5-19.6-24.9-28.1-30.2-7.1-32.1 127.4 41.1 259.8 169.8 298.1zm148.1-2c121.9-40.2 192.9-166.9 164.4-291-4.5-19.7-34.9-13.8-30 7.9 24.2 107.7-37.1 217.9-143.2 253.4-21.2 7-10.4 36 8.8 29.7zm-62.9-79l.2-71.8c0-8.2-6.6-14.8-14.8-14.8-8.2 0-14.8 6.7-14.8 14.8l-.2 71.8c0 8.2 6.6 14.8 14.8 14.8s14.8-6.6 14.8-14.8zm71-269c2.1 90.9 4.7 131.9-85.5 132.5-92.5-.7-86.9-44.3-85.5-132.5 0-21.8-32.5-19.6-32.5 0v71.6c0 69.3 60.7 90.9 118 90.1 57.3.8 118-20.8 118-90.1v-71.6c0-19.6-32.5-21.8-32.5 0z\"]\n};\nvar faBlackTie = {\n prefix: 'fab',\n iconName: 'black-tie',\n icon: [448, 512, [], \"f27e\", \"M0 32v448h448V32H0zm316.5 325.2L224 445.9l-92.5-88.7 64.5-184-64.5-86.6h184.9L252 173.2l64.5 184z\"]\n};\nvar faBlackberry = {\n prefix: 'fab',\n iconName: 'blackberry',\n icon: [512, 512, [], \"f37b\", \"M166 116.9c0 23.4-16.4 49.1-72.5 49.1H23.4l21-88.8h67.8c42.1 0 53.8 23.3 53.8 39.7zm126.2-39.7h-67.8L205.7 166h70.1c53.8 0 70.1-25.7 70.1-49.1.1-16.4-11.6-39.7-53.7-39.7zM88.8 208.1H21L0 296.9h70.1c56.1 0 72.5-23.4 72.5-49.1 0-16.3-11.7-39.7-53.8-39.7zm180.1 0h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1 0-16.3-11.7-39.7-53.7-39.7zm189.3-53.8h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7zm-28 137.9h-67.8L343.7 381h70.1c56.1 0 70.1-23.4 70.1-49.1 0-16.3-11.6-39.7-53.7-39.7zM240.8 346H173l-18.7 88.8h70.1c56.1 0 70.1-25.7 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7z\"]\n};\nvar faBlogger = {\n prefix: 'fab',\n iconName: 'blogger',\n icon: [448, 512, [], \"f37c\", \"M162.4 196c4.8-4.9 6.2-5.1 36.4-5.1 27.2 0 28.1.1 32.1 2.1 5.8 2.9 8.3 7 8.3 13.6 0 5.9-2.4 10-7.6 13.4-2.8 1.8-4.5 1.9-31.1 2.1-16.4.1-29.5-.2-31.5-.8-10.3-2.9-14.1-17.7-6.6-25.3zm61.4 94.5c-53.9 0-55.8.2-60.2 4.1-3.5 3.1-5.7 9.4-5.1 13.9.7 4.7 4.8 10.1 9.2 12 2.2 1 14.1 1.7 56.3 1.2l47.9-.6 9.2-1.5c9-5.1 10.5-17.4 3.1-24.4-5.3-4.7-5-4.7-60.4-4.7zm223.4 130.1c-3.5 28.4-23 50.4-51.1 57.5-7.2 1.8-9.7 1.9-172.9 1.8-157.8 0-165.9-.1-172-1.8-8.4-2.2-15.6-5.5-22.3-10-5.6-3.8-13.9-11.8-17-16.4-3.8-5.6-8.2-15.3-10-22C.1 423 0 420.3 0 256.3 0 93.2 0 89.7 1.8 82.6 8.1 57.9 27.7 39 53 33.4c7.3-1.6 332.1-1.9 340-.3 21.2 4.3 37.9 17.1 47.6 36.4 7.7 15.3 7-1.5 7.3 180.6.2 115.8 0 164.5-.7 170.5zm-85.4-185.2c-1.1-5-4.2-9.6-7.7-11.5-1.1-.6-8-1.3-15.5-1.7-12.4-.6-13.8-.8-17.8-3.1-6.2-3.6-7.9-7.6-8-18.3 0-20.4-8.5-39.4-25.3-56.5-12-12.2-25.3-20.5-40.6-25.1-3.6-1.1-11.8-1.5-39.2-1.8-42.9-.5-52.5.4-67.1 6.2-27 10.7-46.3 33.4-53.4 62.4-1.3 5.4-1.6 14.2-1.9 64.3-.4 62.8 0 72.1 4 84.5 9.7 30.7 37.1 53.4 64.6 58.4 9.2 1.7 122.2 2.1 133.7.5 20.1-2.7 35.9-10.8 50.7-25.9 10.7-10.9 17.4-22.8 21.8-38.5 3.2-10.9 2.9-88.4 1.7-93.9z\"]\n};\nvar faBloggerB = {\n prefix: 'fab',\n iconName: 'blogger-b',\n icon: [448, 512, [], \"f37d\", \"M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z\"]\n};\nvar faBluetooth = {\n prefix: 'fab',\n iconName: 'bluetooth',\n icon: [448, 512, [], \"f293\", \"M292.6 171.1L249.7 214l-.3-86 43.2 43.1m-43.2 219.8l43.1-43.1-42.9-42.9-.2 86zM416 259.4C416 465 344.1 512 230.9 512S32 465 32 259.4 115.4 0 228.6 0 416 53.9 416 259.4zm-158.5 0l79.4-88.6L211.8 36.5v176.9L138 139.6l-27 26.9 92.7 93-92.7 93 26.9 26.9 73.8-73.8 2.3 170 127.4-127.5-83.9-88.7z\"]\n};\nvar faBluetoothB = {\n prefix: 'fab',\n iconName: 'bluetooth-b',\n icon: [320, 512, [], \"f294\", \"M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z\"]\n};\nvar faBootstrap = {\n prefix: 'fab',\n iconName: 'bootstrap',\n icon: [576, 512, [], \"f836\", \"M333.5,201.4c0-22.1-15.6-34.3-43-34.3h-50.4v71.2h42.5C315.4,238.2,333.5,225,333.5,201.4z M517,188.6 c-9.5-30.9-10.9-68.8-9.8-98.1c1.1-30.5-22.7-58.5-54.7-58.5H123.7c-32.1,0-55.8,28.1-54.7,58.5c1,29.3-0.3,67.2-9.8,98.1 c-9.6,31-25.7,50.6-52.2,53.1v28.5c26.4,2.5,42.6,22.1,52.2,53.1c9.5,30.9,10.9,68.8,9.8,98.1c-1.1,30.5,22.7,58.5,54.7,58.5h328.7 c32.1,0,55.8-28.1,54.7-58.5c-1-29.3,0.3-67.2,9.8-98.1c9.6-31,25.7-50.6,52.1-53.1v-28.5C542.7,239.2,526.5,219.6,517,188.6z M300.2,375.1h-97.9V136.8h97.4c43.3,0,71.7,23.4,71.7,59.4c0,25.3-19.1,47.9-43.5,51.8v1.3c33.2,3.6,55.5,26.6,55.5,58.3 C383.4,349.7,352.1,375.1,300.2,375.1z M290.2,266.4h-50.1v78.4h52.3c34.2,0,52.3-13.7,52.3-39.5 C344.7,279.6,326.1,266.4,290.2,266.4z\"]\n};\nvar faBtc = {\n prefix: 'fab',\n iconName: 'btc',\n icon: [384, 512, [], \"f15a\", \"M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z\"]\n};\nvar faBuffer = {\n prefix: 'fab',\n iconName: 'buffer',\n icon: [448, 512, [], \"f837\", \"M427.84 380.67l-196.5 97.82a18.6 18.6 0 0 1-14.67 0L20.16 380.67c-4-2-4-5.28 0-7.29L67.22 350a18.65 18.65 0 0 1 14.69 0l134.76 67a18.51 18.51 0 0 0 14.67 0l134.76-67a18.62 18.62 0 0 1 14.68 0l47.06 23.43c4.05 1.96 4.05 5.24 0 7.24zm0-136.53l-47.06-23.43a18.62 18.62 0 0 0-14.68 0l-134.76 67.08a18.68 18.68 0 0 1-14.67 0L81.91 220.71a18.65 18.65 0 0 0-14.69 0l-47.06 23.43c-4 2-4 5.29 0 7.31l196.51 97.8a18.6 18.6 0 0 0 14.67 0l196.5-97.8c4.05-2.02 4.05-5.3 0-7.31zM20.16 130.42l196.5 90.29a20.08 20.08 0 0 0 14.67 0l196.51-90.29c4-1.86 4-4.89 0-6.74L231.33 33.4a19.88 19.88 0 0 0-14.67 0l-196.5 90.28c-4.05 1.85-4.05 4.88 0 6.74z\"]\n};\nvar faBuromobelexperte = {\n prefix: 'fab',\n iconName: 'buromobelexperte',\n icon: [448, 512, [], \"f37f\", \"M0 32v128h128V32H0zm120 120H8V40h112v112zm40-120v128h128V32H160zm120 120H168V40h112v112zm40-120v128h128V32H320zm120 120H328V40h112v112zM0 192v128h128V192H0zm120 120H8V200h112v112zm40-120v128h128V192H160zm120 120H168V200h112v112zm40-120v128h128V192H320zm120 120H328V200h112v112zM0 352v128h128V352H0zm120 120H8V360h112v112zm40-120v128h128V352H160zm120 120H168V360h112v112zm40-120v128h128V352H320z\"]\n};\nvar faBuyNLarge = {\n prefix: 'fab',\n iconName: 'buy-n-large',\n icon: [576, 512, [], \"f8a6\", \"M288 32C133.27 32 7.79 132.32 7.79 256S133.27 480 288 480s280.21-100.32 280.21-224S442.73 32 288 32zm-85.39 357.19L64.1 390.55l77.25-290.74h133.44c63.15 0 84.93 28.65 78 72.84a60.24 60.24 0 0 1-1.5 6.85 77.39 77.39 0 0 0-17.21-1.93c-42.35 0-76.69 33.88-76.69 75.65 0 37.14 27.14 68 62.93 74.45-18.24 37.16-56.16 60.92-117.71 61.52zM358 207.11h32l-22.16 90.31h-35.41l-11.19-35.63-7.83 35.63h-37.83l26.63-90.31h31.34l15 36.75zm145.86 182.08H306.79L322.63 328a78.8 78.8 0 0 0 11.47.83c42.34 0 76.69-33.87 76.69-75.65 0-32.65-21-60.46-50.38-71.06l21.33-82.35h92.5l-53.05 205.36h103.87zM211.7 269.39H187l-13.8 56.47h24.7c16.14 0 32.11-3.18 37.94-26.65 5.56-22.31-7.99-29.82-24.14-29.82zM233 170h-21.34L200 217.71h21.37c18 0 35.38-14.64 39.21-30.14C265.23 168.71 251.07 170 233 170z\"]\n};\nvar faBuysellads = {\n prefix: 'fab',\n iconName: 'buysellads',\n icon: [448, 512, [], \"f20d\", \"M224 150.7l42.9 160.7h-85.8L224 150.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-65.3 325.3l-94.5-298.7H159.8L65.3 405.3H156l111.7-91.6 24.2 91.6h90.8z\"]\n};\nvar faCanadianMapleLeaf = {\n prefix: 'fab',\n iconName: 'canadian-maple-leaf',\n icon: [512, 512, [], \"f785\", \"M383.8 351.7c2.5-2.5 105.2-92.4 105.2-92.4l-17.5-7.5c-10-4.9-7.4-11.5-5-17.4 2.4-7.6 20.1-67.3 20.1-67.3s-47.7 10-57.7 12.5c-7.5 2.4-10-2.5-12.5-7.5s-15-32.4-15-32.4-52.6 59.9-55.1 62.3c-10 7.5-20.1 0-17.6-10 0-10 27.6-129.6 27.6-129.6s-30.1 17.4-40.1 22.4c-7.5 5-12.6 5-17.6-5C293.5 72.3 255.9 0 255.9 0s-37.5 72.3-42.5 79.8c-5 10-10 10-17.6 5-10-5-40.1-22.4-40.1-22.4S183.3 182 183.3 192c2.5 10-7.5 17.5-17.6 10-2.5-2.5-55.1-62.3-55.1-62.3S98.1 167 95.6 172s-5 9.9-12.5 7.5C73 177 25.4 167 25.4 167s17.6 59.7 20.1 67.3c2.4 6 5 12.5-5 17.4L23 259.3s102.6 89.9 105.2 92.4c5.1 5 10 7.5 5.1 22.5-5.1 15-10.1 35.1-10.1 35.1s95.2-20.1 105.3-22.6c8.7-.9 18.3 2.5 18.3 12.5S241 512 241 512h30s-5.8-102.7-5.8-112.8 9.5-13.4 18.4-12.5c10 2.5 105.2 22.6 105.2 22.6s-5-20.1-10-35.1 0-17.5 5-22.5z\"]\n};\nvar faCcAmazonPay = {\n prefix: 'fab',\n iconName: 'cc-amazon-pay',\n icon: [576, 512, [], \"f42d\", \"M124.7 201.8c.1-11.8 0-23.5 0-35.3v-35.3c0-1.3.4-2 1.4-2.7 11.5-8 24.1-12.1 38.2-11.1 12.5.9 22.7 7 28.1 21.7 3.3 8.9 4.1 18.2 4.1 27.7 0 8.7-.7 17.3-3.4 25.6-5.7 17.8-18.7 24.7-35.7 23.9-11.7-.5-21.9-5-31.4-11.7-.9-.8-1.4-1.6-1.3-2.8zm154.9 14.6c4.6 1.8 9.3 2 14.1 1.5 11.6-1.2 21.9-5.7 31.3-12.5.9-.6 1.3-1.3 1.3-2.5-.1-3.9 0-7.9 0-11.8 0-4-.1-8 0-12 0-1.4-.4-2-1.8-2.2-7-.9-13.9-2.2-20.9-2.9-7-.6-14-.3-20.8 1.9-6.7 2.2-11.7 6.2-13.7 13.1-1.6 5.4-1.6 10.8.1 16.2 1.6 5.5 5.2 9.2 10.4 11.2zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-207.5 23.9c.4 1.7.9 3.4 1.6 5.1 16.5 40.6 32.9 81.3 49.5 121.9 1.4 3.5 1.7 6.4.2 9.9-2.8 6.2-4.9 12.6-7.8 18.7-2.6 5.5-6.7 9.5-12.7 11.2-4.2 1.1-8.5 1.3-12.9.9-2.1-.2-4.2-.7-6.3-.8-2.8-.2-4.2 1.1-4.3 4-.1 2.8-.1 5.6 0 8.3.1 4.6 1.6 6.7 6.2 7.5 4.7.8 9.4 1.6 14.2 1.7 14.3.3 25.7-5.4 33.1-17.9 2.9-4.9 5.6-10.1 7.7-15.4 19.8-50.1 39.5-100.3 59.2-150.5.6-1.5 1.1-3 1.3-4.6.4-2.4-.7-3.6-3.1-3.7-5.6-.1-11.1 0-16.7 0-3.1 0-5.3 1.4-6.4 4.3-.4 1.1-.9 2.3-1.3 3.4l-29.1 83.7c-2.1 6.1-4.2 12.1-6.5 18.6-.4-.9-.6-1.4-.8-1.9-10.8-29.9-21.6-59.9-32.4-89.8-1.7-4.7-3.5-9.5-5.3-14.2-.9-2.5-2.7-4-5.4-4-6.4-.1-12.8-.2-19.2-.1-2.2 0-3.3 1.6-2.8 3.7zM242.4 206c1.7 11.7 7.6 20.8 18 26.6 9.9 5.5 20.7 6.2 31.7 4.6 12.7-1.9 23.9-7.3 33.8-15.5.4-.3.8-.6 1.4-1 .5 3.2.9 6.2 1.5 9.2.5 2.6 2.1 4.3 4.5 4.4 4.6.1 9.1.1 13.7 0 2.3-.1 3.8-1.6 4-3.9.1-.8.1-1.6.1-2.3v-88.8c0-3.6-.2-7.2-.7-10.8-1.6-10.8-6.2-19.7-15.9-25.4-5.6-3.3-11.8-5-18.2-5.9-3-.4-6-.7-9.1-1.1h-10c-.8.1-1.6.3-2.5.3-8.2.4-16.3 1.4-24.2 3.5-5.1 1.3-10 3.2-15 4.9-3 1-4.5 3.2-4.4 6.5.1 2.8-.1 5.6 0 8.3.1 4.1 1.8 5.2 5.7 4.1 6.5-1.7 13.1-3.5 19.7-4.8 10.3-1.9 20.7-2.7 31.1-1.2 5.4.8 10.5 2.4 14.1 7 3.1 4 4.2 8.8 4.4 13.7.3 6.9.2 13.9.3 20.8 0 .4-.1.7-.2 1.2-.4 0-.8 0-1.1-.1-8.8-2.1-17.7-3.6-26.8-4.1-9.5-.5-18.9.1-27.9 3.2-10.8 3.8-19.5 10.3-24.6 20.8-4.1 8.3-4.6 17-3.4 25.8zM98.7 106.9v175.3c0 .8 0 1.7.1 2.5.2 2.5 1.7 4.1 4.1 4.2 5.9.1 11.8.1 17.7 0 2.5 0 4-1.7 4.1-4.1.1-.8.1-1.7.1-2.5v-60.7c.9.7 1.4 1.2 1.9 1.6 15 12.5 32.2 16.6 51.1 12.9 17.1-3.4 28.9-13.9 36.7-29.2 5.8-11.6 8.3-24.1 8.7-37 .5-14.3-1-28.4-6.8-41.7-7.1-16.4-18.9-27.3-36.7-30.9-2.7-.6-5.5-.8-8.2-1.2h-7c-1.2.2-2.4.3-3.6.5-11.7 1.4-22.3 5.8-31.8 12.7-2 1.4-3.9 3-5.9 4.5-.1-.5-.3-.8-.4-1.2-.4-2.3-.7-4.6-1.1-6.9-.6-3.9-2.5-5.5-6.4-5.6h-9.7c-5.9-.1-6.9 1-6.9 6.8zM493.6 339c-2.7-.7-5.1 0-7.6 1-43.9 18.4-89.5 30.2-136.8 35.8-14.5 1.7-29.1 2.8-43.7 3.2-26.6.7-53.2-.8-79.6-4.3-17.8-2.4-35.5-5.7-53-9.9-37-8.9-72.7-21.7-106.7-38.8-8.8-4.4-17.4-9.3-26.1-14-3.8-2.1-6.2-1.5-8.2 2.1v1.7c1.2 1.6 2.2 3.4 3.7 4.8 36 32.2 76.6 56.5 122 72.9 21.9 7.9 44.4 13.7 67.3 17.5 14 2.3 28 3.8 42.2 4.5 3 .1 6 .2 9 .4.7 0 1.4.2 2.1.3h17.7c.7-.1 1.4-.3 2.1-.3 14.9-.4 29.8-1.8 44.6-4 21.4-3.2 42.4-8.1 62.9-14.7 29.6-9.6 57.7-22.4 83.4-40.1 2.8-1.9 5.7-3.8 8-6.2 4.3-4.4 2.3-10.4-3.3-11.9zm50.4-27.7c-.8-4.2-4-5.8-7.6-7-5.7-1.9-11.6-2.8-17.6-3.3-11-.9-22-.4-32.8 1.6-12 2.2-23.4 6.1-33.5 13.1-1.2.8-2.4 1.8-3.1 3-.6.9-.7 2.3-.5 3.4.3 1.3 1.7 1.6 3 1.5.6 0 1.2 0 1.8-.1l19.5-2.1c9.6-.9 19.2-1.5 28.8-.8 4.1.3 8.1 1.2 12 2.2 4.3 1.1 6.2 4.4 6.4 8.7.3 6.7-1.2 13.1-2.9 19.5-3.5 12.9-8.3 25.4-13.3 37.8-.3.8-.7 1.7-.8 2.5-.4 2.5 1 4 3.4 3.5 1.4-.3 3-1.1 4-2.1 3.7-3.6 7.5-7.2 10.6-11.2 10.7-13.8 17-29.6 20.7-46.6.7-3 1.2-6.1 1.7-9.1.2-4.7.2-9.6.2-14.5z\"]\n};\nvar faCcAmex = {\n prefix: 'fab',\n iconName: 'cc-amex',\n icon: [576, 512, [], \"f1f3\", \"M325.1 167.8c0-16.4-14.1-18.4-27.4-18.4l-39.1-.3v69.3H275v-25.1h18c18.4 0 14.5 10.3 14.8 25.1h16.6v-13.5c0-9.2-1.5-15.1-11-18.4 7.4-3 11.8-10.7 11.7-18.7zm-29.4 11.3H275v-15.3h21c5.1 0 10.7 1 10.7 7.4 0 6.6-5.3 7.9-11 7.9zM279 268.6h-52.7l-21 22.8-20.5-22.8h-66.5l-.1 69.3h65.4l21.3-23 20.4 23h32.2l.1-23.3c18.9 0 49.3 4.6 49.3-23.3 0-17.3-12.3-22.7-27.9-22.7zm-103.8 54.7h-40.6v-13.8h36.3v-14.1h-36.3v-12.5h41.7l17.9 20.2zm65.8 8.2l-25.3-28.1L241 276zm37.8-31h-21.2v-17.6h21.5c5.6 0 10.2 2.3 10.2 8.4 0 6.4-4.6 9.2-10.5 9.2zm-31.6-136.7v-14.6h-55.5v69.3h55.5v-14.3h-38.9v-13.8h37.8v-14.1h-37.8v-12.5zM576 255.4h-.2zm-194.6 31.9c0-16.4-14.1-18.7-27.1-18.7h-39.4l-.1 69.3h16.6l.1-25.3h17.6c11 0 14.8 2 14.8 13.8l-.1 11.5h16.6l.1-13.8c0-8.9-1.8-15.1-11-18.4 7.7-3.1 11.8-10.8 11.9-18.4zm-29.2 11.2h-20.7v-15.6h21c5.1 0 10.7 1 10.7 7.4 0 6.9-5.4 8.2-11 8.2zm-172.8-80v-69.3h-27.6l-19.7 47-21.7-47H83.3v65.7l-28.1-65.7H30.7L1 218.5h17.9l6.4-15.3h34.5l6.4 15.3H100v-54.2l24 54.2h14.6l24-54.2v54.2zM31.2 188.8l11.2-27.6 11.5 27.6zm477.4 158.9v-4.5c-10.8 5.6-3.9 4.5-156.7 4.5 0-25.2.1-23.9 0-25.2-1.7-.1-3.2-.1-9.4-.1 0 17.9-.1 6.8-.1 25.3h-39.6c0-12.1.1-15.3.1-29.2-10 6-22.8 6.4-34.3 6.2 0 14.7-.1 8.3-.1 23h-48.9c-5.1-5.7-2.7-3.1-15.4-17.4-3.2 3.5-12.8 13.9-16.1 17.4h-82v-92.3h83.1c5 5.6 2.8 3.1 15.5 17.2 3.2-3.5 12.2-13.4 15.7-17.2h58c9.8 0 18 1.9 24.3 5.6v-5.6c54.3 0 64.3-1.4 75.7 5.1v-5.1h78.2v5.2c11.4-6.9 19.6-5.2 64.9-5.2v5c10.3-5.9 16.6-5.2 54.3-5V80c0-26.5-21.5-48-48-48h-480c-26.5 0-48 21.5-48 48v109.8c9.4-21.9 19.7-46 23.1-53.9h39.7c4.3 10.1 1.6 3.7 9 21.1v-21.1h46c2.9 6.2 11.1 24 13.9 30 5.8-13.6 10.1-23.9 12.6-30h103c0-.1 11.5 0 11.6 0 43.7.2 53.6-.8 64.4 5.3v-5.3H363v9.3c7.6-6.1 17.9-9.3 30.7-9.3h27.6c0 .5 1.9.3 2.3.3H456c4.2 9.8 2.6 6 8.8 20.6v-20.6h43.3c4.9 8-1-1.8 11.2 18.4v-18.4h39.9v92h-41.6c-5.4-9-1.4-2.2-13.2-21.9v21.9h-52.8c-6.4-14.8-.1-.3-6.6-15.3h-19c-4.2 10-2.2 5.2-6.4 15.3h-26.8c-12.3 0-22.3-3-29.7-8.9v8.9h-66.5c-.3-13.9-.1-24.8-.1-24.8-1.8-.3-3.4-.2-9.8-.2v25.1H151.2v-11.4c-2.5 5.6-2.7 5.9-5.1 11.4h-29.5c-4-8.9-2.9-6.4-5.1-11.4v11.4H58.6c-4.2-10.1-2.2-5.3-6.4-15.3H33c-4.2 10-2.2 5.2-6.4 15.3H0V432c0 26.5 21.5 48 48 48h480.1c26.5 0 48-21.5 48-48v-90.4c-12.7 8.3-32.7 6.1-67.5 6.1zm36.3-64.5H575v-14.6h-32.9c-12.8 0-23.8 6.6-23.8 20.7 0 33 42.7 12.8 42.7 27.4 0 5.1-4.3 6.4-8.4 6.4h-32l-.1 14.8h32c8.4 0 17.6-1.8 22.5-8.9v-25.8c-10.5-13.8-39.3-1.3-39.3-13.5 0-5.8 4.6-6.5 9.2-6.5zm-57 39.8h-32.2l-.1 14.8h32.2c14.8 0 26.2-5.6 26.2-22 0-33.2-42.9-11.2-42.9-26.3 0-5.6 4.9-6.4 9.2-6.4h30.4v-14.6h-33.2c-12.8 0-23.5 6.6-23.5 20.7 0 33 42.7 12.5 42.7 27.4-.1 5.4-4.7 6.4-8.8 6.4zm-42.2-40.1v-14.3h-55.2l-.1 69.3h55.2l.1-14.3-38.6-.3v-13.8H445v-14.1h-37.8v-12.5zm-56.3-108.1c-.3.2-1.4 2.2-1.4 7.6 0 6 .9 7.7 1.1 7.9.2.1 1.1.5 3.4.5l7.3-16.9c-1.1 0-2.1-.1-3.1-.1-5.6 0-7 .7-7.3 1zm20.4-10.5h-.1zm-16.2-15.2c-23.5 0-34 12-34 35.3 0 22.2 10.2 34 33 34h19.2l6.4-15.3h34.3l6.6 15.3h33.7v-51.9l31.2 51.9h23.6v-69h-16.9v48.1l-29.1-48.1h-25.3v65.4l-27.9-65.4h-24.8l-23.5 54.5h-7.4c-13.3 0-16.1-8.1-16.1-19.9 0-23.8 15.7-20 33.1-19.7v-15.2zm42.1 12.1l11.2 27.6h-22.8zm-101.1-12v69.3h16.9v-69.3z\"]\n};\nvar faCcApplePay = {\n prefix: 'fab',\n iconName: 'cc-apple-pay',\n icon: [576, 512, [], \"f416\", \"M302.2 218.4c0 17.2-10.5 27.1-29 27.1h-24.3v-54.2h24.4c18.4 0 28.9 9.8 28.9 27.1zm47.5 62.6c0 8.3 7.2 13.7 18.5 13.7 14.4 0 25.2-9.1 25.2-21.9v-7.7l-23.5 1.5c-13.3.9-20.2 5.8-20.2 14.4zM576 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM127.8 197.2c8.4.7 16.8-4.2 22.1-10.4 5.2-6.4 8.6-15 7.7-23.7-7.4.3-16.6 4.9-21.9 11.3-4.8 5.5-8.9 14.4-7.9 22.8zm60.6 74.5c-.2-.2-19.6-7.6-19.8-30-.2-18.7 15.3-27.7 16-28.2-8.8-13-22.4-14.4-27.1-14.7-12.2-.7-22.6 6.9-28.4 6.9-5.9 0-14.7-6.6-24.3-6.4-12.5.2-24.2 7.3-30.5 18.6-13.1 22.6-3.4 56 9.3 74.4 6.2 9.1 13.7 19.1 23.5 18.7 9.3-.4 13-6 24.2-6 11.3 0 14.5 6 24.3 5.9 10.2-.2 16.5-9.1 22.8-18.2 6.9-10.4 9.8-20.4 10-21zm135.4-53.4c0-26.6-18.5-44.8-44.9-44.8h-51.2v136.4h21.2v-46.6h29.3c26.8 0 45.6-18.4 45.6-45zm90 23.7c0-19.7-15.8-32.4-40-32.4-22.5 0-39.1 12.9-39.7 30.5h19.1c1.6-8.4 9.4-13.9 20-13.9 13 0 20.2 6 20.2 17.2v7.5l-26.4 1.6c-24.6 1.5-37.9 11.6-37.9 29.1 0 17.7 13.7 29.4 33.4 29.4 13.3 0 25.6-6.7 31.2-17.4h.4V310h19.6v-68zM516 210.9h-21.5l-24.9 80.6h-.4l-24.9-80.6H422l35.9 99.3-1.9 6c-3.2 10.2-8.5 14.2-17.9 14.2-1.7 0-4.9-.2-6.2-.3v16.4c1.2.4 6.5.5 8.1.5 20.7 0 30.4-7.9 38.9-31.8L516 210.9z\"]\n};\nvar faCcDinersClub = {\n prefix: 'fab',\n iconName: 'cc-diners-club',\n icon: [576, 512, [], \"f24c\", \"M239.7 79.9c-96.9 0-175.8 78.6-175.8 175.8 0 96.9 78.9 175.8 175.8 175.8 97.2 0 175.8-78.9 175.8-175.8 0-97.2-78.6-175.8-175.8-175.8zm-39.9 279.6c-41.7-15.9-71.4-56.4-71.4-103.8s29.7-87.9 71.4-104.1v207.9zm79.8.3V151.6c41.7 16.2 71.4 56.7 71.4 104.1s-29.7 87.9-71.4 104.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM329.7 448h-90.3c-106.2 0-193.8-85.5-193.8-190.2C45.6 143.2 133.2 64 239.4 64h90.3c105 0 200.7 79.2 200.7 193.8 0 104.7-95.7 190.2-200.7 190.2z\"]\n};\nvar faCcDiscover = {\n prefix: 'fab',\n iconName: 'cc-discover',\n icon: [576, 512, [], \"f1f2\", \"M520.4 196.1c0-7.9-5.5-12.1-15.6-12.1h-4.9v24.9h4.7c10.3 0 15.8-4.4 15.8-12.8zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-44.1 138.9c22.6 0 52.9-4.1 52.9 24.4 0 12.6-6.6 20.7-18.7 23.2l25.8 34.4h-19.6l-22.2-32.8h-2.2v32.8h-16zm-55.9.1h45.3v14H444v18.2h28.3V217H444v22.2h29.3V253H428zm-68.7 0l21.9 55.2 22.2-55.2h17.5l-35.5 84.2h-8.6l-35-84.2zm-55.9-3c24.7 0 44.6 20 44.6 44.6 0 24.7-20 44.6-44.6 44.6-24.7 0-44.6-20-44.6-44.6 0-24.7 20-44.6 44.6-44.6zm-49.3 6.1v19c-20.1-20.1-46.8-4.7-46.8 19 0 25 27.5 38.5 46.8 19.2v19c-29.7 14.3-63.3-5.7-63.3-38.2 0-31.2 33.1-53 63.3-38zm-97.2 66.3c11.4 0 22.4-15.3-3.3-24.4-15-5.5-20.2-11.4-20.2-22.7 0-23.2 30.6-31.4 49.7-14.3l-8.4 10.8c-10.4-11.6-24.9-6.2-24.9 2.5 0 4.4 2.7 6.9 12.3 10.3 18.2 6.6 23.6 12.5 23.6 25.6 0 29.5-38.8 37.4-56.6 11.3l10.3-9.9c3.7 7.1 9.9 10.8 17.5 10.8zM55.4 253H32v-82h23.4c26.1 0 44.1 17 44.1 41.1 0 18.5-13.2 40.9-44.1 40.9zm67.5 0h-16v-82h16zM544 433c0 8.2-6.8 15-15 15H128c189.6-35.6 382.7-139.2 416-160zM74.1 191.6c-5.2-4.9-11.6-6.6-21.9-6.6H48v54.2h4.2c10.3 0 17-2 21.9-6.4 5.7-5.2 8.9-12.8 8.9-20.7s-3.2-15.5-8.9-20.5z\"]\n};\nvar faCcJcb = {\n prefix: 'fab',\n iconName: 'cc-jcb',\n icon: [576, 512, [], \"f24b\", \"M431.5 244.3V212c41.2 0 38.5.2 38.5.2 7.3 1.3 13.3 7.3 13.3 16 0 8.8-6 14.5-13.3 15.8-1.2.4-3.3.3-38.5.3zm42.8 20.2c-2.8-.7-3.3-.5-42.8-.5v35c39.6 0 40 .2 42.8-.5 7.5-1.5 13.5-8 13.5-17 0-8.7-6-15.5-13.5-17zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM182 192.3h-57c0 67.1 10.7 109.7-35.8 109.7-19.5 0-38.8-5.7-57.2-14.8v28c30 8.3 68 8.3 68 8.3 97.9 0 82-47.7 82-131.2zm178.5 4.5c-63.4-16-165-14.9-165 59.3 0 77.1 108.2 73.6 165 59.2V287C312.9 311.7 253 309 253 256s59.8-55.6 107.5-31.2v-28zM544 286.5c0-18.5-16.5-30.5-38-32v-.8c19.5-2.7 30.3-15.5 30.3-30.2 0-19-15.7-30-37-31 0 0 6.3-.3-120.3-.3v127.5h122.7c24.3.1 42.3-12.9 42.3-33.2z\"]\n};\nvar faCcMastercard = {\n prefix: 'fab',\n iconName: 'cc-mastercard',\n icon: [576, 512, [], \"f1f1\", \"M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z\"]\n};\nvar faCcPaypal = {\n prefix: 'fab',\n iconName: 'cc-paypal',\n icon: [576, 512, [], \"f1f4\", \"M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z\"]\n};\nvar faCcStripe = {\n prefix: 'fab',\n iconName: 'cc-stripe',\n icon: [576, 512, [], \"f1f5\", \"M492.4 220.8c-8.9 0-18.7 6.7-18.7 22.7h36.7c0-16-9.3-22.7-18-22.7zM375 223.4c-8.2 0-13.3 2.9-17 7l.2 52.8c3.5 3.7 8.5 6.7 16.8 6.7 13.1 0 21.9-14.3 21.9-33.4 0-18.6-9-33.2-21.9-33.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM122.2 281.1c0 25.6-20.3 40.1-49.9 40.3-12.2 0-25.6-2.4-38.8-8.1v-33.9c12 6.4 27.1 11.3 38.9 11.3 7.9 0 13.6-2.1 13.6-8.7 0-17-54-10.6-54-49.9 0-25.2 19.2-40.2 48-40.2 11.8 0 23.5 1.8 35.3 6.5v33.4c-10.8-5.8-24.5-9.1-35.3-9.1-7.5 0-12.1 2.2-12.1 7.7 0 16 54.3 8.4 54.3 50.7zm68.8-56.6h-27V275c0 20.9 22.5 14.4 27 12.6v28.9c-4.7 2.6-13.3 4.7-24.9 4.7-21.1 0-36.9-15.5-36.9-36.5l.2-113.9 34.7-7.4v30.8H191zm74 2.4c-4.5-1.5-18.7-3.6-27.1 7.4v84.4h-35.5V194.2h30.7l2.2 10.5c8.3-15.3 24.9-12.2 29.6-10.5h.1zm44.1 91.8h-35.7V194.2h35.7zm0-142.9l-35.7 7.6v-28.9l35.7-7.6zm74.1 145.5c-12.4 0-20-5.3-25.1-9l-.1 40.2-35.5 7.5V194.2h31.3l1.8 8.8c4.9-4.5 13.9-11.1 27.8-11.1 24.9 0 48.4 22.5 48.4 63.8 0 45.1-23.2 65.5-48.6 65.6zm160.4-51.5h-69.5c1.6 16.6 13.8 21.5 27.6 21.5 14.1 0 25.2-3 34.9-7.9V312c-9.7 5.3-22.4 9.2-39.4 9.2-34.6 0-58.8-21.7-58.8-64.5 0-36.2 20.5-64.9 54.3-64.9 33.7 0 51.3 28.7 51.3 65.1 0 3.5-.3 10.9-.4 12.9z\"]\n};\nvar faCcVisa = {\n prefix: 'fab',\n iconName: 'cc-visa',\n icon: [576, 512, [], \"f1f0\", \"M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z\"]\n};\nvar faCentercode = {\n prefix: 'fab',\n iconName: 'centercode',\n icon: [512, 512, [], \"f380\", \"M329.2 268.6c-3.8 35.2-35.4 60.6-70.6 56.8-35.2-3.8-60.6-35.4-56.8-70.6 3.8-35.2 35.4-60.6 70.6-56.8 35.1 3.8 60.6 35.4 56.8 70.6zm-85.8 235.1C96.7 496-8.2 365.5 10.1 224.3c11.2-86.6 65.8-156.9 139.1-192 161-77.1 349.7 37.4 354.7 216.6 4.1 147-118.4 262.2-260.5 254.8zm179.9-180c27.9-118-160.5-205.9-237.2-234.2-57.5 56.3-69.1 188.6-33.8 344.4 68.8 15.8 169.1-26.4 271-110.2z\"]\n};\nvar faCentos = {\n prefix: 'fab',\n iconName: 'centos',\n icon: [448, 512, [], \"f789\", \"M289.6 97.5l31.6 31.7-76.3 76.5V97.5zm-162.4 31.7l76.3 76.5V97.5h-44.7zm41.5-41.6h44.7v127.9l10.8 10.8 10.8-10.8V87.6h44.7L224.2 32zm26.2 168.1l-10.8-10.8H55.5v-44.8L0 255.7l55.5 55.6v-44.8h128.6l10.8-10.8zm79.3-20.7h107.9v-44.8l-31.6-31.7zm173.3 20.7L392 200.1v44.8H264.3l-10.8 10.8 10.8 10.8H392v44.8l55.5-55.6zM65.4 176.2l32.5-31.7 90.3 90.5h15.3v-15.3l-90.3-90.5 31.6-31.7H65.4zm316.7-78.7h-78.5l31.6 31.7-90.3 90.5V235h15.3l90.3-90.5 31.6 31.7zM203.5 413.9V305.8l-76.3 76.5 31.6 31.7h44.7zM65.4 235h108.8l-76.3-76.5-32.5 31.7zm316.7 100.2l-31.6 31.7-90.3-90.5h-15.3v15.3l90.3 90.5-31.6 31.7h78.5zm0-58.8H274.2l76.3 76.5 31.6-31.7zm-60.9 105.8l-76.3-76.5v108.1h44.7zM97.9 352.9l76.3-76.5H65.4v44.8zm181.8 70.9H235V295.9l-10.8-10.8-10.8 10.8v127.9h-44.7l55.5 55.6zm-166.5-41.6l90.3-90.5v-15.3h-15.3l-90.3 90.5-32.5-31.7v78.7h79.4z\"]\n};\nvar faChrome = {\n prefix: 'fab',\n iconName: 'chrome',\n icon: [496, 512, [], \"f268\", \"M131.5 217.5L55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6L40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z\"]\n};\nvar faChromecast = {\n prefix: 'fab',\n iconName: 'chromecast',\n icon: [512, 512, [], \"f838\", \"M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z\"]\n};\nvar faCloudflare = {\n prefix: 'fab',\n iconName: 'cloudflare',\n icon: [640, 512, [], \"e07d\", \"M407.906,319.913l-230.8-2.928a4.58,4.58,0,0,1-3.632-1.926,4.648,4.648,0,0,1-.494-4.147,6.143,6.143,0,0,1,5.361-4.076L411.281,303.9c27.631-1.26,57.546-23.574,68.022-50.784l13.286-34.542a7.944,7.944,0,0,0,.524-2.936,7.735,7.735,0,0,0-.164-1.631A151.91,151.91,0,0,0,201.257,198.4,68.12,68.12,0,0,0,94.2,269.59C41.924,271.106,0,313.728,0,366.12a96.054,96.054,0,0,0,1.029,13.958,4.508,4.508,0,0,0,4.445,3.871l426.1.051c.043,0,.08-.019.122-.02a5.606,5.606,0,0,0,5.271-4l3.273-11.265c3.9-13.4,2.448-25.8-4.1-34.9C430.124,325.423,420.09,320.487,407.906,319.913ZM513.856,221.1c-2.141,0-4.271.062-6.391.164a3.771,3.771,0,0,0-3.324,2.653l-9.077,31.193c-3.9,13.4-2.449,25.786,4.1,34.89,6.02,8.4,16.054,13.323,28.238,13.9l49.2,2.939a4.491,4.491,0,0,1,3.51,1.894,4.64,4.64,0,0,1,.514,4.169,6.153,6.153,0,0,1-5.351,4.075l-51.125,2.939c-27.754,1.27-57.669,23.574-68.145,50.784l-3.695,9.606a2.716,2.716,0,0,0,2.427,3.68c.046,0,.088.017.136.017h175.91a4.69,4.69,0,0,0,4.539-3.37,124.807,124.807,0,0,0,4.682-34C640,277.3,583.524,221.1,513.856,221.1Z\"]\n};\nvar faCloudscale = {\n prefix: 'fab',\n iconName: 'cloudscale',\n icon: [448, 512, [], \"f383\", \"M318.1 154l-9.4 7.6c-22.5-19.3-51.5-33.6-83.3-33.6C153.8 128 96 188.8 96 260.3c0 6.6.4 13.1 1.4 19.4-2-56 41.8-97.4 92.6-97.4 24.2 0 46.2 9.4 62.6 24.7l-25.2 20.4c-8.3-.9-16.8 1.8-23.1 8.1-11.1 11-11.1 28.9 0 40 11.1 11 28.9 11 40 0 6.3-6.3 9-14.9 8.1-23.1l75.2-88.8c6.3-6.5-3.3-15.9-9.5-9.6zm-83.8 111.5c-5.6 5.5-14.6 5.5-20.2 0-5.6-5.6-5.6-14.6 0-20.2s14.6-5.6 20.2 0 5.6 14.7 0 20.2zM224 32C100.5 32 0 132.5 0 256s100.5 224 224 224 224-100.5 224-224S347.5 32 224 32zm0 384c-88.2 0-160-71.8-160-160S135.8 96 224 96s160 71.8 160 160-71.8 160-160 160z\"]\n};\nvar faCloudsmith = {\n prefix: 'fab',\n iconName: 'cloudsmith',\n icon: [332, 512, [], \"f384\", \"M332.5 419.9c0 46.4-37.6 84.1-84 84.1s-84-37.7-84-84.1 37.6-84 84-84 84 37.6 84 84zm-84-243.9c46.4 0 80-37.6 80-84s-33.6-84-80-84-88 37.6-88 84-29.6 76-76 76-84 41.6-84 88 37.6 80 84 80 84-33.6 84-80 33.6-80 80-80z\"]\n};\nvar faCloudversify = {\n prefix: 'fab',\n iconName: 'cloudversify',\n icon: [616, 512, [], \"f385\", \"M148.6 304c8.2 68.5 67.4 115.5 146 111.3 51.2 43.3 136.8 45.8 186.4-5.6 69.2 1.1 118.5-44.6 131.5-99.5 14.8-62.5-18.2-132.5-92.1-155.1-33-88.1-131.4-101.5-186.5-85-57.3 17.3-84.3 53.2-99.3 109.7-7.8 2.7-26.5 8.9-45 24.1 11.7 0 15.2 8.9 15.2 19.5v20.4c0 10.7-8.7 19.5-19.5 19.5h-20.2c-10.7 0-19.5-6-19.5-16.7V240H98.8C95 240 88 244.3 88 251.9v40.4c0 6.4 5.3 11.8 11.7 11.8h48.9zm227.4 8c-10.7 46.3 21.7 72.4 55.3 86.8C324.1 432.6 259.7 348 296 288c-33.2 21.6-33.7 71.2-29.2 92.9-17.9-12.4-53.8-32.4-57.4-79.8-3-39.9 21.5-75.7 57-93.9C297 191.4 369.9 198.7 400 248c-14.1-48-53.8-70.1-101.8-74.8 30.9-30.7 64.4-50.3 114.2-43.7 69.8 9.3 133.2 82.8 67.7 150.5 35-16.3 48.7-54.4 47.5-76.9l10.5 19.6c11.8 22 15.2 47.6 9.4 72-9.2 39-40.6 68.8-79.7 76.5-32.1 6.3-83.1-5.1-91.8-59.2zM128 208H88.2c-8.9 0-16.2-7.3-16.2-16.2v-39.6c0-8.9 7.3-16.2 16.2-16.2H128c8.9 0 16.2 7.3 16.2 16.2v39.6c0 8.9-7.3 16.2-16.2 16.2zM10.1 168C4.5 168 0 163.5 0 157.9v-27.8c0-5.6 4.5-10.1 10.1-10.1h27.7c5.5 0 10.1 4.5 10.1 10.1v27.8c0 5.6-4.5 10.1-10.1 10.1H10.1zM168 142.7v-21.4c0-5.1 4.2-9.3 9.3-9.3h21.4c5.1 0 9.3 4.2 9.3 9.3v21.4c0 5.1-4.2 9.3-9.3 9.3h-21.4c-5.1 0-9.3-4.2-9.3-9.3zM56 235.5v25c0 6.3-5.1 11.5-11.4 11.5H19.4C13.1 272 8 266.8 8 260.5v-25c0-6.3 5.1-11.5 11.4-11.5h25.1c6.4 0 11.5 5.2 11.5 11.5z\"]\n};\nvar faCodepen = {\n prefix: 'fab',\n iconName: 'codepen',\n icon: [512, 512, [], \"f1cb\", \"M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z\"]\n};\nvar faCodiepie = {\n prefix: 'fab',\n iconName: 'codiepie',\n icon: [472, 512, [], \"f284\", \"M422.5 202.9c30.7 0 33.5 53.1-.3 53.1h-10.8v44.3h-26.6v-97.4h37.7zM472 352.6C429.9 444.5 350.4 504 248 504 111 504 0 393 0 256S111 8 248 8c97.4 0 172.8 53.7 218.2 138.4l-186 108.8L472 352.6zm-38.5 12.5l-60.3-30.7c-27.1 44.3-70.4 71.4-122.4 71.4-82.5 0-149.2-66.7-149.2-148.9 0-82.5 66.7-149.2 149.2-149.2 48.4 0 88.9 23.5 116.9 63.4l59.5-34.6c-40.7-62.6-104.7-100-179.2-100-121.2 0-219.5 98.3-219.5 219.5S126.8 475.5 248 475.5c78.6 0 146.5-42.1 185.5-110.4z\"]\n};\nvar faConfluence = {\n prefix: 'fab',\n iconName: 'confluence',\n icon: [512, 512, [], \"f78d\", \"M2.3 412.2c-4.5 7.6-2.1 17.5 5.5 22.2l105.9 65.2c7.7 4.7 17.7 2.4 22.4-5.3 0-.1.1-.2.1-.2 67.1-112.2 80.5-95.9 280.9-.7 8.1 3.9 17.8.4 21.7-7.7.1-.1.1-.3.2-.4l50.4-114.1c3.6-8.1-.1-17.6-8.1-21.3-22.2-10.4-66.2-31.2-105.9-50.3C127.5 179 44.6 345.3 2.3 412.2zm507.4-312.1c4.5-7.6 2.1-17.5-5.5-22.2L398.4 12.8c-7.5-5-17.6-3.1-22.6 4.4-.2.3-.4.6-.6 1-67.3 112.6-81.1 95.6-280.6.9-8.1-3.9-17.8-.4-21.7 7.7-.1.1-.1.3-.2.4L22.2 141.3c-3.6 8.1.1 17.6 8.1 21.3 22.2 10.4 66.3 31.2 106 50.4 248 120 330.8-45.4 373.4-112.9z\"]\n};\nvar faConnectdevelop = {\n prefix: 'fab',\n iconName: 'connectdevelop',\n icon: [576, 512, [], \"f20e\", \"M550.5 241l-50.089-86.786c1.071-2.142 1.875-4.553 1.875-7.232 0-8.036-6.696-14.733-14.732-15.001l-55.447-95.893c.536-1.607 1.071-3.214 1.071-4.821 0-8.571-6.964-15.268-15.268-15.268-4.821 0-8.839 2.143-11.786 5.625H299.518C296.839 18.143 292.821 16 288 16s-8.839 2.143-11.518 5.625H170.411C167.464 18.143 163.447 16 158.625 16c-8.303 0-15.268 6.696-15.268 15.268 0 1.607.536 3.482 1.072 4.821l-55.983 97.233c-5.356 2.41-9.107 7.5-9.107 13.661 0 .535.268 1.071.268 1.607l-53.304 92.143c-7.232 1.339-12.59 7.5-12.59 15 0 7.232 5.089 13.393 12.054 15l55.179 95.358c-.536 1.607-.804 2.946-.804 4.821 0 7.232 5.089 13.393 12.054 14.732l51.697 89.732c-.536 1.607-1.071 3.482-1.071 5.357 0 8.571 6.964 15.268 15.268 15.268 4.821 0 8.839-2.143 11.518-5.357h106.875C279.161 493.857 283.447 496 288 496s8.839-2.143 11.518-5.357h107.143c2.678 2.946 6.696 4.821 10.982 4.821 8.571 0 15.268-6.964 15.268-15.268 0-1.607-.267-2.946-.803-4.285l51.697-90.268c6.964-1.339 12.054-7.5 12.054-14.732 0-1.607-.268-3.214-.804-4.821l54.911-95.358c6.964-1.339 12.322-7.5 12.322-15-.002-7.232-5.092-13.393-11.788-14.732zM153.535 450.732l-43.66-75.803h43.66v75.803zm0-83.839h-43.66c-.268-1.071-.804-2.142-1.339-3.214l44.999-47.41v50.624zm0-62.411l-50.357 53.304c-1.339-.536-2.679-1.34-4.018-1.607L43.447 259.75c.535-1.339.535-2.679.535-4.018s0-2.41-.268-3.482l51.965-90c2.679-.268 5.357-1.072 7.768-2.679l50.089 51.965v92.946zm0-102.322l-45.803-47.41c1.339-2.143 2.143-4.821 2.143-7.767 0-.268-.268-.804-.268-1.072l43.928-15.804v72.053zm0-80.625l-43.66 15.804 43.66-75.536v59.732zm326.519 39.108l.804 1.339L445.5 329.125l-63.75-67.232 98.036-101.518.268.268zM291.75 355.107l11.518 11.786H280.5l11.25-11.786zm-.268-11.25l-83.303-85.446 79.553-84.375 83.036 87.589-79.286 82.232zm5.357 5.893l79.286-82.232 67.5 71.25-5.892 28.125H313.714l-16.875-17.143zM410.411 44.393c1.071.536 2.142 1.072 3.482 1.34l57.857 100.714v.536c0 2.946.803 5.624 2.143 7.767L376.393 256l-83.035-87.589L410.411 44.393zm-9.107-2.143L287.732 162.518l-57.054-60.268 166.339-60h4.287zm-123.483 0c2.678 2.678 6.16 4.285 10.179 4.285s7.5-1.607 10.179-4.285h75L224.786 95.821 173.893 42.25h103.928zm-116.249 5.625l1.071-2.142a33.834 33.834 0 0 0 2.679-.804l51.161 53.84-54.911 19.821V47.875zm0 79.286l60.803-21.964 59.732 63.214-79.553 84.107-40.982-42.053v-83.304zm0 92.678L198 257.607l-36.428 38.304v-76.072zm0 87.858l42.053-44.464 82.768 85.982-17.143 17.678H161.572v-59.196zm6.964 162.053c-1.607-1.607-3.482-2.678-5.893-3.482l-1.071-1.607v-89.732h99.91l-91.607 94.821h-1.339zm129.911 0c-2.679-2.41-6.428-4.285-10.447-4.285s-7.767 1.875-10.447 4.285h-96.429l91.607-94.821h38.304l91.607 94.821H298.447zm120-11.786l-4.286 7.5c-1.339.268-2.41.803-3.482 1.339l-89.196-91.875h114.376l-17.412 83.036zm12.856-22.232l12.858-60.803h21.964l-34.822 60.803zm34.822-68.839h-20.357l4.553-21.16 17.143 18.214c-.535.803-1.071 1.874-1.339 2.946zm66.161-107.411l-55.447 96.697c-1.339.535-2.679 1.071-4.018 1.874l-20.625-21.964 34.554-163.928 45.803 79.286c-.267 1.339-.803 2.678-.803 4.285 0 1.339.268 2.411.536 3.75z\"]\n};\nvar faContao = {\n prefix: 'fab',\n iconName: 'contao',\n icon: [512, 512, [], \"f26d\", \"M45.4 305c14.4 67.1 26.4 129 68.2 175H34c-18.7 0-34-15.2-34-34V66c0-18.7 15.2-34 34-34h57.7C77.9 44.6 65.6 59.2 54.8 75.6c-45.4 70-27 146.8-9.4 229.4zM478 32h-90.2c21.4 21.4 39.2 49.5 52.7 84.1l-137.1 29.3c-14.9-29-37.8-53.3-82.6-43.9-24.6 5.3-41 19.3-48.3 34.6-8.8 18.7-13.2 39.8 8.2 140.3 21.1 100.2 33.7 117.7 49.5 131.2 12.9 11.1 33.4 17 58.3 11.7 44.5-9.4 55.7-40.7 57.4-73.2l137.4-29.6c3.2 71.5-18.7 125.2-57.4 163.6H478c18.7 0 34-15.2 34-34V66c0-18.8-15.2-34-34-34z\"]\n};\nvar faCottonBureau = {\n prefix: 'fab',\n iconName: 'cotton-bureau',\n icon: [512, 512, [], \"f89e\", \"M474.31 330.41c-23.66 91.85-94.23 144.59-201.9 148.35V429.6c0-48 26.41-74.39 74.39-74.39 62 0 99.2-37.2 99.2-99.21 0-61.37-36.53-98.28-97.38-99.06-33-69.32-146.5-64.65-177.24 0C110.52 157.72 74 194.63 74 256c0 62.13 37.27 99.41 99.4 99.41 48 0 74.55 26.23 74.55 74.39V479c-134.43-5-211.1-85.07-211.1-223 0-141.82 81.35-223.2 223.2-223.2 114.77 0 189.84 53.2 214.69 148.81H500C473.88 71.51 388.22 8 259.82 8 105 8 12 101.19 12 255.82 12 411.14 105.19 504.34 259.82 504c128.27 0 213.87-63.81 239.67-173.59zM357 182.33c41.37 3.45 64.2 29 64.2 73.67 0 48-26.43 74.41-74.4 74.41-28.61 0-49.33-9.59-61.59-27.33 83.06-16.55 75.59-99.67 71.79-120.75zm-81.68 97.36c-2.46-10.34-16.33-87 56.23-97 2.27 10.09 16.52 87.11-56.26 97zM260 132c28.61 0 49 9.67 61.44 27.61-28.36 5.48-49.36 20.59-61.59 43.45-12.23-22.86-33.23-38-61.6-43.45 12.41-17.69 33.27-27.35 61.57-27.35zm-71.52 50.72c73.17 10.57 58.91 86.81 56.49 97-72.41-9.84-59-86.95-56.25-97zM173.2 330.41c-48 0-74.4-26.4-74.4-74.41 0-44.36 22.86-70 64.22-73.67-6.75 37.2-1.38 106.53 71.65 120.75-12.14 17.63-32.84 27.3-61.14 27.3zm53.21 12.39A80.8 80.8 0 0 0 260 309.25c7.77 14.49 19.33 25.54 33.82 33.55a80.28 80.28 0 0 0-33.58 33.83c-8-14.5-19.07-26.23-33.56-33.83z\"]\n};\nvar faCpanel = {\n prefix: 'fab',\n iconName: 'cpanel',\n icon: [640, 512, [], \"f388\", \"M210.3 220.2c-5.6-24.8-26.9-41.2-51-41.2h-37c-7.1 0-12.5 4.5-14.3 10.9L73.1 320l24.7-.1c6.8 0 12.3-4.5 14.2-10.7l25.8-95.7h19.8c8.4 0 16.2 5.6 18.3 14.8 2.5 10.9-5.9 22.6-18.3 22.6h-10.3c-7 0-12.5 4.6-14.3 10.8l-6.4 23.8h32c37.2 0 58.3-36.2 51.7-65.3zm-156.5 28h18.6c6.9 0 12.4-4.4 14.3-10.9l6.2-23.6h-40C30 213.7 9 227.8 1.7 254.8-7 288.6 18.5 320 52 320h12.4l7.1-26.1c1.2-4.4-2.2-8.3-6.4-8.3H53.8c-24.7 0-24.9-37.4 0-37.4zm247.5-34.8h-77.9l-3.5 13.4c-2.4 9.6 4.5 18.5 14.2 18.5h57.5c4 0 2.4 4.3 2.1 5.3l-8.6 31.8c-.4 1.4-.9 5.3-5.5 5.3h-34.9c-5.3 0-5.3-7.9 0-7.9h21.6c6.8 0 12.3-4.6 14.2-10.8l3.5-13.2h-48.4c-39.2 0-43.6 63.8-.7 63.8l57.5.2c11.2 0 20.6-7.2 23.4-17.8l14-51.8c4.8-19.2-9.7-36.8-28.5-36.8zM633.1 179h-18.9c-4.9 0-9.2 3.2-10.4 7.9L568.2 320c20.7 0 39.8-13.8 44.9-34.5l26.5-98.2c1.2-4.3-2-8.3-6.5-8.3zm-236.3 34.7v.1h-48.3l-26.2 98c-1.2 4.4 2.2 8.3 6.4 8.3h18.9c4.8 0 9.2-3 10.4-7.8l17.2-64H395c12.5 0 21.4 11.8 18.1 23.4l-10.6 40c-1.2 4.3 1.9 8.3 6.4 8.3H428c4.6 0 9.1-2.9 10.3-7.8l8.8-33.1c9-33.1-15.9-65.4-50.3-65.4zm98.3 74.6c-3.6 0-6-3.4-5.1-6.7l8-30c.9-3.9 3.7-6 7.8-6h32.9c2.6 0 4.6 2.4 3.9 5.1l-.7 2.6c-.6 2-1.9 3-3.9 3h-21.6c-7 0-12.6 4.6-14.2 10.8l-3.5 13h53.4c10.5 0 20.3-6.6 23.2-17.6l3.2-12c4.9-19.1-9.3-36.8-28.3-36.8h-47.3c-17.9 0-33.8 12-38.6 29.6l-10.8 40c-5 17.7 8.3 36.7 28.3 36.7h66.7c6.8 0 12.3-4.5 14.2-10.7l5.7-21z\"]\n};\nvar faCreativeCommons = {\n prefix: 'fab',\n iconName: 'creative-commons',\n icon: [496, 512, [], \"f25e\", \"M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z\"]\n};\nvar faCreativeCommonsBy = {\n prefix: 'fab',\n iconName: 'creative-commons-by',\n icon: [496, 512, [], \"f4e7\", \"M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z\"]\n};\nvar faCreativeCommonsNc = {\n prefix: 'fab',\n iconName: 'creative-commons-nc',\n icon: [496, 512, [], \"f4e8\", \"M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z\"]\n};\nvar faCreativeCommonsNcEu = {\n prefix: 'fab',\n iconName: 'creative-commons-nc-eu',\n icon: [496, 512, [], \"f4e9\", \"M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z\"]\n};\nvar faCreativeCommonsNcJp = {\n prefix: 'fab',\n iconName: 'creative-commons-nc-jp',\n icon: [496, 512, [], \"f4ea\", \"M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z\"]\n};\nvar faCreativeCommonsNd = {\n prefix: 'fab',\n iconName: 'creative-commons-nd',\n icon: [496, 512, [], \"f4eb\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z\"]\n};\nvar faCreativeCommonsPd = {\n prefix: 'fab',\n iconName: 'creative-commons-pd',\n icon: [496, 512, [], \"f4ec\", \"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z\"]\n};\nvar faCreativeCommonsPdAlt = {\n prefix: 'fab',\n iconName: 'creative-commons-pd-alt',\n icon: [496, 512, [], \"f4ed\", \"M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z\"]\n};\nvar faCreativeCommonsRemix = {\n prefix: 'fab',\n iconName: 'creative-commons-remix',\n icon: [496, 512, [], \"f4ee\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z\"]\n};\nvar faCreativeCommonsSa = {\n prefix: 'fab',\n iconName: 'creative-commons-sa',\n icon: [496, 512, [], \"f4ef\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z\"]\n};\nvar faCreativeCommonsSampling = {\n prefix: 'fab',\n iconName: 'creative-commons-sampling',\n icon: [496, 512, [], \"f4f0\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z\"]\n};\nvar faCreativeCommonsSamplingPlus = {\n prefix: 'fab',\n iconName: 'creative-commons-sampling-plus',\n icon: [496, 512, [], \"f4f1\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z\"]\n};\nvar faCreativeCommonsShare = {\n prefix: 'fab',\n iconName: 'creative-commons-share',\n icon: [496, 512, [], \"f4f2\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z\"]\n};\nvar faCreativeCommonsZero = {\n prefix: 'fab',\n iconName: 'creative-commons-zero',\n icon: [496, 512, [], \"f4f3\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z\"]\n};\nvar faCriticalRole = {\n prefix: 'fab',\n iconName: 'critical-role',\n icon: [448, 512, [], \"f6c9\", \"M225.82 0c.26.15 216.57 124.51 217.12 124.72 3 1.18 3.7 3.46 3.7 6.56q-.11 125.17 0 250.36a5.88 5.88 0 0 1-3.38 5.78c-21.37 12-207.86 118.29-218.93 124.58h-3C142 466.34 3.08 386.56 2.93 386.48a3.29 3.29 0 0 1-1.88-3.24c0-.87 0-225.94-.05-253.1a5 5 0 0 1 2.93-4.93C27.19 112.11 213.2 6 224.07 0zM215.4 20.42l-.22-.16Q118.06 75.55 21 130.87c0 .12.08.23.13.35l30.86 11.64c-7.71 6-8.32 6-10.65 5.13-.1 0-24.17-9.28-26.8-10v230.43c.88-1.41 64.07-110.91 64.13-111 1.62-2.82 3-1.92 9.12-1.52 1.4.09 1.48.22.78 1.42-41.19 71.33-36.4 63-67.48 116.94-.81 1.4-.61 1.13 1.25 1.13h186.5c1.44 0 1.69-.23 1.7-1.64v-8.88c0-1.34 2.36-.81-18.37-1-7.46-.07-14.14-3.22-21.38-12.7-7.38-9.66-14.62-19.43-21.85-29.21-2.28-3.08-3.45-2.38-16.76-2.38-1.75 0-1.78 0-1.76 1.82.29 26.21.15 25.27 1 32.66.52 4.37 2.16 4.2 9.69 4.81 3.14.26 3.88 4.08.52 4.92-1.57.39-31.6.51-33.67-.1a2.42 2.42 0 0 1 .3-4.73c3.29-.76 6.16.81 6.66-4.44 1.3-13.66 1.17-9 1.1-79.42 0-10.82-.35-12.58-5.36-13.55-1.22-.24-3.54-.16-4.69-.55-2.88-1-2-4.84 1.77-4.85 33.67 0 46.08-1.07 56.06 4.86 7.74 4.61 12 11.48 12.51 20.4.88 14.59-6.51 22.35-15 32.59a1.46 1.46 0 0 0 0 2.22c2.6 3.25 5 6.63 7.71 9.83 27.56 33.23 24.11 30.54 41.28 33.06.89.13 1-.42 1-1.15v-11c0-1 .32-1.43 1.41-1.26a72.37 72.37 0 0 0 23.58-.3c1.08-.15 1.5.2 1.48 1.33 0 .11.88 26.69.87 26.8-.05 1.52.67 1.62 1.89 1.62h186.71Q386.51 304.6 346 234.33c2.26-.66-.4 0 6.69-1.39 2-.39 2.05-.41 3.11 1.44 7.31 12.64 77.31 134 77.37 134.06V138c-1.72.5-103.3 38.72-105.76 39.68-1.08.42-1.55.2-1.91-.88-.63-1.9-1.34-3.76-2.09-5.62-.32-.79-.09-1.13.65-1.39.1 0 95.53-35.85 103-38.77-65.42-37.57-130.56-75-196-112.6l86.82 150.39-.28.33c-9.57-.9-10.46-1.6-11.8-3.94-1-1.69-73.5-127.71-82-142.16-9.1 14.67-83.56 146.21-85.37 146.32-2.93.17-5.88.08-9.25.08q43.25-74.74 86.18-149zm51.93 129.92a37.68 37.68 0 0 0 5.54-.85c1.69-.3 2.53.2 2.6 1.92 0 .11.07 19.06-.86 20.45s-1.88 1.22-2.6-.19c-5-9.69 6.22-9.66-39.12-12-.7 0-1 .23-1 .93 0 .13 3.72 122 3.73 122.11 0 .89.52 1.2 1.21 1.51a83.92 83.92 0 0 1 8.7 4.05c7.31 4.33 11.38 10.84 12.41 19.31 1.44 11.8-2.77 35.77-32.21 37.14-2.75.13-28.26 1.08-34.14-23.25-4.66-19.26 8.26-32.7 19.89-36.4a2.45 2.45 0 0 0 2-2.66c.1-5.63 3-107.1 3.71-121.35.05-1.08-.62-1.16-1.35-1.15-32.35.52-36.75-.34-40.22 8.52-2.42 6.18-4.14 1.32-3.95.23q1.59-9 3.31-18c.4-2.11 1.43-2.61 3.43-1.86 5.59 2.11 6.72 1.7 37.25 1.92 1.73 0 1.78-.08 1.82-1.85.68-27.49.58-22.59 1-29.55a2.69 2.69 0 0 0-1.63-2.8c-5.6-2.91-8.75-7.55-8.9-13.87-.35-14.81 17.72-21.67 27.38-11.51 6.84 7.19 5.8 18.91-2.45 24.15a4.35 4.35 0 0 0-2.22 4.34c0 .59-.11-4.31 1 30.05 0 .9.43 1.12 1.24 1.11.1 0 23-.09 34.47-.37zM68.27 141.7c19.84-4.51 32.68-.56 52.49 1.69 2.76.31 3.74 1.22 3.62 4-.21 5-1.16 22.33-1.24 23.15a2.65 2.65 0 0 1-1.63 2.34c-4.06 1.7-3.61-4.45-4-7.29-3.13-22.43-73.87-32.7-74.63 25.4-.31 23.92 17 53.63 54.08 50.88 27.24-2 19-20.19 24.84-20.47a2.72 2.72 0 0 1 3 3.36c-1.83 10.85-3.42 18.95-3.45 19.15-1.54 9.17-86.7 22.09-93.35-42.06-2.71-25.85 10.44-53.37 40.27-60.15zm80 87.67h-19.49a2.57 2.57 0 0 1-2.66-1.79c2.38-3.75 5.89.92 5.86-6.14-.08-25.75.21-38 .23-40.1 0-3.42-.53-4.65-3.32-4.94-7-.72-3.11-3.37-1.11-3.38 11.84-.1 22.62-.18 30.05.72 8.77 1.07 16.71 12.63 7.93 22.62-2 2.25-4 4.42-6.14 6.73.95 1.15 6.9 8.82 17.28 19.68 2.66 2.78 6.15 3.51 9.88 3.13a2.21 2.21 0 0 0 2.23-2.12c.3-3.42.26 4.73.45-40.58 0-5.65-.34-6.58-3.23-6.83-3.95-.35-4-2.26-.69-3.37l19.09-.09c.32 0 4.49.53 1 3.38 0 .05-.16 0-.24 0-3.61.26-3.94 1-4 4.62-.27 43.93.07 40.23.41 42.82.11.84.27 2.23 5.1 2.14 2.49 0 3.86 3.37 0 3.4-10.37.08-20.74 0-31.11.07-10.67 0-13.47-6.2-24.21-20.82-1.6-2.18-8.31-2.36-8.2-.37.88 16.47 0 17.78 4 17.67 4.75-.1 4.73 3.57.83 3.55zm275-10.15c-1.21 7.13.17 10.38-5.3 10.34-61.55-.42-47.82-.22-50.72-.31a18.4 18.4 0 0 1-3.63-.73c-2.53-.6 1.48-1.23-.38-5.6-1.43-3.37-2.78-6.78-4.11-10.19a1.94 1.94 0 0 0-2-1.44 138 138 0 0 0-14.58.07 2.23 2.23 0 0 0-1.62 1.06c-1.58 3.62-3.07 7.29-4.51 11-1.27 3.23 7.86 1.32 12.19 2.16 3 .57 4.53 3.72.66 3.73H322.9c-2.92 0-3.09-3.15-.74-3.21a6.3 6.3 0 0 0 5.92-3.47c1.5-3 2.8-6 4.11-9.09 18.18-42.14 17.06-40.17 18.42-41.61a1.83 1.83 0 0 1 3 0c2.93 3.34 18.4 44.71 23.62 51.92 2 2.7 5.74 2 6.36 2 3.61.13 4-1.11 4.13-4.29.09-1.87.08 1.17.07-41.24 0-4.46-2.36-3.74-5.55-4.27-.26 0-2.56-.63-.08-3.06.21-.2-.89-.24 21.7-.15 2.32 0 5.32 2.75-1.21 3.45a2.56 2.56 0 0 0-2.66 2.83c-.07 1.63-.19 38.89.29 41.21a3.06 3.06 0 0 0 3.23 2.43c13.25.43 14.92.44 16-3.41 1.67-5.78 4.13-2.52 3.73-.19zm-104.72 64.37c-4.24 0-4.42-3.39-.61-3.41 35.91-.16 28.11.38 37.19-.65 1.68-.19 2.38.24 2.25 1.89-.26 3.39-.64 6.78-1 10.16-.25 2.16-3.2 2.61-3.4-.15-.38-5.31-2.15-4.45-15.63-5.08-1.58-.07-1.64 0-1.64 1.52V304c0 1.65 0 1.6 1.62 1.47 3.12-.25 10.31.34 15.69-1.52.47-.16 3.3-1.79 3.07 1.76 0 .21-.76 10.35-1.18 11.39-.53 1.29-1.88 1.51-2.58.32-1.17-2 0-5.08-3.71-5.3-15.42-.9-12.91-2.55-12.91 6 0 12.25-.76 16.11 3.89 16.24 16.64.48 14.4 0 16.43-5.71.84-2.37 3.5-1.77 3.18.58-.44 3.21-.85 6.43-1.23 9.64 0 .36-.16 2.4-4.66 2.39-37.16-.08-34.54-.19-35.21-.31-2.72-.51-2.2-3 .22-3.45 1.1-.19 4 .54 4.16-2.56 2.44-56.22-.07-51.34-3.91-51.33zm-.41-109.52c2.46.61 3.13 1.76 2.95 4.65-.33 5.3-.34 9-.55 9.69-.66 2.23-3.15 2.12-3.34-.27-.38-4.81-3.05-7.82-7.57-9.15-26.28-7.73-32.81 15.46-27.17 30.22 5.88 15.41 22 15.92 28.86 13.78 5.92-1.85 5.88-6.5 6.91-7.58 1.23-1.3 2.25-1.84 3.12 1.1 0 .1.57 11.89-6 12.75-1.6.21-19.38 3.69-32.68-3.39-21-11.19-16.74-35.47-6.88-45.33 14-14.06 39.91-7.06 42.32-6.47zM289.8 280.14c3.28 0 3.66 3 .16 3.43-2.61.32-5-.42-5 5.46 0 2-.19 29.05.4 41.45.11 2.29 1.15 3.52 3.44 3.65 22 1.21 14.95-1.65 18.79-6.34 1.83-2.24 2.76.84 2.76 1.08.35 13.62-4 12.39-5.19 12.4l-38.16-.19c-1.93-.23-2.06-3-.42-3.38 2-.48 4.94.4 5.13-2.8 1-15.87.57-44.65.34-47.81-.27-3.77-2.8-3.27-5.68-3.71-2.47-.38-2-3.22.34-3.22 1.45-.02 17.97-.03 23.09-.02zm-31.63-57.79c.07 4.08 2.86 3.46 6 3.58 2.61.1 2.53 3.41-.07 3.43-6.48 0-13.7 0-21.61-.06-3.84 0-3.38-3.35 0-3.37 4.49 0 3.24 1.61 3.41-45.54 0-5.08-3.27-3.54-4.72-4.23-2.58-1.23-1.36-3.09.41-3.15 1.29 0 20.19-.41 21.17.21s1.87 1.65-.42 2.86c-1 .52-3.86-.28-4.15 2.47 0 .21-.82 1.63-.07 43.8zm-36.91 274.27a2.93 2.93 0 0 0 3.26 0c17-9.79 182-103.57 197.42-112.51-.14-.43 11.26-.18-181.52-.27-1.22 0-1.57.37-1.53 1.56 0 .1 1.25 44.51 1.22 50.38a28.33 28.33 0 0 1-1.36 7.71c-.55 1.83.38-.5-13.5 32.23-.73 1.72-1 2.21-2-.08-4.19-10.34-8.28-20.72-12.57-31a23.6 23.6 0 0 1-2-10.79c.16-2.46.8-16.12 1.51-48 0-1.95 0-2-2-2h-183c2.58 1.63 178.32 102.57 196 112.76zm-90.9-188.75c0 2.4.36 2.79 2.76 3 11.54 1.17 21 3.74 25.64-7.32 6-14.46 2.66-34.41-12.48-38.84-2-.59-16-2.76-15.94 1.51.05 8.04.01 11.61.02 41.65zm105.75-15.05c0 2.13 1.07 38.68 1.09 39.13.34 9.94-25.58 5.77-25.23-2.59.08-2 1.37-37.42 1.1-39.43-14.1 7.44-14.42 40.21 6.44 48.8a17.9 17.9 0 0 0 22.39-7.07c4.91-7.76 6.84-29.47-5.43-39a2.53 2.53 0 0 1-.36.12zm-12.28-198c-9.83 0-9.73 14.75-.07 14.87s10.1-14.88.07-14.91zm-80.15 103.83c0 1.8.41 2.4 2.17 2.58 13.62 1.39 12.51-11 12.16-13.36-1.69-11.22-14.38-10.2-14.35-7.81.05 4.5-.03 13.68.02 18.59zm212.32 6.4l-6.1-15.84c-2.16 5.48-4.16 10.57-6.23 15.84z\"]\n};\nvar faCss3 = {\n prefix: 'fab',\n iconName: 'css3',\n icon: [512, 512, [], \"f13c\", \"M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z\"]\n};\nvar faCss3Alt = {\n prefix: 'fab',\n iconName: 'css3-alt',\n icon: [384, 512, [], \"f38b\", \"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z\"]\n};\nvar faCuttlefish = {\n prefix: 'fab',\n iconName: 'cuttlefish',\n icon: [440, 512, [], \"f38c\", \"M344 305.5c-17.5 31.6-57.4 54.5-96 54.5-56.6 0-104-47.4-104-104s47.4-104 104-104c38.6 0 78.5 22.9 96 54.5 13.7-50.9 41.7-93.3 87-117.8C385.7 39.1 320.5 8 248 8 111 8 0 119 0 256s111 248 248 248c72.5 0 137.7-31.1 183-80.7-45.3-24.5-73.3-66.9-87-117.8z\"]\n};\nvar faDAndD = {\n prefix: 'fab',\n iconName: 'd-and-d',\n icon: [576, 512, [], \"f38d\", \"M82.5 98.9c-.6-17.2 2-33.8 12.7-48.2.3 7.4 1.2 14.5 4.2 21.6 5.9-27.5 19.7-49.3 42.3-65.5-1.9 5.9-3.5 11.8-3 17.7 8.7-7.4 18.8-17.8 44.4-22.7 14.7-2.8 29.7-2 42.1 1 38.5 9.3 61 34.3 69.7 72.3 5.3 23.1.7 45-8.3 66.4-5.2 12.4-12 24.4-20.7 35.1-2-1.9-3.9-3.8-5.8-5.6-42.8-40.8-26.8-25.2-37.4-37.4-1.1-1.2-1-2.2-.1-3.6 8.3-13.5 11.8-28.2 10-44-1.1-9.8-4.3-18.9-11.3-26.2-14.5-15.3-39.2-15-53.5.6-11.4 12.5-14.1 27.4-10.9 43.6.2 1.3.4 2.7 0 3.9-3.4 13.7-4.6 27.6-2.5 41.6.1.5.1 1.1.1 1.6 0 .3-.1.5-.2 1.1-21.8-11-36-28.3-43.2-52.2-8.3 17.8-11.1 35.5-6.6 54.1-15.6-15.2-21.3-34.3-22-55.2zm469.6 123.2c-11.6-11.6-25-20.4-40.1-26.6-12.8-5.2-26-7.9-39.9-7.1-10 .6-19.6 3.1-29 6.4-2.5.9-5.1 1.6-7.7 2.2-4.9 1.2-7.3-3.1-4.7-6.8 3.2-4.6 3.4-4.2 15-12 .6-.4 1.2-.8 2.2-1.5h-2.5c-.6 0-1.2.2-1.9.3-19.3 3.3-30.7 15.5-48.9 29.6-10.4 8.1-13.8 3.8-12-.5 1.4-3.5 3.3-6.7 5.1-10 1-1.8 2.3-3.4 3.5-5.1-.2-.2-.5-.3-.7-.5-27 18.3-46.7 42.4-57.7 73.3.3.3.7.6 1 .9.3-.6.5-1.2.9-1.7 10.4-12.1 22.8-21.8 36.6-29.8 18.2-10.6 37.5-18.3 58.7-20.2 4.3-.4 8.7-.1 13.1-.1-1.8.7-3.5.9-5.3 1.1-18.5 2.4-35.5 9-51.5 18.5-30.2 17.9-54.5 42.2-75.1 70.4-.3.4-.4.9-.7 1.3 14.5 5.3 24 17.3 36.1 25.6.2-.1.3-.2.4-.4l1.2-2.7c12.2-26.9 27-52.3 46.7-74.5 16.7-18.8 38-25.3 62.5-20 5.9 1.3 11.4 4.4 17.2 6.8 2.3-1.4 5.1-3.2 8-4.7 8.4-4.3 17.4-7 26.7-9 14.7-3.1 29.5-4.9 44.5-1.3v-.5c-.5-.4-1.2-.8-1.7-1.4zM316.7 397.6c-39.4-33-22.8-19.5-42.7-35.6-.8.9 0-.2-1.9 3-11.2 19.1-25.5 35.3-44 47.6-10.3 6.8-21.5 11.8-34.1 11.8-21.6 0-38.2-9.5-49.4-27.8-12-19.5-13.3-40.7-8.2-62.6 7.8-33.8 30.1-55.2 38.6-64.3-18.7-6.2-33 1.7-46.4 13.9.8-13.9 4.3-26.2 11.8-37.3-24.3 10.6-45.9 25-64.8 43.9-.3-5.8 5.4-43.7 5.6-44.7.3-2.7-.6-5.3-3-7.4-24.2 24.7-44.5 51.8-56.1 84.6 7.4-5.9 14.9-11.4 23.6-16.2-8.3 22.3-19.6 52.8-7.8 101.1 4.6 19 11.9 36.8 24.1 52.3 2.9 3.7 6.3 6.9 9.5 10.3.2-.2.4-.3.6-.5-1.4-7-2.2-14.1-1.5-21.9 2.2 3.2 3.9 6 5.9 8.6 12.6 16 28.7 27.4 47.2 35.6 25 11.3 51.1 13.3 77.9 8.6 54.9-9.7 90.7-48.6 116-98.8 1-1.8.6-2.9-.9-4.2zm172-46.4c-9.5-3.1-22.2-4.2-28.7-2.9 9.9 4 14.1 6.6 18.8 12 12.6 14.4 10.4 34.7-5.4 45.6-11.7 8.1-24.9 10.5-38.9 9.1-1.2-.1-2.3-.4-3-.6 2.8-3.7 6-7 8.1-10.8 9.4-16.8 5.4-42.1-8.7-56.1-2.1-2.1-4.6-3.9-7-5.9-.3 1.3-.1 2.1.1 2.8 4.2 16.6-8.1 32.4-24.8 31.8-7.6-.3-13.9-3.8-19.6-8.5-19.5-16.1-39.1-32.1-58.5-48.3-5.9-4.9-12.5-8.1-20.1-8.7-4.6-.4-9.3-.6-13.9-.9-5.9-.4-8.8-2.8-10.4-8.4-.9-3.4-1.5-6.8-2.2-10.2-1.5-8.1-6.2-13-14.3-14.2-4.4-.7-8.9-1-13.3-1.5-13-1.4-19.8-7.4-22.6-20.3-5 11-1.6 22.4 7.3 29.9 4.5 3.8 9.3 7.3 13.8 11.2 4.6 3.8 7.4 8.7 7.9 14.8.4 4.7.8 9.5 1.8 14.1 2.2 10.6 8.9 18.4 17 25.1 16.5 13.7 33 27.3 49.5 41.1 17.9 15 13.9 32.8 13 56-.9 22.9 12.2 42.9 33.5 51.2 1 .4 2 .6 3.6 1.1-15.7-18.2-10.1-44.1.7-52.3.3 2.2.4 4.3.9 6.4 9.4 44.1 45.4 64.2 85 56.9 16-2.9 30.6-8.9 42.9-19.8 2-1.8 3.7-4.1 5.9-6.5-19.3 4.6-35.8.1-50.9-10.6.7-.3 1.3-.3 1.9-.3 21.3 1.8 40.6-3.4 57-17.4 19.5-16.6 26.6-42.9 17.4-66-8.3-20.1-23.6-32.3-43.8-38.9zM99.4 179.3c-5.3-9.2-13.2-15.6-22.1-21.3 13.7-.5 26.6.2 39.6 3.7-7-12.2-8.5-24.7-5-38.7 5.3 11.9 13.7 20.1 23.6 26.8 19.7 13.2 35.7 19.6 46.7 30.2 3.4 3.3 6.3 7.1 9.6 10.9-.8-2.1-1.4-4.1-2.2-6-5-10.6-13-18.6-22.6-25-1.8-1.2-2.8-2.5-3.4-4.5-3.3-12.5-3-25.1-.7-37.6 1-5.5 2.8-10.9 4.5-16.3.8-2.4 2.3-4.6 4-6.6.6 6.9 0 25.5 19.6 46 10.8 11.3 22.4 21.9 33.9 32.7 9 8.5 18.3 16.7 25.5 26.8 1.1 1.6 2.2 3.3 3.8 4.7-5-13-14.2-24.1-24.2-33.8-9.6-9.3-19.4-18.4-29.2-27.4-3.3-3-4.6-6.7-5.1-10.9-1.2-10.4 0-20.6 4.3-30.2.5-1 1.1-2 1.9-3.3.5 4.2.6 7.9 1.4 11.6 4.8 23.1 20.4 36.3 49.3 63.5 10 9.4 19.3 19.2 25.6 31.6 4.8 9.3 7.3 19 5.7 29.6-.1.6.5 1.7 1.1 2 6.2 2.6 10 6.9 9.7 14.3 7.7-2.6 12.5-8 16.4-14.5 4.2 20.2-9.1 50.3-27.2 58.7.4-4.5 5-23.4-16.5-27.7-6.8-1.3-12.8-1.3-22.9-2.1 4.7-9 10.4-20.6.5-22.4-24.9-4.6-52.8 1.9-57.8 4.6 8.2.4 16.3 1 23.5 3.3-2 6.5-4 12.7-5.8 18.9-1.9 6.5 2.1 14.6 9.3 9.6 1.2-.9 2.3-1.9 3.3-2.7-3.1 17.9-2.9 15.9-2.8 18.3.3 10.2 9.5 7.8 15.7 7.3-2.5 11.8-29.5 27.3-45.4 25.8 7-4.7 12.7-10.3 15.9-17.9-6.5.8-12.9 1.6-19.2 2.4l-.3-.9c4.7-3.4 8-7.8 10.2-13.1 8.7-21.1-3.6-38-25-39.9-9.1-.8-17.8.8-25.9 5.5 6.2-15.6 17.2-26.6 32.6-34.5-15.2-4.3-8.9-2.7-24.6-6.3 14.6-9.3 30.2-13.2 46.5-14.6-5.2-3.2-48.1-3.6-70.2 20.9 7.9 1.4 15.5 2.8 23.2 4.2-23.8 7-44 19.7-62.4 35.6 1.1-4.8 2.7-9.5 3.3-14.3.6-4.5.8-9.2.1-13.6-1.5-9.4-8.9-15.1-19.7-16.3-7.9-.9-15.6.1-23.3 1.3-.9.1-1.7.3-2.9 0 15.8-14.8 36-21.7 53.1-33.5 6-4.5 6.8-8.2 3-14.9zm128.4 26.8c3.3 16 12.6 25.5 23.8 24.3-4.6-11.3-12.1-19.5-23.8-24.3z\"]\n};\nvar faDAndDBeyond = {\n prefix: 'fab',\n iconName: 'd-and-d-beyond',\n icon: [640, 512, [], \"f6ca\", \"M313.8 241.5c13.8 0 21-10.1 24.8-17.9-1-1.1-5-4.2-7.4-6.6-2.4 4.3-8.2 10.7-13.9 10.7-10.2 0-15.4-14.7-3.2-26.6-.5-.2-4.3-1.8-8 2.4 0-3 1-5.1 2.1-6.6-3.5 1.3-9.8 5.6-11.4 7.9.2-5.8 1.6-7.5.6-9l-.2-.2s-8.5 5.6-9.3 14.7c0 0 1.1-1.6 2.1-1.9.6-.3 1.3 0 .6 1.9-.2.6-5.8 15.7 5.1 26-.6-1.6-1.9-7.6 2.4-1.9-.3.1 5.8 7.1 15.7 7.1zm52.4-21.1c0-4-4.9-4.4-5.6-4.5 2 3.9.9 7.5.2 9 2.5-.4 5.4-1.6 5.4-4.5zm10.3 5.2c0-6.4-6.2-11.4-13.5-10.7 8 1.3 5.6 13.8-5 11.4 3.7-2.6 3.2-9.9-1.3-12.5 1.4 4.2-3 8.2-7.4 4.6-2.4-1.9-8-6.6-10.6-8.6-2.4-2.1-5.5-1-6.6-1.8-1.3-1.1-.5-3.8-2.2-5-1.6-.8-3-.3-4.8-1-1.6-.6-2.7-1.9-2.6-3.5-2.5 4.4 3.4 6.3 4.5 8.5 1 1.9-.8 4.8 4 8.5 14.8 11.6 9.1 8 10.4 18.1.6 4.3 4.2 6.7 6.4 7.4-2.1-1.9-2.9-6.4 0-9.3 0 13.9 19.2 13.3 23.1 6.4-2.4 1.1-7-.2-9-1.9 7.7 1 14.2-4.1 14.6-10.6zm-39.4-18.4c2 .8 1.6.7 6.4 4.5 10.2-24.5 21.7-15.7 22-15.5 2.2-1.9 9.8-3.8 13.8-2.7-2.4-2.7-7.5-6.2-13.3-6.2-4.7 0-7.4 2.2-8 1.3-.8-1.4 3.2-3.4 3.2-3.4-5.4.2-9.6 6.7-11.2 5.9-1.1-.5 1.4-3.7 1.4-3.7-5.1 2.9-9.3 9.1-10.2 13 4.6-5.8 13.8-9.8 19.7-9-10.5.5-19.5 9.7-23.8 15.8zm242.5 51.9c-20.7 0-40 1.3-50.3 2.1l7.4 8.2v77.2l-7.4 8.2c10.4.8 30.9 2.1 51.6 2.1 42.1 0 59.1-20.7 59.1-48.9 0-29.3-23.2-48.9-60.4-48.9zm-15.1 75.6v-53.3c30.1-3.3 46.8 3.8 46.8 26.3 0 25.6-21.4 30.2-46.8 27zM301.6 181c-1-3.4-.2-6.9 1.1-9.4 1 3 2.6 6.4 7.5 9-.5-2.4-.2-5.6.5-8-1.4-5.4 2.1-9.9 6.4-9.9 6.9 0 8.5 8.8 4.7 14.4 2.1 3.2 5.5 5.6 7.7 7.8 3.2-3.7 5.5-9.5 5.5-13.8 0-8.2-5.5-15.9-16.7-16.5-20-.9-20.2 16.6-20 18.9.5 5.2 3.4 7.8 3.3 7.5zm-.4 6c-.5 1.8-7 3.7-10.2 6.9 4.8-1 7-.2 7.8 1.8.5 1.4-.2 3.4-.5 5.6 1.6-1.8 7-5.5 11-6.2-1-.3-3.4-.8-4.3-.8 2.9-3.4 9.3-4.5 12.8-3.7-2.2-.2-6.7 1.1-8.5 2.6 1.6.3 3 .6 4.3 1.1-2.1.8-4.8 3.4-5.8 6.1 7-5 13.1 5.2 7 8.2.8.2 2.7 0 3.5-.5-.3 1.1-1.9 3-3 3.4 2.9 0 7-1.9 8.2-4.6 0 0-1.8.6-2.6-.2s.3-4.3.3-4.3c-2.3 2.9-3.4-1.3-1.3-4.2-1-.3-3.5-.6-4.6-.5 3.2-1.1 10.4-1.8 11.2-.3.6 1.1-1 3.4-1 3.4 4-.5 8.3 1.1 6.7 5.1 2.9-1.4 5.5-5.9 4.8-10.4-.3 1-1.6 2.4-2.9 2.7.2-1.4-1-2.2-1.9-2.6 1.7-9.6-14.6-14.2-14.1-23.9-1 1.3-1.8 5-.8 7.1 2.7 3.2 8.7 6.7 10.1 12.2-2.6-6.4-15.1-11.4-14.6-20.2-1.6 1.6-2.6 7.8-1.3 11 2.4 1.4 4.5 3.8 4.8 6.1-2.2-5.1-11.4-6.1-13.9-12.2-.6 2.2-.3 5 1 6.7 0 0-2.2-.8-7-.6 1.7.6 5.1 3.5 4.8 5.2zm25.9 7.4c-2.7 0-3.5-2.1-4.2-4.3 3.3 1.3 4.2 4.3 4.2 4.3zm38.9 3.7l-1-.6c-1.1-1-2.9-1.4-4.7-1.4-2.9 0-5.8 1.3-7.5 3.4-.8.8-1.4 1.8-2.1 2.6v15.7c3.5 2.6 7.1-2.9 3-7.2 1.5.3 4.6 2.7 5.1 3.2 0 0 2.6-.5 5-.5 2.1 0 3.9.3 5.6 1.1V196c-1.1.5-2.2 1-2.7 1.4zM79.9 305.9c17.2-4.6 16.2-18 16.2-19.9 0-20.6-24.1-25-37-25H3l8.3 8.6v29.5H0l11.4 14.6V346L3 354.6c61.7 0 73.8 1.5 86.4-5.9 6.7-4 9.9-9.8 9.9-17.6 0-5.1 2.6-18.8-19.4-25.2zm-41.3-27.5c20 0 29.6-.8 29.6 9.1v3c0 12.1-19 8.8-29.6 8.8zm0 59.2V315c12.2 0 32.7-2.3 32.7 8.8v4.5h.2c0 11.2-12.5 9.3-32.9 9.3zm101.2-19.3l23.1.2v-.2l14.1-21.2h-37.2v-14.9h52.4l-14.1-21v-.2l-73.5.2 7.4 8.2v77.1l-7.4 8.2h81.2l14.1-21.2-60.1.2zm214.7-60.1c-73.9 0-77.5 99.3-.3 99.3 77.9 0 74.1-99.3.3-99.3zm-.3 77.5c-37.4 0-36.9-55.3.2-55.3 36.8.1 38.8 55.3-.2 55.3zm-91.3-8.3l44.1-66.2h-41.7l6.1 7.2-20.5 37.2h-.3l-21-37.2 6.4-7.2h-44.9l44.1 65.8.2 19.4-7.7 8.2h42.6l-7.2-8.2zm-28.4-151.3c1.6 1.3 2.9 2.4 2.9 6.6v38.8c0 4.2-.8 5.3-2.7 6.4-.1.1-7.5 4.5-7.9 4.6h35.1c10 0 17.4-1.5 26-8.6-.6-5 .2-9.5.8-12 0-.2-1.8 1.4-2.7 3.5 0-5.7 1.6-15.4 9.6-20.5-.1 0-3.7-.8-9 1.1 2-3.1 10-7.9 10.4-7.9-8.2-26-38-22.9-32.2-22.9-30.9 0-32.6.3-39.9-4 .1.8.5 8.2 9.6 14.9zm21.5 5.5c4.6 0 23.1-3.3 23.1 17.3 0 20.7-18.4 17.3-23.1 17.3zm228.9 79.6l7 8.3V312h-.3c-5.4-14.4-42.3-41.5-45.2-50.9h-31.6l7.4 8.5v76.9l-7.2 8.3h39l-7.4-8.2v-47.4h.3c3.7 10.6 44.5 42.9 48.5 55.6h21.3v-85.2l7.4-8.3zm-106.7-96.1c-32.2 0-32.8.2-39.9-4 .1.7.5 8.3 9.6 14.9 3.1 2 2.9 4.3 2.9 9.5 1.8-1.1 3.8-2.2 6.1-3-1.1 1.1-2.7 2.7-3.5 4.5 1-1.1 7.5-5.1 14.6-3.5-1.6.3-4 1.1-6.1 2.9.1 0 2.1-1.1 7.5-.3v-4.3c4.7 0 23.1-3.4 23.1 17.3 0 20.5-18.5 17.3-19.7 17.3 5.7 4.4 5.8 12 2.2 16.3h.3c33.4 0 36.7-27.3 36.7-34 0-3.8-1.1-32-33.8-33.6z\"]\n};\nvar faDailymotion = {\n prefix: 'fab',\n iconName: 'dailymotion',\n icon: [448, 512, [], \"e052\", \"M298.93,267a48.4,48.4,0,0,0-24.36-6.21q-19.83,0-33.44,13.27t-13.61,33.42q0,21.16,13.28,34.6t33.43,13.44q20.5,0,34.11-13.78T322,307.47A47.13,47.13,0,0,0,315.9,284,44.13,44.13,0,0,0,298.93,267ZM0,32V480H448V32ZM374.71,405.26h-53.1V381.37h-.67q-15.79,26.2-55.78,26.2-27.56,0-48.89-13.1a88.29,88.29,0,0,1-32.94-35.77q-11.6-22.68-11.59-50.89,0-27.56,11.76-50.22a89.9,89.9,0,0,1,32.93-35.78q21.18-13.09,47.72-13.1a80.87,80.87,0,0,1,29.74,5.21q13.28,5.21,25,17V153l55.79-12.09Z\"]\n};\nvar faDashcube = {\n prefix: 'fab',\n iconName: 'dashcube',\n icon: [448, 512, [], \"f210\", \"M326.6 104H110.4c-51.1 0-91.2 43.3-91.2 93.5V427c0 50.5 40.1 85 91.2 85h227.2c51.1 0 91.2-34.5 91.2-85V0L326.6 104zM153.9 416.5c-17.7 0-32.4-15.1-32.4-32.8V240.8c0-17.7 14.7-32.5 32.4-32.5h140.7c17.7 0 32 14.8 32 32.5v123.5l51.1 52.3H153.9z\"]\n};\nvar faDeezer = {\n prefix: 'fab',\n iconName: 'deezer',\n icon: [576, 512, [], \"e077\", \"M451.46,244.71H576V172H451.46Zm0-173.89v72.67H576V70.82Zm0,275.06H576V273.2H451.46ZM0,447.09H124.54V374.42H0Zm150.47,0H275V374.42H150.47Zm150.52,0H425.53V374.42H301Zm150.47,0H576V374.42H451.46ZM301,345.88H425.53V273.2H301Zm-150.52,0H275V273.2H150.47Zm0-101.17H275V172H150.47Z\"]\n};\nvar faDelicious = {\n prefix: 'fab',\n iconName: 'delicious',\n icon: [448, 512, [], \"f1a5\", \"M446.5 68c-.4-1.5-.9-3-1.4-4.5-.9-2.5-2-4.8-3.3-7.1-1.4-2.4-3-4.8-4.7-6.9-2.1-2.5-4.4-4.8-6.9-6.8-1.1-.9-2.2-1.7-3.3-2.5-1.3-.9-2.6-1.7-4-2.4-1.8-1-3.6-1.8-5.5-2.5-1.7-.7-3.5-1.3-5.4-1.7-3.8-1-7.9-1.5-12-1.5H48C21.5 32 0 53.5 0 80v352c0 4.1.5 8.2 1.5 12 2 7.7 5.8 14.6 11 20.3 1 1.1 2.1 2.2 3.3 3.3 5.7 5.2 12.6 9 20.3 11 3.8 1 7.9 1.5 12 1.5h352c26.5 0 48-21.5 48-48V80c-.1-4.1-.6-8.2-1.6-12zM416 432c0 8.8-7.2 16-16 16H224V256H32V80c0-8.8 7.2-16 16-16h176v192h192z\"]\n};\nvar faDeploydog = {\n prefix: 'fab',\n iconName: 'deploydog',\n icon: [512, 512, [], \"f38e\", \"M382.2 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.6 0-33.2 16.4-33.2 32.6zM188.5 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.7 0-33.2 16.4-33.2 32.6zM448 96c17.5 0 32 14.4 32 32v256c0 17.5-14.4 32-32 32H64c-17.5 0-32-14.4-32-32V128c0-17.5 14.4-32 32-32h384m0-32H64C28.8 64 0 92.8 0 128v256c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z\"]\n};\nvar faDeskpro = {\n prefix: 'fab',\n iconName: 'deskpro',\n icon: [480, 512, [], \"f38f\", \"M205.9 512l31.1-38.4c12.3-.2 25.6-1.4 36.5-6.6 38.9-18.6 38.4-61.9 38.3-63.8-.1-5-.8-4.4-28.9-37.4H362c-.2 50.1-7.3 68.5-10.2 75.7-9.4 23.7-43.9 62.8-95.2 69.4-8.7 1.1-32.8 1.2-50.7 1.1zm200.4-167.7c38.6 0 58.5-13.6 73.7-30.9l-175.5-.3-17.4 31.3 119.2-.1zm-43.6-223.9v168.3h-73.5l-32.7 55.5H250c-52.3 0-58.1-56.5-58.3-58.9-1.2-13.2-21.3-11.6-20.1 1.8 1.4 15.8 8.8 40 26.4 57.1h-91c-25.5 0-110.8-26.8-107-114V16.9C0 .9 9.7.3 15 .1h82c.2 0 .3.1.5.1 4.3-.4 50.1-2.1 50.1 43.7 0 13.3 20.2 13.4 20.2 0 0-18.2-5.5-32.8-15.8-43.7h84.2c108.7-.4 126.5 79.4 126.5 120.2zm-132.5 56l64 29.3c13.3-45.5-42.2-71.7-64-29.3z\"]\n};\nvar faDev = {\n prefix: 'fab',\n iconName: 'dev',\n icon: [448, 512, [], \"f6cc\", \"M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z\"]\n};\nvar faDeviantart = {\n prefix: 'fab',\n iconName: 'deviantart',\n icon: [320, 512, [], \"f1bd\", \"M320 93.2l-98.2 179.1 7.4 9.5H320v127.7H159.1l-13.5 9.2-43.7 84c-.3 0-8.6 8.6-9.2 9.2H0v-93.2l93.2-179.4-7.4-9.2H0V102.5h156l13.5-9.2 43.7-84c.3 0 8.6-8.6 9.2-9.2H320v93.1z\"]\n};\nvar faDhl = {\n prefix: 'fab',\n iconName: 'dhl',\n icon: [640, 512, [], \"f790\", \"M238 301.2h58.7L319 271h-58.7L238 301.2zM0 282.9v6.4h81.8l4.7-6.4H0zM172.9 271c-8.7 0-6-3.6-4.6-5.5 2.8-3.8 7.6-10.4 10.4-14.1 2.8-3.7 2.8-5.9-2.8-5.9h-51l-41.1 55.8h100.1c33.1 0 51.5-22.5 57.2-30.3h-68.2zm317.5-6.9l39.3-53.4h-62.2l-39.3 53.4h62.2zM95.3 271H0v6.4h90.6l4.7-6.4zm111-26.6c-2.8 3.8-7.5 10.4-10.3 14.2-1.4 2-4.1 5.5 4.6 5.5h45.6s7.3-10 13.5-18.4c8.4-11.4.7-35-29.2-35H112.6l-20.4 27.8h111.4c5.6 0 5.5 2.2 2.7 5.9zM0 301.2h73.1l4.7-6.4H0v6.4zm323 0h58.7L404 271h-58.7c-.1 0-22.3 30.2-22.3 30.2zm222 .1h95v-6.4h-90.3l-4.7 6.4zm22.3-30.3l-4.7 6.4H640V271h-72.7zm-13.5 18.3H640v-6.4h-81.5l-4.7 6.4zm-164.2-78.6l-22.5 30.6h-26.2l22.5-30.6h-58.7l-39.3 53.4H409l39.3-53.4h-58.7zm33.5 60.3s-4.3 5.9-6.4 8.7c-7.4 10-.9 21.6 23.2 21.6h94.3l22.3-30.3H423.1z\"]\n};\nvar faDiaspora = {\n prefix: 'fab',\n iconName: 'diaspora',\n icon: [512, 512, [], \"f791\", \"M251.64 354.55c-1.4 0-88 119.9-88.7 119.9S76.34 414 76 413.25s86.6-125.7 86.6-127.4c0-2.2-129.6-44-137.6-47.1-1.3-.5 31.4-101.8 31.7-102.1.6-.7 144.4 47 145.5 47 .4 0 .9-.6 1-1.3.4-2 1-148.6 1.7-149.6.8-1.2 104.5-.7 105.1-.3 1.5 1 3.5 156.1 6.1 156.1 1.4 0 138.7-47 139.3-46.3.8.9 31.9 102.2 31.5 102.6-.9.9-140.2 47.1-140.6 48.8-.3 1.4 82.8 122.1 82.5 122.9s-85.5 63.5-86.3 63.5c-1-.2-89-125.5-90.9-125.5z\"]\n};\nvar faDigg = {\n prefix: 'fab',\n iconName: 'digg',\n icon: [512, 512, [], \"f1a6\", \"M81.7 172.3H0v174.4h132.7V96h-51v76.3zm0 133.4H50.9v-92.3h30.8v92.3zm297.2-133.4v174.4h81.8v28.5h-81.8V416H512V172.3H378.9zm81.8 133.4h-30.8v-92.3h30.8v92.3zm-235.6 41h82.1v28.5h-82.1V416h133.3V172.3H225.1v174.4zm51.2-133.3h30.8v92.3h-30.8v-92.3zM153.3 96h51.3v51h-51.3V96zm0 76.3h51.3v174.4h-51.3V172.3z\"]\n};\nvar faDigitalOcean = {\n prefix: 'fab',\n iconName: 'digital-ocean',\n icon: [512, 512, [], \"f391\", \"M87 481.8h73.7v-73.6H87zM25.4 346.6v61.6H87v-61.6zm466.2-169.7c-23-74.2-82.4-133.3-156.6-156.6C164.9-32.8 8 93.7 8 255.9h95.8c0-101.8 101-180.5 208.1-141.7 39.7 14.3 71.5 46.1 85.8 85.7 39.1 107-39.7 207.8-141.4 208v.3h-.3V504c162.6 0 288.8-156.8 235.6-327.1zm-235.3 231v-95.3h-95.6v95.6H256v-.3z\"]\n};\nvar faDiscord = {\n prefix: 'fab',\n iconName: 'discord',\n icon: [640, 512, [], \"f392\", \"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z\"]\n};\nvar faDiscourse = {\n prefix: 'fab',\n iconName: 'discourse',\n icon: [448, 512, [], \"f393\", \"M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z\"]\n};\nvar faDochub = {\n prefix: 'fab',\n iconName: 'dochub',\n icon: [416, 512, [], \"f394\", \"M397.9 160H256V19.6L397.9 160zM304 192v130c0 66.8-36.5 100.1-113.3 100.1H96V84.8h94.7c12 0 23.1.8 33.1 2.5v-84C212.9 1.1 201.4 0 189.2 0H0v512h189.2C329.7 512 400 447.4 400 318.1V192h-96z\"]\n};\nvar faDocker = {\n prefix: 'fab',\n iconName: 'docker',\n icon: [640, 512, [], \"f395\", \"M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z\"]\n};\nvar faDraft2digital = {\n prefix: 'fab',\n iconName: 'draft2digital',\n icon: [480, 512, [], \"f396\", \"M480 398.1l-144-82.2v64.7h-91.3c30.8-35 81.8-95.9 111.8-149.3 35.2-62.6 16.1-123.4-12.8-153.3-4.4-4.6-62.2-62.9-166-41.2-59.1 12.4-89.4 43.4-104.3 67.3-13.1 20.9-17 39.8-18.2 47.7-5.5 33 19.4 67.1 56.7 67.1 31.7 0 57.3-25.7 57.3-57.4 0-27.1-19.7-52.1-48-56.8 1.8-7.3 17.7-21.1 26.3-24.7 41.1-17.3 78 5.2 83.3 33.5 8.3 44.3-37.1 90.4-69.7 127.6C84.5 328.1 18.3 396.8 0 415.9l336-.1V480zM369.9 371l47.1 27.2-47.1 27.2zM134.2 161.4c0 12.4-10 22.4-22.4 22.4s-22.4-10-22.4-22.4 10-22.4 22.4-22.4 22.4 10.1 22.4 22.4zM82.5 380.5c25.6-27.4 97.7-104.7 150.8-169.9 35.1-43.1 40.3-82.4 28.4-112.7-7.4-18.8-17.5-30.2-24.3-35.7 45.3 2.1 68 23.4 82.2 38.3 0 0 42.4 48.2 5.8 113.3-37 65.9-110.9 147.5-128.5 166.7z\"]\n};\nvar faDribbble = {\n prefix: 'fab',\n iconName: 'dribbble',\n icon: [512, 512, [], \"f17d\", \"M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z\"]\n};\nvar faDribbbleSquare = {\n prefix: 'fab',\n iconName: 'dribbble-square',\n icon: [448, 512, [], \"f397\", \"M90.2 228.2c8.9-42.4 37.4-77.7 75.7-95.7 3.6 4.9 28 38.8 50.7 79-64 17-120.3 16.8-126.4 16.7zM314.6 154c-33.6-29.8-79.3-41.1-122.6-30.6 3.8 5.1 28.6 38.9 51 80 48.6-18.3 69.1-45.9 71.6-49.4zM140.1 364c40.5 31.6 93.3 36.7 137.3 18-2-12-10-53.8-29.2-103.6-55.1 18.8-93.8 56.4-108.1 85.6zm98.8-108.2c-3.4-7.8-7.2-15.5-11.1-23.2C159.6 253 93.4 252.2 87.4 252c0 1.4-.1 2.8-.1 4.2 0 35.1 13.3 67.1 35.1 91.4 22.2-37.9 67.1-77.9 116.5-91.8zm34.9 16.3c17.9 49.1 25.1 89.1 26.5 97.4 30.7-20.7 52.5-53.6 58.6-91.6-4.6-1.5-42.3-12.7-85.1-5.8zm-20.3-48.4c4.8 9.8 8.3 17.8 12 26.8 45.5-5.7 90.7 3.4 95.2 4.4-.3-32.3-11.8-61.9-30.9-85.1-2.9 3.9-25.8 33.2-76.3 53.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 176c0-88.2-71.8-160-160-160S64 167.8 64 256s71.8 160 160 160 160-71.8 160-160z\"]\n};\nvar faDropbox = {\n prefix: 'fab',\n iconName: 'dropbox',\n icon: [528, 512, [], \"f16b\", \"M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z\"]\n};\nvar faDrupal = {\n prefix: 'fab',\n iconName: 'drupal',\n icon: [448, 512, [], \"f1a9\", \"M319.5 114.7c-22.2-14-43.5-19.5-64.7-33.5-13-8.8-31.3-30-46.5-48.3-2.7 29.3-11.5 41.2-22 49.5-21.3 17-34.8 22.2-53.5 32.3C117 123 32 181.5 32 290.5 32 399.7 123.8 480 225.8 480 327.5 480 416 406 416 294c0-112.3-83-171-96.5-179.3zm2.5 325.6c-20.1 20.1-90.1 28.7-116.7 4.2-4.8-4.8.3-12 6.5-12 0 0 17 13.3 51.5 13.3 27 0 46-7.7 54.5-14 6.1-4.6 8.4 4.3 4.2 8.5zm-54.5-52.6c8.7-3.6 29-3.8 36.8 1.3 4.1 2.8 16.1 18.8 6.2 23.7-8.4 4.2-1.2-15.7-26.5-15.7-14.7 0-19.5 5.2-26.7 11-7 6-9.8 8-12.2 4.7-6-8.2 15.9-22.3 22.4-25zM360 405c-15.2-1-45.5-48.8-65-49.5-30.9-.9-104.1 80.7-161.3 42-38.8-26.6-14.6-104.8 51.8-105.2 49.5-.5 83.8 49 108.5 48.5 21.3-.3 61.8-41.8 81.8-41.8 48.7 0 23.3 109.3-15.8 106z\"]\n};\nvar faDyalog = {\n prefix: 'fab',\n iconName: 'dyalog',\n icon: [416, 512, [], \"f399\", \"M0 32v119.2h64V96h107.2C284.6 96 352 176.2 352 255.9 352 332 293.4 416 171.2 416H0v64h171.2C331.9 480 416 367.3 416 255.9c0-58.7-22.1-113.4-62.3-154.3C308.9 56 245.7 32 171.2 32H0z\"]\n};\nvar faEarlybirds = {\n prefix: 'fab',\n iconName: 'earlybirds',\n icon: [480, 512, [], \"f39a\", \"M313.2 47.5c1.2-13 21.3-14 36.6-8.7.9.3 26.2 9.7 19 15.2-27.9-7.4-56.4 18.2-55.6-6.5zm-201 6.9c30.7-8.1 62 20 61.1-7.1-1.3-14.2-23.4-15.3-40.2-9.6-1 .3-28.7 10.5-20.9 16.7zM319.4 160c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-159.7 0c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm318.5 163.2c-9.9 24-40.7 11-63.9-1.2-13.5 69.1-58.1 111.4-126.3 124.2.3.9-2-.1 24 1 33.6 1.4 63.8-3.1 97.4-8-19.8-13.8-11.4-37.1-9.8-38.1 1.4-.9 14.7 1.7 21.6 11.5 8.6-12.5 28.4-14.8 30.2-13.6 1.6 1.1 6.6 20.9-6.9 34.6 4.7-.9 8.2-1.6 9.8-2.1 2.6-.8 17.7 11.3 3.1 13.3-14.3 2.3-22.6 5.1-47.1 10.8-45.9 10.7-85.9 11.8-117.7 12.8l1 11.6c3.8 18.1-23.4 24.3-27.6 6.2.8 17.9-27.1 21.8-28.4-1l-.5 5.3c-.7 18.4-28.4 17.9-28.3-.6-7.5 13.5-28.1 6.8-26.4-8.5l1.2-12.4c-36.7.9-59.7 3.1-61.8 3.1-20.9 0-20.9-31.6 0-31.6 2.4 0 27.7 1.3 63.2 2.8-61.1-15.5-103.7-55-114.9-118.2-25 12.8-57.5 26.8-68.2.8-10.5-25.4 21.5-42.6 66.8-73.4.7-6.6 1.6-13.3 2.7-19.8-14.4-19.6-11.6-36.3-16.1-60.4-16.8 2.4-23.2-9.1-23.6-23.1.3-7.3 2.1-14.9 2.4-15.4 1.1-1.8 10.1-2 12.7-2.6 6-31.7 50.6-33.2 90.9-34.5 19.7-21.8 45.2-41.5 80.9-48.3C203.3 29 215.2 8.5 216.2 8c1.7-.8 21.2 4.3 26.3 23.2 5.2-8.8 18.3-11.4 19.6-10.7 1.1.6 6.4 15-4.9 25.9 40.3 3.5 72.2 24.7 96 50.7 36.1 1.5 71.8 5.9 77.1 34 2.7.6 11.6.8 12.7 2.6.3.5 2.1 8.1 2.4 15.4-.5 13.9-6.8 25.4-23.6 23.1-3.2 17.3-2.7 32.9-8.7 47.7 2.4 11.7 4 23.8 4.8 36.4 37 25.4 70.3 42.5 60.3 66.9zM207.4 159.9c.9-44-37.9-42.2-78.6-40.3-21.7 1-38.9 1.9-45.5 13.9-11.4 20.9 5.9 92.9 23.2 101.2 9.8 4.7 73.4 7.9 86.3-7.1 8.2-9.4 15-49.4 14.6-67.7zm52 58.3c-4.3-12.4-6-30.1-15.3-32.7-2-.5-9-.5-11 0-10 2.8-10.8 22.1-17 37.2 15.4 0 19.3 9.7 23.7 9.7 4.3 0 6.3-11.3 19.6-14.2zm135.7-84.7c-6.6-12.1-24.8-12.9-46.5-13.9-40.2-1.9-78.2-3.8-77.3 40.3-.5 18.3 5 58.3 13.2 67.8 13 14.9 76.6 11.8 86.3 7.1 15.8-7.6 36.5-78.9 24.3-101.3z\"]\n};\nvar faEbay = {\n prefix: 'fab',\n iconName: 'ebay',\n icon: [640, 512, [], \"f4f4\", \"M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z\"]\n};\nvar faEdge = {\n prefix: 'fab',\n iconName: 'edge',\n icon: [512, 512, [], \"f282\", \"M481.92,134.48C440.87,54.18,352.26,8,255.91,8,137.05,8,37.51,91.68,13.47,203.66c26-46.49,86.22-79.14,149.46-79.14,79.27,0,121.09,48.93,122.25,50.18,22,23.8,33,50.39,33,83.1,0,10.4-5.31,25.82-15.11,38.57-1.57,2-6.39,4.84-6.39,11,0,5.06,3.29,9.92,9.14,14,27.86,19.37,80.37,16.81,80.51,16.81A115.39,115.39,0,0,0,444.94,322a118.92,118.92,0,0,0,58.95-102.44C504.39,176.13,488.39,147.26,481.92,134.48ZM212.77,475.67a154.88,154.88,0,0,1-46.64-45c-32.94-47.42-34.24-95.6-20.1-136A155.5,155.5,0,0,1,203,215.75c59-45.2,94.84-5.65,99.06-1a80,80,0,0,0-4.89-10.14c-9.24-15.93-24-36.41-56.56-53.51-33.72-17.69-70.59-18.59-77.64-18.59-38.71,0-77.9,13-107.53,35.69C35.68,183.3,12.77,208.72,8.6,243c-1.08,12.31-2.75,62.8,23,118.27a248,248,0,0,0,248.3,141.61C241.78,496.26,214.05,476.24,212.77,475.67Zm250.72-98.33a7.76,7.76,0,0,0-7.92-.23,181.66,181.66,0,0,1-20.41,9.12,197.54,197.54,0,0,1-69.55,12.52c-91.67,0-171.52-63.06-171.52-144A61.12,61.12,0,0,1,200.61,228,168.72,168.72,0,0,0,161.85,278c-14.92,29.37-33,88.13,13.33,151.66,6.51,8.91,23,30,56,47.67,23.57,12.65,49,19.61,71.7,19.61,35.14,0,115.43-33.44,163-108.87A7.75,7.75,0,0,0,463.49,377.34Z\"]\n};\nvar faEdgeLegacy = {\n prefix: 'fab',\n iconName: 'edge-legacy',\n icon: [512, 512, [], \"e078\", \"M25.71,228.16l.35-.48c0,.16,0,.32-.07.48Zm460.58,15.51c0-44-7.76-84.46-28.81-122.4C416.5,47.88,343.91,8,258.89,8,119,7.72,40.62,113.21,26.06,227.68c42.42-61.31,117.07-121.38,220.37-125,0,0,109.67,0,99.42,105H170c6.37-37.39,18.55-59,34.34-78.93-75.05,34.9-121.85,96.1-120.75,188.32.83,71.45,50.13,144.84,120.75,172,83.35,31.84,192.77,7.2,240.13-21.33V363.31C363.6,419.8,173.6,424.23,172.21,295.74H486.29V243.67Z\"]\n};\nvar faElementor = {\n prefix: 'fab',\n iconName: 'elementor',\n icon: [448, 512, [], \"f430\", \"M425.6 32H22.4C10 32 0 42 0 54.4v403.2C0 470 10 480 22.4 480h403.2c12.4 0 22.4-10 22.4-22.4V54.4C448 42 438 32 425.6 32M164.3 355.5h-39.8v-199h39.8v199zm159.3 0H204.1v-39.8h119.5v39.8zm0-79.6H204.1v-39.8h119.5v39.8zm0-79.7H204.1v-39.8h119.5v39.8z\"]\n};\nvar faEllo = {\n prefix: 'fab',\n iconName: 'ello',\n icon: [496, 512, [], \"f5f1\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm143.84 285.2C375.31 358.51 315.79 404.8 248 404.8s-127.31-46.29-143.84-111.6c-1.65-7.44 2.48-15.71 9.92-17.36 7.44-1.65 15.71 2.48 17.36 9.92 14.05 52.91 62 90.11 116.56 90.11s102.51-37.2 116.56-90.11c1.65-7.44 9.92-12.4 17.36-9.92 7.44 1.65 12.4 9.92 9.92 17.36z\"]\n};\nvar faEmber = {\n prefix: 'fab',\n iconName: 'ember',\n icon: [640, 512, [], \"f423\", \"M639.9 254.6c-1.1-10.7-10.7-6.8-10.7-6.8s-15.6 12.1-29.3 10.7c-13.7-1.3-9.4-32-9.4-32s3-28.1-5.1-30.4c-8.1-2.4-18 7.3-18 7.3s-12.4 13.7-18.3 31.2l-1.6.5s1.9-30.6-.3-37.6c-1.6-3.5-16.4-3.2-18.8 3s-14.2 49.2-15 67.2c0 0-23.1 19.6-43.3 22.8s-25-9.4-25-9.4 54.8-15.3 52.9-59.1-44.2-27.6-49-24c-4.6 3.5-29.4 18.4-36.6 59.7-.2 1.4-.7 7.5-.7 7.5s-21.2 14.2-33 18c0 0 33-55.6-7.3-80.9-11.4-6.8-21.3-.5-27.2 5.3 13.6-17.3 46.4-64.2 36.9-105.2-5.8-24.4-18-27.1-29.2-23.1-17 6.7-23.5 16.7-23.5 16.7s-22 32-27.1 79.5-12.6 105.1-12.6 105.1-10.5 10.2-20.2 10.7-5.4-28.7-5.4-28.7 7.5-44.6 7-52.1-1.1-11.6-9.9-14.2c-8.9-2.7-18.5 8.6-18.5 8.6s-25.5 38.7-27.7 44.6l-1.3 2.4-1.3-1.6s18-52.7.8-53.5-28.5 18.8-28.5 18.8-19.6 32.8-20.4 36.5l-1.3-1.6s8.1-38.2 6.4-47.6c-1.6-9.4-10.5-7.5-10.5-7.5s-11.3-1.3-14.2 5.9-13.7 55.3-15 70.7c0 0-28.2 20.2-46.8 20.4-18.5.3-16.7-11.8-16.7-11.8s68-23.3 49.4-69.2c-8.3-11.8-18-15.5-31.7-15.3-13.7.3-30.3 8.6-41.3 33.3-5.3 11.8-6.8 23-7.8 31.5 0 0-12.3 2.4-18.8-2.9s-10 0-10 0-11.2 14-.1 18.3 28.1 6.1 28.1 6.1c1.6 7.5 6.2 19.5 19.6 29.7 20.2 15.3 58.8-1.3 58.8-1.3l15.9-8.8s.5 14.6 12.1 16.7 16.4 1 36.5-47.9c11.8-25 12.6-23.6 12.6-23.6l1.3-.3s-9.1 46.8-5.6 59.7C187.7 319.4 203 318 203 318s8.3 2.4 15-21.2 19.6-49.9 19.6-49.9h1.6s-5.6 48.1 3 63.7 30.9 5.3 30.9 5.3 15.6-7.8 18-10.2c0 0 18.5 15.8 44.6 12.9 58.3-11.5 79.1-25.9 79.1-25.9s10 24.4 41.1 26.7c35.5 2.7 54.8-18.6 54.8-18.6s-.3 13.5 12.1 18.6 20.7-22.8 20.7-22.8l20.7-57.2h1.9s1.1 37.3 21.5 43.2 47-13.7 47-13.7 6.4-3.5 5.3-14.3zm-578 5.3c.8-32 21.8-45.9 29-39 7.3 7 4.6 22-9.1 31.4-13.7 9.5-19.9 7.6-19.9 7.6zm272.8-123.8s19.1-49.7 23.6-25.5-40 96.2-40 96.2c.5-16.2 16.4-70.7 16.4-70.7zm22.8 138.4c-12.6 33-43.3 19.6-43.3 19.6s-3.5-11.8 6.4-44.9 33.3-20.2 33.3-20.2 16.2 12.4 3.6 45.5zm84.6-14.6s-3-10.5 8.1-30.6c11-20.2 19.6-9.1 19.6-9.1s9.4 10.2-1.3 25.5-26.4 14.2-26.4 14.2z\"]\n};\nvar faEmpire = {\n prefix: 'fab',\n iconName: 'empire',\n icon: [496, 512, [], \"f1d1\", \"M287.6 54.2c-10.8-2.2-22.1-3.3-33.5-3.6V32.4c78.1 2.2 146.1 44 184.6 106.6l-15.8 9.1c-6.1-9.7-12.7-18.8-20.2-27.1l-18 15.5c-26-29.6-61.4-50.7-101.9-58.4l4.8-23.9zM53.4 322.4l23-7.7c-6.4-18.3-10-38.2-10-58.7s3.3-40.4 9.7-58.7l-22.7-7.7c3.6-10.8 8.3-21.3 13.6-31l-15.8-9.1C34 181 24.1 217.5 24.1 256s10 75 27.1 106.6l15.8-9.1c-5.3-10-9.7-20.3-13.6-31.1zM213.1 434c-40.4-8-75.8-29.1-101.9-58.7l-18 15.8c-7.5-8.6-14.4-17.7-20.2-27.4l-16 9.4c38.5 62.3 106.8 104.3 184.9 106.6v-18.3c-11.3-.3-22.7-1.7-33.5-3.6l4.7-23.8zM93.3 120.9l18 15.5c26-29.6 61.4-50.7 101.9-58.4l-4.7-23.8c10.8-2.2 22.1-3.3 33.5-3.6V32.4C163.9 34.6 95.9 76.4 57.4 139l15.8 9.1c6-9.7 12.6-18.9 20.1-27.2zm309.4 270.2l-18-15.8c-26 29.6-61.4 50.7-101.9 58.7l4.7 23.8c-10.8 1.9-22.1 3.3-33.5 3.6v18.3c78.1-2.2 146.4-44.3 184.9-106.6l-16.1-9.4c-5.7 9.7-12.6 18.8-20.1 27.4zM496 256c0 137-111 248-248 248S0 393 0 256 111 8 248 8s248 111 248 248zm-12.2 0c0-130.1-105.7-235.8-235.8-235.8S12.2 125.9 12.2 256 117.9 491.8 248 491.8 483.8 386.1 483.8 256zm-39-106.6l-15.8 9.1c5.3 9.7 10 20.2 13.6 31l-22.7 7.7c6.4 18.3 9.7 38.2 9.7 58.7s-3.6 40.4-10 58.7l23 7.7c-3.9 10.8-8.3 21-13.6 31l15.8 9.1C462 331 471.9 294.5 471.9 256s-9.9-75-27.1-106.6zm-183 177.7c16.3-3.3 30.4-11.6 40.7-23.5l51.2 44.8c11.9-13.6 21.3-29.3 27.1-46.8l-64.2-22.1c2.5-7.5 3.9-15.2 3.9-23.5s-1.4-16.1-3.9-23.5l64.5-22.1c-6.1-17.4-15.5-33.2-27.4-46.8l-51.2 44.8c-10.2-11.9-24.4-20.5-40.7-23.8l13.3-66.4c-8.6-1.9-17.7-2.8-27.1-2.8-9.4 0-18.5.8-27.1 2.8l13.3 66.4c-16.3 3.3-30.4 11.9-40.7 23.8l-51.2-44.8c-11.9 13.6-21.3 29.3-27.4 46.8l64.5 22.1c-2.5 7.5-3.9 15.2-3.9 23.5s1.4 16.1 3.9 23.5l-64.2 22.1c5.8 17.4 15.2 33.2 27.1 46.8l51.2-44.8c10.2 11.9 24.4 20.2 40.7 23.5l-13.3 66.7c8.6 1.7 17.7 2.8 27.1 2.8 9.4 0 18.5-1.1 27.1-2.8l-13.3-66.7z\"]\n};\nvar faEnvira = {\n prefix: 'fab',\n iconName: 'envira',\n icon: [448, 512, [], \"f299\", \"M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z\"]\n};\nvar faErlang = {\n prefix: 'fab',\n iconName: 'erlang',\n icon: [640, 512, [], \"f39d\", \"M87.2 53.5H0v405h100.4c-49.7-52.6-78.8-125.3-78.7-212.1-.1-76.7 24-142.7 65.5-192.9zm238.2 9.7c-45.9.1-85.1 33.5-89.2 83.2h169.9c-1.1-49.7-34.5-83.1-80.7-83.2zm230.7-9.6h.3l-.1-.1zm.3 0c31.4 42.7 48.7 97.5 46.2 162.7.5 6 .5 11.7 0 24.1H230.2c-.2 109.7 38.9 194.9 138.6 195.3 68.5-.3 118-51 151.9-106.1l96.4 48.2c-17.4 30.9-36.5 57.8-57.9 80.8H640v-405z\"]\n};\nvar faEthereum = {\n prefix: 'fab',\n iconName: 'ethereum',\n icon: [320, 512, [], \"f42e\", \"M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z\"]\n};\nvar faEtsy = {\n prefix: 'fab',\n iconName: 'etsy',\n icon: [384, 512, [], \"f2d7\", \"M384 348c-1.75 10.75-13.75 110-15.5 132-117.879-4.299-219.895-4.743-368.5 0v-25.5c45.457-8.948 60.627-8.019 61-35.25 1.793-72.322 3.524-244.143 0-322-1.029-28.46-12.13-26.765-61-36v-25.5c73.886 2.358 255.933 8.551 362.999-3.75-3.5 38.25-7.75 126.5-7.75 126.5H332C320.947 115.665 313.241 68 277.25 68h-137c-10.25 0-10.75 3.5-10.75 9.75V241.5c58 .5 88.5-2.5 88.5-2.5 29.77-.951 27.56-8.502 40.75-65.251h25.75c-4.407 101.351-3.91 61.829-1.75 160.25H257c-9.155-40.086-9.065-61.045-39.501-61.5 0 0-21.5-2-88-2v139c0 26 14.25 38.25 44.25 38.25H263c63.636 0 66.564-24.996 98.751-99.75H384z\"]\n};\nvar faEvernote = {\n prefix: 'fab',\n iconName: 'evernote',\n icon: [384, 512, [], \"f839\", \"M120.82 132.21c1.6 22.31-17.55 21.59-21.61 21.59-68.93 0-73.64-1-83.58 3.34-.56.22-.74 0-.37-.37L123.79 46.45c.38-.37.6-.22.38.37-4.35 9.99-3.35 15.09-3.35 85.39zm79 308c-14.68-37.08 13-76.93 52.52-76.62 17.49 0 22.6 23.21 7.95 31.42-6.19 3.3-24.95 1.74-25.14 19.2-.05 17.09 19.67 25 31.2 24.89A45.64 45.64 0 0 0 312 393.45v-.08c0-11.63-7.79-47.22-47.54-55.34-7.72-1.54-65-6.35-68.35-50.52-3.74 16.93-17.4 63.49-43.11 69.09-8.74 1.94-69.68 7.64-112.92-36.77 0 0-18.57-15.23-28.23-57.95-3.38-15.75-9.28-39.7-11.14-62 0-18 11.14-30.45 25.07-32.2 81 0 90 2.32 101-7.8 9.82-9.24 7.8-15.5 7.8-102.78 1-8.3 7.79-30.81 53.41-24.14 6 .86 31.91 4.18 37.48 30.64l64.26 11.15c20.43 3.71 70.94 7 80.6 57.94 22.66 121.09 8.91 238.46 7.8 238.46C362.15 485.53 267.06 480 267.06 480c-18.95-.23-54.25-9.4-67.27-39.83zm80.94-204.84c-1 1.92-2.2 6 .85 7 14.09 4.93 39.75 6.84 45.88 5.53 3.11-.25 3.05-4.43 2.48-6.65-3.53-21.85-40.83-26.5-49.24-5.92z\"]\n};\nvar faExpeditedssl = {\n prefix: 'fab',\n iconName: 'expeditedssl',\n icon: [496, 512, [], \"f23e\", \"M248 43.4C130.6 43.4 35.4 138.6 35.4 256S130.6 468.6 248 468.6 460.6 373.4 460.6 256 365.4 43.4 248 43.4zm-97.4 132.9c0-53.7 43.7-97.4 97.4-97.4s97.4 43.7 97.4 97.4v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6c0-82.1-124-82.1-124 0v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6zM389.7 380c0 9.7-8 17.7-17.7 17.7H124c-9.7 0-17.7-8-17.7-17.7V238.3c0-9.7 8-17.7 17.7-17.7h248c9.7 0 17.7 8 17.7 17.7V380zm-248-137.3v132.9c0 2.5-1.9 4.4-4.4 4.4h-8.9c-2.5 0-4.4-1.9-4.4-4.4V242.7c0-2.5 1.9-4.4 4.4-4.4h8.9c2.5 0 4.4 1.9 4.4 4.4zm141.7 48.7c0 13-7.2 24.4-17.7 30.4v31.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-31.6c-10.5-6.1-17.7-17.4-17.7-30.4 0-19.7 15.8-35.4 35.4-35.4s35.5 15.8 35.5 35.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 478.3C121 486.3 17.7 383 17.7 256S121 25.7 248 25.7 478.3 129 478.3 256 375 486.3 248 486.3z\"]\n};\nvar faFacebook = {\n prefix: 'fab',\n iconName: 'facebook',\n icon: [512, 512, [], \"f09a\", \"M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z\"]\n};\nvar faFacebookF = {\n prefix: 'fab',\n iconName: 'facebook-f',\n icon: [320, 512, [], \"f39e\", \"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"]\n};\nvar faFacebookMessenger = {\n prefix: 'fab',\n iconName: 'facebook-messenger',\n icon: [512, 512, [], \"f39f\", \"M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z\"]\n};\nvar faFacebookSquare = {\n prefix: 'fab',\n iconName: 'facebook-square',\n icon: [448, 512, [], \"f082\", \"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z\"]\n};\nvar faFantasyFlightGames = {\n prefix: 'fab',\n iconName: 'fantasy-flight-games',\n icon: [512, 512, [], \"f6dc\", \"M256 32.86L32.86 256 256 479.14 479.14 256 256 32.86zM88.34 255.83c1.96-2 11.92-12.3 96.49-97.48 41.45-41.75 86.19-43.77 119.77-18.69 24.63 18.4 62.06 58.9 62.15 59 .68.74 1.07 2.86.58 3.38-11.27 11.84-22.68 23.54-33.5 34.69-34.21-32.31-40.52-38.24-48.51-43.95-17.77-12.69-41.4-10.13-56.98 5.1-2.17 2.13-1.79 3.43.12 5.35 2.94 2.95 28.1 28.33 35.09 35.78-11.95 11.6-23.66 22.97-35.69 34.66-12.02-12.54-24.48-25.53-36.54-38.11-21.39 21.09-41.69 41.11-61.85 60.99a42569.01 42569.01 0 0 1-41.13-40.72zm234.82 101.6c-35.49 35.43-78.09 38.14-106.99 20.47-22.08-13.5-39.38-32.08-72.93-66.84 12.05-12.37 23.79-24.42 35.37-36.31 33.02 31.91 37.06 36.01 44.68 42.09 18.48 14.74 42.52 13.67 59.32-1.8 3.68-3.39 3.69-3.64.14-7.24-10.59-10.73-21.19-21.44-31.77-32.18-1.32-1.34-3.03-2.48-.8-4.69 10.79-10.71 21.48-21.52 32.21-32.29.26-.26.65-.38 1.91-1.07 12.37 12.87 24.92 25.92 37.25 38.75 21.01-20.73 41.24-40.68 61.25-60.42 13.68 13.4 27.13 26.58 40.86 40.03-20.17 20.86-81.68 82.71-100.5 101.5zM256 0L0 256l256 256 256-256L256 0zM16 256L256 16l240 240-240 240L16 256z\"]\n};\nvar faFedex = {\n prefix: 'fab',\n iconName: 'fedex',\n icon: [640, 512, [], \"f797\", \"M586 284.5l53.3-59.9h-62.4l-21.7 24.8-22.5-24.8H414v-16h56.1v-48.1H318.9V236h-.5c-9.6-11-21.5-14.8-35.4-14.8-28.4 0-49.8 19.4-57.3 44.9-18-59.4-97.4-57.6-121.9-14v-24.2H49v-26.2h60v-41.1H0V345h49v-77.5h48.9c-1.5 5.7-2.3 11.8-2.3 18.2 0 73.1 102.6 91.4 130.2 23.7h-42c-14.7 20.9-45.8 8.9-45.8-14.6h85.5c3.7 30.5 27.4 56.9 60.1 56.9 14.1 0 27-6.9 34.9-18.6h.5V345h212.2l22.1-25 22.3 25H640l-54-60.5zm-446.7-16.6c6.1-26.3 41.7-25.6 46.5 0h-46.5zm153.4 48.9c-34.6 0-34-62.8 0-62.8 32.6 0 34.5 62.8 0 62.8zm167.8 19.1h-94.4V169.4h95v30.2H405v33.9h55.5v28.1h-56.1v44.7h56.1v29.6zm-45.9-39.8v-24.4h56.1v-44l50.7 57-50.7 57v-45.6h-56.1zm138.6 10.3l-26.1 29.5H489l45.6-51.2-45.6-51.2h39.7l26.6 29.3 25.6-29.3h38.5l-45.4 51 46 51.4h-40.5l-26.3-29.5z\"]\n};\nvar faFedora = {\n prefix: 'fab',\n iconName: 'fedora',\n icon: [448, 512, [], \"f798\", \"M225 32C101.3 31.7.8 131.7.4 255.4L0 425.7a53.6 53.6 0 0 0 53.6 53.9l170.2.4c123.7.3 224.3-99.7 224.6-223.4S348.7 32.3 225 32zm169.8 157.2L333 126.6c2.3-4.7 3.8-9.2 3.8-14.3v-1.6l55.2 56.1a101 101 0 0 1 2.8 22.4zM331 94.3a106.06 106.06 0 0 1 58.5 63.8l-54.3-54.6a26.48 26.48 0 0 0-4.2-9.2zM118.1 247.2a49.66 49.66 0 0 0-7.7 11.4l-8.5-8.5a85.78 85.78 0 0 1 16.2-2.9zM97 251.4l11.8 11.9-.9 8a34.74 34.74 0 0 0 2.4 12.5l-27-27.2a80.6 80.6 0 0 1 13.7-5.2zm-18.2 7.4l38.2 38.4a53.17 53.17 0 0 0-14.1 4.7L67.6 266a107 107 0 0 1 11.2-7.2zm-15.2 9.8l35.3 35.5a67.25 67.25 0 0 0-10.5 8.5L53.5 278a64.33 64.33 0 0 1 10.1-9.4zm-13.3 12.3l34.9 35a56.84 56.84 0 0 0-7.7 11.4l-35.8-35.9c2.8-3.8 5.7-7.2 8.6-10.5zm-11 14.3l36.4 36.6a48.29 48.29 0 0 0-3.6 15.2l-39.5-39.8a99.81 99.81 0 0 1 6.7-12zm-8.8 16.3l41.3 41.8a63.47 63.47 0 0 0 6.7 26.2L25.8 326c1.4-4.9 2.9-9.6 4.7-14.5zm-7.9 43l61.9 62.2a31.24 31.24 0 0 0-3.6 14.3v1.1l-55.4-55.7a88.27 88.27 0 0 1-2.9-21.9zm5.3 30.7l54.3 54.6a28.44 28.44 0 0 0 4.2 9.2 106.32 106.32 0 0 1-58.5-63.8zm-5.3-37a80.69 80.69 0 0 1 2.1-17l72.2 72.5a37.59 37.59 0 0 0-9.9 8.7zm253.3-51.8l-42.6-.1-.1 56c-.2 69.3-64.4 115.8-125.7 102.9-5.7 0-19.9-8.7-19.9-24.2a24.89 24.89 0 0 1 24.5-24.6c6.3 0 6.3 1.6 15.7 1.6a55.91 55.91 0 0 0 56.1-55.9l.1-47c0-4.5-4.5-9-8.9-9l-33.6-.1c-32.6-.1-32.5-49.4.1-49.3l42.6.1.1-56a105.18 105.18 0 0 1 105.6-105 86.35 86.35 0 0 1 20.2 2.3c11.2 1.8 19.9 11.9 19.9 24 0 15.5-14.9 27.8-30.3 23.9-27.4-5.9-65.9 14.4-66 54.9l-.1 47a8.94 8.94 0 0 0 8.9 9l33.6.1c32.5.2 32.4 49.5-.2 49.4zm23.5-.3a35.58 35.58 0 0 0 7.6-11.4l8.5 8.5a102 102 0 0 1-16.1 2.9zm21-4.2L308.6 280l.9-8.1a34.74 34.74 0 0 0-2.4-12.5l27 27.2a74.89 74.89 0 0 1-13.7 5.3zm18-7.4l-38-38.4c4.9-1.1 9.6-2.4 13.7-4.7l36.2 35.9c-3.8 2.5-7.9 5-11.9 7.2zm15.5-9.8l-35.3-35.5a61.06 61.06 0 0 0 10.5-8.5l34.9 35a124.56 124.56 0 0 1-10.1 9zm13.2-12.3l-34.9-35a63.18 63.18 0 0 0 7.7-11.4l35.8 35.9a130.28 130.28 0 0 1-8.6 10.5zm11-14.3l-36.4-36.6a48.29 48.29 0 0 0 3.6-15.2l39.5 39.8a87.72 87.72 0 0 1-6.7 12zm13.5-30.9a140.63 140.63 0 0 1-4.7 14.3L345.6 190a58.19 58.19 0 0 0-7.1-26.2zm1-5.6l-71.9-72.1a32 32 0 0 0 9.9-9.2l64.3 64.7a90.93 90.93 0 0 1-2.3 16.6z\"]\n};\nvar faFigma = {\n prefix: 'fab',\n iconName: 'figma',\n icon: [384, 512, [], \"f799\", \"M14 95.7924C14 42.8877 56.8878 0 109.793 0H274.161C327.066 0 369.954 42.8877 369.954 95.7924C369.954 129.292 352.758 158.776 326.711 175.897C352.758 193.019 369.954 222.502 369.954 256.002C369.954 308.907 327.066 351.795 274.161 351.795H272.081C247.279 351.795 224.678 342.369 207.666 326.904V415.167C207.666 468.777 163.657 512 110.309 512C57.5361 512 14 469.243 14 416.207C14 382.709 31.1945 353.227 57.2392 336.105C31.1945 318.983 14 289.5 14 256.002C14 222.502 31.196 193.019 57.2425 175.897C31.196 158.776 14 129.292 14 95.7924ZM176.288 191.587H109.793C74.2172 191.587 45.3778 220.427 45.3778 256.002C45.3778 291.44 73.9948 320.194 109.381 320.416C109.518 320.415 109.655 320.415 109.793 320.415H176.288V191.587ZM207.666 256.002C207.666 291.577 236.505 320.417 272.081 320.417H274.161C309.737 320.417 338.576 291.577 338.576 256.002C338.576 220.427 309.737 191.587 274.161 191.587H272.081C236.505 191.587 207.666 220.427 207.666 256.002ZM109.793 351.795C109.655 351.795 109.518 351.794 109.381 351.794C73.9948 352.015 45.3778 380.769 45.3778 416.207C45.3778 451.652 74.6025 480.622 110.309 480.622C146.591 480.622 176.288 451.186 176.288 415.167V351.795H109.793ZM109.793 31.3778C74.2172 31.3778 45.3778 60.2173 45.3778 95.7924C45.3778 131.368 74.2172 160.207 109.793 160.207H176.288V31.3778H109.793ZM207.666 160.207H274.161C309.737 160.207 338.576 131.368 338.576 95.7924C338.576 60.2173 309.737 31.3778 274.161 31.3778H207.666V160.207Z\"]\n};\nvar faFirefox = {\n prefix: 'fab',\n iconName: 'firefox',\n icon: [512, 512, [], \"f269\", \"M503.52,241.48c-.12-1.56-.24-3.12-.24-4.68v-.12l-.36-4.68v-.12a245.86,245.86,0,0,0-7.32-41.15c0-.12,0-.12-.12-.24l-1.08-4c-.12-.24-.12-.48-.24-.6-.36-1.2-.72-2.52-1.08-3.72-.12-.24-.12-.6-.24-.84-.36-1.2-.72-2.4-1.08-3.48-.12-.36-.24-.6-.36-1-.36-1.2-.72-2.28-1.2-3.48l-.36-1.08c-.36-1.08-.84-2.28-1.2-3.36a8.27,8.27,0,0,0-.36-1c-.48-1.08-.84-2.28-1.32-3.36-.12-.24-.24-.6-.36-.84-.48-1.2-1-2.28-1.44-3.48,0-.12-.12-.24-.12-.36-1.56-3.84-3.24-7.68-5-11.4l-.36-.72c-.48-1-.84-1.8-1.32-2.64-.24-.48-.48-1.08-.72-1.56-.36-.84-.84-1.56-1.2-2.4-.36-.6-.6-1.2-1-1.8s-.84-1.44-1.2-2.28c-.36-.6-.72-1.32-1.08-1.92s-.84-1.44-1.2-2.16a18.07,18.07,0,0,0-1.2-2c-.36-.72-.84-1.32-1.2-2s-.84-1.32-1.2-2-.84-1.32-1.2-1.92-.84-1.44-1.32-2.16a15.63,15.63,0,0,0-1.2-1.8L463.2,119a15.63,15.63,0,0,0-1.2-1.8c-.48-.72-1.08-1.56-1.56-2.28-.36-.48-.72-1.08-1.08-1.56l-1.8-2.52c-.36-.48-.6-.84-1-1.32-1-1.32-1.8-2.52-2.76-3.72a248.76,248.76,0,0,0-23.51-26.64A186.82,186.82,0,0,0,412,62.46c-4-3.48-8.16-6.72-12.48-9.84a162.49,162.49,0,0,0-24.6-15.12c-2.4-1.32-4.8-2.52-7.2-3.72a254,254,0,0,0-55.43-19.56c-1.92-.36-3.84-.84-5.64-1.2h-.12c-1-.12-1.8-.36-2.76-.48a236.35,236.35,0,0,0-38-4H255.14a234.62,234.62,0,0,0-45.48,5c-33.59,7.08-63.23,21.24-82.91,39-1.08,1-1.92,1.68-2.4,2.16l-.48.48H124l-.12.12.12-.12a.12.12,0,0,0,.12-.12l-.12.12a.42.42,0,0,1,.24-.12c14.64-8.76,34.92-16,49.44-19.56l5.88-1.44c.36-.12.84-.12,1.2-.24,1.68-.36,3.36-.72,5.16-1.08.24,0,.6-.12.84-.12C250.94,20.94,319.34,40.14,367,85.61a171.49,171.49,0,0,1,26.88,32.76c30.36,49.2,27.48,111.11,3.84,147.59-34.44,53-111.35,71.27-159,24.84a84.19,84.19,0,0,1-25.56-59,74.05,74.05,0,0,1,6.24-31c1.68-3.84,13.08-25.67,18.24-24.59-13.08-2.76-37.55,2.64-54.71,28.19-15.36,22.92-14.52,58.2-5,83.28a132.85,132.85,0,0,1-12.12-39.24c-12.24-82.55,43.31-153,94.31-170.51-27.48-24-96.47-22.31-147.71,15.36-29.88,22-51.23,53.16-62.51,90.36,1.68-20.88,9.6-52.08,25.8-83.88-17.16,8.88-39,37-49.8,62.88-15.6,37.43-21,82.19-16.08,124.79.36,3.24.72,6.36,1.08,9.6,19.92,117.11,122,206.38,244.78,206.38C392.77,503.42,504,392.19,504,255,503.88,250.48,503.76,245.92,503.52,241.48Z\"]\n};\nvar faFirefoxBrowser = {\n prefix: 'fab',\n iconName: 'firefox-browser',\n icon: [512, 512, [], \"e007\", \"M189.37,152.86Zm-58.74-29.37C130.79,123.5,130.71,123.5,130.63,123.49Zm351.42,45.35c-10.61-25.5-32.08-53-48.94-61.73,13.72,26.89,21.67,53.88,24.7,74,0,0,0,.14.05.41-27.58-68.75-74.35-96.47-112.55-156.83-1.93-3.05-3.86-6.11-5.74-9.33-1-1.65-1.86-3.34-2.69-5.05A44.88,44.88,0,0,1,333.24.69a.63.63,0,0,0-.55-.66.9.9,0,0,0-.46,0l-.12.07-.18.1.1-.14c-54.23,31.77-76.72,87.38-82.5,122.78a130,130,0,0,0-48.33,12.33,6.25,6.25,0,0,0-3.09,7.75,6.13,6.13,0,0,0,7.79,3.79l.52-.21a117.84,117.84,0,0,1,42.11-11l1.42-.1c2-.12,4-.2,6-.22A122.61,122.61,0,0,1,291,140c.67.2,1.32.42,2,.63,1.89.57,3.76,1.2,5.62,1.87,1.36.5,2.71,1,4.05,1.58,1.09.44,2.18.88,3.25,1.35q2.52,1.13,5,2.35c.75.37,1.5.74,2.25,1.13q2.4,1.26,4.74,2.63,1.51.87,3,1.8a124.89,124.89,0,0,1,42.66,44.13c-13-9.15-36.35-18.19-58.82-14.28,87.74,43.86,64.18,194.9-57.39,189.2a108.43,108.43,0,0,1-31.74-6.12c-2.42-.91-4.8-1.89-7.16-2.93-1.38-.63-2.76-1.27-4.12-2C174.5,346,149.9,316.92,146.83,281.59c0,0,11.25-41.95,80.62-41.95,7.5,0,28.93-20.92,29.33-27-.09-2-42.54-18.87-59.09-35.18-8.85-8.71-13.05-12.91-16.77-16.06a69.58,69.58,0,0,0-6.31-4.77A113.05,113.05,0,0,1,173.92,97c-25.06,11.41-44.55,29.45-58.71,45.37h-.12c-9.67-12.25-9-52.65-8.43-61.08-.12-.53-7.22,3.68-8.15,4.31a178.54,178.54,0,0,0-23.84,20.43A214,214,0,0,0,51.9,133.36l0,0a.08.08,0,0,1,0,0,205.84,205.84,0,0,0-32.73,73.9c-.06.27-2.33,10.21-4,22.48q-.42,2.87-.78,5.74c-.57,3.69-1,7.71-1.44,14,0,.24,0,.48-.05.72-.18,2.71-.34,5.41-.49,8.12,0,.41,0,.82,0,1.24,0,134.7,109.21,243.89,243.92,243.89,120.64,0,220.82-87.58,240.43-202.62.41-3.12.74-6.26,1.11-9.41,4.85-41.83-.54-85.79-15.82-122.55Z\"]\n};\nvar faFirstOrder = {\n prefix: 'fab',\n iconName: 'first-order',\n icon: [448, 512, [], \"f2b0\", \"M12.9 229.2c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4h-.2zM224 96.6c-7.1 0-14.6.6-21.4 1.7l3.7 67.4-22-64c-14.3 3.7-27.7 9.4-40 16.6l29.4 61.4-45.1-50.9c-11.4 8.9-21.7 19.1-30.6 30.9l50.6 45.4-61.1-29.7c-7.1 12.3-12.9 25.7-16.6 40l64.3 22.6-68-4c-.9 7.1-1.4 14.6-1.4 22s.6 14.6 1.4 21.7l67.7-4-64 22.6c3.7 14.3 9.4 27.7 16.6 40.3l61.1-29.7L97.7 352c8.9 11.7 19.1 22.3 30.9 30.9l44.9-50.9-29.5 61.4c12.3 7.4 25.7 13.1 40 16.9l22.3-64.6-4 68c7.1 1.1 14.6 1.7 21.7 1.7 7.4 0 14.6-.6 21.7-1.7l-4-68.6 22.6 65.1c14.3-4 27.7-9.4 40-16.9L274.9 332l44.9 50.9c11.7-8.9 22-19.1 30.6-30.9l-50.6-45.1 61.1 29.4c7.1-12.3 12.9-25.7 16.6-40.3l-64-22.3 67.4 4c1.1-7.1 1.4-14.3 1.4-21.7s-.3-14.9-1.4-22l-67.7 4 64-22.3c-3.7-14.3-9.1-28-16.6-40.3l-60.9 29.7 50.6-45.4c-8.9-11.7-19.1-22-30.6-30.9l-45.1 50.9 29.4-61.1c-12.3-7.4-25.7-13.1-40-16.9L241.7 166l4-67.7c-7.1-1.2-14.3-1.7-21.7-1.7zM443.4 128v256L224 512 4.6 384V128L224 0l219.4 128zm-17.1 10.3L224 20.9 21.7 138.3v235.1L224 491.1l202.3-117.7V138.3zM224 37.1l187.7 109.4v218.9L224 474.9 36.3 365.4V146.6L224 37.1zm0 50.9c-92.3 0-166.9 75.1-166.9 168 0 92.6 74.6 167.7 166.9 167.7 92 0 166.9-75.1 166.9-167.7 0-92.9-74.9-168-166.9-168z\"]\n};\nvar faFirstOrderAlt = {\n prefix: 'fab',\n iconName: 'first-order-alt',\n icon: [496, 512, [], \"f50a\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 488.21C115.34 496.21 7.79 388.66 7.79 256S115.34 15.79 248 15.79 488.21 123.34 488.21 256 380.66 496.21 248 496.21zm0-459.92C126.66 36.29 28.29 134.66 28.29 256S126.66 475.71 248 475.71 467.71 377.34 467.71 256 369.34 36.29 248 36.29zm0 431.22c-116.81 0-211.51-94.69-211.51-211.51S131.19 44.49 248 44.49 459.51 139.19 459.51 256 364.81 467.51 248 467.51zm186.23-162.98a191.613 191.613 0 0 1-20.13 48.69l-74.13-35.88 61.48 54.82a193.515 193.515 0 0 1-37.2 37.29l-54.8-61.57 35.88 74.27a190.944 190.944 0 0 1-48.63 20.23l-27.29-78.47 4.79 82.93c-8.61 1.18-17.4 1.8-26.33 1.8s-17.72-.62-26.33-1.8l4.76-82.46-27.15 78.03a191.365 191.365 0 0 1-48.65-20.2l35.93-74.34-54.87 61.64a193.85 193.85 0 0 1-37.22-37.28l61.59-54.9-74.26 35.93a191.638 191.638 0 0 1-20.14-48.69l77.84-27.11-82.23 4.76c-1.16-8.57-1.78-17.32-1.78-26.21 0-9 .63-17.84 1.82-26.51l82.38 4.77-77.94-27.16a191.726 191.726 0 0 1 20.23-48.67l74.22 35.92-61.52-54.86a193.85 193.85 0 0 1 37.28-37.22l54.76 61.53-35.83-74.17a191.49 191.49 0 0 1 48.65-20.13l26.87 77.25-4.71-81.61c8.61-1.18 17.39-1.8 26.32-1.8s17.71.62 26.32 1.8l-4.74 82.16 27.05-77.76c17.27 4.5 33.6 11.35 48.63 20.17l-35.82 74.12 54.72-61.47a193.13 193.13 0 0 1 37.24 37.23l-61.45 54.77 74.12-35.86a191.515 191.515 0 0 1 20.2 48.65l-77.81 27.1 82.24-4.75c1.19 8.66 1.82 17.5 1.82 26.49 0 8.88-.61 17.63-1.78 26.19l-82.12-4.75 77.72 27.09z\"]\n};\nvar faFirstdraft = {\n prefix: 'fab',\n iconName: 'firstdraft',\n icon: [384, 512, [], \"f3a1\", \"M384 192h-64v128H192v128H0v-25.6h166.4v-128h128v-128H384V192zm-25.6 38.4v128h-128v128H64V512h192V384h128V230.4h-25.6zm25.6 192h-89.6V512H320v-64h64v-25.6zM0 0v384h128V256h128V128h128V0H0z\"]\n};\nvar faFlickr = {\n prefix: 'fab',\n iconName: 'flickr',\n icon: [448, 512, [], \"f16e\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z\"]\n};\nvar faFlipboard = {\n prefix: 'fab',\n iconName: 'flipboard',\n icon: [448, 512, [], \"f44d\", \"M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z\"]\n};\nvar faFly = {\n prefix: 'fab',\n iconName: 'fly',\n icon: [384, 512, [], \"f417\", \"M197.8 427.8c12.9 11.7 33.7 33.3 33.2 50.7 0 .8-.1 1.6-.1 2.5-1.8 19.8-18.8 31.1-39.1 31-25-.1-39.9-16.8-38.7-35.8 1-16.2 20.5-36.7 32.4-47.6 2.3-2.1 2.7-2.7 5.6-3.6 3.4 0 3.9.3 6.7 2.8zM331.9 67.3c-16.3-25.7-38.6-40.6-63.3-52.1C243.1 4.5 214-.2 192 0c-44.1 0-71.2 13.2-81.1 17.3C57.3 45.2 26.5 87.2 28 158.6c7.1 82.2 97 176 155.8 233.8 1.7 1.6 4.5 4.5 6.2 5.1l3.3.1c2.1-.7 1.8-.5 3.5-2.1 52.3-49.2 140.7-145.8 155.9-215.7 7-39.2 3.1-72.5-20.8-112.5zM186.8 351.9c-28-51.1-65.2-130.7-69.3-189-3.4-47.5 11.4-131.2 69.3-136.7v325.7zM328.7 180c-16.4 56.8-77.3 128-118.9 170.3C237.6 298.4 275 217 277 158.4c1.6-45.9-9.8-105.8-48-131.4 88.8 18.3 115.5 98.1 99.7 153z\"]\n};\nvar faFontAwesome = {\n prefix: 'fab',\n iconName: 'font-awesome',\n icon: [448, 512, [], \"f2b4\", \"M400 32H48A48 48 0 0 0 0 80V432a48 48 0 0 0 48 48H400a48 48 0 0 0 48-48V80A48 48 0 0 0 400 32ZM336 312c-31.6 11.2-41.2 16-59.8 16-31.4 0-43.2-16-74.6-16a80 80 0 0 0-25.6 4V284a85.9 85.9 0 0 1 25.6-4c31.2 0 43.2 16 74.6 16 10.2 0 17.8-1.4 27.8-4.6v-96c-10 3.2-17.6 4.6-27.8 4.6-31.4 0-43.2-16-74.6-16-25.4 0-37.4 10.4-57.6 14.4V352a16 16 0 0 1-32 0V160a16 16 0 0 1 32 0v6.4c20.2-4 32.2-14.4 57.6-14.4 31.2 0 43.2 16 74.6 16 18.6 0 28.2-4.8 59.8-16Z\"]\n};\nvar faFontAwesomeAlt = {\n prefix: 'fab',\n iconName: 'font-awesome-alt',\n icon: [448, 512, [], \"f35c\", \"M400 32H48A48 48 0 0 0 0 80V432a48 48 0 0 0 48 48H400a48 48 0 0 0 48-48V80A48 48 0 0 0 400 32Zm16 400a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16V80A16 16 0 0 1 48 64H400a16 16 0 0 1 16 16ZM201.6 152c-25.4 0-37.4 10.4-57.6 14.4V160a16 16 0 0 0-32 0V352a16 16 0 0 0 32 0V198.4c20.2-4 32.2-14.4 57.6-14.4 31.4 0 43.2 16 74.6 16 10.2 0 17.8-1.4 27.8-4.6v96c-10 3.2-17.6 4.6-27.8 4.6-31.4 0-43.4-16-74.6-16a85.9 85.9 0 0 0-25.6 4v32a80 80 0 0 1 25.6-4c31.4 0 43.2 16 74.6 16 18.6 0 28.2-4.8 59.8-16V152c-31.6 11.2-41.2 16-59.8 16C244.8 168 232.8 152 201.6 152Z\"]\n};\nvar faFontAwesomeFlag = {\n prefix: 'fab',\n iconName: 'font-awesome-flag',\n icon: [448, 512, [], \"f425\", \"M448 48V384c-63 23-82 32-119 32-63 0-87-32-150-32-20 0-36 4-51 8V328c15-4 31-8 51-8 63 0 87 32 150 32 20 0 35-3 55-9V135c-20 6-35 9-55 9-63 0-87-32-150-32-51 0-75 21-115 29V448a31.6 31.6 0 0 1-32 32A31.6 31.6 0 0 1 0 448V64A31.6 31.6 0 0 1 32 32 31.6 31.6 0 0 1 64 64V77c40-8 64-29 115-29 63 0 87 32 150 32C366 80 385 71 448 48Z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'fab',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M1209.7 156.5c-57.8 0-102 43.9-102 99.1 0 56 44.6 99.1 102 99.1 57.4 0 102-43.1 102-99.1C1311.7 200.4 1267.5 156.5 1209.7 156.5Zm0 152.7c-35.1 0-51.8-27.4-51.8-53.2 0-25.8 16.7-53.2 51.8-53.2 35.1 0 51.8 27.8 51.8 53.2C1261.1 281.8 1244.8 309.2 1209.7 309.2Zm962.1-136.1c-4.4-10.9-12.3-16.5-23.5-16.5s-19.1 5.6-23.5 16.5l-59.4 145.8c-7.2 17.7 2.8 27.4 4.4 29a24.6 24.6 0 0 0 17.5 6.8c10.8 0 18.7-6 23.1-18.1l4-10.1h67.7l4 10.1c4.8 12.1 12.3 18.1 23.1 18.1a24.6 24.6 0 0 0 17.5-6.8c10-10.1 6.8-22.6 4.4-29Zm-43 113.6 19.1-56 19.1 56Zm-574.5-130.1c-14.3 0-24.7 10.9-24.7 25.4v76.5l-68.5-85.8c-4.4-5.6-11.6-16.1-25.5-16.1-19.1 0-24.3 17.7-24.3 25.4V329.7c0 14.1 10.4 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V252.8l68.9 86.2c4.8 5.6 11.6 16.1 25.5 16.1 19.1 0 23.9-17.3 23.9-25.4V181.9C1579 167.4 1568.6 156.5 1554.3 156.5Zm-554.1 1.6H916.5c-19.9 0-25.1 17.3-25.1 25.4V328.1c0 19.7 16.7 25.4 24.7 25.4 8 0 24.7-5.2 24.7-25.4V285h44.6c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.5-22.1-22.7-22.1H940.8V203.6h59.4c12.8 0 22.7-9.3 22.7-22.6C1022.9 163 1007.3 158.1 1000.2 158.1Zm815.1 0H1691.7c-7.2 0-22.7 4.4-22.7 22.2 0 13.3 10 22.6 22.7 22.6h37V327.7c0 14.1 10.4 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V202.8h37c12.7 0 22.7-9.3 22.7-22.6C1837.9 163 1822.4 158.1 1815.2 158.1Zm1789.5-1.6c-9.6 0-17.5 6-25.1 18.1l-46.6 76.1L3486.4 174.6q-10.8-18.1-25.1-18.1c-19.5 0-24.7 18.1-24.7 25.8V329.7c0 14.1 10.4 25.4 24.7 25.4s24.7-10.9 24.7-25.4V262.8L3510.7 302.7c6.4 10.1 13.9 15.3 22.3 15.3 8.8 0 15.9-5.2 22.3-15.3l24.7-39.9v66.9c0 14.1 10.3 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V182.3C3629.4 174.2 3624.6 156.5 3604.7 156.5Zm248.6 149.8h-65.7V272.9h39.4c11.9 0 21.1-8.9 21.1-20.9 0-12.1-9.2-20.9-21.1-20.9h-39.4V204.8h62.1c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.6-22.2-22.7-22.2h-86.4c-19.9 0-25.1 17.3-25.1 25.4V326.5c0 8.1 5.2 25.4 25.1 25.4h90c12.8 0 22.7-9.3 22.7-22.6C3876 311.2 3860.5 306.3 3853.3 306.3ZM3235 156.5c-57.8 0-102 43.9-102 99.1 0 56 44.6 99.1 102 99.1 57.4 0 102-43.1 102-99.1C3337 200.4 3292.8 156.5 3235 156.5Zm0 152.7c-35.1 0-51.8-27.4-51.8-53.2 0-25.8 16.7-53.2 51.8-53.2 35.1 0 51.8 27.8 51.8 53.2C3286.8 281.8 3270.1 309.2 3235 309.2ZM2550.2 156.5c-11.2 0-19.1 5.6-23.1 16.5l-34.3 94.7-31.5-92.2c-4.4-12.5-12.3-18.9-24.3-18.9-11.9 0-19.9 6.4-24.3 18.9l-31.5 92.2-34.3-95.5q-5.4-15.7-22.7-15.7c-6.8 0-12.3 2.4-17.5 7.3-5.2 5.2-10.8 14.5-4.8 28.6l55.8 145.8c4 11.3 11.6 16.9 23.1 16.9q16.7 0 22.7-16.9l33.5-91.8 33.5 91.8q6 16.9 22.7 16.9c11.2 0 19.1-5.6 23.1-16.9l55.8-145.8c3.6-9.3 4.4-19.3-4.8-28.6A23 23 0 0 0 2550.2 156.5Zm444.2 81-21.9-9.3c-11.9-4.8-16.3-8.5-16.3-15.7q0-12.1 16.7-12.1c12.7 0 19.5 7.7 24.3 10.9 7.2 5.2 18.3 6.8 27.9-2 10.8-10.5 6.8-23.8 1.2-30.6-12.3-14.9-30.3-22.2-53.8-22.2-19.1 0-35.1 5.2-47.4 15.7-12.3 10.5-18.7 24.2-18.7 41.1 0 24.2 15.9 43.5 47.8 57.6l19.5 8.9c15.9 6.8 19.1 9.7 19.1 17.7 0 9.3-6.4 14.1-19.5 14.1-19.1 0-34.7-14.9-36.3-16.1-10.8-7.3-21.5-2-26.3 2.8-6.8 6.4-12.7 20.9 3.2 36.2 6.8 6.4 15.5 11.7 26.7 15.3a94.6 94.6 0 0 0 32.7 5.6c19.9 0 36.7-5.2 49.8-16.1 13.1-10.9 19.5-25.4 19.5-43.5q0-20.5-12-33.8C3022.7 253.2 3010.7 244.3 2994.4 237.5Zm-206.4 68.9h-65.7V272.9h39.4c12 0 21.1-8.9 21.1-20.9 0-12.1-9.2-20.9-21.1-20.9h-39.4V204.8h62.1c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.5-22.2-22.7-22.2h-86.4c-19.9 0-25.1 17.3-25.1 25.4V326.5c0 8.1 5.2 25.4 25.1 25.4h90c12.7 0 22.7-9.3 22.7-22.6C2810.8 311.2 2795.2 306.3 2788 306.3ZM178.3 49.1c-50.5 0-74.4 20.7-114.6 28.7V65A31.8 31.8 0 1 0 0 65V447a31.8 31.8 0 0 0 63.7 0V141.4c40.2-8 64.1-28.7 114.6-28.7 62.5 0 86 31.8 148.4 31.8 20.3 0 35.4-2.8 55.3-9.2v191c-19.9 6.4-35 9.2-55.3 9.2-62.5 0-86.4-31.8-148.4-31.8-20.3 0-36.2 3.6-50.9 8V375.4a159.1 159.1 0 0 1 50.9-8c62.5 0 86 31.8 148.4 31.8 37 0 56.1-9.6 119-31.8V49.1C382.8 71.4 363.7 80.9 326.7 80.9 264.2 80.9 240.4 49.1 178.3 49.1Z\"]\n};\nvar faFonticons = {\n prefix: 'fab',\n iconName: 'fonticons',\n icon: [448, 512, [], \"f280\", \"M0 32v448h448V32zm187 140.9c-18.4 0-19 9.9-19 27.4v23.3c0 2.4-3.5 4.4-.6 4.4h67.4l-11.1 37.3H168v112.9c0 5.8-2 6.7 3.2 7.3l43.5 4.1v25.1H84V389l21.3-2c5.2-.6 6.7-2.3 6.7-7.9V267.7c0-2.3-2.9-2.3-5.8-2.3H84V228h28v-21c0-49.6 26.5-70 77.3-70 34.1 0 64.7 8.2 64.7 52.8l-50.7 6.1c.3-18.7-4.4-23-16.3-23zm74.3 241.8v-25.1l20.4-2.6c5.2-.6 7.6-1.7 7.6-7.3V271.8c0-4.1-2.9-6.7-6.7-7.9l-24.2-6.4 6.7-29.5h80.2v151.7c0 5.8-2.6 6.4 2.9 7.3l15.7 2.6v25.1zm80.8-255.5l9 33.2-7.3 7.3-31.2-16.6-31.2 16.6-7.3-7.3 9-33.2-21.8-24.2 3.5-9.6h27.7l15.5-28h9.3l15.5 28h27.7l3.5 9.6z\"]\n};\nvar faFonticonsFi = {\n prefix: 'fab',\n iconName: 'fonticons-fi',\n icon: [384, 512, [], \"f3a2\", \"M114.4 224h92.4l-15.2 51.2h-76.4V433c0 8-2.8 9.2 4.4 10l59.6 5.6V483H0v-35.2l29.2-2.8c7.2-.8 9.2-3.2 9.2-10.8V278.4c0-3.2-4-3.2-8-3.2H0V224h38.4v-28.8c0-68 36.4-96 106-96 46.8 0 88.8 11.2 88.8 72.4l-69.6 8.4c.4-25.6-6-31.6-22.4-31.6-25.2 0-26 13.6-26 37.6v32c0 3.2-4.8 6-.8 6zM384 483H243.2v-34.4l28-3.6c7.2-.8 10.4-2.4 10.4-10V287c0-5.6-4-9.2-9.2-10.8l-33.2-8.8 9.2-40.4h110v208c0 8-3.6 8.8 4 10l21.6 3.6V483zm-30-347.2l12.4 45.6-10 10-42.8-22.8-42.8 22.8-10-10 12.4-45.6-30-36.4 4.8-10h38L307.2 51H320l21.2 38.4h38l4.8 13.2-30 33.2z\"]\n};\nvar faFortAwesome = {\n prefix: 'fab',\n iconName: 'fort-awesome',\n icon: [512, 512, [], \"f286\", \"M489.2 287.9h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6V146.2c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-6-8-4.6-11.7-4.6v-38c8.3-2 17.1-3.4 25.7-3.4 10.9 0 20.9 4.3 31.4 4.3 4.6 0 27.7-1.1 27.7-8v-60c0-2.6-2-4.6-4.6-4.6-5.1 0-15.1 4.3-24 4.3-9.7 0-20.9-4.3-32.6-4.3-8 0-16 1.1-23.7 2.9v-4.9c5.4-2.6 9.1-8.3 9.1-14.3 0-20.7-31.4-20.8-31.4 0 0 6 3.7 11.7 9.1 14.3v111.7c-3.7 0-11.7-1.4-11.7 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32H128v-32c0-2.6-2-4.6-4.6-4.6H96c-2.6 0-4.6 2-4.6 4.6v178.3H54.8v-32c0-2.6-2-4.6-4.6-4.6H22.8c-2.6 0-4.6 2-4.6 4.6V512h182.9v-96c0-72.6 109.7-72.6 109.7 0v96h182.9V292.5c.1-2.6-1.9-4.6-4.5-4.6zm-288.1-4.5c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64zm146.4 0c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64z\"]\n};\nvar faFortAwesomeAlt = {\n prefix: 'fab',\n iconName: 'fort-awesome-alt',\n icon: [512, 512, [], \"f3a3\", \"M208 237.4h-22.2c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7H208c2.1 0 3.7-1.6 3.7-3.7v-51.7c0-2.1-1.6-3.7-3.7-3.7zm118.2 0H304c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7h22.2c2.1 0 3.7-1.6 3.7-3.7v-51.7c-.1-2.1-1.7-3.7-3.7-3.7zm132-125.1c-2.3-3.2-4.6-6.4-7.1-9.5-9.8-12.5-20.8-24-32.8-34.4-4.5-3.9-9.1-7.6-13.9-11.2-1.6-1.2-3.2-2.3-4.8-3.5C372 34.1 340.3 20 306 13c-16.2-3.3-32.9-5-50-5s-33.9 1.7-50 5c-34.3 7.1-66 21.2-93.3 40.8-1.6 1.1-3.2 2.3-4.8 3.5-4.8 3.6-9.4 7.3-13.9 11.2-3 2.6-5.9 5.3-8.8 8s-5.7 5.5-8.4 8.4c-5.5 5.7-10.7 11.8-15.6 18-2.4 3.1-4.8 6.3-7.1 9.5C25.2 153 8.3 202.5 8.3 256c0 2 .1 4 .1 6 .1.7.1 1.3.1 2 .1 1.3.1 2.7.2 4 0 .8.1 1.5.1 2.3 0 1.3.1 2.5.2 3.7.1.8.1 1.6.2 2.4.1 1.1.2 2.3.3 3.5 0 .8.1 1.6.2 2.4.1 1.2.3 2.4.4 3.6.1.8.2 1.5.3 2.3.1 1.3.3 2.6.5 3.9.1.6.2 1.3.3 1.9l.9 5.7c.1.6.2 1.1.3 1.7.3 1.3.5 2.7.8 4 .2.8.3 1.6.5 2.4.2 1 .5 2.1.7 3.2.2.9.4 1.7.6 2.6.2 1 .4 2 .7 3 .2.9.5 1.8.7 2.7.3 1 .5 1.9.8 2.9.3.9.5 1.8.8 2.7.2.9.5 1.9.8 2.8s.5 1.8.8 2.7c.3 1 .6 1.9.9 2.8.6 1.6 1.1 3.3 1.7 4.9.4 1 .7 1.9 1 2.8.3 1 .7 2 1.1 3 .3.8.6 1.5.9 2.3l1.2 3c.3.7.6 1.5.9 2.2.4 1 .9 2 1.3 3l.9 2.1c.5 1 .9 2 1.4 3 .3.7.6 1.3.9 2 .5 1 1 2.1 1.5 3.1.2.6.5 1.1.8 1.7.6 1.1 1.1 2.2 1.7 3.3.1.2.2.3.3.5 2.2 4.1 4.4 8.2 6.8 12.2.2.4.5.8.7 1.2.7 1.1 1.3 2.2 2 3.3.3.5.6.9.9 1.4.6 1.1 1.3 2.1 2 3.2.3.5.6.9.9 1.4.7 1.1 1.4 2.1 2.1 3.2.2.4.5.8.8 1.2.7 1.1 1.5 2.2 2.3 3.3.2.2.3.5.5.7 37.5 51.7 94.4 88.5 160 99.4.9.1 1.7.3 2.6.4 1 .2 2.1.4 3.1.5s1.9.3 2.8.4c1 .2 2 .3 3 .4.9.1 1.9.2 2.9.3s1.9.2 2.9.3 2.1.2 3.1.3c.9.1 1.8.1 2.7.2 1.1.1 2.3.1 3.4.2.8 0 1.7.1 2.5.1 1.3 0 2.6.1 3.9.1.7.1 1.4.1 2.1.1 2 .1 4 .1 6 .1s4-.1 6-.1c.7 0 1.4-.1 2.1-.1 1.3 0 2.6 0 3.9-.1.8 0 1.7-.1 2.5-.1 1.1-.1 2.3-.1 3.4-.2.9 0 1.8-.1 2.7-.2 1-.1 2.1-.2 3.1-.3s1.9-.2 2.9-.3c.9-.1 1.9-.2 2.9-.3s2-.3 3-.4 1.9-.3 2.8-.4c1-.2 2.1-.3 3.1-.5.9-.1 1.7-.3 2.6-.4 65.6-11 122.5-47.7 160.1-102.4.2-.2.3-.5.5-.7.8-1.1 1.5-2.2 2.3-3.3.2-.4.5-.8.8-1.2.7-1.1 1.4-2.1 2.1-3.2.3-.5.6-.9.9-1.4.6-1.1 1.3-2.1 2-3.2.3-.5.6-.9.9-1.4.7-1.1 1.3-2.2 2-3.3.2-.4.5-.8.7-1.2 2.4-4 4.6-8.1 6.8-12.2.1-.2.2-.3.3-.5.6-1.1 1.1-2.2 1.7-3.3.2-.6.5-1.1.8-1.7.5-1 1-2.1 1.5-3.1.3-.7.6-1.3.9-2 .5-1 1-2 1.4-3l.9-2.1c.5-1 .9-2 1.3-3 .3-.7.6-1.5.9-2.2l1.2-3c.3-.8.6-1.5.9-2.3.4-1 .7-2 1.1-3s.7-1.9 1-2.8c.6-1.6 1.2-3.3 1.7-4.9.3-1 .6-1.9.9-2.8s.5-1.8.8-2.7c.2-.9.5-1.9.8-2.8s.6-1.8.8-2.7c.3-1 .5-1.9.8-2.9.2-.9.5-1.8.7-2.7.2-1 .5-2 .7-3 .2-.9.4-1.7.6-2.6.2-1 .5-2.1.7-3.2.2-.8.3-1.6.5-2.4.3-1.3.6-2.7.8-4 .1-.6.2-1.1.3-1.7l.9-5.7c.1-.6.2-1.3.3-1.9.1-1.3.3-2.6.5-3.9.1-.8.2-1.5.3-2.3.1-1.2.3-2.4.4-3.6 0-.8.1-1.6.2-2.4.1-1.1.2-2.3.3-3.5.1-.8.1-1.6.2-2.4.1 1.7.1.5.2-.7 0-.8.1-1.5.1-2.3.1-1.3.2-2.7.2-4 .1-.7.1-1.3.1-2 .1-2 .1-4 .1-6 0-53.5-16.9-103-45.8-143.7zM448 371.5c-9.4 15.5-20.6 29.9-33.6 42.9-20.6 20.6-44.5 36.7-71.2 48-13.9 5.8-28.2 10.3-42.9 13.2v-75.8c0-58.6-88.6-58.6-88.6 0v75.8c-14.7-2.9-29-7.3-42.9-13.2-26.7-11.3-50.6-27.4-71.2-48-13-13-24.2-27.4-33.6-42.9v-71.3c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7V326h29.6V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7H208c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-4.8 6.5-3.7 9.5-3.7V88.1c-4.4-2-7.4-6.7-7.4-11.5 0-16.8 25.4-16.8 25.4 0 0 4.8-3 9.4-7.4 11.5V92c6.3-1.4 12.7-2.3 19.2-2.3 9.4 0 18.4 3.5 26.3 3.5 7.2 0 15.2-3.5 19.4-3.5 2.1 0 3.7 1.6 3.7 3.7v48.4c0 5.6-18.7 6.5-22.4 6.5-8.6 0-16.6-3.5-25.4-3.5-7 0-14.1 1.2-20.8 2.8v30.7c3 0 9.5-1.1 9.5 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v144h29.5v-25.8c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7z\"]\n};\nvar faForumbee = {\n prefix: 'fab',\n iconName: 'forumbee',\n icon: [448, 512, [], \"f211\", \"M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7zm392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7zm15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8zm29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7z\"]\n};\nvar faFoursquare = {\n prefix: 'fab',\n iconName: 'foursquare',\n icon: [368, 512, [], \"f180\", \"M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z\"]\n};\nvar faFreeCodeCamp = {\n prefix: 'fab',\n iconName: 'free-code-camp',\n icon: [576, 512, [], \"f2c5\", \"M97.22,96.21c10.36-10.65,16-17.12,16-21.9,0-2.76-1.92-5.51-3.83-7.42A14.81,14.81,0,0,0,101,64.05c-8.48,0-20.92,8.79-35.84,25.69C23.68,137,2.51,182.81,3.37,250.34s17.47,117,54.06,161.87C76.22,435.86,90.62,448,100.9,448a13.55,13.55,0,0,0,8.37-3.84c1.91-2.76,3.81-5.63,3.81-8.38,0-5.63-3.86-12.2-13.2-20.55-44.45-42.33-67.32-97-67.48-165C32.25,188.8,54,137.83,97.22,96.21ZM239.47,420.07c.58.37.91.55.91.55Zm93.79.55.17-.13C333.24,420.62,333.17,420.67,333.26,420.62Zm3.13-158.18c-16.24-4.15,50.41-82.89-68.05-177.17,0,0,15.54,49.38-62.83,159.57-74.27,104.35,23.46,168.73,34,175.23-6.73-4.35-47.4-35.7,9.55-128.64,11-18.3,25.53-34.87,43.5-72.16,0,0,15.91,22.45,7.6,71.13C287.7,364,354,342.91,355,343.94c22.75,26.78-17.72,73.51-21.58,76.55,5.49-3.65,117.71-78,33-188.1C360.43,238.4,352.62,266.59,336.39,262.44ZM510.88,89.69C496,72.79,483.52,64,475,64a14.81,14.81,0,0,0-8.39,2.84c-1.91,1.91-3.83,4.66-3.83,7.42,0,4.78,5.6,11.26,16,21.9,43.23,41.61,65,92.59,64.82,154.06-.16,68-23,122.63-67.48,165-9.34,8.35-13.18,14.92-13.2,20.55,0,2.75,1.9,5.62,3.81,8.38A13.61,13.61,0,0,0,475.1,448c10.28,0,24.68-12.13,43.47-35.79,36.59-44.85,53.14-94.38,54.06-161.87S552.32,137,510.88,89.69Z\"]\n};\nvar faFreebsd = {\n prefix: 'fab',\n iconName: 'freebsd',\n icon: [448, 512, [], \"f3a4\", \"M303.7 96.2c11.1-11.1 115.5-77 139.2-53.2 23.7 23.7-42.1 128.1-53.2 139.2-11.1 11.1-39.4.9-63.1-22.9-23.8-23.7-34.1-52-22.9-63.1zM109.9 68.1C73.6 47.5 22 24.6 5.6 41.1c-16.6 16.6 7.1 69.4 27.9 105.7 18.5-32.2 44.8-59.3 76.4-78.7zM406.7 174c3.3 11.3 2.7 20.7-2.7 26.1-20.3 20.3-87.5-27-109.3-70.1-18-32.3-11.1-53.4 14.9-48.7 5.7-3.6 12.3-7.6 19.6-11.6-29.8-15.5-63.6-24.3-99.5-24.3-119.1 0-215.6 96.5-215.6 215.6 0 119 96.5 215.6 215.6 215.6S445.3 380.1 445.3 261c0-38.4-10.1-74.5-27.7-105.8-3.9 7-7.6 13.3-10.9 18.8z\"]\n};\nvar faFulcrum = {\n prefix: 'fab',\n iconName: 'fulcrum',\n icon: [320, 512, [], \"f50b\", \"M95.75 164.14l-35.38 43.55L25 164.14l35.38-43.55zM144.23 0l-20.54 198.18L72.72 256l51 57.82L144.23 512V300.89L103.15 256l41.08-44.89zm79.67 164.14l35.38 43.55 35.38-43.55-35.38-43.55zm-48.48 47L216.5 256l-41.08 44.89V512L196 313.82 247 256l-51-57.82L175.42 0z\"]\n};\nvar faGalacticRepublic = {\n prefix: 'fab',\n iconName: 'galactic-republic',\n icon: [496, 512, [], \"f50c\", \"M248 504C111.25 504 0 392.75 0 256S111.25 8 248 8s248 111.25 248 248-111.25 248-248 248zm0-479.47C120.37 24.53 16.53 128.37 16.53 256S120.37 487.47 248 487.47 479.47 383.63 479.47 256 375.63 24.53 248 24.53zm27.62 21.81v24.62a185.933 185.933 0 0 1 83.57 34.54l17.39-17.36c-28.75-22.06-63.3-36.89-100.96-41.8zm-55.37.07c-37.64 4.94-72.16 19.8-100.88 41.85l17.28 17.36h.08c24.07-17.84 52.55-30.06 83.52-34.67V46.41zm12.25 50.17v82.87c-10.04 2.03-19.42 5.94-27.67 11.42l-58.62-58.59-21.93 21.93 58.67 58.67c-5.47 8.23-9.45 17.59-11.47 27.62h-82.9v31h82.9c2.02 10.02 6.01 19.31 11.47 27.54l-58.67 58.69 21.93 21.93 58.62-58.62a77.873 77.873 0 0 0 27.67 11.47v82.9h31v-82.9c10.05-2.03 19.37-6.06 27.62-11.55l58.67 58.69 21.93-21.93-58.67-58.69c5.46-8.23 9.47-17.52 11.5-27.54h82.87v-31h-82.87c-2.02-10.02-6.03-19.38-11.5-27.62l58.67-58.67-21.93-21.93-58.67 58.67c-8.25-5.49-17.57-9.47-27.62-11.5V96.58h-31zm183.24 30.72l-17.36 17.36a186.337 186.337 0 0 1 34.67 83.67h24.62c-4.95-37.69-19.83-72.29-41.93-101.03zm-335.55.13c-22.06 28.72-36.91 63.26-41.85 100.91h24.65c4.6-30.96 16.76-59.45 34.59-83.52l-17.39-17.39zM38.34 283.67c4.92 37.64 19.75 72.18 41.8 100.9l17.36-17.39c-17.81-24.07-29.92-52.57-34.51-83.52H38.34zm394.7 0c-4.61 30.99-16.8 59.5-34.67 83.6l17.36 17.36c22.08-28.74 36.98-63.29 41.93-100.96h-24.62zM136.66 406.38l-17.36 17.36c28.73 22.09 63.3 36.98 100.96 41.93v-24.64c-30.99-4.63-59.53-16.79-83.6-34.65zm222.53.05c-24.09 17.84-52.58 30.08-83.57 34.67v24.57c37.67-4.92 72.21-19.79 100.96-41.85l-17.31-17.39h-.08z\"]\n};\nvar faGalacticSenate = {\n prefix: 'fab',\n iconName: 'galactic-senate',\n icon: [512, 512, [], \"f50d\", \"M249.86 33.48v26.07C236.28 80.17 226 168.14 225.39 274.9c11.74-15.62 19.13-33.33 19.13-48.24v-16.88c-.03-5.32.75-10.53 2.19-15.65.65-2.14 1.39-4.08 2.62-5.82 1.23-1.75 3.43-3.79 6.68-3.79 3.24 0 5.45 2.05 6.68 3.79 1.23 1.75 1.97 3.68 2.62 5.82 1.44 5.12 2.22 10.33 2.19 15.65v16.88c0 14.91 7.39 32.62 19.13 48.24-.63-106.76-10.91-194.73-24.49-215.35V33.48h-12.28zm-26.34 147.77c-9.52 2.15-18.7 5.19-27.46 9.08 8.9 16.12 9.76 32.64 1.71 37.29-8 4.62-21.85-4.23-31.36-19.82-11.58 8.79-21.88 19.32-30.56 31.09 14.73 9.62 22.89 22.92 18.32 30.66-4.54 7.7-20.03 7.14-35.47-.96-5.78 13.25-9.75 27.51-11.65 42.42 9.68.18 18.67 2.38 26.18 6.04 17.78-.3 32.77-1.96 40.49-4.22 5.55-26.35 23.02-48.23 46.32-59.51.73-25.55 1.88-49.67 3.48-72.07zm64.96 0c1.59 22.4 2.75 46.52 3.47 72.07 23.29 11.28 40.77 33.16 46.32 59.51 7.72 2.26 22.71 3.92 40.49 4.22 7.51-3.66 16.5-5.85 26.18-6.04-1.9-14.91-5.86-29.17-11.65-42.42-15.44 8.1-30.93 8.66-35.47.96-4.57-7.74 3.6-21.05 18.32-30.66-8.68-11.77-18.98-22.3-30.56-31.09-9.51 15.59-23.36 24.44-31.36 19.82-8.05-4.65-7.19-21.16 1.71-37.29a147.49 147.49 0 0 0-27.45-9.08zm-32.48 8.6c-3.23 0-5.86 8.81-6.09 19.93h-.05v16.88c0 41.42-49.01 95.04-93.49 95.04-52 0-122.75-1.45-156.37 29.17v2.51c9.42 17.12 20.58 33.17 33.18 47.97C45.7 380.26 84.77 360.4 141.2 360c45.68 1.02 79.03 20.33 90.76 40.87.01.01-.01.04 0 .05 7.67 2.14 15.85 3.23 24.04 3.21 8.19.02 16.37-1.07 24.04-3.21.01-.01-.01-.04 0-.05 11.74-20.54 45.08-39.85 90.76-40.87 56.43.39 95.49 20.26 108.02 41.35 12.6-14.8 23.76-30.86 33.18-47.97v-2.51c-33.61-30.62-104.37-29.17-156.37-29.17-44.48 0-93.49-53.62-93.49-95.04v-16.88h-.05c-.23-11.12-2.86-19.93-6.09-19.93zm0 96.59c22.42 0 40.6 18.18 40.6 40.6s-18.18 40.65-40.6 40.65-40.6-18.23-40.6-40.65c0-22.42 18.18-40.6 40.6-40.6zm0 7.64c-18.19 0-32.96 14.77-32.96 32.96S237.81 360 256 360s32.96-14.77 32.96-32.96-14.77-32.96-32.96-32.96zm0 6.14c14.81 0 26.82 12.01 26.82 26.82s-12.01 26.82-26.82 26.82-26.82-12.01-26.82-26.82 12.01-26.82 26.82-26.82zm-114.8 66.67c-10.19.07-21.6.36-30.5 1.66.43 4.42 1.51 18.63 7.11 29.76 9.11-2.56 18.36-3.9 27.62-3.9 41.28.94 71.48 34.35 78.26 74.47l.11 4.7c10.4 1.91 21.19 2.94 32.21 2.94 11.03 0 21.81-1.02 32.21-2.94l.11-4.7c6.78-40.12 36.98-73.53 78.26-74.47 9.26 0 18.51 1.34 27.62 3.9 5.6-11.13 6.68-25.34 7.11-29.76-8.9-1.3-20.32-1.58-30.5-1.66-18.76.42-35.19 4.17-48.61 9.67-12.54 16.03-29.16 30.03-49.58 33.07-.09.02-.17.04-.27.05-.05.01-.11.04-.16.05-5.24 1.07-10.63 1.6-16.19 1.6-5.55 0-10.95-.53-16.19-1.6-.05-.01-.11-.04-.16-.05-.1-.02-.17-.04-.27-.05-20.42-3.03-37.03-17.04-49.58-33.07-13.42-5.49-29.86-9.25-48.61-9.67z\"]\n};\nvar faGetPocket = {\n prefix: 'fab',\n iconName: 'get-pocket',\n icon: [448, 512, [], \"f265\", \"M407.6 64h-367C18.5 64 0 82.5 0 104.6v135.2C0 364.5 99.7 464 224.2 464c124 0 223.8-99.5 223.8-224.2V104.6c0-22.4-17.7-40.6-40.4-40.6zm-162 268.5c-12.4 11.8-31.4 11.1-42.4 0C89.5 223.6 88.3 227.4 88.3 209.3c0-16.9 13.8-30.7 30.7-30.7 17 0 16.1 3.8 105.2 89.3 90.6-86.9 88.6-89.3 105.5-89.3 16.9 0 30.7 13.8 30.7 30.7 0 17.8-2.9 15.7-114.8 123.2z\"]\n};\nvar faGg = {\n prefix: 'fab',\n iconName: 'gg',\n icon: [512, 512, [], \"f260\", \"M179.2 230.4l102.4 102.4-102.4 102.4L0 256 179.2 76.8l44.8 44.8-25.6 25.6-19.2-19.2-128 128 128 128 51.5-51.5-77.1-76.5 25.6-25.6zM332.8 76.8L230.4 179.2l102.4 102.4 25.6-25.6-77.1-76.5 51.5-51.5 128 128-128 128-19.2-19.2-25.6 25.6 44.8 44.8L512 256 332.8 76.8z\"]\n};\nvar faGgCircle = {\n prefix: 'fab',\n iconName: 'gg-circle',\n icon: [512, 512, [], \"f261\", \"M257 8C120 8 9 119 9 256s111 248 248 248 248-111 248-248S394 8 257 8zm-49.5 374.8L81.8 257.1l125.7-125.7 35.2 35.4-24.2 24.2-11.1-11.1-77.2 77.2 77.2 77.2 26.6-26.6-53.1-52.9 24.4-24.4 77.2 77.2-75 75.2zm99-2.2l-35.2-35.2 24.1-24.4 11.1 11.1 77.2-77.2-77.2-77.2-26.5 26.5 53.1 52.9-24.4 24.4-77.2-77.2 75-75L432.2 255 306.5 380.6z\"]\n};\nvar faGit = {\n prefix: 'fab',\n iconName: 'git',\n icon: [512, 512, [], \"f1d3\", \"M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11zm-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16zm133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61zM512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z\"]\n};\nvar faGitAlt = {\n prefix: 'fab',\n iconName: 'git-alt',\n icon: [448, 512, [], \"f841\", \"M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z\"]\n};\nvar faGitSquare = {\n prefix: 'fab',\n iconName: 'git-square',\n icon: [448, 512, [], \"f1d2\", \"M100.59 334.24c48.57 3.31 58.95 2.11 58.95 11.94 0 20-65.55 20.06-65.55 1.52.01-5.09 3.29-9.4 6.6-13.46zm27.95-116.64c-32.29 0-33.75 44.47-.75 44.47 32.51 0 31.71-44.47.75-44.47zM448 80v352a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48V80a48 48 0 0 1 48-48h352a48 48 0 0 1 48 48zm-227 69.31c0 14.49 8.38 22.88 22.86 22.88 14.74 0 23.13-8.39 23.13-22.88S258.62 127 243.88 127c-14.48 0-22.88 7.84-22.88 22.31zM199.18 195h-49.55c-25-6.55-81.56-4.85-81.56 46.75 0 18.8 9.4 32 21.85 38.11C74.23 294.23 66.8 301 66.8 310.6c0 6.87 2.79 13.22 11.18 16.76-8.9 8.4-14 14.48-14 25.92C64 373.35 81.53 385 127.52 385c44.22 0 69.87-16.51 69.87-45.73 0-36.67-28.23-35.32-94.77-39.38l8.38-13.43c17 4.74 74.19 6.23 74.19-42.43 0-11.69-4.83-19.82-9.4-25.67l23.38-1.78zm84.34 109.84l-13-1.78c-3.82-.51-4.07-1-4.07-5.09V192.52h-52.6l-2.79 20.57c15.75 5.55 17 4.86 17 10.17V298c0 5.62-.31 4.58-17 6.87v20.06h72.42zM384 315l-6.87-22.37c-40.93 15.37-37.85-12.41-37.85-16.73v-60.72h37.85v-25.41h-35.82c-2.87 0-2 2.52-2-38.63h-24.18c-2.79 27.7-11.68 38.88-34 41.42v22.62c20.47 0 19.82-.85 19.82 2.54v66.57c0 28.72 11.43 40.91 41.67 40.91 14.45 0 30.45-4.83 41.38-10.2z\"]\n};\nvar faGithub = {\n prefix: 'fab',\n iconName: 'github',\n icon: [496, 512, [], \"f09b\", \"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"]\n};\nvar faGithubAlt = {\n prefix: 'fab',\n iconName: 'github-alt',\n icon: [480, 512, [], \"f113\", \"M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z\"]\n};\nvar faGithubSquare = {\n prefix: 'fab',\n iconName: 'github-square',\n icon: [448, 512, [], \"f092\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z\"]\n};\nvar faGitkraken = {\n prefix: 'fab',\n iconName: 'gitkraken',\n icon: [592, 512, [], \"f3a6\", \"M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z\"]\n};\nvar faGitlab = {\n prefix: 'fab',\n iconName: 'gitlab',\n icon: [512, 512, [], \"f296\", \"M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z\"]\n};\nvar faGitter = {\n prefix: 'fab',\n iconName: 'gitter',\n icon: [384, 512, [], \"f426\", \"M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z\"]\n};\nvar faGlide = {\n prefix: 'fab',\n iconName: 'glide',\n icon: [448, 512, [], \"f2a5\", \"M252.8 148.6c0 8.8-1.6 17.7-3.4 26.4-5.8 27.8-11.6 55.8-17.3 83.6-1.4 6.3-8.3 4.9-13.7 4.9-23.8 0-30.5-26-30.5-45.5 0-29.3 11.2-68.1 38.5-83.1 4.3-2.5 9.2-4.2 14.1-4.2 11.4 0 12.3 8.3 12.3 17.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 187c0-5.1-20.8-37.7-25.5-39.5-2.2-.9-7.2-2.3-9.6-2.3-23.1 0-38.7 10.5-58.2 21.5l-.5-.5c4.3-29.4 14.6-57.2 14.6-87.4 0-44.6-23.8-62.7-67.5-62.7-71.7 0-108 70.8-108 123.5 0 54.7 32 85 86.3 85 7.5 0 6.9-.6 6.9 2.3-10.5 80.3-56.5 82.9-56.5 58.9 0-24.4 28-36.5 28.3-38-.2-7.6-29.3-17.2-36.7-17.2-21.1 0-32.7 33-32.7 50.6 0 32.3 20.4 54.7 53.3 54.7 48.2 0 83.4-49.7 94.3-91.7 9.4-37.7 7-39.4 12.3-42.1 20-10.1 35.8-16.8 58.4-16.8 11.1 0 19 2.3 36.7 5.2 1.8.1 4.1-1.7 4.1-3.5z\"]\n};\nvar faGlideG = {\n prefix: 'fab',\n iconName: 'glide-g',\n icon: [448, 512, [], \"f2a6\", \"M407.1 211.2c-3.5-1.4-11.6-3.8-15.4-3.8-37.1 0-62.2 16.8-93.5 34.5l-.9-.9c7-47.3 23.5-91.9 23.5-140.4C320.8 29.1 282.6 0 212.4 0 97.3 0 39 113.7 39 198.4 39 286.3 90.3 335 177.6 335c12 0 11-1 11 3.8-16.9 128.9-90.8 133.1-90.8 94.6 0-39.2 45-58.6 45.5-61-.3-12.2-47-27.6-58.9-27.6-33.9.1-52.4 51.2-52.4 79.3C32 476 64.8 512 117.5 512c77.4 0 134-77.8 151.4-145.4 15.1-60.5 11.2-63.3 19.7-67.6 32.2-16.2 57.5-27 93.8-27 17.8 0 30.5 3.7 58.9 8.4 2.9 0 6.7-2.9 6.7-5.8 0-8-33.4-60.5-40.9-63.4zm-175.3-84.4c-9.3 44.7-18.6 89.6-27.8 134.3-2.3 10.2-13.3 7.8-22 7.8-38.3 0-49-41.8-49-73.1 0-47 18-109.3 61.8-133.4 7-4.1 14.8-6.7 22.6-6.7 18.6 0 20 13.3 20 28.7-.1 14.3-2.7 28.5-5.6 42.4z\"]\n};\nvar faGofore = {\n prefix: 'fab',\n iconName: 'gofore',\n icon: [400, 512, [], \"f3a7\", \"M324 319.8h-13.2v34.7c-24.5 23.1-56.3 35.8-89.9 35.8-73.2 0-132.4-60.2-132.4-134.4 0-74.1 59.2-134.4 132.4-134.4 35.3 0 68.6 14 93.6 39.4l62.3-63.3C335 55.3 279.7 32 220.7 32 98 32 0 132.6 0 256c0 122.5 97 224 220.7 224 63.2 0 124.5-26.2 171-82.5-2-27.6-13.4-77.7-67.7-77.7zm-12.1-112.5H205.6v89H324c33.5 0 60.5 15.1 76 41.8v-30.6c0-65.2-40.4-100.2-88.1-100.2z\"]\n};\nvar faGoodreads = {\n prefix: 'fab',\n iconName: 'goodreads',\n icon: [448, 512, [], \"f3a8\", \"M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8.3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9.4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2.5-1 1.1-1.9 1.7-2.9.2.1.4.1.6.2.3 3.8.2 30.7.1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z\"]\n};\nvar faGoodreadsG = {\n prefix: 'fab',\n iconName: 'goodreads-g',\n icon: [384, 512, [], \"f3a9\", \"M42.6 403.3h2.8c12.7 0 25.5 0 38.2.1 1.6 0 3.1-.4 3.6 2.1 7.1 34.9 30 54.6 62.9 63.9 26.9 7.6 54.1 7.8 81.3 1.8 33.8-7.4 56-28.3 68-60.4 8-21.5 10.7-43.8 11-66.5.1-5.8.3-47-.2-52.8l-.9-.3c-.8 1.5-1.7 2.9-2.5 4.4-22.1 43.1-61.3 67.4-105.4 69.1-103 4-169.4-57-172-176.2-.5-23.7 1.8-46.9 8.3-69.7C58.3 47.7 112.3.6 191.6 0c61.3-.4 101.5 38.7 116.2 70.3.5 1.1 1.3 2.3 2.4 1.9V10.6h44.3c0 280.3.1 332.2.1 332.2-.1 78.5-26.7 143.7-103 162.2-69.5 16.9-159 4.8-196-57.2-8-13.5-11.8-28.3-13-44.5zM188.9 36.5c-52.5-.5-108.5 40.7-115 133.8-4.1 59 14.8 122.2 71.5 148.6 27.6 12.9 74.3 15 108.3-8.7 47.6-33.2 62.7-97 54.8-154-9.7-71.1-47.8-120-119.6-119.7z\"]\n};\nvar faGoogle = {\n prefix: 'fab',\n iconName: 'google',\n icon: [488, 512, [], \"f1a0\", \"M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z\"]\n};\nvar faGoogleDrive = {\n prefix: 'fab',\n iconName: 'google-drive',\n icon: [512, 512, [], \"f3aa\", \"M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z\"]\n};\nvar faGooglePay = {\n prefix: 'fab',\n iconName: 'google-pay',\n icon: [640, 512, [], \"e079\", \"M105.72,215v41.25h57.1a49.66,49.66,0,0,1-21.14,32.6c-9.54,6.55-21.72,10.28-36,10.28-27.6,0-50.93-18.91-59.3-44.22a65.61,65.61,0,0,1,0-41l0,0c8.37-25.46,31.7-44.37,59.3-44.37a56.43,56.43,0,0,1,40.51,16.08L176.47,155a101.24,101.24,0,0,0-70.75-27.84,105.55,105.55,0,0,0-94.38,59.11,107.64,107.64,0,0,0,0,96.18v.15a105.41,105.41,0,0,0,94.38,59c28.47,0,52.55-9.53,70-25.91,20-18.61,31.41-46.15,31.41-78.91A133.76,133.76,0,0,0,205.38,215Zm389.41-4c-10.13-9.38-23.93-14.14-41.39-14.14-22.46,0-39.34,8.34-50.5,24.86l20.85,13.26q11.45-17,31.26-17a34.05,34.05,0,0,1,22.75,8.79A28.14,28.14,0,0,1,487.79,248v5.51c-9.1-5.07-20.55-7.75-34.64-7.75-16.44,0-29.65,3.88-39.49,11.77s-14.82,18.31-14.82,31.56a39.74,39.74,0,0,0,13.94,31.27c9.25,8.34,21,12.51,34.79,12.51,16.29,0,29.21-7.3,39-21.89h1v17.72h22.61V250C510.25,233.45,505.26,220.34,495.13,211ZM475.9,300.3a37.32,37.32,0,0,1-26.57,11.16A28.61,28.61,0,0,1,431,305.21a19.41,19.41,0,0,1-7.77-15.63c0-7,3.22-12.81,9.54-17.42s14.53-7,24.07-7C470,265,480.3,268,487.64,273.94,487.64,284.07,483.68,292.85,475.9,300.3Zm-93.65-142A55.71,55.71,0,0,0,341.74,142H279.07V328.74H302.7V253.1h39c16,0,29.5-5.36,40.51-15.93.88-.89,1.76-1.79,2.65-2.68A54.45,54.45,0,0,0,382.25,158.26Zm-16.58,62.23a30.65,30.65,0,0,1-23.34,9.68H302.7V165h39.63a32,32,0,0,1,22.6,9.23A33.18,33.18,0,0,1,365.67,220.49ZM614.31,201,577.77,292.7h-.45L539.9,201H514.21L566,320.55l-29.35,64.32H561L640,201Z\"]\n};\nvar faGooglePlay = {\n prefix: 'fab',\n iconName: 'google-play',\n icon: [512, 512, [], \"f3ab\", \"M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z\"]\n};\nvar faGooglePlus = {\n prefix: 'fab',\n iconName: 'google-plus',\n icon: [512, 512, [], \"f2b3\", \"M256,8C119.1,8,8,119.1,8,256S119.1,504,256,504,504,392.9,504,256,392.9,8,256,8ZM185.3,380a124,124,0,0,1,0-248c31.3,0,60.1,11,83,32.3l-33.6,32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9,0-77.2,35.5-77.2,78.1S142.3,334,185.3,334c32.6,0,64.9-19.1,70.1-53.3H185.3V238.1H302.2a109.2,109.2,0,0,1,1.9,20.7c0,70.8-47.5,121.2-118.8,121.2ZM415.5,273.8v35.5H380V273.8H344.5V238.3H380V202.8h35.5v35.5h35.2v35.5Z\"]\n};\nvar faGooglePlusG = {\n prefix: 'fab',\n iconName: 'google-plus-g',\n icon: [640, 512, [], \"f0d5\", \"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z\"]\n};\nvar faGooglePlusSquare = {\n prefix: 'fab',\n iconName: 'google-plus-square',\n icon: [448, 512, [], \"f0d4\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM164 356c-55.3 0-100-44.7-100-100s44.7-100 100-100c27 0 49.5 9.8 67 26.2l-27.1 26.1c-7.4-7.1-20.3-15.4-39.8-15.4-34.1 0-61.9 28.2-61.9 63.2 0 34.9 27.8 63.2 61.9 63.2 39.6 0 54.4-28.5 56.8-43.1H164v-34.4h94.4c1 5 1.6 10.1 1.6 16.6 0 57.1-38.3 97.6-96 97.6zm220-81.8h-29v29h-29.2v-29h-29V245h29v-29H355v29h29v29.2z\"]\n};\nvar faGoogleWallet = {\n prefix: 'fab',\n iconName: 'google-wallet',\n icon: [448, 512, [], \"f1ee\", \"M156.8 126.8c37.6 60.6 64.2 113.1 84.3 162.5-8.3 33.8-18.8 66.5-31.3 98.3-13.2-52.3-26.5-101.3-56-148.5 6.5-36.4 2.3-73.6 3-112.3zM109.3 200H16.1c-6.5 0-10.5 7.5-6.5 12.7C51.8 267 81.3 330.5 101.3 400h103.5c-16.2-69.7-38.7-133.7-82.5-193.5-3-4-8-6.5-13-6.5zm47.8-88c68.5 108 130 234.5 138.2 368H409c-12-138-68.4-265-143.2-368H157.1zm251.8-68.5c-1.8-6.8-8.2-11.5-15.2-11.5h-88.3c-5.3 0-9 5-7.8 10.3 13.2 46.5 22.3 95.5 26.5 146 48.2 86.2 79.7 178.3 90.6 270.8 15.8-60.5 25.3-133.5 25.3-203 0-73.6-12.1-145.1-31.1-212.6z\"]\n};\nvar faGratipay = {\n prefix: 'fab',\n iconName: 'gratipay',\n icon: [496, 512, [], \"f184\", \"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm114.6 226.4l-113 152.7-112.7-152.7c-8.7-11.9-19.1-50.4 13.6-72 28.1-18.1 54.6-4.2 68.5 11.9 15.9 17.9 46.6 16.9 61.7 0 13.9-16.1 40.4-30 68.1-11.9 32.9 21.6 22.6 60 13.8 72z\"]\n};\nvar faGrav = {\n prefix: 'fab',\n iconName: 'grav',\n icon: [512, 512, [], \"f2d6\", \"M301.1 212c4.4 4.4 4.4 11.9 0 16.3l-9.7 9.7c-4.4 4.7-11.9 4.7-16.6 0l-10.5-10.5c-4.4-4.7-4.4-11.9 0-16.6l9.7-9.7c4.4-4.4 11.9-4.4 16.6 0l10.5 10.8zm-30.2-19.7c3-3 3-7.8 0-10.5-2.8-3-7.5-3-10.5 0-2.8 2.8-2.8 7.5 0 10.5 3.1 2.8 7.8 2.8 10.5 0zm-26 5.3c-3 2.8-3 7.5 0 10.2 2.8 3 7.5 3 10.5 0 2.8-2.8 2.8-7.5 0-10.2-3-3-7.7-3-10.5 0zm72.5-13.3c-19.9-14.4-33.8-43.2-11.9-68.1 21.6-24.9 40.7-17.2 59.8.8 11.9 11.3 29.3 24.9 17.2 48.2-12.5 23.5-45.1 33.2-65.1 19.1zm47.7-44.5c-8.9-10-23.3 6.9-15.5 16.1 7.4 9 32.1 2.4 15.5-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-66.2 42.6c2.5-16.1-20.2-16.6-25.2-25.7-13.6-24.1-27.7-36.8-54.5-30.4 11.6-8 23.5-6.1 23.5-6.1.3-6.4 0-13-9.4-24.9 3.9-12.5.3-22.4.3-22.4 15.5-8.6 26.8-24.4 29.1-43.2 3.6-31-18.8-59.2-49.8-62.8-22.1-2.5-43.7 7.7-54.3 25.7-23.2 40.1 1.4 70.9 22.4 81.4-14.4-1.4-34.3-11.9-40.1-34.3-6.6-25.7 2.8-49.8 8.9-61.4 0 0-4.4-5.8-8-8.9 0 0-13.8 0-24.6 5.3 11.9-15.2 25.2-14.4 25.2-14.4 0-6.4-.6-14.9-3.6-21.6-5.4-11-23.8-12.9-31.7 2.8.1-.2.3-.4.4-.5-5 11.9-1.1 55.9 16.9 87.2-2.5 1.4-9.1 6.1-13 10-21.6 9.7-56.2 60.3-56.2 60.3-28.2 10.8-77.2 50.9-70.6 79.7.3 3 1.4 5.5 3 7.5-2.8 2.2-5.5 5-8.3 8.3-11.9 13.8-5.3 35.2 17.7 24.4 15.8-7.2 29.6-20.2 36.3-30.4 0 0-5.5-5-16.3-4.4 27.7-6.6 34.3-9.4 46.2-9.1 8 3.9 8-34.3 8-34.3 0-14.7-2.2-31-11.1-41.5 12.5 12.2 29.1 32.7 28 60.6-.8 18.3-15.2 23-15.2 23-9.1 16.6-43.2 65.9-30.4 106 0 0-9.7-14.9-10.2-22.1-17.4 19.4-46.5 52.3-24.6 64.5 26.6 14.7 108.8-88.6 126.2-142.3 34.6-20.8 55.4-47.3 63.9-65 22 43.5 95.3 94.5 101.1 59z\"]\n};\nvar faGripfire = {\n prefix: 'fab',\n iconName: 'gripfire',\n icon: [384, 512, [], \"f3ac\", \"M112.5 301.4c0-73.8 105.1-122.5 105.1-203 0-47.1-34-88-39.1-90.4.4 3.3.6 6.7.6 10C179.1 110.1 32 171.9 32 286.6c0 49.8 32.2 79.2 66.5 108.3 65.1 46.7 78.1 71.4 78.1 86.6 0 10.1-4.8 17-4.8 22.3 13.1-16.7 17.4-31.9 17.5-46.4 0-29.6-21.7-56.3-44.2-86.5-16-22.3-32.6-42.6-32.6-69.5zm205.3-39c-12.1-66.8-78-124.4-94.7-130.9l4 7.2c2.4 5.1 3.4 10.9 3.4 17.1 0 44.7-54.2 111.2-56.6 116.7-2.2 5.1-3.2 10.5-3.2 15.8 0 20.1 15.2 42.1 17.9 42.1 2.4 0 56.6-55.4 58.1-87.7 6.4 11.7 9.1 22.6 9.1 33.4 0 41.2-41.8 96.9-41.8 96.9 0 11.6 31.9 53.2 35.5 53.2 1 0 2.2-1.4 3.2-2.4 37.9-39.3 67.3-85 67.3-136.8 0-8-.7-16.2-2.2-24.6z\"]\n};\nvar faGrunt = {\n prefix: 'fab',\n iconName: 'grunt',\n icon: [384, 512, [], \"f3ad\", \"M61.3 189.3c-1.1 10 5.2 19.1 5.2 19.1.7-7.5 2.2-12.8 4-16.6.4 10.3 3.2 23.5 12.8 34.1 6.9 7.6 35.6 23.3 54.9 6.1 1 2.4 2.1 5.3 3 8.5 2.9 10.3-2.7 25.3-2.7 25.3s15.1-17.1 13.9-32.5c10.8-.5 21.4-8.4 21.1-19.5 0 0-18.9 10.4-35.5-8.8-9.7-11.2-40.9-42-83.1-31.8 4.3 1 8.9 2.4 13.5 4.1h-.1c-4.2 2-6.5 7.1-7 12zm28.3-1.8c19.5 11 37.4 25.7 44.9 37-5.7 3.3-21.7 10.4-38-1.7-10.3-7.6-9.8-26.2-6.9-35.3zm142.1 45.8c-1.2 15.5 13.9 32.5 13.9 32.5s-5.6-15-2.7-25.3c.9-3.2 2-6 3-8.5 19.3 17.3 48 1.5 54.8-6.1 9.6-10.6 12.3-23.8 12.8-34.1 1.8 3.8 3.4 9.1 4 16.6 0 0 6.4-9.1 5.2-19.1-.6-5-2.9-10-7-11.8h-.1c4.6-1.8 9.2-3.2 13.5-4.1-42.3-10.2-73.4 20.6-83.1 31.8-16.7 19.2-35.5 8.8-35.5 8.8-.2 10.9 10.4 18.9 21.2 19.3zm62.7-45.8c3 9.1 3.4 27.7-7 35.4-16.3 12.1-32.2 5-37.9 1.6 7.5-11.4 25.4-26 44.9-37zM160 418.5h-29.4c-5.5 0-8.2 1.6-9.5 2.9-1.9 2-2.2 4.7-.9 8.1 3.5 9.1 11.4 16.5 13.7 18.6 3.1 2.7 7.5 4.3 11.8 4.3 4.4 0 8.3-1.7 11-4.6 7.5-8.2 11.9-17.1 13-19.8.6-1.5 1.3-4.5-.9-6.8-1.8-1.8-4.7-2.7-8.8-2.7zm189.2-101.2c-2.4 17.9-13 33.8-24.6 43.7-3.1-22.7-3.7-55.5-3.7-62.4 0-14.7 9.5-24.5 12.2-26.1 2.5-1.5 5.4-3 8.3-4.6 18-9.6 40.4-21.6 40.4-43.7 0-16.2-9.3-23.2-15.4-27.8-.8-.6-1.5-1.1-2.2-1.7-2.1-1.7-3.7-3-4.3-4.4-4.4-9.8-3.6-34.2-1.7-37.6.6-.6 16.7-20.9 11.8-39.2-2-7.4-6.9-13.3-14.1-17-5.3-2.7-11.9-4.2-19.5-4.5-.1-2-.5-3.9-.9-5.9-.6-2.6-1.1-5.3-.9-8.1.4-4.7.8-9 2.2-11.3 8.4-13.3 28.8-17.6 29-17.6l12.3-2.4-8.1-9.5c-.1-.2-17.3-17.5-46.3-17.5-7.9 0-16 1.3-24.1 3.9-24.2 7.8-42.9 30.5-49.4 39.3-3.1-1-6.3-1.9-9.6-2.7-4.2-15.8 9-38.5 9-38.5s-13.6-3-33.7 15.2c-2.6-6.5-8.1-20.5-1.8-37.2C184.6 10.1 177.2 26 175 40.4c-7.6-5.4-6.7-23.1-7.2-27.6-7.5.9-29.2 21.9-28.2 48.3-2 .5-3.9 1.1-5.9 1.7-6.5-8.8-25.1-31.5-49.4-39.3-7.9-2.2-16-3.5-23.9-3.5-29 0-46.1 17.3-46.3 17.5L6 46.9l12.3 2.4c.2 0 20.6 4.3 29 17.6 1.4 2.2 1.8 6.6 2.2 11.3.2 2.8-.4 5.5-.9 8.1-.4 1.9-.8 3.9-.9 5.9-7.7.3-14.2 1.8-19.5 4.5-7.2 3.7-12.1 9.6-14.1 17-5 18.2 11.2 38.5 11.8 39.2 1.9 3.4 2.7 27.8-1.7 37.6-.6 1.4-2.2 2.7-4.3 4.4-.7.5-1.4 1.1-2.2 1.7-6.1 4.6-15.4 11.7-15.4 27.8 0 22.1 22.4 34.1 40.4 43.7 3 1.6 5.8 3.1 8.3 4.6 2.7 1.6 12.2 11.4 12.2 26.1 0 6.9-.6 39.7-3.7 62.4-11.6-9.9-22.2-25.9-24.6-43.8 0 0-29.2 22.6-20.6 70.8 5.2 29.5 23.2 46.1 47 54.7 8.8 19.1 29.4 45.7 67.3 49.6C143 504.3 163 512 192.2 512h.2c29.1 0 49.1-7.7 63.6-19.5 37.9-3.9 58.5-30.5 67.3-49.6 23.8-8.7 41.7-25.2 47-54.7 8.2-48.4-21.1-70.9-21.1-70.9zM305.7 37.7c5.6-1.8 11.6-2.7 17.7-2.7 11 0 19.9 3 24.7 5-3.1 1.4-6.4 3.2-9.7 5.3-2.4-.4-5.6-.8-9.2-.8-10.5 0-20.5 3.1-28.7 8.9-12.3 8.7-18 16.9-20.7 22.4-2.2-1.3-4.5-2.5-7.1-3.7-1.6-.8-3.1-1.5-4.7-2.2 6.1-9.1 19.9-26.5 37.7-32.2zm21 18.2c-.8 1-1.6 2.1-2.3 3.2-3.3 5.2-3.9 11.6-4.4 17.8-.5 6.4-1.1 12.5-4.4 17-4.2.8-8.1 1.7-11.5 2.7-2.3-3.1-5.6-7-10.5-11.2 1.4-4.8 5.5-16.1 13.5-22.5 5.6-4.3 12.2-6.7 19.6-7zM45.6 45.3c-3.3-2.2-6.6-4-9.7-5.3 4.8-2 13.7-5 24.7-5 6.1 0 12 .9 17.7 2.7 17.8 5.8 31.6 23.2 37.7 32.1-1.6.7-3.2 1.4-4.8 2.2-2.5 1.2-4.9 2.5-7.1 3.7-2.6-5.4-8.3-13.7-20.7-22.4-8.3-5.8-18.2-8.9-28.8-8.9-3.4.1-6.6.5-9 .9zm44.7 40.1c-4.9 4.2-8.3 8-10.5 11.2-3.4-.9-7.3-1.9-11.5-2.7C65 89.5 64.5 83.4 64 77c-.5-6.2-1.1-12.6-4.4-17.8-.7-1.1-1.5-2.2-2.3-3.2 7.4.3 14 2.6 19.5 7 8 6.3 12.1 17.6 13.5 22.4zM58.1 259.9c-2.7-1.6-5.6-3.1-8.4-4.6-14.9-8-30.2-16.3-30.2-30.5 0-11.1 4.3-14.6 8.9-18.2l.5-.4c.7-.6 1.4-1.2 2.2-1.8-.9 7.2-1.9 13.3-2.7 14.9 0 0 12.1-15 15.7-44.3 1.4-11.5-1.1-34.3-5.1-43 .2 4.9 0 9.8-.3 14.4-.4-.8-.8-1.6-1.3-2.2-3.2-4-11.8-17.5-9.4-26.6.9-3.5 3.1-6 6.7-7.8 3.8-1.9 8.8-2.9 15.1-2.9 12.3 0 25.9 3.7 32.9 6 25.1 8 55.4 30.9 64.1 37.7.2.2.4.3.4.3l5.6 3.9-3.5-5.8c-.2-.3-19.1-31.4-53.2-46.5 2-2.9 7.4-8.1 21.6-15.1 21.4-10.5 46.5-15.8 74.3-15.8 27.9 0 52.9 5.3 74.3 15.8 14.2 6.9 19.6 12.2 21.6 15.1-34 15.1-52.9 46.2-53.1 46.5l-3.5 5.8 5.6-3.9s.2-.1.4-.3c8.7-6.8 39-29.8 64.1-37.7 7-2.2 20.6-6 32.9-6 6.3 0 11.3 1 15.1 2.9 3.5 1.8 5.7 4.4 6.7 7.8 2.5 9.1-6.1 22.6-9.4 26.6-.5.6-.9 1.3-1.3 2.2-.3-4.6-.5-9.5-.3-14.4-4 8.8-6.5 31.5-5.1 43 3.6 29.3 15.7 44.3 15.7 44.3-.8-1.6-1.8-7.7-2.7-14.9.7.6 1.5 1.2 2.2 1.8l.5.4c4.6 3.7 8.9 7.1 8.9 18.2 0 14.2-15.4 22.5-30.2 30.5-2.9 1.5-5.7 3.1-8.4 4.6-8.7 5-18 16.7-19.1 34.2-.9 14.6.9 49.9 3.4 75.9-12.4 4.8-26.7 6.4-39.7 6.8-2-4.1-3.9-8.5-5.5-13.1-.7-2-19.6-51.1-26.4-62.2 5.5 39 17.5 73.7 23.5 89.6-3.5-.5-7.3-.7-11.7-.7h-117c-4.4 0-8.3.3-11.7.7 6-15.9 18.1-50.6 23.5-89.6-6.8 11.2-25.7 60.3-26.4 62.2-1.6 4.6-3.5 9-5.5 13.1-13-.4-27.2-2-39.7-6.8 2.5-26 4.3-61.2 3.4-75.9-.9-17.4-10.3-29.2-19-34.2zM34.8 404.6c-12.1-20-8.7-54.1-3.7-59.1 10.9 34.4 47.2 44.3 74.4 45.4-2.7 4.2-5.2 7.6-7 10l-1.4 1.4c-7.2 7.8-8.6 18.5-4.1 31.8-22.7-.1-46.3-9.8-58.2-29.5zm45.7 43.5c6 1.1 12.2 1.9 18.6 2.4 3.5 8 7.4 15.9 12.3 23.1-14.4-5.9-24.4-16-30.9-25.5zM192 498.2c-60.6-.1-78.3-45.8-84.9-64.7-3.7-10.5-3.4-18.2.9-23.1 2.9-3.3 9.5-7.2 24.6-7.2h118.8c15.1 0 21.8 3.9 24.6 7.2 4.2 4.8 4.5 12.6.9 23.1-6.6 18.8-24.3 64.6-84.9 64.7zm80.6-24.6c4.9-7.2 8.8-15.1 12.3-23.1 6.4-.5 12.6-1.3 18.6-2.4-6.5 9.5-16.5 19.6-30.9 25.5zm76.6-69c-12 19.7-35.6 29.3-58.1 29.7 4.5-13.3 3.1-24.1-4.1-31.8-.4-.5-.9-1-1.4-1.5-1.8-2.4-4.3-5.8-7-10 27.2-1.2 63.5-11 74.4-45.4 5 5 8.4 39.1-3.8 59zM191.9 187.7h.2c12.7-.1 27.2-17.8 27.2-17.8-9.9 6-18.8 8.1-27.3 8.3-8.5-.2-17.4-2.3-27.3-8.3 0 0 14.5 17.6 27.2 17.8zm61.7 230.7h-29.4c-4.2 0-7.2.9-8.9 2.7-2.2 2.3-1.5 5.2-.9 6.7 1 2.6 5.5 11.3 13 19.3 2.7 2.9 6.6 4.5 11 4.5s8.7-1.6 11.8-4.2c2.3-2 10.2-9.2 13.7-18.1 1.3-3.3 1-6-.9-7.9-1.3-1.3-4-2.9-9.4-3z\"]\n};\nvar faGuilded = {\n prefix: 'fab',\n iconName: 'guilded',\n icon: [448, 512, [], \"e07e\", \"M443.427,64H4.571c0,103.26,22.192,180.06,43.418,222.358C112.046,414.135,224,448,225.256,448a312.824,312.824,0,0,0,140.55-103.477c25.907-33.923,53.1-87.19,65.916-145.761H171.833c4.14,36.429,22.177,67.946,45.1,86.944h88.589c-17.012,28.213-48.186,54.4-80.456,69.482-31.232-13.259-69.09-46.544-96.548-98.362-26.726-53.833-27.092-105.883-27.092-105.883H437.573A625.91,625.91,0,0,0,443.427,64Z\"]\n};\nvar faGulp = {\n prefix: 'fab',\n iconName: 'gulp',\n icon: [256, 512, [], \"f3ae\", \"M209.8 391.1l-14.1 24.6-4.6 80.2c0 8.9-28.3 16.1-63.1 16.1s-63.1-7.2-63.1-16.1l-5.8-79.4-14.9-25.4c41.2 17.3 126 16.7 165.6 0zm-196-253.3l13.6 125.5c5.9-20 20.8-47 40-55.2 6.3-2.7 12.7-2.7 18.7.9 5.2 3 9.6 9.3 10.1 11.8 1.2 6.5-2 9.1-4.5 9.1-3 0-5.3-4.6-6.8-7.3-4.1-7.3-10.3-7.6-16.9-2.8-6.9 5-12.9 13.4-17.1 20.7-5.1 8.8-9.4 18.5-12 28.2-1.5 5.6-2.9 14.6-.6 19.9 1 2.2 2.5 3.6 4.9 3.6 5 0 12.3-6.6 15.8-10.1 4.5-4.5 10.3-11.5 12.5-16l5.2-15.5c2.6-6.8 9.9-5.6 9.9 0 0 10.2-3.7 13.6-10 34.7-5.8 19.5-7.6 25.8-7.6 25.8-.7 2.8-3.4 7.5-6.3 7.5-1.2 0-2.1-.4-2.6-1.2-1-1.4-.9-5.3-.8-6.3.2-3.2 6.3-22.2 7.3-25.2-2 2.2-4.1 4.4-6.4 6.6-5.4 5.1-14.1 11.8-21.5 11.8-3.4 0-5.6-.9-7.7-2.4l7.6 79.6c2 5 39.2 17.1 88.2 17.1 49.1 0 86.3-12.2 88.2-17.1l10.9-94.6c-5.7 5.2-12.3 11.6-19.6 14.8-5.4 2.3-17.4 3.8-17.4-5.7 0-5.2 9.1-14.8 14.4-21.5 1.4-1.7 4.7-5.9 4.7-8.1 0-2.9-6-2.2-11.7 2.5-3.2 2.7-6.2 6.3-8.7 9.7-4.3 6-6.6 11.2-8.5 15.5-6.2 14.2-4.1 8.6-9.1 22-5 13.3-4.2 11.8-5.2 14-.9 1.9-2.2 3.5-4 4.5-1.9 1-4.5.9-6.1-.3-.9-.6-1.3-1.9-1.3-3.7 0-.9.1-1.8.3-2.7 1.5-6.1 7.8-18.1 15-34.3 1.6-3.7 1-2.6.8-2.3-6.2 6-10.9 8.9-14.4 10.5-5.8 2.6-13 2.6-14.5-4.1-.1-.4-.1-.8-.2-1.2-11.8 9.2-24.3 11.7-20-8.1-4.6 8.2-12.6 14.9-22.4 14.9-4.1 0-7.1-1.4-8.6-5.1-2.3-5.5 1.3-14.9 4.6-23.8 1.7-4.5 4-9.9 7.1-16.2 1.6-3.4 4.2-5.4 7.6-4.5.6.2 1.1.4 1.6.7 2.6 1.8 1.6 4.5.3 7.2-3.8 7.5-7.1 13-9.3 20.8-.9 3.3-2 9 1.5 9 2.4 0 4.7-.8 6.9-2.4 4.6-3.4 8.3-8.5 11.1-13.5 2-3.6 4.4-8.3 5.6-12.3.5-1.7 1.1-3.3 1.8-4.8 1.1-2.5 2.6-5.1 5.2-5.1 1.3 0 2.4.5 3.2 1.5 1.7 2.2 1.3 4.5.4 6.9-2 5.6-4.7 10.6-6.9 16.7-1.3 3.5-2.7 8-2.7 11.7 0 3.4 3.7 2.6 6.8 1.2 2.4-1.1 4.8-2.8 6.8-4.5 1.2-4.9.9-3.8 26.4-68.2 1.3-3.3 3.7-4.7 6.1-4.7 1.2 0 2.2.4 3.2 1.1 1.7 1.3 1.7 4.1 1 6.2-.7 1.9-.6 1.3-4.5 10.5-5.2 12.1-8.6 20.8-13.2 31.9-1.9 4.6-7.7 18.9-8.7 22.3-.6 2.2-1.3 5.8 1 5.8 5.4 0 19.3-13.1 23.1-17 .2-.3.5-.4.9-.6.6-1.9 1.2-3.7 1.7-5.5 1.4-3.8 2.7-8.2 5.3-11.3.8-1 1.7-1.6 2.7-1.6 2.8 0 4.2 1.2 4.2 4 0 1.1-.7 5.1-1.1 6.2 1.4-1.5 2.9-3 4.5-4.5 15-13.9 25.7-6.8 25.7.2 0 7.4-8.9 17.7-13.8 23.4-1.6 1.9-4.9 5.4-5 6.4 0 1.3.9 1.8 2.2 1.8 2 0 6.4-3.5 8-4.7 5-3.9 11.8-9.9 16.6-14.1l14.8-136.8c-30.5 17.1-197.6 17.2-228.3.2zm229.7-8.5c0 21-231.2 21-231.2 0 0-8.8 51.8-15.9 115.6-15.9 9 0 17.8.1 26.3.4l12.6-48.7L228.1.6c1.4-1.4 5.8-.2 9.9 3.5s6.6 7.9 5.3 9.3l-.1.1L185.9 74l-10 40.7c39.9 2.6 67.6 8.1 67.6 14.6zm-69.4 4.6c0-.8-.9-1.5-2.5-2.1l-.2.8c0 1.3-5 2.4-11.1 2.4s-11.1-1.1-11.1-2.4c0-.1 0-.2.1-.3l.2-.7c-1.8.6-3 1.4-3 2.3 0 2.1 6.2 3.7 13.7 3.7 7.7.1 13.9-1.6 13.9-3.7z\"]\n};\nvar faHackerNews = {\n prefix: 'fab',\n iconName: 'hacker-news',\n icon: [448, 512, [], \"f1d4\", \"M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"]\n};\nvar faHackerNewsSquare = {\n prefix: 'fab',\n iconName: 'hacker-news-square',\n icon: [448, 512, [], \"f3af\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"]\n};\nvar faHackerrank = {\n prefix: 'fab',\n iconName: 'hackerrank',\n icon: [512, 512, [], \"f5f7\", \"M477.5 128C463 103.05 285.13 0 256.16 0S49.25 102.79 34.84 128s-14.49 230.8 0 256 192.38 128 221.32 128S463 409.08 477.49 384s14.51-231 .01-256zM316.13 414.22c-4 0-40.91-35.77-38-38.69.87-.87 6.26-1.48 17.55-1.83 0-26.23.59-68.59.94-86.32 0-2-.44-3.43-.44-5.85h-79.93c0 7.1-.46 36.2 1.37 72.88.23 4.54-1.58 6-5.74 5.94-10.13 0-20.27-.11-30.41-.08-4.1 0-5.87-1.53-5.74-6.11.92-33.44 3-84-.15-212.67v-3.17c-9.67-.35-16.38-1-17.26-1.84-2.92-2.92 34.54-38.69 38.49-38.69s41.17 35.78 38.27 38.69c-.87.87-7.9 1.49-16.77 1.84v3.16c-2.42 25.75-2 79.59-2.63 105.39h80.26c0-4.55.39-34.74-1.2-83.64-.1-3.39.95-5.17 4.21-5.2 11.07-.08 22.15-.13 33.23-.06 3.46 0 4.57 1.72 4.5 5.38C333 354.64 336 341.29 336 373.69c8.87.35 16.82 1 17.69 1.84 2.88 2.91-33.62 38.69-37.58 38.69z\"]\n};\nvar faHips = {\n prefix: 'fab',\n iconName: 'hips',\n icon: [640, 512, [], \"f452\", \"M251.6 157.6c0-1.9-.9-2.8-2.8-2.8h-40.9c-1.6 0-2.7 1.4-2.7 2.8v201.8c0 1.4 1.1 2.8 2.7 2.8h40.9c1.9 0 2.8-.9 2.8-2.8zM156.5 168c-16.1-11.8-36.3-17.9-60.3-18-18.1-.1-34.6 3.7-49.8 11.4V80.2c0-1.8-.9-2.7-2.8-2.7H2.7c-1.8 0-2.7.9-2.7 2.7v279.2c0 1.9.9 2.8 2.7 2.8h41c1.9 0 2.8-.9 2.8-2.8V223.3c0-.8-2.8-27 45.8-27 48.5 0 45.8 26.1 45.8 27v122.6c0 9 7.3 16.3 16.4 16.3h27.3c1.8 0 2.7-.9 2.7-2.8V223.3c0-23.4-9.3-41.8-28-55.3zm478.4 110.1c-6.8-15.7-18.4-27-34.9-34.1l-57.6-25.3c-8.6-3.6-9.2-11.2-2.6-16.1 7.4-5.5 44.3-13.9 84 6.8 1.7 1 4-.3 4-2.4v-44.7c0-1.3-.6-2.1-1.9-2.6-17.7-6.6-36.1-9.9-55.1-9.9-26.5 0-45.3 5.8-58.5 15.4-.5.4-28.4 20-22.7 53.7 3.4 19.6 15.8 34.2 37.2 43.6l53.6 23.5c11.6 5.1 15.2 13.3 12.2 21.2-3.7 9.1-13.2 13.6-36.5 13.6-24.3 0-44.7-8.9-58.4-19.1-2.1-1.4-4.4.2-4.4 2.3v34.4c0 10.4 4.9 17.3 14.6 20.7 15.6 5.5 31.6 8.2 48.2 8.2 12.7 0 25.8-1.2 36.3-4.3.7-.3 36-8.9 45.6-45.8 3.5-13.5 2.4-26.5-3.1-39.1zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zM228.3 72.5c-15.9 0-28.8 12.9-28.9 28.9 0 15.6 12.7 28.9 28.9 28.9s28.9-13.1 28.9-28.9c0-16.2-13-28.9-28.9-28.9z\"]\n};\nvar faHireAHelper = {\n prefix: 'fab',\n iconName: 'hire-a-helper',\n icon: [512, 512, [], \"f3b0\", \"M443.1 0H71.9C67.9 37.3 37.4 67.8 0 71.7v371.5c37.4 4.9 66 32.4 71.9 68.8h372.2c3-36.4 32.5-65.8 67.9-69.8V71.7c-36.4-5.9-65-35.3-68.9-71.7zm-37 404.9c-36.3 0-18.8-2-55.1-2-35.8 0-21 2-56.1 2-5.9 0-4.9-8.2 0-9.8 22.8-7.6 22.9-10.2 24.6-12.8 10.4-15.6 5.9-83 5.9-113 0-5.3-6.4-12.8-13.8-12.8H200.4c-7.4 0-13.8 7.5-13.8 12.8 0 30-4.5 97.4 5.9 113 1.7 2.5 1.8 5.2 24.6 12.8 4.9 1.6 6 9.8 0 9.8-35.1 0-20.3-2-56.1-2-36.3 0-18.8 2-55.1 2-7.9 0-5.8-10.8 0-10.8 10.2-3.4 13.5-3.5 21.7-13.8 7.7-12.9 7.9-44.4 7.9-127.8V151.3c0-22.2-12.2-28.3-28.6-32.4-8.8-2.2-4-11.8 1-11.8 36.5 0 20.6 2 57.1 2 32.7 0 16.5-2 49.2-2 3.3 0 8.5 8.3 1 10.8-4.9 1.6-27.6 3.7-27.6 39.3 0 45.6-.2 55.8 1 68.8 0 1.3 2.3 12.8 12.8 12.8h109.2c10.5 0 12.8-11.5 12.8-12.8 1.2-13 1-23.2 1-68.8 0-35.6-22.7-37.7-27.6-39.3-7.5-2.5-2.3-10.8 1-10.8 32.7 0 16.5 2 49.2 2 36.5 0 20.6-2 57.1-2 4.9 0 9.9 9.6 1 11.8-16.4 4.1-28.6 10.3-28.6 32.4v101.2c0 83.4.1 114.9 7.9 127.8 8.2 10.2 11.4 10.4 21.7 13.8 5.8 0 7.8 10.8 0 10.8z\"]\n};\nvar faHive = {\n prefix: 'fab',\n iconName: 'hive',\n icon: [512, 512, [], \"e07f\", \"M260.353,254.878,131.538,33.1a2.208,2.208,0,0,0-3.829.009L.3,254.887A2.234,2.234,0,0,0,.3,257.122L129.116,478.9a2.208,2.208,0,0,0,3.83-.009L260.358,257.113A2.239,2.239,0,0,0,260.353,254.878Zm39.078-25.713a2.19,2.19,0,0,0,1.9,1.111h66.509a2.226,2.226,0,0,0,1.9-3.341L259.115,33.111a2.187,2.187,0,0,0-1.9-1.111H190.707a2.226,2.226,0,0,0-1.9,3.341ZM511.7,254.886,384.9,33.112A2.2,2.2,0,0,0,382.99,32h-66.6a2.226,2.226,0,0,0-1.906,3.34L440.652,256,314.481,476.66a2.226,2.226,0,0,0,1.906,3.34h66.6a2.2,2.2,0,0,0,1.906-1.112L511.7,257.114A2.243,2.243,0,0,0,511.7,254.886ZM366.016,284.917H299.508a2.187,2.187,0,0,0-1.9,1.111l-108.8,190.631a2.226,2.226,0,0,0,1.9,3.341h66.509a2.187,2.187,0,0,0,1.9-1.111l108.8-190.631A2.226,2.226,0,0,0,366.016,284.917Z\"]\n};\nvar faHooli = {\n prefix: 'fab',\n iconName: 'hooli',\n icon: [640, 512, [], \"f427\", \"M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z\"]\n};\nvar faHornbill = {\n prefix: 'fab',\n iconName: 'hornbill',\n icon: [512, 512, [], \"f592\", \"M76.38 370.3a37.8 37.8 0 1 1-32.07-32.42c-78.28-111.35 52-190.53 52-190.53-5.86 43-8.24 91.16-8.24 91.16-67.31 41.49.93 64.06 39.81 72.87a140.38 140.38 0 0 0 131.66 91.94c1.92 0 3.77-.21 5.67-.28l.11 18.86c-99.22 1.39-158.7-29.14-188.94-51.6zm108-327.7A37.57 37.57 0 0 0 181 21.45a37.95 37.95 0 1 0-31.17 54.22c-22.55 29.91-53.83 89.57-52.42 190l21.84-.15c0-.9-.14-1.77-.14-2.68A140.42 140.42 0 0 1 207 132.71c8-37.71 30.7-114.3 73.8-44.29 0 0 48.14 2.38 91.18 8.24 0 0-77.84-128-187.59-54.06zm304.19 134.17a37.94 37.94 0 1 0-53.84-28.7C403 126.13 344.89 99 251.28 100.33l.14 22.5c2.7-.15 5.39-.41 8.14-.41a140.37 140.37 0 0 1 130.49 88.76c39.1 9 105.06 31.58 38.46 72.54 0 0-2.34 48.13-8.21 91.16 0 0 133.45-81.16 49-194.61a37.45 37.45 0 0 0 19.31-3.5zM374.06 436.24c21.43-32.46 46.42-89.69 45.14-179.66l-19.52.14c.08 2.06.3 4.07.3 6.15a140.34 140.34 0 0 1-91.39 131.45c-8.85 38.95-31.44 106.66-72.77 39.49 0 0-48.12-2.34-91.19-8.22 0 0 79.92 131.34 191.9 51a37.5 37.5 0 0 0 3.64 14 37.93 37.93 0 1 0 33.89-54.29z\"]\n};\nvar faHotjar = {\n prefix: 'fab',\n iconName: 'hotjar',\n icon: [448, 512, [], \"f3b1\", \"M414.9 161.5C340.2 29 121.1 0 121.1 0S222.2 110.4 93 197.7C11.3 252.8-21 324.4 14 402.6c26.8 59.9 83.5 84.3 144.6 93.4-29.2-55.1-6.6-122.4-4.1-129.6 57.1 86.4 165 0 110.8-93.9 71 15.4 81.6 138.6 27.1 215.5 80.5-25.3 134.1-88.9 148.8-145.6 15.5-59.3 3.7-127.9-26.3-180.9z\"]\n};\nvar faHouzz = {\n prefix: 'fab',\n iconName: 'houzz',\n icon: [448, 512, [], \"f27c\", \"M275.9 330.7H171.3V480H17V32h109.5v104.5l305.1 85.6V480H275.9z\"]\n};\nvar faHtml5 = {\n prefix: 'fab',\n iconName: 'html5',\n icon: [384, 512, [], \"f13b\", \"M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z\"]\n};\nvar faHubspot = {\n prefix: 'fab',\n iconName: 'hubspot',\n icon: [512, 512, [], \"f3b2\", \"M267.4 211.6c-25.1 23.7-40.8 57.3-40.8 94.6 0 29.3 9.7 56.3 26 78L203.1 434c-4.4-1.6-9.1-2.5-14-2.5-10.8 0-20.9 4.2-28.5 11.8-7.6 7.6-11.8 17.8-11.8 28.6s4.2 20.9 11.8 28.5c7.6 7.6 17.8 11.6 28.5 11.6 10.8 0 20.9-3.9 28.6-11.6 7.6-7.6 11.8-17.8 11.8-28.5 0-4.2-.6-8.2-1.9-12.1l50-50.2c22 16.9 49.4 26.9 79.3 26.9 71.9 0 130-58.3 130-130.2 0-65.2-47.7-119.2-110.2-128.7V116c17.5-7.4 28.2-23.8 28.2-42.9 0-26.1-20.9-47.9-47-47.9S311.2 47 311.2 73.1c0 19.1 10.7 35.5 28.2 42.9v61.2c-15.2 2.1-29.6 6.7-42.7 13.6-27.6-20.9-117.5-85.7-168.9-124.8 1.2-4.4 2-9 2-13.8C129.8 23.4 106.3 0 77.4 0 48.6 0 25.2 23.4 25.2 52.2c0 28.9 23.4 52.3 52.2 52.3 9.8 0 18.9-2.9 26.8-7.6l163.2 114.7zm89.5 163.6c-38.1 0-69-30.9-69-69s30.9-69 69-69 69 30.9 69 69-30.9 69-69 69z\"]\n};\nvar faIdeal = {\n prefix: 'fab',\n iconName: 'ideal',\n icon: [576, 512, [], \"e013\", \"M125.61,165.48a49.07,49.07,0,1,0,49.06,49.06A49.08,49.08,0,0,0,125.61,165.48ZM86.15,425.84h78.94V285.32H86.15Zm151.46-211.6c0-20-10-22.53-18.74-22.53H204.82V237.5h14.05C228.62,237.5,237.61,234.69,237.61,214.24Zm201.69,46V168.93h22.75V237.5h33.69C486.5,113.08,388.61,86.19,299.67,86.19H204.84V169h14c25.6,0,41.5,17.35,41.5,45.26,0,28.81-15.52,46-41.5,46h-14V425.88h94.83c144.61,0,194.94-67.16,196.72-165.64Zm-109.75,0H273.3V169h54.43v22.73H296v10.58h30V225H296V237.5h33.51Zm74.66,0-5.16-17.67H369.31l-5.18,17.67H340.47L368,168.92h32.35l27.53,91.34ZM299.65,32H32V480H299.65c161.85,0,251-79.73,251-224.52C550.62,172,518,32,299.65,32Zm0,426.92H53.07V53.07H299.65c142.1,0,229.9,64.61,229.9,202.41C529.55,389.57,448.55,458.92,299.65,458.92Zm83.86-264.85L376,219.88H392.4l-7.52-25.81Z\"]\n};\nvar faImdb = {\n prefix: 'fab',\n iconName: 'imdb',\n icon: [448, 512, [], \"f2d8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.3 229.2H21c.1-.1.2-.3.3-.4zM97 319.8H64V192h33zm113.2 0h-28.7v-86.4l-11.6 86.4h-20.6l-12.2-84.5v84.5h-29V192h42.8c3.3 19.8 6 39.9 8.7 59.9l7.6-59.9h43zm11.4 0V192h24.6c17.6 0 44.7-1.6 49 20.9 1.7 7.6 1.4 16.3 1.4 24.4 0 88.5 11.1 82.6-75 82.5zm160.9-29.2c0 15.7-2.4 30.9-22.2 30.9-9 0-15.2-3-20.9-9.8l-1.9 8.1h-29.8V192h31.7v41.7c6-6.5 12-9.2 20.9-9.2 21.4 0 22.2 12.8 22.2 30.1zM265 229.9c0-9.7 1.6-16-10.3-16v83.7c12.2.3 10.3-8.7 10.3-18.4zm85.5 26.1c0-5.4 1.1-12.7-6.2-12.7-6 0-4.9 8.9-4.9 12.7 0 .6-1.1 39.6 1.1 44.7.8 1.6 2.2 2.4 3.8 2.4 7.8 0 6.2-9 6.2-14.4z\"]\n};\nvar faInnosoft = {\n prefix: 'fab',\n iconName: 'innosoft',\n icon: [448, 512, [], \"e080\", \"M422.559,159.71a27.379,27.379,0,0,0-13.866-23.337,26.42,26.42,0,0,0-26.211.133L73.943,314.647V176.261a11.955,11.955,0,0,1,6.047-10.34L218.066,86.208a12.153,12.153,0,0,1,11.922.025l32.656,18.853L112.581,191.723v56L359.642,105.086,241.129,36.679c-10.992-6.129-22.3-6.255-33.8-.27l-164.6,95.026c-10.634,6.12-16.771,16.39-17.29,29.124l0,191.5c.17,10.135,5.08,18.672,13.474,23.428a27.037,27.037,0,0,0,26.736-.045L374.057,197.376V335.657a11.976,11.976,0,0,1-5.92,10.368L230.025,425.77a12.175,12.175,0,0,1-11.937.062l-32.723-18.9,150.051-86.627v-56L88.367,406.932l118.794,68.583a33.88,33.88,0,0,0,34.25-.327l164.527-94.995c10.746-6.631,16.649-17.118,16.624-29.528Z\"]\n};\nvar faInstagram = {\n prefix: 'fab',\n iconName: 'instagram',\n icon: [448, 512, [], \"f16d\", \"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"]\n};\nvar faInstagramSquare = {\n prefix: 'fab',\n iconName: 'instagram-square',\n icon: [448, 512, [], \"e055\", \"M224,202.66A53.34,53.34,0,1,0,277.36,256,53.38,53.38,0,0,0,224,202.66Zm124.71-41a54,54,0,0,0-30.41-30.41c-21-8.29-71-6.43-94.3-6.43s-73.25-1.93-94.31,6.43a54,54,0,0,0-30.41,30.41c-8.28,21-6.43,71.05-6.43,94.33S91,329.26,99.32,350.33a54,54,0,0,0,30.41,30.41c21,8.29,71,6.43,94.31,6.43s73.24,1.93,94.3-6.43a54,54,0,0,0,30.41-30.41c8.35-21,6.43-71.05,6.43-94.33S357.1,182.74,348.75,161.67ZM224,338a82,82,0,1,1,82-82A81.9,81.9,0,0,1,224,338Zm85.38-148.3a19.14,19.14,0,1,1,19.13-19.14A19.1,19.1,0,0,1,309.42,189.74ZM400,32H48A48,48,0,0,0,0,80V432a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V80A48,48,0,0,0,400,32ZM382.88,322c-1.29,25.63-7.14,48.34-25.85,67s-41.4,24.63-67,25.85c-26.41,1.49-105.59,1.49-132,0-25.63-1.29-48.26-7.15-67-25.85s-24.63-41.42-25.85-67c-1.49-26.42-1.49-105.61,0-132,1.29-25.63,7.07-48.34,25.85-67s41.47-24.56,67-25.78c26.41-1.49,105.59-1.49,132,0,25.63,1.29,48.33,7.15,67,25.85s24.63,41.42,25.85,67.05C384.37,216.44,384.37,295.56,382.88,322Z\"]\n};\nvar faInstalod = {\n prefix: 'fab',\n iconName: 'instalod',\n icon: [512, 512, [], \"e081\", \"M153.384,480H387.113L502.554,275.765,204.229,333.211ZM504.726,240.078,387.113,32H155.669L360.23,267.9ZM124.386,48.809,7.274,256,123.236,461.154,225.627,165.561Z\"]\n};\nvar faIntercom = {\n prefix: 'fab',\n iconName: 'intercom',\n icon: [448, 512, [], \"f7af\", \"M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm-108.3 82.1c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zm-74.6-7.5c0-19.8 29.9-19.8 29.9 0v216.5c0 19.8-29.9 19.8-29.9 0V106.6zm-74.7 7.5c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zM59.7 144c0-19.8 29.9-19.8 29.9 0v134.3c0 19.8-29.9 19.8-29.9 0V144zm323.4 227.8c-72.8 63-241.7 65.4-318.1 0-15-12.8 4.4-35.5 19.4-22.7 65.9 55.3 216.1 53.9 279.3 0 14.9-12.9 34.3 9.8 19.4 22.7zm5.2-93.5c0 19.8-29.9 19.8-29.9 0V144c0-19.8 29.9-19.8 29.9 0v134.3z\"]\n};\nvar faInternetExplorer = {\n prefix: 'fab',\n iconName: 'internet-explorer',\n icon: [512, 512, [], \"f26b\", \"M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z\"]\n};\nvar faInvision = {\n prefix: 'fab',\n iconName: 'invision',\n icon: [448, 512, [], \"f7b0\", \"M407.4 32H40.6C18.2 32 0 50.2 0 72.6v366.8C0 461.8 18.2 480 40.6 480h366.8c22.4 0 40.6-18.2 40.6-40.6V72.6c0-22.4-18.2-40.6-40.6-40.6zM176.1 145.6c.4 23.4-22.4 27.3-26.6 27.4-14.9 0-27.1-12-27.1-27 .1-35.2 53.1-35.5 53.7-.4zM332.8 377c-65.6 0-34.1-74-25-106.6 14.1-46.4-45.2-59-59.9.7l-25.8 103.3H177l8.1-32.5c-31.5 51.8-94.6 44.4-94.6-4.3.1-14.3.9-14 23-104.1H81.7l9.7-35.6h76.4c-33.6 133.7-32.6 126.9-32.9 138.2 0 20.9 40.9 13.5 57.4-23.2l19.8-79.4h-32.3l9.7-35.6h68.8l-8.9 40.5c40.5-75.5 127.9-47.8 101.8 38-14.2 51.1-14.6 50.7-14.9 58.8 0 15.5 17.5 22.6 31.8-16.9L386 325c-10.5 36.7-29.4 52-53.2 52z\"]\n};\nvar faIoxhost = {\n prefix: 'fab',\n iconName: 'ioxhost',\n icon: [640, 512, [], \"f208\", \"M616 160h-67.3C511.2 70.7 422.9 8 320 8 183 8 72 119 72 256c0 16.4 1.6 32.5 4.7 48H24c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h67.3c37.5 89.3 125.8 152 228.7 152 137 0 248-111 248-248 0-16.4-1.6-32.5-4.7-48H616c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24zm-96 96c0 110.5-89.5 200-200 200-75.7 0-141.6-42-175.5-104H424c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24H125.8c-3.8-15.4-5.8-31.4-5.8-48 0-110.5 89.5-200 200-200 75.7 0 141.6 42 175.5 104H216c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h298.2c3.8 15.4 5.8 31.4 5.8 48zm-304-24h208c13.3 0 24 10.7 24 24 0 13.2-10.7 24-24 24H216c-13.3 0-24-10.7-24-24 0-13.2 10.7-24 24-24z\"]\n};\nvar faItchIo = {\n prefix: 'fab',\n iconName: 'itch-io',\n icon: [512, 512, [], \"f83a\", \"M71.92 34.77C50.2 47.67 7.4 96.84 7 109.73v21.34c0 27.06 25.29 50.84 48.25 50.84 27.57 0 50.54-22.85 50.54-50 0 27.12 22.18 50 49.76 50s49-22.85 49-50c0 27.12 23.59 50 51.16 50h.5c27.57 0 51.16-22.85 51.16-50 0 27.12 21.47 50 49 50s49.76-22.85 49.76-50c0 27.12 23 50 50.54 50 23 0 48.25-23.78 48.25-50.84v-21.34c-.4-12.9-43.2-62.07-64.92-75C372.56 32.4 325.76 32 256 32S91.14 33.1 71.92 34.77zm132.32 134.39c-22 38.4-77.9 38.71-99.85.25-13.17 23.14-43.17 32.07-56 27.66-3.87 40.15-13.67 237.13 17.73 269.15 80 18.67 302.08 18.12 379.76 0 31.65-32.27 21.32-232 17.75-269.15-12.92 4.44-42.88-4.6-56-27.66-22 38.52-77.85 38.1-99.85-.24-7.1 12.49-23.05 28.94-51.76 28.94a57.54 57.54 0 0 1-51.75-28.94zm-41.58 53.77c16.47 0 31.09 0 49.22 19.78a436.91 436.91 0 0 1 88.18 0C318.22 223 332.85 223 349.31 223c52.33 0 65.22 77.53 83.87 144.45 17.26 62.15-5.52 63.67-33.95 63.73-42.15-1.57-65.49-32.18-65.49-62.79-39.25 6.43-101.93 8.79-155.55 0 0 30.61-23.34 61.22-65.49 62.79-28.42-.06-51.2-1.58-33.94-63.73 18.67-67 31.56-144.45 83.88-144.45zM256 270.79s-44.38 40.77-52.35 55.21l29-1.17v25.32c0 1.55 21.34.16 23.33.16 11.65.54 23.31 1 23.31-.16v-25.28l29 1.17c-8-14.48-52.35-55.24-52.35-55.24z\"]\n};\nvar faItunes = {\n prefix: 'fab',\n iconName: 'itunes',\n icon: [448, 512, [], \"f3b4\", \"M223.6 80.3C129 80.3 52.5 157 52.5 251.5S129 422.8 223.6 422.8s171.2-76.7 171.2-171.2c0-94.6-76.7-171.3-171.2-171.3zm79.4 240c-3.2 13.6-13.5 21.2-27.3 23.8-12.1 2.2-22.2 2.8-31.9-5-11.8-10-12-26.4-1.4-36.8 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 3.2-3.6 2.2-2 2.2-80.8 0-5.6-2.7-7.1-8.4-6.1-4 .7-91.9 17.1-91.9 17.1-5 1.1-6.7 2.6-6.7 8.3 0 116.1.5 110.8-1.2 118.5-2.1 9-7.6 15.8-14.9 19.6-8.3 4.6-23.4 6.6-31.4 5.2-21.4-4-28.9-28.7-14.4-42.9 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 5-5.7.9-127 2.6-133.7.4-2.6 1.5-4.8 3.5-6.4 2.1-1.7 5.8-2.7 6.7-2.7 101-19 113.3-21.4 115.1-21.4 5.7-.4 9 3 9 8.7-.1 170.6.4 161.4-1 167.6zM345.2 32H102.8C45.9 32 0 77.9 0 134.8v242.4C0 434.1 45.9 480 102.8 480h242.4c57 0 102.8-45.9 102.8-102.8V134.8C448 77.9 402.1 32 345.2 32zM223.6 444c-106.3 0-192.5-86.2-192.5-192.5S117.3 59 223.6 59s192.5 86.2 192.5 192.5S329.9 444 223.6 444z\"]\n};\nvar faItunesNote = {\n prefix: 'fab',\n iconName: 'itunes-note',\n icon: [384, 512, [], \"f3b5\", \"M381.9 388.2c-6.4 27.4-27.2 42.8-55.1 48-24.5 4.5-44.9 5.6-64.5-10.2-23.9-20.1-24.2-53.4-2.7-74.4 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 6.4-7.2 4.4-4.1 4.4-163.2 0-11.2-5.5-14.3-17-12.3-8.2 1.4-185.7 34.6-185.7 34.6-10.2 2.2-13.4 5.2-13.4 16.7 0 234.7 1.1 223.9-2.5 239.5-4.2 18.2-15.4 31.9-30.2 39.5-16.8 9.3-47.2 13.4-63.4 10.4-43.2-8.1-58.4-58-29.1-86.6 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 10.1-11.5 1.8-256.6 5.2-270.2.8-5.2 3-9.6 7.1-12.9 4.2-3.5 11.8-5.5 13.4-5.5 204-38.2 228.9-43.1 232.4-43.1 11.5-.8 18.1 6 18.1 17.6.2 344.5 1.1 326-1.8 338.5z\"]\n};\nvar faJava = {\n prefix: 'fab',\n iconName: 'java',\n icon: [384, 512, [], \"f4e4\", \"M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z\"]\n};\nvar faJediOrder = {\n prefix: 'fab',\n iconName: 'jedi-order',\n icon: [448, 512, [], \"f50e\", \"M398.5 373.6c95.9-122.1 17.2-233.1 17.2-233.1 45.4 85.8-41.4 170.5-41.4 170.5 105-171.5-60.5-271.5-60.5-271.5 96.9 72.7-10.1 190.7-10.1 190.7 85.8 158.4-68.6 230.1-68.6 230.1s-.4-16.9-2.2-85.7c4.3 4.5 34.5 36.2 34.5 36.2l-24.2-47.4 62.6-9.1-62.6-9.1 20.2-55.5-31.4 45.9c-2.2-87.7-7.8-305.1-7.9-306.9v-2.4 1-1 2.4c0 1-5.6 219-7.9 306.9l-31.4-45.9 20.2 55.5-62.6 9.1 62.6 9.1-24.2 47.4 34.5-36.2c-1.8 68.8-2.2 85.7-2.2 85.7s-154.4-71.7-68.6-230.1c0 0-107-118.1-10.1-190.7 0 0-165.5 99.9-60.5 271.5 0 0-86.8-84.8-41.4-170.5 0 0-78.7 111 17.2 233.1 0 0-26.2-16.1-49.4-77.7 0 0 16.9 183.3 222 185.7h4.1c205-2.4 222-185.7 222-185.7-23.6 61.5-49.9 77.7-49.9 77.7z\"]\n};\nvar faJenkins = {\n prefix: 'fab',\n iconName: 'jenkins',\n icon: [512, 512, [], \"f3b6\", \"M487.1 425c-1.4-11.2-19-23.1-28.2-31.9-5.1-5-29-23.1-30.4-29.9-1.4-6.6 9.7-21.5 13.3-28.9 5.1-10.7 8.8-23.7 11.3-32.6 18.8-66.1 20.7-156.9-6.2-211.2-10.2-20.6-38.6-49-56.4-62.5-42-31.7-119.6-35.3-170.1-16.6-14.1 5.2-27.8 9.8-40.1 17.1-33.1 19.4-68.3 32.5-78.1 71.6-24.2 10.8-31.5 41.8-30.3 77.8.2 7 4.1 15.8 2.7 22.4-.7 3.3-5.2 7.6-6.1 9.8-11.6 27.7-2.3 64 11.1 83.7 8.1 11.9 21.5 22.4 39.2 25.2.7 10.6 3.3 19.7 8.2 30.4 3.1 6.8 14.7 19 10.4 27.7-2.2 4.4-21 13.8-27.3 17.6C89 407.2 73.7 415 54.2 429c-12.6 9-32.3 10.2-29.2 31.1 2.1 14.1 10.1 31.6 14.7 45.8.7 2 1.4 4.1 2.1 6h422c4.9-15.3 9.7-30.9 14.6-47.2 3.4-11.4 10.2-27.8 8.7-39.7zM205.9 33.7c1.8-.5 3.4.7 4.9 2.4-.2 5.2-5.4 5.1-8.9 6.8-5.4 6.7-13.4 9.8-20 17.2-6.8 7.5-14.4 27.7-23.4 30-4.5 1.1-9.7-.8-13.6-.5-10.4.7-17.7 6-28.3 7.5 13.6-29.9 56.1-54 89.3-63.4zm-104.8 93.6c13.5-14.9 32.1-24.1 54.8-25.9 11.7 29.7-8.4 65-.9 97.6 2.3 9.9 10.2 25.4-2.4 25.7.3-28.3-34.8-46.3-61.3-29.6-1.8-21.5-4.9-51.7 9.8-67.8zm36.7 200.2c-1-4.1-2.7-12.9-2.3-15.1 1.6-8.7 17.1-12.5 11-24.7-11.3-.1-13.8 10.2-24.1 11.3-26.7 2.6-45.6-35.4-44.4-58.4 1-19.5 17.6-38.2 40.1-35.8 16 1.8 21.4 19.2 24.5 34.7 9.2.5 22.5-.4 26.9-7.6-.6-17.5-8.8-31.6-8.2-47.7 1-30.3 17.5-57.6 4.8-87.4 13.6-30.9 53.5-55.3 83.1-70 36.6-18.3 94.9-3.7 129.3 15.8 19.7 11.1 34.4 32.7 48.3 50.7-19.5-5.8-36.1 4.2-33.1 20.3 16.3-14.9 44.2-.2 52.5 16.4 7.9 15.8 7.8 39.3 9 62.8 2.9 57-10.4 115.9-39.1 157.1-7.7 11-14.1 23-24.9 30.6-26 18.2-65.4 34.7-99.2 23.4-44.7-15-65-44.8-89.5-78.8.7 18.7 13.8 34.1 26.8 48.4 11.3 12.5 25 26.6 39.7 32.4-12.3-2.9-31.1-3.8-36.2 7.2-28.6-1.9-55.1-4.8-68.7-24.2-10.6-15.4-21.4-41.4-26.3-61.4zm222 124.1c4.1-3 11.1-2.9 17.4-3.6-5.4-2.7-13-3.7-19.3-2.2-.1-4.2-2-6.8-3.2-10.2 10.6-3.8 35.5-28.5 49.6-20.3 6.7 3.9 9.5 26.2 10.1 37 .4 9-.8 18-4.5 22.8-18.8-.6-35.8-2.8-50.7-7 .9-6.1-1-12.1.6-16.5zm-17.2-20c-16.8.8-26-1.2-38.3-10.8.2-.8 1.4-.5 1.5-1.4 18 8 40.8-3.3 59-4.9-7.9 5.1-14.6 11.6-22.2 17.1zm-12.1 33.2c-1.6-9.4-3.5-12-2.8-20.2 25-16.6 29.7 28.6 2.8 20.2zM226 438.6c-11.6-.7-48.1-14-38.5-23.7 9.4 6.5 27.5 4.9 41.3 7.3.8 4.4-2.8 10.2-2.8 16.4zM57.7 497.1c-4.3-12.7-9.2-25.1-14.8-36.9 30.8-23.8 65.3-48.9 102.2-63.5 2.8-1.1 23.2 25.4 26.2 27.6 16.5 11.7 37 21 56.2 30.2 1.2 8.8 3.9 20.2 8.7 35.5.7 2.3 1.4 4.7 2.2 7.2H57.7zm240.6 5.7h-.8c.3-.2.5-.4.8-.5v.5zm7.5-5.7c2.1-1.4 4.3-2.8 6.4-4.3 1.1 1.4 2.2 2.8 3.2 4.3h-9.6zm15.1-24.7c-10.8 7.3-20.6 18.3-33.3 25.2-6 3.3-27 11.7-33.4 10.2-3.6-.8-3.9-5.3-5.4-9.5-3.1-9-10.1-23.4-10.8-37-.8-17.2-2.5-46 16-42.4 14.9 2.9 32.3 9.7 43.9 16.1 7.1 3.9 11.1 8.6 21.9 9.5-.1 1.4-.1 2.8-.2 4.3-5.9 3.9-15.3 3.8-21.8 7.1 9.5.4 17 2.7 23.5 5.9-.1 3.4-.3 7-.4 10.6zm53.4 24.7h-14c-.1-3.2-2.8-5.8-6.1-5.8s-5.9 2.6-6.1 5.8h-17.4c-2.8-4.4-5.7-8.6-8.9-12.5 2.1-2.2 4-4.7 6-6.9 9 3.7 14.8-4.9 21.7-4.2 7.9.8 14.2 11.7 25.4 11l-.6 12.6zm8.7 0c.2-4 .4-7.8.6-11.5 15.6-7.3 29 1.3 35.7 11.5H383zm83.4-37c-2.3 11.2-5.8 24-9.9 37.1-.2-.1-.4-.1-.6-.1H428c.6-1.1 1.2-2.2 1.9-3.3-2.6-6.1-9-8.7-10.9-15.5 12.1-22.7 6.5-93.4-24.2-78.5 4.3-6.3 15.6-11.5 20.8-19.3 13 10.4 20.8 20.3 33.2 31.4 6.8 6 20 13.3 21.4 23.1.8 5.5-2.6 18.9-3.8 25.1zM222.2 130.5c5.4-14.9 27.2-34.7 45-32 7.7 1.2 18 8.2 12.2 17.7-30.2-7-45.2 12.6-54.4 33.1-8.1-2-4.9-13.1-2.8-18.8zm184.1 63.1c8.2-3.6 22.4-.7 29.6-5.3-4.2-11.5-10.3-21.4-9.3-37.7.5 0 1 0 1.4.1 6.8 14.2 12.7 29.2 21.4 41.7-5.7 13.5-43.6 25.4-43.1 1.2zm20.4-43zm-117.2 45.7c-6.8-10.9-19-32.5-14.5-45.3 6.5 11.9 8.6 24.4 17.8 33.3 4.1 4 12.2 9 8.2 20.2-.9 2.7-7.8 8.6-11.7 9.7-14.4 4.3-47.9.9-36.6-17.1 11.9.7 27.9 7.8 36.8-.8zm27.3 70c3.8 6.6 1.4 18.7 12.1 20.6 20.2 3.4 43.6-12.3 58.1-17.8 9-15.2-.8-20.7-8.9-30.5-16.6-20-38.8-44.8-38-74.7 6.7-4.9 7.3 7.4 8.2 9.7 8.7 20.3 30.4 46.2 46.3 63.5 3.9 4.3 10.3 8.4 11 11.2 2.1 8.2-5.4 18-4.5 23.5-21.7 13.9-45.8 29.1-81.4 25.6-7.4-6.7-10.3-21.4-2.9-31.1zm-201.3-9.2c-6.8-3.9-8.4-21-16.4-21.4-11.4-.7-9.3 22.2-9.3 35.5-7.8-7.1-9.2-29.1-3.5-40.3-6.6-3.2-9.5 3.6-13.1 5.9 4.7-34.1 49.8-15.8 42.3 20.3zm299.6 28.8c-10.1 19.2-24.4 40.4-54 41-.6-6.2-1.1-15.6 0-19.4 22.7-2.2 36.6-13.7 54-21.6zm-141.9 12.4c18.9 9.9 53.6 11 79.3 10.2 1.4 5.6 1.3 12.6 1.4 19.4-33 1.8-72-6.4-80.7-29.6zm92.2 46.7c-1.7 4.3-5.3 9.3-9.8 11.1-12.1 4.9-45.6 8.7-62.4-.3-10.7-5.7-17.5-18.5-23.4-26-2.8-3.6-16.9-12.9-.2-12.9 13.1 32.7 58 29 95.8 28.1z\"]\n};\nvar faJira = {\n prefix: 'fab',\n iconName: 'jira',\n icon: [496, 512, [], \"f7b1\", \"M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z\"]\n};\nvar faJoget = {\n prefix: 'fab',\n iconName: 'joget',\n icon: [496, 512, [], \"f3b7\", \"M378.1 45C337.6 19.9 292.6 8 248.2 8 165 8 83.8 49.9 36.9 125.9c-71.9 116.6-35.6 269.3 81 341.2s269.3 35.6 341.2-80.9c71.9-116.6 35.6-269.4-81-341.2zm51.8 323.2c-40.4 65.5-110.4 101.5-182 101.5-6.8 0-13.6-.4-20.4-1-9-13.6-19.9-33.3-23.7-42.4-5.7-13.7-27.2-45.6 31.2-67.1 51.7-19.1 176.7-16.5 208.8-17.6-4 9-8.6 17.9-13.9 26.6zm-200.8-86.3c-55.5-1.4-81.7-20.8-58.5-48.2s51.1-40.7 68.9-51.2c17.9-10.5 27.3-33.7-23.6-29.7C87.3 161.5 48.6 252.1 37.6 293c-8.8-49.7-.1-102.7 28.5-149.1C128 43.4 259.6 12.2 360.1 74.1c74.8 46.1 111.2 130.9 99.3 212.7-24.9-.5-179.3-3.6-230.3-4.9zm183.8-54.8c-22.7-6-57 11.3-86.7 27.2-29.7 15.8-31.1 8.2-31.1 8.2s40.2-28.1 50.7-34.5 31.9-14 13.4-24.6c-3.2-1.8-6.7-2.7-10.4-2.7-17.8 0-41.5 18.7-67.5 35.6-31.5 20.5-65.3 31.3-65.3 31.3l169.5-1.6 46.5-23.4s3.6-9.5-19.1-15.5z\"]\n};\nvar faJoomla = {\n prefix: 'fab',\n iconName: 'joomla',\n icon: [448, 512, [], \"f1aa\", \"M.6 92.1C.6 58.8 27.4 32 60.4 32c30 0 54.5 21.9 59.2 50.2 32.6-7.6 67.1.6 96.5 30l-44.3 44.3c-20.5-20.5-42.6-16.3-55.4-3.5-14.3 14.3-14.3 37.9 0 52.2l99.5 99.5-44 44.3c-87.7-87.2-49.7-49.7-99.8-99.7-26.8-26.5-35-64.8-24.8-98.9C20.4 144.6.6 120.7.6 92.1zm129.5 116.4l44.3 44.3c10-10 89.7-89.7 99.7-99.8 14.3-14.3 37.6-14.3 51.9 0 12.8 12.8 17 35-3.5 55.4l44 44.3c31.2-31.2 38.5-67.6 28.9-101.2 29.2-4.1 51.9-29.2 51.9-59.5 0-33.2-26.8-60.1-59.8-60.1-30.3 0-55.4 22.5-59.5 51.6-33.8-9.9-71.7-1.5-98.3 25.1-18.3 19.1-71.1 71.5-99.6 99.9zm266.3 152.2c8.2-32.7-.9-68.5-26.3-93.9-11.8-12.2 5 4.7-99.5-99.7l-44.3 44.3 99.7 99.7c14.3 14.3 14.3 37.6 0 51.9-12.8 12.8-35 17-55.4-3.5l-44 44.3c27.6 30.2 68 38.8 102.7 28 5.5 27.4 29.7 48.1 58.9 48.1 33 0 59.8-26.8 59.8-60.1 0-30.2-22.5-55-51.6-59.1zm-84.3-53.1l-44-44.3c-87 86.4-50.4 50.4-99.7 99.8-14.3 14.3-37.6 14.3-51.9 0-13.1-13.4-16.9-35.3 3.2-55.4l-44-44.3c-30.2 30.2-38 65.2-29.5 98.3-26.7 6-46.2 29.9-46.2 58.2C0 453.2 26.8 480 59.8 480c28.6 0 52.5-19.8 58.6-46.7 32.7 8.2 68.5-.6 94.2-26 32.1-32 12.2-12.4 99.5-99.7z\"]\n};\nvar faJs = {\n prefix: 'fab',\n iconName: 'js',\n icon: [448, 512, [], \"f3b8\", \"M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"]\n};\nvar faJsSquare = {\n prefix: 'fab',\n iconName: 'js-square',\n icon: [448, 512, [], \"f3b9\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"]\n};\nvar faJsfiddle = {\n prefix: 'fab',\n iconName: 'jsfiddle',\n icon: [576, 512, [], \"f1cc\", \"M510.634 237.462c-4.727-2.621-5.664-5.748-6.381-10.776-2.352-16.488-3.539-33.619-9.097-49.095-35.895-99.957-153.99-143.386-246.849-91.646-27.37 15.25-48.971 36.369-65.493 63.903-3.184-1.508-5.458-2.71-7.824-3.686-30.102-12.421-59.049-10.121-85.331 9.167-25.531 18.737-36.422 44.548-32.676 76.408.355 3.025-1.967 7.621-4.514 9.545-39.712 29.992-56.031 78.065-41.902 124.615 13.831 45.569 57.514 79.796 105.608 81.433 30.291 1.031 60.637.546 90.959.539 84.041-.021 168.09.531 252.12-.48 52.664-.634 96.108-36.873 108.212-87.293 11.54-48.074-11.144-97.3-56.832-122.634zm21.107 156.88c-18.23 22.432-42.343 35.253-71.28 35.65-56.874.781-113.767.23-170.652.23 0 .7-163.028.159-163.728.154-43.861-.332-76.739-19.766-95.175-59.995-18.902-41.245-4.004-90.848 34.186-116.106 9.182-6.073 12.505-11.566 10.096-23.136-5.49-26.361 4.453-47.956 26.42-62.981 22.987-15.723 47.422-16.146 72.034-3.083 10.269 5.45 14.607 11.564 22.198-2.527 14.222-26.399 34.557-46.727 60.671-61.294 97.46-54.366 228.37 7.568 230.24 132.697.122 8.15 2.412 12.428 9.848 15.894 57.56 26.829 74.456 96.122 35.142 144.497zm-87.789-80.499c-5.848 31.157-34.622 55.096-66.666 55.095-16.953-.001-32.058-6.545-44.079-17.705-27.697-25.713-71.141-74.98-95.937-93.387-20.056-14.888-41.99-12.333-60.272 3.782-49.996 44.071 15.859 121.775 67.063 77.188 4.548-3.96 7.84-9.543 12.744-12.844 8.184-5.509 20.766-.884 13.168 10.622-17.358 26.284-49.33 38.197-78.863 29.301-28.897-8.704-48.84-35.968-48.626-70.179 1.225-22.485 12.364-43.06 35.414-55.965 22.575-12.638 46.369-13.146 66.991 2.474C295.68 280.7 320.467 323.97 352.185 343.47c24.558 15.099 54.254 7.363 68.823-17.506 28.83-49.209-34.592-105.016-78.868-63.46-3.989 3.744-6.917 8.932-11.41 11.72-10.975 6.811-17.333-4.113-12.809-10.353 20.703-28.554 50.464-40.44 83.271-28.214 31.429 11.714 49.108 44.366 42.76 78.186z\"]\n};\nvar faKaggle = {\n prefix: 'fab',\n iconName: 'kaggle',\n icon: [320, 512, [], \"f5fa\", \"M304.2 501.5L158.4 320.3 298.2 185c2.6-2.7 1.7-10.5-5.3-10.5h-69.2c-3.5 0-7 1.8-10.5 5.3L80.9 313.5V7.5q0-7.5-7.5-7.5H21.5Q14 0 14 7.5v497q0 7.5 7.5 7.5h51.9q7.5 0 7.5-7.5v-109l30.8-29.3 110.5 140.6c3 3.5 6.5 5.3 10.5 5.3h66.9q5.25 0 6-3z\"]\n};\nvar faKeybase = {\n prefix: 'fab',\n iconName: 'keybase',\n icon: [448, 512, [], \"f4f5\", \"M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z\"]\n};\nvar faKeycdn = {\n prefix: 'fab',\n iconName: 'keycdn',\n icon: [512, 512, [], \"f3ba\", \"M63.8 409.3l60.5-59c32.1 42.8 71.1 66 126.6 67.4 30.5.7 60.3-7 86.4-22.4 5.1 5.3 18.5 19.5 20.9 22-32.2 20.7-69.6 31.1-108.1 30.2-43.3-1.1-84.6-16.7-117.7-44.4.3-.6-38.2 37.5-38.6 37.9 9.5 29.8-13.1 62.4-46.3 62.4C20.7 503.3 0 481.7 0 454.9c0-34.3 33.1-56.6 63.8-45.6zm354.9-252.4c19.1 31.3 29.6 67.4 28.7 104-1.1 44.8-19 87.5-48.6 121 .3.3 23.8 25.2 24.1 25.5 9.6-1.3 19.2 2 25.9 9.1 11.3 12 10.9 30.9-1.1 42.4-12 11.3-30.9 10.9-42.4-1.1-6.7-7-9.4-16.8-7.6-26.3-24.9-26.6-44.4-47.2-44.4-47.2 42.7-34.1 63.3-79.6 64.4-124.2.7-28.9-7.2-57.2-21.1-82.2l22.1-21zM104 53.1c6.7 7 9.4 16.8 7.6 26.3l45.9 48.1c-4.7 3.8-13.3 10.4-22.8 21.3-25.4 28.5-39.6 64.8-40.7 102.9-.7 28.9 6.1 57.2 20 82.4l-22 21.5C72.7 324 63.1 287.9 64.2 250.9c1-44.6 18.3-87.6 47.5-121.1l-25.3-26.4c-9.6 1.3-19.2-2-25.9-9.1-11.3-12-10.9-30.9 1.1-42.4C73.5 40.7 92.2 41 104 53.1zM464.9 8c26 0 47.1 22.4 47.1 48.3S490.9 104 464.9 104c-6.3.1-14-1.1-15.9-1.8l-62.9 59.7c-32.7-43.6-76.7-65.9-126.9-67.2-30.5-.7-60.3 6.8-86.2 22.4l-21.1-22C184.1 74.3 221.5 64 260 64.9c43.3 1.1 84.6 16.7 117.7 44.6l41.1-38.6c-1.5-4.7-2.2-9.6-2.2-14.5C416.5 29.7 438.9 8 464.9 8zM256.7 113.4c5.5 0 10.9.4 16.4 1.1 78.1 9.8 133.4 81.1 123.8 159.1-9.8 78.1-81.1 133.4-159.1 123.8-78.1-9.8-133.4-81.1-123.8-159.2 9.3-72.4 70.1-124.6 142.7-124.8zm-59 119.4c.6 22.7 12.2 41.8 32.4 52.2l-11 51.7h73.7l-11-51.7c20.1-10.9 32.1-29 32.4-52.2-.4-32.8-25.8-57.5-58.3-58.3-32.1.8-57.3 24.8-58.2 58.3zM256 160\"]\n};\nvar faKickstarter = {\n prefix: 'fab',\n iconName: 'kickstarter',\n icon: [448, 512, [], \"f3bb\", \"M400 480H48c-26.4 0-48-21.6-48-48V80c0-26.4 21.6-48 48-48h352c26.4 0 48 21.6 48 48v352c0 26.4-21.6 48-48 48zM199.6 178.5c0-30.7-17.6-45.1-39.7-45.1-25.8 0-40 19.8-40 44.5v154.8c0 25.8 13.7 45.6 40.5 45.6 21.5 0 39.2-14 39.2-45.6v-41.8l60.6 75.7c12.3 14.9 39 16.8 55.8 0 14.6-15.1 14.8-36.8 4-50.4l-49.1-62.8 40.5-58.7c9.4-13.5 9.5-34.5-5.6-49.1-16.4-15.9-44.6-17.3-61.4 7l-44.8 64.7v-38.8z\"]\n};\nvar faKickstarterK = {\n prefix: 'fab',\n iconName: 'kickstarter-k',\n icon: [384, 512, [], \"f3bc\", \"M147.3 114.4c0-56.2-32.5-82.4-73.4-82.4C26.2 32 0 68.2 0 113.4v283c0 47.3 25.3 83.4 74.9 83.4 39.8 0 72.4-25.6 72.4-83.4v-76.5l112.1 138.3c22.7 27.2 72.1 30.7 103.2 0 27-27.6 27.3-67.4 7.4-92.2l-90.8-114.8 74.9-107.4c17.4-24.7 17.5-63.1-10.4-89.8-30.3-29-82.4-31.6-113.6 12.8L147.3 185v-70.6z\"]\n};\nvar faKorvue = {\n prefix: 'fab',\n iconName: 'korvue',\n icon: [446, 512, [], \"f42f\", \"M386.5 34h-327C26.8 34 0 60.8 0 93.5v327.1C0 453.2 26.8 480 59.5 480h327.1c33 0 59.5-26.8 59.5-59.5v-327C446 60.8 419.2 34 386.5 34zM87.1 120.8h96v116l61.8-116h110.9l-81.2 132H87.1v-132zm161.8 272.1l-65.7-113.6v113.6h-96V262.1h191.5l88.6 130.8H248.9z\"]\n};\nvar faLaravel = {\n prefix: 'fab',\n iconName: 'laravel',\n icon: [512, 512, [], \"f3bd\", \"M504.4,115.83a5.72,5.72,0,0,0-.28-.68,8.52,8.52,0,0,0-.53-1.25,6,6,0,0,0-.54-.71,9.36,9.36,0,0,0-.72-.94c-.23-.22-.52-.4-.77-.6a8.84,8.84,0,0,0-.9-.68L404.4,55.55a8,8,0,0,0-8,0L300.12,111h0a8.07,8.07,0,0,0-.88.69,7.68,7.68,0,0,0-.78.6,8.23,8.23,0,0,0-.72.93c-.17.24-.39.45-.54.71a9.7,9.7,0,0,0-.52,1.25c-.08.23-.21.44-.28.68a8.08,8.08,0,0,0-.28,2.08V223.18l-80.22,46.19V63.44a7.8,7.8,0,0,0-.28-2.09c-.06-.24-.2-.45-.28-.68a8.35,8.35,0,0,0-.52-1.24c-.14-.26-.37-.47-.54-.72a9.36,9.36,0,0,0-.72-.94,9.46,9.46,0,0,0-.78-.6,9.8,9.8,0,0,0-.88-.68h0L115.61,1.07a8,8,0,0,0-8,0L11.34,56.49h0a6.52,6.52,0,0,0-.88.69,7.81,7.81,0,0,0-.79.6,8.15,8.15,0,0,0-.71.93c-.18.25-.4.46-.55.72a7.88,7.88,0,0,0-.51,1.24,6.46,6.46,0,0,0-.29.67,8.18,8.18,0,0,0-.28,2.1v329.7a8,8,0,0,0,4,6.95l192.5,110.84a8.83,8.83,0,0,0,1.33.54c.21.08.41.2.63.26a7.92,7.92,0,0,0,4.1,0c.2-.05.37-.16.55-.22a8.6,8.6,0,0,0,1.4-.58L404.4,400.09a8,8,0,0,0,4-6.95V287.88l92.24-53.11a8,8,0,0,0,4-7V117.92A8.63,8.63,0,0,0,504.4,115.83ZM111.6,17.28h0l80.19,46.15-80.2,46.18L31.41,63.44Zm88.25,60V278.6l-46.53,26.79-33.69,19.4V123.5l46.53-26.79Zm0,412.78L23.37,388.5V77.32L57.06,96.7l46.52,26.8V338.68a6.94,6.94,0,0,0,.12.9,8,8,0,0,0,.16,1.18h0a5.92,5.92,0,0,0,.38.9,6.38,6.38,0,0,0,.42,1v0a8.54,8.54,0,0,0,.6.78,7.62,7.62,0,0,0,.66.84l0,0c.23.22.52.38.77.58a8.93,8.93,0,0,0,.86.66l0,0,0,0,92.19,52.18Zm8-106.17-80.06-45.32,84.09-48.41,92.26-53.11,80.13,46.13-58.8,33.56Zm184.52,4.57L215.88,490.11V397.8L346.6,323.2l45.77-26.15Zm0-119.13L358.68,250l-46.53-26.79V131.79l33.69,19.4L392.37,178Zm8-105.28-80.2-46.17,80.2-46.16,80.18,46.15Zm8,105.28V178L455,151.19l33.68-19.4v91.39h0Z\"]\n};\nvar faLastfm = {\n prefix: 'fab',\n iconName: 'lastfm',\n icon: [512, 512, [], \"f202\", \"M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z\"]\n};\nvar faLastfmSquare = {\n prefix: 'fab',\n iconName: 'lastfm-square',\n icon: [448, 512, [], \"f203\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-92.2 312.9c-63.4 0-85.4-28.6-97.1-64.1-16.3-51-21.5-84.3-63-84.3-22.4 0-45.1 16.1-45.1 61.2 0 35.2 18 57.2 43.3 57.2 28.6 0 47.6-21.3 47.6-21.3l11.7 31.9s-19.8 19.4-61.2 19.4c-51.3 0-79.9-30.1-79.9-85.8 0-57.9 28.6-92 82.5-92 73.5 0 80.8 41.4 100.8 101.9 8.8 26.8 24.2 46.2 61.2 46.2 24.9 0 38.1-5.5 38.1-19.1 0-19.9-21.8-22-49.9-28.6-30.4-7.3-42.5-23.1-42.5-48 0-40 32.3-52.4 65.2-52.4 37.4 0 60.1 13.6 63 46.6l-36.7 4.4c-1.5-15.8-11-22.4-28.6-22.4-16.1 0-26 7.3-26 19.8 0 11 4.8 17.6 20.9 21.3 32.7 7.1 71.8 12 71.8 57.5.1 36.7-30.7 50.6-76.1 50.6z\"]\n};\nvar faLeanpub = {\n prefix: 'fab',\n iconName: 'leanpub',\n icon: [576, 512, [], \"f212\", \"M386.539 111.485l15.096 248.955-10.979-.275c-36.232-.824-71.64 8.783-102.657 27.997-31.016-19.214-66.424-27.997-102.657-27.997-45.564 0-82.07 10.705-123.516 27.723L93.117 129.6c28.546-11.803 61.484-18.115 92.226-18.115 41.173 0 73.836 13.175 102.657 42.544 27.723-28.271 59.013-41.721 98.539-42.544zM569.07 448c-25.526 0-47.485-5.215-70.542-15.645-34.31-15.645-69.993-24.978-107.871-24.978-38.977 0-74.934 12.901-102.657 40.623-27.723-27.723-63.68-40.623-102.657-40.623-37.878 0-73.561 9.333-107.871 24.978C55.239 442.236 32.731 448 8.303 448H6.93L49.475 98.859C88.726 76.626 136.486 64 181.775 64 218.83 64 256.984 71.685 288 93.095 319.016 71.685 357.17 64 394.225 64c45.289 0 93.049 12.626 132.3 34.859L569.07 448zm-43.368-44.741l-34.036-280.246c-30.742-13.999-67.248-21.41-101.009-21.41-38.428 0-74.385 12.077-102.657 38.702-28.272-26.625-64.228-38.702-102.657-38.702-33.761 0-70.267 7.411-101.009 21.41L50.298 403.259c47.211-19.487 82.894-33.486 135.045-33.486 37.604 0 70.817 9.606 102.657 29.644 31.84-20.038 65.052-29.644 102.657-29.644 52.151 0 87.834 13.999 135.045 33.486z\"]\n};\nvar faLess = {\n prefix: 'fab',\n iconName: 'less',\n icon: [640, 512, [], \"f41d\", \"M612.7 219c0-20.5 3.2-32.6 3.2-54.6 0-34.2-12.6-45.2-40.5-45.2h-20.5v24.2h6.3c14.2 0 17.3 4.7 17.3 22.1 0 16.3-1.6 32.6-1.6 51.5 0 24.2 7.9 33.6 23.6 37.3v1.6c-15.8 3.7-23.6 13.1-23.6 37.3 0 18.9 1.6 34.2 1.6 51.5 0 17.9-3.7 22.6-17.3 22.6v.5h-6.3V393h20.5c27.8 0 40.5-11 40.5-45.2 0-22.6-3.2-34.2-3.2-54.6 0-11 6.8-22.6 27.3-23.6v-27.3c-20.5-.7-27.3-12.3-27.3-23.3zm-105.6 32c-15.8-6.3-30.5-10-30.5-20.5 0-7.9 6.3-12.6 17.9-12.6s22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-21 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51s-22.5-41-43-47.8zm-358.9 59.4c-3.7 0-8.4-3.2-8.4-13.1V119.1H65.2c-28.4 0-41 11-41 45.2 0 22.6 3.2 35.2 3.2 54.6 0 11-6.8 22.6-27.3 23.6v27.3c20.5.5 27.3 12.1 27.3 23.1 0 19.4-3.2 31-3.2 53.6 0 34.2 12.6 45.2 40.5 45.2h20.5v-24.2h-6.3c-13.1 0-17.3-5.3-17.3-22.6s1.6-32.1 1.6-51.5c0-24.2-7.9-33.6-23.6-37.3v-1.6c15.8-3.7 23.6-13.1 23.6-37.3 0-18.9-1.6-34.2-1.6-51.5s3.7-22.1 17.3-22.1H93v150.8c0 32.1 11 53.1 43.1 53.1 10 0 17.9-1.6 23.6-3.7l-5.3-34.2c-3.1.8-4.6.8-6.2.8zM379.9 251c-16.3-6.3-31-10-31-20.5 0-7.9 6.3-12.6 17.9-12.6 11.6 0 22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-20.5 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51 .1-28.9-22.5-41-43-47.8zm-155-68.8c-38.4 0-75.1 32.1-74.1 82.5 0 52 34.2 82.5 79.3 82.5 18.9 0 39.9-6.8 56.2-17.9l-15.8-27.8c-11.6 6.8-22.6 10-34.2 10-21 0-37.3-10-41.5-34.2H290c.5-3.7 1.6-11 1.6-19.4.6-42.6-22.6-75.7-66.7-75.7zm-30 66.2c3.2-21 15.8-31 30.5-31 18.9 0 26.3 13.1 26.3 31h-56.8z\"]\n};\nvar faLine = {\n prefix: 'fab',\n iconName: 'line',\n icon: [448, 512, [], \"f3c0\", \"M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z\"]\n};\nvar faLinkedin = {\n prefix: 'fab',\n iconName: 'linkedin',\n icon: [448, 512, [], \"f08c\", \"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\"]\n};\nvar faLinkedinIn = {\n prefix: 'fab',\n iconName: 'linkedin-in',\n icon: [448, 512, [], \"f0e1\", \"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z\"]\n};\nvar faLinode = {\n prefix: 'fab',\n iconName: 'linode',\n icon: [448, 512, [], \"f2b8\", \"M437.4 226.3c-.3-.9-.9-1.4-1.4-2l-70-38.6c-.9-.6-2-.6-3.1 0l-58.9 36c-.9.6-1.4 1.7-1.4 2.6l-.9 31.4-24-16c-.9-.6-2.3-.6-3.1 0L240 260.9l-1.4-35.1c0-.9-.6-2-1.4-2.3l-36-24.3 33.7-17.4c1.1-.6 1.7-1.7 1.7-2.9l-5.7-132.3c0-.9-.9-2-1.7-2.6L138.6.3c-.9-.3-1.7-.3-2.3-.3L12.6 38.6c-1.4.6-2.3 2-2 3.7L38 175.4c.9 3.4 34 27.4 38.6 30.9l-26.9 12.9c-1.4.9-2 2.3-1.7 3.4l20.6 100.3c.6 2.9 23.7 23.1 27.1 26.3l-17.4 10.6c-.9.6-1.7 2-1.4 3.1 1.4 7.1 15.4 77.7 16.9 79.1l65.1 69.1c.6.6 1.4.6 2.3.9.6 0 1.1-.3 1.7-.6l83.7-66.9c.9-.6 1.1-1.4 1.1-2.3l-2-46 28 23.7c1.1.9 2.9.9 4 0l66.9-53.4c.9-.6 1.1-1.4 1.1-2.3l2.3-33.4 20.3 14c1.1.9 2.6.9 3.7 0l54.6-43.7c.6-.3 1.1-1.1 1.1-2 .9-6.5 10.3-70.8 9.7-72.8zm-204.8 4.8l4 92.6-90.6 61.2-14-96.6 100.6-57.2zm-7.7-180l5.4 126-106.6 55.4L104 97.7l120.9-46.6zM44 173.1L18 48l79.7 49.4 19.4 132.9L44 173.1zm30.6 147.8L55.7 230l70 58.3 13.7 93.4-64.8-60.8zm24.3 117.7l-13.7-67.1 61.7 60.9 9.7 67.4-57.7-61.2zm64.5 64.5l-10.6-70.9 85.7-61.4 3.1 70-78.2 62.3zm82-115.1c0-3.4.9-22.9-2-25.1l-24.3-20 22.3-14.9c2.3-1.7 1.1-5.7 1.1-8l29.4 22.6.6 68.3-27.1-22.9zm94.3-25.4l-60.9 48.6-.6-68.6 65.7-46.9-4.2 66.9zm27.7-25.7l-19.1-13.4 2-34c.3-.9-.3-2-1.1-2.6L308 259.7l.6-30 64.6 40.6-5.8 66.6zm54.6-39.8l-48.3 38.3 5.7-65.1 51.1-36.6-8.5 63.4z\"]\n};\nvar faLinux = {\n prefix: 'fab',\n iconName: 'linux',\n icon: [448, 512, [], \"f17c\", \"M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z\"]\n};\nvar faLyft = {\n prefix: 'fab',\n iconName: 'lyft',\n icon: [512, 512, [], \"f3c3\", \"M0 81.1h77.8v208.7c0 33.1 15 52.8 27.2 61-12.7 11.1-51.2 20.9-80.2-2.8C7.8 334 0 310.7 0 289V81.1zm485.9 173.5v-22h23.8v-76.8h-26.1c-10.1-46.3-51.2-80.7-100.3-80.7-56.6 0-102.7 46-102.7 102.7V357c16 2.3 35.4-.3 51.7-14 17.1-14 24.8-37.2 24.8-59v-6.7h38.8v-76.8h-38.8v-23.3c0-34.6 52.2-34.6 52.2 0v77.1c0 56.6 46 102.7 102.7 102.7v-76.5c-14.5 0-26.1-11.7-26.1-25.9zm-294.3-99v113c0 15.4-23.8 15.4-23.8 0v-113H91v132.7c0 23.8 8 54 45 63.9 37 9.8 58.2-10.6 58.2-10.6-2.1 13.4-14.5 23.3-34.9 25.3-15.5 1.6-35.2-3.6-45-7.8v70.3c25.1 7.5 51.5 9.8 77.6 4.7 47.1-9.1 76.8-48.4 76.8-100.8V155.1h-77.1v.5z\"]\n};\nvar faMagento = {\n prefix: 'fab',\n iconName: 'magento',\n icon: [448, 512, [], \"f3c4\", \"M445.7 127.9V384l-63.4 36.5V164.7L223.8 73.1 65.2 164.7l.4 255.9L2.3 384V128.1L224.2 0l221.5 127.9zM255.6 420.5L224 438.9l-31.8-18.2v-256l-63.3 36.6.1 255.9 94.9 54.9 95.1-54.9v-256l-63.4-36.6v255.9z\"]\n};\nvar faMailchimp = {\n prefix: 'fab',\n iconName: 'mailchimp',\n icon: [448, 512, [], \"f59e\", \"M330.61 243.52a36.15 36.15 0 0 1 9.3 0c1.66-3.83 1.95-10.43.45-17.61-2.23-10.67-5.25-17.14-11.48-16.13s-6.47 8.74-4.24 19.42c1.26 6 3.49 11.14 6 14.32zM277.05 252c4.47 2 7.2 3.26 8.28 2.13 1.89-1.94-3.48-9.39-12.12-13.09a31.44 31.44 0 0 0-30.61 3.68c-3 2.18-5.81 5.22-5.41 7.06.85 3.74 10-2.71 22.6-3.48 7-.44 12.8 1.75 17.26 3.71zm-9 5.13c-9.07 1.42-15 6.53-13.47 10.1.9.34 1.17.81 5.21-.81a37 37 0 0 1 18.72-1.95c2.92.34 4.31.52 4.94-.49 1.46-2.22-5.71-8-15.39-6.85zm54.17 17.1c3.38-6.87-10.9-13.93-14.3-7s10.92 13.88 14.32 6.97zm15.66-20.47c-7.66-.13-7.95 15.8-.26 15.93s7.98-15.81.28-15.96zm-218.79 78.9c-1.32.31-6 1.45-8.47-2.35-5.2-8 11.11-20.38 3-35.77-9.1-17.47-27.82-13.54-35.05-5.54-8.71 9.6-8.72 23.54-5 24.08 4.27.57 4.08-6.47 7.38-11.63a12.83 12.83 0 0 1 17.85-3.72c11.59 7.59 1.37 17.76 2.28 28.62 1.39 16.68 18.42 16.37 21.58 9a2.08 2.08 0 0 0-.2-2.33c.03.89.68-1.3-3.35-.39zm299.72-17.07c-3.35-11.73-2.57-9.22-6.78-20.52 2.45-3.67 15.29-24-3.07-43.25-10.4-10.92-33.9-16.54-41.1-18.54-1.5-11.39 4.65-58.7-21.52-83 20.79-21.55 33.76-45.29 33.73-65.65-.06-39.16-48.15-51-107.42-26.47l-12.55 5.33c-.06-.05-22.71-22.27-23.05-22.57C169.5-18-41.77 216.81 25.78 273.85l14.76 12.51a72.49 72.49 0 0 0-4.1 33.5c3.36 33.4 36 60.42 67.53 60.38 57.73 133.06 267.9 133.28 322.29 3 1.74-4.47 9.11-24.61 9.11-42.38s-10.09-25.27-16.53-25.27zm-316 48.16c-22.82-.61-47.46-21.15-49.91-45.51-6.17-61.31 74.26-75.27 84-12.33 4.54 29.64-4.67 58.49-34.12 57.81zM84.3 249.55C69.14 252.5 55.78 261.09 47.6 273c-4.88-4.07-14-12-15.59-15-13.01-24.85 14.24-73 33.3-100.21C112.42 90.56 186.19 39.68 220.36 48.91c5.55 1.57 23.94 22.89 23.94 22.89s-34.15 18.94-65.8 45.35c-42.66 32.85-74.89 80.59-94.2 132.4zM323.18 350.7s-35.74 5.3-69.51-7.07c6.21-20.16 27 6.1 96.4-13.81 15.29-4.38 35.37-13 51-25.35a102.85 102.85 0 0 1 7.12 24.28c3.66-.66 14.25-.52 11.44 18.1-3.29 19.87-11.73 36-25.93 50.84A106.86 106.86 0 0 1 362.55 421a132.45 132.45 0 0 1-20.34 8.58c-53.51 17.48-108.3-1.74-126-43a66.33 66.33 0 0 1-3.55-9.74c-7.53-27.2-1.14-59.83 18.84-80.37 1.23-1.31 2.48-2.85 2.48-4.79a8.45 8.45 0 0 0-1.92-4.54c-7-10.13-31.19-27.4-26.33-60.83 3.5-24 24.49-40.91 44.07-39.91l5 .29c8.48.5 15.89 1.59 22.88 1.88 11.69.5 22.2-1.19 34.64-11.56 4.2-3.5 7.57-6.54 13.26-7.51a17.45 17.45 0 0 1 13.6 2.24c10 6.64 11.4 22.73 11.92 34.49.29 6.72 1.1 23 1.38 27.63.63 10.67 3.43 12.17 9.11 14 3.19 1.05 6.15 1.83 10.51 3.06 13.21 3.71 21 7.48 26 12.31a16.38 16.38 0 0 1 4.74 9.29c1.56 11.37-8.82 25.4-36.31 38.16-46.71 21.68-93.68 14.45-100.48 13.68-20.15-2.71-31.63 23.32-19.55 41.15 22.64 33.41 122.4 20 151.37-21.35.69-1 .12-1.59-.73-1-41.77 28.58-97.06 38.21-128.46 26-4.77-1.85-14.73-6.44-15.94-16.67 43.6 13.49 71 .74 71 .74s2.03-2.79-.56-2.53zm-68.47-5.7zm-83.4-187.5c16.74-19.35 37.36-36.18 55.83-45.63a.73.73 0 0 1 1 1c-1.46 2.66-4.29 8.34-5.19 12.65a.75.75 0 0 0 1.16.79c11.49-7.83 31.48-16.22 49-17.3a.77.77 0 0 1 .52 1.38 41.86 41.86 0 0 0-7.71 7.74.75.75 0 0 0 .59 1.19c12.31.09 29.66 4.4 41 10.74.76.43.22 1.91-.64 1.72-69.55-15.94-123.08 18.53-134.5 26.83a.76.76 0 0 1-1-1.12z\"]\n};\nvar faMandalorian = {\n prefix: 'fab',\n iconName: 'mandalorian',\n icon: [448, 512, [], \"f50f\", \"M232.27 511.89c-1-3.26-1.69-15.83-1.39-24.58.55-15.89 1-24.72 1.4-28.76.64-6.2 2.87-20.72 3.28-21.38.6-1 .4-27.87-.24-33.13-.31-2.58-.63-11.9-.69-20.73-.13-16.47-.53-20.12-2.73-24.76-1.1-2.32-1.23-3.84-1-11.43a92.38 92.38 0 0 0-.34-12.71c-2-13-3.46-27.7-3.25-33.9s.43-7.15 2.06-9.67c3.05-4.71 6.51-14 8.62-23.27 2.26-9.86 3.88-17.18 4.59-20.74a109.54 109.54 0 0 1 4.42-15.05c2.27-6.25 2.49-15.39.37-15.39-.3 0-1.38 1.22-2.41 2.71s-4.76 4.8-8.29 7.36c-8.37 6.08-11.7 9.39-12.66 12.58s-1 7.23-.16 7.76c.34.21 1.29 2.4 2.11 4.88a28.83 28.83 0 0 1 .72 15.36c-.39 1.77-1 5.47-1.46 8.23s-1 6.46-1.25 8.22a9.85 9.85 0 0 1-1.55 4.26c-1 1-1.14.91-2.05-.53a14.87 14.87 0 0 1-1.44-4.75c-.25-1.74-1.63-7.11-3.08-11.93-3.28-10.9-3.52-16.15-1-21a14.24 14.24 0 0 0 1.67-4.61c0-2.39-2.2-5.32-7.41-9.89-7-6.18-8.63-7.92-10.23-11.3-1.71-3.6-3.06-4.06-4.54-1.54-1.78 3-2.6 9.11-3 22l-.34 12.19 2 2.25c3.21 3.7 12.07 16.45 13.78 19.83 3.41 6.74 4.34 11.69 4.41 23.56s.95 22.75 2 24.71c.36.66.51 1.35.34 1.52s.41 2.09 1.29 4.27a38.14 38.14 0 0 1 2.06 9 91 91 0 0 0 1.71 10.37c2.23 9.56 2.77 14.08 2.39 20.14-.2 3.27-.53 11.07-.73 17.32-1.31 41.76-1.85 58-2 61.21-.12 2-.39 11.51-.6 21.07-.36 16.3-1.3 27.37-2.42 28.65-.64.73-8.07-4.91-12.52-9.49-3.75-3.87-4-4.79-2.83-9.95.7-3 2.26-18.29 3.33-32.62.36-4.78.81-10.5 1-12.71.83-9.37 1.66-20.35 2.61-34.78.56-8.46 1.33-16.44 1.72-17.73s.89-9.89 1.13-19.11l.43-16.77-2.26-4.3c-1.72-3.28-4.87-6.94-13.22-15.34-6-6.07-11.84-12.3-12.91-13.85l-1.95-2.81.75-10.9c1.09-15.71 1.1-48.57 0-59.06l-.89-8.7-3.28-4.52c-5.86-8.08-5.8-7.75-6.22-33.27-.1-6.07-.38-11.5-.63-12.06-.83-1.87-3.05-2.66-8.54-3.05-8.86-.62-11-1.9-23.85-14.55-6.15-6-12.34-12-13.75-13.19-2.81-2.42-2.79-2-.56-9.63l1.35-4.65-1.69-3a32.22 32.22 0 0 0-2.59-4.07c-1.33-1.51-5.5-10.89-6-13.49a4.24 4.24 0 0 1 .87-3.9c2.23-2.86 3.4-5.68 4.45-10.73 2.33-11.19 7.74-26.09 10.6-29.22 3.18-3.47 7.7-1 9.41 5 1.34 4.79 1.37 9.79.1 18.55a101.2 101.2 0 0 0-1 11.11c0 4 .19 4.69 2.25 7.39 3.33 4.37 7.73 7.41 15.2 10.52a18.67 18.67 0 0 1 4.72 2.85c11.17 10.72 18.62 16.18 22.95 16.85 5.18.8 8 4.54 10 13.39 1.31 5.65 4 11.14 5.46 11.14a9.38 9.38 0 0 0 3.33-1.39c2-1.22 2.25-1.73 2.25-4.18a132.88 132.88 0 0 0-2-17.84c-.37-1.66-.78-4.06-.93-5.35s-.61-3.85-1-5.69c-2.55-11.16-3.65-15.46-4.1-16-1.55-2-4.08-10.2-4.93-15.92-1.64-11.11-4-14.23-12.91-17.39A43.15 43.15 0 0 1 165.24 78c-1.15-1-4-3.22-6.35-5.06s-4.41-3.53-4.6-3.76a22.7 22.7 0 0 0-2.69-2c-6.24-4.22-8.84-7-11.26-12l-2.44-5-.22-13-.22-13 6.91-6.55c3.95-3.75 8.48-7.35 10.59-8.43 3.31-1.69 4.45-1.89 11.37-2 8.53-.19 10.12 0 11.66 1.56s1.36 6.4-.29 8.5a6.66 6.66 0 0 0-1.34 2.32c0 .58-2.61 4.91-5.42 9a30.39 30.39 0 0 0-2.37 6.82c20.44 13.39 21.55 3.77 14.07 29L194 66.92c3.11-8.66 6.47-17.26 8.61-26.22.29-7.63-12-4.19-15.4-8.68-2.33-5.93 3.13-14.18 6.06-19.2 1.6-2.34 6.62-4.7 8.82-4.15.88.22 4.16-.35 7.37-1.28a45.3 45.3 0 0 1 7.55-1.68 29.57 29.57 0 0 0 6-1.29c3.65-1.11 4.5-1.17 6.35-.4a29.54 29.54 0 0 0 5.82 1.36 18.18 18.18 0 0 1 6 1.91 22.67 22.67 0 0 0 5 2.17c2.51.68 3 .57 7.05-1.67l4.35-2.4L268.32 5c10.44-.4 10.81-.47 15.26-2.68L288.16 0l2.46 1.43c1.76 1 3.14 2.73 4.85 6 2.36 4.51 2.38 4.58 1.37 7.37-.88 2.44-.89 3.3-.1 6.39a35.76 35.76 0 0 0 2.1 5.91 13.55 13.55 0 0 1 1.31 4c.31 4.33 0 5.3-2.41 6.92-2.17 1.47-7 7.91-7 9.34a14.77 14.77 0 0 1-1.07 3c-5 11.51-6.76 13.56-14.26 17-9.2 4.2-12.3 5.19-16.21 5.19-3.1 0-4 .25-4.54 1.26a18.33 18.33 0 0 1-4.09 3.71 13.62 13.62 0 0 0-4.38 4.78 5.89 5.89 0 0 1-2.49 2.91 6.88 6.88 0 0 0-2.45 1.71 67.62 67.62 0 0 1-7 5.38c-3.33 2.34-6.87 5-7.87 6A7.27 7.27 0 0 1 224 100a5.76 5.76 0 0 0-2.13 1.65c-1.31 1.39-1.49 2.11-1.14 4.6a36.45 36.45 0 0 0 1.42 5.88c1.32 3.8 1.31 7.86 0 10.57s-.89 6.65 1.35 9.59c2 2.63 2.16 4.56.71 8.84a33.45 33.45 0 0 0-1.06 8.91c0 4.88.22 6.28 1.46 8.38s1.82 2.48 3.24 2.32c2-.23 2.3-1.05 4.71-12.12 2.18-10 3.71-11.92 13.76-17.08 2.94-1.51 7.46-4 10-5.44s6.79-3.69 9.37-4.91a40.09 40.09 0 0 0 15.22-11.67c7.11-8.79 10-16.22 12.85-33.3a18.37 18.37 0 0 1 2.86-7.73 20.39 20.39 0 0 0 2.89-7.31c1-5.3 2.85-9.08 5.58-11.51 4.7-4.18 6-1.09 4.59 10.87-.46 3.86-1.1 10.33-1.44 14.38l-.61 7.36 4.45 4.09 4.45 4.09.11 8.42c.06 4.63.47 9.53.92 10.89l.82 2.47-6.43 6.28c-8.54 8.33-12.88 13.93-16.76 21.61-1.77 3.49-3.74 7.11-4.38 8-2.18 3.11-6.46 13-8.76 20.26l-2.29 7.22-7 6.49c-3.83 3.57-8 7.25-9.17 8.17-3.05 2.32-4.26 5.15-4.26 10a14.62 14.62 0 0 0 1.59 7.26 42 42 0 0 1 2.09 4.83 9.28 9.28 0 0 0 1.57 2.89c1.4 1.59 1.92 16.12.83 23.22-.68 4.48-3.63 12-4.7 12-1.79 0-4.06 9.27-5.07 20.74-.18 2-.62 5.94-1 8.7s-1 10-1.35 16.05c-.77 12.22-.19 18.77 2 23.15 3.41 6.69.52 12.69-11 22.84l-4 3.49.07 5.19a40.81 40.81 0 0 0 1.14 8.87c4.61 16 4.73 16.92 4.38 37.13-.46 26.4-.26 40.27.63 44.15a61.31 61.31 0 0 1 1.08 7c.17 2 .66 5.33 1.08 7.36.47 2.26.78 11 .79 22.74v19.06l-1.81 2.63c-2.71 3.91-15.11 13.54-15.49 12.29zm29.53-45.11c-.18-.3-.33-6.87-.33-14.59 0-14.06-.89-27.54-2.26-34.45-.4-2-.81-9.7-.9-17.06-.15-11.93-1.4-24.37-2.64-26.38-.66-1.07-3-17.66-3-21.3 0-4.23 1-6 5.28-9.13s4.86-3.14 5.48-.72c.28 1.1 1.45 5.62 2.6 10 3.93 15.12 4.14 16.27 4.05 21.74-.1 5.78-.13 6.13-1.74 17.73-1 7.07-1.17 12.39-1 28.43.17 19.4-.64 35.73-2 41.27-.71 2.78-2.8 5.48-3.43 4.43zm-71-37.58a101 101 0 0 1-1.73-10.79 100.5 100.5 0 0 0-1.73-10.79 37.53 37.53 0 0 1-1-6.49c-.31-3.19-.91-7.46-1.33-9.48-1-4.79-3.35-19.35-3.42-21.07 0-.74-.34-4.05-.7-7.36-.67-6.21-.84-27.67-.22-28.29 1-1 6.63 2.76 11.33 7.43l5.28 5.25-.45 6.47c-.25 3.56-.6 10.23-.78 14.83s-.49 9.87-.67 11.71-.61 9.36-.94 16.72c-.79 17.41-1.94 31.29-2.65 32a.62.62 0 0 1-1-.14zm-87.18-266.59c21.07 12.79 17.84 14.15 28.49 17.66 13 4.29 18.87 7.13 23.15 16.87C111.6 233.28 86.25 255 78.55 268c-31 52-6 101.59 62.75 87.21-14.18 29.23-78 28.63-98.68-4.9-24.68-39.95-22.09-118.3 61-187.66zm210.79 179c56.66 6.88 82.32-37.74 46.54-89.23 0 0-26.87-29.34-64.28-68 3-15.45 9.49-32.12 30.57-53.82 89.2 63.51 92 141.61 92.46 149.36 4.3 70.64-78.7 91.18-105.29 61.71z\"]\n};\nvar faMarkdown = {\n prefix: 'fab',\n iconName: 'markdown',\n icon: [640, 512, [], \"f60f\", \"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z\"]\n};\nvar faMastodon = {\n prefix: 'fab',\n iconName: 'mastodon',\n icon: [448, 512, [], \"f4f6\", \"M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z\"]\n};\nvar faMaxcdn = {\n prefix: 'fab',\n iconName: 'maxcdn',\n icon: [512, 512, [], \"f136\", \"M461.1 442.7h-97.4L415.6 200c2.3-10.2.9-19.5-4.4-25.7-5-6.1-13.7-9.6-24.2-9.6h-49.3l-59.5 278h-97.4l59.5-278h-83.4l-59.5 278H0l59.5-278-44.6-95.4H387c39.4 0 75.3 16.3 98.3 44.9 23.3 28.6 31.8 67.4 23.6 105.9l-47.8 222.6z\"]\n};\nvar faMdb = {\n prefix: 'fab',\n iconName: 'mdb',\n icon: [576, 512, [], \"f8ca\", \"M17.37 160.41L7 352h43.91l5.59-79.83L84.43 352h44.71l25.54-77.43 4.79 77.43H205l-12.79-191.59H146.7L106 277.74 63.67 160.41zm281 0h-47.9V352h47.9s95 .8 94.2-95.79c-.78-94.21-94.18-95.78-94.18-95.78zm-1.2 146.46V204.78s46 4.27 46.8 50.57-46.78 51.54-46.78 51.54zm238.29-74.24a56.16 56.16 0 0 0 8-38.31c-5.34-35.76-55.08-34.32-55.08-34.32h-51.9v191.58H482s87 4.79 87-63.85c0-43.14-33.52-55.08-33.52-55.08zm-51.9-31.94s13.57-1.59 16 9.59c1.43 6.66-4 12-4 12h-12v-21.57zm-.1 109.46l.1-24.92V267h.08s41.58-4.73 41.19 22.43c-.33 25.65-41.35 20.74-41.35 20.74z\"]\n};\nvar faMedapps = {\n prefix: 'fab',\n iconName: 'medapps',\n icon: [320, 512, [], \"f3c6\", \"M118.3 238.4c3.5-12.5 6.9-33.6 13.2-33.6 8.3 1.8 9.6 23.4 18.6 36.6 4.6-23.5 5.3-85.1 14.1-86.7 9-.7 19.7 66.5 22 77.5 9.9 4.1 48.9 6.6 48.9 6.6 1.9 7.3-24 7.6-40 7.8-4.6 14.8-5.4 27.7-11.4 28-4.7.2-8.2-28.8-17.5-49.6l-9.4 65.5c-4.4 13-15.5-22.5-21.9-39.3-3.3-.1-62.4-1.6-47.6-7.8l31-5zM228 448c21.2 0 21.2-32 0-32H92c-21.2 0-21.2 32 0 32h136zm-24 64c21.2 0 21.2-32 0-32h-88c-21.2 0-21.2 32 0 32h88zm34.2-141.5c3.2-18.9 5.2-36.4 11.9-48.8 7.9-14.7 16.1-28.1 24-41 24.6-40.4 45.9-75.2 45.9-125.5C320 69.6 248.2 0 160 0S0 69.6 0 155.2c0 50.2 21.3 85.1 45.9 125.5 7.9 12.9 16 26.3 24 41 6.7 12.5 8.7 29.8 11.9 48.9 3.5 21 36.1 15.7 32.6-5.1-3.6-21.7-5.6-40.7-15.3-58.6C66.5 246.5 33 211.3 33 155.2 33 87.3 90 32 160 32s127 55.3 127 123.2c0 56.1-33.5 91.3-66.1 151.6-9.7 18-11.7 37.4-15.3 58.6-3.4 20.6 29 26.4 32.6 5.1z\"]\n};\nvar faMedium = {\n prefix: 'fab',\n iconName: 'medium',\n icon: [448, 512, [], \"f23a\", \"M0 32v448h448V32H0zm372.2 106.1l-24 23c-2.1 1.6-3.1 4.2-2.7 6.7v169.3c-.4 2.6.6 5.2 2.7 6.7l23.5 23v5.1h-118V367l24.3-23.6c2.4-2.4 2.4-3.1 2.4-6.7V199.8l-67.6 171.6h-9.1L125 199.8v115c-.7 4.8 1 9.7 4.4 13.2l31.6 38.3v5.1H71.2v-5.1l31.6-38.3c3.4-3.5 4.9-8.4 4.1-13.2v-133c.4-3.7-1-7.3-3.8-9.8L75 138.1V133h87.3l67.4 148L289 133.1h83.2v5z\"]\n};\nvar faMediumM = {\n prefix: 'fab',\n iconName: 'medium-m',\n icon: [512, 512, [], \"f3c7\", \"M71.5 142.3c.6-5.9-1.7-11.8-6.1-15.8L20.3 72.1V64h140.2l108.4 237.7L364.2 64h133.7v8.1l-38.6 37c-3.3 2.5-5 6.7-4.3 10.8v272c-.7 4.1 1 8.3 4.3 10.8l37.7 37v8.1H307.3v-8.1l39.1-37.9c3.8-3.8 3.8-5 3.8-10.8V171.2L241.5 447.1h-14.7L100.4 171.2v184.9c-1.1 7.8 1.5 15.6 7 21.2l50.8 61.6v8.1h-144v-8L65 377.3c5.4-5.6 7.9-13.5 6.5-21.2V142.3z\"]\n};\nvar faMedrt = {\n prefix: 'fab',\n iconName: 'medrt',\n icon: [544, 512, [], \"f3c8\", \"M113.7 256c0 121.8 83.9 222.8 193.5 241.1-18.7 4.5-38.2 6.9-58.2 6.9C111.4 504 0 393 0 256S111.4 8 248.9 8c20.1 0 39.6 2.4 58.2 6.9C197.5 33.2 113.7 134.2 113.7 256m297.4 100.3c-77.7 55.4-179.6 47.5-240.4-14.6 5.5 14.1 12.7 27.7 21.7 40.5 61.6 88.2 182.4 109.3 269.7 47 87.3-62.3 108.1-184.3 46.5-272.6-9-12.9-19.3-24.3-30.5-34.2 37.4 78.8 10.7 178.5-67 233.9m-218.8-244c-1.4 1-2.7 2.1-4 3.1 64.3-17.8 135.9 4 178.9 60.5 35.7 47 42.9 106.6 24.4 158 56.7-56.2 67.6-142.1 22.3-201.8-50-65.5-149.1-74.4-221.6-19.8M296 224c-4.4 0-8-3.6-8-8v-40c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v40c0 4.4-3.6 8-8 8h-40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h40c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-40z\"]\n};\nvar faMeetup = {\n prefix: 'fab',\n iconName: 'meetup',\n icon: [512, 512, [], \"f2e0\", \"M99 414.3c1.1 5.7-2.3 11.1-8 12.3-5.4 1.1-10.9-2.3-12-8-1.1-5.4 2.3-11.1 7.7-12.3 5.4-1.2 11.1 2.3 12.3 8zm143.1 71.4c-6.3 4.6-8 13.4-3.7 20 4.6 6.6 13.4 8.3 20 3.7 6.3-4.6 8-13.4 3.4-20-4.2-6.5-13.1-8.3-19.7-3.7zm-86-462.3c6.3-1.4 10.3-7.7 8.9-14-1.1-6.6-7.4-10.6-13.7-9.1-6.3 1.4-10.3 7.7-9.1 14 1.4 6.6 7.6 10.6 13.9 9.1zM34.4 226.3c-10-6.9-23.7-4.3-30.6 6-6.9 10-4.3 24 5.7 30.9 10 7.1 23.7 4.6 30.6-5.7 6.9-10.4 4.3-24.1-5.7-31.2zm272-170.9c10.6-6.3 13.7-20 7.7-30.3-6.3-10.6-19.7-14-30-7.7s-13.7 20-7.4 30.6c6 10.3 19.4 13.7 29.7 7.4zm-191.1 58c7.7-5.4 9.4-16 4.3-23.7s-15.7-9.4-23.1-4.3c-7.7 5.4-9.4 16-4.3 23.7 5.1 7.8 15.6 9.5 23.1 4.3zm372.3 156c-7.4 1.7-12.3 9.1-10.6 16.9 1.4 7.4 8.9 12.3 16.3 10.6 7.4-1.4 12.3-8.9 10.6-16.6-1.5-7.4-8.9-12.3-16.3-10.9zm39.7-56.8c-1.1-5.7-6.6-9.1-12-8-5.7 1.1-9.1 6.9-8 12.6 1.1 5.4 6.6 9.1 12.3 8 5.4-1.5 9.1-6.9 7.7-12.6zM447 138.9c-8.6 6-10.6 17.7-4.9 26.3 5.7 8.6 17.4 10.6 26 4.9 8.3-6 10.3-17.7 4.6-26.3-5.7-8.7-17.4-10.9-25.7-4.9zm-6.3 139.4c26.3 43.1 15.1 100-26.3 129.1-17.4 12.3-37.1 17.7-56.9 17.1-12 47.1-69.4 64.6-105.1 32.6-1.1.9-2.6 1.7-3.7 2.9-39.1 27.1-92.3 17.4-119.4-22.3-9.7-14.3-14.6-30.6-15.1-46.9-65.4-10.9-90-94-41.1-139.7-28.3-46.9.6-107.4 53.4-114.9C151.6 70 234.1 38.6 290.1 82c67.4-22.3 136.3 29.4 130.9 101.1 41.1 12.6 52.8 66.9 19.7 95.2zm-70 74.3c-3.1-20.6-40.9-4.6-43.1-27.1-3.1-32 43.7-101.1 40-128-3.4-24-19.4-29.1-33.4-29.4-13.4-.3-16.9 2-21.4 4.6-2.9 1.7-6.6 4.9-11.7-.3-6.3-6-11.1-11.7-19.4-12.9-12.3-2-17.7 2-26.6 9.7-3.4 2.9-12 12.9-20 9.1-3.4-1.7-15.4-7.7-24-11.4-16.3-7.1-40 4.6-48.6 20-12.9 22.9-38 113.1-41.7 125.1-8.6 26.6 10.9 48.6 36.9 47.1 11.1-.6 18.3-4.6 25.4-17.4 4-7.4 41.7-107.7 44.6-112.6 2-3.4 8.9-8 14.6-5.1 5.7 3.1 6.9 9.4 6 15.1-1.1 9.7-28 70.9-28.9 77.7-3.4 22.9 26.9 26.6 38.6 4 3.7-7.1 45.7-92.6 49.4-98.3 4.3-6.3 7.4-8.3 11.7-8 3.1 0 8.3.9 7.1 10.9-1.4 9.4-35.1 72.3-38.9 87.7-4.6 20.6 6.6 41.4 24.9 50.6 11.4 5.7 62.5 15.7 58.5-11.1zm5.7 92.3c-10.3 7.4-12.9 22-5.7 32.6 7.1 10.6 21.4 13.1 32 6 10.6-7.4 13.1-22 6-32.6-7.4-10.6-21.7-13.5-32.3-6z\"]\n};\nvar faMegaport = {\n prefix: 'fab',\n iconName: 'megaport',\n icon: [496, 512, [], \"f5a3\", \"M214.5 209.6v66.2l33.5 33.5 33.3-33.3v-66.4l-33.4-33.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm145.1 414.4L367 441.6l-26-19.2v-65.5l-33.4-33.4-33.4 33.4v65.5L248 441.6l-26.1-19.2v-65.5l-33.4-33.4-33.5 33.4v65.5l-26.1 19.2-26.1-19.2v-87l59.5-59.5V188l59.5-59.5V52.9l26.1-19.2L274 52.9v75.6l59.5 59.5v87.6l59.7 59.7v87.1z\"]\n};\nvar faMendeley = {\n prefix: 'fab',\n iconName: 'mendeley',\n icon: [640, 512, [], \"f7b3\", \"M624.6 325.2c-12.3-12.4-29.7-19.2-48.4-17.2-43.3-1-49.7-34.9-37.5-98.8 22.8-57.5-14.9-131.5-87.4-130.8-77.4.7-81.7 82-130.9 82-48.1 0-54-81.3-130.9-82-72.9-.8-110.1 73.3-87.4 130.8 12.2 63.9 5.8 97.8-37.5 98.8-21.2-2.3-37 6.5-53 22.5-19.9 19.7-19.3 94.8 42.6 102.6 47.1 5.9 81.6-42.9 61.2-87.8-47.3-103.7 185.9-106.1 146.5-8.2-.1.1-.2.2-.3.4-26.8 42.8 6.8 97.4 58.8 95.2 52.1 2.1 85.4-52.6 58.8-95.2-.1-.2-.2-.3-.3-.4-39.4-97.9 193.8-95.5 146.5 8.2-4.6 10-6.7 21.3-5.7 33 4.9 53.4 68.7 74.1 104.9 35.2 17.8-14.8 23.1-65.6 0-88.3zm-303.9-19.1h-.6c-43.4 0-62.8-37.5-62.8-62.8 0-34.7 28.2-62.8 62.8-62.8h.6c34.7 0 62.8 28.1 62.8 62.8 0 25-19.2 62.8-62.8 62.8z\"]\n};\nvar faMicroblog = {\n prefix: 'fab',\n iconName: 'microblog',\n icon: [448, 512, [], \"e01a\", \"M399.36,362.23c29.49-34.69,47.1-78.34,47.1-125.79C446.46,123.49,346.86,32,224,32S1.54,123.49,1.54,236.44,101.14,440.87,224,440.87a239.28,239.28,0,0,0,79.44-13.44,7.18,7.18,0,0,1,8.12,2.56c18.58,25.09,47.61,42.74,79.89,49.92a4.42,4.42,0,0,0,5.22-3.43,4.37,4.37,0,0,0-.85-3.62,87,87,0,0,1,3.69-110.69ZM329.52,212.4l-57.3,43.49L293,324.75a6.5,6.5,0,0,1-9.94,7.22L224,290.92,164.94,332a6.51,6.51,0,0,1-9.95-7.22l20.79-68.86-57.3-43.49a6.5,6.5,0,0,1,3.8-11.68l71.88-1.51,23.66-67.92a6.5,6.5,0,0,1,12.28,0l23.66,67.92,71.88,1.51a6.5,6.5,0,0,1,3.88,11.68Z\"]\n};\nvar faMicrosoft = {\n prefix: 'fab',\n iconName: 'microsoft',\n icon: [448, 512, [], \"f3ca\", \"M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z\"]\n};\nvar faMix = {\n prefix: 'fab',\n iconName: 'mix',\n icon: [448, 512, [], \"f3cb\", \"M0 64v348.9c0 56.2 88 58.1 88 0V174.3c7.9-52.9 88-50.4 88 6.5v175.3c0 57.9 96 58 96 0V240c5.3-54.7 88-52.5 88 4.3v23.8c0 59.9 88 56.6 88 0V64H0z\"]\n};\nvar faMixcloud = {\n prefix: 'fab',\n iconName: 'mixcloud',\n icon: [640, 512, [], \"f289\", \"M424.43 219.729C416.124 134.727 344.135 68 256.919 68c-72.266 0-136.224 46.516-159.205 114.074-54.545 8.029-96.63 54.822-96.63 111.582 0 62.298 50.668 112.966 113.243 112.966h289.614c52.329 0 94.969-42.362 94.969-94.693 0-45.131-32.118-83.063-74.48-92.2zm-20.489 144.53H114.327c-39.04 0-70.881-31.564-70.881-70.604s31.841-70.604 70.881-70.604c18.827 0 36.548 7.475 49.838 20.766 19.963 19.963 50.133-10.227 30.18-30.18-14.675-14.398-32.672-24.365-52.053-29.349 19.935-44.3 64.79-73.926 114.628-73.926 69.496 0 125.979 56.483 125.979 125.702 0 13.568-2.215 26.857-6.369 39.594-8.943 27.517 32.133 38.939 40.147 13.29 2.769-8.306 4.984-16.889 6.369-25.472 19.381 7.476 33.502 26.303 33.502 48.453 0 28.795-23.535 52.33-52.607 52.33zm235.069-52.33c0 44.024-12.737 86.386-37.102 122.657-4.153 6.092-10.798 9.414-17.72 9.414-16.317 0-27.127-18.826-17.443-32.949 19.381-29.349 29.903-63.682 29.903-99.122s-10.521-69.773-29.903-98.845c-15.655-22.831 19.361-47.24 35.163-23.534 24.366 35.993 37.102 78.356 37.102 122.379zm-70.88 0c0 31.565-9.137 62.021-26.857 88.325-4.153 6.091-10.798 9.136-17.72 9.136-17.201 0-27.022-18.979-17.443-32.948 13.013-19.104 19.658-41.255 19.658-64.513 0-22.981-6.645-45.408-19.658-64.512-15.761-22.986 19.008-47.095 35.163-23.535 17.719 26.026 26.857 56.483 26.857 88.047z\"]\n};\nvar faMixer = {\n prefix: 'fab',\n iconName: 'mixer',\n icon: [512, 512, [], \"e056\", \"M114.57,76.07a45.71,45.71,0,0,0-67.51-6.41c-17.58,16.18-19,43.52-4.75,62.77l91.78,123L41.76,379.58c-14.23,19.25-13.11,46.59,4.74,62.77A45.71,45.71,0,0,0,114,435.94L242.89,262.7a12.14,12.14,0,0,0,0-14.23ZM470.24,379.58,377.91,255.45l91.78-123c14.22-19.25,12.83-46.59-4.75-62.77a45.71,45.71,0,0,0-67.51,6.41l-128,172.12a12.14,12.14,0,0,0,0,14.23L398,435.94a45.71,45.71,0,0,0,67.51,6.41C483.35,426.17,484.47,398.83,470.24,379.58Z\"]\n};\nvar faMizuni = {\n prefix: 'fab',\n iconName: 'mizuni',\n icon: [496, 512, [], \"f3cc\", \"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm-80 351.9c-31.4 10.6-58.8 27.3-80 48.2V136c0-22.1 17.9-40 40-40s40 17.9 40 40v223.9zm120-9.9c-12.9-2-26.2-3.1-39.8-3.1-13.8 0-27.2 1.1-40.2 3.1V136c0-22.1 17.9-40 40-40s40 17.9 40 40v214zm120 57.7c-21.2-20.8-48.6-37.4-80-48V136c0-22.1 17.9-40 40-40s40 17.9 40 40v271.7z\"]\n};\nvar faModx = {\n prefix: 'fab',\n iconName: 'modx',\n icon: [448, 512, [], \"f285\", \"M356 241.8l36.7 23.7V480l-133-83.8L356 241.8zM440 75H226.3l-23 37.8 153.5 96.5L440 75zm-89 142.8L55.2 32v214.5l46 29L351 217.8zM97 294.2L8 437h213.7l125-200.5L97 294.2z\"]\n};\nvar faMonero = {\n prefix: 'fab',\n iconName: 'monero',\n icon: [496, 512, [], \"f3d0\", \"M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z\"]\n};\nvar faNapster = {\n prefix: 'fab',\n iconName: 'napster',\n icon: [496, 512, [], \"f3d2\", \"M298.3 373.6c-14.2 13.6-31.3 24.1-50.4 30.5-19-6.4-36.2-16.9-50.3-30.5h100.7zm44-199.6c20-16.9 43.6-29.2 69.6-36.2V299c0 219.4-328 217.6-328 .3V137.7c25.9 6.9 49.6 19.6 69.5 36.4 56.8-40 132.5-39.9 188.9-.1zm-208.8-58.5c64.4-60 164.3-60.1 228.9-.2-7.1 3.5-13.9 7.3-20.6 11.5-58.7-30.5-129.2-30.4-187.9.1-6.3-4-13.9-8.2-20.4-11.4zM43.8 93.2v69.3c-58.4 36.5-58.4 121.1.1 158.3 26.4 245.1 381.7 240.3 407.6 1.5l.3-1.7c58.7-36.3 58.9-121.7.2-158.2V93.2c-17.3.5-34 3-50.1 7.4-82-91.5-225.5-91.5-307.5.1-16.3-4.4-33.1-7-50.6-7.5zM259.2 352s36-.3 61.3-1.5c10.2-.5 21.1-4 25.5-6.5 26.3-15.1 25.4-39.2 26.2-47.4-79.5-.6-99.9-3.9-113 55.4zm-135.5-55.3c.8 8.2-.1 32.3 26.2 47.4 4.4 2.5 15.2 6 25.5 6.5 25.3 1.1 61.3 1.5 61.3 1.5-13.2-59.4-33.7-56.1-113-55.4zm169.1 123.4c-3.2-5.3-6.9-7.3-6.9-7.3-24.8 7.3-52.2 6.9-75.9 0 0 0-2.9 1.5-6.4 6.6-2.8 4.1-3.7 9.6-3.7 9.6 29.1 17.6 67.1 17.6 96.2 0-.1-.1-.3-4-3.3-8.9z\"]\n};\nvar faNeos = {\n prefix: 'fab',\n iconName: 'neos',\n icon: [512, 512, [], \"f612\", \"M415.44 512h-95.11L212.12 357.46v91.1L125.69 512H28V29.82L68.47 0h108.05l123.74 176.13V63.45L386.69 0h97.69v461.5zM38.77 35.27V496l72-52.88V194l215.5 307.64h84.79l52.35-38.17h-78.27L69 13zm82.54 466.61l80-58.78v-101l-79.76-114.4v220.94L49 501.89h72.34zM80.63 10.77l310.6 442.57h82.37V10.77h-79.75v317.56L170.91 10.77zM311 191.65l72 102.81V15.93l-72 53v122.72z\"]\n};\nvar faNimblr = {\n prefix: 'fab',\n iconName: 'nimblr',\n icon: [384, 512, [], \"f5a8\", \"M246.6 299.29c15.57 0 27.15 11.46 27.15 27s-11.62 27-27.15 27c-15.7 0-27.15-11.57-27.15-27s11.55-27 27.15-27zM113 326.25c0-15.61 11.68-27 27.15-27s27.15 11.46 27.15 27-11.47 27-27.15 27c-15.44 0-27.15-11.31-27.15-27M191.76 159C157 159 89.45 178.77 59.25 227L14 0v335.48C14 433.13 93.61 512 191.76 512s177.76-78.95 177.76-176.52S290.13 159 191.76 159zm0 308.12c-73.27 0-132.51-58.9-132.51-131.59s59.24-131.59 132.51-131.59 132.51 58.86 132.51 131.54S265 467.07 191.76 467.07z\"]\n};\nvar faNode = {\n prefix: 'fab',\n iconName: 'node',\n icon: [640, 512, [], \"f419\", \"M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z\"]\n};\nvar faNodeJs = {\n prefix: 'fab',\n iconName: 'node-js',\n icon: [448, 512, [], \"f3d3\", \"M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z\"]\n};\nvar faNpm = {\n prefix: 'fab',\n iconName: 'npm',\n icon: [576, 512, [], \"f3d4\", \"M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z\"]\n};\nvar faNs8 = {\n prefix: 'fab',\n iconName: 'ns8',\n icon: [640, 512, [], \"f3d5\", \"M104.324,269.172h26.067V242.994H104.324Zm52.466-26.178-.055-26.178v-.941a39.325,39.325,0,0,0-78.644.941v.166h26.4v-.166a12.98,12.98,0,0,1,25.956,0v26.178Zm52.356,25.846a91.1,91.1,0,0,1-91.1,91.1h-.609a91.1,91.1,0,0,1-91.1-91.1H0v.166A117.33,117.33,0,0,0,117.44,386.28h.775A117.331,117.331,0,0,0,235.49,268.84V242.828H209.146Zm-157.233,0a65.362,65.362,0,0,0,130.723,0H156.292a39.023,39.023,0,0,1-78.035,0V242.883H51.968v-26.62A65.42,65.42,0,0,1,182.8,217.48v25.293h26.344V217.48a91.761,91.761,0,0,0-183.522,0v25.4H51.913Zm418.4-71.173c13.67,0,24.573,6.642,30.052,18.264l.719,1.549,23.245-11.511-.609-1.439c-8.025-19.26-28.5-31.27-53.407-31.27-23.134,0-43.611,11.4-50.972,28.447-.123,26.876-.158,23.9,0,24.85,4.7,11.013,14.555,19.37,28.668,24.241a102.033,102.033,0,0,0,19.813,3.984c5.479.72,10.626,1.384,15.829,3.1,6.364,2.1,10.46,5.257,12.84,9.851v9.851c-3.708,7.527-13.781,12.342-25.791,12.342-14.334,0-25.956-6.918-31.933-19.039l-.72-1.494L415.026,280.9l.553,1.439c7.915,19.426,29.609,32.044,55.289,32.044,23.632,0,44.608-11.4,52.3-28.447l.166-25.9-.166-.664c-4.87-11.014-15.219-19.647-28.944-24.241-7.693-2.712-14.335-3.6-20.7-4.427a83.777,83.777,0,0,1-14.832-2.878c-6.31-1.937-10.4-5.092-12.619-9.63v-8.412C449.45,202.427,458.969,197.667,470.315,197.667ZM287.568,311.344h26.067v-68.4H287.568Zm352.266-53.3c-2.933-6.254-8.3-12.01-15.441-16.714A37.99,37.99,0,0,0,637.4,226l.166-25.347-.166-.664C630.038,184,610.667,173.26,589.25,173.26S548.461,184,541.1,199.992l-.166,25.347.166.664a39.643,39.643,0,0,0,13.006,15.331c-7.2,4.7-12.508,10.46-15.441,16.714l-.166,28.889.166.72c7.582,15.994,27.893,26.731,50.585,26.731s43.057-10.737,50.584-26.731l.166-28.89Zm-73.22-50.806c3.6-6.31,12.563-10.516,22.58-10.516s19.038,4.206,22.636,10.516v13.725c-3.542,6.2-12.563,10.349-22.636,10.349s-19.094-4.15-22.58-10.349Zm47.319,72.169c-3.764,6.641-13.338,10.9-24.683,10.9-11.125,0-20.976-4.372-24.684-10.9V263.25c3.708-6.309,13.5-10.515,24.684-10.515,11.345,0,20.919,4.15,24.683,10.515ZM376.4,265.962l-59.827-89.713h-29v40.623h26.51v.387l62.539,94.085H402.3V176.249H376.4Z\"]\n};\nvar faNutritionix = {\n prefix: 'fab',\n iconName: 'nutritionix',\n icon: [400, 512, [], \"f3d6\", \"M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z\"]\n};\nvar faOctopusDeploy = {\n prefix: 'fab',\n iconName: 'octopus-deploy',\n icon: [512, 512, [], \"e082\", \"M455.6,349.2c-45.891-39.09-36.67-77.877-16.095-128.11C475.16,134.04,415.967,34.14,329.93,8.3,237.04-19.6,134.252,24.341,99.677,117.147a180.862,180.862,0,0,0-10.988,73.544c1.733,29.543,14.717,52.97,24.09,80.3,17.2,50.161-28.1,92.743-66.662,117.582-46.806,30.2-36.319,39.857-8.428,41.858,23.378,1.68,44.478-4.548,65.265-15.045,9.2-4.647,40.687-18.931,45.13-28.588C135.9,413.388,111.122,459.5,126.621,488.9c19.1,36.229,67.112-31.77,76.709-45.812,8.591-12.572,42.963-81.279,63.627-46.926,18.865,31.361,8.6,76.391,35.738,104.622,32.854,34.2,51.155-18.312,51.412-44.221.163-16.411-6.1-95.852,29.9-59.944C405.428,418,436.912,467.8,472.568,463.642c38.736-4.516-22.123-67.967-28.262-78.695,5.393,4.279,53.665,34.128,53.818,9.52C498.234,375.678,468.039,359.8,455.6,349.2Z\"]\n};\nvar faOdnoklassniki = {\n prefix: 'fab',\n iconName: 'odnoklassniki',\n icon: [320, 512, [], \"f263\", \"M275.1 334c-27.4 17.4-65.1 24.3-90 26.9l20.9 20.6 76.3 76.3c27.9 28.6-17.5 73.3-45.7 45.7-19.1-19.4-47.1-47.4-76.3-76.6L84 503.4c-28.2 27.5-73.6-17.6-45.4-45.7 19.4-19.4 47.1-47.4 76.3-76.3l20.6-20.6c-24.6-2.6-62.9-9.1-90.6-26.9-32.6-21-46.9-33.3-34.3-59 7.4-14.6 27.7-26.9 54.6-5.7 0 0 36.3 28.9 94.9 28.9s94.9-28.9 94.9-28.9c26.9-21.1 47.1-8.9 54.6 5.7 12.4 25.7-1.9 38-34.5 59.1zM30.3 129.7C30.3 58 88.6 0 160 0s129.7 58 129.7 129.7c0 71.4-58.3 129.4-129.7 129.4s-129.7-58-129.7-129.4zm66 0c0 35.1 28.6 63.7 63.7 63.7s63.7-28.6 63.7-63.7c0-35.4-28.6-64-63.7-64s-63.7 28.6-63.7 64z\"]\n};\nvar faOdnoklassnikiSquare = {\n prefix: 'fab',\n iconName: 'odnoklassniki-square',\n icon: [448, 512, [], \"f264\", \"M184.2 177.1c0-22.1 17.9-40 39.8-40s39.8 17.9 39.8 40c0 22-17.9 39.8-39.8 39.8s-39.8-17.9-39.8-39.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-305.1 97.1c0 44.6 36.4 80.9 81.1 80.9s81.1-36.2 81.1-80.9c0-44.8-36.4-81.1-81.1-81.1s-81.1 36.2-81.1 81.1zm174.5 90.7c-4.6-9.1-17.3-16.8-34.1-3.6 0 0-22.7 18-59.3 18s-59.3-18-59.3-18c-16.8-13.2-29.5-5.5-34.1 3.6-7.9 16.1 1.1 23.7 21.4 37 17.3 11.1 41.2 15.2 56.6 16.8l-12.9 12.9c-18.2 18-35.5 35.5-47.7 47.7-17.6 17.6 10.7 45.8 28.4 28.6l47.7-47.9c18.2 18.2 35.7 35.7 47.7 47.9 17.6 17.2 46-10.7 28.6-28.6l-47.7-47.7-13-12.9c15.5-1.6 39.1-5.9 56.2-16.8 20.4-13.3 29.3-21 21.5-37z\"]\n};\nvar faOldRepublic = {\n prefix: 'fab',\n iconName: 'old-republic',\n icon: [496, 512, [], \"f510\", \"M235.76 10.23c7.5-.31 15-.28 22.5-.09 3.61.14 7.2.4 10.79.73 4.92.27 9.79 1.03 14.67 1.62 2.93.43 5.83.98 8.75 1.46 7.9 1.33 15.67 3.28 23.39 5.4 12.24 3.47 24.19 7.92 35.76 13.21 26.56 12.24 50.94 29.21 71.63 49.88 20.03 20.09 36.72 43.55 48.89 69.19 1.13 2.59 2.44 5.1 3.47 7.74 2.81 6.43 5.39 12.97 7.58 19.63 4.14 12.33 7.34 24.99 9.42 37.83.57 3.14 1.04 6.3 1.4 9.47.55 3.83.94 7.69 1.18 11.56.83 8.34.84 16.73.77 25.1-.07 4.97-.26 9.94-.75 14.89-.24 3.38-.51 6.76-.98 10.12-.39 2.72-.63 5.46-1.11 8.17-.9 5.15-1.7 10.31-2.87 15.41-4.1 18.5-10.3 36.55-18.51 53.63-15.77 32.83-38.83 62.17-67.12 85.12a246.503 246.503 0 0 1-56.91 34.86c-6.21 2.68-12.46 5.25-18.87 7.41-3.51 1.16-7.01 2.38-10.57 3.39-6.62 1.88-13.29 3.64-20.04 5-4.66.91-9.34 1.73-14.03 2.48-5.25.66-10.5 1.44-15.79 1.74-6.69.66-13.41.84-20.12.81-6.82.03-13.65-.12-20.45-.79-3.29-.23-6.57-.5-9.83-.95-2.72-.39-5.46-.63-8.17-1.11-4.12-.72-8.25-1.37-12.35-2.22-4.25-.94-8.49-1.89-12.69-3.02-8.63-2.17-17.08-5.01-25.41-8.13-10.49-4.12-20.79-8.75-30.64-14.25-2.14-1.15-4.28-2.29-6.35-3.57-11.22-6.58-21.86-14.1-31.92-22.34-34.68-28.41-61.41-66.43-76.35-108.7-3.09-8.74-5.71-17.65-7.8-26.68-1.48-6.16-2.52-12.42-3.58-18.66-.4-2.35-.61-4.73-.95-7.09-.6-3.96-.75-7.96-1.17-11.94-.8-9.47-.71-18.99-.51-28.49.14-3.51.34-7.01.7-10.51.31-3.17.46-6.37.92-9.52.41-2.81.65-5.65 1.16-8.44.7-3.94 1.3-7.9 2.12-11.82 3.43-16.52 8.47-32.73 15.26-48.18 1.15-2.92 2.59-5.72 3.86-8.59 8.05-16.71 17.9-32.56 29.49-47.06 20-25.38 45.1-46.68 73.27-62.47 7.5-4.15 15.16-8.05 23.07-11.37 15.82-6.88 32.41-11.95 49.31-15.38 3.51-.67 7.04-1.24 10.56-1.85 2.62-.47 5.28-.7 7.91-1.08 3.53-.53 7.1-.68 10.65-1.04 2.46-.24 4.91-.36 7.36-.51m8.64 24.41c-9.23.1-18.43.99-27.57 2.23-7.3 1.08-14.53 2.6-21.71 4.3-13.91 3.5-27.48 8.34-40.46 14.42-10.46 4.99-20.59 10.7-30.18 17.22-4.18 2.92-8.4 5.8-12.34 9.03-5.08 3.97-9.98 8.17-14.68 12.59-2.51 2.24-4.81 4.7-7.22 7.06-28.22 28.79-48.44 65.39-57.5 104.69-2.04 8.44-3.54 17.02-4.44 25.65-1.1 8.89-1.44 17.85-1.41 26.8.11 7.14.38 14.28 1.22 21.37.62 7.12 1.87 14.16 3.2 21.18 1.07 4.65 2.03 9.32 3.33 13.91 6.29 23.38 16.5 45.7 30.07 65.75 8.64 12.98 18.78 24.93 29.98 35.77 16.28 15.82 35.05 29.04 55.34 39.22 7.28 3.52 14.66 6.87 22.27 9.63 5.04 1.76 10.06 3.57 15.22 4.98 11.26 3.23 22.77 5.6 34.39 7.06 2.91.29 5.81.61 8.72.9 13.82 1.08 27.74 1 41.54-.43 4.45-.6 8.92-.99 13.35-1.78 3.63-.67 7.28-1.25 10.87-2.1 4.13-.98 8.28-1.91 12.36-3.07 26.5-7.34 51.58-19.71 73.58-36.2 15.78-11.82 29.96-25.76 42.12-41.28 3.26-4.02 6.17-8.31 9.13-12.55 3.39-5.06 6.58-10.25 9.6-15.54 2.4-4.44 4.74-8.91 6.95-13.45 5.69-12.05 10.28-24.62 13.75-37.49 2.59-10.01 4.75-20.16 5.9-30.45 1.77-13.47 1.94-27.1 1.29-40.65-.29-3.89-.67-7.77-1-11.66-2.23-19.08-6.79-37.91-13.82-55.8-5.95-15.13-13.53-29.63-22.61-43.13-12.69-18.8-28.24-35.68-45.97-49.83-25.05-20-54.47-34.55-85.65-42.08-7.78-1.93-15.69-3.34-23.63-4.45-3.91-.59-7.85-.82-11.77-1.24-7.39-.57-14.81-.72-22.22-.58zM139.26 83.53c13.3-8.89 28.08-15.38 43.3-20.18-3.17 1.77-6.44 3.38-9.53 5.29-11.21 6.68-21.52 14.9-30.38 24.49-6.8 7.43-12.76 15.73-17.01 24.89-3.29 6.86-5.64 14.19-6.86 21.71-.93 4.85-1.3 9.81-1.17 14.75.13 13.66 4.44 27.08 11.29 38.82 5.92 10.22 13.63 19.33 22.36 27.26 4.85 4.36 10.24 8.09 14.95 12.6 2.26 2.19 4.49 4.42 6.43 6.91 2.62 3.31 4.89 6.99 5.99 11.1.9 3.02.66 6.2.69 9.31.02 4.1-.04 8.2.03 12.3.14 3.54-.02 7.09.11 10.63.08 2.38.02 4.76.05 7.14.16 5.77.06 11.53.15 17.3.11 2.91.02 5.82.13 8.74.03 1.63.13 3.28-.03 4.91-.91.12-1.82.18-2.73.16-10.99 0-21.88-2.63-31.95-6.93-6-2.7-11.81-5.89-17.09-9.83-5.75-4.19-11.09-8.96-15.79-14.31-6.53-7.24-11.98-15.39-16.62-23.95-1.07-2.03-2.24-4.02-3.18-6.12-1.16-2.64-2.62-5.14-3.67-7.82-4.05-9.68-6.57-19.94-8.08-30.31-.49-4.44-1.09-8.88-1.2-13.35-.7-15.73.84-31.55 4.67-46.82 2.12-8.15 4.77-16.18 8.31-23.83 6.32-14.2 15.34-27.18 26.3-38.19 6.28-6.2 13.13-11.84 20.53-16.67zm175.37-20.12c2.74.74 5.41 1.74 8.09 2.68 6.36 2.33 12.68 4.84 18.71 7.96 13.11 6.44 25.31 14.81 35.82 24.97 10.2 9.95 18.74 21.6 25.14 34.34 1.28 2.75 2.64 5.46 3.81 8.26 6.31 15.1 10 31.26 11.23 47.57.41 4.54.44 9.09.45 13.64.07 11.64-1.49 23.25-4.3 34.53-1.97 7.27-4.35 14.49-7.86 21.18-3.18 6.64-6.68 13.16-10.84 19.24-6.94 10.47-15.6 19.87-25.82 27.22-10.48 7.64-22.64 13.02-35.4 15.38-3.51.69-7.08 1.08-10.66 1.21-1.85.06-3.72.16-5.56-.1-.28-2.15 0-4.31-.01-6.46-.03-3.73.14-7.45.1-11.17.19-7.02.02-14.05.21-21.07.03-2.38-.03-4.76.03-7.14.17-5.07-.04-10.14.14-15.21.1-2.99-.24-6.04.51-8.96.66-2.5 1.78-4.86 3.09-7.08 4.46-7.31 11.06-12.96 17.68-18.26 5.38-4.18 10.47-8.77 15.02-13.84 7.68-8.37 14.17-17.88 18.78-28.27 2.5-5.93 4.52-12.1 5.55-18.46.86-4.37 1.06-8.83 1.01-13.27-.02-7.85-1.4-15.65-3.64-23.17-1.75-5.73-4.27-11.18-7.09-16.45-3.87-6.93-8.65-13.31-13.96-19.2-9.94-10.85-21.75-19.94-34.6-27.1-1.85-1.02-3.84-1.82-5.63-2.97zm-100.8 58.45c.98-1.18 1.99-2.33 3.12-3.38-.61.93-1.27 1.81-1.95 2.68-3.1 3.88-5.54 8.31-7.03 13.06-.87 3.27-1.68 6.6-1.73 10-.07 2.52-.08 5.07.32 7.57 1.13 7.63 4.33 14.85 8.77 21.12 2 2.7 4.25 5.27 6.92 7.33 1.62 1.27 3.53 2.09 5.34 3.05 3.11 1.68 6.32 3.23 9.07 5.48 2.67 2.09 4.55 5.33 4.4 8.79-.01 73.67 0 147.34-.01 221.02 0 1.35-.08 2.7.04 4.04.13 1.48.82 2.83 1.47 4.15.86 1.66 1.78 3.34 3.18 4.62.85.77 1.97 1.4 3.15 1.24 1.5-.2 2.66-1.35 3.45-2.57.96-1.51 1.68-3.16 2.28-4.85.76-2.13.44-4.42.54-6.63.14-4.03-.02-8.06.14-12.09.03-5.89.03-11.77.06-17.66.14-3.62.03-7.24.11-10.86.15-4.03-.02-8.06.14-12.09.03-5.99.03-11.98.07-17.97.14-3.62.02-7.24.11-10.86.14-3.93-.02-7.86.14-11.78.03-5.99.03-11.98.06-17.97.16-3.94-.01-7.88.19-11.82.29 1.44.13 2.92.22 4.38.19 3.61.42 7.23.76 10.84.32 3.44.44 6.89.86 10.32.37 3.1.51 6.22.95 9.31.57 4.09.87 8.21 1.54 12.29 1.46 9.04 2.83 18.11 5.09 26.99 1.13 4.82 2.4 9.61 4 14.3 2.54 7.9 5.72 15.67 10.31 22.62 1.73 2.64 3.87 4.98 6.1 7.21.27.25.55.51.88.71.6.25 1.31-.07 1.7-.57.71-.88 1.17-1.94 1.7-2.93 4.05-7.8 8.18-15.56 12.34-23.31.7-1.31 1.44-2.62 2.56-3.61 1.75-1.57 3.84-2.69 5.98-3.63 2.88-1.22 5.9-2.19 9.03-2.42 6.58-.62 13.11.75 19.56 1.85 3.69.58 7.4 1.17 11.13 1.41 3.74.1 7.48.05 11.21-.28 8.55-.92 16.99-2.96 24.94-6.25 5.3-2.24 10.46-4.83 15.31-7.93 11.46-7.21 21.46-16.57 30.04-27.01 1.17-1.42 2.25-2.9 3.46-4.28-1.2 3.24-2.67 6.37-4.16 9.48-1.25 2.9-2.84 5.61-4.27 8.42-5.16 9.63-11.02 18.91-17.75 27.52-4.03 5.21-8.53 10.05-13.33 14.57-6.64 6.05-14.07 11.37-22.43 14.76-8.21 3.37-17.31 4.63-26.09 3.29-3.56-.58-7.01-1.69-10.41-2.88-2.79-.97-5.39-2.38-8.03-3.69-3.43-1.71-6.64-3.81-9.71-6.08 2.71 3.06 5.69 5.86 8.7 8.61 4.27 3.76 8.74 7.31 13.63 10.23 3.98 2.45 8.29 4.4 12.84 5.51 1.46.37 2.96.46 4.45.6-1.25 1.1-2.63 2.04-3.99 2.98-9.61 6.54-20.01 11.86-30.69 16.43-20.86 8.7-43.17 13.97-65.74 15.34-4.66.24-9.32.36-13.98.36-4.98-.11-9.97-.13-14.92-.65-11.2-.76-22.29-2.73-33.17-5.43-10.35-2.71-20.55-6.12-30.3-10.55-8.71-3.86-17.12-8.42-24.99-13.79-1.83-1.31-3.74-2.53-5.37-4.08 6.6-1.19 13.03-3.39 18.99-6.48 5.74-2.86 10.99-6.66 15.63-11.07 2.24-2.19 4.29-4.59 6.19-7.09-3.43 2.13-6.93 4.15-10.62 5.78-4.41 2.16-9.07 3.77-13.81 5.02-5.73 1.52-11.74 1.73-17.61 1.14-8.13-.95-15.86-4.27-22.51-8.98-4.32-2.94-8.22-6.43-11.96-10.06-9.93-10.16-18.2-21.81-25.66-33.86-3.94-6.27-7.53-12.75-11.12-19.22-1.05-2.04-2.15-4.05-3.18-6.1 2.85 2.92 5.57 5.97 8.43 8.88 8.99 8.97 18.56 17.44 29.16 24.48 7.55 4.9 15.67 9.23 24.56 11.03 3.11.73 6.32.47 9.47.81 2.77.28 5.56.2 8.34.3 5.05.06 10.11.04 15.16-.16 3.65-.16 7.27-.66 10.89-1.09 2.07-.25 4.11-.71 6.14-1.2 3.88-.95 8.11-.96 11.83.61 4.76 1.85 8.44 5.64 11.38 9.71 2.16 3.02 4.06 6.22 5.66 9.58 1.16 2.43 2.46 4.79 3.55 7.26 1 2.24 2.15 4.42 3.42 6.52.67 1.02 1.4 2.15 2.62 2.55 1.06-.75 1.71-1.91 2.28-3.03 2.1-4.16 3.42-8.65 4.89-13.05 2.02-6.59 3.78-13.27 5.19-20.02 2.21-9.25 3.25-18.72 4.54-28.13.56-3.98.83-7.99 1.31-11.97.87-10.64 1.9-21.27 2.24-31.94.08-1.86.24-3.71.25-5.57.01-4.35.25-8.69.22-13.03-.01-2.38-.01-4.76 0-7.13.05-5.07-.2-10.14-.22-15.21-.2-6.61-.71-13.2-1.29-19.78-.73-5.88-1.55-11.78-3.12-17.51-2.05-7.75-5.59-15.03-9.8-21.82-3.16-5.07-6.79-9.88-11.09-14.03-3.88-3.86-8.58-7.08-13.94-8.45-1.5-.41-3.06-.45-4.59-.64.07-2.99.7-5.93 1.26-8.85 1.59-7.71 3.8-15.3 6.76-22.6 1.52-4.03 3.41-7.9 5.39-11.72 3.45-6.56 7.62-12.79 12.46-18.46zm31.27 1.7c.35-.06.71-.12 1.07-.19.19 1.79.09 3.58.1 5.37v38.13c-.01 1.74.13 3.49-.15 5.22-.36-.03-.71-.05-1.06-.05-.95-3.75-1.72-7.55-2.62-11.31-.38-1.53-.58-3.09-1.07-4.59-1.7-.24-3.43-.17-5.15-.2-5.06-.01-10.13 0-15.19-.01-1.66-.01-3.32.09-4.98-.03-.03-.39-.26-.91.16-1.18 1.28-.65 2.72-.88 4.06-1.35 3.43-1.14 6.88-2.16 10.31-3.31 1.39-.48 2.9-.72 4.16-1.54.04-.56.02-1.13-.05-1.68-1.23-.55-2.53-.87-3.81-1.28-3.13-1.03-6.29-1.96-9.41-3.02-1.79-.62-3.67-1-5.41-1.79-.03-.37-.07-.73-.11-1.09 5.09-.19 10.2.06 15.3-.12 3.36-.13 6.73.08 10.09-.07.12-.39.26-.77.37-1.16 1.08-4.94 2.33-9.83 3.39-14.75zm5.97-.2c.36.05.72.12 1.08.2.98 3.85 1.73 7.76 2.71 11.61.36 1.42.56 2.88 1.03 4.27 2.53.18 5.07-.01 7.61.05 5.16.12 10.33.12 15.49.07.76-.01 1.52.03 2.28.08-.04.36-.07.72-.1 1.08-1.82.83-3.78 1.25-5.67 1.89-3.73 1.23-7.48 2.39-11.22 3.57-.57.17-1.12.42-1.67.64-.15.55-.18 1.12-.12 1.69.87.48 1.82.81 2.77 1.09 4.88 1.52 9.73 3.14 14.63 4.6.38.13.78.27 1.13.49.4.27.23.79.15 1.18-1.66.13-3.31.03-4.97.04-5.17.01-10.33-.01-15.5.01-1.61.03-3.22-.02-4.82.21-.52 1.67-.72 3.42-1.17 5.11-.94 3.57-1.52 7.24-2.54 10.78-.36.01-.71.02-1.06.06-.29-1.73-.15-3.48-.15-5.22v-38.13c.02-1.78-.08-3.58.11-5.37zM65.05 168.33c1.12-2.15 2.08-4.4 3.37-6.46-1.82 7.56-2.91 15.27-3.62 23-.8 7.71-.85 15.49-.54 23.23 1.05 19.94 5.54 39.83 14.23 57.88 2.99 5.99 6.35 11.83 10.5 17.11 6.12 7.47 12.53 14.76 19.84 21.09 4.8 4.1 9.99 7.78 15.54 10.8 3.27 1.65 6.51 3.39 9.94 4.68 5.01 2.03 10.19 3.61 15.42 4.94 3.83.96 7.78 1.41 11.52 2.71 5 1.57 9.47 4.61 13.03 8.43 4.93 5.23 8.09 11.87 10.2 18.67.99 2.9 1.59 5.91 2.17 8.92.15.75.22 1.52.16 2.29-6.5 2.78-13.26 5.06-20.26 6.18-4.11.78-8.29.99-12.46 1.08-10.25.24-20.47-1.76-30.12-5.12-3.74-1.42-7.49-2.85-11.03-4.72-8.06-3.84-15.64-8.7-22.46-14.46-2.92-2.55-5.83-5.13-8.4-8.03-9.16-9.83-16.3-21.41-21.79-33.65-2.39-5.55-4.61-11.18-6.37-16.96-1.17-3.94-2.36-7.89-3.26-11.91-.75-2.94-1.22-5.95-1.87-8.92-.46-2.14-.69-4.32-1.03-6.48-.85-5.43-1.28-10.93-1.33-16.43.11-6.18.25-12.37 1.07-18.5.4-2.86.67-5.74 1.15-8.6.98-5.7 2.14-11.37 3.71-16.93 3.09-11.65 7.48-22.95 12.69-33.84zm363.73-6.44c1.1 1.66 1.91 3.48 2.78 5.26 2.1 4.45 4.24 8.9 6.02 13.49 7.61 18.76 12.3 38.79 13.04 59.05.02 1.76.07 3.52.11 5.29.13 9.57-1.27 19.09-3.18 28.45-.73 3.59-1.54 7.17-2.58 10.69-4.04 14.72-10 29-18.41 41.78-8.21 12.57-19.01 23.55-31.84 31.41-5.73 3.59-11.79 6.64-18.05 9.19-5.78 2.19-11.71 4.03-17.8 5.11-6.4 1.05-12.91 1.52-19.4 1.23-7.92-.48-15.78-2.07-23.21-4.85-1.94-.8-3.94-1.46-5.84-2.33-.21-1.51.25-2.99.53-4.46 1.16-5.74 3.03-11.36 5.7-16.58 2.37-4.51 5.52-8.65 9.46-11.9 2.43-2.05 5.24-3.61 8.16-4.83 3.58-1.5 7.47-1.97 11.24-2.83 7.23-1.71 14.37-3.93 21.15-7 10.35-4.65 19.71-11.38 27.65-19.46 1.59-1.61 3.23-3.18 4.74-4.87 3.37-3.76 6.71-7.57 9.85-11.53 7.48-10.07 12.82-21.59 16.71-33.48 1.58-5.3 3.21-10.6 4.21-16.05.63-2.87 1.04-5.78 1.52-8.68.87-6.09 1.59-12.22 1.68-18.38.12-6.65.14-13.32-.53-19.94-.73-7.99-1.87-15.96-3.71-23.78z\"]\n};\nvar faOpencart = {\n prefix: 'fab',\n iconName: 'opencart',\n icon: [640, 512, [], \"f23d\", \"M423.3 440.7c0 25.3-20.3 45.6-45.6 45.6s-45.8-20.3-45.8-45.6 20.6-45.8 45.8-45.8c25.4 0 45.6 20.5 45.6 45.8zm-253.9-45.8c-25.3 0-45.6 20.6-45.6 45.8s20.3 45.6 45.6 45.6 45.8-20.3 45.8-45.6-20.5-45.8-45.8-45.8zm291.7-270C158.9 124.9 81.9 112.1 0 25.7c34.4 51.7 53.3 148.9 373.1 144.2 333.3-5 130 86.1 70.8 188.9 186.7-166.7 319.4-233.9 17.2-233.9z\"]\n};\nvar faOpenid = {\n prefix: 'fab',\n iconName: 'openid',\n icon: [448, 512, [], \"f19b\", \"M271.5 432l-68 32C88.5 453.7 0 392.5 0 318.2c0-71.5 82.5-131 191.7-144.3v43c-71.5 12.5-124 53-124 101.3 0 51 58.5 93.3 135.7 103v-340l68-33.2v384zM448 291l-131.3-28.5 36.8-20.7c-19.5-11.5-43.5-20-70-24.8v-43c46.2 5.5 87.7 19.5 120.3 39.3l35-19.8L448 291z\"]\n};\nvar faOpera = {\n prefix: 'fab',\n iconName: 'opera',\n icon: [496, 512, [], \"f26a\", \"M313.9 32.7c-170.2 0-252.6 223.8-147.5 355.1 36.5 45.4 88.6 75.6 147.5 75.6 36.3 0 70.3-11.1 99.4-30.4-43.8 39.2-101.9 63-165.3 63-3.9 0-8 0-11.9-.3C104.6 489.6 0 381.1 0 248 0 111 111 0 248 0h.8c63.1.3 120.7 24.1 164.4 63.1-29-19.4-63.1-30.4-99.3-30.4zm101.8 397.7c-40.9 24.7-90.7 23.6-132-5.8 56.2-20.5 97.7-91.6 97.7-176.6 0-84.7-41.2-155.8-97.4-176.6 41.8-29.2 91.2-30.3 132.9-5 105.9 98.7 105.5 265.7-1.2 364z\"]\n};\nvar faOptinMonster = {\n prefix: 'fab',\n iconName: 'optin-monster',\n icon: [576, 512, [], \"f23c\", \"M572.6 421.4c5.6-9.5 4.7-15.2-5.4-11.6-3-4.9-7-9.5-11.1-13.8 2.9-9.7-.7-14.2-10.8-9.2-4.6-3.2-10.3-6.5-15.9-9.2 0-15.1-11.6-11.6-17.6-5.7-10.4-1.5-18.7-.3-26.8 5.7.3-6.5.3-13 .3-19.7 12.6 0 40.2-11 45.9-36.2 1.4-6.8 1.6-13.8-.3-21.9-3-13.5-14.3-21.3-25.1-25.7-.8-5.9-7.6-14.3-14.9-15.9s-12.4 4.9-14.1 10.3c-8.5 0-19.2 2.8-21.1 8.4-5.4-.5-11.1-1.4-16.8-1.9 2.7-1.9 5.4-3.5 8.4-4.6 5.4-9.2 14.6-11.4 25.7-11.6V256c19.5-.5 43-5.9 53.8-18.1 12.7-13.8 14.6-37.3 12.4-55.1-2.4-17.3-9.7-37.6-24.6-48.1-8.4-5.9-21.6-.8-22.7 9.5-2.2 19.6 1.2 30-38.6 25.1-10.3-23.8-24.6-44.6-42.7-60C341 49.6 242.9 55.5 166.4 71.7c19.7 4.6 41.1 8.6 59.7 16.5-26.2 2.4-52.7 11.3-76.2 23.2-32.8 17-44 29.9-56.7 42.4 14.9-2.2 28.9-5.1 43.8-3.8-9.7 5.4-18.4 12.2-26.5 20-25.8.9-23.8-5.3-26.2-25.9-1.1-10.5-14.3-15.4-22.7-9.7-28.1 19.9-33.5 79.9-12.2 103.5 10.8 12.2 35.1 17.3 54.9 17.8-.3 1.1-.3 1.9-.3 2.7 10.8.5 19.5 2.7 24.6 11.6 3 1.1 5.7 2.7 8.1 4.6-5.4.5-11.1 1.4-16.5 1.9-3.3-6.6-13.7-8.1-21.1-8.1-1.6-5.7-6.5-12.2-14.1-10.3-6.8 1.9-14.1 10-14.9 15.9-22.5 9.5-30.1 26.8-25.1 47.6 5.3 24.8 33 36.2 45.9 36.2v19.7c-6.6-5-14.3-7.5-26.8-5.7-5.5-5.5-17.3-10.1-17.3 5.7-5.9 2.7-11.4 5.9-15.9 9.2-9.8-4.9-13.6-1.7-11.1 9.2-4.1 4.3-7.8 8.6-11.1 13.8-10.2-3.7-11 2.2-5.4 11.6-1.1 3.5-1.6 7-1.9 10.8-.5 31.6 44.6 64 73.5 65.1 17.3.5 34.6-8.4 43-23.5 113.2 4.9 226.7 4.1 340.2 0 8.1 15.1 25.4 24.3 42.7 23.5 29.2-1.1 74.3-33.5 73.5-65.1.2-3.7-.7-7.2-1.7-10.7zm-73.8-254c1.1-3 2.4-8.4 2.4-14.6 0-5.9 6.8-8.1 14.1-.8 11.1 11.6 14.9 40.5 13.8 51.1-4.1-13.6-13-29-30.3-35.7zm-4.6 6.7c19.5 6.2 28.6 27.6 29.7 48.9-1.1 2.7-3 5.4-4.9 7.6-5.7 5.9-15.4 10-26.2 12.2 4.3-21.3.3-47.3-12.7-63 4.9-.8 10.9-2.4 14.1-5.7zm-24.1 6.8c13.8 11.9 20 39.2 14.1 63.5-4.1.5-8.1.8-11.6.8-1.9-21.9-6.8-44-14.3-64.6 3.7.3 8.1.3 11.8.3zM47.5 203c-1.1-10.5 2.4-39.5 13.8-51.1 7-7.3 14.1-5.1 14.1.8 0 6.2 1.4 11.6 2.4 14.6-17.3 6.8-26.2 22.2-30.3 35.7zm9.7 27.6c-1.9-2.2-3.5-4.9-4.9-7.6 1.4-21.3 10.3-42.7 29.7-48.9 3.2 3.2 9.2 4.9 14.1 5.7-13 15.7-17 41.6-12.7 63-10.8-2.2-20.5-6-26.2-12.2zm47.9 14.6c-4.1 0-8.1-.3-12.7-.8-4.6-18.6-1.9-38.9 5.4-53v.3l12.2-5.1c4.9-1.9 9.7-3.8 14.9-4.9-10.7 19.7-17.4 41.3-19.8 63.5zm184-162.7c41.9 0 76.2 34 76.2 75.9 0 42.2-34.3 76.2-76.2 76.2s-76.2-34-76.2-76.2c0-41.8 34.3-75.9 76.2-75.9zm115.6 174.3c-.3 17.8-7 48.9-23 57-13.2 6.6-6.5-7.5-16.5-58.1 13.3.3 26.6.3 39.5 1.1zm-54-1.6c.8 4.9 3.8 40.3-1.6 41.9-11.6 3.5-40 4.3-51.1-1.1-4.1-3-4.6-35.9-4.3-41.1v.3c18.9-.3 38.1-.3 57 0zM278.3 309c-13 3.5-41.6 4.1-54.6-1.6-6.5-2.7-3.8-42.4-1.9-51.6 19.2-.5 38.4-.5 57.8-.8v.3c1.1 8.3 3.3 51.2-1.3 53.7zm-106.5-51.1c12.2-.8 24.6-1.4 36.8-1.6-2.4 15.4-3 43.5-4.9 52.2-1.1 6.8-4.3 6.8-9.7 4.3-21.9-9.8-27.6-35.2-22.2-54.9zm-35.4 31.3c7.8-1.1 15.7-1.9 23.5-2.7 1.6 6.2 3.8 11.9 7 17.6 10 17 44 35.7 45.1 7 6.2 14.9 40.8 12.2 54.9 10.8 15.7-1.4 23.8-1.4 26.8-14.3 12.4 4.3 30.8 4.1 44 3 11.3-.8 20.8-.5 24.6-8.9 1.1 5.1 1.9 11.6 4.6 16.8 10.8 21.3 37.3 1.4 46.8-31.6 8.6.8 17.6 1.9 26.5 2.7-.4 1.3-3.8 7.3 7.3 11.6-47.6 47-95.7 87.8-163.2 107-63.2-20.8-112.1-59.5-155.9-106.5 9.6-3.4 10.4-8.8 8-12.5zm-21.6 172.5c-3.8 17.8-21.9 29.7-39.7 28.9-19.2-.8-46.5-17-59.2-36.5-2.7-31.1 43.8-61.3 66.2-54.6 14.9 4.3 27.8 30.8 33.5 54 0 3-.3 5.7-.8 8.2zm-8.7-66c-.5-13.5-.5-27-.3-40.5h.3c2.7-1.6 5.7-3.8 7.8-6.5 6.5-1.6 13-5.1 15.1-9.2 3.3-7.1-7-7.5-5.4-12.4 2.7-1.1 5.7-2.2 7.8-3.5 29.2 29.2 58.6 56.5 97.3 77-36.8 11.3-72.4 27.6-105.9 47-1.2-18.6-7.7-35.9-16.7-51.9zm337.6 64.6c-103 3.5-206.2 4.1-309.4 0 0 .3 0 .3-.3.3v-.3h.3c35.1-21.6 72.2-39.2 112.4-50.8 11.6 5.1 23 9.5 34.9 13.2 2.2.8 2.2.8 4.3 0 14.3-4.1 28.4-9.2 42.2-15.4 41.5 11.7 78.8 31.7 115.6 53zm10.5-12.4c-35.9-19.5-73-35.9-111.9-47.6 38.1-20 71.9-47.3 103.5-76.7 2.2 1.4 4.6 2.4 7.6 3.2 0 .8.3 1.9.5 2.4-4.6 2.7-7.8 6.2-5.9 10.3 2.2 3.8 8.6 7.6 15.1 8.9 2.4 2.7 5.1 5.1 8.1 6.8 0 13.8-.3 27.6-.8 41.3l.3-.3c-9.3 15.9-15.5 37-16.5 51.7zm105.9 6.2c-12.7 19.5-40 35.7-59.2 36.5-19.3.9-40.5-13.2-40.5-37 5.7-23.2 18.9-49.7 33.5-54 22.7-6.9 69.2 23.4 66.2 54.5zM372.9 75.2c-3.8-72.1-100.8-79.7-126-23.5 44.6-24.3 90.3-15.7 126 23.5zM74.8 407.1c-15.7 1.6-49.5 25.4-49.5 43.2 0 11.6 15.7 19.5 32.2 14.9 12.2-3.2 31.1-17.6 35.9-27.3 6-11.6-3.7-32.7-18.6-30.8zm215.9-176.2c28.6 0 51.9-21.6 51.9-48.4 0-36.1-40.5-58.1-72.2-44.3 9.5 3 16.5 11.6 16.5 21.6 0 23.3-33.3 32-46.5 11.3-7.3 34.1 19.4 59.8 50.3 59.8zM68 474.1c.5 6.5 12.2 12.7 21.6 9.5 6.8-2.7 14.6-10.5 17.3-16.2 3-7-1.1-20-9.7-18.4-8.9 1.6-29.7 16.7-29.2 25.1zm433.2-67c-14.9-1.9-24.6 19.2-18.9 30.8 4.9 9.7 24.1 24.1 36.2 27.3 16.5 4.6 32.2-3.2 32.2-14.9 0-17.8-33.8-41.6-49.5-43.2zM478.8 449c-8.4-1.6-12.4 11.3-9.5 18.4 2.4 5.7 10.3 13.5 17.3 16.2 9.2 3.2 21.1-3 21.3-9.5.9-8.4-20.2-23.5-29.1-25.1z\"]\n};\nvar faOrcid = {\n prefix: 'fab',\n iconName: 'orcid',\n icon: [512, 512, [], \"f8d2\", \"M294.75 188.19h-45.92V342h47.47c67.62 0 83.12-51.34 83.12-76.91 0-41.64-26.54-76.9-84.67-76.9zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-80.79 360.76h-29.84v-207.5h29.84zm-14.92-231.14a19.57 19.57 0 1 1 19.57-19.57 19.64 19.64 0 0 1-19.57 19.57zM300 369h-81V161.26h80.6c76.73 0 110.44 54.83 110.44 103.85C410 318.39 368.38 369 300 369z\"]\n};\nvar faOsi = {\n prefix: 'fab',\n iconName: 'osi',\n icon: [512, 512, [], \"f41a\", \"M8 266.44C10.3 130.64 105.4 34 221.8 18.34c138.8-18.6 255.6 75.8 278 201.1 21.3 118.8-44 230-151.6 274-9.3 3.8-14.4 1.7-18-7.7q-26.7-69.45-53.4-139c-3.1-8.1-1-13.2 7-16.8 24.2-11 39.3-29.4 43.3-55.8a71.47 71.47 0 0 0-64.5-82.2c-39-3.4-71.8 23.7-77.5 59.7-5.2 33 11.1 63.7 41.9 77.7 9.6 4.4 11.5 8.6 7.8 18.4q-26.85 69.9-53.7 139.9c-2.6 6.9-8.3 9.3-15.5 6.5-52.6-20.3-101.4-61-130.8-119-24.9-49.2-25.2-87.7-26.8-108.7zm20.9-1.9c.4 6.6.6 14.3 1.3 22.1 6.3 71.9 49.6 143.5 131 183.1 3.2 1.5 4.4.8 5.6-2.3q22.35-58.65 45-117.3c1.3-3.3.6-4.8-2.4-6.7-31.6-19.9-47.3-48.5-45.6-86 1-21.6 9.3-40.5 23.8-56.3 30-32.7 77-39.8 115.5-17.6a91.64 91.64 0 0 1 45.2 90.4c-3.6 30.6-19.3 53.9-45.7 69.8-2.7 1.6-3.5 2.9-2.3 6q22.8 58.8 45.2 117.7c1.2 3.1 2.4 3.8 5.6 2.3 35.5-16.6 65.2-40.3 88.1-72 34.8-48.2 49.1-101.9 42.3-161-13.7-117.5-119.4-214.8-255.5-198-106.1 13-195.3 102.5-197.1 225.8z\"]\n};\nvar faPage4 = {\n prefix: 'fab',\n iconName: 'page4',\n icon: [496, 512, [], \"f3d7\", \"M248 504C111 504 0 393 0 256S111 8 248 8c20.9 0 41.3 2.6 60.7 7.5L42.3 392H248v112zm0-143.6V146.8L98.6 360.4H248zm96 31.6v92.7c45.7-19.2 84.5-51.7 111.4-92.7H344zm57.4-138.2l-21.2 8.4 21.2 8.3v-16.7zm-20.3 54.5c-6.7 0-8 6.3-8 12.9v7.7h16.2v-10c0-5.9-2.3-10.6-8.2-10.6zM496 256c0 37.3-8.2 72.7-23 104.4H344V27.3C433.3 64.8 496 153.1 496 256zM360.4 143.6h68.2V96h-13.9v32.6h-13.9V99h-13.9v29.6h-12.7V96h-13.9v47.6zm68.1 185.3H402v-11c0-15.4-5.6-25.2-20.9-25.2-15.4 0-20.7 10.6-20.7 25.9v25.3h68.2v-15zm0-103l-68.2 29.7V268l68.2 29.5v-16.6l-14.4-5.7v-26.5l14.4-5.9v-16.9zm-4.8-68.5h-35.6V184H402v-12.2h11c8.6 15.8 1.3 35.3-18.6 35.3-22.5 0-28.3-25.3-15.5-37.7l-11.6-10.6c-16.2 17.5-12.2 63.9 27.1 63.9 34 0 44.7-35.9 29.3-65.3z\"]\n};\nvar faPagelines = {\n prefix: 'fab',\n iconName: 'pagelines',\n icon: [384, 512, [], \"f18c\", \"M384 312.7c-55.1 136.7-187.1 54-187.1 54-40.5 81.8-107.4 134.4-184.6 134.7-16.1 0-16.6-24.4 0-24.4 64.4-.3 120.5-42.7 157.2-110.1-41.1 15.9-118.6 27.9-161.6-82.2 109-44.9 159.1 11.2 178.3 45.5 9.9-24.4 17-50.9 21.6-79.7 0 0-139.7 21.9-149.5-98.1 119.1-47.9 152.6 76.7 152.6 76.7 1.6-16.7 3.3-52.6 3.3-53.4 0 0-106.3-73.7-38.1-165.2 124.6 43 61.4 162.4 61.4 162.4.5 1.6.5 23.8 0 33.4 0 0 45.2-89 136.4-57.5-4.2 134-141.9 106.4-141.9 106.4-4.4 27.4-11.2 53.4-20 77.5 0 0 83-91.8 172-20z\"]\n};\nvar faPalfed = {\n prefix: 'fab',\n iconName: 'palfed',\n icon: [576, 512, [], \"f3d8\", \"M384.9 193.9c0-47.4-55.2-44.2-95.4-29.8-1.3 39.4-2.5 80.7-3 119.8.7 2.8 2.6 6.2 15.1 6.2 36.8 0 83.4-42.8 83.3-96.2zm-194.5 72.2c.2 0 6.5-2.7 11.2-2.7 26.6 0 20.7 44.1-14.4 44.1-21.5 0-37.1-18.1-37.1-43 0-42 42.9-95.6 100.7-126.5 1-12.4 3-22 10.5-28.2 11.2-9 26.6-3.5 29.5 11.1 72.2-22.2 135.2 1 135.2 72 0 77.9-79.3 152.6-140.1 138.2-.1 39.4.9 74.4 2.7 100v.2c.2 3.4.6 12.5-5.3 19.1-9.6 10.6-33.4 10-36.4-22.3-4.1-44.4.2-206.1 1.4-242.5-21.5 15-58.5 50.3-58.5 75.9.2 2.5.4 4 .6 4.6zM8 181.1s-.1 37.4 38.4 37.4h30l22.4 217.2s0 44.3 44.7 44.3h288.9s44.7-.4 44.7-44.3l22.4-217.2h30s38.4 1.2 38.4-37.4c0 0 .1-37.4-38.4-37.4h-30.1c-7.3-25.6-30.2-74.3-119.4-74.3h-28V50.3s-2.7-18.4-21.1-18.4h-85.8s-21.1 0-21.1 18.4v19.1h-28.1s-105 4.2-120.5 74.3h-29S8 142.5 8 181.1z\"]\n};\nvar faPatreon = {\n prefix: 'fab',\n iconName: 'patreon',\n icon: [512, 512, [], \"f3d9\", \"M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z\"]\n};\nvar faPaypal = {\n prefix: 'fab',\n iconName: 'paypal',\n icon: [384, 512, [], \"f1ed\", \"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z\"]\n};\nvar faPennyArcade = {\n prefix: 'fab',\n iconName: 'penny-arcade',\n icon: [640, 512, [], \"f704\", \"M421.91 164.27c-4.49 19.45-1.4 6.06-15.1 65.29l39.73-10.61c-22.34-49.61-17.29-38.41-24.63-54.68zm-206.09 51.11c-20.19 5.4-11.31 3.03-39.63 10.58l4.46 46.19c28.17-7.59 20.62-5.57 34.82-9.34 42.3-9.79 32.85-56.42.35-47.43zm326.16-26.19l-45.47-99.2c-5.69-12.37-19.46-18.84-32.62-15.33-70.27 18.75-38.72 10.32-135.59 36.23a27.618 27.618 0 0 0-18.89 17.41C144.26 113.27 0 153.75 0 226.67c0 33.5 30.67 67.11 80.9 95.37l1.74 17.88a27.891 27.891 0 0 0-17.77 28.67l4.3 44.48c1.39 14.31 13.43 25.21 27.8 25.2 5.18-.01-3.01 1.78 122.53-31.76 12.57-3.37 21.12-15.02 20.58-28.02 216.59 45.5 401.99-5.98 399.89-84.83.01-28.15-22.19-66.56-97.99-104.47zM255.14 298.3l-21.91 5.88-48.44 12.91 2.46 23.55 20.53-5.51 4.51 44.51-115.31 30.78-4.3-44.52 20.02-5.35-11.11-114.64-20.12 5.39-4.35-44.5c178.15-47.54 170.18-46.42 186.22-46.65 56.66-1.13 64.15 71.84 42.55 104.43a86.7 86.7 0 0 1-50.75 33.72zm199.18 16.62l-3.89-39.49 14.9-3.98-6.61-14.68-57.76 15.42-4.1 17.54 19.2-5.12 4.05 39.54-112.85 30.07-4.46-44.43 20.99-5.59 33.08-126.47-17.15 4.56-4.2-44.48c93.36-24.99 65.01-17.41 135.59-36.24l66.67 145.47 20.79-5.56 4.3 44.48-108.55 28.96z\"]\n};\nvar faPerbyte = {\n prefix: 'fab',\n iconName: 'perbyte',\n icon: [448, 512, [], \"e083\", \"M305.314,284.578H246.6V383.3h58.711q24.423,0,38.193-13.77t13.77-36.11q0-21.826-14.032-35.335T305.314,284.578ZM149.435,128.7H90.724v98.723h58.711q24.42,0,38.19-13.773t13.77-36.107q0-21.826-14.029-35.338T149.435,128.7ZM366.647,32H81.353A81.445,81.445,0,0,0,0,113.352V398.647A81.445,81.445,0,0,0,81.353,480H366.647A81.445,81.445,0,0,0,448,398.647V113.352A81.445,81.445,0,0,0,366.647,32Zm63.635,366.647a63.706,63.706,0,0,1-63.635,63.635H81.353a63.706,63.706,0,0,1-63.635-63.635V113.352A63.706,63.706,0,0,1,81.353,49.718H366.647a63.706,63.706,0,0,1,63.635,63.634ZM305.314,128.7H246.6v98.723h58.711q24.423,0,38.193-13.773t13.77-36.107q0-21.826-14.032-35.338T305.314,128.7Z\"]\n};\nvar faPeriscope = {\n prefix: 'fab',\n iconName: 'periscope',\n icon: [448, 512, [], \"f3da\", \"M370 63.6C331.4 22.6 280.5 0 226.6 0 111.9 0 18.5 96.2 18.5 214.4c0 75.1 57.8 159.8 82.7 192.7C137.8 455.5 192.6 512 226.6 512c41.6 0 112.9-94.2 120.9-105 24.6-33.1 82-118.3 82-192.6 0-56.5-21.1-110.1-59.5-150.8zM226.6 493.9c-42.5 0-190-167.3-190-279.4 0-107.4 83.9-196.3 190-196.3 100.8 0 184.7 89 184.7 196.3.1 112.1-147.4 279.4-184.7 279.4zM338 206.8c0 59.1-51.1 109.7-110.8 109.7-100.6 0-150.7-108.2-92.9-181.8v.4c0 24.5 20.1 44.4 44.8 44.4 24.7 0 44.8-19.9 44.8-44.4 0-18.2-11.1-33.8-26.9-40.7 76.6-19.2 141 39.3 141 112.4z\"]\n};\nvar faPhabricator = {\n prefix: 'fab',\n iconName: 'phabricator',\n icon: [496, 512, [], \"f3db\", \"M323 262.1l-.1-13s21.7-19.8 21.1-21.2l-9.5-20c-.6-1.4-29.5-.5-29.5-.5l-9.4-9.3s.2-28.5-1.2-29.1l-20.1-9.2c-1.4-.6-20.7 21-20.7 21l-13.1-.2s-20.5-21.4-21.9-20.8l-20 8.3c-1.4.5.2 28.9.2 28.9l-9.1 9.1s-29.2-.9-29.7.4l-8.1 19.8c-.6 1.4 21 21 21 21l.1 12.9s-21.7 19.8-21.1 21.2l9.5 20c.6 1.4 29.5.5 29.5.5l9.4 9.3s-.2 31.8 1.2 32.3l20.1 8.3c1.4.6 20.7-23.5 20.7-23.5l13.1.2s20.5 23.8 21.8 23.3l20-7.5c1.4-.6-.2-32.1-.2-32.1l9.1-9.1s29.2.9 29.7-.5l8.1-19.8c.7-1.1-20.9-20.7-20.9-20.7zm-44.9-8.7c.7 17.1-12.8 31.6-30.1 32.4-17.3.8-32.1-12.5-32.8-29.6-.7-17.1 12.8-31.6 30.1-32.3 17.3-.8 32.1 12.5 32.8 29.5zm201.2-37.9l-97-97-.1.1c-75.1-73.3-195.4-72.8-269.8 1.6-50.9 51-27.8 27.9-95.7 95.3-22.3 22.3-22.3 58.7 0 81 69.9 69.4 46.4 46 97.4 97l.1-.1c75.1 73.3 195.4 72.9 269.8-1.6 51-50.9 27.9-27.9 95.3-95.3 22.3-22.3 22.3-58.7 0-81zM140.4 363.8c-59.6-59.5-59.6-156 0-215.5 59.5-59.6 156-59.5 215.6 0 59.5 59.5 59.6 156 0 215.6-59.6 59.5-156 59.4-215.6-.1z\"]\n};\nvar faPhoenixFramework = {\n prefix: 'fab',\n iconName: 'phoenix-framework',\n icon: [640, 512, [], \"f3dc\", \"M212.9 344.3c3.8-.1 22.8-1.4 25.6-2.2-2.4-2.6-43.6-1-68-49.6-4.3-8.6-7.5-17.6-6.4-27.6 2.9-25.5 32.9-30 52-18.5 36 21.6 63.3 91.3 113.7 97.5 37 4.5 84.6-17 108.2-45.4-.6-.1-.8-.2-1-.1-.4.1-.8.2-1.1.3-33.3 12.1-94.3 9.7-134.7-14.8-37.6-22.8-53.1-58.7-51.8-74.6 1.8-21.3 22.9-23.2 35.9-19.6 14.4 3.9 24.4 17.6 38.9 27.4 15.6 10.4 32.9 13.7 51.3 10.3 14.9-2.7 34.4-12.3 36.5-14.5-1.1-.1-1.8-.1-2.5-.2-6.2-.6-12.4-.8-18.5-1.7C279.8 194.5 262.1 47.4 138.5 37.9 94.2 34.5 39.1 46 2.2 72.9c-.8.6-1.5 1.2-2.2 1.8.1.2.1.3.2.5.8 0 1.6-.1 2.4-.2 6.3-1 12.5-.8 18.7.3 23.8 4.3 47.7 23.1 55.9 76.5 5.3 34.3-.7 50.8 8 86.1 19 77.1 91 107.6 127.7 106.4zM75.3 64.9c-.9-1-.9-1.2-1.3-2 12.1-2.6 24.2-4.1 36.6-4.8-1.1 14.7-22.2 21.3-35.3 6.8zm196.9 350.5c-42.8 1.2-92-26.7-123.5-61.4-4.6-5-16.8-20.2-18.6-23.4l.4-.4c6.6 4.1 25.7 18.6 54.8 27 24.2 7 48.1 6.3 71.6-3.3 22.7-9.3 41-.5 43.1 2.9-18.5 3.8-20.1 4.4-24 7.9-5.1 4.4-4.6 11.7 7 17.2 26.2 12.4 63-2.8 97.2 25.4 2.4 2 8.1 7.8 10.1 10.7-.1.2-.3.3-.4.5-4.8-1.5-16.4-7.5-40.2-9.3-24.7-2-46.3 5.3-77.5 6.2zm174.8-252c16.4-5.2 41.3-13.4 66.5-3.3 16.1 6.5 26.2 18.7 32.1 34.6 3.5 9.4 5.1 19.7 5.1 28.7-.2 0-.4 0-.6.1-.2-.4-.4-.9-.5-1.3-5-22-29.9-43.8-67.6-29.9-50.2 18.6-130.4 9.7-176.9-48-.7-.9-2.4-1.7-1.3-3.2.1-.2 2.1.6 3 1.3 18.1 13.4 38.3 21.9 60.3 26.2 30.5 6.1 54.6 2.9 79.9-5.2zm102.7 117.5c-32.4.2-33.8 50.1-103.6 64.4-18.2 3.7-38.7 4.6-44.9 4.2v-.4c2.8-1.5 14.7-2.6 29.7-16.6 7.9-7.3 15.3-15.1 22.8-22.9 19.5-20.2 41.4-42.2 81.9-39 23.1 1.8 29.3 8.2 36.1 12.7.3.2.4.5.7.9-.5 0-.7.1-.9 0-7-2.7-14.3-3.3-21.8-3.3zm-12.3-24.1c-.1.2-.1.4-.2.6-28.9-4.4-48-7.9-68.5 4-17 9.9-31.4 20.5-62 24.4-27.1 3.4-45.1 2.4-66.1-8-.3-.2-.6-.4-1-.6 0-.2.1-.3.1-.5 24.9 3.8 36.4 5.1 55.5-5.8 22.3-12.9 40.1-26.6 71.3-31 29.6-4.1 51.3 2.5 70.9 16.9zM268.6 97.3c-.6-.6-1.1-1.2-2.1-2.3 7.6 0 29.7-1.2 53.4 8.4 19.7 8 32.2 21 50.2 32.9 11.1 7.3 23.4 9.3 36.4 8.1 4.3-.4 8.5-1.2 12.8-1.7.4-.1.9 0 1.5.3-.6.4-1.2.9-1.8 1.2-8.1 4-16.7 6.3-25.6 7.1-26.1 2.6-50.3-3.7-73.4-15.4-19.3-9.9-36.4-22.9-51.4-38.6zM640 335.7c-3.5 3.1-22.7 11.6-42.7 5.3-12.3-3.9-19.5-14.9-31.6-24.1-10-7.6-20.9-7.9-28.1-8.4.6-.8.9-1.2 1.2-1.4 14.8-9.2 30.5-12.2 47.3-6.5 12.5 4.2 19.2 13.5 30.4 24.2 10.8 10.4 21 9.9 23.1 10.5.1-.1.2 0 .4.4zm-212.5 137c2.2 1.2 1.6 1.5 1.5 2-18.5-1.4-33.9-7.6-46.8-22.2-21.8-24.7-41.7-27.9-48.6-29.7.5-.2.8-.4 1.1-.4 13.1.1 26.1.7 38.9 3.9 25.3 6.4 35 25.4 41.6 35.3 3.2 4.8 7.3 8.3 12.3 11.1z\"]\n};\nvar faPhoenixSquadron = {\n prefix: 'fab',\n iconName: 'phoenix-squadron',\n icon: [512, 512, [], \"f511\", \"M96 63.38C142.49 27.25 201.55 7.31 260.51 8.81c29.58-.38 59.11 5.37 86.91 15.33-24.13-4.63-49-6.34-73.38-2.45C231.17 27 191 48.84 162.21 80.87c5.67-1 10.78-3.67 16-5.86 18.14-7.87 37.49-13.26 57.23-14.83 19.74-2.13 39.64-.43 59.28 1.92-14.42 2.79-29.12 4.57-43 9.59-34.43 11.07-65.27 33.16-86.3 62.63-13.8 19.71-23.63 42.86-24.67 67.13-.35 16.49 5.22 34.81 19.83 44a53.27 53.27 0 0 0 37.52 6.74c15.45-2.46 30.07-8.64 43.6-16.33 11.52-6.82 22.67-14.55 32-24.25 3.79-3.22 2.53-8.45 2.62-12.79-2.12-.34-4.38-1.11-6.3.3a203 203 0 0 1-35.82 15.37c-20 6.17-42.16 8.46-62.1.78 12.79 1.73 26.06.31 37.74-5.44 20.23-9.72 36.81-25.2 54.44-38.77a526.57 526.57 0 0 1 88.9-55.31c25.71-12 52.94-22.78 81.57-24.12-15.63 13.72-32.15 26.52-46.78 41.38-14.51 14-27.46 29.5-40.11 45.18-3.52 4.6-8.95 6.94-13.58 10.16a150.7 150.7 0 0 0-51.89 60.1c-9.33 19.68-14.5 41.85-11.77 63.65 1.94 13.69 8.71 27.59 20.9 34.91 12.9 8 29.05 8.07 43.48 5.1 32.8-7.45 61.43-28.89 81-55.84 20.44-27.52 30.52-62.2 29.16-96.35-.52-7.5-1.57-15-1.66-22.49 8 19.48 14.82 39.71 16.65 60.83 2 14.28.75 28.76-1.62 42.9-1.91 11-5.67 21.51-7.78 32.43a165 165 0 0 0 39.34-81.07 183.64 183.64 0 0 0-14.21-104.64c20.78 32 32.34 69.58 35.71 107.48.49 12.73.49 25.51 0 38.23A243.21 243.21 0 0 1 482 371.34c-26.12 47.34-68 85.63-117.19 108-78.29 36.23-174.68 31.32-248-14.68A248.34 248.34 0 0 1 25.36 366 238.34 238.34 0 0 1 0 273.08v-31.34C3.93 172 40.87 105.82 96 63.38m222 80.33a79.13 79.13 0 0 0 16-4.48c5-1.77 9.24-5.94 10.32-11.22-8.96 4.99-17.98 9.92-26.32 15.7z\"]\n};\nvar faPhp = {\n prefix: 'fab',\n iconName: 'php',\n icon: [640, 512, [], \"f457\", \"M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z\"]\n};\nvar faPiedPiper = {\n prefix: 'fab',\n iconName: 'pied-piper',\n icon: [480, 512, [], \"f2ae\", \"M455.93,23.2C429.23,30,387.79,51.69,341.35,90.66A206,206,0,0,0,240,64C125.13,64,32,157.12,32,272s93.13,208,208,208,208-93.13,208-208a207.25,207.25,0,0,0-58.75-144.81,155.35,155.35,0,0,0-17,27.4A176.16,176.16,0,0,1,417.1,272c0,97.66-79.44,177.11-177.09,177.11a175.81,175.81,0,0,1-87.63-23.4c82.94-107.33,150.79-37.77,184.31-226.65,5.79-32.62,28-94.26,126.23-160.18C471,33.45,465.35,20.8,455.93,23.2ZM125,406.4A176.66,176.66,0,0,1,62.9,272C62.9,174.34,142.35,94.9,240,94.9a174,174,0,0,1,76.63,17.75C250.64,174.76,189.77,265.52,125,406.4Z\"]\n};\nvar faPiedPiperAlt = {\n prefix: 'fab',\n iconName: 'pied-piper-alt',\n icon: [576, 512, [], \"f1a8\", \"M244 246c-3.2-2-6.3-2.9-10.1-2.9-6.6 0-12.6 3.2-19.3 3.7l1.7 4.9zm135.9 197.9c-19 0-64.1 9.5-79.9 19.8l6.9 45.1c35.7 6.1 70.1 3.6 106-9.8-4.8-10-23.5-55.1-33-55.1zM340.8 177c6.6 2.8 11.5 9.2 22.7 22.1 2-1.4 7.5-5.2 7.5-8.6 0-4.9-11.8-13.2-13.2-23 11.2-5.7 25.2-6 37.6-8.9 68.1-16.4 116.3-52.9 146.8-116.7C548.3 29.3 554 16.1 554.6 2l-2 2.6c-28.4 50-33 63.2-81.3 100-31.9 24.4-69.2 40.2-106.6 54.6l-6.3-.3v-21.8c-19.6 1.6-19.7-14.6-31.6-23-18.7 20.6-31.6 40.8-58.9 51.1-12.7 4.8-19.6 10-25.9 21.8 34.9-16.4 91.2-13.5 98.8-10zM555.5 0l-.6 1.1-.3.9.6-.6zm-59.2 382.1c-33.9-56.9-75.3-118.4-150-115.5l-.3-6c-1.1-13.5 32.8 3.2 35.1-31l-14.4 7.2c-19.8-45.7-8.6-54.3-65.5-54.3-14.7 0-26.7 1.7-41.4 4.6 2.9 18.6 2.2 36.7-10.9 50.3l19.5 5.5c-1.7 3.2-2.9 6.3-2.9 9.8 0 21 42.8 2.9 42.8 33.6 0 18.4-36.8 60.1-54.9 60.1-8 0-53.7-50-53.4-60.1l.3-4.6 52.3-11.5c13-2.6 12.3-22.7-2.9-22.7-3.7 0-43.1 9.2-49.4 10.6-2-5.2-7.5-14.1-13.8-14.1-3.2 0-6.3 3.2-9.5 4-9.2 2.6-31 2.9-21.5 20.1L15.9 298.5c-5.5 1.1-8.9 6.3-8.9 11.8 0 6 5.5 10.9 11.5 10.9 8 0 131.3-28.4 147.4-32.2 2.6 3.2 4.6 6.3 7.8 8.6 20.1 14.4 59.8 85.9 76.4 85.9 24.1 0 58-22.4 71.3-41.9 3.2-4.3 6.9-7.5 12.4-6.9.6 13.8-31.6 34.2-33 43.7-1.4 10.2-1 35.2-.3 41.1 26.7 8.1 52-3.6 77.9-2.9 4.3-21 10.6-41.9 9.8-63.5l-.3-9.5c-1.4-34.2-10.9-38.5-34.8-58.6-1.1-1.1-2.6-2.6-3.7-4 2.2-1.4 1.1-1 4.6-1.7 88.5 0 56.3 183.6 111.5 229.9 33.1-15 72.5-27.9 103.5-47.2-29-25.6-52.6-45.7-72.7-79.9zm-196.2 46.1v27.2l11.8-3.4-2.9-23.8zm-68.7-150.4l24.1 61.2 21-13.8-31.3-50.9zm84.4 154.9l2 12.4c9-1.5 58.4-6.6 58.4-14.1 0-1.4-.6-3.2-.9-4.6-26.8 0-36.9 3.8-59.5 6.3z\"]\n};\nvar faPiedPiperHat = {\n prefix: 'fab',\n iconName: 'pied-piper-hat',\n icon: [640, 512, [], \"f4e5\", \"M640 24.9c-80.8 53.6-89.4 92.5-96.4 104.4-6.7 12.2-11.7 60.3-23.3 83.6-11.7 23.6-54.2 42.2-66.1 50-11.7 7.8-28.3 38.1-41.9 64.2-108.1-4.4-167.4 38.8-259.2 93.6 29.4-9.7 43.3-16.7 43.3-16.7 94.2-36 139.3-68.3 281.1-49.2 1.1 0 1.9.6 2.8.8 3.9 2.2 5.3 6.9 3.1 10.8l-53.9 95.8c-2.5 4.7-7.8 7.2-13.1 6.1-126.8-23.8-226.9 17.3-318.9 18.6C24.1 488 0 453.4 0 451.8c0-1.1.6-1.7 1.7-1.7 0 0 38.3 0 103.1-15.3C178.4 294.5 244 245.4 315.4 245.4c0 0 71.7 0 90.6 61.9 22.8-39.7 28.3-49.2 28.3-49.2 5.3-9.4 35-77.2 86.4-141.4 51.5-64 90.4-79.9 119.3-91.8z\"]\n};\nvar faPiedPiperPp = {\n prefix: 'fab',\n iconName: 'pied-piper-pp',\n icon: [448, 512, [], \"f1a7\", \"M205.3 174.6c0 21.1-14.2 38.1-31.7 38.1-7.1 0-12.8-1.2-17.2-3.7v-68c4.4-2.7 10.1-4.2 17.2-4.2 17.5 0 31.7 16.9 31.7 37.8zm52.6 67c-7.1 0-12.8 1.5-17.2 4.2v68c4.4 2.5 10.1 3.7 17.2 3.7 17.4 0 31.7-16.9 31.7-37.8 0-21.1-14.3-38.1-31.7-38.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM185 255.1c41 0 74.2-35.6 74.2-79.6 0-44-33.2-79.6-74.2-79.6-12 0-24.1 3.2-34.6 8.8h-45.7V311l51.8-10.1v-50.6c8.6 3.1 18.1 4.8 28.5 4.8zm158.4 25.3c0-44-33.2-79.6-73.9-79.6-3.2 0-6.4.2-9.6.7-3.7 12.5-10.1 23.8-19.2 33.4-13.8 15-32.2 23.8-51.8 24.8V416l51.8-10.1v-50.6c8.6 3.2 18.2 4.7 28.7 4.7 40.8 0 74-35.6 74-79.6z\"]\n};\nvar faPiedPiperSquare = {\n prefix: 'fab',\n iconName: 'pied-piper-square',\n icon: [448, 512, [], \"e01e\", \"M32 419L0 479.2l.8-328C.8 85.3 54 32 120 32h327.2c-93 28.9-189.9 94.2-253.9 168.6C122.7 282 82.6 338 32 419M448 32S305.2 98.8 261.6 199.1c-23.2 53.6-28.9 118.1-71 158.6-28.9 27.8-69.8 38.2-105.3 56.3-23.2 12-66.4 40.5-84.9 66h328.4c66 0 119.3-53.3 119.3-119.2-.1 0-.1-328.8-.1-328.8z\"]\n};\nvar faPinterest = {\n prefix: 'fab',\n iconName: 'pinterest',\n icon: [496, 512, [], \"f0d2\", \"M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z\"]\n};\nvar faPinterestP = {\n prefix: 'fab',\n iconName: 'pinterest-p',\n icon: [384, 512, [], \"f231\", \"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\"]\n};\nvar faPinterestSquare = {\n prefix: 'fab',\n iconName: 'pinterest-square',\n icon: [448, 512, [], \"f0d3\", \"M448 80v352c0 26.5-21.5 48-48 48H154.4c9.8-16.4 22.4-40 27.4-59.3 3-11.5 15.3-58.4 15.3-58.4 8 15.3 31.4 28.2 56.3 28.2 74.1 0 127.4-68.1 127.4-152.7 0-81.1-66.2-141.8-151.4-141.8-106 0-162.2 71.1-162.2 148.6 0 36 19.2 80.8 49.8 95.1 4.7 2.2 7.1 1.2 8.2-3.3.8-3.4 5-20.1 6.8-27.8.6-2.5.3-4.6-1.7-7-10.1-12.3-18.3-34.9-18.3-56 0-54.2 41-106.6 110.9-106.6 60.3 0 102.6 41.1 102.6 99.9 0 66.4-33.5 112.4-77.2 112.4-24.1 0-42.1-19.9-36.4-44.4 6.9-29.2 20.3-60.7 20.3-81.8 0-53-75.5-45.7-75.5 25 0 21.7 7.3 36.5 7.3 36.5-31.4 132.8-36.1 134.5-29.6 192.6l2.2.8H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z\"]\n};\nvar faPlaystation = {\n prefix: 'fab',\n iconName: 'playstation',\n icon: [576, 512, [], \"f3df\", \"M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z\"]\n};\nvar faProductHunt = {\n prefix: 'fab',\n iconName: 'product-hunt',\n icon: [512, 512, [], \"f288\", \"M326.3 218.8c0 20.5-16.7 37.2-37.2 37.2h-70.3v-74.4h70.3c20.5 0 37.2 16.7 37.2 37.2zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-128.1-37.2c0-47.9-38.9-86.8-86.8-86.8H169.2v248h49.6v-74.4h70.3c47.9 0 86.8-38.9 86.8-86.8z\"]\n};\nvar faPushed = {\n prefix: 'fab',\n iconName: 'pushed',\n icon: [432, 512, [], \"f3e1\", \"M407 111.9l-98.5-9 14-33.4c10.4-23.5-10.8-40.4-28.7-37L22.5 76.9c-15.1 2.7-26 18.3-21.4 36.6l105.1 348.3c6.5 21.3 36.7 24.2 47.7 7l35.3-80.8 235.2-231.3c16.4-16.8 4.3-42.9-17.4-44.8zM297.6 53.6c5.1-.7 7.5 2.5 5.2 7.4L286 100.9 108.6 84.6l189-31zM22.7 107.9c-3.1-5.1 1-10 6.1-9.1l248.7 22.7-96.9 230.7L22.7 107.9zM136 456.4c-2.6 4-7.9 3.1-9.4-1.2L43.5 179.7l127.7 197.6c-7 15-35.2 79.1-35.2 79.1zm272.8-314.5L210.1 337.3l89.7-213.7 106.4 9.7c4 1.1 5.7 5.3 2.6 8.6z\"]\n};\nvar faPython = {\n prefix: 'fab',\n iconName: 'python',\n icon: [448, 512, [], \"f3e2\", \"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z\"]\n};\nvar faQq = {\n prefix: 'fab',\n iconName: 'qq',\n icon: [448, 512, [], \"f1d6\", \"M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z\"]\n};\nvar faQuinscape = {\n prefix: 'fab',\n iconName: 'quinscape',\n icon: [512, 512, [], \"f459\", \"M313.6 474.6h-1a158.1 158.1 0 0 1 0-316.2c94.9 0 168.2 83.1 157 176.6 4 5.1 8.2 9.6 11.2 15.3 13.4-30.3 20.3-62.4 20.3-97.7C501.1 117.5 391.6 8 256.5 8S12 117.5 12 252.6s109.5 244.6 244.5 244.6a237.36 237.36 0 0 0 70.4-10.1c-5.2-3.5-8.9-8.1-13.3-12.5zm-.1-.1l.4.1zm78.4-168.9a99.2 99.2 0 1 0 99.2 99.2 99.18 99.18 0 0 0-99.2-99.2z\"]\n};\nvar faQuora = {\n prefix: 'fab',\n iconName: 'quora',\n icon: [448, 512, [], \"f2c4\", \"M440.5 386.7h-29.3c-1.5 13.5-10.5 30.8-33 30.8-20.5 0-35.3-14.2-49.5-35.8 44.2-34.2 74.7-87.5 74.7-153C403.5 111.2 306.8 32 205 32 105.3 32 7.3 111.7 7.3 228.7c0 134.1 131.3 221.6 249 189C276 451.3 302 480 351.5 480c81.8 0 90.8-75.3 89-93.3zM297 329.2C277.5 300 253.3 277 205.5 277c-30.5 0-54.3 10-69 22.8l12.2 24.3c6.2-3 13-4 19.8-4 35.5 0 53.7 30.8 69.2 61.3-10 3-20.7 4.2-32.7 4.2-75 0-107.5-53-107.5-156.7C97.5 124.5 130 71 205 71c76.2 0 108.7 53.5 108.7 157.7.1 41.8-5.4 75.6-16.7 100.5z\"]\n};\nvar faRProject = {\n prefix: 'fab',\n iconName: 'r-project',\n icon: [581, 512, [], \"f4f7\", \"M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z\"]\n};\nvar faRaspberryPi = {\n prefix: 'fab',\n iconName: 'raspberry-pi',\n icon: [407, 512, [], \"f7bb\", \"M372 232.5l-3.7-6.5c.1-46.4-21.4-65.3-46.5-79.7 7.6-2 15.4-3.6 17.6-13.2 13.1-3.3 15.8-9.4 17.1-15.8 3.4-2.3 14.8-8.7 13.6-19.7 6.4-4.4 10-10.1 8.1-18.1 6.9-7.5 8.7-13.7 5.8-19.4 8.3-10.3 4.6-15.6 1.1-20.9 6.2-11.2.7-23.2-16.6-21.2-6.9-10.1-21.9-7.8-24.2-7.8-2.6-3.2-6-6-16.5-4.7-6.8-6.1-14.4-5-22.3-2.1-9.3-7.3-15.5-1.4-22.6.8C271.6.6 269 5.5 263.5 7.6c-12.3-2.6-16.1 3-22 8.9l-6.9-.1c-18.6 10.8-27.8 32.8-31.1 44.1-3.3-11.3-12.5-33.3-31.1-44.1l-6.9.1c-5.9-5.9-9.7-11.5-22-8.9-5.6-2-8.1-7-19.4-3.4-4.6-1.4-8.9-4.4-13.9-4.3-2.6.1-5.5 1-8.7 3.5-7.9-3-15.5-4-22.3 2.1-10.5-1.3-14 1.4-16.5 4.7-2.3 0-17.3-2.3-24.2 7.8C21.2 16 15.8 28 22 39.2c-3.5 5.4-7.2 10.7 1.1 20.9-2.9 5.7-1.1 11.9 5.8 19.4-1.8 8 1.8 13.7 8.1 18.1-1.2 11 10.2 17.4 13.6 19.7 1.3 6.4 4 12.4 17.1 15.8 2.2 9.5 10 11.2 17.6 13.2-25.1 14.4-46.6 33.3-46.5 79.7l-3.7 6.5c-28.8 17.2-54.7 72.7-14.2 117.7 2.6 14.1 7.1 24.2 11 35.4 5.9 45.2 44.5 66.3 54.6 68.8 14.9 11.2 30.8 21.8 52.2 29.2C159 504.2 181 512 203 512h1c22.1 0 44-7.8 64.2-28.4 21.5-7.4 37.3-18 52.2-29.2 10.2-2.5 48.7-23.6 54.6-68.8 3.9-11.2 8.4-21.3 11-35.4 40.6-45.1 14.7-100.5-14-117.7zm-22.2-8c-1.5 18.7-98.9-65.1-82.1-67.9 45.7-7.5 83.6 19.2 82.1 67.9zm-43 93.1c-24.5 15.8-59.8 5.6-78.8-22.8s-14.6-64.2 9.9-80c24.5-15.8 59.8-5.6 78.8 22.8s14.6 64.2-9.9 80zM238.9 29.3c.8 4.2 1.8 6.8 2.9 7.6 5.4-5.8 9.8-11.7 16.8-17.3 0 3.3-1.7 6.8 2.5 9.4 3.7-5 8.8-9.5 15.5-13.3-3.2 5.6-.6 7.3 1.2 9.6 5.1-4.4 10-8.8 19.4-12.3-2.6 3.1-6.2 6.2-2.4 9.8 5.3-3.3 10.6-6.6 23.1-8.9-2.8 3.1-8.7 6.3-5.1 9.4 6.6-2.5 14-4.4 22.1-5.4-3.9 3.2-7.1 6.3-3.9 8.8 7.1-2.2 16.9-5.1 26.4-2.6l-6 6.1c-.7.8 14.1.6 23.9.8-3.6 5-7.2 9.7-9.3 18.2 1 1 5.8.4 10.4 0-4.7 9.9-12.8 12.3-14.7 16.6 2.9 2.2 6.8 1.6 11.2.1-3.4 6.9-10.4 11.7-16 17.3 1.4 1 3.9 1.6 9.7.9-5.2 5.5-11.4 10.5-18.8 15 1.3 1.5 5.8 1.5 10 1.6-6.7 6.5-15.3 9.9-23.4 14.2 4 2.7 6.9 2.1 10 2.1-5.7 4.7-15.4 7.1-24.4 10 1.7 2.7 3.4 3.4 7.1 4.1-9.5 5.3-23.2 2.9-27 5.6.9 2.7 3.6 4.4 6.7 5.8-15.4.9-57.3-.6-65.4-32.3 15.7-17.3 44.4-37.5 93.7-62.6-38.4 12.8-73 30-102 53.5-34.3-15.9-10.8-55.9 5.8-71.8zm-34.4 114.6c24.2-.3 54.1 17.8 54 34.7-.1 15-21 27.1-53.8 26.9-32.1-.4-53.7-15.2-53.6-29.8 0-11.9 26.2-32.5 53.4-31.8zm-123-12.8c3.7-.7 5.4-1.5 7.1-4.1-9-2.8-18.7-5.3-24.4-10 3.1 0 6 .7 10-2.1-8.1-4.3-16.7-7.7-23.4-14.2 4.2-.1 8.7 0 10-1.6-7.4-4.5-13.6-9.5-18.8-15 5.8.7 8.3.1 9.7-.9-5.6-5.6-12.7-10.4-16-17.3 4.3 1.5 8.3 2 11.2-.1-1.9-4.2-10-6.7-14.7-16.6 4.6.4 9.4 1 10.4 0-2.1-8.5-5.8-13.3-9.3-18.2 9.8-.1 24.6 0 23.9-.8l-6-6.1c9.5-2.5 19.3.4 26.4 2.6 3.2-2.5-.1-5.6-3.9-8.8 8.1 1.1 15.4 2.9 22.1 5.4 3.5-3.1-2.3-6.3-5.1-9.4 12.5 2.3 17.8 5.6 23.1 8.9 3.8-3.6.2-6.7-2.4-9.8 9.4 3.4 14.3 7.9 19.4 12.3 1.7-2.3 4.4-4 1.2-9.6 6.7 3.8 11.8 8.3 15.5 13.3 4.1-2.6 2.5-6.2 2.5-9.4 7 5.6 11.4 11.5 16.8 17.3 1.1-.8 2-3.4 2.9-7.6 16.6 15.9 40.1 55.9 6 71.8-29-23.5-63.6-40.7-102-53.5 49.3 25 78 45.3 93.7 62.6-8 31.8-50 33.2-65.4 32.3 3.1-1.4 5.8-3.2 6.7-5.8-4-2.8-17.6-.4-27.2-5.6zm60.1 24.1c16.8 2.8-80.6 86.5-82.1 67.9-1.5-48.7 36.5-75.5 82.1-67.9zM38.2 342c-23.7-18.8-31.3-73.7 12.6-98.3 26.5-7 9 107.8-12.6 98.3zm91 98.2c-13.3 7.9-45.8 4.7-68.8-27.9-15.5-27.4-13.5-55.2-2.6-63.4 16.3-9.8 41.5 3.4 60.9 25.6 16.9 20 24.6 55.3 10.5 65.7zm-26.4-119.7c-24.5-15.8-28.9-51.6-9.9-80s54.3-38.6 78.8-22.8 28.9 51.6 9.9 80c-19.1 28.4-54.4 38.6-78.8 22.8zM205 496c-29.4 1.2-58.2-23.7-57.8-32.3-.4-12.7 35.8-22.6 59.3-22 23.7-1 55.6 7.5 55.7 18.9.5 11-28.8 35.9-57.2 35.4zm58.9-124.9c.2 29.7-26.2 53.8-58.8 54-32.6.2-59.2-23.8-59.4-53.4v-.6c-.2-29.7 26.2-53.8 58.8-54 32.6-.2 59.2 23.8 59.4 53.4v.6zm82.2 42.7c-25.3 34.6-59.6 35.9-72.3 26.3-13.3-12.4-3.2-50.9 15.1-72 20.9-23.3 43.3-38.5 58.9-26.6 10.5 10.3 16.7 49.1-1.7 72.3zm22.9-73.2c-21.5 9.4-39-105.3-12.6-98.3 43.9 24.7 36.3 79.6 12.6 98.3z\"]\n};\nvar faRavelry = {\n prefix: 'fab',\n iconName: 'ravelry',\n icon: [512, 512, [], \"f2d9\", \"M498.252,234.223c-1.208-10.34-1.7-20.826-3.746-31a310.306,310.306,0,0,0-9.622-36.6,184.068,184.068,0,0,0-30.874-57.5,251.154,251.154,0,0,0-18.818-21.689,237.362,237.362,0,0,0-47.113-36.116A240.8,240.8,0,0,0,331.356,26.65c-11.018-3.1-22.272-5.431-33.515-7.615-6.78-1.314-13.749-1.667-20.627-2.482-.316-.036-.6-.358-.9-.553q-16.143.009-32.288.006c-2.41.389-4.808.925-7.236,1.15a179.331,179.331,0,0,0-34.256,7.1,221.5,221.5,0,0,0-39.768,16.355,281.385,281.385,0,0,0-38.08,24.158c-6.167,4.61-12.268,9.36-17.974,14.518C96.539,88.494,86.34,97.72,76.785,107.555a243.878,243.878,0,0,0-33.648,43.95,206.488,206.488,0,0,0-20.494,44.6,198.2,198.2,0,0,0-7.691,34.759A201.13,201.13,0,0,0,13.4,266.385a299.716,299.716,0,0,0,4.425,40.24,226.865,226.865,0,0,0,16.73,53.3,210.543,210.543,0,0,0,24,39.528,213.589,213.589,0,0,0,26.358,28.416A251.313,251.313,0,0,0,126.7,458.455a287.831,287.831,0,0,0,55.9,25.277,269.5,269.5,0,0,0,40.641,9.835c6.071,1.01,12.275,1.253,18.412,1.873a4.149,4.149,0,0,1,1.19.56h32.289c2.507-.389,5-.937,7.527-1.143,16.336-1.332,32.107-5.335,47.489-10.717A219.992,219.992,0,0,0,379.1,460.322c9.749-6.447,19.395-13.077,28.737-20.1,5.785-4.348,10.988-9.5,16.3-14.457,3.964-3.7,7.764-7.578,11.51-11.5a232.162,232.162,0,0,0,31.427-41.639c9.542-16.045,17.355-32.905,22.3-50.926,2.859-10.413,4.947-21.045,7.017-31.652,1.032-5.279,1.251-10.723,1.87-16.087.036-.317.358-.6.552-.9V236.005A9.757,9.757,0,0,1,498.252,234.223Zm-161.117-1.15s-16.572-2.98-28.47-2.98c-27.2,0-33.57,14.9-33.57,37.04V360.8H201.582V170.062H275.1v31.931c8.924-26.822,26.771-36.189,62.04-36.189Z\"]\n};\nvar faReact = {\n prefix: 'fab',\n iconName: 'react',\n icon: [512, 512, [], \"f41b\", \"M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z\"]\n};\nvar faReacteurope = {\n prefix: 'fab',\n iconName: 'reacteurope',\n icon: [576, 512, [], \"f75d\", \"M250.6 211.74l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm63.7 0l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.2-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm-91.3 50.5h-3.4c-4.8 0-3.8 4-3.8 12.1 0 4.7-2.3 6.1-5.8 6.1s-5.8-1.4-5.8-6.1v-36.6c0-4.7 2.3-6.1 5.8-6.1s5.8 1.4 5.8 6.1c0 7.2-.7 10.5 3.8 10.5h3.4c4.7-.1 3.8-3.9 3.8-12.3 0-9.9-6.7-14.1-16.8-14.1h-.2c-10.1 0-16.8 4.2-16.8 14.1V276c0 10.4 6.7 14.1 16.8 14.1h.2c10.1 0 16.8-3.8 16.8-14.1 0-9.86 1.1-13.76-3.8-13.76zm-80.7 17.4h-14.7v-19.3H139c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-11.4v-18.3H142c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-21.7c-2.4-.1-3.7 1.3-3.7 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h21.9c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8zm-42-18.5c4.6-2 7.3-6 7.3-12.4v-11.9c0-10.1-6.7-14.1-16.8-14.1H77.4c-2.5 0-3.8 1.3-3.8 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5 0 3.8-1.3 3.8-3.8v-22.9h5.6l7.4 23.5a4.1 4.1 0 0 0 4.3 3.2h3.3c2.8 0 4-1.8 3.2-4.4zm-3.8-14c0 4.8-2.5 6.1-6.1 6.1h-5.8v-20.9h5.8c3.6 0 6.1 1.3 6.1 6.1zM176 226a3.82 3.82 0 0 0-4.2-3.4h-6.9a3.68 3.68 0 0 0-4 3.4l-11 59.2c-.5 2.7.9 4.1 3.4 4.1h3a3.74 3.74 0 0 0 4.1-3.5l1.8-11.3h12.2l1.8 11.3a3.74 3.74 0 0 0 4.1 3.5h3.5c2.6 0 3.9-1.4 3.4-4.1zm-12.3 39.3l4.7-29.7 4.7 29.7zm89.3 20.2v-53.2h7.5c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-25.8c-2.5 0-3.8 1.3-3.8 3.8v2.1c0 2.5 1.3 3.8 3.8 3.8h7.3v53.2c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5.04 3.8-1.3 3.8-3.76zm248-.8h-19.4V258h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9H501a1.81 1.81 0 0 0 2-1.9v-.8a1.84 1.84 0 0 0-2-1.96zm-93.1-62.9h-.8c-10.1 0-15.3 4.7-15.3 14.1V276c0 9.3 5.2 14.1 15.3 14.1h.8c10.1 0 15.3-4.8 15.3-14.1v-40.1c0-9.36-5.2-14.06-15.3-14.06zm10.2 52.4c-.1 8-3 11.1-10.5 11.1s-10.5-3.1-10.5-11.1v-36.6c0-7.9 3-11.1 10.5-11.1s10.5 3.2 10.5 11.1zm-46.5-14.5c6.1-1.6 9.2-6.1 9.2-13.3v-9.7c0-9.4-5.2-14.1-15.3-14.1h-13.7a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.9h11.6l10.4 27.2a2.32 2.32 0 0 0 2.3 1.5h1.5c1.4 0 2-1 1.5-2.3zm-6.4-3.9H355v-28.5h10.2c7.5 0 10.5 3.1 10.5 11.1v6.4c0 7.84-3 11.04-10.5 11.04zm85.9-33.1h-13.7a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.1h10.6c10.1 0 15.3-4.8 15.3-14.1v-10.5c0-9.4-5.2-14.1-15.3-14.1zm10.2 22.8c0 7.9-3 11.1-10.5 11.1h-10.2v-29.2h10.2c7.5-.1 10.5 3.1 10.5 11zM259.5 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm227.6-136.1a364.42 364.42 0 0 0-35.6-11.3c19.6-78 11.6-134.7-22.3-153.9C394.7-12.66 343.3 11 291 61.94q5.1 4.95 10.2 10.2c82.5-80 119.6-53.5 120.9-52.8 22.4 12.7 36 55.8 15.5 137.8a587.83 587.83 0 0 0-84.6-13C281.1 43.64 212.4 2 170.8 2 140 2 127 23 123.2 29.74c-18.1 32-13.3 84.2.1 133.8-70.5 20.3-120.7 54.1-120.3 95 .5 59.6 103.2 87.8 122.1 92.8-20.5 81.9-10.1 135.6 22.3 153.9 28 15.8 75.1 6 138.2-55.2q-5.1-4.95-10.2-10.2c-82.5 80-119.7 53.5-120.9 52.8-22.3-12.6-36-55.6-15.5-137.9 12.4 2.9 41.8 9.5 84.6 13 71.9 100.4 140.6 142 182.1 142 30.8 0 43.8-21 47.6-27.7 18-31.9 13.3-84.1-.1-133.8 152.3-43.8 156.2-130.2 33.9-176.3zM135.9 36.84c2.9-5.1 11.9-20.3 34.9-20.3 36.8 0 98.8 39.6 163.3 126.2a714 714 0 0 0-93.9.9 547.76 547.76 0 0 1 42.2-52.4Q277.3 86 272.2 81a598.25 598.25 0 0 0-50.7 64.2 569.69 569.69 0 0 0-84.4 14.6c-.2-1.4-24.3-82.2-1.2-123zm304.8 438.3c-2.9 5.1-11.8 20.3-34.9 20.3-36.7 0-98.7-39.4-163.3-126.2a695.38 695.38 0 0 0 93.9-.9 547.76 547.76 0 0 1-42.2 52.4q5.1 5.25 10.2 10.2a588.47 588.47 0 0 0 50.7-64.2c47.3-4.7 80.3-13.5 84.4-14.6 22.7 84.4 4.5 117 1.2 123zm9.1-138.6c-3.6-11.9-7.7-24.1-12.4-36.4a12.67 12.67 0 0 1-10.7-5.7l-.1.1a19.61 19.61 0 0 1-5.4 3.6c5.7 14.3 10.6 28.4 14.7 42.2a535.3 535.3 0 0 1-72 13c3.5-5.3 17.2-26.2 32.2-54.2a24.6 24.6 0 0 1-6-3.2c-1.1 1.2-3.6 4.2-10.9 4.2-6.2 11.2-17.4 30.9-33.9 55.2a711.91 711.91 0 0 1-112.4 1c-7.9-11.2-21.5-31.1-36.8-57.8a21 21 0 0 1-3-1.5c-1.9 1.6-3.9 3.2-12.6 3.2 6.3 11.2 17.5 30.7 33.8 54.6a548.81 548.81 0 0 1-72.2-11.7q5.85-21 14.1-42.9c-3.2 0-5.4.2-8.4-1a17.58 17.58 0 0 1-6.9 1c-4.9 13.4-9.1 26.5-12.7 39.4C-31.7 297-12.1 216 126.7 175.64c3.6 11.9 7.7 24.1 12.4 36.4 10.4 0 12.9 3.4 14.4 5.3a12 12 0 0 1 2.3-2.2c-5.8-14.7-10.9-29.2-15.2-43.3 7-1.8 32.4-8.4 72-13-15.9 24.3-26.7 43.9-32.8 55.3a14.22 14.22 0 0 1 6.4 8 23.42 23.42 0 0 1 10.2-8.4c6.5-11.7 17.9-31.9 34.8-56.9a711.72 711.72 0 0 1 112.4-1c31.5 44.6 28.9 48.1 42.5 64.5a21.42 21.42 0 0 1 10.4-7.4c-6.4-11.4-17.6-31-34.3-55.5 40.4 4.1 65 10 72.2 11.7-4 14.4-8.9 29.2-14.6 44.2a20.74 20.74 0 0 1 6.8 4.3l.1.1a12.72 12.72 0 0 1 8.9-5.6c4.9-13.4 9.2-26.6 12.8-39.5a359.71 359.71 0 0 1 34.5 11c106.1 39.9 74 87.9 72.6 90.4-19.8 35.1-80.1 55.2-105.7 62.5zm-114.4-114h-1.2a1.74 1.74 0 0 0-1.9 1.9v49.8c0 7.9-2.6 11.1-10.1 11.1s-10.1-3.1-10.1-11.1v-49.8a1.69 1.69 0 0 0-1.9-1.9H309a1.81 1.81 0 0 0-2 1.9v51.5c0 9.6 5 14.1 15.1 14.1h.4c10.1 0 15.1-4.6 15.1-14.1v-51.5a2 2 0 0 0-2.2-1.9zM321.7 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm-31.1 7.4l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm5.1-30.8h-19.4v-26.7h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h22.5a1.77 1.77 0 0 0 2-1.9v-.8a1.83 1.83 0 0 0-2-2.06zm-7.4-99.4L286 192l-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1z\"]\n};\nvar faReadme = {\n prefix: 'fab',\n iconName: 'readme',\n icon: [576, 512, [], \"f4d5\", \"M528.3 46.5H388.5c-48.1 0-89.9 33.3-100.4 80.3-10.6-47-52.3-80.3-100.4-80.3H48c-26.5 0-48 21.5-48 48v245.8c0 26.5 21.5 48 48 48h89.7c102.2 0 132.7 24.4 147.3 75 .7 2.8 5.2 2.8 6 0 14.7-50.6 45.2-75 147.3-75H528c26.5 0 48-21.5 48-48V94.6c0-26.4-21.3-47.9-47.7-48.1zM242 311.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5V289c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V251zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm259.3 121.7c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5V228c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.8c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V190z\"]\n};\nvar faRebel = {\n prefix: 'fab',\n iconName: 'rebel',\n icon: [512, 512, [], \"f1d0\", \"M256.5 504C117.2 504 9 387.8 13.2 249.9 16 170.7 56.4 97.7 129.7 49.5c.3 0 1.9-.6 1.1.8-5.8 5.5-111.3 129.8-14.1 226.4 49.8 49.5 90 2.5 90 2.5 38.5-50.1-.6-125.9-.6-125.9-10-24.9-45.7-40.1-45.7-40.1l28.8-31.8c24.4 10.5 43.2 38.7 43.2 38.7.8-29.6-21.9-61.4-21.9-61.4L255.1 8l44.3 50.1c-20.5 28.8-21.9 62.6-21.9 62.6 13.8-23 43.5-39.3 43.5-39.3l28.5 31.8c-27.4 8.9-45.4 39.9-45.4 39.9-15.8 28.5-27.1 89.4.6 127.3 32.4 44.6 87.7-2.8 87.7-2.8 102.7-91.9-10.5-225-10.5-225-6.1-5.5.8-2.8.8-2.8 50.1 36.5 114.6 84.4 116.2 204.8C500.9 400.2 399 504 256.5 504z\"]\n};\nvar faRedRiver = {\n prefix: 'fab',\n iconName: 'red-river',\n icon: [448, 512, [], \"f3e3\", \"M353.2 32H94.8C42.4 32 0 74.4 0 126.8v258.4C0 437.6 42.4 480 94.8 480h258.4c52.4 0 94.8-42.4 94.8-94.8V126.8c0-52.4-42.4-94.8-94.8-94.8zM144.9 200.9v56.3c0 27-21.9 48.9-48.9 48.9V151.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9h-56.3c-12.3-.6-24.6 11.6-24 24zm176.3 72h-56.3c-12.3-.6-24.6 11.6-24 24v56.3c0 27-21.9 48.9-48.9 48.9V247.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9z\"]\n};\nvar faReddit = {\n prefix: 'fab',\n iconName: 'reddit',\n icon: [512, 512, [], \"f1a1\", \"M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6 0-13.8 11.1-24.9 24.9-24.9 13.6 0 24.6 11.1 24.6 24.9 0 13.6-11.1 24.6-24.6 24.6zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-132.3-41.2c-9.4 0-17.7 3.9-23.8 10-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3 55.4 12.5c0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8-6.1-6.4-14.7-10.2-24.1-10.2-34.9 0-46.3 46.9-14.4 62.8-1.1 5-1.7 10.2-1.7 15.5 0 52.6 59.2 95.2 132 95.2 73.1 0 132.3-42.6 132.3-95.2 0-5.3-.6-10.8-1.9-15.8 31.3-16 19.8-62.5-14.9-62.5zM302.8 331c-18.2 18.2-76.1 17.9-93.6 0-2.2-2.2-6.1-2.2-8.3 0-2.5 2.5-2.5 6.4 0 8.6 22.8 22.8 87.3 22.8 110.2 0 2.5-2.2 2.5-6.1 0-8.6-2.2-2.2-6.1-2.2-8.3 0zm7.7-75c-13.6 0-24.6 11.1-24.6 24.9 0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.1 24.9-24.6 0-13.8-11-24.9-24.9-24.9z\"]\n};\nvar faRedditAlien = {\n prefix: 'fab',\n iconName: 'reddit-alien',\n icon: [512, 512, [], \"f281\", \"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"]\n};\nvar faRedditSquare = {\n prefix: 'fab',\n iconName: 'reddit-square',\n icon: [448, 512, [], \"f1a2\", \"M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z\"]\n};\nvar faRedhat = {\n prefix: 'fab',\n iconName: 'redhat',\n icon: [512, 512, [], \"f7bc\", \"M341.52 285.56c33.65 0 82.34-6.94 82.34-47 .22-6.74.86-1.82-20.88-96.24-4.62-19.15-8.68-27.84-42.31-44.65-26.09-13.34-82.92-35.37-99.73-35.37-15.66 0-20.2 20.17-38.87 20.17-18 0-31.31-15.06-48.12-15.06-16.14 0-26.66 11-34.78 33.62-27.5 77.55-26.28 74.27-26.12 78.27 0 24.8 97.64 106.11 228.47 106.11M429 254.84c4.65 22 4.65 24.35 4.65 27.25 0 37.66-42.33 58.56-98 58.56-125.74.08-235.91-73.65-235.91-122.33a49.55 49.55 0 0 1 4.06-19.72C58.56 200.86 0 208.93 0 260.63c0 84.67 200.63 189 359.49 189 121.79 0 152.51-55.08 152.51-98.58 0-34.21-29.59-73.05-82.93-96.24\"]\n};\nvar faRenren = {\n prefix: 'fab',\n iconName: 'renren',\n icon: [512, 512, [], \"f18b\", \"M214 169.1c0 110.4-61 205.4-147.6 247.4C30 373.2 8 317.7 8 256.6 8 133.9 97.1 32.2 214 12.5v156.6zM255 504c-42.9 0-83.3-11-118.5-30.4C193.7 437.5 239.9 382.9 255 319c15.5 63.9 61.7 118.5 118.8 154.7C338.7 493 298.3 504 255 504zm190.6-87.5C359 374.5 298 279.6 298 169.1V12.5c116.9 19.7 206 121.4 206 244.1 0 61.1-22 116.6-58.4 159.9z\"]\n};\nvar faReplyd = {\n prefix: 'fab',\n iconName: 'replyd',\n icon: [448, 512, [], \"f3e6\", \"M320 480H128C57.6 480 0 422.4 0 352V160C0 89.6 57.6 32 128 32h192c70.4 0 128 57.6 128 128v192c0 70.4-57.6 128-128 128zM193.4 273.2c-6.1-2-11.6-3.1-16.4-3.1-7.2 0-13.5 1.9-18.9 5.6-5.4 3.7-9.6 9-12.8 15.8h-1.1l-4.2-18.3h-28v138.9h36.1v-89.7c1.5-5.4 4.4-9.8 8.7-13.2 4.3-3.4 9.8-5.1 16.2-5.1 4.6 0 9.8 1 15.6 3.1l4.8-34zm115.2 103.4c-3.2 2.4-7.7 4.8-13.7 7.1-6 2.3-12.8 3.5-20.4 3.5-12.2 0-21.1-3-26.5-8.9-5.5-5.9-8.5-14.7-9-26.4h83.3c.9-4.8 1.6-9.4 2.1-13.9.5-4.4.7-8.6.7-12.5 0-10.7-1.6-19.7-4.7-26.9-3.2-7.2-7.3-13-12.5-17.2-5.2-4.3-11.1-7.3-17.8-9.2-6.7-1.8-13.5-2.8-20.6-2.8-21.1 0-37.5 6.1-49.2 18.3s-17.5 30.5-17.5 55c0 22.8 5.2 40.7 15.6 53.7 10.4 13.1 26.8 19.6 49.2 19.6 10.7 0 20.9-1.5 30.4-4.6 9.5-3.1 17.1-6.8 22.6-11.2l-12-23.6zm-21.8-70.3c3.8 5.4 5.3 13.1 4.6 23.1h-51.7c.9-9.4 3.7-17 8.2-22.6 4.5-5.6 11.5-8.5 21-8.5 8.2-.1 14.1 2.6 17.9 8zm79.9 2.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4s2 11.7 6.1 15.6zm0 100.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4 0 6.6 2 11.7 6.1 15.6z\"]\n};\nvar faResearchgate = {\n prefix: 'fab',\n iconName: 'researchgate',\n icon: [448, 512, [], \"f4f8\", \"M0 32v448h448V32H0zm262.2 334.4c-6.6 3-33.2 6-50-14.2-9.2-10.6-25.3-33.3-42.2-63.6-8.9 0-14.7 0-21.4-.6v46.4c0 23.5 6 21.2 25.8 23.9v8.1c-6.9-.3-23.1-.8-35.6-.8-13.1 0-26.1.6-33.6.8v-8.1c15.5-2.9 22-1.3 22-23.9V225c0-22.6-6.4-21-22-23.9V193c25.8 1 53.1-.6 70.9-.6 31.7 0 55.9 14.4 55.9 45.6 0 21.1-16.7 42.2-39.2 47.5 13.6 24.2 30 45.6 42.2 58.9 7.2 7.8 17.2 14.7 27.2 14.7v7.3zm22.9-135c-23.3 0-32.2-15.7-32.2-32.2V167c0-12.2 8.8-30.4 34-30.4s30.4 17.9 30.4 17.9l-10.7 7.2s-5.5-12.5-19.7-12.5c-7.9 0-19.7 7.3-19.7 19.7v26.8c0 13.4 6.6 23.3 17.9 23.3 14.1 0 21.5-10.9 21.5-26.8h-17.9v-10.7h30.4c0 20.5 4.7 49.9-34 49.9zm-116.5 44.7c-9.4 0-13.6-.3-20-.8v-69.7c6.4-.6 15-.6 22.5-.6 23.3 0 37.2 12.2 37.2 34.5 0 21.9-15 36.6-39.7 36.6z\"]\n};\nvar faResolving = {\n prefix: 'fab',\n iconName: 'resolving',\n icon: [496, 512, [], \"f3e7\", \"M281.2 278.2c46-13.3 49.6-23.5 44-43.4L314 195.5c-6.1-20.9-18.4-28.1-71.1-12.8L54.7 236.8l28.6 98.6 197.9-57.2zM248.5 8C131.4 8 33.2 88.7 7.2 197.5l221.9-63.9c34.8-10.2 54.2-11.7 79.3-8.2 36.3 6.1 52.7 25 61.4 55.2l10.7 37.8c8.2 28.1 1 50.6-23.5 73.6-19.4 17.4-31.2 24.5-61.4 33.2L203 351.8l220.4 27.1 9.7 34.2-48.1 13.3-286.8-37.3 23 80.2c36.8 22 80.3 34.7 126.3 34.7 137 0 248.5-111.4 248.5-248.3C497 119.4 385.5 8 248.5 8zM38.3 388.6L0 256.8c0 48.5 14.3 93.4 38.3 131.8z\"]\n};\nvar faRev = {\n prefix: 'fab',\n iconName: 'rev',\n icon: [448, 512, [], \"f5b2\", \"M289.67 274.89a65.57 65.57 0 1 1-65.56-65.56 65.64 65.64 0 0 1 65.56 65.56zm139.55-5.05h-.13a204.69 204.69 0 0 0-74.32-153l-45.38 26.2a157.07 157.07 0 0 1 71.81 131.84C381.2 361.5 310.73 432 224.11 432S67 361.5 67 274.88c0-81.88 63-149.27 143-156.43v39.12l108.77-62.79L210 32v38.32c-106.7 7.25-191 96-191 204.57 0 111.59 89.12 202.29 200.06 205v.11h210.16V269.84z\"]\n};\nvar faRocketchat = {\n prefix: 'fab',\n iconName: 'rocketchat',\n icon: [576, 512, [], \"f3e8\", \"M284.046,224.8a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,284.046,224.8Zm-110.45,0a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,173.6,224.8Zm220.923,0a34.114,34.114,0,1,0,34.317,34.113A34.215,34.215,0,0,0,394.519,224.8Zm153.807-55.319c-15.535-24.172-37.31-45.57-64.681-63.618-52.886-34.817-122.374-54-195.666-54a405.975,405.975,0,0,0-72.032,6.357,238.524,238.524,0,0,0-49.51-36.588C99.684-11.7,40.859.711,11.135,11.421A14.291,14.291,0,0,0,5.58,34.782C26.542,56.458,61.222,99.3,52.7,138.252c-33.142,33.9-51.112,74.776-51.112,117.337,0,43.372,17.97,84.248,51.112,118.148,8.526,38.956-26.154,81.816-47.116,103.491a14.284,14.284,0,0,0,5.555,23.34c29.724,10.709,88.549,23.147,155.324-10.2a238.679,238.679,0,0,0,49.51-36.589A405.972,405.972,0,0,0,288,460.14c73.313,0,142.8-19.159,195.667-53.975,27.371-18.049,49.145-39.426,64.679-63.619,17.309-26.923,26.07-55.916,26.07-86.125C574.394,225.4,565.634,196.43,548.326,169.485ZM284.987,409.9a345.65,345.65,0,0,1-89.446-11.5l-20.129,19.393a184.366,184.366,0,0,1-37.138,27.585,145.767,145.767,0,0,1-52.522,14.87c.983-1.771,1.881-3.563,2.842-5.356q30.258-55.68,16.325-100.078c-32.992-25.962-52.778-59.2-52.778-95.4,0-83.1,104.254-150.469,232.846-150.469s232.867,67.373,232.867,150.469C517.854,342.525,413.6,409.9,284.987,409.9Z\"]\n};\nvar faRockrms = {\n prefix: 'fab',\n iconName: 'rockrms',\n icon: [496, 512, [], \"f3e9\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm157.4 419.5h-90l-112-131.3c-17.9-20.4-3.9-56.1 26.6-56.1h75.3l-84.6-99.3-84.3 98.9h-90L193.5 67.2c14.4-18.4 41.3-17.3 54.5 0l157.7 185.1c19 22.8 2 57.2-27.6 56.1-.6 0-74.2.2-74.2.2l101.5 118.9z\"]\n};\nvar faRust = {\n prefix: 'fab',\n iconName: 'rust',\n icon: [512, 512, [], \"e07a\", \"M508.52,249.75,486.7,236.24c-.17-2-.34-3.93-.55-5.88l18.72-17.5a7.35,7.35,0,0,0-2.44-12.25l-24-9c-.54-1.88-1.08-3.78-1.67-5.64l15-20.83a7.35,7.35,0,0,0-4.79-11.54l-25.42-4.15c-.9-1.73-1.79-3.45-2.73-5.15l10.68-23.42a7.35,7.35,0,0,0-6.95-10.39l-25.82.91q-1.79-2.22-3.61-4.4L439,81.84A7.36,7.36,0,0,0,430.16,73L405,78.93q-2.17-1.83-4.4-3.61l.91-25.82a7.35,7.35,0,0,0-10.39-7L367.7,53.23c-1.7-.94-3.43-1.84-5.15-2.73L358.4,25.08a7.35,7.35,0,0,0-11.54-4.79L326,35.26c-1.86-.59-3.75-1.13-5.64-1.67l-9-24a7.35,7.35,0,0,0-12.25-2.44l-17.5,18.72c-1.95-.21-3.91-.38-5.88-.55L262.25,3.48a7.35,7.35,0,0,0-12.5,0L236.24,25.3c-2,.17-3.93.34-5.88.55L212.86,7.13a7.35,7.35,0,0,0-12.25,2.44l-9,24c-1.89.55-3.79,1.08-5.66,1.68l-20.82-15a7.35,7.35,0,0,0-11.54,4.79l-4.15,25.41c-1.73.9-3.45,1.79-5.16,2.73L120.88,42.55a7.35,7.35,0,0,0-10.39,7l.92,25.81c-1.49,1.19-3,2.39-4.42,3.61L81.84,73A7.36,7.36,0,0,0,73,81.84L78.93,107c-1.23,1.45-2.43,2.93-3.62,4.41l-25.81-.91a7.42,7.42,0,0,0-6.37,3.26,7.35,7.35,0,0,0-.57,7.13l10.66,23.41c-.94,1.7-1.83,3.43-2.73,5.16L25.08,153.6a7.35,7.35,0,0,0-4.79,11.54l15,20.82c-.59,1.87-1.13,3.77-1.68,5.66l-24,9a7.35,7.35,0,0,0-2.44,12.25l18.72,17.5c-.21,1.95-.38,3.91-.55,5.88L3.48,249.75a7.35,7.35,0,0,0,0,12.5L25.3,275.76c.17,2,.34,3.92.55,5.87L7.13,299.13a7.35,7.35,0,0,0,2.44,12.25l24,9c.55,1.89,1.08,3.78,1.68,5.65l-15,20.83a7.35,7.35,0,0,0,4.79,11.54l25.42,4.15c.9,1.72,1.79,3.45,2.73,5.14L42.56,391.12a7.35,7.35,0,0,0,.57,7.13,7.13,7.13,0,0,0,6.37,3.26l25.83-.91q1.77,2.22,3.6,4.4L73,430.16A7.36,7.36,0,0,0,81.84,439L107,433.07q2.18,1.83,4.41,3.61l-.92,25.82a7.35,7.35,0,0,0,10.39,6.95l23.43-10.68c1.69.94,3.42,1.83,5.14,2.73l4.15,25.42a7.34,7.34,0,0,0,11.54,4.78l20.83-15c1.86.6,3.76,1.13,5.65,1.68l9,24a7.36,7.36,0,0,0,12.25,2.44l17.5-18.72c1.95.21,3.92.38,5.88.55l13.51,21.82a7.35,7.35,0,0,0,12.5,0l13.51-21.82c2-.17,3.93-.34,5.88-.56l17.5,18.73a7.36,7.36,0,0,0,12.25-2.44l9-24c1.89-.55,3.78-1.08,5.65-1.68l20.82,15a7.34,7.34,0,0,0,11.54-4.78l4.15-25.42c1.72-.9,3.45-1.79,5.15-2.73l23.42,10.68a7.35,7.35,0,0,0,10.39-6.95l-.91-25.82q2.22-1.79,4.4-3.61L430.16,439a7.36,7.36,0,0,0,8.84-8.84L433.07,405q1.83-2.17,3.61-4.4l25.82.91a7.23,7.23,0,0,0,6.37-3.26,7.35,7.35,0,0,0,.58-7.13L458.77,367.7c.94-1.7,1.83-3.43,2.73-5.15l25.42-4.15a7.35,7.35,0,0,0,4.79-11.54l-15-20.83c.59-1.87,1.13-3.76,1.67-5.65l24-9a7.35,7.35,0,0,0,2.44-12.25l-18.72-17.5c.21-1.95.38-3.91.55-5.87l21.82-13.51a7.35,7.35,0,0,0,0-12.5Zm-151,129.08A13.91,13.91,0,0,0,341,389.51l-7.64,35.67A187.51,187.51,0,0,1,177,424.44l-7.64-35.66a13.87,13.87,0,0,0-16.46-10.68l-31.51,6.76a187.38,187.38,0,0,1-16.26-19.21H258.3c1.72,0,2.89-.29,2.89-1.91V309.55c0-1.57-1.17-1.91-2.89-1.91H213.47l.05-34.35H262c4.41,0,23.66,1.28,29.79,25.87,1.91,7.55,6.17,32.14,9.06,40,2.89,8.82,14.6,26.46,27.1,26.46H407a187.3,187.3,0,0,1-17.34,20.09Zm25.77,34.49A15.24,15.24,0,1,1,368,398.08h.44A15.23,15.23,0,0,1,383.24,413.32Zm-225.62-.68a15.24,15.24,0,1,1-15.25-15.25h.45A15.25,15.25,0,0,1,157.62,412.64ZM69.57,234.15l32.83-14.6a13.88,13.88,0,0,0,7.06-18.33L102.69,186h26.56V305.73H75.65A187.65,187.65,0,0,1,69.57,234.15ZM58.31,198.09a15.24,15.24,0,0,1,15.23-15.25H74a15.24,15.24,0,1,1-15.67,15.24Zm155.16,24.49.05-35.32h63.26c3.28,0,23.07,3.77,23.07,18.62,0,12.29-15.19,16.7-27.68,16.7ZM399,306.71c-9.8,1.13-20.63-4.12-22-10.09-5.78-32.49-15.39-39.4-30.57-51.4,18.86-11.95,38.46-29.64,38.46-53.26,0-25.52-17.49-41.59-29.4-49.48-16.76-11-35.28-13.23-40.27-13.23H116.32A187.49,187.49,0,0,1,221.21,70.06l23.47,24.6a13.82,13.82,0,0,0,19.6.44l26.26-25a187.51,187.51,0,0,1,128.37,91.43l-18,40.57A14,14,0,0,0,408,220.43l34.59,15.33a187.12,187.12,0,0,1,.4,32.54H423.71c-1.91,0-2.69,1.27-2.69,3.13v8.82C421,301,409.31,305.58,399,306.71ZM240,60.21A15.24,15.24,0,0,1,255.21,45h.45A15.24,15.24,0,1,1,240,60.21ZM436.84,214a15.24,15.24,0,1,1,0-30.48h.44a15.24,15.24,0,0,1-.44,30.48Z\"]\n};\nvar faSafari = {\n prefix: 'fab',\n iconName: 'safari',\n icon: [512, 512, [], \"f267\", \"M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z\"]\n};\nvar faSalesforce = {\n prefix: 'fab',\n iconName: 'salesforce',\n icon: [640, 512, [], \"f83b\", \"M248.89 245.64h-26.35c.69-5.16 3.32-14.12 13.64-14.12 6.75 0 11.97 3.82 12.71 14.12zm136.66-13.88c-.47 0-14.11-1.77-14.11 20s13.63 20 14.11 20c13 0 14.11-13.54 14.11-20 0-21.76-13.66-20-14.11-20zm-243.22 23.76a8.63 8.63 0 0 0-3.29 7.29c0 4.78 2.08 6.05 3.29 7.05 4.7 3.7 15.07 2.12 20.93.95v-16.94c-5.32-1.07-16.73-1.96-20.93 1.65zM640 232c0 87.58-80 154.39-165.36 136.43-18.37 33-70.73 70.75-132.2 41.63-41.16 96.05-177.89 92.18-213.81-5.17C8.91 428.78-50.19 266.52 53.36 205.61 18.61 126.18 76 32 167.67 32a124.24 124.24 0 0 1 98.56 48.7c20.7-21.4 49.4-34.81 81.15-34.81 42.34 0 79 23.52 98.8 58.57C539 63.78 640 132.69 640 232zm-519.55 31.8c0-11.76-11.69-15.17-17.87-17.17-5.27-2.11-13.41-3.51-13.41-8.94 0-9.46 17-6.66 25.17-2.12 0 0 1.17.71 1.64-.47.24-.7 2.36-6.58 2.59-7.29a1.13 1.13 0 0 0-.7-1.41c-12.33-7.63-40.7-8.51-40.7 12.7 0 12.46 11.49 15.44 17.88 17.17 4.72 1.58 13.17 3 13.17 8.7 0 4-3.53 7.06-9.17 7.06a31.76 31.76 0 0 1-19-6.35c-.47-.23-1.42-.71-1.65.71l-2.4 7.47c-.47.94.23 1.18.23 1.41 1.75 1.4 10.3 6.59 22.82 6.59 13.17 0 21.4-7.06 21.4-18.11zm32-42.58c-10.13 0-18.66 3.17-21.4 5.18a1 1 0 0 0-.24 1.41l2.59 7.06a1 1 0 0 0 1.18.7c.65 0 6.8-4 16.93-4 4 0 7.06.71 9.18 2.36 3.6 2.8 3.06 8.29 3.06 10.58-4.79-.3-19.11-3.44-29.41 3.76a16.92 16.92 0 0 0-7.34 14.54c0 5.9 1.51 10.4 6.59 14.35 12.24 8.16 36.28 2 38.1 1.41 1.58-.32 3.53-.66 3.53-1.88v-33.88c.04-4.61.32-21.64-22.78-21.64zM199 200.24a1.11 1.11 0 0 0-1.18-1.18H188a1.11 1.11 0 0 0-1.17 1.18v79a1.11 1.11 0 0 0 1.17 1.18h9.88a1.11 1.11 0 0 0 1.18-1.18zm55.75 28.93c-2.1-2.31-6.79-7.53-17.65-7.53-3.51 0-14.16.23-20.7 8.94-6.35 7.63-6.58 18.11-6.58 21.41 0 3.12.15 14.26 7.06 21.17 2.64 2.91 9.06 8.23 22.81 8.23 10.82 0 16.47-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.35-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.94-16.7h37.17a1.23 1.23 0 0 0 1.17-.94c-.29 0 2.07-14.7-6.09-24.23zm36.69 52.69c13.17 0 21.41-7.06 21.41-18.11 0-11.76-11.7-15.17-17.88-17.17-4.14-1.66-13.41-3.38-13.41-8.94 0-3.76 3.29-6.35 8.47-6.35a38.11 38.11 0 0 1 16.7 4.23s1.18.71 1.65-.47c.23-.7 2.35-6.58 2.58-7.29a1.13 1.13 0 0 0-.7-1.41c-7.91-4.9-16.74-4.94-20.23-4.94-12 0-20.46 7.29-20.46 17.64 0 12.46 11.48 15.44 17.87 17.17 6.11 2 13.17 3.26 13.17 8.7 0 4-3.52 7.06-9.17 7.06a31.8 31.8 0 0 1-19-6.35 1 1 0 0 0-1.65.71l-2.35 7.52c-.47.94.23 1.18.23 1.41 1.72 1.4 10.33 6.59 22.79 6.59zM357.09 224c0-.71-.24-1.18-1.18-1.18h-11.76c0-.14.94-8.94 4.47-12.47 4.16-4.15 11.76-1.64 12-1.64 1.17.47 1.41 0 1.64-.47l2.83-7.77c.7-.94 0-1.17-.24-1.41-5.09-2-17.35-2.87-24.46 4.24-5.48 5.48-7 13.92-8 19.52h-8.47a1.28 1.28 0 0 0-1.17 1.18l-1.42 7.76c0 .7.24 1.17 1.18 1.17h8.23c-8.51 47.9-8.75 50.21-10.35 55.52-1.08 3.62-3.29 6.9-5.88 7.76-.09 0-3.88 1.68-9.64-.24 0 0-.94-.47-1.41.71-.24.71-2.59 6.82-2.83 7.53s0 1.41.47 1.41c5.11 2 13 1.77 17.88 0 6.28-2.28 9.72-7.89 11.53-12.94 2.75-7.71 2.81-9.79 11.76-59.74h12.23a1.29 1.29 0 0 0 1.18-1.18zm53.39 16c-.56-1.68-5.1-18.11-25.17-18.11-15.25 0-23 10-25.16 18.11-1 3-3.18 14 0 23.52.09.3 4.41 18.12 25.16 18.12 14.95 0 22.9-9.61 25.17-18.12 3.21-9.61 1.01-20.52 0-23.52zm45.4-16.7c-5-1.65-16.62-1.9-22.11 5.41v-4.47a1.11 1.11 0 0 0-1.18-1.17h-9.4a1.11 1.11 0 0 0-1.18 1.17v55.28a1.12 1.12 0 0 0 1.18 1.18h9.64a1.12 1.12 0 0 0 1.18-1.18v-27.77c0-2.91.05-11.37 4.46-15.05 4.9-4.9 12-3.36 13.41-3.06a1.57 1.57 0 0 0 1.41-.94 74 74 0 0 0 3.06-8 1.16 1.16 0 0 0-.47-1.41zm46.81 54.1l-2.12-7.29c-.47-1.18-1.41-.71-1.41-.71-4.23 1.82-10.15 1.89-11.29 1.89-4.64 0-17.17-1.13-17.17-19.76 0-6.23 1.85-19.76 16.47-19.76a34.85 34.85 0 0 1 11.52 1.65s.94.47 1.18-.71c.94-2.59 1.64-4.47 2.59-7.53.23-.94-.47-1.17-.71-1.17-11.59-3.87-22.34-2.53-27.76 0-1.59.74-16.23 6.49-16.23 27.52 0 2.9-.58 30.11 28.94 30.11a44.45 44.45 0 0 0 15.52-2.83 1.3 1.3 0 0 0 .47-1.42zm53.87-39.52c-.8-3-5.37-16.23-22.35-16.23-16 0-23.52 10.11-25.64 18.59a38.58 38.58 0 0 0-1.65 11.76c0 25.87 18.84 29.4 29.88 29.4 10.82 0 16.46-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.36-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.93-16.7h37.16a1.25 1.25 0 0 0 1.18-.94c-.24-.01.94-7.07-1.41-15.54zm-23.29-6.35c-10.33 0-13 9-13.64 14.12H546c-.88-11.92-7.62-14.13-12.73-14.13z\"]\n};\nvar faSass = {\n prefix: 'fab',\n iconName: 'sass',\n icon: [640, 512, [], \"f41e\", \"M301.84 378.92c-.3.6-.6 1.08 0 0zm249.13-87a131.16 131.16 0 0 0-58 13.5c-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.3-6.7-24 2.5-25.29 5.9a122.83 122.83 0 0 0-5.3 19.1c-2.3 11.7-25.79 53.5-39.09 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.29-6.7-24 2.5-25.3 5.9-2.7 11.4-5.3 19.1-33.89 77.3-42.08 95.4c-4.2 9.2-7.8 16.6-10.4 21.6-.4.8-.7 1.3-.9 1.7.3-.5.5-1 .5-.8-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2s-1.4 2-1.4 2 10.1-42.4-19.39-42.4c-18.4 0-44 20.2-56.58 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.79-38.2-101.87-65.2-99.07-116.5 1-18.7 7.5-67.8 127.07-127.4 98-48.8 176.35-35.4 189.84-5.6 19.4 42.5-41.89 121.6-143.66 133-38.79 4.3-59.18-10.7-64.28-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.79 28.9 18.7 6.1 64.18 9.5 119.17-11.8 61.78-23.8 109.87-90.1 95.77-145.6C386.52 18.32 293-.18 204.57 31.22c-52.69 18.7-109.67 48.1-150.66 86.4-48.69 45.6-56.48 85.3-53.28 101.9 11.39 58.9 92.57 97.3 125.06 125.7-1.6.9-3.1 1.7-4.5 2.5-16.29 8.1-78.18 40.5-93.67 74.7-17.5 38.8 2.9 66.6 16.29 70.4 41.79 11.6 84.58-9.3 107.57-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.29-4.9 16.39-9.4 23.49-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.49 5 15.39 5 13.8 0 20-11.4 26.89-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.39 0 18.79-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.59-46 16.2-31.8 31.69-71.5 31.69-71.5a201.24 201.24 0 0 0 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2a.31.31 0 0 0 .1.2c-3 4-6.4 8.3-9.9 12.5-12.79 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.69 2.5 11.5-.8 19.6-3.6 23.5-5.4a82.2 82.2 0 0 0 20.19-10.6c12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5C434.8 301.72 450.1 270 450.1 270a201.24 201.24 0 0 0 6.2 25.8c2.4 8.1 7.09 17 11.39 25.7-18.59 15.1-30.09 32.6-34.09 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5a79.46 79.46 0 0 0 21.59-11.1c12.5-9.2 24.59-22.1 23.79-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.09-10.2 62.09-7.2 55.68 6.5 66.58 41.3 64.48 55.8s-13.8 22.6-17.7 25-5.1 3.3-4.8 5.1c.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.19-11.8 30.29-38.7 1.6-34-31.09-71.4-89-71.1zm-429.18 144.7c-18.39 20.1-44.19 27.7-55.28 21.3C54.61 451 59.31 421.42 82 400c13.8-13 31.59-25 43.39-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.29 30.4.3 57.2-19.1 78.3zm134.36-91.4c-6.4 15.7-19.89 55.7-28.09 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.09-11.3 21.19-14.9 23.79-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.89-13.9 0 .5.1 1 .1 1.6-.13 17.9-17.32 30-25.12 34.8zm85.58-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.59-15.3 19-24.5a36.18 36.18 0 0 1 1.9 10.8c-.1 22.5-16.2 30.9-25.89 34.4z\"]\n};\nvar faSchlix = {\n prefix: 'fab',\n iconName: 'schlix',\n icon: [448, 512, [], \"f3ea\", \"M350.5 157.7l-54.2-46.1 73.4-39 78.3 44.2-97.5 40.9zM192 122.1l45.7-28.2 34.7 34.6-55.4 29-25-35.4zm-65.1 6.6l31.9-22.1L176 135l-36.7 22.5-12.4-28.8zm-23.3 88.2l-8.8-34.8 29.6-18.3 13.1 35.3-33.9 17.8zm-21.2-83.7l23.9-18.1 8.9 24-26.7 18.3-6.1-24.2zM59 206.5l-3.6-28.4 22.3-15.5 6.1 28.7L59 206.5zm-30.6 16.6l20.8-12.8 3.3 33.4-22.9 12-1.2-32.6zM1.4 268l19.2-10.2.4 38.2-21 8.8L1.4 268zm59.1 59.3l-28.3 8.3-1.6-46.8 25.1-10.7 4.8 49.2zM99 263.2l-31.1 13-5.2-40.8L90.1 221l8.9 42.2zM123.2 377l-41.6 5.9-8.1-63.5 35.2-10.8 14.5 68.4zm28.5-139.9l21.2 57.1-46.2 13.6-13.7-54.1 38.7-16.6zm85.7 230.5l-70.9-3.3-24.3-95.8 55.2-8.6 40 107.7zm-84.9-279.7l42.2-22.4 28 45.9-50.8 21.3-19.4-44.8zm41 94.9l61.3-18.7 52.8 86.6-79.8 11.3-34.3-79.2zm51.4-85.6l67.3-28.8 65.5 65.4-88.6 26.2-44.2-62.8z\"]\n};\nvar faScribd = {\n prefix: 'fab',\n iconName: 'scribd',\n icon: [384, 512, [], \"f28a\", \"M42.3 252.7c-16.1-19-24.7-45.9-24.8-79.9 0-100.4 75.2-153.1 167.2-153.1 98.6-1.6 156.8 49 184.3 70.6l-50.5 72.1-37.3-24.6 26.9-38.6c-36.5-24-79.4-36.5-123-35.8-50.7-.8-111.7 27.2-111.7 76.2 0 18.7 11.2 20.7 28.6 15.6 23.3-5.3 41.9.6 55.8 14 26.4 24.3 23.2 67.6-.7 91.9-29.2 29.5-85.2 27.3-114.8-8.4zm317.7 5.9c-15.5-18.8-38.9-29.4-63.2-28.6-38.1-2-71.1 28-70.5 67.2-.7 16.8 6 33 18.4 44.3 14.1 13.9 33 19.7 56.3 14.4 17.4-5.1 28.6-3.1 28.6 15.6 0 4.3-.5 8.5-1.4 12.7-16.7 40.9-59.5 64.4-121.4 64.4-51.9.2-102.4-16.4-144.1-47.3l33.7-39.4-35.6-27.4L0 406.3l15.4 13.8c52.5 46.8 120.4 72.5 190.7 72.2 51.4 0 94.4-10.5 133.6-44.1 57.1-51.4 54.2-149.2 20.3-189.6z\"]\n};\nvar faSearchengin = {\n prefix: 'fab',\n iconName: 'searchengin',\n icon: [460, 512, [], \"f3eb\", \"M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z\"]\n};\nvar faSellcast = {\n prefix: 'fab',\n iconName: 'sellcast',\n icon: [448, 512, [], \"f2da\", \"M353.4 32H94.7C42.6 32 0 74.6 0 126.6v258.7C0 437.4 42.6 480 94.7 480h258.7c52.1 0 94.7-42.6 94.7-94.6V126.6c0-52-42.6-94.6-94.7-94.6zm-50 316.4c-27.9 48.2-89.9 64.9-138.2 37.2-22.9 39.8-54.9 8.6-42.3-13.2l15.7-27.2c5.9-10.3 19.2-13.9 29.5-7.9 18.6 10.8-.1-.1 18.5 10.7 27.6 15.9 63.4 6.3 79.4-21.3 15.9-27.6 6.3-63.4-21.3-79.4-17.8-10.2-.6-.4-18.6-10.6-24.6-14.2-3.4-51.9 21.6-37.5 18.6 10.8-.1-.1 18.5 10.7 48.4 28 65.1 90.3 37.2 138.5zm21.8-208.8c-17 29.5-16.3 28.8-19 31.5-6.5 6.5-16.3 8.7-26.5 3.6-18.6-10.8.1.1-18.5-10.7-27.6-15.9-63.4-6.3-79.4 21.3s-6.3 63.4 21.3 79.4c0 0 18.5 10.6 18.6 10.6 24.6 14.2 3.4 51.9-21.6 37.5-18.6-10.8.1.1-18.5-10.7-48.2-27.8-64.9-90.1-37.1-138.4 27.9-48.2 89.9-64.9 138.2-37.2l4.8-8.4c14.3-24.9 52-3.3 37.7 21.5z\"]\n};\nvar faSellsy = {\n prefix: 'fab',\n iconName: 'sellsy',\n icon: [640, 512, [], \"f213\", \"M539.71 237.308c3.064-12.257 4.29-24.821 4.29-37.384C544 107.382 468.618 32 376.076 32c-77.22 0-144.634 53.012-163.02 127.781-15.322-13.176-34.934-20.53-55.157-20.53-46.271 0-83.962 37.69-83.962 83.961 0 7.354.92 15.015 3.065 22.369-42.9 20.225-70.785 63.738-70.785 111.234C6.216 424.843 61.68 480 129.401 480h381.198c67.72 0 123.184-55.157 123.184-123.184.001-56.384-38.916-106.025-94.073-119.508zM199.88 401.554c0 8.274-7.048 15.321-15.321 15.321H153.61c-8.274 0-15.321-7.048-15.321-15.321V290.626c0-8.273 7.048-15.321 15.321-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v110.928zm89.477 0c0 8.274-7.048 15.321-15.322 15.321h-30.949c-8.274 0-15.321-7.048-15.321-15.321V270.096c0-8.274 7.048-15.321 15.321-15.321h30.949c8.274 0 15.322 7.048 15.322 15.321v131.458zm89.477 0c0 8.274-7.047 15.321-15.321 15.321h-30.949c-8.274 0-15.322-7.048-15.322-15.321V238.84c0-8.274 7.048-15.321 15.322-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v162.714zm87.027 0c0 8.274-7.048 15.321-15.322 15.321h-28.497c-8.274 0-15.321-7.048-15.321-15.321V176.941c0-8.579 7.047-15.628 15.321-15.628h28.497c8.274 0 15.322 7.048 15.322 15.628v224.613z\"]\n};\nvar faServicestack = {\n prefix: 'fab',\n iconName: 'servicestack',\n icon: [496, 512, [], \"f3ec\", \"M88 216c81.7 10.2 273.7 102.3 304 232H0c99.5-8.1 184.5-137 88-232zm32-152c32.3 35.6 47.7 83.9 46.4 133.6C249.3 231.3 373.7 321.3 400 448h96C455.3 231.9 222.8 79.5 120 64z\"]\n};\nvar faShirtsinbulk = {\n prefix: 'fab',\n iconName: 'shirtsinbulk',\n icon: [448, 512, [], \"f214\", \"M100 410.3l30.6 13.4 4.4-9.9-30.6-13.4zm39.4 17.5l30.6 13.4 4.4-9.9-30.6-13.4zm172.1-14l4.4 9.9 30.6-13.4-4.4-9.9zM179.1 445l30.3 13.7 4.4-9.9-30.3-13.4zM60.4 392.8L91 406.2l4.4-9.6-30.6-13.7zm211.4 38.5l4.4 9.9 30.6-13.4-4.4-9.9zm-39.3 17.5l4.4 9.9 30.6-13.7-4.4-9.6zm118.4-52.2l4.4 9.6 30.6-13.4-4.4-9.9zM170 46.6h-33.5v10.5H170zm-47.2 0H89.2v10.5h33.5zm-47.3 0H42.3v10.5h33.3zm141.5 0h-33.2v10.5H217zm94.5 0H278v10.5h33.5zm47.3 0h-33.5v10.5h33.5zm-94.6 0H231v10.5h33.2zm141.5 0h-33.3v10.5h33.3zM52.8 351.1H42v33.5h10.8zm70-215.9H89.2v10.5h33.5zm-70 10.6h22.8v-10.5H42v33.5h10.8zm168.9 228.6c50.5 0 91.3-40.8 91.3-91.3 0-50.2-40.8-91.3-91.3-91.3-50.2 0-91.3 41.1-91.3 91.3 0 50.5 41.1 91.3 91.3 91.3zm-48.2-111.1c0-25.4 29.5-31.8 49.6-31.8 16.9 0 29.2 5.8 44.3 12l-8.8 16.9h-.9c-6.4-9.9-24.8-13.1-35.6-13.1-9 0-29.8 1.8-29.8 14.9 0 21.6 78.5-10.2 78.5 37.9 0 25.4-31.5 31.2-51 31.2-18.1 0-32.4-2.9-47.2-12.2l9-18.4h.9c6.1 12.2 23.6 14.9 35.9 14.9 8.7 0 32.7-1.2 32.7-14.3 0-26.1-77.6 6.3-77.6-38zM52.8 178.4H42V212h10.8zm342.4 206.2H406v-33.5h-10.8zM52.8 307.9H42v33.5h10.8zM0 3.7v406l221.7 98.6L448 409.7V3.7zm418.8 387.1L222 476.5 29.2 390.8V120.7h389.7v270.1zm0-299.3H29.2V32.9h389.7v58.6zm-366 130.1H42v33.5h10.8zm0 43.2H42v33.5h10.8zM170 135.2h-33.5v10.5H170zm225.2 163.1H406v-33.5h-10.8zm0-43.2H406v-33.5h-10.8zM217 135.2h-33.2v10.5H217zM395.2 212H406v-33.5h-10.8zm0 129.5H406V308h-10.8zm-131-206.3H231v10.5h33.2zm47.3 0H278v10.5h33.5zm83.7 33.6H406v-33.5h-33.5v10.5h22.8zm-36.4-33.6h-33.5v10.5h33.5z\"]\n};\nvar faShopify = {\n prefix: 'fab',\n iconName: 'shopify',\n icon: [448, 512, [], \"e057\", \"M388.32,104.1a4.66,4.66,0,0,0-4.4-4c-2,0-37.23-.8-37.23-.8s-21.61-20.82-29.62-28.83V503.2L442.76,472S388.72,106.5,388.32,104.1ZM288.65,70.47a116.67,116.67,0,0,0-7.21-17.61C271,32.85,255.42,22,237,22a15,15,0,0,0-4,.4c-.4-.8-1.2-1.2-1.6-2C223.4,11.63,213,7.63,200.58,8c-24,.8-48,18-67.25,48.83-13.61,21.62-24,48.84-26.82,70.06-27.62,8.4-46.83,14.41-47.23,14.81-14,4.4-14.41,4.8-16,18-1.2,10-38,291.82-38,291.82L307.86,504V65.67a41.66,41.66,0,0,0-4.4.4S297.86,67.67,288.65,70.47ZM233.41,87.69c-16,4.8-33.63,10.4-50.84,15.61,4.8-18.82,14.41-37.63,25.62-50,4.4-4.4,10.41-9.61,17.21-12.81C232.21,54.86,233.81,74.48,233.41,87.69ZM200.58,24.44A27.49,27.49,0,0,1,215,28c-6.4,3.2-12.81,8.41-18.81,14.41-15.21,16.42-26.82,42-31.62,66.45-14.42,4.41-28.83,8.81-42,12.81C131.33,83.28,163.75,25.24,200.58,24.44ZM154.15,244.61c1.6,25.61,69.25,31.22,73.25,91.66,2.8,47.64-25.22,80.06-65.65,82.47-48.83,3.2-75.65-25.62-75.65-25.62l10.4-44s26.82,20.42,48.44,18.82c14-.8,19.22-12.41,18.81-20.42-2-33.62-57.24-31.62-60.84-86.86-3.2-46.44,27.22-93.27,94.47-97.68,26-1.6,39.23,4.81,39.23,4.81L221.4,225.39s-17.21-8-37.63-6.4C154.15,221,153.75,239.8,154.15,244.61ZM249.42,82.88c0-12-1.6-29.22-7.21-43.63,18.42,3.6,27.22,24,31.23,36.43Q262.63,78.68,249.42,82.88Z\"]\n};\nvar faShopware = {\n prefix: 'fab',\n iconName: 'shopware',\n icon: [512, 512, [], \"f5b5\", \"M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z\"]\n};\nvar faSimplybuilt = {\n prefix: 'fab',\n iconName: 'simplybuilt',\n icon: [512, 512, [], \"f215\", \"M481.2 64h-106c-14.5 0-26.6 11.8-26.6 26.3v39.6H163.3V90.3c0-14.5-12-26.3-26.6-26.3h-106C16.1 64 4.3 75.8 4.3 90.3v331.4c0 14.5 11.8 26.3 26.6 26.3h450.4c14.8 0 26.6-11.8 26.6-26.3V90.3c-.2-14.5-12-26.3-26.7-26.3zM149.8 355.8c-36.6 0-66.4-29.7-66.4-66.4 0-36.9 29.7-66.6 66.4-66.6 36.9 0 66.6 29.7 66.6 66.6 0 36.7-29.7 66.4-66.6 66.4zm212.4 0c-36.9 0-66.6-29.7-66.6-66.6 0-36.6 29.7-66.4 66.6-66.4 36.6 0 66.4 29.7 66.4 66.4 0 36.9-29.8 66.6-66.4 66.6z\"]\n};\nvar faSistrix = {\n prefix: 'fab',\n iconName: 'sistrix',\n icon: [448, 512, [], \"f3ee\", \"M448 449L301.2 300.2c20-27.9 31.9-62.2 31.9-99.2 0-93.1-74.7-168.9-166.5-168.9C74.7 32 0 107.8 0 200.9s74.7 168.9 166.5 168.9c39.8 0 76.3-14.2 105-37.9l146 148.1 30.5-31zM166.5 330.8c-70.6 0-128.1-58.3-128.1-129.9S95.9 71 166.5 71s128.1 58.3 128.1 129.9-57.4 129.9-128.1 129.9z\"]\n};\nvar faSith = {\n prefix: 'fab',\n iconName: 'sith',\n icon: [448, 512, [], \"f512\", \"M0 32l69.71 118.75-58.86-11.52 69.84 91.03a146.741 146.741 0 0 0 0 51.45l-69.84 91.03 58.86-11.52L0 480l118.75-69.71-11.52 58.86 91.03-69.84c17.02 3.04 34.47 3.04 51.48 0l91.03 69.84-11.52-58.86L448 480l-69.71-118.78 58.86 11.52-69.84-91.03c3.03-17.01 3.04-34.44 0-51.45l69.84-91.03-58.86 11.52L448 32l-118.75 69.71 11.52-58.9-91.06 69.87c-8.5-1.52-17.1-2.29-25.71-2.29s-17.21.78-25.71 2.29l-91.06-69.87 11.52 58.9L0 32zm224 99.78c31.8 0 63.6 12.12 87.85 36.37 48.5 48.5 48.49 127.21 0 175.7s-127.2 48.46-175.7-.03c-48.5-48.5-48.49-127.21 0-175.7 24.24-24.25 56.05-36.34 87.85-36.34zm0 36.66c-22.42 0-44.83 8.52-61.92 25.61-34.18 34.18-34.19 89.68 0 123.87s89.65 34.18 123.84 0c34.18-34.18 34.19-89.68 0-123.87-17.09-17.09-39.5-25.61-61.92-25.61z\"]\n};\nvar faSketch = {\n prefix: 'fab',\n iconName: 'sketch',\n icon: [512, 512, [], \"f7c6\", \"M27.5 162.2L9 187.1h90.5l6.9-130.7-78.9 105.8zM396.3 45.7L267.7 32l135.7 147.2-7.1-133.5zM112.2 218.3l-11.2-22H9.9L234.8 458zm2-31.2h284l-81.5-88.5L256.3 33zm297.3 9.1L277.6 458l224.8-261.7h-90.9zM415.4 69L406 56.4l.9 17.3 6.1 113.4h90.3zM113.5 93.5l-4.6 85.6L244.7 32 116.1 45.7zm287.7 102.7h-290l42.4 82.9L256.3 480l144.9-283.8z\"]\n};\nvar faSkyatlas = {\n prefix: 'fab',\n iconName: 'skyatlas',\n icon: [640, 512, [], \"f216\", \"M640 329.3c0 65.9-52.5 114.4-117.5 114.4-165.9 0-196.6-249.7-359.7-249.7-146.9 0-147.1 212.2 5.6 212.2 42.5 0 90.9-17.8 125.3-42.5 5.6-4.1 16.9-16.3 22.8-16.3s10.9 5 10.9 10.9c0 7.8-13.1 19.1-18.7 24.1-40.9 35.6-100.3 61.2-154.7 61.2-83.4.1-154-59-154-144.9s67.5-149.1 152.8-149.1c185.3 0 222.5 245.9 361.9 245.9 99.9 0 94.8-139.7 3.4-139.7-17.5 0-35 11.6-46.9 11.6-8.4 0-15.9-7.2-15.9-15.6 0-11.6 5.3-23.7 5.3-36.3 0-66.6-50.9-114.7-116.9-114.7-53.1 0-80 36.9-88.8 36.9-6.2 0-11.2-5-11.2-11.2 0-5.6 4.1-10.3 7.8-14.4 25.3-28.8 64.7-43.7 102.8-43.7 79.4 0 139.1 58.4 139.1 137.8 0 6.9-.3 13.7-1.2 20.6 11.9-3.1 24.1-4.7 35.9-4.7 60.7 0 111.9 45.3 111.9 107.2z\"]\n};\nvar faSkype = {\n prefix: 'fab',\n iconName: 'skype',\n icon: [448, 512, [], \"f17e\", \"M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z\"]\n};\nvar faSlack = {\n prefix: 'fab',\n iconName: 'slack',\n icon: [448, 512, [], \"f198\", \"M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z\"]\n};\nvar faSlackHash = {\n prefix: 'fab',\n iconName: 'slack-hash',\n icon: [448, 512, [], \"f3ef\", \"M446.2 270.4c-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-30.3-90 45.4-15.1c19.1-6.2 29.1-26.8 23-45.9-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-93.4 31.2-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-45.3 15c-19.1 6.2-29.1 26.8-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l30.3 90L78 354.8c-19 6.2-29.1 26.9-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 93.6-31.3 15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 45.4-15.1c19-6 29.1-26.7 22.9-45.7zm-254.1 47.2l-30.3-90.2 93.5-31.3 30.3 90.2-93.5 31.3z\"]\n};\nvar faSlideshare = {\n prefix: 'fab',\n iconName: 'slideshare',\n icon: [512, 512, [], \"f1e7\", \"M187.7 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7zm143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7zm156.6 90l-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.6c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72C58.3 525.1 252 555.7 248.9 457.5c0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8zm-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z\"]\n};\nvar faSnapchat = {\n prefix: 'fab',\n iconName: 'snapchat',\n icon: [496, 512, [], \"f2ab\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm169.5 338.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C183.1 100 230.7 96 244.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z\"]\n};\nvar faSnapchatGhost = {\n prefix: 'fab',\n iconName: 'snapchat-ghost',\n icon: [512, 512, [], \"f2ac\", \"M510.846 392.673c-5.211 12.157-27.239 21.089-67.36 27.318-2.064 2.786-3.775 14.686-6.507 23.956-1.625 5.566-5.623 8.869-12.128 8.869l-.297-.005c-9.395 0-19.203-4.323-38.852-4.323-26.521 0-35.662 6.043-56.254 20.588-21.832 15.438-42.771 28.764-74.027 27.399-31.646 2.334-58.025-16.908-72.871-27.404-20.714-14.643-29.828-20.582-56.241-20.582-18.864 0-30.736 4.72-38.852 4.72-8.073 0-11.213-4.922-12.422-9.04-2.703-9.189-4.404-21.263-6.523-24.13-20.679-3.209-67.31-11.344-68.498-32.15a10.627 10.627 0 0 1 8.877-11.069c69.583-11.455 100.924-82.901 102.227-85.934.074-.176.155-.344.237-.515 3.713-7.537 4.544-13.849 2.463-18.753-5.05-11.896-26.872-16.164-36.053-19.796-23.715-9.366-27.015-20.128-25.612-27.504 2.437-12.836 21.725-20.735 33.002-15.453 8.919 4.181 16.843 6.297 23.547 6.297 5.022 0 8.212-1.204 9.96-2.171-2.043-35.936-7.101-87.29 5.687-115.969C158.122 21.304 229.705 15.42 250.826 15.42c.944 0 9.141-.089 10.11-.089 52.148 0 102.254 26.78 126.723 81.643 12.777 28.65 7.749 79.792 5.695 116.009 1.582.872 4.357 1.942 8.599 2.139 6.397-.286 13.815-2.389 22.069-6.257 6.085-2.846 14.406-2.461 20.48.058l.029.01c9.476 3.385 15.439 10.215 15.589 17.87.184 9.747-8.522 18.165-25.878 25.018-2.118.835-4.694 1.655-7.434 2.525-9.797 3.106-24.6 7.805-28.616 17.271-2.079 4.904-1.256 11.211 2.46 18.748.087.168.166.342.239.515 1.301 3.03 32.615 74.46 102.23 85.934 6.427 1.058 11.163 7.877 7.725 15.859z\"]\n};\nvar faSnapchatSquare = {\n prefix: 'fab',\n iconName: 'snapchat-square',\n icon: [448, 512, [], \"f2ad\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6.5 314.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C159.1 100 206.7 96 220.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z\"]\n};\nvar faSoundcloud = {\n prefix: 'fab',\n iconName: 'soundcloud',\n icon: [640, 512, [], \"f1be\", \"M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z\"]\n};\nvar faSourcetree = {\n prefix: 'fab',\n iconName: 'sourcetree',\n icon: [448, 512, [], \"f7d3\", \"M427.2 203c0-112.1-90.9-203-203-203C112.1-.2 21.2 90.6 21 202.6A202.86 202.86 0 0 0 161.5 396v101.7a14.3 14.3 0 0 0 14.3 14.3h96.4a14.3 14.3 0 0 0 14.3-14.3V396.1A203.18 203.18 0 0 0 427.2 203zm-271.6 0c0-90.8 137.3-90.8 137.3 0-.1 89.9-137.3 91-137.3 0z\"]\n};\nvar faSpeakap = {\n prefix: 'fab',\n iconName: 'speakap',\n icon: [448, 512, [], \"f3f3\", \"M64 391.78C-15.41 303.59-8 167.42 80.64 87.64s224.8-73 304.21 15.24 72 224.36-16.64 304.14c-18.74 16.87 64 43.09 42 52.26-82.06 34.21-253.91 35-346.23-67.5zm213.31-211.6l38.5-40.86c-9.61-8.89-32-26.83-76.17-27.6-52.33-.91-95.86 28.3-96.77 80-.2 11.33.29 36.72 29.42 54.83 34.46 21.42 86.52 21.51 86 52.26-.37 21.28-26.42 25.81-38.59 25.6-3-.05-30.23-.46-47.61-24.62l-40 42.61c28.16 27 59 32.62 83.49 33.05 10.23.18 96.42.33 97.84-81 .28-15.81-2.07-39.72-28.86-56.59-34.36-21.64-85-19.45-84.43-49.75.41-23.25 31-25.37 37.53-25.26.43 0 26.62.26 39.62 17.37z\"]\n};\nvar faSpeakerDeck = {\n prefix: 'fab',\n iconName: 'speaker-deck',\n icon: [512, 512, [], \"f83c\", \"M213.86 296H100a100 100 0 0 1 0-200h132.84a40 40 0 0 1 0 80H98c-26.47 0-26.45 40 0 40h113.82a100 100 0 0 1 0 200H40a40 40 0 0 1 0-80h173.86c26.48 0 26.46-40 0-40zM298 416a120.21 120.21 0 0 0 51.11-80h64.55a19.83 19.83 0 0 0 19.66-20V196a19.83 19.83 0 0 0-19.66-20H296.42a60.77 60.77 0 0 0 0-80h136.93c43.44 0 78.65 35.82 78.65 80v160c0 44.18-35.21 80-78.65 80z\"]\n};\nvar faSpotify = {\n prefix: 'fab',\n iconName: 'spotify',\n icon: [496, 512, [], \"f1bc\", \"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z\"]\n};\nvar faSquarespace = {\n prefix: 'fab',\n iconName: 'squarespace',\n icon: [512, 512, [], \"f5be\", \"M186.12 343.34c-9.65 9.65-9.65 25.29 0 34.94 9.65 9.65 25.29 9.65 34.94 0L378.24 221.1c19.29-19.29 50.57-19.29 69.86 0s19.29 50.57 0 69.86L293.95 445.1c19.27 19.29 50.53 19.31 69.82.04l.04-.04 119.25-119.24c38.59-38.59 38.59-101.14 0-139.72-38.59-38.59-101.15-38.59-139.72 0l-157.22 157.2zm244.53-104.8c-9.65-9.65-25.29-9.65-34.93 0l-157.2 157.18c-19.27 19.29-50.53 19.31-69.82.05l-.05-.05c-9.64-9.64-25.27-9.65-34.92-.01l-.01.01c-9.65 9.64-9.66 25.28-.02 34.93l.02.02c38.58 38.57 101.14 38.57 139.72 0l157.2-157.2c9.65-9.65 9.65-25.29.01-34.93zm-261.99 87.33l157.18-157.18c9.64-9.65 9.64-25.29 0-34.94-9.64-9.64-25.27-9.64-34.91 0L133.72 290.93c-19.28 19.29-50.56 19.3-69.85.01l-.01-.01c-19.29-19.28-19.31-50.54-.03-69.84l.03-.03L218.03 66.89c-19.28-19.29-50.55-19.3-69.85-.02l-.02.02L28.93 186.14c-38.58 38.59-38.58 101.14 0 139.72 38.6 38.59 101.13 38.59 139.73.01zm-87.33-52.4c9.64 9.64 25.27 9.64 34.91 0l157.21-157.19c19.28-19.29 50.55-19.3 69.84-.02l.02.02c9.65 9.65 25.29 9.65 34.93 0 9.65-9.65 9.65-25.29 0-34.93-38.59-38.59-101.13-38.59-139.72 0L81.33 238.54c-9.65 9.64-9.65 25.28-.01 34.93h.01z\"]\n};\nvar faStackExchange = {\n prefix: 'fab',\n iconName: 'stack-exchange',\n icon: [448, 512, [], \"f18d\", \"M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z\"]\n};\nvar faStackOverflow = {\n prefix: 'fab',\n iconName: 'stack-overflow',\n icon: [384, 512, [], \"f16c\", \"M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z\"]\n};\nvar faStackpath = {\n prefix: 'fab',\n iconName: 'stackpath',\n icon: [448, 512, [], \"f842\", \"M244.6 232.4c0 8.5-4.26 20.49-21.34 20.49h-19.61v-41.47h19.61c17.13 0 21.34 12.36 21.34 20.98zM448 32v448H0V32zM151.3 287.84c0-21.24-12.12-34.54-46.72-44.85-20.57-7.41-26-10.91-26-18.63s7-14.61 20.41-14.61c14.09 0 20.79 8.45 20.79 18.35h30.7l.19-.57c.5-19.57-15.06-41.65-51.12-41.65-23.37 0-52.55 10.75-52.55 38.29 0 19.4 9.25 31.29 50.74 44.37 17.26 6.15 21.91 10.4 21.91 19.48 0 15.2-19.13 14.23-19.47 14.23-20.4 0-25.65-9.1-25.65-21.9h-30.8l-.18.56c-.68 31.32 28.38 45.22 56.63 45.22 29.98 0 51.12-13.55 51.12-38.29zm125.38-55.63c0-25.3-18.43-45.46-53.42-45.46h-51.78v138.18h32.17v-47.36h19.61c30.25 0 53.42-15.95 53.42-45.36zM297.94 325L347 186.78h-31.09L268 325zm106.52-138.22h-31.09L325.46 325h29.94z\"]\n};\nvar faStaylinked = {\n prefix: 'fab',\n iconName: 'staylinked',\n icon: [440, 512, [], \"f3f5\", \"M382.7 292.5l2.7 2.7-170-167.3c-3.5-3.5-9.7-3.7-13.8-.5L144.3 171c-4.2 3.2-4.6 8.7-1.1 12.2l68.1 64.3c3.6 3.5 9.9 3.7 14 .5l.1-.1c4.1-3.2 10.4-3 14 .5l84 81.3c3.6 3.5 3.2 9-.9 12.2l-93.2 74c-4.2 3.3-10.5 3.1-14.2-.4L63.2 268c-3.5-3.5-9.7-3.7-13.9-.5L3.5 302.4c-4.2 3.2-4.7 8.7-1.2 12.2L211 510.7s7.4 6.8 17.3-.8l198-163.9c4-3.2 4.4-8.7.7-12.2zm54.5-83.4L226.7 2.5c-1.5-1.2-8-5.5-16.3 1.1L3.6 165.7c-4.2 3.2-4.8 8.7-1.2 12.2l42.3 41.7 171.7 165.1c3.7 3.5 10.1 3.7 14.3.4l50.2-38.8-.3-.3 7.7-6c4.2-3.2 4.6-8.7.9-12.2l-57.1-54.4c-3.6-3.5-10-3.7-14.2-.5l-.1.1c-4.2 3.2-10.5 3.1-14.2-.4L109 180.8c-3.6-3.5-3.1-8.9 1.1-12.2l92.2-71.5c4.1-3.2 10.3-3 13.9.5l160.4 159c3.7 3.5 10 3.7 14.1.5l45.8-35.8c4.1-3.2 4.4-8.7.7-12.2z\"]\n};\nvar faSteam = {\n prefix: 'fab',\n iconName: 'steam',\n icon: [496, 512, [], \"f1b6\", \"M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z\"]\n};\nvar faSteamSquare = {\n prefix: 'fab',\n iconName: 'steam-square',\n icon: [448, 512, [], \"f1b7\", \"M185.2 356.5c7.7-18.5-1-39.7-19.6-47.4l-29.5-12.2c11.4-4.3 24.3-4.5 36.4.5 12.2 5.1 21.6 14.6 26.7 26.7 5 12.2 5 25.6-.1 37.7-10.5 25.1-39.4 37-64.6 26.5-11.6-4.8-20.4-13.6-25.4-24.2l28.5 11.8c18.6 7.8 39.9-.9 47.6-19.4zM400 32H48C21.5 32 0 53.5 0 80v160.7l116.6 48.1c12-8.2 26.2-12.1 40.7-11.3l55.4-80.2v-1.1c0-48.2 39.3-87.5 87.6-87.5s87.6 39.3 87.6 87.5c0 49.2-40.9 88.7-89.6 87.5l-79 56.3c1.6 38.5-29.1 68.8-65.7 68.8-31.8 0-58.5-22.7-64.5-52.7L0 319.2V432c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-99.7 222.5c-32.2 0-58.4-26.1-58.4-58.3s26.2-58.3 58.4-58.3 58.4 26.2 58.4 58.3-26.2 58.3-58.4 58.3zm.1-14.6c24.2 0 43.9-19.6 43.9-43.8 0-24.2-19.6-43.8-43.9-43.8-24.2 0-43.9 19.6-43.9 43.8 0 24.2 19.7 43.8 43.9 43.8z\"]\n};\nvar faSteamSymbol = {\n prefix: 'fab',\n iconName: 'steam-symbol',\n icon: [448, 512, [], \"f3f6\", \"M395.5 177.5c0 33.8-27.5 61-61 61-33.8 0-61-27.3-61-61s27.3-61 61-61c33.5 0 61 27.2 61 61zm52.5.2c0 63-51 113.8-113.7 113.8L225 371.3c-4 43-40.5 76.8-84.5 76.8-40.5 0-74.7-28.8-83-67L0 358V250.7L97.2 290c15.1-9.2 32.2-13.3 52-11.5l71-101.7c.5-62.3 51.5-112.8 114-112.8C397 64 448 115 448 177.7zM203 363c0-34.7-27.8-62.5-62.5-62.5-4.5 0-9 .5-13.5 1.5l26 10.5c25.5 10.2 38 39 27.7 64.5-10.2 25.5-39.2 38-64.7 27.5-10.2-4-20.5-8.3-30.7-12.2 10.5 19.7 31.2 33.2 55.2 33.2 34.7 0 62.5-27.8 62.5-62.5zm207.5-185.3c0-42-34.3-76.2-76.2-76.2-42.3 0-76.5 34.2-76.5 76.2 0 42.2 34.3 76.2 76.5 76.2 41.9.1 76.2-33.9 76.2-76.2z\"]\n};\nvar faStickerMule = {\n prefix: 'fab',\n iconName: 'sticker-mule',\n icon: [576, 512, [], \"f3f7\", \"M561.7 199.6c-1.3.3.3 0 0 0zm-6.2-77.4c-7.7-22.3-5.1-7.2-13.4-36.9-1.6-6.5-3.6-14.5-6.2-20-4.4-8.7-4.6-7.5-4.6-9.5 0-5.3 30.7-45.3 19-46.9-5.7-.6-12.2 11.6-20.6 17-8.6 4.2-8 5-10.3 5-2.6 0-5.7-3-6.2-5-2-5.7 1.9-25.9-3.6-25.9-3.6 0-12.3 24.8-17 25.8-5.2 1.3-27.9-11.4-75.1 18-25.3 13.2-86.9 65.2-87 65.3-6.7 4.7-20 4.7-35.5 16-44.4 30.1-109.6 9.4-110.7 9-110.6-26.8-128-15.2-159 11.5-20.8 17.9-23.7 36.5-24.2 38.9-4.2 20.4 5.2 48.3 6.7 64.3 1.8 19.3-2.7 17.7 7.7 98.3.5 1 4.1 0 5.1 1.5 0 8.4-3.8 12.1-4.1 13-1.5 4.5-1.5 10.5 0 16 2.3 8.2 8.2 37.2 8.2 46.9 0 41.8.4 44 2.6 49.4 3.9 10 12.5 9.1 17 12 3.1 3.5-.5 8.5 1 12.5.5 2 3.6 4 6.2 5 9.2 3.6 27 .3 29.9-2.5 1.6-1.5.5-4.5 3.1-5 5.1 0 10.8-.5 14.4-2.5 5.1-2.5 4.1-6 1.5-10.5-.4-.8-7-13.3-9.8-16-2.1-2-5.1-3-7.2-4.5-5.8-4.9-10.3-19.4-10.3-19.5-4.6-19.4-10.3-46.3-4.1-66.8 4.6-17.2 39.5-87.7 39.6-87.8 4.1-6.5 17-11.5 27.3-7 6 1.9 19.3 22 65.4 30.9 47.9 8.7 97.4-2 112.2-2 2.8 2-1.9 13-.5 38.9 0 26.4-.4 13.7-4.1 29.9-2.2 9.7 3.4 23.2-1.5 46.9-1.4 9.8-9.9 32.7-8.2 43.4.5 1 1 2 1.5 3.5.5 4.5 1.5 8.5 4.6 10 7.3 3.6 12-3.5 9.8 11.5-.7 3.1-2.6 12 1.5 15 4.4 3.7 30.6 3.4 36.5.5 2.6-1.5 1.6-4.5 6.4-7.4 1.9-.9 11.3-.4 11.3-6.5.3-1.8-9.2-19.9-9.3-20-2.6-3.5-9.2-4.5-11.3-8-6.9-10.1-1.7-52.6.5-59.4 3-11 5.6-22.4 8.7-32.4 11-42.5 10.3-50.6 16.5-68.3.8-1.8 6.4-23.1 10.3-29.9 9.3-17 21.7-32.4 33.5-47.4 18-22.9 34-46.9 52-69.8 6.1-7 8.2-13.7 18-8 10.8 5.7 21.6 7 31.9 17 14.6 12.8 10.2 18.2 11.8 22.9 1.5 5 7.7 10.5 14.9 9.5 10.4-2 13-2.5 13.4-2.5 2.6-.5 5.7-5 7.2-8 3.1-5.5 7.2-9 7.2-16.5 0-7.7-.4-2.8-20.6-52.9z\"]\n};\nvar faStrava = {\n prefix: 'fab',\n iconName: 'strava',\n icon: [384, 512, [], \"f428\", \"M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z\"]\n};\nvar faStripe = {\n prefix: 'fab',\n iconName: 'stripe',\n icon: [640, 512, [], \"f429\", \"M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z\"]\n};\nvar faStripeS = {\n prefix: 'fab',\n iconName: 'stripe-s',\n icon: [384, 512, [], \"f42a\", \"M155.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C298.3 7.2 251.1 0 203.8 0 88.1 0 11 60.4 11 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5a396.09 396.09 0 0 0 156 32.4c118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9z\"]\n};\nvar faStudiovinari = {\n prefix: 'fab',\n iconName: 'studiovinari',\n icon: [512, 512, [], \"f3f8\", \"M480.3 187.7l4.2 28v28l-25.1 44.1-39.8 78.4-56.1 67.5-79.1 37.8-17.7 24.5-7.7 12-9.6 4s17.3-63.6 19.4-63.6c2.1 0 20.3.7 20.3.7l66.7-38.6-92.5 26.1-55.9 36.8-22.8 28-6.6 1.4 20.8-73.6 6.9-5.5 20.7 12.9 88.3-45.2 56.8-51.5 14.8-68.4-125.4 23.3 15.2-18.2-173.4-53.3 81.9-10.5-166-122.9L133.5 108 32.2 0l252.9 126.6-31.5-38L378 163 234.7 64l18.7 38.4-49.6-18.1L158.3 0l194.6 122L310 66.2l108 96.4 12-8.9-21-16.4 4.2-37.8L451 89.1l29.2 24.7 11.5 4.2-7 6.2 8.5 12-13.1 7.4-10.3 20.2 10.5 23.9z\"]\n};\nvar faStumbleupon = {\n prefix: 'fab',\n iconName: 'stumbleupon',\n icon: [512, 512, [], \"f1a4\", \"M502.9 266v69.7c0 62.1-50.3 112.4-112.4 112.4-61.8 0-112.4-49.8-112.4-111.3v-70.2l34.3 16 51.1-15.2V338c0 14.7 12 26.5 26.7 26.5S417 352.7 417 338v-72h85.9zm-224.7-58.2l34.3 16 51.1-15.2V173c0-60.5-51.1-109-112.1-109-60.8 0-112.1 48.2-112.1 108.2v162.4c0 14.9-12 26.7-26.7 26.7S86 349.5 86 334.6V266H0v69.7C0 397.7 50.3 448 112.4 448c61.6 0 112.4-49.5 112.4-110.8V176.9c0-14.7 12-26.7 26.7-26.7s26.7 12 26.7 26.7v30.9z\"]\n};\nvar faStumbleuponCircle = {\n prefix: 'fab',\n iconName: 'stumbleupon-circle',\n icon: [496, 512, [], \"f1a3\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 177.5c-9.8 0-17.8 8-17.8 17.8v106.9c0 40.9-33.9 73.9-74.9 73.9-41.4 0-74.9-33.5-74.9-74.9v-46.5h57.3v45.8c0 10 8 17.8 17.8 17.8s17.8-7.9 17.8-17.8V200.1c0-40 34.2-72.1 74.7-72.1 40.7 0 74.7 32.3 74.7 72.6v23.7l-34.1 10.1-22.9-10.7v-20.6c.1-9.6-7.9-17.6-17.7-17.6zm167.6 123.6c0 41.4-33.5 74.9-74.9 74.9-41.2 0-74.9-33.2-74.9-74.2V263l22.9 10.7 34.1-10.1v47.1c0 9.8 8 17.6 17.8 17.6s17.8-7.9 17.8-17.6v-48h57.3c-.1 45.9-.1 46.4-.1 46.4z\"]\n};\nvar faSuperpowers = {\n prefix: 'fab',\n iconName: 'superpowers',\n icon: [448, 512, [], \"f2dd\", \"M448 32c-83.3 11-166.8 22-250 33-92 12.5-163.3 86.7-169 180-3.3 55.5 18 109.5 57.8 148.2L0 480c83.3-11 166.5-22 249.8-33 91.8-12.5 163.3-86.8 168.7-179.8 3.5-55.5-18-109.5-57.7-148.2L448 32zm-79.7 232.3c-4.2 79.5-74 139.2-152.8 134.5-79.5-4.7-140.7-71-136.3-151 4.5-79.2 74.3-139.3 153-134.5 79.3 4.7 140.5 71 136.1 151z\"]\n};\nvar faSupple = {\n prefix: 'fab',\n iconName: 'supple',\n icon: [640, 512, [], \"f3f9\", \"M640 262.5c0 64.1-109 116.1-243.5 116.1-24.8 0-48.6-1.8-71.1-5 7.7.4 15.5.6 23.4.6 134.5 0 243.5-56.9 243.5-127.1 0-29.4-19.1-56.4-51.2-78 60 21.1 98.9 55.1 98.9 93.4zM47.7 227.9c-.1-70.2 108.8-127.3 243.3-127.6 7.9 0 15.6.2 23.3.5-22.5-3.2-46.3-4.9-71-4.9C108.8 96.3-.1 148.5 0 212.6c.1 38.3 39.1 72.3 99.3 93.3-32.3-21.5-51.5-48.6-51.6-78zm60.2 39.9s10.5 13.2 29.3 13.2c17.9 0 28.4-11.5 28.4-25.1 0-28-40.2-25.1-40.2-39.7 0-5.4 5.3-9.1 12.5-9.1 5.7 0 11.3 2.6 11.3 6.6v3.9h14.2v-7.9c0-12.1-15.4-16.8-25.4-16.8-16.5 0-28.5 10.2-28.5 24.1 0 26.6 40.2 25.4 40.2 39.9 0 6.6-5.8 10.1-12.3 10.1-11.9 0-20.7-10.1-20.7-10.1l-8.8 10.9zm120.8-73.6v54.4c0 11.3-7.1 17.8-17.8 17.8-10.7 0-17.8-6.5-17.8-17.7v-54.5h-15.8v55c0 18.9 13.4 31.9 33.7 31.9 20.1 0 33.4-13 33.4-31.9v-55h-15.7zm34.4 85.4h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.8-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5.1 14.7-14 14.7h-12.6zm57 43h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.7-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5 14.7-14 14.7h-12.6zm57.1 34.8c0 5.8 2.4 8.2 8.2 8.2h37.6c5.8 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-18.6c-1.7 0-2.6-1-2.6-2.6v-61.2c0-5.7-2.4-8.2-8.2-8.2H401v13.4h5.2c1.7 0 2.6 1 2.6 2.6v61.2zm63.4 0c0 5.8 2.4 8.2 8.2 8.2H519c5.7 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-19.7c-1.7 0-2.6-1-2.6-2.6v-20.3h27.7v-13.4H488v-22.4h19.2c1.7 0 2.6 1 2.6 2.6v5.2H524v-13c0-5.7-2.5-8.2-8.2-8.2h-51.6v13.4h7.8v63.9zm58.9-76v5.9h1.6v-5.9h2.7v-1.2h-7v1.2h2.7zm5.7-1.2v7.1h1.5v-5.7l2.3 5.7h1.3l2.3-5.7v5.7h1.5v-7.1h-2.3l-2.1 5.1-2.1-5.1h-2.4z\"]\n};\nvar faSuse = {\n prefix: 'fab',\n iconName: 'suse',\n icon: [640, 512, [], \"f7d6\", \"M471.08 102.66s-.3 18.3-.3 20.3c-9.1-3-74.4-24.1-135.7-26.3-51.9-1.8-122.8-4.3-223 57.3-19.4 12.4-73.9 46.1-99.6 109.7C7 277-.12 307 7 335.06a111 111 0 0 0 16.5 35.7c17.4 25 46.6 41.6 78.1 44.4 44.4 3.9 78.1-16 90-53.3 8.2-25.8 0-63.6-31.5-82.9-25.6-15.7-53.3-12.1-69.2-1.6-13.9 9.2-21.8 23.5-21.6 39.2.3 27.8 24.3 42.6 41.5 42.6a49 49 0 0 0 15.8-2.7c6.5-1.8 13.3-6.5 13.3-14.9 0-12.1-11.6-14.8-16.8-13.9-2.9.5-4.5 2-11.8 2.4-2-.2-12-3.1-12-14V316c.2-12.3 13.2-18 25.5-16.9 32.3 2.8 47.7 40.7 28.5 65.7-18.3 23.7-76.6 23.2-99.7-20.4-26-49.2 12.7-111.2 87-98.4 33.2 5.7 83.6 35.5 102.4 104.3h45.9c-5.7-17.6-8.9-68.3 42.7-68.3 56.7 0 63.9 39.9 79.8 68.3H460c-12.8-18.3-21.7-38.7-18.9-55.8 5.6-33.8 39.7-18.4 82.4-17.4 66.5.4 102.1-27 103.1-28 3.7-3.1 6.5-15.8 7-17.7 1.3-5.1-3.2-2.4-3.2-2.4-8.7 5.2-30.5 15.2-50.9 15.6-25.3.5-76.2-25.4-81.6-28.2-.3-.4.1 1.2-11-25.5 88.4 58.3 118.3 40.5 145.2 21.7.8-.6 4.3-2.9 3.6-5.7-13.8-48.1-22.4-62.7-34.5-69.6-37-21.6-125-34.7-129.2-35.3.1-.1-.9-.3-.9.7zm60.4 72.8a37.54 37.54 0 0 1 38.9-36.3c33.4 1.2 48.8 42.3 24.4 65.2-24.2 22.7-64.4 4.6-63.3-28.9zm38.6-25.3a26.27 26.27 0 1 0 25.4 27.2 26.19 26.19 0 0 0-25.4-27.2zm4.3 28.8c-15.4 0-15.4-15.6 0-15.6s15.4 15.64 0 15.64z\"]\n};\nvar faSwift = {\n prefix: 'fab',\n iconName: 'swift',\n icon: [448, 512, [], \"f8e1\", \"M448 156.09c0-4.51-.08-9-.2-13.52a196.31 196.31 0 0 0-2.58-29.42 99.62 99.62 0 0 0-9.22-28A94.08 94.08 0 0 0 394.84 44a99.17 99.17 0 0 0-28-9.22 195 195 0 0 0-29.43-2.59c-4.51-.12-9-.17-13.52-.2H124.14c-4.51 0-9 .08-13.52.2-2.45.07-4.91.15-7.37.27a171.68 171.68 0 0 0-22.06 2.32 103.06 103.06 0 0 0-21.21 6.1q-3.46 1.45-6.81 3.12a94.66 94.66 0 0 0-18.39 12.32c-1.88 1.61-3.69 3.28-5.43 5A93.86 93.86 0 0 0 12 85.17a99.45 99.45 0 0 0-9.22 28 196.31 196.31 0 0 0-2.54 29.4c-.13 4.51-.18 9-.21 13.52v199.83c0 4.51.08 9 .21 13.51a196.08 196.08 0 0 0 2.58 29.42 99.3 99.3 0 0 0 9.22 28A94.31 94.31 0 0 0 53.17 468a99.47 99.47 0 0 0 28 9.21 195 195 0 0 0 29.43 2.59c4.5.12 9 .17 13.52.2H323.91c4.51 0 9-.08 13.52-.2a196.59 196.59 0 0 0 29.44-2.59 99.57 99.57 0 0 0 28-9.21A94.22 94.22 0 0 0 436 426.84a99.3 99.3 0 0 0 9.22-28 194.79 194.79 0 0 0 2.59-29.42c.12-4.5.17-9 .2-13.51V172.14c-.01-5.35-.01-10.7-.01-16.05zm-69.88 241c-20-38.93-57.23-29.27-76.31-19.47-1.72 1-3.48 2-5.25 3l-.42.25c-39.5 21-92.53 22.54-145.85-.38A234.64 234.64 0 0 1 45 290.12a230.63 230.63 0 0 0 39.17 23.37c56.36 26.4 113 24.49 153 0-57-43.85-104.6-101-141.09-147.22a197.09 197.09 0 0 1-18.78-25.9c43.7 40 112.7 90.22 137.48 104.12-52.57-55.49-98.89-123.94-96.72-121.74 82.79 83.42 159.18 130.59 159.18 130.59 2.88 1.58 5 2.85 6.73 4a127.44 127.44 0 0 0 4.16-12.47c13.22-48.33-1.66-103.58-35.31-149.2C329.61 141.75 375 229.34 356.4 303.42c-.44 1.73-.95 3.4-1.44 5.09 38.52 47.4 28.04 98.17 23.13 88.59z\"]\n};\nvar faSymfony = {\n prefix: 'fab',\n iconName: 'symfony',\n icon: [512, 512, [], \"f83d\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm133.74 143.54c-11.47.41-19.4-6.45-19.77-16.87-.27-9.18 6.68-13.44 6.53-18.85-.23-6.55-10.16-6.82-12.87-6.67-39.78 1.29-48.59 57-58.89 113.85 21.43 3.15 36.65-.72 45.14-6.22 12-7.75-3.34-15.72-1.42-24.56 4-18.16 32.55-19 32 5.3-.36 17.86-25.92 41.81-77.6 35.7-10.76 59.52-18.35 115-58.2 161.72-29 34.46-58.4 39.82-71.58 40.26-24.65.85-41-12.31-41.58-29.84-.56-17 14.45-26.26 24.31-26.59 21.89-.75 30.12 25.67 14.88 34-12.09 9.71.11 12.61 2.05 12.55 10.42-.36 17.34-5.51 22.18-9 24-20 33.24-54.86 45.35-118.35 8.19-49.66 17-78 18.23-82-16.93-12.75-27.08-28.55-49.85-34.72-15.61-4.23-25.12-.63-31.81 7.83-7.92 10-5.29 23 2.37 30.7l12.63 14c15.51 17.93 24 31.87 20.8 50.62-5.06 29.93-40.72 52.9-82.88 39.94-36-11.11-42.7-36.56-38.38-50.62 7.51-24.15 42.36-11.72 34.62 13.6-2.79 8.6-4.92 8.68-6.28 13.07-4.56 14.77 41.85 28.4 51-1.39 4.47-14.52-5.3-21.71-22.25-39.85-28.47-31.75-16-65.49 2.95-79.67C204.23 140.13 251.94 197 262 205.29c37.17-109 100.53-105.46 102.43-105.53 25.16-.81 44.19 10.59 44.83 28.65.25 7.69-4.17 22.59-19.52 23.13z\"]\n};\nvar faTeamspeak = {\n prefix: 'fab',\n iconName: 'teamspeak',\n icon: [512, 512, [], \"f4f9\", \"M244.2 346.79c2.4-12.3-12-30-32.4-48.7-20.9-19.2-48.2-39.1-63.4-46.6-21.7-12-41.7-1.8-46.3 22.7-5 26.2 0 51.4 14.5 73.9 10.2 15.5 25.4 22.7 43.4 24 11.6.6 52.5 2.2 61.7-1 11.9-4.3 20.1-11.8 22.5-24.3zm205 20.8a5.22 5.22 0 0 0-8.3 2.4c-8 25.4-44.7 112.5-172.1 121.5-149.7 10.5 80.3 43.6 145.4-6.4 22.7-17.4 47.6-35 46.6-85.4-.4-10.1-4.9-26.69-11.6-32.1zm62-122.4c-.3-18.9-8.6-33.4-26-42.2-2.9-1.3-5-2.7-5.9-6.4A222.64 222.64 0 0 0 438.9 103c-1.1-1.5-3.5-3.2-2.2-5 8.5-11.5-.3-18-7-24.4Q321.4-31.11 177.4 13.09c-40.1 12.3-73.9 35.6-102 67.4-4 4.3-6.7 9.1-3 14.5 3 4 1.3 6.2-1 9.3C51.6 132 38.2 162.59 32.1 196c-.7 4.3-2.9 6-6.4 7.8-14.2 7-22.5 18.5-24.9 34L0 264.29v20.9c0 30.8 21 50.4 51.8 49 7.7-.3 11.7-4.3 12-11.5 2-77.5-2.4-95.4 3.7-125.8C92.1 72.39 234.3 5 345.3 65.39 411.4 102 445.7 159 447.6 234.79c.8 28.2 0 56.5 0 84.6 0 7 2.2 12.5 9.4 14.2 24.1 5 49.2-12 53.2-36.7 2.9-17.1 1-34.5 1-51.7zm-159.6 131.5c36.5 2.8 59.3-28.5 58.4-60.5-2.1-45.2-66.2-16.5-87.8-8-73.2 28.1-45 54.9-22.2 60.8z\"]\n};\nvar faTelegram = {\n prefix: 'fab',\n iconName: 'telegram',\n icon: [496, 512, [], \"f2c6\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z\"]\n};\nvar faTelegramPlane = {\n prefix: 'fab',\n iconName: 'telegram-plane',\n icon: [448, 512, [], \"f3fe\", \"M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z\"]\n};\nvar faTencentWeibo = {\n prefix: 'fab',\n iconName: 'tencent-weibo',\n icon: [384, 512, [], \"f1d5\", \"M72.3 495.8c1.4 19.9-27.6 22.2-29.7 2.9C31 368.8 73.7 259.2 144 185.5c-15.6-34 9.2-77.1 50.6-77.1 30.3 0 55.1 24.6 55.1 55.1 0 44-49.5 70.8-86.9 45.1-65.7 71.3-101.4 169.8-90.5 287.2zM192 .1C66.1.1-12.3 134.3 43.7 242.4 52.4 259.8 79 246.9 70 229 23.7 136.4 91 29.8 192 29.8c75.4 0 136.9 61.4 136.9 136.9 0 90.8-86.9 153.9-167.7 133.1-19.1-4.1-25.6 24.4-6.6 29.1 110.7 23.2 204-60 204-162.3C358.6 74.7 284 .1 192 .1z\"]\n};\nvar faTheRedYeti = {\n prefix: 'fab',\n iconName: 'the-red-yeti',\n icon: [512, 512, [], \"f69d\", \"M488.23 241.7l20.7 7.1c-9.6-23.9-23.9-37-31.7-44.8l7.1-18.2c.2 0 12.3-27.8-2.5-30.7-.6-11.3-6.6-27-18.4-27-7.6-10.6-17.7-12.3-30.7-5.9a122.2 122.2 0 0 0-25.3 16.5c-5.3-6.4-3 .4-3-29.8-37.1-24.3-45.4-11.7-74.8 3l.5.5a239.36 239.36 0 0 0-68.4-13.3c-5.5-8.7-18.6-19.1-25.1-25.1l24.8 7.1c-5.5-5.5-26.8-12.9-34.2-15.2 18.2-4.1 29.8-20.8 42.5-33-34.9-10.1-67.9-5.9-97.9 11.8l12-44.2L182 0c-31.6 24.2-33 41.9-33.7 45.5-.9-2.4-6.3-19.6-15.2-27a35.12 35.12 0 0 0-.5 25.3c3 8.4 5.9 14.8 8.4 18.9-16-3.3-28.3-4.9-49.2 0h-3.7l33 14.3a194.26 194.26 0 0 0-46.7 67.4l-1.7 8.4 1.7 1.7 7.6-4.7c-3.3 11.6-5.3 19.4-6.6 25.8a200.18 200.18 0 0 0-27.8 40.3c-15 1-31.8 10.8-40.3 14.3l3 3.4 28.8 1c-.5 1-.7 2.2-1.2 3.2-7.3 6.4-39.8 37.7-33 80.7l20.2-22.4c.5 1.7.7 3.4 1.2 5.2 0 25.5.4 89.6 64.9 150.5 43.6 40 96 60.2 157.5 60.2 121.7 0 223-87.3 223-211.5 6.8-9.7-1.2 3 16.7-25.1l13 14.3 2.5-.5A181.84 181.84 0 0 0 495 255a44.74 44.74 0 0 0-6.8-13.3zM398 111.2l-.5 21.9c5.5 18.1 16.9 17.2 22.4 17.2l-3.4-4.7 22.4-5.4a242.44 242.44 0 0 1-27 0c12.8-2.1 33.3-29 43-11.3 3.4 7.6 6.4 17.2 9.3 27.8l1.7-5.9a56.38 56.38 0 0 1-1.7-15.2c5.4.5 8.8 3.4 9.3 10.1.5 6.4 1.7 14.8 3.4 25.3l4.7-11.3c4.6 0 4.5-3.6-2.5 20.7-20.9-8.7-35.1-8.4-46.5-8.4l18.2-16c-25.3 8.2-33 10.8-54.8 20.9-1.1-5.4-5-13.5-16-19.9-3.2 3.8-2.8.9-.7 14.8h-2.5a62.32 62.32 0 0 0-8.4-23.1l4.2-3.4c8.4-7.1 11.8-14.3 10.6-21.9-.5-6.4-5.4-13.5-13.5-20.7 5.6-3.4 15.2-.4 28.3 8.5zm-39.6-10.1c2.7 1.9 11.4 5.4 18.9 17.2 4.2 8.4 4 9.8 3.4 11.1-.5 2.4-.5 4.3-3 7.1-1.7 2.5-5.4 4.7-11.8 7.6-7.6-13-16.5-23.6-27.8-31.2zM91 143.1l1.2-1.7c1.2-2.9 4.2-7.6 9.3-15.2l2.5-3.4-13 12.3 5.4-4.7-10.1 9.3-4.2 1.2c12.3-24.1 23.1-41.3 32.5-50.2 9.3-9.3 16-16 20.2-19.4l-6.4 1.2c-11.3-4.2-19.4-7.1-24.8-8.4 2.5-.5 3.7-.5 3.2-.5 10.3 0 17.5.5 20.9 1.2a52.35 52.35 0 0 0 16 2.5l.5-1.7-8.4-35.8 13.5 29a42.89 42.89 0 0 0 5.9-14.3c1.7-6.4 5.4-13 10.1-19.4s7.6-10.6 9.3-11.3a234.68 234.68 0 0 0-6.4 25.3l-1.7 7.1-.5 4.7 2.5 2.5C190.4 39.9 214 34 239.8 34.5l21.1.5c-11.8 13.5-27.8 21.9-48.5 24.8a201.26 201.26 0 0 1-23.4 2.9l-.2-.5-2.5-1.2a20.75 20.75 0 0 0-14 2c-2.5-.2-4.9-.5-7.1-.7l-2.5 1.7.5 1.2c2 .2 3.9.5 6.2.7l-2 3.4 3.4-.5-10.6 11.3c-4.2 3-5.4 6.4-4.2 9.3l5.4-3.4h1.2a39.4 39.4 0 0 1 25.3-15.2v-3c6.4.5 13 1 19.4 1.2 6.4 0 8.4.5 5.4 1.2a189.6 189.6 0 0 1 20.7 13.5c13.5 10.1 23.6 21.9 30 35.4 8.8 18.2 13.5 37.1 13.5 56.6a141.13 141.13 0 0 1-3 28.3 209.91 209.91 0 0 1-16 46l2.5.5c18.2-19.7 41.9-16 49.2-16l-6.4 5.9 22.4 17.7-1.7 30.7c-5.4-12.3-16.5-21.1-33-27.8 16.5 14.8 23.6 21.1 21.9 20.2-4.8-2.8-3.5-1.9-10.8-3.7 4.1 4.1 17.5 18.8 18.2 20.7l.2.2-.2.2c0 1.8 1.6-1.2-14 22.9-75.2-15.3-106.27-42.7-141.2-63.2l11.8 1.2c-11.8-18.5-15.6-17.7-38.4-26.1L149 225c-8.8-3-18.2-3-28.3.5l7.6-10.6-1.2-1.7c-14.9 4.3-19.8 9.2-22.6 11.3-1.1-5.5-2.8-12.4-12.3-28.8l-1.2 27-13.2-5c1.5-25.2 5.4-50.5 13.2-74.6zm276.5 330c-49.9 25-56.1 22.4-59 23.9-29.8-11.8-50.9-31.7-63.5-58.8l30 16.5c-9.8-9.3-18.3-16.5-38.4-44.3l11.8 23.1-17.7-7.6c14.2 21.1 23.5 51.7 66.6 73.5-120.8 24.2-199-72.1-200.9-74.3a262.57 262.57 0 0 0 35.4 24.8c3.4 1.7 7.1 2.5 10.1 1.2l-16-20.7c9.2 4.2 9.5 4.5 69.1 29-42.5-20.7-73.8-40.8-93.2-60.2-.5 6.4-1.2 10.1-1.2 10.1a80.25 80.25 0 0 1 20.7 26.6c-39-18.9-57.6-47.6-71.3-82.6 49.9 55.1 118.9 37.5 120.5 37.1 34.8 16.4 69.9 23.6 113.9 10.6 3.3 0 20.3 17 25.3 39.1l4.2-3-2.5-23.6c9 9 24.9 22.6 34.4 13-15.6-5.3-23.5-9.5-29.5-31.7 4.6 4.2 7.6 9 27.8 15l1.2-1.2-10.5-14.2c11.7-4.8-3.5 1 32-10.8 4.3 34.3 9 49.2.7 89.5zm115.3-214.4l-2.5.5 3 9.3c-3.5 5.9-23.7 44.3-71.6 79.7-39.5 29.8-76.6 39.1-80.9 40.3l-7.6-7.1-1.2 3 14.3 16-7.1-4.7 3.4 4.2h-1.2l-21.9-13.5 9.3 26.6-19-27.9-1.2 2.5 7.6 29c-6.1-8.2-21-32.6-56.8-39.6l32.5 21.2a214.82 214.82 0 0 1-93.2-6.4c-4.2-1.2-8.9-2.5-13.5-4.2l1.2-3-44.8-22.4 26.1 22.4c-57.7 9.1-113-25.4-126.4-83.4l-2.5-16.4-22.27 22.3c19.5-57.5 25.6-57.9 51.4-70.1-9.1-5.3-1.6-3.3-38.4-9.3 15.8-5.8 33-15.4 73 5.2a18.5 18.5 0 0 1 3.7-1.7c.6-3.2.4-.8 1-11.8 3.9 10 3.6 8.7 3 9.3l1.7.5c12.7-6.5 8.9-4.5 17-8.9l-5.4 13.5 22.3-5.8-8.4 8.4 2.5 2.5c4.5-1.8 30.3 3.4 40.8 16l-23.6-2.5c39.4 23 51.5 54 55.8 69.6l1.7-1.2c-2.8-22.3-12.4-33.9-16-40.1 4.2 5 39.2 34.6 110.4 46-11.3-.5-23.1 5.4-34.9 18.9l46.7-20.2-9.3 21.9c7.6-10.1 14.8-23.6 21.2-39.6v-.5l1.2-3-1.2 16c13.5-41.8 25.3-78.5 35.4-109.7l13.5-27.8v-2l-5.4-4.2h10.1l5.9 4.2 2.5-1.2-3.4-16 12.3 18.9 41.8-20.2-14.8 13 .5 2.9 17.7-.5a184 184 0 0 1 33 4.2l-23.6 2.5-1.2 3 26.6 23.1a254.21 254.21 0 0 1 27 32c-11.2-3.3-10.3-3.4-21.2-3.4l12.3 32.5zm-6.1-71.3l-3.9 13-14.3-11.8zm-254.8 7.1c1.7 10.6 4.7 17.7 8.8 21.9-9.3 6.6-27.5 13.9-46.5 16l.5 1.2a50.22 50.22 0 0 0 24.8-2.5l-7.1 13c4.2-1.7 10.1-7.1 17.7-14.8 11.9-5.5 12.7-5.1 20.2-16-12.7-6.4-15.7-13.7-18.4-18.8zm3.7-102.3c-6.4-3.4-10.6 3-12.3 18.9s2.5 29.5 11.8 39.6 18.2 10.6 26.1 3 3.4-23.6-11.3-47.7a39.57 39.57 0 0 0-14.27-13.8zm-4.7 46.3c5.4 2.2 10.5 1.9 12.3-10.6v-4.7l-1.2.5c-4.3-3.1-2.5-4.5-1.7-6.2l.5-.5c-.9-1.2-5-8.1-12.5 4.7-.5-13.5.5-21.9 3-24.8 1.2-2.5 4.7-1.2 11.3 4.2 6.4 5.4 11.3 16 15.2 32.5 6.5 28-19.8 26.2-26.9 4.9zm-45-5.5c1.6.3 9.3-1.1 9.3-14.8h-.5c-5.4-1.1-2.2-5.5-.7-5.9-1.7-3-3.4-4.2-5.4-4.7-8.1 0-11.6 12.7-8.1 21.2a7.51 7.51 0 0 0 5.43 4.2zM216 82.9l-2.5.5.5 3a48.94 48.94 0 0 1 26.1 5.9c-2.5-5.5-10-14.3-28.3-14.3l.5 2.5zm-71.8 49.4c21.7 16.8 16.5 21.4 46.5 23.6l-2.9-4.7a42.67 42.67 0 0 0 14.8-28.3c1.7-16-1.2-29.5-8.8-41.3l13-7.6a2.26 2.26 0 0 0-.5-1.7 14.21 14.21 0 0 0-13.5 1.7c-12.7 6.7-28 20.9-29 22.4-1.7 1.7-3.4 5.9-5.4 13.5a99.61 99.61 0 0 0-2.9 23.6c-4.7-8-10.5-6.4-19.9-5.9l7.1 7.6c-16.5 0-23.3 15.4-23.6 16 6.8 0 4.6-7.6 30-12.3-4.3-6.3-3.3-5-4.9-6.6zm18.7-18.7c1.2-7.6 3.4-13 6.4-17.2 5.4-6.4 10.6-10.1 16-11.8 4.2-1.7 7.1 1.2 10.1 9.3a72.14 72.14 0 0 1 3 25.3c-.5 9.3-3.4 17.2-8.4 23.1-2.9 3.4-5.4 5.9-6.4 7.6a39.21 39.21 0 0 1-11.3-.5l-7.1-3.4-5.4-6.4c.8-10 1.3-18.8 3.1-26zm42 56.1c-34.8 14.4-34.7 14-36.1 14.3-20.8 4.7-19-24.4-18.9-24.8l5.9-1.2-.5-2.5c-20.2-2.6-31 4.2-32.5 4.9.5.5 3 3.4 5.9 9.3 4.2-6.4 8.8-10.1 15.2-10.6a83.47 83.47 0 0 0 1.7 33.7c.1.5 2.6 17.4 27.5 24.1 11.3 3 27 1.2 48.9-5.4l-9.2.5c-4.2-14.8-6.4-24.8-5.9-29.5 11.3-8.8 21.9-11.3 30.7-7.6h2.5l-11.8-7.6-7.1.5c-5.9 1.2-12.3 4.2-19.4 8.4z\"]\n};\nvar faThemeco = {\n prefix: 'fab',\n iconName: 'themeco',\n icon: [448, 512, [], \"f5c6\", \"M202.9 8.43c9.9-5.73 26-5.82 35.95-.21L430 115.85c10 5.6 18 19.44 18 30.86V364c0 11.44-8.06 25.29-18 31L238.81 503.74c-9.93 5.66-26 5.57-35.85-.21L17.86 395.12C8 389.34 0 375.38 0 364V146.71c0-11.44 8-25.36 17.91-31.08zm-77.4 199.83c-15.94 0-31.89.14-47.83.14v101.45H96.8V280h28.7c49.71 0 49.56-71.74 0-71.74zm140.14 100.29l-30.73-34.64c37-7.51 34.8-65.23-10.87-65.51-16.09 0-32.17-.14-48.26-.14v101.59h19.13v-33.91h18.41l29.56 33.91h22.76zm-41.59-82.32c23.34 0 23.26 32.46 0 32.46h-29.13v-32.46zm-95.56-1.6c21.18 0 21.11 38.85 0 38.85H96.18v-38.84zm192.65-18.25c-68.46 0-71 105.8 0 105.8 69.48-.01 69.41-105.8 0-105.8zm0 17.39c44.12 0 44.8 70.86 0 70.86s-44.43-70.86 0-70.86z\"]\n};\nvar faThemeisle = {\n prefix: 'fab',\n iconName: 'themeisle',\n icon: [512, 512, [], \"f2b2\", \"M208 88.286c0-10 6.286-21.714 17.715-21.714 11.142 0 17.714 11.714 17.714 21.714 0 10.285-6.572 21.714-17.714 21.714C214.286 110 208 98.571 208 88.286zm304 160c0 36.001-11.429 102.286-36.286 129.714-22.858 24.858-87.428 61.143-120.857 70.572l-1.143.286v32.571c0 16.286-12.572 30.571-29.143 30.571-10 0-19.429-5.714-24.572-14.286-5.427 8.572-14.856 14.286-24.856 14.286-10 0-19.429-5.714-24.858-14.286-5.142 8.572-14.571 14.286-24.57 14.286-10.286 0-19.429-5.714-24.858-14.286-5.143 8.572-14.571 14.286-24.571 14.286-18.857 0-29.429-15.714-29.429-32.857-16.286 12.285-35.715 19.428-56.571 19.428-22 0-43.429-8.285-60.286-22.857 10.285-.286 20.571-2.286 30.285-5.714-20.857-5.714-39.428-18.857-52-36.286 21.37 4.645 46.209 1.673 67.143-11.143-22-22-56.571-58.857-68.572-87.428C1.143 321.714 0 303.714 0 289.429c0-49.714 20.286-160 86.286-160 10.571 0 18.857 4.858 23.143 14.857a158.792 158.792 0 0 1 12-15.428c2-2.572 5.714-5.429 7.143-8.286 7.999-12.571 11.714-21.142 21.714-34C182.571 45.428 232 17.143 285.143 17.143c6 0 12 .285 17.714 1.143C313.714 6.571 328.857 0 344.572 0c14.571 0 29.714 6 40 16.286.857.858 1.428 2.286 1.428 3.428 0 3.714-10.285 13.429-12.857 16.286 4.286 1.429 15.714 6.858 15.714 12 0 2.857-2.857 5.143-4.571 7.143 31.429 27.714 49.429 67.143 56.286 108 4.286-5.143 10.285-8.572 17.143-8.572 10.571 0 20.857 7.144 28.571 14.001C507.143 187.143 512 221.714 512 248.286zM188 89.428c0 18.286 12.571 37.143 32.286 37.143 19.714 0 32.285-18.857 32.285-37.143 0-18-12.571-36.857-32.285-36.857-19.715 0-32.286 18.858-32.286 36.857zM237.714 194c0-19.714 3.714-39.143 8.571-58.286-52.039 79.534-13.531 184.571 68.858 184.571 21.428 0 42.571-7.714 60-20 2-7.429 3.714-14.857 3.714-22.572 0-14.286-6.286-21.428-20.572-21.428-4.571 0-9.143.857-13.429 1.714-63.343 12.668-107.142 3.669-107.142-63.999zm-41.142 254.858c0-11.143-8.858-20.857-20.286-20.857-11.429 0-20 9.715-20 20.857v32.571c0 11.143 8.571 21.142 20 21.142 11.428 0 20.286-9.715 20.286-21.142v-32.571zm49.143 0c0-11.143-8.572-20.857-20-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20-10 20-21.142v-32.571zm49.713 0c0-11.143-8.857-20.857-20.285-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20.285-9.715 20.285-21.142v-32.571zm49.715 0c0-11.143-8.857-20.857-20.286-20.857-11.428 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.858 21.142 20.286 21.142 11.429 0 20.286-10 20.286-21.142v-32.571zM421.714 286c-30.857 59.142-90.285 102.572-158.571 102.572-96.571 0-160.571-84.572-160.571-176.572 0-16.857 2-33.429 6-49.714-20 33.715-29.714 72.572-29.714 111.429 0 60.286 24.857 121.715 71.429 160.857 5.143-9.714 14.857-16.286 26-16.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.571-14.286 24.858-14.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.857-14.286 24.858-14.286 10 0 19.428 5.714 24.857 14.286 5.143-8.571 14.571-14.286 24.572-14.286 10.857 0 20.857 6.572 25.714 16 43.427-36.286 68.569-92 71.426-148.286zm10.572-99.714c0-53.714-34.571-105.714-92.572-105.714-30.285 0-58.571 15.143-78.857 36.857C240.862 183.812 233.41 254 302.286 254c28.805 0 97.357-28.538 84.286 36.857 28.857-26 45.714-65.714 45.714-104.571z\"]\n};\nvar faThinkPeaks = {\n prefix: 'fab',\n iconName: 'think-peaks',\n icon: [576, 512, [], \"f731\", \"M465.4 409.4l87.1-150.2-32-.3-55.1 95L259.2 0 23 407.4l32 .3L259.2 55.6zm-355.3-44.1h32.1l117.4-202.5L463 511.9l32.5.1-235.8-404.6z\"]\n};\nvar faTiktok = {\n prefix: 'fab',\n iconName: 'tiktok',\n icon: [448, 512, [], \"e07b\", \"M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z\"]\n};\nvar faTradeFederation = {\n prefix: 'fab',\n iconName: 'trade-federation',\n icon: [496, 512, [], \"f513\", \"M248 8.8c-137 0-248 111-248 248s111 248 248 248 248-111 248-248-111-248-248-248zm0 482.8c-129.7 0-234.8-105.1-234.8-234.8S118.3 22 248 22s234.8 105.1 234.8 234.8S377.7 491.6 248 491.6zm155.1-328.5v-46.8H209.3V198H54.2l36.7 46h117.7v196.8h48.8V245h83.3v-47h-83.3v-34.8h145.7zm-73.3 45.1v23.9h-82.9v197.4h-26.8V232.1H96.3l-20.1-23.9h143.9v-80.6h171.8V152h-145v56.2zm-161.3-69l-12.4-20.7 2.1 23.8-23.5 5.4 23.3 5.4-2.1 24 12.3-20.5 22.2 9.5-15.7-18.1 15.8-18.1zm-29.6-19.7l9.3-11.5-12.7 5.9-8-12.4 1.7 13.9-14.3 3.8 13.7 2.7-.8 14.7 6.8-12.2 13.8 5.3zm165.4 145.2l-13.1 5.6-7.3-12.2 1.3 14.2-13.9 3.2 13.9 3.2-1.2 14.2 7.3-12.2 13.1 5.5-9.4-10.7zm106.9-77.2l-20.9 9.1-12-19.6 2.2 22.7-22.3 5.4 22.2 4.9-1.8 22.9 11.5-19.6 21.2 8.8-15.1-17zM248 29.9c-125.3 0-226.9 101.6-226.9 226.9S122.7 483.7 248 483.7s226.9-101.6 226.9-226.9S373.3 29.9 248 29.9zM342.6 196v51h-83.3v195.7h-52.7V245.9H89.9l-40-49.9h157.4v-81.6h197.8v50.7H259.4V196zM248 43.2c60.3 0 114.8 25 153.6 65.2H202.5V190H45.1C73.1 104.8 153.4 43.2 248 43.2zm0 427.1c-117.9 0-213.6-95.6-213.6-213.5 0-21.2 3.1-41.8 8.9-61.1L87.1 252h114.7v196.8h64.6V253h83.3v-62.7h-83.2v-19.2h145.6v-50.8c30.8 37 49.3 84.6 49.3 136.5.1 117.9-95.5 213.5-213.4 213.5zM178.8 275l-11-21.4 1.7 24.5-23.7 3.9 23.8 5.9-3.7 23.8 13-20.9 21.5 10.8-15.8-18.8 16.9-17.1z\"]\n};\nvar faTrello = {\n prefix: 'fab',\n iconName: 'trello',\n icon: [448, 512, [], \"f181\", \"M392.3 32H56.1C25.1 32 0 57.1 0 88c-.1 0 0-4 0 336 0 30.9 25.1 56 56 56h336.2c30.8-.2 55.7-25.2 55.7-56V88c.1-30.8-24.8-55.8-55.6-56zM197 371.3c-.2 14.7-12.1 26.6-26.9 26.6H87.4c-14.8.1-26.9-11.8-27-26.6V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v254.2zm193.1-112c0 14.8-12 26.9-26.9 26.9h-81c-14.8 0-26.9-12-26.9-26.9V117.2c0-14.8 12-26.9 26.8-26.9h81.1c14.8 0 26.9 12 26.9 26.9v142.1z\"]\n};\nvar faTumblr = {\n prefix: 'fab',\n iconName: 'tumblr',\n icon: [320, 512, [], \"f173\", \"M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z\"]\n};\nvar faTumblrSquare = {\n prefix: 'fab',\n iconName: 'tumblr-square',\n icon: [448, 512, [], \"f174\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-82.3 364.2c-8.5 9.1-31.2 19.8-60.9 19.8-75.5 0-91.9-55.5-91.9-87.9v-90h-29.7c-3.4 0-6.2-2.8-6.2-6.2v-42.5c0-4.5 2.8-8.5 7.1-10 38.8-13.7 50.9-47.5 52.7-73.2.5-6.9 4.1-10.2 10-10.2h44.3c3.4 0 6.2 2.8 6.2 6.2v72h51.9c3.4 0 6.2 2.8 6.2 6.2v51.1c0 3.4-2.8 6.2-6.2 6.2h-52.1V321c0 21.4 14.8 33.5 42.5 22.4 3-1.2 5.6-2 8-1.4 2.2.5 3.6 2.1 4.6 4.9l13.8 40.2c1 3.2 2 6.7-.3 9.1z\"]\n};\nvar faTwitch = {\n prefix: 'fab',\n iconName: 'twitch',\n icon: [512, 512, [], \"f1e8\", \"M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z\"]\n};\nvar faTwitter = {\n prefix: 'fab',\n iconName: 'twitter',\n icon: [512, 512, [], \"f099\", \"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"]\n};\nvar faTwitterSquare = {\n prefix: 'fab',\n iconName: 'twitter-square',\n icon: [448, 512, [], \"f081\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z\"]\n};\nvar faTypo3 = {\n prefix: 'fab',\n iconName: 'typo3',\n icon: [448, 512, [], \"f42b\", \"M178.7 78.4c0-24.7 5.4-32.4 13.9-39.4-69.5 8.5-149.3 34-176.3 66.4-5.4 7.7-9.3 20.8-9.3 37.1C7 246 113.8 480 191.1 480c36.3 0 97.3-59.5 146.7-139-7 2.3-11.6 2.3-18.5 2.3-57.2 0-140.6-198.5-140.6-264.9zM301.5 32c-30.1 0-41.7 5.4-41.7 36.3 0 66.4 53.8 198.5 101.7 198.5 26.3 0 78.8-99.7 78.8-182.3 0-40.9-67-52.5-138.8-52.5z\"]\n};\nvar faUber = {\n prefix: 'fab',\n iconName: 'uber',\n icon: [448, 512, [], \"f402\", \"M414.1 32H33.9C15.2 32 0 47.2 0 65.9V446c0 18.8 15.2 34 33.9 34H414c18.7 0 33.9-15.2 33.9-33.9V65.9C448 47.2 432.8 32 414.1 32zM237.6 391.1C163 398.6 96.4 344.2 88.9 269.6h94.4V290c0 3.7 3 6.8 6.8 6.8H258c3.7 0 6.8-3 6.8-6.8v-67.9c0-3.7-3-6.8-6.8-6.8h-67.9c-3.7 0-6.8 3-6.8 6.8v20.4H88.9c7-69.4 65.4-122.2 135.1-122.2 69.7 0 128.1 52.8 135.1 122.2 7.5 74.5-46.9 141.1-121.5 148.6z\"]\n};\nvar faUbuntu = {\n prefix: 'fab',\n iconName: 'ubuntu',\n icon: [496, 512, [], \"f7df\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z\"]\n};\nvar faUikit = {\n prefix: 'fab',\n iconName: 'uikit',\n icon: [448, 512, [], \"f403\", \"M443.9 128v256L218 512 0 384V169.7l87.6 45.1v117l133.5 75.5 135.8-75.5v-151l-101.1-57.6 87.6-53.1L443.9 128zM308.6 49.1L223.8 0l-88.6 54.8 86 47.3 87.4-53z\"]\n};\nvar faUmbraco = {\n prefix: 'fab',\n iconName: 'umbraco',\n icon: [510, 512, [], \"f8e8\", \"M255.35 8C118.36 7.83 7.14 118.72 7 255.68c-.07 137 111 248.2 248 248.27 136.85 0 247.82-110.7 248-247.67S392.34 8.17 255.35 8zm145 266q-1.14 40.68-14 65t-43.51 35q-30.61 10.7-85.45 10.47h-4.6q-54.78.22-85.44-10.47t-43.52-35q-12.85-24.36-14-65a224.81 224.81 0 0 1 0-30.71 418.37 418.37 0 0 1 3.6-43.88c1.88-13.39 3.57-22.58 5.4-32 1-4.88 1.28-6.42 1.82-8.45a5.09 5.09 0 0 1 4.9-3.89h.69l32 5a5.07 5.07 0 0 1 4.16 5 5 5 0 0 1 0 .77l-1.7 8.78q-2.41 13.25-4.84 33.68a380.62 380.62 0 0 0-2.64 42.15q-.28 40.43 8.13 59.83a43.87 43.87 0 0 0 31.31 25.18A243 243 0 0 0 250 340.6h10.25a242.64 242.64 0 0 0 57.27-5.16 43.86 43.86 0 0 0 31.15-25.23q8.53-19.42 8.13-59.78a388 388 0 0 0-2.6-42.15q-2.48-20.38-4.89-33.68l-1.69-8.78a5 5 0 0 1 0-.77 5 5 0 0 1 4.2-5l32-5h.82a5 5 0 0 1 4.9 3.89c.55 2.05.81 3.57 1.83 8.45 1.82 9.62 3.52 18.78 5.39 32a415.71 415.71 0 0 1 3.61 43.88 228.06 228.06 0 0 1-.04 30.73z\"]\n};\nvar faUncharted = {\n prefix: 'fab',\n iconName: 'uncharted',\n icon: [448, 512, [], \"e084\", \"M171.73,232.813A5.381,5.381,0,0,0,176.7,229.5,48.081,48.081,0,0,1,191.6,204.244c1.243-.828,1.657-2.484,1.657-4.141a4.22,4.22,0,0,0-2.071-3.312L74.429,128.473,148.958,85a9.941,9.941,0,0,0,4.968-8.281,9.108,9.108,0,0,0-4.968-8.281L126.6,55.6a9.748,9.748,0,0,0-9.523,0l-100.2,57.966a9.943,9.943,0,0,0-4.969,8.281V236.954a9.109,9.109,0,0,0,4.969,8.281L39.235,258.07a8.829,8.829,0,0,0,4.968,1.242,9.4,9.4,0,0,0,6.625-2.484,10.8,10.8,0,0,0,2.9-7.039V164.5L169.66,232.4A4.5,4.5,0,0,0,171.73,232.813ZM323.272,377.73a12.478,12.478,0,0,0-4.969,1.242l-74.528,43.062V287.882c0-2.9-2.9-5.8-6.211-4.555a53.036,53.036,0,0,1-28.984.414,4.86,4.86,0,0,0-6.21,4.555V421.619l-74.529-43.061a8.83,8.83,0,0,0-4.969-1.242,9.631,9.631,0,0,0-9.523,9.523v26.085a9.107,9.107,0,0,0,4.969,8.281l100.2,57.553A8.829,8.829,0,0,0,223.486,480a11.027,11.027,0,0,0,4.969-1.242l100.2-57.553a9.941,9.941,0,0,0,4.968-8.281V386.839C332.8,382.285,328.24,377.73,323.272,377.73ZM286.007,78a23,23,0,1,0-23-23A23,23,0,0,0,286.007,78Zm63.627-10.086a23,23,0,1,0,23,23A23,23,0,0,0,349.634,67.914ZM412.816,151.6a23,23,0,1,0-23-23A23,23,0,0,0,412.816,151.6Zm-63.182-9.2a23,23,0,1,0,23,23A23,23,0,0,0,349.634,142.4Zm-63.627,83.244a23,23,0,1,0-23-23A23,23,0,0,0,286.007,225.648Zm-62.074,36.358a23,23,0,1,0-23-23A23,23,0,0,0,223.933,262.006Zm188.883-82.358a23,23,0,1,0,23,23A23,23,0,0,0,412.816,179.648Zm0,72.272a23,23,0,1,0,23,23A23,23,0,0,0,412.816,251.92Z\"]\n};\nvar faUniregistry = {\n prefix: 'fab',\n iconName: 'uniregistry',\n icon: [384, 512, [], \"f404\", \"M192 480c39.5 0 76.2-11.8 106.8-32.2H85.3C115.8 468.2 152.5 480 192 480zm-89.1-193.1v-12.4H0v12.4c0 2.5 0 5 .1 7.4h103.1c-.2-2.4-.3-4.9-.3-7.4zm20.5 57H8.5c2.6 8.5 5.8 16.8 9.6 24.8h138.3c-12.9-5.7-24.1-14.2-33-24.8zm-17.7-34.7H1.3c.9 7.6 2.2 15 3.9 22.3h109.7c-4-6.9-7.2-14.4-9.2-22.3zm-2.8-69.3H0v17.3h102.9zm0-173.2H0v4.9h102.9zm0-34.7H0v2.5h102.9zm0 69.3H0v7.4h102.9zm0 104H0v14.8h102.9zm0-69.3H0v9.9h102.9zm0 34.6H0V183h102.9zm166.2 160.9h109.7c1.8-7.3 3.1-14.7 3.9-22.3H278.3c-2.1 7.9-5.2 15.4-9.2 22.3zm12-185.7H384V136H281.1zm0 37.2H384v-12.4H281.1zm0-74.3H384v-7.4H281.1zm0-76.7v2.5H384V32zm-203 410.9h227.7c11.8-8.7 22.7-18.6 32.2-29.7H44.9c9.6 11 21.4 21 33.2 29.7zm203-371.3H384v-4.9H281.1zm0 148.5H384v-14.8H281.1zM38.8 405.7h305.3c6.7-8.5 12.6-17.6 17.8-27.2H23c5.2 9.6 9.2 18.7 15.8 27.2zm188.8-37.1H367c3.7-8 5.8-16.2 8.5-24.8h-115c-8.8 10.7-20.1 19.2-32.9 24.8zm53.5-81.7c0 2.5-.1 5-.4 7.4h103.1c.1-2.5.2-4.9.2-7.4v-12.4H281.1zm0-29.7H384v-17.3H281.1z\"]\n};\nvar faUnity = {\n prefix: 'fab',\n iconName: 'unity',\n icon: [576, 512, [], \"e049\", \"M498.11,206.4,445.31,14.72,248.2,66.08,219,116.14l-59.2-.43L15.54,256,159.82,396.32l59.17-.43,29.24,50,197.08,51.36,52.8-191.62-30-49.63ZM223.77,124.2,374.55,86.51,288,232.33H114.87Zm0,263.63L114.87,279.71H288l86.55,145.81Zm193,14L330.17,256l86.58-145.84L458.56,256Z\"]\n};\nvar faUnsplash = {\n prefix: 'fab',\n iconName: 'unsplash',\n icon: [448, 512, [], \"e07c\", \"M448,230.17V480H0V230.17H141.13V355.09H306.87V230.17ZM306.87,32H141.13V156.91H306.87Z\"]\n};\nvar faUntappd = {\n prefix: 'fab',\n iconName: 'untappd',\n icon: [640, 512, [], \"f405\", \"M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z\"]\n};\nvar faUps = {\n prefix: 'fab',\n iconName: 'ups',\n icon: [384, 512, [], \"f7e0\", \"M103.2 303c-5.2 3.6-32.6 13.1-32.6-19V180H37.9v102.6c0 74.9 80.2 51.1 97.9 39V180h-32.6zM4 74.82v220.9c0 103.7 74.9 135.2 187.7 184.1 112.4-48.9 187.7-80.2 187.7-184.1V74.82c-116.3-61.6-281.8-49.6-375.4 0zm358.1 220.9c0 86.6-53.2 113.6-170.4 165.3-117.5-51.8-170.5-78.7-170.5-165.3v-126.4c102.3-93.8 231.6-100 340.9-89.8zm-209.6-107.4v212.8h32.7v-68.7c24.4 7.3 71.7-2.6 71.7-78.5 0-97.4-80.7-80.92-104.4-65.6zm32.7 117.3v-100.3c8.4-4.2 38.4-12.7 38.4 49.3 0 67.9-36.4 51.8-38.4 51zm79.1-86.4c.1 47.3 51.6 42.5 52.2 70.4.6 23.5-30.4 23-50.8 4.9v30.1c36.2 21.5 81.9 8.1 83.2-33.5 1.7-51.5-54.1-46.6-53.4-73.2.6-20.3 30.6-20.5 48.5-2.2v-28.4c-28.5-22-79.9-9.2-79.7 31.9z\"]\n};\nvar faUsb = {\n prefix: 'fab',\n iconName: 'usb',\n icon: [640, 512, [], \"f287\", \"M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 317c-1.4.8-2.8 1.4-4.5 1.4-1.4 0-3.1-.3-4.5-1.1-2.8-1.7-4.5-4.5-4.5-7.8v-35.6H295.7c25.3 39.6 40.5 106.9 69.6 106.9H392V354c0-5 3.9-8.9 8.9-8.9H490c5 0 8.9 3.9 8.9 8.9v89.1c0 5-3.9 8.9-8.9 8.9h-89.1c-5 0-8.9-3.9-8.9-8.9v-26.7h-26.7c-75.4 0-81.1-142.5-124.7-142.5H140.3c-8.1 30.6-35.9 53.5-69 53.5C32 327.3 0 295.3 0 256s32-71.3 71.3-71.3c33.1 0 61 22.8 69 53.5 39.1 0 43.9 9.5 74.6-60.4C255 88.7 273 95.7 323.8 95.7c7.5-20.9 27-35.6 50.4-35.6 29.5 0 53.5 23.9 53.5 53.5s-23.9 53.5-53.5 53.5c-23.4 0-42.9-14.8-50.4-35.6H294c-29.1 0-44.3 67.4-69.6 106.9h310.1v-35.6c0-3.3 1.7-6.1 4.5-7.8 2.8-1.7 6.4-1.4 8.9.3l89.1 53.5c2.8 1.1 4.5 4.1 4.5 7.2z\"]\n};\nvar faUsps = {\n prefix: 'fab',\n iconName: 'usps',\n icon: [576, 512, [], \"f7e1\", \"M460.3 241.7c25.8-41.3 15.2-48.8-11.7-48.8h-27c-.1 0-1.5-1.4-10.9 8-11.2 5.6-37.9 6.3-37.9 8.7 0 4.5 70.3-3.1 88.1 0 9.5 1.5-1.5 20.4-4.4 32-.5 4.5 2.4 2.3 3.8.1zm-112.1 22.6c64-21.3 97.3-23.9 102-26.2 4.4-2.9-4.4-6.6-26.2-5.8-51.7 2.2-137.6 37.1-172.6 53.9l-30.7-93.3h196.6c-2.7-28.2-152.9-22.6-337.9-22.6L27 415.8c196.4-97.3 258.9-130.3 321.2-151.5zM94.7 96c253.3 53.7 330 65.7 332.1 85.2 36.4 0 45.9 0 52.4 6.6 21.1 19.7-14.6 67.7-14.6 67.7-4.4 2.9-406.4 160.2-406.4 160.2h423.1L549 96z\"]\n};\nvar faUssunnah = {\n prefix: 'fab',\n iconName: 'ussunnah',\n icon: [512, 512, [], \"f407\", \"M156.8 285.1l5.7 14.4h-8.2c-1.3-3.2-3.1-7.7-3.8-9.5-2.5-6.3-1.1-8.4 0-10 1.9-2.7 3.2-4.4 3.6-5.2 0 2.2.8 5.7 2.7 10.3zm297.3 18.8c-2.1 13.8-5.7 27.1-10.5 39.7l43 23.4-44.8-18.8c-5.3 13.2-12 25.6-19.9 37.2l34.2 30.2-36.8-26.4c-8.4 11.8-18 22.6-28.7 32.3l24.9 34.7-28.1-31.8c-11 9.6-23.1 18-36.1 25.1l15.7 37.2-19.3-35.3c-13.1 6.8-27 12.1-41.6 15.9l6.7 38.4-10.5-37.4c-14.3 3.4-29.2 5.3-44.5 5.4L256 512l-1.9-38.4c-15.3-.1-30.2-2-44.5-5.3L199 505.6l6.7-38.2c-14.6-3.7-28.6-9.1-41.7-15.8l-19.2 35.1 15.6-37c-13-7-25.2-15.4-36.2-25.1l-27.9 31.6 24.7-34.4c-10.7-9.7-20.4-20.5-28.8-32.3l-36.5 26.2 33.9-29.9c-7.9-11.6-14.6-24.1-20-37.3l-44.4 18.7L67.8 344c-4.8-12.7-8.4-26.1-10.5-39.9l-51 9 50.3-14.2c-1.1-8.5-1.7-17.1-1.7-25.9 0-4.7.2-9.4.5-14.1L0 256l56-2.8c1.3-13.1 3.8-25.8 7.5-38.1L6.4 199l58.9 10.4c4-12 9.1-23.5 15.2-34.4l-55.1-30 58.3 24.6C90 159 97.2 149.2 105.3 140L55.8 96.4l53.9 38.7c8.1-8.6 17-16.5 26.6-23.6l-40-55.6 45.6 51.6c9.5-6.6 19.7-12.3 30.3-17.2l-27.3-64.9 33.8 62.1c10.5-4.4 21.4-7.9 32.7-10.4L199 6.4l19.5 69.2c11-2.1 22.3-3.2 33.8-3.4L256 0l3.6 72.2c11.5.2 22.8 1.4 33.8 3.5L313 6.4l-12.4 70.7c11.3 2.6 22.2 6.1 32.6 10.5l33.9-62.2-27.4 65.1c10.6 4.9 20.7 10.7 30.2 17.2l45.8-51.8-40.1 55.9c9.5 7.1 18.4 15 26.5 23.6l54.2-38.9-49.7 43.9c8 9.1 15.2 18.9 21.5 29.4l58.7-24.7-55.5 30.2c6.1 10.9 11.1 22.3 15.1 34.3l59.3-10.4-57.5 16.2c3.7 12.2 6.2 24.9 7.5 37.9L512 256l-56 2.8c.3 4.6.5 9.3.5 14.1 0 8.7-.6 17.3-1.6 25.8l50.7 14.3-51.5-9.1zm-21.8-31c0-97.5-79-176.5-176.5-176.5s-176.5 79-176.5 176.5 79 176.5 176.5 176.5 176.5-79 176.5-176.5zm-24 0c0 84.3-68.3 152.6-152.6 152.6s-152.6-68.3-152.6-152.6 68.3-152.6 152.6-152.6 152.6 68.3 152.6 152.6zM195 241c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-40.7-19c0 2.1 1.3 3.8 3.6 5.1 3.5 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-19 0c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.4 6.8-9.6 10.9-9.6 12.6zm204.9 87.9c-8.4-3-8.7-6.8-8.7-15.6V182c-8.2 12.5-14.2 18.6-18 18.6 6.3 14.4 9.5 23.9 9.5 28.3v64.3c0 2.2-2.2 6.5-4.7 6.5h-18c-2.8-7.5-10.2-26.9-15.3-40.3-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3 2.6 6.7 6.4 16.5 7.9 20.2h-9.2c-3.9-10.4-9.6-25.4-11.8-31.1-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3.8 2 2.8 7.3 4.3 10.9H256c-1.5-4.1-5.6-14.6-8.4-22-2 2.5-7.2 9.2-10.7 13.7 2.5 1.6 4.3 3.6 5.2 6.3.2.6.5 1.4.6 1.7H225c-4.6-13.9-11.4-27.7-11.4-34.1 0-2.2.3-5.1 1.1-8.2-8.8 10.8-14 15.9-14 25 0 7.5 10.4 28.3 10.4 33.3 0 1.7-.5 3.3-1.4 4.9-9.6-12.7-15.5-20.7-18.8-20.7h-12l-11.2-28c-3.8-9.6-5.7-16-5.7-18.8 0-3.8.5-7.7 1.7-12.2-1 1.3-3.7 4.7-5.5 7.1-.8-2.1-3.1-7.7-4.6-11.5-2.1 2.5-7.5 9.1-11.2 13.6.9 2.3 3.3 8.1 4.9 12.2-2.5 3.3-9.1 11.8-13.6 17.7-4 5.3-5.8 13.3-2.7 21.8 2.5 6.7 2 7.9-1.7 14.1H191c5.5 0 14.3 14 15.5 22 13.2-16 15.4-19.6 16.8-21.6h107c3.9 0 7.2-1.9 9.9-5.8zm20.1-26.6V181.7c-9 12.5-15.9 18.6-20.7 18.6 7.1 14.4 10.7 23.9 10.7 28.3v66.3c0 17.5 8.6 20.4 24 20.4 8.1 0 12.5-.8 13.7-2.7-4.3-1.6-7.6-2.5-9.9-3.3-8.1-3.2-17.8-7.4-17.8-26z\"]\n};\nvar faVaadin = {\n prefix: 'fab',\n iconName: 'vaadin',\n icon: [448, 512, [], \"f408\", \"M224.5 140.7c1.5-17.6 4.9-52.7 49.8-52.7h98.6c20.7 0 32.1-7.8 32.1-21.6V54.1c0-12.2 9.3-22.1 21.5-22.1S448 41.9 448 54.1v36.5c0 42.9-21.5 62-66.8 62H280.7c-30.1 0-33 14.7-33 27.1 0 1.3-.1 2.5-.2 3.7-.7 12.3-10.9 22.2-23.4 22.2s-22.7-9.8-23.4-22.2c-.1-1.2-.2-2.4-.2-3.7 0-12.3-3-27.1-33-27.1H66.8c-45.3 0-66.8-19.1-66.8-62V54.1C0 41.9 9.4 32 21.6 32s21.5 9.9 21.5 22.1v12.3C43.1 80.2 54.5 88 75.2 88h98.6c44.8 0 48.3 35.1 49.8 52.7h.9zM224 456c11.5 0 21.4-7 25.7-16.3 1.1-1.8 97.1-169.6 98.2-171.4 11.9-19.6-3.2-44.3-27.2-44.3-13.9 0-23.3 6.4-29.8 20.3L224 362l-66.9-117.7c-6.4-13.9-15.9-20.3-29.8-20.3-24 0-39.1 24.6-27.2 44.3 1.1 1.9 97.1 169.6 98.2 171.4 4.3 9.3 14.2 16.3 25.7 16.3z\"]\n};\nvar faViacoin = {\n prefix: 'fab',\n iconName: 'viacoin',\n icon: [384, 512, [], \"f237\", \"M384 32h-64l-80.7 192h-94.5L64 32H0l48 112H0v48h68.5l13.8 32H0v48h102.8L192 480l89.2-208H384v-48h-82.3l13.8-32H384v-48h-48l48-112zM192 336l-27-64h54l-27 64z\"]\n};\nvar faViadeo = {\n prefix: 'fab',\n iconName: 'viadeo',\n icon: [448, 512, [], \"f2a9\", \"M276.2 150.5v.7C258.3 98.6 233.6 47.8 205.4 0c43.3 29.2 67 100 70.8 150.5zm32.7 121.7c7.6 18.2 11 37.5 11 57 0 77.7-57.8 141-137.8 139.4l3.8-.3c74.2-46.7 109.3-118.6 109.3-205.1 0-38.1-6.5-75.9-18.9-112 1 11.7 1 23.7 1 35.4 0 91.8-18.1 241.6-116.6 280C95 455.2 49.4 398 49.4 329.2c0-75.6 57.4-142.3 135.4-142.3 16.8 0 33.7 3.1 49.1 9.6 1.7-15.1 6.5-29.9 13.4-43.3-19.9-7.2-41.2-10.7-62.5-10.7-161.5 0-238.7 195.9-129.9 313.7 67.9 74.6 192 73.9 259.8 0 56.6-61.3 60.9-142.4 36.4-201-12.7 8-27.1 13.9-42.2 17zM418.1 11.7c-31 66.5-81.3 47.2-115.8 80.1-12.4 12-20.6 34-20.6 50.5 0 14.1 4.5 27.1 12 38.8 47.4-11 98.3-46 118.2-90.7-.7 5.5-4.8 14.4-7.2 19.2-20.3 35.7-64.6 65.6-99.7 84.9 14.8 14.4 33.7 25.8 55 25.8 79 0 110.1-134.6 58.1-208.6z\"]\n};\nvar faViadeoSquare = {\n prefix: 'fab',\n iconName: 'viadeo-square',\n icon: [448, 512, [], \"f2aa\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM280.7 381.2c-42.4 46.2-120 46.6-162.4 0-68-73.6-19.8-196.1 81.2-196.1 13.3 0 26.6 2.1 39.1 6.7-4.3 8.4-7.3 17.6-8.4 27.1-9.7-4.1-20.2-6-30.7-6-48.8 0-84.6 41.7-84.6 88.9 0 43 28.5 78.7 69.5 85.9 61.5-24 72.9-117.6 72.9-175 0-7.3 0-14.8-.6-22.1-11.2-32.9-26.6-64.6-44.2-94.5 27.1 18.3 41.9 62.5 44.2 94.1v.4c7.7 22.5 11.8 46.2 11.8 70 0 54.1-21.9 99-68.3 128.2l-2.4.2c50 1 86.2-38.6 86.2-87.2 0-12.2-2.1-24.3-6.9-35.7 9.5-1.9 18.5-5.6 26.4-10.5 15.3 36.6 12.6 87.3-22.8 125.6zM309 233.7c-13.3 0-25.1-7.1-34.4-16.1 21.9-12 49.6-30.7 62.3-53 1.5-3 4.1-8.6 4.5-12-12.5 27.9-44.2 49.8-73.9 56.7-4.7-7.3-7.5-15.5-7.5-24.3 0-10.3 5.2-24.1 12.9-31.6 21.6-20.5 53-8.5 72.4-50 32.5 46.2 13.1 130.3-36.3 130.3z\"]\n};\nvar faViber = {\n prefix: 'fab',\n iconName: 'viber',\n icon: [512, 512, [], \"f409\", \"M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z\"]\n};\nvar faVimeo = {\n prefix: 'fab',\n iconName: 'vimeo',\n icon: [448, 512, [], \"f40a\", \"M403.2 32H44.8C20.1 32 0 52.1 0 76.8v358.4C0 459.9 20.1 480 44.8 480h358.4c24.7 0 44.8-20.1 44.8-44.8V76.8c0-24.7-20.1-44.8-44.8-44.8zM377 180.8c-1.4 31.5-23.4 74.7-66 129.4-44 57.2-81.3 85.8-111.7 85.8-18.9 0-34.8-17.4-47.9-52.3-25.5-93.3-36.4-148-57.4-148-2.4 0-10.9 5.1-25.4 15.2l-15.2-19.6c37.3-32.8 72.9-69.2 95.2-71.2 25.2-2.4 40.7 14.8 46.5 51.7 20.7 131.2 29.9 151 67.6 91.6 13.5-21.4 20.8-37.7 21.8-48.9 3.5-33.2-25.9-30.9-45.8-22.4 15.9-52.1 46.3-77.4 91.2-76 33.3.9 49 22.5 47.1 64.7z\"]\n};\nvar faVimeoSquare = {\n prefix: 'fab',\n iconName: 'vimeo-square',\n icon: [448, 512, [], \"f194\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16.2 149.6c-1.4 31.1-23.2 73.8-65.3 127.9-43.5 56.5-80.3 84.8-110.4 84.8-18.7 0-34.4-17.2-47.3-51.6-25.2-92.3-35.9-146.4-56.7-146.4-2.4 0-10.8 5-25.1 15.1L64 192c36.9-32.4 72.1-68.4 94.1-70.4 24.9-2.4 40.2 14.6 46 51.1 20.5 129.6 29.6 149.2 66.8 90.5 13.4-21.2 20.6-37.2 21.5-48.3 3.4-32.8-25.6-30.6-45.2-22.2 15.7-51.5 45.8-76.5 90.1-75.1 32.9 1 48.4 22.4 46.5 64z\"]\n};\nvar faVimeoV = {\n prefix: 'fab',\n iconName: 'vimeo-v',\n icon: [448, 512, [], \"f27d\", \"M447.8 153.6c-2 43.6-32.4 103.3-91.4 179.1-60.9 79.2-112.4 118.8-154.6 118.8-26.1 0-48.2-24.1-66.3-72.3C100.3 250 85.3 174.3 56.2 174.3c-3.4 0-15.1 7.1-35.2 21.1L0 168.2c51.6-45.3 100.9-95.7 131.8-98.5 34.9-3.4 56.3 20.5 64.4 71.5 28.7 181.5 41.4 208.9 93.6 126.7 18.7-29.6 28.8-52.1 30.2-67.6 4.8-45.9-35.8-42.8-63.3-31 22-72.1 64.1-107.1 126.2-105.1 45.8 1.2 67.5 31.1 64.9 89.4z\"]\n};\nvar faVine = {\n prefix: 'fab',\n iconName: 'vine',\n icon: [384, 512, [], \"f1ca\", \"M384 254.7v52.1c-18.4 4.2-36.9 6.1-52.1 6.1-36.9 77.4-103 143.8-125.1 156.2-14 7.9-27.1 8.4-42.7-.8C137 452 34.2 367.7 0 102.7h74.5C93.2 261.8 139 343.4 189.3 404.5c27.9-27.9 54.8-65.1 75.6-106.9-49.8-25.3-80.1-80.9-80.1-145.6 0-65.6 37.7-115.1 102.2-115.1 114.9 0 106.2 127.9 81.6 181.5 0 0-46.4 9.2-63.5-20.5 3.4-11.3 8.2-30.8 8.2-48.5 0-31.3-11.3-46.6-28.4-46.6-18.2 0-30.8 17.1-30.8 50 .1 79.2 59.4 118.7 129.9 101.9z\"]\n};\nvar faVk = {\n prefix: 'fab',\n iconName: 'vk',\n icon: [576, 512, [], \"f189\", \"M545 117.7c3.7-12.5 0-21.7-17.8-21.7h-58.9c-15 0-21.9 7.9-25.6 16.7 0 0-30 73.1-72.4 120.5-13.7 13.7-20 18.1-27.5 18.1-3.7 0-9.4-4.4-9.4-16.9V117.7c0-15-4.2-21.7-16.6-21.7h-92.6c-9.4 0-15 7-15 13.5 0 14.2 21.2 17.5 23.4 57.5v86.8c0 19-3.4 22.5-10.9 22.5-20 0-68.6-73.4-97.4-157.4-5.8-16.3-11.5-22.9-26.6-22.9H38.8c-16.8 0-20.2 7.9-20.2 16.7 0 15.6 20 93.1 93.1 195.5C160.4 378.1 229 416 291.4 416c37.5 0 42.1-8.4 42.1-22.9 0-66.8-3.4-73.1 15.4-73.1 8.7 0 23.7 4.4 58.7 38.1 40 40 46.6 57.9 69 57.9h58.9c16.8 0 25.3-8.4 20.4-25-11.2-34.9-86.9-106.7-90.3-111.5-8.7-11.2-6.2-16.2 0-26.2.1-.1 72-101.3 79.4-135.6z\"]\n};\nvar faVnv = {\n prefix: 'fab',\n iconName: 'vnv',\n icon: [640, 512, [], \"f40b\", \"M104.9 352c-34.1 0-46.4-30.4-46.4-30.4L2.6 210.1S-7.8 192 13 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.7-74.5c5.6-9.5 8.4-18.1 18.8-18.1h32.8c20.8 0 10.4 18.1 10.4 18.1l-55.8 111.5S174.2 352 140 352h-35.1zm395 0c-34.1 0-46.4-30.4-46.4-30.4l-55.9-111.5S387.2 192 408 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.8-74.5c5.6-9.5 8.4-18.1 18.8-18.1H627c20.8 0 10.4 18.1 10.4 18.1l-55.9 111.5S569.3 352 535.1 352h-35.2zM337.6 192c34.1 0 46.4 30.4 46.4 30.4l55.9 111.5s10.4 18.1-10.4 18.1h-32.8c-10.4 0-13.2-8.7-18.8-18.1l-36.7-74.5s-5.2-13.1-21.1-13.1c-15.9 0-21.1 13.1-21.1 13.1l-36.7 74.5c-5.6 9.4-8.4 18.1-18.8 18.1h-32.9c-20.8 0-10.4-18.1-10.4-18.1l55.9-111.5s12.2-30.4 46.4-30.4h35.1z\"]\n};\nvar faVuejs = {\n prefix: 'fab',\n iconName: 'vuejs',\n icon: [448, 512, [], \"f41f\", \"M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3h-91.1zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5 55.7 96.3z\"]\n};\nvar faWatchmanMonitoring = {\n prefix: 'fab',\n iconName: 'watchman-monitoring',\n icon: [512, 512, [], \"e087\", \"M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16ZM121.69,429.122C70.056,388.972,36.741,326.322,36.741,256a218.519,218.519,0,0,1,9.587-64.122l102.9-17.895-.121,10.967-13.943,2.013s-.144,12.5-.144,19.549a12.778,12.778,0,0,0,4.887,10.349l9.468,7.4Zm105.692-283.27,8.48-7.618s6.934-5.38-.143-9.344c-7.188-4.024-39.53-34.5-39.53-34.5-5.348-5.477-8.257-7.347-15.46,0,0,0-32.342,30.474-39.529,34.5-7.078,3.964-.144,9.344-.144,9.344l8.481,7.618-.048,4.369L75.982,131.045c39.644-56.938,105.532-94.3,180.018-94.3A218.754,218.754,0,0,1,420.934,111.77l-193.512,37.7Zm34.063,329.269-33.9-250.857,9.467-7.4a12.778,12.778,0,0,0,4.888-10.349c0-7.044-.144-19.549-.144-19.549l-13.943-2.013-.116-10.474,241.711,31.391A218.872,218.872,0,0,1,475.259,256C475.259,375.074,379.831,472.212,261.445,475.121Z\"]\n};\nvar faWaze = {\n prefix: 'fab',\n iconName: 'waze',\n icon: [512, 512, [], \"f83f\", \"M502.17 201.67C516.69 287.53 471.23 369.59 389 409.8c13 34.1-12.4 70.2-48.32 70.2a51.68 51.68 0 0 1-51.57-49c-6.44.19-64.2 0-76.33-.64A51.69 51.69 0 0 1 159 479.92c-33.86-1.36-57.95-34.84-47-67.92-37.21-13.11-72.54-34.87-99.62-70.8-13-17.28-.48-41.8 20.84-41.8 46.31 0 32.22-54.17 43.15-110.26C94.8 95.2 193.12 32 288.09 32c102.48 0 197.15 70.67 214.08 169.67zM373.51 388.28c42-19.18 81.33-56.71 96.29-102.14 40.48-123.09-64.15-228-181.71-228-83.45 0-170.32 55.42-186.07 136-9.53 48.91 5 131.35-68.75 131.35C58.21 358.6 91.6 378.11 127 389.54c24.66-21.8 63.87-15.47 79.83 14.34 14.22 1 79.19 1.18 87.9.82a51.69 51.69 0 0 1 78.78-16.42zM205.12 187.13c0-34.74 50.84-34.75 50.84 0s-50.84 34.74-50.84 0zm116.57 0c0-34.74 50.86-34.75 50.86 0s-50.86 34.75-50.86 0zm-122.61 70.69c-3.44-16.94 22.18-22.18 25.62-5.21l.06.28c4.14 21.42 29.85 44 64.12 43.07 35.68-.94 59.25-22.21 64.11-42.77 4.46-16.05 28.6-10.36 25.47 6-5.23 22.18-31.21 62-91.46 62.9-42.55 0-80.88-27.84-87.9-64.25z\"]\n};\nvar faWeebly = {\n prefix: 'fab',\n iconName: 'weebly',\n icon: [512, 512, [], \"f5cc\", \"M425.09 65.83c-39.88 0-73.28 25.73-83.66 64.33-18.16-58.06-65.5-64.33-84.95-64.33-19.78 0-66.8 6.28-85.28 64.33-10.38-38.6-43.45-64.33-83.66-64.33C38.59 65.83 0 99.72 0 143.03c0 28.96 4.18 33.27 77.17 233.48 22.37 60.57 67.77 69.35 92.74 69.35 39.23 0 70.04-19.46 85.93-53.98 15.89 34.83 46.69 54.29 85.93 54.29 24.97 0 70.36-9.1 92.74-69.67 76.55-208.65 77.5-205.58 77.5-227.2.63-48.32-36.01-83.47-86.92-83.47zm26.34 114.81l-65.57 176.44c-7.92 21.49-21.22 37.22-46.24 37.22-23.44 0-37.38-12.41-44.03-33.9l-39.28-117.42h-.95L216.08 360.4c-6.96 21.5-20.9 33.6-44.02 33.6-25.02 0-38.33-15.74-46.24-37.22L60.88 181.55c-5.38-14.83-7.92-23.91-7.92-34.5 0-16.34 15.84-29.36 38.33-29.36 18.69 0 31.99 11.8 36.11 29.05l44.03 139.82h.95l44.66-136.79c6.02-19.67 16.47-32.08 38.96-32.08s32.94 12.11 38.96 32.08l44.66 136.79h.95l44.03-139.82c4.12-17.25 17.42-29.05 36.11-29.05 22.17 0 38.33 13.32 38.33 35.71-.32 7.87-4.12 16.04-7.61 27.24z\"]\n};\nvar faWeibo = {\n prefix: 'fab',\n iconName: 'weibo',\n icon: [512, 512, [], \"f18a\", \"M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8.3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4.6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z\"]\n};\nvar faWeixin = {\n prefix: 'fab',\n iconName: 'weixin',\n icon: [576, 512, [], \"f1d7\", \"M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z\"]\n};\nvar faWhatsapp = {\n prefix: 'fab',\n iconName: 'whatsapp',\n icon: [448, 512, [], \"f232\", \"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"]\n};\nvar faWhatsappSquare = {\n prefix: 'fab',\n iconName: 'whatsapp-square',\n icon: [448, 512, [], \"f40c\", \"M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z\"]\n};\nvar faWhmcs = {\n prefix: 'fab',\n iconName: 'whmcs',\n icon: [448, 512, [], \"f40d\", \"M448 161v-21.3l-28.5-8.8-2.2-10.4 20.1-20.7L427 80.4l-29 7.5-7.2-7.5 7.5-28.2-19.1-11.6-21.3 21-10.7-3.2-7-26.4h-22.6l-6.2 26.4-12.1 3.2-19.7-21-19.4 11 8.1 27.7-8.1 8.4-28.5-7.5-11 19.1 20.7 21-2.9 10.4-28.5 7.8-.3 21.7 28.8 7.5 2.4 12.1-20.1 19.9 10.4 18.5 29.6-7.5 7.2 8.6-8.1 26.9 19.9 11.6 19.4-20.4 11.6 2.9 6.7 28.5 22.6.3 6.7-28.8 11.6-3.5 20.7 21.6 20.4-12.1-8.8-28 7.8-8.1 28.8 8.8 10.3-20.1-20.9-18.8 2.2-12.1 29.1-7zm-119.2 45.2c-31.3 0-56.8-25.4-56.8-56.8s25.4-56.8 56.8-56.8 56.8 25.4 56.8 56.8c0 31.5-25.4 56.8-56.8 56.8zm72.3 16.4l46.9 14.5V277l-55.1 13.4-4.1 22.7 38.9 35.3-19.2 37.9-54-16.7-14.6 15.2 16.7 52.5-38.3 22.7-38.9-40.5-21.7 6.6-12.6 54-42.4-.5-12.6-53.6-21.7-5.6-36.4 38.4-37.4-21.7 15.2-50.5-13.7-16.1-55.5 14.1-19.7-34.8 37.9-37.4-4.8-22.8-54-14.1.5-40.9L54 219.9l5.7-19.7-38.9-39.4L41.5 125l53.6 14.1 15.2-15.7-15.2-52 36.4-20.7 36.8 39.4L191 84l11.6-52H245l11.6 45.9L234 72l-6.3-1.7-3.3 5.7-11 19.1-3.3 5.6 4.6 4.6 17.2 17.4-.3 1-23.8 6.5-6.2 1.7-.1 6.4-.2 12.9C153.8 161.6 118 204 118 254.7c0 58.3 47.3 105.7 105.7 105.7 50.5 0 92.7-35.4 103.2-82.8l13.2.2 6.9.1 1.6-6.7 5.6-24 1.9-.6 17.1 17.8 4.7 4.9 5.8-3.4 20.4-12.1 5.8-3.5-2-6.5-6.8-21.2z\"]\n};\nvar faWikipediaW = {\n prefix: 'fab',\n iconName: 'wikipedia-w',\n icon: [640, 512, [], \"f266\", \"M640 51.2l-.3 12.2c-28.1.8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3.3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4.2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5.3v13.1c-19.4.6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4.3-3.6 0-10.3.3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5.8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1.2.5z\"]\n};\nvar faWindows = {\n prefix: 'fab',\n iconName: 'windows',\n icon: [448, 512, [], \"f17a\", \"M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z\"]\n};\nvar faWix = {\n prefix: 'fab',\n iconName: 'wix',\n icon: [640, 512, [], \"f5cf\", \"M393.38 131.69c0 13.03 2.08 32.69-28.68 43.83-9.52 3.45-15.95 9.66-15.95 9.66 0-31 4.72-42.22 17.4-48.86 9.75-5.11 27.23-4.63 27.23-4.63zm-115.8 35.54l-34.24 132.66-28.48-108.57c-7.69-31.99-20.81-48.53-48.43-48.53-27.37 0-40.66 16.18-48.43 48.53L89.52 299.89 55.28 167.23C49.73 140.51 23.86 128.96 0 131.96l65.57 247.93s21.63 1.56 32.46-3.96c14.22-7.25 20.98-12.84 29.59-46.57 7.67-30.07 29.11-118.41 31.12-124.7 4.76-14.94 11.09-13.81 15.4 0 1.97 6.3 23.45 94.63 31.12 124.7 8.6 33.73 15.37 39.32 29.59 46.57 10.82 5.52 32.46 3.96 32.46 3.96l65.57-247.93c-24.42-3.07-49.82 8.93-55.3 35.27zm115.78 5.21s-4.1 6.34-13.46 11.57c-6.01 3.36-11.78 5.64-17.97 8.61-15.14 7.26-13.18 13.95-13.18 35.2v152.07s16.55 2.09 27.37-3.43c13.93-7.1 17.13-13.95 17.26-44.78V181.41l-.02.01v-8.98zm163.44 84.08L640 132.78s-35.11-5.98-52.5 9.85c-13.3 12.1-24.41 29.55-54.18 72.47-.47.73-6.25 10.54-13.07 0-29.29-42.23-40.8-60.29-54.18-72.47-17.39-15.83-52.5-9.85-52.5-9.85l83.2 123.74-82.97 123.36s36.57 4.62 53.95-11.21c11.49-10.46 17.58-20.37 52.51-70.72 6.81-10.52 12.57-.77 13.07 0 29.4 42.38 39.23 58.06 53.14 70.72 17.39 15.83 53.32 11.21 53.32 11.21L556.8 256.52z\"]\n};\nvar faWizardsOfTheCoast = {\n prefix: 'fab',\n iconName: 'wizards-of-the-coast',\n icon: [640, 512, [], \"f730\", \"M219.19 345.69c-1.9 1.38-11.07 8.44-.26 23.57 4.64 6.42 14.11 12.79 21.73 6.55 6.5-4.88 7.35-12.92.26-23.04-5.47-7.76-14.28-12.88-21.73-7.08zm336.75 75.94c-.34 1.7-.55 1.67.79 0 2.09-4.19 4.19-10.21 4.98-19.9 3.14-38.49-40.33-71.49-101.34-78.03-54.73-6.02-124.38 9.17-188.8 60.49l-.26 1.57c2.62 4.98 4.98 10.74 3.4 21.21l.79.26c63.89-58.4 131.19-77.25 184.35-73.85 58.4 3.67 100.03 34.04 100.03 68.08-.01 9.96-2.63 15.72-3.94 20.17zM392.28 240.42c.79 7.07 4.19 10.21 9.17 10.47 5.5.26 9.43-2.62 10.47-6.55.79-3.4 2.09-29.85 2.09-29.85s-11.26 6.55-14.93 10.47c-3.66 3.68-7.33 8.39-6.8 15.46zm-50.02-151.1C137.75 89.32 13.1 226.8.79 241.2c-1.05.52-1.31.79.79 1.31 60.49 16.5 155.81 81.18 196.13 202.16l1.05.26c55.25-69.92 140.88-128.05 236.99-128.05 80.92 0 130.15 42.16 130.15 80.39 0 18.33-6.55 33.52-22.26 46.35 0 .96-.2.79.79.79 14.66-10.74 27.5-28.8 27.5-48.18 0-22.78-12.05-38.23-12.05-38.23 7.07 7.07 10.74 16.24 10.74 16.24 5.76-40.85 26.97-62.32 26.97-62.32-2.36-9.69-6.81-17.81-6.81-17.81 7.59 8.12 14.4 27.5 14.4 41.37 0 10.47-3.4 22.78-12.57 31.95l.26.52c8.12-4.98 16.5-16.76 16.5-37.97 0-15.71-4.71-25.92-4.71-25.92 5.76-5.24 11.26-9.17 15.97-11.78.79 3.4 2.09 9.69 2.36 14.93 0 1.05.79 1.83 1.05 0 .79-5.76-.26-16.24-.26-16.5 6.02-3.14 9.69-4.45 9.69-4.45C617.74 176 489.43 89.32 342.26 89.32zm-99.24 289.62c-11.06 8.99-24.2 4.08-30.64-4.19-7.45-9.58-6.76-24.09 4.19-32.47 14.85-11.35 27.08-.49 31.16 5.5.28.39 12.13 16.57-4.71 31.16zm2.09-136.43l9.43-17.81 11.78 70.96-12.57 6.02-24.62-28.8 14.14-26.71 3.67 4.45-1.83-8.11zm18.59 117.58l-.26-.26c2.05-4.1-2.5-6.61-17.54-31.69-1.31-2.36-3.14-2.88-4.45-2.62l-.26-.52c7.86-5.76 15.45-10.21 25.4-15.71l.52.26c1.31 1.83 2.09 2.88 3.4 4.71l-.26.52c-1.05-.26-2.36-.79-5.24.26-2.09.79-7.86 3.67-12.31 7.59v1.31c1.57 2.36 3.93 6.55 5.76 9.69h.26c10.05-6.28 7.56-4.55 11.52-7.86h.26c.52 1.83.52 1.83 1.83 5.5l-.26.26c-3.06.61-4.65.34-11.52 5.5v.26c9.46 17.02 11.01 16.75 12.57 15.97l.26.26c-2.34 1.59-6.27 4.21-9.68 6.57zm55.26-32.47c-3.14 1.57-6.02 2.88-9.95 4.98l-.26-.26c1.29-2.59 1.16-2.71-11.78-32.47l-.26-.26c-.15 0-8.9 3.65-9.95 7.33h-.52l-1.05-5.76.26-.52c7.29-4.56 25.53-11.64 27.76-12.57l.52.26 3.14 4.98-.26.52c-3.53-1.76-7.35.76-12.31 2.62v.26c12.31 32.01 12.67 30.64 14.66 30.64v.25zm44.77-16.5c-4.19 1.05-5.24 1.31-9.69 2.88l-.26-.26.52-4.45c-1.05-3.4-3.14-11.52-3.67-13.62l-.26-.26c-3.4.79-8.9 2.62-12.83 3.93l-.26.26c.79 2.62 3.14 9.95 4.19 13.88.79 2.36 1.83 2.88 2.88 3.14v.52c-3.67 1.05-7.07 2.62-10.21 3.93l-.26-.26c1.05-1.31 1.05-2.88.26-4.98-1.05-3.14-8.12-23.83-9.17-27.23-.52-1.83-1.57-3.14-2.62-3.14v-.52c3.14-1.05 6.02-2.09 10.74-3.4l.26.26-.26 4.71c1.31 3.93 2.36 7.59 3.14 9.69h.26c3.93-1.31 9.43-2.88 12.83-3.93l.26-.26-2.62-9.43c-.52-1.83-1.05-3.4-2.62-3.93v-.26c4.45-1.05 7.33-1.83 10.74-2.36l.26.26c-1.05 1.31-1.05 2.88-.52 4.45 1.57 6.28 4.71 20.43 6.28 26.45.54 2.62 1.85 3.41 2.63 3.93zm32.21-6.81l-.26.26c-4.71.52-14.14 2.36-22.52 4.19l-.26-.26.79-4.19c-1.57-7.86-3.4-18.59-4.98-26.19-.26-1.83-.79-2.88-2.62-3.67l.79-.52c9.17-1.57 20.16-2.36 24.88-2.62l.26.26c.52 2.36.79 3.14 1.57 5.5l-.26.26c-1.14-1.14-3.34-3.2-16.24-.79l-.26.26c.26 1.57 1.05 6.55 1.57 9.95l.26.26c9.52-1.68 4.76-.06 10.74-2.36h.26c0 1.57-.26 1.83-.26 5.24h-.26c-4.81-1.03-2.15-.9-10.21 0l-.26.26c.26 2.09 1.57 9.43 2.09 12.57l.26.26c1.15.38 14.21-.65 16.24-4.71h.26c-.53 2.38-1.05 4.21-1.58 6.04zm10.74-44.51c-4.45 2.36-8.12 2.88-11 2.88-.25.02-11.41 1.09-17.54-9.95-6.74-10.79-.98-25.2 5.5-31.69 8.8-8.12 23.35-10.1 28.54-17.02 8.03-10.33-13.04-22.31-29.59-5.76l-2.62-2.88 5.24-16.24c25.59-1.57 45.2-3.04 50.02 16.24.79 3.14 0 9.43-.26 12.05 0 2.62-1.83 18.85-2.09 23.04-.52 4.19-.79 18.33-.79 20.69.26 2.36.52 4.19 1.57 5.5 1.57 1.83 5.76 1.83 5.76 1.83l-.79 4.71c-11.82-1.07-10.28-.59-20.43-1.05-3.22-5.15-2.23-3.28-4.19-7.86 0 .01-4.19 3.94-7.33 5.51zm37.18 21.21c-6.35-10.58-19.82-7.16-21.73 5.5-2.63 17.08 14.3 19.79 20.69 10.21l.26.26c-.52 1.83-1.83 6.02-1.83 6.28l-.52.52c-10.3 6.87-28.5-2.5-25.66-18.59 1.94-10.87 14.44-18.93 28.8-9.95l.26.52c0 1.06-.27 3.41-.27 5.25zm5.77-87.73v-6.55c.69 0 19.65 3.28 27.76 7.33l-1.57 17.54s10.21-9.43 15.45-10.74c5.24-1.57 14.93 7.33 14.93 7.33l-11.26 11.26c-12.07-6.35-19.59-.08-20.69.79-5.29 38.72-8.6 42.17 4.45 46.09l-.52 4.71c-17.55-4.29-18.53-4.5-36.92-7.33l.79-4.71c7.25 0 7.48-5.32 7.59-6.81 0 0 4.98-53.16 4.98-55.25-.02-2.87-4.99-3.66-4.99-3.66zm10.99 114.44c-8.12-2.09-14.14-11-10.74-20.69 3.14-9.43 12.31-12.31 18.85-10.21 9.17 2.62 12.83 11.78 10.74 19.38-2.61 8.9-9.42 13.87-18.85 11.52zm42.16 9.69c-2.36-.52-7.07-2.36-8.64-2.88v-.26l1.57-1.83c.59-8.24.59-7.27.26-7.59-4.82-1.81-6.66-2.36-7.07-2.36-1.31 1.83-2.88 4.45-3.67 5.5l-.79 3.4v.26c-1.31-.26-3.93-1.31-6.02-1.57v-.26l2.62-1.83c3.4-4.71 9.95-14.14 13.88-20.16v-2.09l.52-.26c2.09.79 5.5 2.09 7.59 2.88.48.48.18-1.87-1.05 25.14-.24 1.81.02 2.6.8 3.91zm-4.71-89.82c11.25-18.27 30.76-16.19 34.04-3.4L539.7 198c2.34-6.25-2.82-9.9-4.45-11.26l1.83-3.67c12.22 10.37 16.38 13.97 22.52 20.43-25.91 73.07-30.76 80.81-24.62 84.32l-1.83 4.45c-6.37-3.35-8.9-4.42-17.81-8.64l2.09-6.81c-.26-.26-3.93 3.93-9.69 3.67-19.06-1.3-22.89-31.75-9.67-52.9zm29.33 79.34c0-5.71-6.34-7.89-7.86-5.24-1.31 2.09 1.05 4.98 2.88 8.38 1.57 2.62 2.62 6.28 1.05 9.43-2.64 6.34-12.4 5.31-15.45-.79 0-.7-.27.09 1.83-4.71l.79-.26c-.57 5.66 6.06 9.61 8.38 4.98 1.05-2.09-.52-5.5-2.09-8.38-1.57-2.62-3.67-6.28-1.83-9.69 2.72-5.06 11.25-4.47 14.66 2.36v.52l-2.36 3.4zm21.21 13.36c-1.96-3.27-.91-2.14-4.45-4.71h-.26c-2.36 4.19-5.76 10.47-8.64 16.24-1.31 2.36-1.05 3.4-.79 3.93l-.26.26-5.76-4.45.26-.26 2.09-1.31c3.14-5.76 6.55-12.05 9.17-17.02v-.26c-2.64-1.98-1.22-1.51-6.02-1.83v-.26l3.14-3.4h.26c3.67 2.36 9.95 6.81 12.31 8.9l.26.26-1.31 3.91zm27.23-44.26l-2.88-2.88c.79-2.36 1.83-4.98 2.09-7.59.75-9.74-11.52-11.84-11.52-4.98 0 4.98 7.86 19.38 7.86 27.76 0 10.21-5.76 15.71-13.88 16.5-8.38.79-20.16-10.47-20.16-10.47l4.98-14.4 2.88 2.09c-2.97 17.8 17.68 20.37 13.35 5.24-1.06-4.02-18.75-34.2 2.09-38.23 13.62-2.36 23.04 16.5 23.04 16.5l-7.85 10.46zm35.62-10.21c-11-30.38-60.49-127.53-191.95-129.62-53.42-1.05-94.27 15.45-132.76 37.97l85.63-9.17-91.39 20.69 25.14 19.64-3.93-16.5c7.5-1.71 39.15-8.45 66.77-8.9l-22.26 80.39c13.61-.7 18.97-8.98 19.64-22.78l4.98-1.05.26 26.71c-22.46 3.21-37.3 6.69-49.49 9.95l13.09-43.21-61.54-36.66 2.36 8.12 10.21 4.98c6.28 18.59 19.38 56.56 20.43 58.66 1.95 4.28 3.16 5.78 12.05 4.45l1.05 4.98c-16.08 4.86-23.66 7.61-39.02 14.4l-2.36-4.71c4.4-2.94 8.73-3.94 5.5-12.83-23.7-62.5-21.48-58.14-22.78-59.44l2.36-4.45 33.52 67.3c-3.84-11.87 1.68 1.69-32.99-78.82l-41.9 88.51 4.71-13.88-35.88-42.16 27.76 93.48-11.78 8.38C95 228.58 101.05 231.87 93.23 231.52c-5.5-.26-13.62 5.5-13.62 5.5L74.63 231c30.56-23.53 31.62-24.33 58.4-42.68l4.19 7.07s-5.76 4.19-7.86 7.07c-5.9 9.28 1.67 13.28 61.8 75.68l-18.85-58.92 39.8-10.21 25.66 30.64 4.45-12.31-4.98-24.62 13.09-3.4.52 3.14 3.67-10.47-94.27 29.33 11.26-4.98-13.62-42.42 17.28-9.17 30.11 36.14 28.54-13.09c-1.41-7.47-2.47-14.5-4.71-19.64l17.28 13.88 4.71-2.09-59.18-42.68 23.08 11.5c18.98-6.07 25.23-7.47 32.21-9.69l2.62 11c-12.55 12.55 1.43 16.82 6.55 19.38l-13.62-61.01 12.05 28.28c4.19-1.31 7.33-2.09 7.33-2.09l2.62 8.64s-3.14 1.05-6.28 2.09l8.9 20.95 33.78-65.73-20.69 61.01c42.42-24.09 81.44-36.66 131.98-35.88 67.04 1.05 167.33 40.85 199.8 139.83.78 2.1-.01 2.63-.79.27zM203.48 152.43s1.83-.52 4.19-1.31l9.43 7.59c-.4 0-3.44-.25-11.26 2.36l-2.36-8.64zm143.76 38.5c-1.57-.6-26.46-4.81-33.26 20.69l21.73 17.02 11.53-37.71zM318.43 67.07c-58.4 0-106.05 12.05-114.96 14.4v.79c8.38 2.09 14.4 4.19 21.21 11.78l1.57.26c6.55-1.83 48.97-13.88 110.24-13.88 180.16 0 301.67 116.79 301.67 223.37v9.95c0 1.31.79 2.62 1.05.52.52-2.09.79-8.64.79-19.64.26-83.79-96.63-227.55-321.57-227.55zm211.06 169.68c1.31-5.76 0-12.31-7.33-13.09-9.62-1.13-16.14 23.79-17.02 33.52-.79 5.5-1.31 14.93 6.02 14.93 4.68-.01 9.72-.91 18.33-35.36zm-61.53 42.95c-2.62-.79-9.43-.79-12.57 10.47-1.83 6.81.52 13.35 6.02 14.66 3.67 1.05 8.9.52 11.78-10.74 2.62-9.94-1.83-13.61-5.23-14.39zM491 300.65c1.83.52 3.14 1.05 5.76 1.83 0-1.83.52-8.38.79-12.05-1.05 1.31-5.5 8.12-6.55 9.95v.27z\"]\n};\nvar faWodu = {\n prefix: 'fab',\n iconName: 'wodu',\n icon: [640, 512, [], \"e088\", \"M178.414 339.706H141.1L112.166 223.475h-.478L83.228 339.706H45.2L0 168.946H37.548L64.574 285.177h.478L94.707 168.946h35.157l29.178 117.667h.479L187.5 168.946h36.831zM271.4 212.713c38.984 0 64.1 25.828 64.1 65.291 0 39.222-25.111 65.05-64.1 65.05-38.743 0-63.855-25.828-63.855-65.05C207.547 238.541 232.659 212.713 271.4 212.713zm0 104.753c23.2 0 30.133-19.852 30.133-39.462 0-19.852-6.934-39.7-30.133-39.7-27.7 0-29.894 19.85-29.894 39.7C241.508 297.614 248.443 317.466 271.4 317.466zM435.084 323.922h-.478c-7.893 13.392-21.765 19.132-37.548 19.132-37.31 0-55.485-32.045-55.485-66.246 0-33.243 18.415-64.095 54.767-64.095 14.589 0 28.938 6.218 36.831 18.416h.24V168.946h33.96v170.76H435.084zM405.428 238.3c-22.24 0-29.894 19.134-29.894 39.463 0 19.371 8.848 39.7 29.894 39.7 22.482 0 29.178-19.613 29.178-39.94C434.606 257.436 427.432 238.3 405.428 238.3zM592.96 339.706H560.673V322.487h-.718c-8.609 13.87-23.436 20.567-37.786 20.567-36.113 0-45.2-20.328-45.2-50.941V216.061h33.959V285.9c0 20.329 5.979 30.372 21.765 30.372 18.415 0 26.306-10.283 26.306-35.393V216.061H592.96zM602.453 302.876H640v36.83H602.453z\"]\n};\nvar faWolfPackBattalion = {\n prefix: 'fab',\n iconName: 'wolf-pack-battalion',\n icon: [512, 512, [], \"f514\", \"M267.73 471.53l10.56 15.84 5.28-12.32 5.28 7V512c21.06-7.92 21.11-66.86 25.51-97.21 4.62-31.89-.88-92.81 81.37-149.11-8.88-23.61-12-49.43-2.64-80.05C421 189 447 196.21 456.43 239.73l-30.35 8.36c11.15 23 17 46.76 13.2 72.14L412 313.18l-6.16 33.43-18.47-7-8.8 33.39-19.35-7 26.39 21.11 8.8-28.15L419 364.2l7-35.63 26.39 14.52c.25-20 7-58.06-8.8-84.45l26.39 5.28c4-22.07-2.38-39.21-7.92-56.74l22.43 9.68c-.44-25.07-29.94-56.79-61.58-58.5-20.22-1.09-56.74-25.17-54.1-51.9 2-19.87 17.45-42.62 43.11-49.7-44 36.51-9.68 67.3 5.28 73.46 4.4-11.44 17.54-69.08 0-130.2-40.39 22.87-89.65 65.1-93.2 147.79l-58 38.71-3.52 93.25L369.78 220l7 7-17.59 3.52-44 38.71-15.84-5.28-28.1 49.25-3.52 119.64 21.11 15.84-32.55 15.84-32.55-15.84 21.11-15.84-3.52-119.64-28.15-49.26-15.84 5.28-44-38.71-17.58-3.51 7-7 107.33 59.82-3.52-93.25-58.06-38.71C185 65.1 135.77 22.87 95.3 0c-17.54 61.12-4.4 118.76 0 130.2 15-6.16 49.26-36.95 5.28-73.46 25.66 7.08 41.15 29.83 43.11 49.7 2.63 26.74-33.88 50.81-54.1 51.9-31.65 1.72-61.15 33.44-61.59 58.51l22.43-9.68c-5.54 17.53-11.91 34.67-7.92 56.74l26.39-5.28c-15.76 26.39-9.05 64.43-8.8 84.45l26.39-14.52 7 35.63 24.63-5.28 8.8 28.15L153.35 366 134 373l-8.8-33.43-18.47 7-6.16-33.43-27.27 7c-3.82-25.38 2-49.1 13.2-72.14l-30.35-8.36c9.4-43.52 35.47-50.77 63.34-54.1 9.36 30.62 6.24 56.45-2.64 80.05 82.25 56.3 76.75 117.23 81.37 149.11 4.4 30.35 4.45 89.29 25.51 97.21v-29.83l5.28-7 5.28 12.32 10.56-15.84 11.44 21.11 11.43-21.1zm79.17-95L331.06 366c7.47-4.36 13.76-8.42 19.35-12.32-.6 7.22-.27 13.84-3.51 22.84zm28.15-49.26c-.4 10.94-.9 21.66-1.76 31.67-7.85-1.86-15.57-3.8-21.11-7 8.24-7.94 15.55-16.32 22.87-24.68zm24.63 5.28c0-13.43-2.05-24.21-5.28-33.43a235 235 0 0 1-18.47 27.27zm3.52-80.94c19.44 12.81 27.8 33.66 29.91 56.3-12.32-4.53-24.63-9.31-36.95-10.56 5.06-12 6.65-28.14 7-45.74zm-1.76-45.74c.81 14.3 1.84 28.82 1.76 42.23 19.22-8.11 29.78-9.72 44-14.08-10.61-18.96-27.2-25.53-45.76-28.16zM165.68 376.52L181.52 366c-7.47-4.36-13.76-8.42-19.35-12.32.6 7.26.27 13.88 3.51 22.88zm-28.15-49.26c.4 10.94.9 21.66 1.76 31.67 7.85-1.86 15.57-3.8 21.11-7-8.24-7.93-15.55-16.31-22.87-24.67zm-24.64 5.28c0-13.43 2-24.21 5.28-33.43a235 235 0 0 0 18.47 27.27zm-3.52-80.94c-19.44 12.81-27.8 33.66-29.91 56.3 12.32-4.53 24.63-9.31 37-10.56-5-12-6.65-28.14-7-45.74zm1.76-45.74c-.81 14.3-1.84 28.82-1.76 42.23-19.22-8.11-29.78-9.72-44-14.08 10.63-18.95 27.23-25.52 45.76-28.15z\"]\n};\nvar faWordpress = {\n prefix: 'fab',\n iconName: 'wordpress',\n icon: [512, 512, [], \"f19a\", \"M61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6zm337.9 75.9c0-26.3-9.4-44.5-17.5-58.7-10.8-17.5-20.9-32.4-20.9-49.9 0-19.6 14.8-37.8 35.7-37.8.9 0 1.8.1 2.8.2-37.9-34.7-88.3-55.9-143.7-55.9-74.3 0-139.7 38.1-177.8 95.9 5 .2 9.7.3 13.7.3 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2-11.5-.7-10.1-18.2 1.3-17.5 0 0 35.1 2.7 56 2.7 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l76.9 228.7 21.2-70.9c9-29.4 16-50.5 16-68.7zm-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7 24.8 0 48.5-4.3 70.6-12.1-.6-.9-1.1-1.9-1.5-2.9l-65.4-179.2zm183-120.7c.9 6.8 1.4 14 1.4 21.9 0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1zM504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256 8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248zm-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6z\"]\n};\nvar faWordpressSimple = {\n prefix: 'fab',\n iconName: 'wordpress-simple',\n icon: [512, 512, [], \"f411\", \"M256 8C119.3 8 8 119.2 8 256c0 136.7 111.3 248 248 248s248-111.3 248-248C504 119.2 392.7 8 256 8zM33 256c0-32.3 6.9-63 19.3-90.7l106.4 291.4C84.3 420.5 33 344.2 33 256zm223 223c-21.9 0-43-3.2-63-9.1l66.9-194.4 68.5 187.8c.5 1.1 1 2.1 1.6 3.1-23.1 8.1-48 12.6-74 12.6zm30.7-327.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-21.9 0-58.7-2.8-58.7-2.8-12-.7-13.4 17.7-1.4 18.4 0 0 11.4 1.4 23.4 2.1l34.7 95.2L200.6 393l-81.2-241.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-4.2 0-9.1-.1-14.4-.3C109.6 73 178.1 33 256 33c58 0 110.9 22.2 150.6 58.5-1-.1-1.9-.2-2.9-.2-21.9 0-37.4 19.1-37.4 39.6 0 18.4 10.6 33.9 21.9 52.3 8.5 14.8 18.4 33.9 18.4 61.5 0 19.1-7.3 41.2-17 72.1l-22.2 74.3-80.7-239.6zm81.4 297.2l68.1-196.9c12.7-31.8 17-57.2 17-79.9 0-8.2-.5-15.8-1.5-22.9 17.4 31.8 27.3 68.2 27.3 107 0 82.3-44.6 154.1-110.9 192.7z\"]\n};\nvar faWpbeginner = {\n prefix: 'fab',\n iconName: 'wpbeginner',\n icon: [512, 512, [], \"f297\", \"M462.799 322.374C519.01 386.682 466.961 480 370.944 480c-39.602 0-78.824-17.687-100.142-50.04-6.887.356-22.702.356-29.59 0C219.848 462.381 180.588 480 141.069 480c-95.49 0-148.348-92.996-91.855-157.626C-29.925 190.523 80.479 32 256.006 32c175.632 0 285.87 158.626 206.793 290.374zm-339.647-82.972h41.529v-58.075h-41.529v58.075zm217.18 86.072v-23.839c-60.506 20.915-132.355 9.198-187.589-33.971l.246 24.897c51.101 46.367 131.746 57.875 187.343 32.913zm-150.753-86.072h166.058v-58.075H189.579v58.075z\"]\n};\nvar faWpexplorer = {\n prefix: 'fab',\n iconName: 'wpexplorer',\n icon: [512, 512, [], \"f2de\", \"M512 256c0 141.2-114.7 256-256 256C114.8 512 0 397.3 0 256S114.7 0 256 0s256 114.7 256 256zm-32 0c0-123.2-100.3-224-224-224C132.5 32 32 132.5 32 256s100.5 224 224 224 224-100.5 224-224zM160.9 124.6l86.9 37.1-37.1 86.9-86.9-37.1 37.1-86.9zm110 169.1l46.6 94h-14.6l-50-100-48.9 100h-14l51.1-106.9-22.3-9.4 6-14 68.6 29.1-6 14.3-16.5-7.1zm-11.8-116.3l68.6 29.4-29.4 68.3L230 246l29.1-68.6zm80.3 42.9l54.6 23.1-23.4 54.3-54.3-23.1 23.1-54.3z\"]\n};\nvar faWpforms = {\n prefix: 'fab',\n iconName: 'wpforms',\n icon: [448, 512, [], \"f298\", \"M448 75.2v361.7c0 24.3-19 43.2-43.2 43.2H43.2C19.3 480 0 461.4 0 436.8V75.2C0 51.1 18.8 32 43.2 32h361.7c24 0 43.1 18.8 43.1 43.2zm-37.3 361.6V75.2c0-3-2.6-5.8-5.8-5.8h-9.3L285.3 144 224 94.1 162.8 144 52.5 69.3h-9.3c-3.2 0-5.8 2.8-5.8 5.8v361.7c0 3 2.6 5.8 5.8 5.8h361.7c3.2.1 5.8-2.7 5.8-5.8zM150.2 186v37H76.7v-37h73.5zm0 74.4v37.3H76.7v-37.3h73.5zm11.1-147.3l54-43.7H96.8l64.5 43.7zm210 72.9v37h-196v-37h196zm0 74.4v37.3h-196v-37.3h196zm-84.6-147.3l64.5-43.7H232.8l53.9 43.7zM371.3 335v37.3h-99.4V335h99.4z\"]\n};\nvar faWpressr = {\n prefix: 'fab',\n iconName: 'wpressr',\n icon: [496, 512, [], \"f3e4\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm171.33 158.6c-15.18 34.51-30.37 69.02-45.63 103.5-2.44 5.51-6.89 8.24-12.97 8.24-23.02-.01-46.03.06-69.05-.05-5.12-.03-8.25 1.89-10.34 6.72-10.19 23.56-20.63 47-30.95 70.5-1.54 3.51-4.06 5.29-7.92 5.29-45.94-.01-91.87-.02-137.81 0-3.13 0-5.63-1.15-7.72-3.45-11.21-12.33-22.46-24.63-33.68-36.94-2.69-2.95-2.79-6.18-1.21-9.73 8.66-19.54 17.27-39.1 25.89-58.66 12.93-29.35 25.89-58.69 38.75-88.08 1.7-3.88 4.28-5.68 8.54-5.65 14.24.1 28.48.02 42.72.05 6.24.01 9.2 4.84 6.66 10.59-13.6 30.77-27.17 61.55-40.74 92.33-5.72 12.99-11.42 25.99-17.09 39-3.91 8.95 7.08 11.97 10.95 5.6.23-.37-1.42 4.18 30.01-67.69 1.36-3.1 3.41-4.4 6.77-4.39 15.21.08 30.43.02 45.64.04 5.56.01 7.91 3.64 5.66 8.75-8.33 18.96-16.71 37.9-24.98 56.89-4.98 11.43 8.08 12.49 11.28 5.33.04-.08 27.89-63.33 32.19-73.16 2.02-4.61 5.44-6.51 10.35-6.5 26.43.05 52.86 0 79.29.05 12.44.02 13.93-13.65 3.9-13.64-25.26.03-50.52.02-75.78.02-6.27 0-7.84-2.47-5.27-8.27 5.78-13.06 11.59-26.11 17.3-39.21 1.73-3.96 4.52-5.79 8.84-5.78 23.09.06 25.98.02 130.78.03 6.08-.01 8.03 2.79 5.62 8.27z\"]\n};\nvar faXbox = {\n prefix: 'fab',\n iconName: 'xbox',\n icon: [512, 512, [], \"f412\", \"M369.9 318.2c44.3 54.3 64.7 98.8 54.4 118.7-7.9 15.1-56.7 44.6-92.6 55.9-29.6 9.3-68.4 13.3-100.4 10.2-38.2-3.7-76.9-17.4-110.1-39C93.3 445.8 87 438.3 87 423.4c0-29.9 32.9-82.3 89.2-142.1 32-33.9 76.5-73.7 81.4-72.6 9.4 2.1 84.3 75.1 112.3 109.5zM188.6 143.8c-29.7-26.9-58.1-53.9-86.4-63.4-15.2-5.1-16.3-4.8-28.7 8.1-29.2 30.4-53.5 79.7-60.3 122.4-5.4 34.2-6.1 43.8-4.2 60.5 5.6 50.5 17.3 85.4 40.5 120.9 9.5 14.6 12.1 17.3 9.3 9.9-4.2-11-.3-37.5 9.5-64 14.3-39 53.9-112.9 120.3-194.4zm311.6 63.5C483.3 127.3 432.7 77 425.6 77c-7.3 0-24.2 6.5-36 13.9-23.3 14.5-41 31.4-64.3 52.8C367.7 197 427.5 283.1 448.2 346c6.8 20.7 9.7 41.1 7.4 52.3-1.7 8.5-1.7 8.5 1.4 4.6 6.1-7.7 19.9-31.3 25.4-43.5 7.4-16.2 15-40.2 18.6-58.7 4.3-22.5 3.9-70.8-.8-93.4zM141.3 43C189 40.5 251 77.5 255.6 78.4c.7.1 10.4-4.2 21.6-9.7 63.9-31.1 94-25.8 107.4-25.2-63.9-39.3-152.7-50-233.9-11.7-23.4 11.1-24 11.9-9.4 11.2z\"]\n};\nvar faXing = {\n prefix: 'fab',\n iconName: 'xing',\n icon: [384, 512, [], \"f168\", \"M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8.3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1.2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z\"]\n};\nvar faXingSquare = {\n prefix: 'fab',\n iconName: 'xing-square',\n icon: [448, 512, [], \"f169\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM140.4 320.2H93.8c-5.5 0-8.7-5.3-6-10.3l49.3-86.7c.1 0 .1-.1 0-.2l-31.4-54c-3-5.6.2-10.1 6-10.1h46.6c5.2 0 9.5 2.9 12.9 8.7l31.9 55.3c-1.3 2.3-18 31.7-50.1 88.2-3.5 6.2-7.7 9.1-12.6 9.1zm219.7-214.1L257.3 286.8v.2l65.5 119c2.8 5.1.1 10.1-6 10.1h-46.6c-5.5 0-9.7-2.9-12.9-8.7l-66-120.3c2.3-4.1 36.8-64.9 103.4-182.3 3.3-5.8 7.4-8.7 12.5-8.7h46.9c5.7-.1 8.8 4.7 6 10z\"]\n};\nvar faYCombinator = {\n prefix: 'fab',\n iconName: 'y-combinator',\n icon: [448, 512, [], \"f23b\", \"M448 32v448H0V32h448zM236 287.5L313.5 142h-32.7L235 233c-4.7 9.3-9 18.3-12.8 26.8L210 233l-45.2-91h-35l76.7 143.8v94.5H236v-92.8z\"]\n};\nvar faYahoo = {\n prefix: 'fab',\n iconName: 'yahoo',\n icon: [512, 512, [], \"f19e\", \"M223.69,141.06,167,284.23,111,141.06H14.93L120.76,390.19,82.19,480h94.17L317.27,141.06Zm105.4,135.79a58.22,58.22,0,1,0,58.22,58.22A58.22,58.22,0,0,0,329.09,276.85ZM394.65,32l-93,223.47H406.44L499.07,32Z\"]\n};\nvar faYammer = {\n prefix: 'fab',\n iconName: 'yammer',\n icon: [512, 512, [], \"f840\", \"M421.78 152.17A23.06 23.06 0 0 0 400.9 112c-.83.43-1.71.9-2.63 1.4-15.25 8.4-118.33 80.62-106.69 88.77s82.04-23.61 130.2-50zm0 217.17c-48.16-26.38-118.64-58.1-130.2-50s91.42 80.35 106.69 88.74c.92.51 1.8 1 2.63 1.41a23.07 23.07 0 0 0 20.88-40.15zM464.21 237c-.95 0-1.95-.06-3-.06-17.4 0-142.52 13.76-136.24 26.51s83.3 18.74 138.21 18.76a23 23 0 0 0 1-45.21zM31 96.65a24.88 24.88 0 0 1 46.14-18.4l81 205.06h1.21l77-203.53a23.52 23.52 0 0 1 44.45 15.27L171.2 368.44C152.65 415.66 134.08 448 77.91 448a139.67 139.67 0 0 1-23.81-1.95 21.31 21.31 0 0 1 6.9-41.77c.66.06 10.91.66 13.86.66 30.47 0 43.74-18.94 58.07-59.41z\"]\n};\nvar faYandex = {\n prefix: 'fab',\n iconName: 'yandex',\n icon: [256, 512, [], \"f413\", \"M153.1 315.8L65.7 512H2l96-209.8c-45.1-22.9-75.2-64.4-75.2-141.1C22.7 53.7 90.8 0 171.7 0H254v512h-55.1V315.8h-45.8zm45.8-269.3h-29.4c-44.4 0-87.4 29.4-87.4 114.6 0 82.3 39.4 108.8 87.4 108.8h29.4V46.5z\"]\n};\nvar faYandexInternational = {\n prefix: 'fab',\n iconName: 'yandex-international',\n icon: [320, 512, [], \"f414\", \"M129.5 512V345.9L18.5 48h55.8l81.8 229.7L250.2 0h51.3L180.8 347.8V512h-51.3z\"]\n};\nvar faYarn = {\n prefix: 'fab',\n iconName: 'yarn',\n icon: [496, 512, [], \"f7e3\", \"M393.9 345.2c-39 9.3-48.4 32.1-104 47.4 0 0-2.7 4-10.4 5.8-13.4 3.3-63.9 6-68.5 6.1-12.4.1-19.9-3.2-22-8.2-6.4-15.3 9.2-22 9.2-22-8.1-5-9-9.9-9.8-8.1-2.4 5.8-3.6 20.1-10.1 26.5-8.8 8.9-25.5 5.9-35.3.8-10.8-5.7.8-19.2.8-19.2s-5.8 3.4-10.5-3.6c-6-9.3-17.1-37.3 11.5-62-1.3-10.1-4.6-53.7 40.6-85.6 0 0-20.6-22.8-12.9-43.3 5-13.4 7-13.3 8.6-13.9 5.7-2.2 11.3-4.6 15.4-9.1 20.6-22.2 46.8-18 46.8-18s12.4-37.8 23.9-30.4c3.5 2.3 16.3 30.6 16.3 30.6s13.6-7.9 15.1-5c8.2 16 9.2 46.5 5.6 65.1-6.1 30.6-21.4 47.1-27.6 57.5-1.4 2.4 16.5 10 27.8 41.3 10.4 28.6 1.1 52.7 2.8 55.3.8 1.4 13.7.8 36.4-13.2 12.8-7.9 28.1-16.9 45.4-17 16.7-.5 17.6 19.2 4.9 22.2zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-79.3 75.2c-1.7-13.6-13.2-23-28-22.8-22 .3-40.5 11.7-52.8 19.2-4.8 3-8.9 5.2-12.4 6.8 3.1-44.5-22.5-73.1-28.7-79.4 7.8-11.3 18.4-27.8 23.4-53.2 4.3-21.7 3-55.5-6.9-74.5-1.6-3.1-7.4-11.2-21-7.4-9.7-20-13-22.1-15.6-23.8-1.1-.7-23.6-16.4-41.4 28-12.2.9-31.3 5.3-47.5 22.8-2 2.2-5.9 3.8-10.1 5.4h.1c-8.4 3-12.3 9.9-16.9 22.3-6.5 17.4.2 34.6 6.8 45.7-17.8 15.9-37 39.8-35.7 82.5-34 36-11.8 73-5.6 79.6-1.6 11.1 3.7 19.4 12 23.8 12.6 6.7 30.3 9.6 43.9 2.8 4.9 5.2 13.8 10.1 30 10.1 6.8 0 58-2.9 72.6-6.5 6.8-1.6 11.5-4.5 14.6-7.1 9.8-3.1 36.8-12.3 62.2-28.7 18-11.7 24.2-14.2 37.6-17.4 12.9-3.2 21-15.1 19.4-28.2z\"]\n};\nvar faYelp = {\n prefix: 'fab',\n iconName: 'yelp',\n icon: [384, 512, [], \"f1e9\", \"M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z\"]\n};\nvar faYoast = {\n prefix: 'fab',\n iconName: 'yoast',\n icon: [448, 512, [], \"f2b1\", \"M91.3 76h186l-7 18.9h-179c-39.7 0-71.9 31.6-71.9 70.3v205.4c0 35.4 24.9 70.3 84 70.3V460H91.3C41.2 460 0 419.8 0 370.5V165.2C0 115.9 40.7 76 91.3 76zm229.1-56h66.5C243.1 398.1 241.2 418.9 202.2 459.3c-20.8 21.6-49.3 31.7-78.3 32.7v-51.1c49.2-7.7 64.6-49.9 64.6-75.3 0-20.1.6-12.6-82.1-223.2h61.4L218.2 299 320.4 20zM448 161.5V460H234c6.6-9.6 10.7-16.3 12.1-19.4h182.5V161.5c0-32.5-17.1-51.9-48.2-62.9l6.7-17.6c41.7 13.6 60.9 43.1 60.9 80.5z\"]\n};\nvar faYoutube = {\n prefix: 'fab',\n iconName: 'youtube',\n icon: [576, 512, [], \"f167\", \"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z\"]\n};\nvar faYoutubeSquare = {\n prefix: 'fab',\n iconName: 'youtube-square',\n icon: [448, 512, [], \"f431\", \"M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z\"]\n};\nvar faZhihu = {\n prefix: 'fab',\n iconName: 'zhihu',\n icon: [640, 512, [], \"f63f\", \"M170.54 148.13v217.54l23.43.01 7.71 26.37 42.01-26.37h49.53V148.13H170.54zm97.75 193.93h-27.94l-27.9 17.51-5.08-17.47-11.9-.04V171.75h72.82v170.31zm-118.46-94.39H97.5c1.74-27.1 2.2-51.59 2.2-73.46h51.16s1.97-22.56-8.58-22.31h-88.5c3.49-13.12 7.87-26.66 13.12-40.67 0 0-24.07 0-32.27 21.57-3.39 8.9-13.21 43.14-30.7 78.12 5.89-.64 25.37-1.18 36.84-22.21 2.11-5.89 2.51-6.66 5.14-14.53h28.87c0 10.5-1.2 66.88-1.68 73.44H20.83c-11.74 0-15.56 23.62-15.56 23.62h65.58C66.45 321.1 42.83 363.12 0 396.34c20.49 5.85 40.91-.93 51-9.9 0 0 22.98-20.9 35.59-69.25l53.96 64.94s7.91-26.89-1.24-39.99c-7.58-8.92-28.06-33.06-36.79-41.81L87.9 311.95c4.36-13.98 6.99-27.55 7.87-40.67h61.65s-.09-23.62-7.59-23.62v.01zm412.02-1.6c20.83-25.64 44.98-58.57 44.98-58.57s-18.65-14.8-27.38-4.06c-6 8.15-36.83 48.2-36.83 48.2l19.23 14.43zm-150.09-59.09c-9.01-8.25-25.91 2.13-25.91 2.13s39.52 55.04 41.12 57.45l19.46-13.73s-25.67-37.61-34.66-45.86h-.01zM640 258.35c-19.78 0-130.91.93-131.06.93v-101c4.81 0 12.42-.4 22.85-1.2 40.88-2.41 70.13-4 87.77-4.81 0 0 12.22-27.19-.59-33.44-3.07-1.18-23.17 4.58-23.17 4.58s-165.22 16.49-232.36 18.05c1.6 8.82 7.62 17.08 15.78 19.55 13.31 3.48 22.69 1.7 49.15.89 24.83-1.6 43.68-2.43 56.51-2.43v99.81H351.41s2.82 22.31 25.51 22.85h107.94v70.92c0 13.97-11.19 21.99-24.48 21.12-14.08.11-26.08-1.15-41.69-1.81 1.99 3.97 6.33 14.39 19.31 21.84 9.88 4.81 16.17 6.57 26.02 6.57 29.56 0 45.67-17.28 44.89-45.31v-73.32h122.36c9.68 0 8.7-23.78 8.7-23.78l.03-.01z\"]\n};\nvar _iconsCache = {\n fa500px: fa500px,\n faAccessibleIcon: faAccessibleIcon,\n faAccusoft: faAccusoft,\n faAcquisitionsIncorporated: faAcquisitionsIncorporated,\n faAdn: faAdn,\n faAdversal: faAdversal,\n faAffiliatetheme: faAffiliatetheme,\n faAirbnb: faAirbnb,\n faAlgolia: faAlgolia,\n faAlipay: faAlipay,\n faAmazon: faAmazon,\n faAmazonPay: faAmazonPay,\n faAmilia: faAmilia,\n faAndroid: faAndroid,\n faAngellist: faAngellist,\n faAngrycreative: faAngrycreative,\n faAngular: faAngular,\n faAppStore: faAppStore,\n faAppStoreIos: faAppStoreIos,\n faApper: faApper,\n faApple: faApple,\n faApplePay: faApplePay,\n faArtstation: faArtstation,\n faAsymmetrik: faAsymmetrik,\n faAtlassian: faAtlassian,\n faAudible: faAudible,\n faAutoprefixer: faAutoprefixer,\n faAvianex: faAvianex,\n faAviato: faAviato,\n faAws: faAws,\n faBandcamp: faBandcamp,\n faBattleNet: faBattleNet,\n faBehance: faBehance,\n faBehanceSquare: faBehanceSquare,\n faBimobject: faBimobject,\n faBitbucket: faBitbucket,\n faBitcoin: faBitcoin,\n faBity: faBity,\n faBlackTie: faBlackTie,\n faBlackberry: faBlackberry,\n faBlogger: faBlogger,\n faBloggerB: faBloggerB,\n faBluetooth: faBluetooth,\n faBluetoothB: faBluetoothB,\n faBootstrap: faBootstrap,\n faBtc: faBtc,\n faBuffer: faBuffer,\n faBuromobelexperte: faBuromobelexperte,\n faBuyNLarge: faBuyNLarge,\n faBuysellads: faBuysellads,\n faCanadianMapleLeaf: faCanadianMapleLeaf,\n faCcAmazonPay: faCcAmazonPay,\n faCcAmex: faCcAmex,\n faCcApplePay: faCcApplePay,\n faCcDinersClub: faCcDinersClub,\n faCcDiscover: faCcDiscover,\n faCcJcb: faCcJcb,\n faCcMastercard: faCcMastercard,\n faCcPaypal: faCcPaypal,\n faCcStripe: faCcStripe,\n faCcVisa: faCcVisa,\n faCentercode: faCentercode,\n faCentos: faCentos,\n faChrome: faChrome,\n faChromecast: faChromecast,\n faCloudflare: faCloudflare,\n faCloudscale: faCloudscale,\n faCloudsmith: faCloudsmith,\n faCloudversify: faCloudversify,\n faCodepen: faCodepen,\n faCodiepie: faCodiepie,\n faConfluence: faConfluence,\n faConnectdevelop: faConnectdevelop,\n faContao: faContao,\n faCottonBureau: faCottonBureau,\n faCpanel: faCpanel,\n faCreativeCommons: faCreativeCommons,\n faCreativeCommonsBy: faCreativeCommonsBy,\n faCreativeCommonsNc: faCreativeCommonsNc,\n faCreativeCommonsNcEu: faCreativeCommonsNcEu,\n faCreativeCommonsNcJp: faCreativeCommonsNcJp,\n faCreativeCommonsNd: faCreativeCommonsNd,\n faCreativeCommonsPd: faCreativeCommonsPd,\n faCreativeCommonsPdAlt: faCreativeCommonsPdAlt,\n faCreativeCommonsRemix: faCreativeCommonsRemix,\n faCreativeCommonsSa: faCreativeCommonsSa,\n faCreativeCommonsSampling: faCreativeCommonsSampling,\n faCreativeCommonsSamplingPlus: faCreativeCommonsSamplingPlus,\n faCreativeCommonsShare: faCreativeCommonsShare,\n faCreativeCommonsZero: faCreativeCommonsZero,\n faCriticalRole: faCriticalRole,\n faCss3: faCss3,\n faCss3Alt: faCss3Alt,\n faCuttlefish: faCuttlefish,\n faDAndD: faDAndD,\n faDAndDBeyond: faDAndDBeyond,\n faDailymotion: faDailymotion,\n faDashcube: faDashcube,\n faDeezer: faDeezer,\n faDelicious: faDelicious,\n faDeploydog: faDeploydog,\n faDeskpro: faDeskpro,\n faDev: faDev,\n faDeviantart: faDeviantart,\n faDhl: faDhl,\n faDiaspora: faDiaspora,\n faDigg: faDigg,\n faDigitalOcean: faDigitalOcean,\n faDiscord: faDiscord,\n faDiscourse: faDiscourse,\n faDochub: faDochub,\n faDocker: faDocker,\n faDraft2digital: faDraft2digital,\n faDribbble: faDribbble,\n faDribbbleSquare: faDribbbleSquare,\n faDropbox: faDropbox,\n faDrupal: faDrupal,\n faDyalog: faDyalog,\n faEarlybirds: faEarlybirds,\n faEbay: faEbay,\n faEdge: faEdge,\n faEdgeLegacy: faEdgeLegacy,\n faElementor: faElementor,\n faEllo: faEllo,\n faEmber: faEmber,\n faEmpire: faEmpire,\n faEnvira: faEnvira,\n faErlang: faErlang,\n faEthereum: faEthereum,\n faEtsy: faEtsy,\n faEvernote: faEvernote,\n faExpeditedssl: faExpeditedssl,\n faFacebook: faFacebook,\n faFacebookF: faFacebookF,\n faFacebookMessenger: faFacebookMessenger,\n faFacebookSquare: faFacebookSquare,\n faFantasyFlightGames: faFantasyFlightGames,\n faFedex: faFedex,\n faFedora: faFedora,\n faFigma: faFigma,\n faFirefox: faFirefox,\n faFirefoxBrowser: faFirefoxBrowser,\n faFirstOrder: faFirstOrder,\n faFirstOrderAlt: faFirstOrderAlt,\n faFirstdraft: faFirstdraft,\n faFlickr: faFlickr,\n faFlipboard: faFlipboard,\n faFly: faFly,\n faFontAwesome: faFontAwesome,\n faFontAwesomeAlt: faFontAwesomeAlt,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFonticons: faFonticons,\n faFonticonsFi: faFonticonsFi,\n faFortAwesome: faFortAwesome,\n faFortAwesomeAlt: faFortAwesomeAlt,\n faForumbee: faForumbee,\n faFoursquare: faFoursquare,\n faFreeCodeCamp: faFreeCodeCamp,\n faFreebsd: faFreebsd,\n faFulcrum: faFulcrum,\n faGalacticRepublic: faGalacticRepublic,\n faGalacticSenate: faGalacticSenate,\n faGetPocket: faGetPocket,\n faGg: faGg,\n faGgCircle: faGgCircle,\n faGit: faGit,\n faGitAlt: faGitAlt,\n faGitSquare: faGitSquare,\n faGithub: faGithub,\n faGithubAlt: faGithubAlt,\n faGithubSquare: faGithubSquare,\n faGitkraken: faGitkraken,\n faGitlab: faGitlab,\n faGitter: faGitter,\n faGlide: faGlide,\n faGlideG: faGlideG,\n faGofore: faGofore,\n faGoodreads: faGoodreads,\n faGoodreadsG: faGoodreadsG,\n faGoogle: faGoogle,\n faGoogleDrive: faGoogleDrive,\n faGooglePay: faGooglePay,\n faGooglePlay: faGooglePlay,\n faGooglePlus: faGooglePlus,\n faGooglePlusG: faGooglePlusG,\n faGooglePlusSquare: faGooglePlusSquare,\n faGoogleWallet: faGoogleWallet,\n faGratipay: faGratipay,\n faGrav: faGrav,\n faGripfire: faGripfire,\n faGrunt: faGrunt,\n faGuilded: faGuilded,\n faGulp: faGulp,\n faHackerNews: faHackerNews,\n faHackerNewsSquare: faHackerNewsSquare,\n faHackerrank: faHackerrank,\n faHips: faHips,\n faHireAHelper: faHireAHelper,\n faHive: faHive,\n faHooli: faHooli,\n faHornbill: faHornbill,\n faHotjar: faHotjar,\n faHouzz: faHouzz,\n faHtml5: faHtml5,\n faHubspot: faHubspot,\n faIdeal: faIdeal,\n faImdb: faImdb,\n faInnosoft: faInnosoft,\n faInstagram: faInstagram,\n faInstagramSquare: faInstagramSquare,\n faInstalod: faInstalod,\n faIntercom: faIntercom,\n faInternetExplorer: faInternetExplorer,\n faInvision: faInvision,\n faIoxhost: faIoxhost,\n faItchIo: faItchIo,\n faItunes: faItunes,\n faItunesNote: faItunesNote,\n faJava: faJava,\n faJediOrder: faJediOrder,\n faJenkins: faJenkins,\n faJira: faJira,\n faJoget: faJoget,\n faJoomla: faJoomla,\n faJs: faJs,\n faJsSquare: faJsSquare,\n faJsfiddle: faJsfiddle,\n faKaggle: faKaggle,\n faKeybase: faKeybase,\n faKeycdn: faKeycdn,\n faKickstarter: faKickstarter,\n faKickstarterK: faKickstarterK,\n faKorvue: faKorvue,\n faLaravel: faLaravel,\n faLastfm: faLastfm,\n faLastfmSquare: faLastfmSquare,\n faLeanpub: faLeanpub,\n faLess: faLess,\n faLine: faLine,\n faLinkedin: faLinkedin,\n faLinkedinIn: faLinkedinIn,\n faLinode: faLinode,\n faLinux: faLinux,\n faLyft: faLyft,\n faMagento: faMagento,\n faMailchimp: faMailchimp,\n faMandalorian: faMandalorian,\n faMarkdown: faMarkdown,\n faMastodon: faMastodon,\n faMaxcdn: faMaxcdn,\n faMdb: faMdb,\n faMedapps: faMedapps,\n faMedium: faMedium,\n faMediumM: faMediumM,\n faMedrt: faMedrt,\n faMeetup: faMeetup,\n faMegaport: faMegaport,\n faMendeley: faMendeley,\n faMicroblog: faMicroblog,\n faMicrosoft: faMicrosoft,\n faMix: faMix,\n faMixcloud: faMixcloud,\n faMixer: faMixer,\n faMizuni: faMizuni,\n faModx: faModx,\n faMonero: faMonero,\n faNapster: faNapster,\n faNeos: faNeos,\n faNimblr: faNimblr,\n faNode: faNode,\n faNodeJs: faNodeJs,\n faNpm: faNpm,\n faNs8: faNs8,\n faNutritionix: faNutritionix,\n faOctopusDeploy: faOctopusDeploy,\n faOdnoklassniki: faOdnoklassniki,\n faOdnoklassnikiSquare: faOdnoklassnikiSquare,\n faOldRepublic: faOldRepublic,\n faOpencart: faOpencart,\n faOpenid: faOpenid,\n faOpera: faOpera,\n faOptinMonster: faOptinMonster,\n faOrcid: faOrcid,\n faOsi: faOsi,\n faPage4: faPage4,\n faPagelines: faPagelines,\n faPalfed: faPalfed,\n faPatreon: faPatreon,\n faPaypal: faPaypal,\n faPennyArcade: faPennyArcade,\n faPerbyte: faPerbyte,\n faPeriscope: faPeriscope,\n faPhabricator: faPhabricator,\n faPhoenixFramework: faPhoenixFramework,\n faPhoenixSquadron: faPhoenixSquadron,\n faPhp: faPhp,\n faPiedPiper: faPiedPiper,\n faPiedPiperAlt: faPiedPiperAlt,\n faPiedPiperHat: faPiedPiperHat,\n faPiedPiperPp: faPiedPiperPp,\n faPiedPiperSquare: faPiedPiperSquare,\n faPinterest: faPinterest,\n faPinterestP: faPinterestP,\n faPinterestSquare: faPinterestSquare,\n faPlaystation: faPlaystation,\n faProductHunt: faProductHunt,\n faPushed: faPushed,\n faPython: faPython,\n faQq: faQq,\n faQuinscape: faQuinscape,\n faQuora: faQuora,\n faRProject: faRProject,\n faRaspberryPi: faRaspberryPi,\n faRavelry: faRavelry,\n faReact: faReact,\n faReacteurope: faReacteurope,\n faReadme: faReadme,\n faRebel: faRebel,\n faRedRiver: faRedRiver,\n faReddit: faReddit,\n faRedditAlien: faRedditAlien,\n faRedditSquare: faRedditSquare,\n faRedhat: faRedhat,\n faRenren: faRenren,\n faReplyd: faReplyd,\n faResearchgate: faResearchgate,\n faResolving: faResolving,\n faRev: faRev,\n faRocketchat: faRocketchat,\n faRockrms: faRockrms,\n faRust: faRust,\n faSafari: faSafari,\n faSalesforce: faSalesforce,\n faSass: faSass,\n faSchlix: faSchlix,\n faScribd: faScribd,\n faSearchengin: faSearchengin,\n faSellcast: faSellcast,\n faSellsy: faSellsy,\n faServicestack: faServicestack,\n faShirtsinbulk: faShirtsinbulk,\n faShopify: faShopify,\n faShopware: faShopware,\n faSimplybuilt: faSimplybuilt,\n faSistrix: faSistrix,\n faSith: faSith,\n faSketch: faSketch,\n faSkyatlas: faSkyatlas,\n faSkype: faSkype,\n faSlack: faSlack,\n faSlackHash: faSlackHash,\n faSlideshare: faSlideshare,\n faSnapchat: faSnapchat,\n faSnapchatGhost: faSnapchatGhost,\n faSnapchatSquare: faSnapchatSquare,\n faSoundcloud: faSoundcloud,\n faSourcetree: faSourcetree,\n faSpeakap: faSpeakap,\n faSpeakerDeck: faSpeakerDeck,\n faSpotify: faSpotify,\n faSquarespace: faSquarespace,\n faStackExchange: faStackExchange,\n faStackOverflow: faStackOverflow,\n faStackpath: faStackpath,\n faStaylinked: faStaylinked,\n faSteam: faSteam,\n faSteamSquare: faSteamSquare,\n faSteamSymbol: faSteamSymbol,\n faStickerMule: faStickerMule,\n faStrava: faStrava,\n faStripe: faStripe,\n faStripeS: faStripeS,\n faStudiovinari: faStudiovinari,\n faStumbleupon: faStumbleupon,\n faStumbleuponCircle: faStumbleuponCircle,\n faSuperpowers: faSuperpowers,\n faSupple: faSupple,\n faSuse: faSuse,\n faSwift: faSwift,\n faSymfony: faSymfony,\n faTeamspeak: faTeamspeak,\n faTelegram: faTelegram,\n faTelegramPlane: faTelegramPlane,\n faTencentWeibo: faTencentWeibo,\n faTheRedYeti: faTheRedYeti,\n faThemeco: faThemeco,\n faThemeisle: faThemeisle,\n faThinkPeaks: faThinkPeaks,\n faTiktok: faTiktok,\n faTradeFederation: faTradeFederation,\n faTrello: faTrello,\n faTumblr: faTumblr,\n faTumblrSquare: faTumblrSquare,\n faTwitch: faTwitch,\n faTwitter: faTwitter,\n faTwitterSquare: faTwitterSquare,\n faTypo3: faTypo3,\n faUber: faUber,\n faUbuntu: faUbuntu,\n faUikit: faUikit,\n faUmbraco: faUmbraco,\n faUncharted: faUncharted,\n faUniregistry: faUniregistry,\n faUnity: faUnity,\n faUnsplash: faUnsplash,\n faUntappd: faUntappd,\n faUps: faUps,\n faUsb: faUsb,\n faUsps: faUsps,\n faUssunnah: faUssunnah,\n faVaadin: faVaadin,\n faViacoin: faViacoin,\n faViadeo: faViadeo,\n faViadeoSquare: faViadeoSquare,\n faViber: faViber,\n faVimeo: faVimeo,\n faVimeoSquare: faVimeoSquare,\n faVimeoV: faVimeoV,\n faVine: faVine,\n faVk: faVk,\n faVnv: faVnv,\n faVuejs: faVuejs,\n faWatchmanMonitoring: faWatchmanMonitoring,\n faWaze: faWaze,\n faWeebly: faWeebly,\n faWeibo: faWeibo,\n faWeixin: faWeixin,\n faWhatsapp: faWhatsapp,\n faWhatsappSquare: faWhatsappSquare,\n faWhmcs: faWhmcs,\n faWikipediaW: faWikipediaW,\n faWindows: faWindows,\n faWix: faWix,\n faWizardsOfTheCoast: faWizardsOfTheCoast,\n faWodu: faWodu,\n faWolfPackBattalion: faWolfPackBattalion,\n faWordpress: faWordpress,\n faWordpressSimple: faWordpressSimple,\n faWpbeginner: faWpbeginner,\n faWpexplorer: faWpexplorer,\n faWpforms: faWpforms,\n faWpressr: faWpressr,\n faXbox: faXbox,\n faXing: faXing,\n faXingSquare: faXingSquare,\n faYCombinator: faYCombinator,\n faYahoo: faYahoo,\n faYammer: faYammer,\n faYandex: faYandex,\n faYandexInternational: faYandexInternational,\n faYarn: faYarn,\n faYelp: faYelp,\n faYoast: faYoast,\n faYoutube: faYoutube,\n faYoutubeSquare: faYoutubeSquare,\n faZhihu: faZhihu\n};\n\nexport { _iconsCache as fab, prefix, fa500px, faAccessibleIcon, faAccusoft, faAcquisitionsIncorporated, faAdn, faAdversal, faAffiliatetheme, faAirbnb, faAlgolia, faAlipay, faAmazon, faAmazonPay, faAmilia, faAndroid, faAngellist, faAngrycreative, faAngular, faAppStore, faAppStoreIos, faApper, faApple, faApplePay, faArtstation, faAsymmetrik, faAtlassian, faAudible, faAutoprefixer, faAvianex, faAviato, faAws, faBandcamp, faBattleNet, faBehance, faBehanceSquare, faBimobject, faBitbucket, faBitcoin, faBity, faBlackTie, faBlackberry, faBlogger, faBloggerB, faBluetooth, faBluetoothB, faBootstrap, faBtc, faBuffer, faBuromobelexperte, faBuyNLarge, faBuysellads, faCanadianMapleLeaf, faCcAmazonPay, faCcAmex, faCcApplePay, faCcDinersClub, faCcDiscover, faCcJcb, faCcMastercard, faCcPaypal, faCcStripe, faCcVisa, faCentercode, faCentos, faChrome, faChromecast, faCloudflare, faCloudscale, faCloudsmith, faCloudversify, faCodepen, faCodiepie, faConfluence, faConnectdevelop, faContao, faCottonBureau, faCpanel, faCreativeCommons, faCreativeCommonsBy, faCreativeCommonsNc, faCreativeCommonsNcEu, faCreativeCommonsNcJp, faCreativeCommonsNd, faCreativeCommonsPd, faCreativeCommonsPdAlt, faCreativeCommonsRemix, faCreativeCommonsSa, faCreativeCommonsSampling, faCreativeCommonsSamplingPlus, faCreativeCommonsShare, faCreativeCommonsZero, faCriticalRole, faCss3, faCss3Alt, faCuttlefish, faDAndD, faDAndDBeyond, faDailymotion, faDashcube, faDeezer, faDelicious, faDeploydog, faDeskpro, faDev, faDeviantart, faDhl, faDiaspora, faDigg, faDigitalOcean, faDiscord, faDiscourse, faDochub, faDocker, faDraft2digital, faDribbble, faDribbbleSquare, faDropbox, faDrupal, faDyalog, faEarlybirds, faEbay, faEdge, faEdgeLegacy, faElementor, faEllo, faEmber, faEmpire, faEnvira, faErlang, faEthereum, faEtsy, faEvernote, faExpeditedssl, faFacebook, faFacebookF, faFacebookMessenger, faFacebookSquare, faFantasyFlightGames, faFedex, faFedora, faFigma, faFirefox, faFirefoxBrowser, faFirstOrder, faFirstOrderAlt, faFirstdraft, faFlickr, faFlipboard, faFly, faFontAwesome, faFontAwesomeAlt, faFontAwesomeFlag, faFontAwesomeLogoFull, faFonticons, faFonticonsFi, faFortAwesome, faFortAwesomeAlt, faForumbee, faFoursquare, faFreeCodeCamp, faFreebsd, faFulcrum, faGalacticRepublic, faGalacticSenate, faGetPocket, faGg, faGgCircle, faGit, faGitAlt, faGitSquare, faGithub, faGithubAlt, faGithubSquare, faGitkraken, faGitlab, faGitter, faGlide, faGlideG, faGofore, faGoodreads, faGoodreadsG, faGoogle, faGoogleDrive, faGooglePay, faGooglePlay, faGooglePlus, faGooglePlusG, faGooglePlusSquare, faGoogleWallet, faGratipay, faGrav, faGripfire, faGrunt, faGuilded, faGulp, faHackerNews, faHackerNewsSquare, faHackerrank, faHips, faHireAHelper, faHive, faHooli, faHornbill, faHotjar, faHouzz, faHtml5, faHubspot, faIdeal, faImdb, faInnosoft, faInstagram, faInstagramSquare, faInstalod, faIntercom, faInternetExplorer, faInvision, faIoxhost, faItchIo, faItunes, faItunesNote, faJava, faJediOrder, faJenkins, faJira, faJoget, faJoomla, faJs, faJsSquare, faJsfiddle, faKaggle, faKeybase, faKeycdn, faKickstarter, faKickstarterK, faKorvue, faLaravel, faLastfm, faLastfmSquare, faLeanpub, faLess, faLine, faLinkedin, faLinkedinIn, faLinode, faLinux, faLyft, faMagento, faMailchimp, faMandalorian, faMarkdown, faMastodon, faMaxcdn, faMdb, faMedapps, faMedium, faMediumM, faMedrt, faMeetup, faMegaport, faMendeley, faMicroblog, faMicrosoft, faMix, faMixcloud, faMixer, faMizuni, faModx, faMonero, faNapster, faNeos, faNimblr, faNode, faNodeJs, faNpm, faNs8, faNutritionix, faOctopusDeploy, faOdnoklassniki, faOdnoklassnikiSquare, faOldRepublic, faOpencart, faOpenid, faOpera, faOptinMonster, faOrcid, faOsi, faPage4, faPagelines, faPalfed, faPatreon, faPaypal, faPennyArcade, faPerbyte, faPeriscope, faPhabricator, faPhoenixFramework, faPhoenixSquadron, faPhp, faPiedPiper, faPiedPiperAlt, faPiedPiperHat, faPiedPiperPp, faPiedPiperSquare, faPinterest, faPinterestP, faPinterestSquare, faPlaystation, faProductHunt, faPushed, faPython, faQq, faQuinscape, faQuora, faRProject, faRaspberryPi, faRavelry, faReact, faReacteurope, faReadme, faRebel, faRedRiver, faReddit, faRedditAlien, faRedditSquare, faRedhat, faRenren, faReplyd, faResearchgate, faResolving, faRev, faRocketchat, faRockrms, faRust, faSafari, faSalesforce, faSass, faSchlix, faScribd, faSearchengin, faSellcast, faSellsy, faServicestack, faShirtsinbulk, faShopify, faShopware, faSimplybuilt, faSistrix, faSith, faSketch, faSkyatlas, faSkype, faSlack, faSlackHash, faSlideshare, faSnapchat, faSnapchatGhost, faSnapchatSquare, faSoundcloud, faSourcetree, faSpeakap, faSpeakerDeck, faSpotify, faSquarespace, faStackExchange, faStackOverflow, faStackpath, faStaylinked, faSteam, faSteamSquare, faSteamSymbol, faStickerMule, faStrava, faStripe, faStripeS, faStudiovinari, faStumbleupon, faStumbleuponCircle, faSuperpowers, faSupple, faSuse, faSwift, faSymfony, faTeamspeak, faTelegram, faTelegramPlane, faTencentWeibo, faTheRedYeti, faThemeco, faThemeisle, faThinkPeaks, faTiktok, faTradeFederation, faTrello, faTumblr, faTumblrSquare, faTwitch, faTwitter, faTwitterSquare, faTypo3, faUber, faUbuntu, faUikit, faUmbraco, faUncharted, faUniregistry, faUnity, faUnsplash, faUntappd, faUps, faUsb, faUsps, faUssunnah, faVaadin, faViacoin, faViadeo, faViadeoSquare, faViber, faVimeo, faVimeoSquare, faVimeoV, faVine, faVk, faVnv, faVuejs, faWatchmanMonitoring, faWaze, faWeebly, faWeibo, faWeixin, faWhatsapp, faWhatsappSquare, faWhmcs, faWikipediaW, faWindows, faWix, faWizardsOfTheCoast, faWodu, faWolfPackBattalion, faWordpress, faWordpressSimple, faWpbeginner, faWpexplorer, faWpforms, faWpressr, faXbox, faXing, faXingSquare, faYCombinator, faYahoo, faYammer, faYandex, faYandexInternational, faYarn, faYelp, faYoast, faYoutube, faYoutubeSquare, faZhihu };\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"far\";\nvar faAddressBook = {\n prefix: 'far',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faAddressCard = {\n prefix: 'far',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z\"]\n};\nvar faAngry = {\n prefix: 'far',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z\"]\n};\nvar faArrowAltCircleDown = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltCircleLeft = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"]\n};\nvar faArrowAltCircleRight = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"]\n};\nvar faArrowAltCircleUp = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z\"]\n};\nvar faBell = {\n prefix: 'far',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBellSlash = {\n prefix: 'far',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBookmark = {\n prefix: 'far',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z\"]\n};\nvar faBuilding = {\n prefix: 'far',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z\"]\n};\nvar faCalendar = {\n prefix: 'far',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"]\n};\nvar faCalendarAlt = {\n prefix: 'far',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarCheck = {\n prefix: 'far',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z\"]\n};\nvar faCalendarMinus = {\n prefix: 'far',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarPlus = {\n prefix: 'far',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarTimes = {\n prefix: 'far',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareDown = {\n prefix: 'far',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareLeft = {\n prefix: 'far',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareRight = {\n prefix: 'far',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareUp = {\n prefix: 'far',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faChartBar = {\n prefix: 'far',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\"]\n};\nvar faCheckCircle = {\n prefix: 'far',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"]\n};\nvar faCheckSquare = {\n prefix: 'far',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"]\n};\nvar faCircle = {\n prefix: 'far',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z\"]\n};\nvar faClipboard = {\n prefix: 'far',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z\"]\n};\nvar faClock = {\n prefix: 'far',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z\"]\n};\nvar faClone = {\n prefix: 'far',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'far',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z\"]\n};\nvar faComment = {\n prefix: 'far',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faCommentAlt = {\n prefix: 'far',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z\"]\n};\nvar faCommentDots = {\n prefix: 'far',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faComments = {\n prefix: 'far',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z\"]\n};\nvar faCompass = {\n prefix: 'far',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faCopy = {\n prefix: 'far',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z\"]\n};\nvar faCopyright = {\n prefix: 'far',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z\"]\n};\nvar faCreditCard = {\n prefix: 'far',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"]\n};\nvar faDizzy = {\n prefix: 'far',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z\"]\n};\nvar faDotCircle = {\n prefix: 'far',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"]\n};\nvar faEdit = {\n prefix: 'far',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"]\n};\nvar faEnvelope = {\n prefix: 'far',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'far',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z\"]\n};\nvar faEye = {\n prefix: 'far',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z\"]\n};\nvar faEyeSlash = {\n prefix: 'far',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z\"]\n};\nvar faFile = {\n prefix: 'far',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"]\n};\nvar faFileAlt = {\n prefix: 'far',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"]\n};\nvar faFileArchive = {\n prefix: 'far',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"]\n};\nvar faFileAudio = {\n prefix: 'far',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z\"]\n};\nvar faFileCode = {\n prefix: 'far',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M149.9 349.1l-.2-.2-32.8-28.9 32.8-28.9c3.6-3.2 4-8.8.8-12.4l-.2-.2-17.4-18.6c-3.4-3.6-9-3.7-12.4-.4l-57.7 54.1c-3.7 3.5-3.7 9.4 0 12.8l57.7 54.1c1.6 1.5 3.8 2.4 6 2.4 2.4 0 4.8-1 6.4-2.8l17.4-18.6c3.3-3.5 3.1-9.1-.4-12.4zm220-251.2L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h160v104c0 13.3 10.7 24 24 24h104zM209.6 214c-4.7-1.4-9.5 1.3-10.9 6L144 408.1c-1.4 4.7 1.3 9.6 6 10.9l24.4 7.1c4.7 1.4 9.6-1.4 10.9-6L240 231.9c1.4-4.7-1.3-9.6-6-10.9zm24.5 76.9l.2.2 32.8 28.9-32.8 28.9c-3.6 3.2-4 8.8-.8 12.4l.2.2 17.4 18.6c3.3 3.5 8.9 3.7 12.4.4l57.7-54.1c3.7-3.5 3.7-9.4 0-12.8l-57.7-54.1c-3.5-3.3-9.1-3.2-12.4.4l-17.4 18.6c-3.3 3.5-3.1 9.1.4 12.4z\"]\n};\nvar faFileExcel = {\n prefix: 'far',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z\"]\n};\nvar faFileImage = {\n prefix: 'far',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"]\n};\nvar faFilePdf = {\n prefix: 'far',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'far',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z\"]\n};\nvar faFileVideo = {\n prefix: 'far',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z\"]\n};\nvar faFileWord = {\n prefix: 'far',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z\"]\n};\nvar faFlag = {\n prefix: 'far',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z\"]\n};\nvar faFlushed = {\n prefix: 'far',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faFolder = {\n prefix: 'far',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z\"]\n};\nvar faFolderOpen = {\n prefix: 'far',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'far',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFrown = {\n prefix: 'far',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z\"]\n};\nvar faFrownOpen = {\n prefix: 'far',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z\"]\n};\nvar faFutbol = {\n prefix: 'far',\n iconName: 'futbol',\n icon: [496, 512, [], \"f1e3\", \"M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z\"]\n};\nvar faGem = {\n prefix: 'far',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z\"]\n};\nvar faGrimace = {\n prefix: 'far',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z\"]\n};\nvar faGrin = {\n prefix: 'far',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faGrinAlt = {\n prefix: 'far',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z\"]\n};\nvar faGrinBeam = {\n prefix: 'far',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z\"]\n};\nvar faGrinBeamSweat = {\n prefix: 'far',\n iconName: 'grin-beam-sweat',\n icon: [496, 512, [], \"f583\", \"M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinHearts = {\n prefix: 'far',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"]\n};\nvar faGrinSquint = {\n prefix: 'far',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z\"]\n};\nvar faGrinSquintTears = {\n prefix: 'far',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z\"]\n};\nvar faGrinStars = {\n prefix: 'far',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z\"]\n};\nvar faGrinTears = {\n prefix: 'far',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinTongue = {\n prefix: 'far',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faGrinTongueSquint = {\n prefix: 'far',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z\"]\n};\nvar faGrinTongueWink = {\n prefix: 'far',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z\"]\n};\nvar faGrinWink = {\n prefix: 'far',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faHandLizard = {\n prefix: 'far',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z\"]\n};\nvar faHandPaper = {\n prefix: 'far',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z\"]\n};\nvar faHandPeace = {\n prefix: 'far',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z\"]\n};\nvar faHandPointDown = {\n prefix: 'far',\n iconName: 'hand-point-down',\n icon: [448, 512, [], \"f0a7\", \"M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z\"]\n};\nvar faHandPointLeft = {\n prefix: 'far',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointRight = {\n prefix: 'far',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faHandPointUp = {\n prefix: 'far',\n iconName: 'hand-point-up',\n icon: [448, 512, [], \"f0a6\", \"M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointer = {\n prefix: 'far',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z\"]\n};\nvar faHandRock = {\n prefix: 'far',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z\"]\n};\nvar faHandScissors = {\n prefix: 'far',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z\"]\n};\nvar faHandSpock = {\n prefix: 'far',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"M501.03053,116.17605c-19.39059-31.50779-51.24406-35.72849-66.31044-35.01756-14.11325-50.81051-62.0038-54.08-70.73816-54.08a74.03091,74.03091,0,0,0-72.23816,58.916l-4.64648,22.66014-13.68357-53.207c-9.09569-35.37107-46.412-64.05074-89.66-53.07223a73.89749,73.89749,0,0,0-55.121,78.94722,73.68273,73.68273,0,0,0-64.8495,94.42181l24.35933,82.19721c-38.24017-7.54492-62.79677,16.18358-68.11512,21.84764a73.6791,73.6791,0,0,0,3.19921,104.19329l91.36509,85.9765A154.164,154.164,0,0,0,220.62279,512h107.4549A127.30079,127.30079,0,0,0,452.3392,413.86139l57.623-241.96272A73.20274,73.20274,0,0,0,501.03053,116.17605Zm-37.7597,44.60544L405.64788,402.74812a79.46616,79.46616,0,0,1-77.57019,61.25972H220.62279a106.34052,106.34052,0,0,1-73.1366-28.998l-91.369-85.98041C31.34381,325.72669,66.61133,288.131,91.39644,311.5392l51.123,48.10739c5.42577,5.10937,13.48239.71679,13.48239-5.82617a246.79914,246.79914,0,0,0-10.17771-70.1523l-36.01362-121.539c-9.7324-32.88279,39.69916-47.27145,49.38664-14.625l31.3437,105.77923c5.59374,18.90428,33.78119,10.71288,28.9648-8.00781L177.06427,80.23662c-8.50389-33.1035,41.43157-45.64646,49.86515-12.83593l47.32609,184.035c4.42773,17.24218,29.16207,16.5039,32.71089-.80468l31.791-154.9706c6.81054-33.1074,57.51748-24.10741,50.11906,11.96288L360.32764,246.78924c-3.72265,18.10936,23.66793,24.63084,28.05659,6.21679L413.185,148.85962C421.1498,115.512,471.14,127.79713,463.27083,160.78149Z\"]\n};\nvar faHandshake = {\n prefix: 'far',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z\"]\n};\nvar faHdd = {\n prefix: 'far',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z\"]\n};\nvar faHeart = {\n prefix: 'far',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"]\n};\nvar faHospital = {\n prefix: 'far',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z\"]\n};\nvar faHourglass = {\n prefix: 'far',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"]\n};\nvar faIdBadge = {\n prefix: 'far',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faIdCard = {\n prefix: 'far',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"]\n};\nvar faImage = {\n prefix: 'far',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"]\n};\nvar faImages = {\n prefix: 'far',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"]\n};\nvar faKeyboard = {\n prefix: 'far',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z\"]\n};\nvar faKiss = {\n prefix: 'far',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faKissBeam = {\n prefix: 'far',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z\"]\n};\nvar faKissWinkHeart = {\n prefix: 'far',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z\"]\n};\nvar faLaugh = {\n prefix: 'far',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughBeam = {\n prefix: 'far',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughSquint = {\n prefix: 'far',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughWink = {\n prefix: 'far',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLemon = {\n prefix: 'far',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z\"]\n};\nvar faLifeRing = {\n prefix: 'far',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z\"]\n};\nvar faLightbulb = {\n prefix: 'far',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z\"]\n};\nvar faListAlt = {\n prefix: 'far',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"]\n};\nvar faMap = {\n prefix: 'far',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z\"]\n};\nvar faMeh = {\n prefix: 'far',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMehBlank = {\n prefix: 'far',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faMehRollingEyes = {\n prefix: 'far',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMinusSquare = {\n prefix: 'far',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faMoneyBillAlt = {\n prefix: 'far',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z\"]\n};\nvar faMoon = {\n prefix: 'far',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z\"]\n};\nvar faNewspaper = {\n prefix: 'far',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z\"]\n};\nvar faObjectGroup = {\n prefix: 'far',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z\"]\n};\nvar faObjectUngroup = {\n prefix: 'far',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z\"]\n};\nvar faPaperPlane = {\n prefix: 'far',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z\"]\n};\nvar faPauseCircle = {\n prefix: 'far',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z\"]\n};\nvar faPlayCircle = {\n prefix: 'far',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"]\n};\nvar faPlusSquare = {\n prefix: 'far',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faQuestionCircle = {\n prefix: 'far',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"]\n};\nvar faRegistered = {\n prefix: 'far',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z\"]\n};\nvar faSadCry = {\n prefix: 'far',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z\"]\n};\nvar faSadTear = {\n prefix: 'far',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z\"]\n};\nvar faSave = {\n prefix: 'far',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z\"]\n};\nvar faShareSquare = {\n prefix: 'far',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z\"]\n};\nvar faSmile = {\n prefix: 'far',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z\"]\n};\nvar faSmileBeam = {\n prefix: 'far',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z\"]\n};\nvar faSmileWink = {\n prefix: 'far',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z\"]\n};\nvar faSnowflake = {\n prefix: 'far',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z\"]\n};\nvar faSquare = {\n prefix: 'far',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"]\n};\nvar faStar = {\n prefix: 'far',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"]\n};\nvar faStarHalf = {\n prefix: 'far',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z\"]\n};\nvar faStickyNote = {\n prefix: 'far',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z\"]\n};\nvar faStopCircle = {\n prefix: 'far',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z\"]\n};\nvar faSun = {\n prefix: 'far',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z\"]\n};\nvar faSurprise = {\n prefix: 'far',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faThumbsDown = {\n prefix: 'far',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z\"]\n};\nvar faThumbsUp = {\n prefix: 'far',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faTimesCircle = {\n prefix: 'far',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"]\n};\nvar faTired = {\n prefix: 'far',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z\"]\n};\nvar faTrashAlt = {\n prefix: 'far',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z\"]\n};\nvar faUser = {\n prefix: 'far',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\"]\n};\nvar faUserCircle = {\n prefix: 'far',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z\"]\n};\nvar faWindowClose = {\n prefix: 'far',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z\"]\n};\nvar faWindowMaximize = {\n prefix: 'far',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"]\n};\nvar faWindowMinimize = {\n prefix: 'far',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faWindowRestore = {\n prefix: 'far',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z\"]\n};\nvar _iconsCache = {\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAngry: faAngry,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBookmark: faBookmark,\n faBuilding: faBuilding,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faChartBar: faChartBar,\n faCheckCircle: faCheckCircle,\n faCheckSquare: faCheckSquare,\n faCircle: faCircle,\n faClipboard: faClipboard,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentDots: faCommentDots,\n faComments: faComments,\n faCompass: faCompass,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCreditCard: faCreditCard,\n faDizzy: faDizzy,\n faDotCircle: faDotCircle,\n faEdit: faEdit,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEye: faEye,\n faEyeSlash: faEyeSlash,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCode: faFileCode,\n faFileExcel: faFileExcel,\n faFileImage: faFileImage,\n faFilePdf: faFilePdf,\n faFilePowerpoint: faFilePowerpoint,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFlag: faFlag,\n faFlushed: faFlushed,\n faFolder: faFolder,\n faFolderOpen: faFolderOpen,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFutbol: faFutbol,\n faGem: faGem,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faHandLizard: faHandLizard,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSpock: faHandSpock,\n faHandshake: faHandshake,\n faHdd: faHdd,\n faHeart: faHeart,\n faHospital: faHospital,\n faHourglass: faHourglass,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faImage: faImage,\n faImages: faImages,\n faKeyboard: faKeyboard,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLemon: faLemon,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faListAlt: faListAlt,\n faMap: faMap,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMinusSquare: faMinusSquare,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoon: faMoon,\n faNewspaper: faNewspaper,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faPaperPlane: faPaperPlane,\n faPauseCircle: faPauseCircle,\n faPlayCircle: faPlayCircle,\n faPlusSquare: faPlusSquare,\n faQuestionCircle: faQuestionCircle,\n faRegistered: faRegistered,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSave: faSave,\n faShareSquare: faShareSquare,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmileWink: faSmileWink,\n faSnowflake: faSnowflake,\n faSquare: faSquare,\n faStar: faStar,\n faStarHalf: faStarHalf,\n faStickyNote: faStickyNote,\n faStopCircle: faStopCircle,\n faSun: faSun,\n faSurprise: faSurprise,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faTimesCircle: faTimesCircle,\n faTired: faTired,\n faTrashAlt: faTrashAlt,\n faUser: faUser,\n faUserCircle: faUserCircle,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore\n};\n\nexport { _iconsCache as far, prefix, faAddressBook, faAddressCard, faAngry, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faBell, faBellSlash, faBookmark, faBuilding, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faChartBar, faCheckCircle, faCheckSquare, faCircle, faClipboard, faClock, faClone, faClosedCaptioning, faComment, faCommentAlt, faCommentDots, faComments, faCompass, faCopy, faCopyright, faCreditCard, faDizzy, faDotCircle, faEdit, faEnvelope, faEnvelopeOpen, faEye, faEyeSlash, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileExcel, faFileImage, faFilePdf, faFilePowerpoint, faFileVideo, faFileWord, faFlag, faFlushed, faFolder, faFolderOpen, faFontAwesomeLogoFull, faFrown, faFrownOpen, faFutbol, faGem, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faHandLizard, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSpock, faHandshake, faHdd, faHeart, faHospital, faHourglass, faIdBadge, faIdCard, faImage, faImages, faKeyboard, faKiss, faKissBeam, faKissWinkHeart, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLemon, faLifeRing, faLightbulb, faListAlt, faMap, faMeh, faMehBlank, faMehRollingEyes, faMinusSquare, faMoneyBillAlt, faMoon, faNewspaper, faObjectGroup, faObjectUngroup, faPaperPlane, faPauseCircle, faPlayCircle, faPlusSquare, faQuestionCircle, faRegistered, faSadCry, faSadTear, faSave, faShareSquare, faSmile, faSmileBeam, faSmileWink, faSnowflake, faSquare, faStar, faStarHalf, faStickyNote, faStopCircle, faSun, faSurprise, faThumbsDown, faThumbsUp, faTimesCircle, faTired, faTrashAlt, faUser, faUserCircle, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore };\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"fas\";\nvar faAd = {\n prefix: 'fas',\n iconName: 'ad',\n icon: [512, 512, [], \"f641\", \"M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z\"]\n};\nvar faAddressBook = {\n prefix: 'fas',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faAddressCard = {\n prefix: 'fas',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faAdjust = {\n prefix: 'fas',\n iconName: 'adjust',\n icon: [512, 512, [], \"f042\", \"M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z\"]\n};\nvar faAirFreshener = {\n prefix: 'fas',\n iconName: 'air-freshener',\n icon: [512, 512, [], \"f5d0\", \"M224 160H96C43 160 0 203 0 256V480C0 497.625 14.375 512 32 512H288C305.625 512 320 497.625 320 480V256C320 203 277 160 224 160ZM160 416C115.875 416 80 380.125 80 336S115.875 256 160 256S240 291.875 240 336S204.125 416 160 416ZM224 32C224 14.375 209.625 0 192 0H128C110.375 0 96 14.375 96 32V128H224V32ZM381.781 51.578C383 50.969 384 49.359 384 48C384 46.625 383 45.031 381.781 44.422L352 32L339.562 2.219C338.969 1 337.375 0 336 0S333.031 1 332.406 2.219L320 32L290.219 44.422C289 45.031 288 46.625 288 48C288 49.359 289 50.969 290.219 51.578L320 64L332.406 93.781C333.031 95 334.625 96 336 96S338.969 95 339.562 93.781L352 64L381.781 51.578ZM448 64L460.406 93.781C461.031 95 462.625 96 464 96S466.969 95 467.562 93.781L480 64L509.781 51.578C511 50.969 512 49.359 512 48C512 46.625 511 45.031 509.781 44.422L480 32L467.562 2.219C466.969 1 465.375 0 464 0S461.031 1 460.406 2.219L448 32L418.219 44.422C417 45.031 416 46.625 416 48C416 49.359 417 50.969 418.219 51.578L448 64ZM480 224L467.562 194.219C466.969 193 465.375 192 464 192S461.031 193 460.406 194.219L448 224L418.219 236.422C417 237.031 416 238.625 416 240C416 241.359 417 242.969 418.219 243.578L448 256L460.406 285.781C461.031 287 462.625 288 464 288S466.969 287 467.562 285.781L480 256L509.781 243.578C511 242.969 512 241.359 512 240C512 238.625 511 237.031 509.781 236.422L480 224ZM445.781 147.578C447 146.969 448 145.359 448 144C448 142.625 447 141.031 445.781 140.422L416 128L403.562 98.219C402.969 97 401.375 96 400 96S397.031 97 396.406 98.219L384 128L354.219 140.422C353 141.031 352 142.625 352 144C352 145.359 353 146.969 354.219 147.578L384 160L396.406 189.781C397.031 191 398.625 192 400 192S402.969 191 403.562 189.781L416 160L445.781 147.578Z\"]\n};\nvar faAlignCenter = {\n prefix: 'fas',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM108.1 96h231.81A12.09 12.09 0 0 0 352 83.9V44.09A12.09 12.09 0 0 0 339.91 32H108.1A12.09 12.09 0 0 0 96 44.09V83.9A12.1 12.1 0 0 0 108.1 96zm231.81 256A12.09 12.09 0 0 0 352 339.9v-39.81A12.09 12.09 0 0 0 339.91 288H108.1A12.09 12.09 0 0 0 96 300.09v39.81a12.1 12.1 0 0 0 12.1 12.1z\"]\n};\nvar faAlignJustify = {\n prefix: 'fas',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faAlignLeft = {\n prefix: 'fas',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faAlignRight = {\n prefix: 'fas',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M16 224h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm416 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-384H172.83A12.82 12.82 0 0 0 160 44.83v38.34A12.82 12.82 0 0 0 172.83 96h262.34A12.82 12.82 0 0 0 448 83.17V44.83A12.82 12.82 0 0 0 435.17 32zm0 256H172.83A12.82 12.82 0 0 0 160 300.83v38.34A12.82 12.82 0 0 0 172.83 352h262.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288z\"]\n};\nvar faAllergies = {\n prefix: 'fas',\n iconName: 'allergies',\n icon: [448, 512, [], \"f461\", \"M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faAmbulance = {\n prefix: 'fas',\n iconName: 'ambulance',\n icon: [640, 512, [], \"f0f9\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faAmericanSignLanguageInterpreting = {\n prefix: 'fas',\n iconName: 'american-sign-language-interpreting',\n icon: [640, 512, [], \"f2a3\", \"M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z\"]\n};\nvar faAnchor = {\n prefix: 'fas',\n iconName: 'anchor',\n icon: [576, 512, [], \"f13d\", \"M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z\"]\n};\nvar faAngleDoubleDown = {\n prefix: 'fas',\n iconName: 'angle-double-down',\n icon: [320, 512, [], \"f103\", \"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z\"]\n};\nvar faAngleDoubleLeft = {\n prefix: 'fas',\n iconName: 'angle-double-left',\n icon: [448, 512, [], \"f100\", \"M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z\"]\n};\nvar faAngleDoubleRight = {\n prefix: 'fas',\n iconName: 'angle-double-right',\n icon: [448, 512, [], \"f101\", \"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z\"]\n};\nvar faAngleDoubleUp = {\n prefix: 'fas',\n iconName: 'angle-double-up',\n icon: [320, 512, [], \"f102\", \"M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z\"]\n};\nvar faAngleDown = {\n prefix: 'fas',\n iconName: 'angle-down',\n icon: [320, 512, [], \"f107\", \"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z\"]\n};\nvar faAngleLeft = {\n prefix: 'fas',\n iconName: 'angle-left',\n icon: [256, 512, [], \"f104\", \"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z\"]\n};\nvar faAngleRight = {\n prefix: 'fas',\n iconName: 'angle-right',\n icon: [256, 512, [], \"f105\", \"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"]\n};\nvar faAngleUp = {\n prefix: 'fas',\n iconName: 'angle-up',\n icon: [320, 512, [], \"f106\", \"M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z\"]\n};\nvar faAngry = {\n prefix: 'fas',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z\"]\n};\nvar faAnkh = {\n prefix: 'fas',\n iconName: 'ankh',\n icon: [320, 512, [], \"f644\", \"M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z\"]\n};\nvar faAppleAlt = {\n prefix: 'fas',\n iconName: 'apple-alt',\n icon: [448, 512, [], \"f5d1\", \"M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z\"]\n};\nvar faArchive = {\n prefix: 'fas',\n iconName: 'archive',\n icon: [512, 512, [], \"f187\", \"M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z\"]\n};\nvar faArchway = {\n prefix: 'fas',\n iconName: 'archway',\n icon: [576, 512, [], \"f557\", \"M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"]\n};\nvar faArrowAltCircleDown = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltCircleLeft = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z\"]\n};\nvar faArrowAltCircleRight = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z\"]\n};\nvar faArrowAltCircleUp = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z\"]\n};\nvar faArrowCircleDown = {\n prefix: 'fas',\n iconName: 'arrow-circle-down',\n icon: [512, 512, [], \"f0ab\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z\"]\n};\nvar faArrowCircleLeft = {\n prefix: 'fas',\n iconName: 'arrow-circle-left',\n icon: [512, 512, [], \"f0a8\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z\"]\n};\nvar faArrowCircleRight = {\n prefix: 'fas',\n iconName: 'arrow-circle-right',\n icon: [512, 512, [], \"f0a9\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z\"]\n};\nvar faArrowCircleUp = {\n prefix: 'fas',\n iconName: 'arrow-circle-up',\n icon: [512, 512, [], \"f0aa\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z\"]\n};\nvar faArrowDown = {\n prefix: 'fas',\n iconName: 'arrow-down',\n icon: [448, 512, [], \"f063\", \"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z\"]\n};\nvar faArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-left',\n icon: [448, 512, [], \"f060\", \"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z\"]\n};\nvar faArrowRight = {\n prefix: 'fas',\n iconName: 'arrow-right',\n icon: [448, 512, [], \"f061\", \"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"]\n};\nvar faArrowUp = {\n prefix: 'fas',\n iconName: 'arrow-up',\n icon: [448, 512, [], \"f062\", \"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z\"]\n};\nvar faArrowsAlt = {\n prefix: 'fas',\n iconName: 'arrows-alt',\n icon: [512, 512, [], \"f0b2\", \"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z\"]\n};\nvar faArrowsAltH = {\n prefix: 'fas',\n iconName: 'arrows-alt-h',\n icon: [512, 512, [], \"f337\", \"M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z\"]\n};\nvar faArrowsAltV = {\n prefix: 'fas',\n iconName: 'arrows-alt-v',\n icon: [256, 512, [], \"f338\", \"M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z\"]\n};\nvar faAssistiveListeningSystems = {\n prefix: 'fas',\n iconName: 'assistive-listening-systems',\n icon: [512, 512, [], \"f2a2\", \"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z\"]\n};\nvar faAsterisk = {\n prefix: 'fas',\n iconName: 'asterisk',\n icon: [512, 512, [], \"f069\", \"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z\"]\n};\nvar faAt = {\n prefix: 'fas',\n iconName: 'at',\n icon: [512, 512, [], \"f1fa\", \"M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z\"]\n};\nvar faAtlas = {\n prefix: 'fas',\n iconName: 'atlas',\n icon: [448, 512, [], \"f558\", \"M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z\"]\n};\nvar faAtom = {\n prefix: 'fas',\n iconName: 'atom',\n icon: [448, 512, [], \"f5d2\", \"M223.99908,224a32,32,0,1,0,32.00782,32A32.06431,32.06431,0,0,0,223.99908,224Zm214.172-96c-10.877-19.5-40.50979-50.75-116.27544-41.875C300.39168,34.875,267.63386,0,223.99908,0s-76.39066,34.875-97.89653,86.125C50.3369,77.375,20.706,108.5,9.82907,128-6.54984,157.375-5.17484,201.125,34.958,256-5.17484,310.875-6.54984,354.625,9.82907,384c29.13087,52.375,101.64652,43.625,116.27348,41.875C147.60842,477.125,180.36429,512,223.99908,512s76.3926-34.875,97.89652-86.125c14.62891,1.75,87.14456,10.5,116.27544-41.875C454.55,354.625,453.175,310.875,413.04017,256,453.175,201.125,454.55,157.375,438.171,128ZM63.33886,352c-4-7.25-.125-24.75,15.00391-48.25,6.87695,6.5,14.12891,12.875,21.88087,19.125,1.625,13.75,4,27.125,6.75,40.125C82.34472,363.875,67.09081,358.625,63.33886,352Zm36.88478-162.875c-7.752,6.25-15.00392,12.625-21.88087,19.125-15.12891-23.5-19.00392-41-15.00391-48.25,3.377-6.125,16.37891-11.5,37.88478-11.5,1.75,0,3.875.375,5.75.375C104.09864,162.25,101.84864,175.625,100.22364,189.125ZM223.99908,64c9.50195,0,22.25586,13.5,33.88282,37.25-11.252,3.75-22.50391,8-33.88282,12.875-11.377-4.875-22.62892-9.125-33.88283-12.875C201.74516,77.5,214.49712,64,223.99908,64Zm0,384c-9.502,0-22.25392-13.5-33.88283-37.25,11.25391-3.75,22.50587-8,33.88283-12.875C235.378,402.75,246.62994,407,257.8819,410.75,246.25494,434.5,233.501,448,223.99908,448Zm0-112a80,80,0,1,1,80-80A80.00023,80.00023,0,0,1,223.99908,336ZM384.6593,352c-3.625,6.625-19.00392,11.875-43.63479,11,2.752-13,5.127-26.375,6.752-40.125,7.75195-6.25,15.00391-12.625,21.87891-19.125C384.7843,327.25,388.6593,344.75,384.6593,352ZM369.65538,208.25c-6.875-6.5-14.127-12.875-21.87891-19.125-1.625-13.5-3.875-26.875-6.752-40.25,1.875,0,4.002-.375,5.752-.375,21.50391,0,34.50782,5.375,37.88283,11.5C388.6593,167.25,384.7843,184.75,369.65538,208.25Z\"]\n};\nvar faAudioDescription = {\n prefix: 'fas',\n iconName: 'audio-description',\n icon: [512, 512, [], \"f29e\", \"M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z\"]\n};\nvar faAward = {\n prefix: 'fas',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z\"]\n};\nvar faBaby = {\n prefix: 'fas',\n iconName: 'baby',\n icon: [384, 512, [], \"f77c\", \"M192 160c44.2 0 80-35.8 80-80S236.2 0 192 0s-80 35.8-80 80 35.8 80 80 80zm-53.4 248.8l25.6-32-61.5-51.2L56.8 383c-11.4 14.2-11.7 34.4-.8 49l48 64c7.9 10.5 19.9 16 32 16 8.3 0 16.8-2.6 24-8 17.7-13.2 21.2-38.3 8-56l-29.4-39.2zm142.7-83.2l-61.5 51.2 25.6 32L216 448c-13.2 17.7-9.7 42.8 8 56 7.2 5.4 15.6 8 24 8 12.2 0 24.2-5.5 32-16l48-64c10.9-14.6 10.6-34.8-.8-49l-45.9-57.4zM376.7 145c-12.7-18.1-37.6-22.4-55.7-9.8l-40.6 28.5c-52.7 37-124.2 37-176.8 0L63 135.3C44.9 122.6 20 127 7.3 145-5.4 163.1-1 188 17 200.7l40.6 28.5c17 11.9 35.4 20.9 54.4 27.9V288h160v-30.8c19-7 37.4-16 54.4-27.9l40.6-28.5c18.1-12.8 22.4-37.7 9.7-55.8z\"]\n};\nvar faBabyCarriage = {\n prefix: 'fas',\n iconName: 'baby-carriage',\n icon: [512, 512, [], \"f77d\", \"M144.8 17c-11.3-17.8-37.2-22.8-54-9.4C35.3 51.9 0 118 0 192h256L144.8 17zM496 96h-48c-35.3 0-64 28.7-64 64v64H0c0 50.6 23 96.4 60.3 130.7C25.7 363.6 0 394.7 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-8.9-1.8-17.2-4.4-25.2 21.6 5.9 44.6 9.2 68.4 9.2s46.9-3.3 68.4-9.2c-2.7 8-4.4 16.3-4.4 25.2 0 44.2 35.8 80 80 80s80-35.8 80-80c0-37.3-25.7-68.4-60.3-77.3C425 320.4 448 274.6 448 224v-64h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM80 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320-32c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32z\"]\n};\nvar faBackspace = {\n prefix: 'fas',\n iconName: 'backspace',\n icon: [640, 512, [], \"f55a\", \"M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z\"]\n};\nvar faBackward = {\n prefix: 'fas',\n iconName: 'backward',\n icon: [512, 512, [], \"f04a\", \"M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z\"]\n};\nvar faBacon = {\n prefix: 'fas',\n iconName: 'bacon',\n icon: [576, 512, [], \"f7e5\", \"M218.92 336.39c34.89-34.89 44.2-59.7 54.05-86 10.61-28.29 21.59-57.54 61.37-97.34s69.05-50.77 97.35-61.38c23.88-9 46.64-17.68 76.79-45.37L470.81 8.91a31 31 0 0 0-40.18-2.83c-13.64 10.1-25.15 14.39-41 20.3C247 79.52 209.26 191.29 200.65 214.1c-29.75 78.83-89.55 94.68-98.72 98.09-24.86 9.26-54.73 20.38-91.07 50.36C-3 374-3.63 395 9.07 407.61l35.76 35.51C80 410.52 107 400.15 133 390.39c26.27-9.84 51.06-19.12 85.92-54zm348-232l-35.75-35.51c-35.19 32.63-62.18 43-88.25 52.79-26.26 9.85-51.06 19.16-85.95 54s-44.19 59.69-54 86C292.33 290 281.34 319.22 241.55 359s-69 50.73-97.3 61.32c-23.86 9-46.61 17.66-76.72 45.33l37.68 37.43a31 31 0 0 0 40.18 2.82c13.6-10.06 25.09-14.34 40.94-20.24 142.2-53 180-164.1 188.94-187.69C405 219.18 464.8 203.3 474 199.86c24.87-9.27 54.74-20.4 91.11-50.41 13.89-11.4 14.52-32.45 1.82-45.05z\"]\n};\nvar faBacteria = {\n prefix: 'fas',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z\"]\n};\nvar faBacterium = {\n prefix: 'fas',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z\"]\n};\nvar faBahai = {\n prefix: 'fas',\n iconName: 'bahai',\n icon: [512, 512, [], \"f666\", \"M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z\"]\n};\nvar faBalanceScale = {\n prefix: 'fas',\n iconName: 'balance-scale',\n icon: [640, 512, [], \"f24e\", \"M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faBalanceScaleLeft = {\n prefix: 'fas',\n iconName: 'balance-scale-left',\n icon: [640, 512, [], \"f515\", \"M528 448H352V153.25c20.42-8.94 36.1-26.22 43.38-47.47l132-44.26c8.38-2.81 12.89-11.88 10.08-20.26l-10.17-30.34C524.48 2.54 515.41-1.97 507.03.84L389.11 40.37C375.3 16.36 349.69 0 320 0c-44.18 0-80 35.82-80 80 0 3.43.59 6.71 1.01 10.03l-128.39 43.05c-8.38 2.81-12.89 11.88-10.08 20.26l10.17 30.34c2.81 8.38 11.88 12.89 20.26 10.08l142.05-47.63c4.07 2.77 8.43 5.12 12.99 7.12V496c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c-.01-8.84-7.17-16-16.01-16zm111.98-144c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 288l72-144 72 144H440zm-269.07-37.51c-17.65-35.29-68.19-35.36-85.87 0C-2.06 424.75.02 416.33.02 432H0c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-16.18 1.34-8.73-85.05-181.51zM56 416l72-144 72 144H56z\"]\n};\nvar faBalanceScaleRight = {\n prefix: 'fas',\n iconName: 'balance-scale-right',\n icon: [640, 512, [], \"f516\", \"M96 464v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16V153.25c4.56-2 8.92-4.35 12.99-7.12l142.05 47.63c8.38 2.81 17.45-1.71 20.26-10.08l10.17-30.34c2.81-8.38-1.71-17.45-10.08-20.26l-128.4-43.05c.42-3.32 1.01-6.6 1.01-10.03 0-44.18-35.82-80-80-80-29.69 0-55.3 16.36-69.11 40.37L132.96.83c-8.38-2.81-17.45 1.71-20.26 10.08l-10.17 30.34c-2.81 8.38 1.71 17.45 10.08 20.26l132 44.26c7.28 21.25 22.96 38.54 43.38 47.47V448H112c-8.84 0-16 7.16-16 16zM0 304c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0C-1.32 295.27.02 287.82.02 304H0zm56-16l72-144 72 144H56zm328.02 144H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0-86.38 172.78-85.04 165.33-85.04 181.51zM440 416l72-144 72 144H440z\"]\n};\nvar faBan = {\n prefix: 'fas',\n iconName: 'ban',\n icon: [512, 512, [], \"f05e\", \"M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z\"]\n};\nvar faBandAid = {\n prefix: 'fas',\n iconName: 'band-aid',\n icon: [640, 512, [], \"f462\", \"M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z\"]\n};\nvar faBarcode = {\n prefix: 'fas',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z\"]\n};\nvar faBars = {\n prefix: 'fas',\n iconName: 'bars',\n icon: [448, 512, [], \"f0c9\", \"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\"]\n};\nvar faBaseballBall = {\n prefix: 'fas',\n iconName: 'baseball-ball',\n icon: [496, 512, [], \"f433\", \"M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z\"]\n};\nvar faBasketballBall = {\n prefix: 'fas',\n iconName: 'basketball-ball',\n icon: [496, 512, [], \"f434\", \"M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z\"]\n};\nvar faBath = {\n prefix: 'fas',\n iconName: 'bath',\n icon: [512, 512, [], \"f2cd\", \"M32,384a95.4,95.4,0,0,0,32,71.09V496a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V480H384v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V455.09A95.4,95.4,0,0,0,480,384V336H32ZM496,256H80V69.25a21.26,21.26,0,0,1,36.28-15l19.27,19.26c-13.13,29.88-7.61,59.11,8.62,79.73l-.17.17A16,16,0,0,0,144,176l11.31,11.31a16,16,0,0,0,22.63,0L283.31,81.94a16,16,0,0,0,0-22.63L272,48a16,16,0,0,0-22.62,0l-.17.17c-20.62-16.23-49.83-21.75-79.73-8.62L150.22,20.28A69.25,69.25,0,0,0,32,69.25V256H16A16,16,0,0,0,0,272v16a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V272A16,16,0,0,0,496,256Z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'fas',\n iconName: 'battery-empty',\n icon: [640, 512, [], \"f244\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z\"]\n};\nvar faBatteryFull = {\n prefix: 'fas',\n iconName: 'battery-full',\n icon: [640, 512, [], \"f240\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z\"]\n};\nvar faBatteryHalf = {\n prefix: 'fas',\n iconName: 'battery-half',\n icon: [640, 512, [], \"f242\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z\"]\n};\nvar faBatteryQuarter = {\n prefix: 'fas',\n iconName: 'battery-quarter',\n icon: [640, 512, [], \"f243\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'fas',\n iconName: 'battery-three-quarters',\n icon: [640, 512, [], \"f241\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z\"]\n};\nvar faBed = {\n prefix: 'fas',\n iconName: 'bed',\n icon: [640, 512, [], \"f236\", \"M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z\"]\n};\nvar faBeer = {\n prefix: 'fas',\n iconName: 'beer',\n icon: [448, 512, [], \"f0fc\", \"M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z\"]\n};\nvar faBell = {\n prefix: 'fas',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z\"]\n};\nvar faBellSlash = {\n prefix: 'fas',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBezierCurve = {\n prefix: 'fas',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faBible = {\n prefix: 'fas',\n iconName: 'bible',\n icon: [448, 512, [], \"f647\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"]\n};\nvar faBicycle = {\n prefix: 'fas',\n iconName: 'bicycle',\n icon: [640, 512, [], \"f206\", \"M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z\"]\n};\nvar faBiking = {\n prefix: 'fas',\n iconName: 'biking',\n icon: [640, 512, [], \"f84a\", \"M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z\"]\n};\nvar faBinoculars = {\n prefix: 'fas',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z\"]\n};\nvar faBiohazard = {\n prefix: 'fas',\n iconName: 'biohazard',\n icon: [576, 512, [], \"f780\", \"M287.9 112c18.6 0 36.2 3.8 52.8 9.6 13.3-10.3 23.6-24.3 29.5-40.7-25.2-10.9-53-17-82.2-17-29.1 0-56.9 6-82.1 16.9 5.9 16.4 16.2 30.4 29.5 40.7 16.5-5.7 34-9.5 52.5-9.5zM163.6 438.7c12-11.8 20.4-26.4 24.5-42.4-32.9-26.4-54.8-65.3-58.9-109.6-8.5-2.8-17.2-4.6-26.4-4.6-7.6 0-15.2 1-22.5 3.1 4.1 62.8 35.8 118 83.3 153.5zm224.2-42.6c4.1 16 12.5 30.7 24.5 42.5 47.4-35.5 79.1-90.7 83-153.5-7.2-2-14.7-3-22.2-3-9.2 0-18 1.9-26.6 4.7-4.1 44.2-26 82.9-58.7 109.3zm113.5-205c-17.6-10.4-36.3-16.6-55.3-19.9 6-17.7 10-36.4 10-56.2 0-41-14.5-80.8-41-112.2-2.5-3-6.6-3.7-10-1.8-3.3 1.9-4.8 6-3.6 9.7 4.5 13.8 6.6 26.3 6.6 38.5 0 67.8-53.8 122.9-120 122.9S168 117 168 49.2c0-12.1 2.2-24.7 6.6-38.5 1.2-3.7-.3-7.8-3.6-9.7-3.4-1.9-7.5-1.2-10 1.8C134.6 34.2 120 74 120 115c0 19.8 3.9 38.5 10 56.2-18.9 3.3-37.7 9.5-55.3 19.9-34.6 20.5-61 53.3-74.3 92.4-1.3 3.7.2 7.7 3.5 9.8 3.3 2 7.5 1.3 10-1.6 9.4-10.8 19-19.1 29.2-25.1 57.3-33.9 130.8-13.7 163.9 45 33.1 58.7 13.4 134-43.9 167.9-10.2 6.1-22 10.4-35.8 13.4-3.7.8-6.4 4.2-6.4 8.1.1 4 2.7 7.3 6.5 8 39.7 7.8 80.6.8 115.2-19.7 18-10.6 32.9-24.5 45.3-40.1 12.4 15.6 27.3 29.5 45.3 40.1 34.6 20.5 75.5 27.5 115.2 19.7 3.8-.7 6.4-4 6.5-8 0-3.9-2.6-7.3-6.4-8.1-13.9-2.9-25.6-7.3-35.8-13.4-57.3-33.9-77-109.2-43.9-167.9s106.6-78.9 163.9-45c10.2 6.1 19.8 14.3 29.2 25.1 2.5 2.9 6.7 3.6 10 1.6s4.8-6.1 3.5-9.8c-13.1-39.1-39.5-72-74.1-92.4zm-213.4 129c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faBirthdayCake = {\n prefix: 'fas',\n iconName: 'birthday-cake',\n icon: [448, 512, [], \"f1fd\", \"M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z\"]\n};\nvar faBlender = {\n prefix: 'fas',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z\"]\n};\nvar faBlenderPhone = {\n prefix: 'fas',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBlind = {\n prefix: 'fas',\n iconName: 'blind',\n icon: [384, 512, [], \"f29d\", \"M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z\"]\n};\nvar faBlog = {\n prefix: 'fas',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z\"]\n};\nvar faBold = {\n prefix: 'fas',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z\"]\n};\nvar faBolt = {\n prefix: 'fas',\n iconName: 'bolt',\n icon: [320, 512, [], \"f0e7\", \"M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z\"]\n};\nvar faBomb = {\n prefix: 'fas',\n iconName: 'bomb',\n icon: [512, 512, [], \"f1e2\", \"M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faBone = {\n prefix: 'fas',\n iconName: 'bone',\n icon: [640, 512, [], \"f5d7\", \"M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z\"]\n};\nvar faBong = {\n prefix: 'fas',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z\"]\n};\nvar faBook = {\n prefix: 'fas',\n iconName: 'book',\n icon: [448, 512, [], \"f02d\", \"M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z\"]\n};\nvar faBookDead = {\n prefix: 'fas',\n iconName: 'book-dead',\n icon: [448, 512, [], \"f6b7\", \"M272 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.2 0 80 28.7 80 64 0 20.9-12.7 39.2-32 50.9V184c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-13.1c-19.3-11.7-32-30-32-50.9 0-35.3 35.8-64 80-64zM124.8 223.3l6.3-14.7c1.7-4.1 6.4-5.9 10.5-4.2l98.3 42.1 98.4-42.1c4.1-1.7 8.8.1 10.5 4.2l6.3 14.7c1.7 4.1-.1 8.8-4.2 10.5L280.6 264l70.3 30.1c4.1 1.7 5.9 6.4 4.2 10.5l-6.3 14.7c-1.7 4.1-6.4 5.9-10.5 4.2L240 281.4l-98.3 42.2c-4.1 1.7-8.8-.1-10.5-4.2l-6.3-14.7c-1.7-4.1.1-8.8 4.2-10.5l70.4-30.1-70.5-30.3c-4.1-1.7-5.9-6.4-4.2-10.5zm256 224.7H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8zM208 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16z\"]\n};\nvar faBookMedical = {\n prefix: 'fas',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16q0-9.6-9.6-19.2c-3.2-16-3.2-60.8 0-73.6q9.6-4.8 9.6-19.2zM144 168a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8zm236.8 280H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z\"]\n};\nvar faBookOpen = {\n prefix: 'fas',\n iconName: 'book-open',\n icon: [576, 512, [], \"f518\", \"M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z\"]\n};\nvar faBookReader = {\n prefix: 'fas',\n iconName: 'book-reader',\n icon: [512, 512, [], \"f5da\", \"M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z\"]\n};\nvar faBookmark = {\n prefix: 'fas',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z\"]\n};\nvar faBorderAll = {\n prefix: 'fas',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 64v128H256V96zm-192 0v128H64V96zM64 416V288h128v128zm192 0V288h128v128z\"]\n};\nvar faBorderNone = {\n prefix: 'fas',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M240 224h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-288 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM240 320h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-384h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM48 224H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faBorderStyle = {\n prefix: 'fas',\n iconName: 'border-style',\n icon: [448, 512, [], \"f853\", \"M240 416h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm192 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H32A32 32 0 0 0 0 64v400a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V96h368a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faBowlingBall = {\n prefix: 'fas',\n iconName: 'bowling-ball',\n icon: [496, 512, [], \"f436\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faBox = {\n prefix: 'fas',\n iconName: 'box',\n icon: [512, 512, [], \"f466\", \"M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z\"]\n};\nvar faBoxOpen = {\n prefix: 'fas',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z\"]\n};\nvar faBoxTissue = {\n prefix: 'fas',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z\"]\n};\nvar faBoxes = {\n prefix: 'fas',\n iconName: 'boxes',\n icon: [576, 512, [], \"f468\", \"M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faBraille = {\n prefix: 'fas',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"]\n};\nvar faBrain = {\n prefix: 'fas',\n iconName: 'brain',\n icon: [576, 512, [], \"f5dc\", \"M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z\"]\n};\nvar faBreadSlice = {\n prefix: 'fas',\n iconName: 'bread-slice',\n icon: [576, 512, [], \"f7ec\", \"M288 0C108 0 0 93.4 0 169.14 0 199.44 24.24 224 64 224v256c0 17.67 16.12 32 36 32h376c19.88 0 36-14.33 36-32V224c39.76 0 64-24.56 64-54.86C576 93.4 468 0 288 0z\"]\n};\nvar faBriefcase = {\n prefix: 'fas',\n iconName: 'briefcase',\n icon: [512, 512, [], \"f0b1\", \"M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z\"]\n};\nvar faBriefcaseMedical = {\n prefix: 'fas',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z\"]\n};\nvar faBroadcastTower = {\n prefix: 'fas',\n iconName: 'broadcast-tower',\n icon: [640, 512, [], \"f519\", \"M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z\"]\n};\nvar faBroom = {\n prefix: 'fas',\n iconName: 'broom',\n icon: [640, 512, [], \"f51a\", \"M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z\"]\n};\nvar faBrush = {\n prefix: 'fas',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z\"]\n};\nvar faBug = {\n prefix: 'fas',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z\"]\n};\nvar faBuilding = {\n prefix: 'fas',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z\"]\n};\nvar faBullhorn = {\n prefix: 'fas',\n iconName: 'bullhorn',\n icon: [576, 512, [], \"f0a1\", \"M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z\"]\n};\nvar faBullseye = {\n prefix: 'fas',\n iconName: 'bullseye',\n icon: [496, 512, [], \"f140\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z\"]\n};\nvar faBurn = {\n prefix: 'fas',\n iconName: 'burn',\n icon: [384, 512, [], \"f46a\", \"M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z\"]\n};\nvar faBus = {\n prefix: 'fas',\n iconName: 'bus',\n icon: [512, 512, [], \"f207\", \"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBusAlt = {\n prefix: 'fas',\n iconName: 'bus-alt',\n icon: [512, 512, [], \"f55e\", \"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBusinessTime = {\n prefix: 'fas',\n iconName: 'business-time',\n icon: [640, 512, [], \"f64a\", \"M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z\"]\n};\nvar faCalculator = {\n prefix: 'fas',\n iconName: 'calculator',\n icon: [448, 512, [], \"f1ec\", \"M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z\"]\n};\nvar faCalendar = {\n prefix: 'fas',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z\"]\n};\nvar faCalendarAlt = {\n prefix: 'fas',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCalendarCheck = {\n prefix: 'fas',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z\"]\n};\nvar faCalendarDay = {\n prefix: 'fas',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCalendarMinus = {\n prefix: 'fas',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z\"]\n};\nvar faCalendarPlus = {\n prefix: 'fas',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z\"]\n};\nvar faCalendarTimes = {\n prefix: 'fas',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z\"]\n};\nvar faCalendarWeek = {\n prefix: 'fas',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-64zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCamera = {\n prefix: 'fas',\n iconName: 'camera',\n icon: [512, 512, [], \"f030\", \"M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z\"]\n};\nvar faCameraRetro = {\n prefix: 'fas',\n iconName: 'camera-retro',\n icon: [512, 512, [], \"f083\", \"M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z\"]\n};\nvar faCampground = {\n prefix: 'fas',\n iconName: 'campground',\n icon: [640, 512, [], \"f6bb\", \"M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z\"]\n};\nvar faCandyCane = {\n prefix: 'fas',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M497.5 92C469.6 33.1 411.8 0 352.4 0c-27.9 0-56.2 7.3-81.8 22.6L243.1 39c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5l27.5-16.4c5.1-3.1 10.8-4.5 16.4-4.5 10.9 0 21.5 5.6 27.5 15.6 9.1 15.1 4.1 34.8-11 43.9L15.6 397.6c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5L428.6 301c71.7-42.9 104.6-133.5 68.9-209zm-177.7 13l-2.5 1.5L296.8 45c9.7-4.7 19.8-8.1 30.3-10.2l20.6 61.8c-9.8.8-19.4 3.3-27.9 8.4zM145.9 431.8l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm107.5-63.9l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zM364.3 302l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm20.4-197.3l46-46c8.4 6.5 16 14.1 22.6 22.6L407.6 127c-5.7-9.3-13.7-16.9-22.9-22.3zm82.1 107.8l-59.5-19.8c3.2-5.3 5.8-10.9 7.4-17.1 1.1-4.5 1.7-9.1 1.8-13.6l60.4 20.1c-2.1 10.4-5.5 20.6-10.1 30.4z\"]\n};\nvar faCannabis = {\n prefix: 'fas',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z\"]\n};\nvar faCapsules = {\n prefix: 'fas',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z\"]\n};\nvar faCar = {\n prefix: 'fas',\n iconName: 'car',\n icon: [512, 512, [], \"f1b9\", \"M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"]\n};\nvar faCarAlt = {\n prefix: 'fas',\n iconName: 'car-alt',\n icon: [480, 512, [], \"f5de\", \"M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"]\n};\nvar faCarBattery = {\n prefix: 'fas',\n iconName: 'car-battery',\n icon: [512, 512, [], \"f5df\", \"M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z\"]\n};\nvar faCarCrash = {\n prefix: 'fas',\n iconName: 'car-crash',\n icon: [640, 512, [], \"f5e1\", \"M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z\"]\n};\nvar faCarSide = {\n prefix: 'fas',\n iconName: 'car-side',\n icon: [640, 512, [], \"f5e4\", \"M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"]\n};\nvar faCaravan = {\n prefix: 'fas',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M416,208a16,16,0,1,0,16,16A16,16,0,0,0,416,208ZM624,320H576V160A160,160,0,0,0,416,0H64A64,64,0,0,0,0,64V320a64,64,0,0,0,64,64H96a96,96,0,0,0,192,0H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM192,432a48,48,0,1,1,48-48A48.05,48.05,0,0,1,192,432Zm64-240a32,32,0,0,1-32,32H96a32,32,0,0,1-32-32V128A32,32,0,0,1,96,96H224a32,32,0,0,1,32,32ZM448,320H320V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z\"]\n};\nvar faCaretDown = {\n prefix: 'fas',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"]\n};\nvar faCaretLeft = {\n prefix: 'fas',\n iconName: 'caret-left',\n icon: [192, 512, [], \"f0d9\", \"M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z\"]\n};\nvar faCaretRight = {\n prefix: 'fas',\n iconName: 'caret-right',\n icon: [192, 512, [], \"f0da\", \"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"]\n};\nvar faCaretSquareDown = {\n prefix: 'fas',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z\"]\n};\nvar faCaretSquareLeft = {\n prefix: 'fas',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z\"]\n};\nvar faCaretSquareRight = {\n prefix: 'fas',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z\"]\n};\nvar faCaretSquareUp = {\n prefix: 'fas',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z\"]\n};\nvar faCaretUp = {\n prefix: 'fas',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"]\n};\nvar faCarrot = {\n prefix: 'fas',\n iconName: 'carrot',\n icon: [512, 512, [], \"f787\", \"M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z\"]\n};\nvar faCartArrowDown = {\n prefix: 'fas',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z\"]\n};\nvar faCartPlus = {\n prefix: 'fas',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z\"]\n};\nvar faCashRegister = {\n prefix: 'fas',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z\"]\n};\nvar faCat = {\n prefix: 'fas',\n iconName: 'cat',\n icon: [512, 512, [], \"f6be\", \"M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faCertificate = {\n prefix: 'fas',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z\"]\n};\nvar faChair = {\n prefix: 'fas',\n iconName: 'chair',\n icon: [448, 512, [], \"f6c0\", \"M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z\"]\n};\nvar faChalkboard = {\n prefix: 'fas',\n iconName: 'chalkboard',\n icon: [640, 512, [], \"f51b\", \"M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faChalkboardTeacher = {\n prefix: 'fas',\n iconName: 'chalkboard-teacher',\n icon: [640, 512, [], \"f51c\", \"M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z\"]\n};\nvar faChargingStation = {\n prefix: 'fas',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z\"]\n};\nvar faChartArea = {\n prefix: 'fas',\n iconName: 'chart-area',\n icon: [512, 512, [], \"f1fe\", \"M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z\"]\n};\nvar faChartBar = {\n prefix: 'fas',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faChartLine = {\n prefix: 'fas',\n iconName: 'chart-line',\n icon: [512, 512, [], \"f201\", \"M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z\"]\n};\nvar faChartPie = {\n prefix: 'fas',\n iconName: 'chart-pie',\n icon: [544, 512, [], \"f200\", \"M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z\"]\n};\nvar faCheck = {\n prefix: 'fas',\n iconName: 'check',\n icon: [512, 512, [], \"f00c\", \"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"]\n};\nvar faCheckCircle = {\n prefix: 'fas',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z\"]\n};\nvar faCheckDouble = {\n prefix: 'fas',\n iconName: 'check-double',\n icon: [512, 512, [], \"f560\", \"M505 174.8l-39.6-39.6c-9.4-9.4-24.6-9.4-33.9 0L192 374.7 80.6 263.2c-9.4-9.4-24.6-9.4-33.9 0L7 302.9c-9.4 9.4-9.4 24.6 0 34L175 505c9.4 9.4 24.6 9.4 33.9 0l296-296.2c9.4-9.5 9.4-24.7.1-34zm-324.3 106c6.2 6.3 16.4 6.3 22.6 0l208-208.2c6.2-6.3 6.2-16.4 0-22.6L366.1 4.7c-6.2-6.3-16.4-6.3-22.6 0L192 156.2l-55.4-55.5c-6.2-6.3-16.4-6.3-22.6 0L68.7 146c-6.2 6.3-6.2 16.4 0 22.6l112 112.2z\"]\n};\nvar faCheckSquare = {\n prefix: 'fas',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z\"]\n};\nvar faCheese = {\n prefix: 'fas',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M0 288v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288zM299.83 32a32 32 0 0 0-21.13 7L0 256h512c0-119.89-94-217.8-212.17-224z\"]\n};\nvar faChess = {\n prefix: 'fas',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z\"]\n};\nvar faChessBishop = {\n prefix: 'fas',\n iconName: 'chess-bishop',\n icon: [320, 512, [], \"f43a\", \"M8 287.88c0 51.64 22.14 73.83 56 84.6V416h192v-43.52c33.86-10.77 56-33 56-84.6 0-30.61-10.73-67.1-26.69-102.56L185 285.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L270.27 155.1c-20.8-37.91-46.47-72.1-70.87-92.59C213.4 59.09 224 47.05 224 32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32c0 15 10.6 27.09 24.6 30.51C67.81 106.8 8 214.5 8 287.88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessBoard = {\n prefix: 'fas',\n iconName: 'chess-board',\n icon: [512, 512, [], \"f43c\", \"M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z\"]\n};\nvar faChessKing = {\n prefix: 'fas',\n iconName: 'chess-king',\n icon: [448, 512, [], \"f43f\", \"M400 448H48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm16-288H256v-48h40a8 8 0 0 0 8-8V56a8 8 0 0 0-8-8h-40V8a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v40h-40a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h40v48H32a32 32 0 0 0-30.52 41.54L74.56 416h298.88l73.08-214.46A32 32 0 0 0 416 160z\"]\n};\nvar faChessKnight = {\n prefix: 'fas',\n iconName: 'chess-knight',\n icon: [384, 512, [], \"f441\", \"M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessPawn = {\n prefix: 'fas',\n iconName: 'chess-pawn',\n icon: [320, 512, [], \"f443\", \"M105.1 224H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h16v5.49c0 44-4.14 86.6-24 122.51h176c-19.89-35.91-24-78.51-24-122.51V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-25.1c29.39-18.38 49.1-50.78 49.1-88a104 104 0 0 0-208 0c0 37.22 19.71 69.62 49.1 88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessQueen = {\n prefix: 'fas',\n iconName: 'chess-queen',\n icon: [512, 512, [], \"f445\", \"M256 112a56 56 0 1 0-56-56 56 56 0 0 0 56 56zm176 336H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm72.87-263.84l-28.51-15.92c-7.44-5-16.91-2.46-22.29 4.68a47.59 47.59 0 0 1-47.23 18.23C383.7 186.86 368 164.93 368 141.4a13.4 13.4 0 0 0-13.4-13.4h-38.77c-6 0-11.61 4-12.86 9.91a48 48 0 0 1-93.94 0c-1.25-5.92-6.82-9.91-12.86-9.91H157.4a13.4 13.4 0 0 0-13.4 13.4c0 25.69-19 48.75-44.67 50.49a47.5 47.5 0 0 1-41.54-19.15c-5.28-7.09-14.73-9.45-22.09-4.54l-28.57 16a16 16 0 0 0-5.44 20.47L104.24 416h303.52l102.55-211.37a16 16 0 0 0-5.44-20.47z\"]\n};\nvar faChessRook = {\n prefix: 'fas',\n iconName: 'chess-rook',\n icon: [384, 512, [], \"f447\", \"M368 32h-56a16 16 0 0 0-16 16v48h-48V48a16 16 0 0 0-16-16h-80a16 16 0 0 0-16 16v48H88.1V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v176l64 32c0 48.33-1.54 95-13.21 160h282.42C321.54 351 320 303.72 320 256l64-32V48a16 16 0 0 0-16-16zM224 320h-64v-64a32 32 0 0 1 64 0zm144 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChevronCircleDown = {\n prefix: 'fas',\n iconName: 'chevron-circle-down',\n icon: [512, 512, [], \"f13a\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z\"]\n};\nvar faChevronCircleLeft = {\n prefix: 'fas',\n iconName: 'chevron-circle-left',\n icon: [512, 512, [], \"f137\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z\"]\n};\nvar faChevronCircleRight = {\n prefix: 'fas',\n iconName: 'chevron-circle-right',\n icon: [512, 512, [], \"f138\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z\"]\n};\nvar faChevronCircleUp = {\n prefix: 'fas',\n iconName: 'chevron-circle-up',\n icon: [512, 512, [], \"f139\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z\"]\n};\nvar faChevronDown = {\n prefix: 'fas',\n iconName: 'chevron-down',\n icon: [448, 512, [], \"f078\", \"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"]\n};\nvar faChevronLeft = {\n prefix: 'fas',\n iconName: 'chevron-left',\n icon: [320, 512, [], \"f053\", \"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\"]\n};\nvar faChevronRight = {\n prefix: 'fas',\n iconName: 'chevron-right',\n icon: [320, 512, [], \"f054\", \"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"]\n};\nvar faChevronUp = {\n prefix: 'fas',\n iconName: 'chevron-up',\n icon: [448, 512, [], \"f077\", \"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"]\n};\nvar faChild = {\n prefix: 'fas',\n iconName: 'child',\n icon: [384, 512, [], \"f1ae\", \"M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z\"]\n};\nvar faChurch = {\n prefix: 'fas',\n iconName: 'church',\n icon: [640, 512, [], \"f51d\", \"M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z\"]\n};\nvar faCircle = {\n prefix: 'fas',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"]\n};\nvar faCircleNotch = {\n prefix: 'fas',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z\"]\n};\nvar faCity = {\n prefix: 'fas',\n iconName: 'city',\n icon: [640, 512, [], \"f64f\", \"M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z\"]\n};\nvar faClinicMedical = {\n prefix: 'fas',\n iconName: 'clinic-medical',\n icon: [576, 512, [], \"f7f2\", \"M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm96 261a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8zm186.69-139.72l-255.94-226a39.85 39.85 0 0 0-53.45 0l-256 226a16 16 0 0 0-1.21 22.6L25.5 282.7a16 16 0 0 0 22.6 1.21L277.42 81.63a16 16 0 0 1 21.17 0L527.91 283.9a16 16 0 0 0 22.6-1.21l21.4-23.82a16 16 0 0 0-1.22-22.59z\"]\n};\nvar faClipboard = {\n prefix: 'fas',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z\"]\n};\nvar faClipboardCheck = {\n prefix: 'fas',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z\"]\n};\nvar faClipboardList = {\n prefix: 'fas',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faClock = {\n prefix: 'fas',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z\"]\n};\nvar faClone = {\n prefix: 'fas',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'fas',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z\"]\n};\nvar faCloud = {\n prefix: 'fas',\n iconName: 'cloud',\n icon: [640, 512, [], \"f0c2\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z\"]\n};\nvar faCloudDownloadAlt = {\n prefix: 'fas',\n iconName: 'cloud-download-alt',\n icon: [640, 512, [], \"f381\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z\"]\n};\nvar faCloudMeatball = {\n prefix: 'fas',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M48 352c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm416 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-119 11.1c4.6-14.5 1.6-30.8-9.8-42.3-11.5-11.5-27.8-14.4-42.3-9.9-7-13.5-20.7-23-36.9-23s-29.9 9.5-36.9 23c-14.5-4.6-30.8-1.6-42.3 9.9-11.5 11.5-14.4 27.8-9.9 42.3-13.5 7-23 20.7-23 36.9s9.5 29.9 23 36.9c-4.6 14.5-1.6 30.8 9.9 42.3 8.2 8.2 18.9 12.3 29.7 12.3 4.3 0 8.5-1.1 12.6-2.5 7 13.5 20.7 23 36.9 23s29.9-9.5 36.9-23c4.1 1.3 8.3 2.5 12.6 2.5 10.8 0 21.5-4.1 29.7-12.3 11.5-11.5 14.4-27.8 9.8-42.3 13.5-7 23-20.7 23-36.9s-9.5-29.9-23-36.9zM512 224c0-53-43-96-96-96-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h43.4c3.6-8 8.4-15.4 14.8-21.8 13.5-13.5 31.5-21.1 50.8-21.3 13.5-13.2 31.7-20.9 51-20.9s37.5 7.7 51 20.9c19.3.2 37.3 7.8 50.8 21.3 6.4 6.4 11.3 13.8 14.8 21.8H416c53 0 96-43 96-96z\"]\n};\nvar faCloudMoon = {\n prefix: 'fas',\n iconName: 'cloud-moon',\n icon: [576, 512, [], \"f6c3\", \"M342.8 352.7c5.7-9.6 9.2-20.7 9.2-32.7 0-35.3-28.7-64-64-64-17.2 0-32.8 6.9-44.3 17.9-16.3-29.6-47.5-49.9-83.7-49.9-53 0-96 43-96 96 0 2 .5 3.8.6 5.7C27.1 338.8 0 374.1 0 416c0 53 43 96 96 96h240c44.2 0 80-35.8 80-80 0-41.9-32.3-75.8-73.2-79.3zm222.5-54.3c-93.1 17.7-178.5-53.7-178.5-147.7 0-54.2 29-104 76.1-130.8 7.3-4.1 5.4-15.1-2.8-16.7C448.4 1.1 436.7 0 425 0 319.1 0 233.1 85.9 233.1 192c0 8.5.7 16.8 1.8 25 5.9 4.3 11.6 8.9 16.7 14.2 11.4-4.7 23.7-7.2 36.4-7.2 52.9 0 96 43.1 96 96 0 3.6-.2 7.2-.6 10.7 23.6 10.8 42.4 29.5 53.5 52.6 54.4-3.4 103.7-29.3 137.1-70.4 5.3-6.5-.5-16.1-8.7-14.5z\"]\n};\nvar faCloudMoonRain = {\n prefix: 'fas',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M350.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C27.6 232.9 0 265.2 0 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm217.4-1.7c-70.4 13.3-135-40.3-135-110.8 0-40.6 21.9-78 57.5-98.1 5.5-3.1 4.1-11.4-2.1-12.5C479.6.8 470.7 0 461.8 0c-77.9 0-141.1 61.2-144.4 137.9 26.7 11.9 48.2 33.8 58.9 61.7 37.1 14.3 64 47.4 70.2 86.8 5.1.5 10 1.5 15.2 1.5 44.7 0 85.6-20.2 112.6-53.3 4.2-4.8-.2-12-6.4-10.8zM364.5 418.1c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"]\n};\nvar faCloudRain = {\n prefix: 'fas',\n iconName: 'cloud-rain',\n icon: [512, 512, [], \"f73d\", \"M416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM88 374.2c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0z\"]\n};\nvar faCloudShowersHeavy = {\n prefix: 'fas',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M183.9 370.1c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-192 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm384 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zM416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.2 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96z\"]\n};\nvar faCloudSun = {\n prefix: 'fas',\n iconName: 'cloud-sun',\n icon: [640, 512, [], \"f6c4\", \"M575.2 325.7c.2-1.9.8-3.7.8-5.6 0-35.3-28.7-64-64-64-12.6 0-24.2 3.8-34.1 10-17.6-38.8-56.5-66-101.9-66-61.8 0-112 50.1-112 112 0 3 .7 5.8.9 8.7-49.6 3.7-88.9 44.7-88.9 95.3 0 53 43 96 96 96h272c53 0 96-43 96-96 0-42.1-27.2-77.4-64.8-90.4zm-430.4-22.6c-43.7-43.7-43.7-114.7 0-158.3 43.7-43.7 114.7-43.7 158.4 0 9.7 9.7 16.9 20.9 22.3 32.7 9.8-3.7 20.1-6 30.7-7.5L386 81.1c4-11.9-7.3-23.1-19.2-19.2L279 91.2 237.5 8.4C232-2.8 216-2.8 210.4 8.4L169 91.2 81.1 61.9C69.3 58 58 69.3 61.9 81.1l29.3 87.8-82.8 41.5c-11.2 5.6-11.2 21.5 0 27.1l82.8 41.4-29.3 87.8c-4 11.9 7.3 23.1 19.2 19.2l76.1-25.3c6.1-12.4 14-23.7 23.6-33.5-13.1-5.4-25.4-13.4-36-24zm-4.8-79.2c0 40.8 29.3 74.8 67.9 82.3 8-4.7 16.3-8.8 25.2-11.7 5.4-44.3 31-82.5 67.4-105C287.3 160.4 258 140 224 140c-46.3 0-84 37.6-84 83.9z\"]\n};\nvar faCloudSunRain = {\n prefix: 'fas',\n iconName: 'cloud-sun-rain',\n icon: [576, 512, [], \"f743\", \"M510.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C187.6 233 160 265.2 160 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm-386.4 34.4c-37.4-37.4-37.4-98.3 0-135.8 34.6-34.6 89.1-36.8 126.7-7.4 20-12.9 43.6-20.7 69.2-20.7.7 0 1.3.2 2 .2l8.9-26.7c3.4-10.2-6.3-19.8-16.5-16.4l-75.3 25.1-35.5-71c-4.8-9.6-18.5-9.6-23.3 0l-35.5 71-75.3-25.1c-10.2-3.4-19.8 6.3-16.4 16.5l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5-25.1 75.3c-3.4 10.2 6.3 19.8 16.5 16.5l59.2-19.7c-.2-2.4-.7-4.7-.7-7.2 0-12.5 2.3-24.5 6.2-35.9-3.6-2.7-7.1-5.2-10.2-8.3zm69.8-58c4.3-24.5 15.8-46.4 31.9-64-9.8-6.2-21.4-9.9-33.8-9.9-35.3 0-64 28.7-64 64 0 18.7 8.2 35.4 21.1 47.1 11.3-15.9 26.6-28.9 44.8-37.2zm330.6 216.2c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"]\n};\nvar faCloudUploadAlt = {\n prefix: 'fas',\n iconName: 'cloud-upload-alt',\n icon: [640, 512, [], \"f382\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z\"]\n};\nvar faCocktail = {\n prefix: 'fas',\n iconName: 'cocktail',\n icon: [576, 512, [], \"f561\", \"M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z\"]\n};\nvar faCode = {\n prefix: 'fas',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"]\n};\nvar faCodeBranch = {\n prefix: 'fas',\n iconName: 'code-branch',\n icon: [384, 512, [], \"f126\", \"M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z\"]\n};\nvar faCoffee = {\n prefix: 'fas',\n iconName: 'coffee',\n icon: [640, 512, [], \"f0f4\", \"M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z\"]\n};\nvar faCog = {\n prefix: 'fas',\n iconName: 'cog',\n icon: [512, 512, [], \"f013\", \"M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faCogs = {\n prefix: 'fas',\n iconName: 'cogs',\n icon: [640, 512, [], \"f085\", \"M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z\"]\n};\nvar faCoins = {\n prefix: 'fas',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z\"]\n};\nvar faColumns = {\n prefix: 'fas',\n iconName: 'columns',\n icon: [512, 512, [], \"f0db\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z\"]\n};\nvar faComment = {\n prefix: 'fas',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z\"]\n};\nvar faCommentAlt = {\n prefix: 'fas',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z\"]\n};\nvar faCommentDollar = {\n prefix: 'fas',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z\"]\n};\nvar faCommentDots = {\n prefix: 'fas',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faCommentMedical = {\n prefix: 'fas',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z\"]\n};\nvar faCommentSlash = {\n prefix: 'fas',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"]\n};\nvar faComments = {\n prefix: 'fas',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z\"]\n};\nvar faCommentsDollar = {\n prefix: 'fas',\n iconName: 'comments-dollar',\n icon: [576, 512, [], \"f653\", \"M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z\"]\n};\nvar faCompactDisc = {\n prefix: 'fas',\n iconName: 'compact-disc',\n icon: [496, 512, [], \"f51f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faCompass = {\n prefix: 'fas',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z\"]\n};\nvar faCompress = {\n prefix: 'fas',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"]\n};\nvar faCompressAlt = {\n prefix: 'fas',\n iconName: 'compress-alt',\n icon: [448, 512, [], \"f422\", \"M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z\"]\n};\nvar faCompressArrowsAlt = {\n prefix: 'fas',\n iconName: 'compress-arrows-alt',\n icon: [512, 512, [], \"f78c\", \"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z\"]\n};\nvar faConciergeBell = {\n prefix: 'fas',\n iconName: 'concierge-bell',\n icon: [512, 512, [], \"f562\", \"M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faCookie = {\n prefix: 'fas',\n iconName: 'cookie',\n icon: [512, 512, [], \"f563\", \"M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faCookieBite = {\n prefix: 'fas',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faCopy = {\n prefix: 'fas',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z\"]\n};\nvar faCopyright = {\n prefix: 'fas',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z\"]\n};\nvar faCouch = {\n prefix: 'fas',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z\"]\n};\nvar faCreditCard = {\n prefix: 'fas',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z\"]\n};\nvar faCrop = {\n prefix: 'fas',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faCropAlt = {\n prefix: 'fas',\n iconName: 'crop-alt',\n icon: [512, 512, [], \"f565\", \"M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z\"]\n};\nvar faCross = {\n prefix: 'fas',\n iconName: 'cross',\n icon: [384, 512, [], \"f654\", \"M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faCrosshairs = {\n prefix: 'fas',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z\"]\n};\nvar faCrow = {\n prefix: 'fas',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faCrown = {\n prefix: 'fas',\n iconName: 'crown',\n icon: [640, 512, [], \"f521\", \"M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z\"]\n};\nvar faCrutch = {\n prefix: 'fas',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M507.31 185.71l-181-181a16 16 0 0 0-22.62 0L281 27.31a16 16 0 0 0 0 22.63l181 181a16 16 0 0 0 22.63 0l22.62-22.63a16 16 0 0 0 .06-22.6zm-179.54 66.41l-67.89-67.89 55.1-55.1-45.25-45.25-109.67 109.67a96.08 96.08 0 0 0-25.67 46.29L106.65 360.1l-102 102a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l102-102 120.25-27.75a95.88 95.88 0 0 0 46.29-25.65l109.68-109.68L382.87 197zm-54.57 54.57a32 32 0 0 1-15.45 8.54l-79.3 18.32 18.3-79.3a32.22 32.22 0 0 1 8.56-15.45l9.31-9.31 67.89 67.89z\"]\n};\nvar faCube = {\n prefix: 'fas',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z\"]\n};\nvar faCubes = {\n prefix: 'fas',\n iconName: 'cubes',\n icon: [512, 512, [], \"f1b3\", \"M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z\"]\n};\nvar faCut = {\n prefix: 'fas',\n iconName: 'cut',\n icon: [448, 512, [], \"f0c4\", \"M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"]\n};\nvar faDatabase = {\n prefix: 'fas',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z\"]\n};\nvar faDeaf = {\n prefix: 'fas',\n iconName: 'deaf',\n icon: [512, 512, [], \"f2a4\", \"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z\"]\n};\nvar faDemocrat = {\n prefix: 'fas',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M637.3 256.9l-19.6-29.4c-28.2-42.3-75.3-67.5-126.1-67.5H256l-81.2-81.2c20.1-20.1 22.6-51.1 7.5-73.9-3.4-5.2-10.8-5.9-15.2-1.5l-41.8 41.8L82.4 2.4c-3.6-3.6-9.6-3-12.4 1.2-12.3 18.6-10.3 44 6.1 60.4 3.3 3.3 7.3 5.3 11.3 7.5-2.2 1.7-4.7 3.1-6.4 5.4L6.4 176.2c-7.3 9.7-8.4 22.7-3 33.5l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7h31c8.5 0 16.6-3.4 22.6-9.4L138 212l54 108h352v-77.8c16.2 12.2 18.3 17.6 40.1 50.3 4.9 7.4 14.8 9.3 22.2 4.4l26.6-17.7c7.3-5 9.3-14.9 4.4-22.3zm-341.1-13.6l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L256 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L368 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L480 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zM192 496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80h160v80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V352H192v144z\"]\n};\nvar faDesktop = {\n prefix: 'fas',\n iconName: 'desktop',\n icon: [576, 512, [], \"f108\", \"M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z\"]\n};\nvar faDharmachakra = {\n prefix: 'fas',\n iconName: 'dharmachakra',\n icon: [512, 512, [], \"f655\", \"M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z\"]\n};\nvar faDiagnoses = {\n prefix: 'fas',\n iconName: 'diagnoses',\n icon: [640, 512, [], \"f470\", \"M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDice = {\n prefix: 'fas',\n iconName: 'dice',\n icon: [640, 512, [], \"f522\", \"M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faDiceD20 = {\n prefix: 'fas',\n iconName: 'dice-d20',\n icon: [480, 512, [], \"f6cf\", \"M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z\"]\n};\nvar faDiceD6 = {\n prefix: 'fas',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z\"]\n};\nvar faDiceFive = {\n prefix: 'fas',\n iconName: 'dice-five',\n icon: [448, 512, [], \"f523\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceFour = {\n prefix: 'fas',\n iconName: 'dice-four',\n icon: [448, 512, [], \"f524\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceOne = {\n prefix: 'fas',\n iconName: 'dice-one',\n icon: [448, 512, [], \"f525\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceSix = {\n prefix: 'fas',\n iconName: 'dice-six',\n icon: [448, 512, [], \"f526\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceThree = {\n prefix: 'fas',\n iconName: 'dice-three',\n icon: [448, 512, [], \"f527\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceTwo = {\n prefix: 'fas',\n iconName: 'dice-two',\n icon: [448, 512, [], \"f528\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDigitalTachograph = {\n prefix: 'fas',\n iconName: 'digital-tachograph',\n icon: [640, 512, [], \"f566\", \"M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z\"]\n};\nvar faDirections = {\n prefix: 'fas',\n iconName: 'directions',\n icon: [512, 512, [], \"f5eb\", \"M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z\"]\n};\nvar faDisease = {\n prefix: 'fas',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M472.29 195.9l-67.06-23c-19.28-6.6-33.54-20.92-38.14-38.31l-16-60.45c-11.58-43.77-76.57-57.13-110-22.62L195 99.24c-13.26 13.71-33.54 20.93-54.2 19.31l-71.9-5.62c-52-4.07-86.93 44.89-59 82.84l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24l-28.43 57C4 396.67 47.46 440.29 98.11 429.23l70-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101 7.57 104.45-37.22l4.7-61.86c1.35-17.8 12.8-33.87 30.63-43l62-31.74c44.84-22.96 39.55-80.17-8.99-96.79zM160 256a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128 96a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm16-128a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"]\n};\nvar faDivide = {\n prefix: 'fas',\n iconName: 'divide',\n icon: [448, 512, [], \"f529\", \"M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faDizzy = {\n prefix: 'fas',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z\"]\n};\nvar faDna = {\n prefix: 'fas',\n iconName: 'dna',\n icon: [448, 512, [], \"f471\", \"M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z\"]\n};\nvar faDog = {\n prefix: 'fas',\n iconName: 'dog',\n icon: [576, 512, [], \"f6d3\", \"M298.06,224,448,277.55V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.09C58.84,268.84,32,233.66,32,192a32,32,0,0,1,64,0,32.06,32.06,0,0,0,32,32ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.22-21.39,27.31-11.31L374.59,64h53.63c10.91,0,23.75,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112Zm-112,0a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z\"]\n};\nvar faDollarSign = {\n prefix: 'fas',\n iconName: 'dollar-sign',\n icon: [288, 512, [], \"f155\", \"M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z\"]\n};\nvar faDolly = {\n prefix: 'fas',\n iconName: 'dolly',\n icon: [576, 512, [], \"f472\", \"M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faDollyFlatbed = {\n prefix: 'fas',\n iconName: 'dolly-flatbed',\n icon: [640, 512, [], \"f474\", \"M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDonate = {\n prefix: 'fas',\n iconName: 'donate',\n icon: [512, 512, [], \"f4b9\", \"M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z\"]\n};\nvar faDoorClosed = {\n prefix: 'fas',\n iconName: 'door-closed',\n icon: [640, 512, [], \"f52a\", \"M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z\"]\n};\nvar faDoorOpen = {\n prefix: 'fas',\n iconName: 'door-open',\n icon: [640, 512, [], \"f52b\", \"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z\"]\n};\nvar faDotCircle = {\n prefix: 'fas',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z\"]\n};\nvar faDove = {\n prefix: 'fas',\n iconName: 'dove',\n icon: [512, 512, [], \"f4ba\", \"M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faDownload = {\n prefix: 'fas',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"]\n};\nvar faDraftingCompass = {\n prefix: 'fas',\n iconName: 'drafting-compass',\n icon: [512, 512, [], \"f568\", \"M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z\"]\n};\nvar faDragon = {\n prefix: 'fas',\n iconName: 'dragon',\n icon: [640, 512, [], \"f6d5\", \"M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z\"]\n};\nvar faDrawPolygon = {\n prefix: 'fas',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z\"]\n};\nvar faDrum = {\n prefix: 'fas',\n iconName: 'drum',\n icon: [512, 512, [], \"f569\", \"M431.34 122.05l73.53-47.42a16 16 0 0 0 4.44-22.19l-8.87-13.31a16 16 0 0 0-22.19-4.44l-110.06 71C318.43 96.91 271.22 96 256 96 219.55 96 0 100.55 0 208.15v160.23c0 30.27 27.5 57.68 72 77.86v-101.9a24 24 0 1 1 48 0v118.93c33.05 9.11 71.07 15.06 112 16.73V376.39a24 24 0 1 1 48 0V480c40.93-1.67 78.95-7.62 112-16.73V344.34a24 24 0 1 1 48 0v101.9c44.5-20.18 72-47.59 72-77.86V208.15c0-43.32-35.76-69.76-80.66-86.1zM256 272.24c-114.88 0-208-28.69-208-64.09s93.12-64.08 208-64.08c17.15 0 33.73.71 49.68 1.91l-72.81 47a16 16 0 0 0-4.43 22.19l8.87 13.31a16 16 0 0 0 22.19 4.44l118.64-76.52C430.09 168 464 186.84 464 208.15c0 35.4-93.13 64.09-208 64.09z\"]\n};\nvar faDrumSteelpan = {\n prefix: 'fas',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z\"]\n};\nvar faDrumstickBite = {\n prefix: 'fas',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M462.8 49.57a169.44 169.44 0 0 0-239.5 0C187.82 85 160.13 128 160.13 192v85.83l-40.62 40.59c-9.7 9.69-24 11.07-36.78 6a60.33 60.33 0 0 0-65 98.72C33 438.39 54.24 442.7 73.85 438.21c-4.5 19.6-.18 40.83 15.1 56.1a60.35 60.35 0 0 0 98.8-65c-5.09-12.73-3.72-27 6-36.75L234.36 352h85.89a187.87 187.87 0 0 0 61.89-10c-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.96-14.81-90.28-49.13-124.56z\"]\n};\nvar faDumbbell = {\n prefix: 'fas',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"]\n};\nvar faDumpster = {\n prefix: 'fas',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M560 160c10.4 0 18-9.8 15.5-19.9l-24-96C549.7 37 543.3 32 536 32h-98.9l25.6 128H560zM272 32H171.5l-25.6 128H272V32zm132.5 0H304v128h126.1L404.5 32zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm544 64h-20l4-32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h320v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16l20-160h28c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDumpsterFire = {\n prefix: 'fas',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M418.7 104.1l.2-.2-14.4-72H304v128h60.8c16.2-19.3 34.2-38.2 53.9-55.8zM272 32H171.5l-25.6 128H272V32zm189.3 72.1c18.2 16.3 35.5 33.7 51.1 51.5 5.7-5.6 11.4-11.1 17.3-16.3l21.3-19 21.3 19c1.1.9 2.1 2.1 3.1 3.1-.1-.8.2-1.5 0-2.3l-24-96C549.7 37 543.3 32 536 32h-98.9l12.3 61.5 11.9 10.6zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm324.6 32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208.8c-30.2-33.7-48.8-77.9-48.8-126.4 0-35.9 19.9-82.9 52.6-129.6zm210.5-28.8c-14.9 13.3-28.3 27.2-40.2 41.2-19.5-25.8-43.6-52-71-76.4-70.2 62.7-120 144.3-120 193.6 0 87.5 71.6 158.4 160 158.4s160-70.9 160-158.4c.1-36.6-37-112.2-88.8-158.4zm-18.6 229.4c-14.7 10.7-32.9 17-52.5 17-49 0-88.9-33.5-88.9-88 0-27.1 16.5-51 49.4-91.9 4.7 5.6 67.1 88.1 67.1 88.1l39.8-47c2.8 4.8 5.4 9.5 7.7 14 18.6 36.7 10.8 83.6-22.6 107.8z\"]\n};\nvar faDungeon = {\n prefix: 'fas',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z\"]\n};\nvar faEdit = {\n prefix: 'fas',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z\"]\n};\nvar faEgg = {\n prefix: 'fas',\n iconName: 'egg',\n icon: [384, 512, [], \"f7fb\", \"M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z\"]\n};\nvar faEject = {\n prefix: 'fas',\n iconName: 'eject',\n icon: [448, 512, [], \"f052\", \"M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z\"]\n};\nvar faEllipsisH = {\n prefix: 'fas',\n iconName: 'ellipsis-h',\n icon: [512, 512, [], \"f141\", \"M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z\"]\n};\nvar faEllipsisV = {\n prefix: 'fas',\n iconName: 'ellipsis-v',\n icon: [192, 512, [], \"f142\", \"M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z\"]\n};\nvar faEnvelope = {\n prefix: 'fas',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'fas',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z\"]\n};\nvar faEnvelopeOpenText = {\n prefix: 'fas',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z\"]\n};\nvar faEnvelopeSquare = {\n prefix: 'fas',\n iconName: 'envelope-square',\n icon: [448, 512, [], \"f199\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z\"]\n};\nvar faEquals = {\n prefix: 'fas',\n iconName: 'equals',\n icon: [448, 512, [], \"f52c\", \"M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faEraser = {\n prefix: 'fas',\n iconName: 'eraser',\n icon: [512, 512, [], \"f12d\", \"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z\"]\n};\nvar faEthernet = {\n prefix: 'fas',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M496 192h-48v-48c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16h80V320h32v128h64V320h32v128h64V320h32v128h64V320h32v128h80c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"]\n};\nvar faEuroSign = {\n prefix: 'fas',\n iconName: 'euro-sign',\n icon: [320, 512, [], \"f153\", \"M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z\"]\n};\nvar faExchangeAlt = {\n prefix: 'fas',\n iconName: 'exchange-alt',\n icon: [512, 512, [], \"f362\", \"M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z\"]\n};\nvar faExclamation = {\n prefix: 'fas',\n iconName: 'exclamation',\n icon: [192, 512, [], \"f12a\", \"M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z\"]\n};\nvar faExclamationCircle = {\n prefix: 'fas',\n iconName: 'exclamation-circle',\n icon: [512, 512, [], \"f06a\", \"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"]\n};\nvar faExclamationTriangle = {\n prefix: 'fas',\n iconName: 'exclamation-triangle',\n icon: [576, 512, [], \"f071\", \"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"]\n};\nvar faExpand = {\n prefix: 'fas',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"]\n};\nvar faExpandAlt = {\n prefix: 'fas',\n iconName: 'expand-alt',\n icon: [448, 512, [], \"f424\", \"M212.686 315.314L120 408l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C10.697 480 0 469.255 0 456V344c0-21.382 25.803-32.09 40.922-16.971L72 360l92.686-92.686c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.249 6.248 6.249 16.378 0 22.627zm22.628-118.628L328 104l-32.922-31.029C279.958 57.851 290.666 32 312.048 32h112C437.303 32 448 42.745 448 56v112c0 21.382-25.803 32.09-40.922 16.971L376 152l-92.686 92.686c-6.248 6.248-16.379 6.248-22.627 0l-25.373-25.373c-6.249-6.248-6.249-16.378 0-22.627z\"]\n};\nvar faExpandArrowsAlt = {\n prefix: 'fas',\n iconName: 'expand-arrows-alt',\n icon: [448, 512, [], \"f31e\", \"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z\"]\n};\nvar faExternalLinkAlt = {\n prefix: 'fas',\n iconName: 'external-link-alt',\n icon: [512, 512, [], \"f35d\", \"M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z\"]\n};\nvar faExternalLinkSquareAlt = {\n prefix: 'fas',\n iconName: 'external-link-square-alt',\n icon: [448, 512, [], \"f360\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z\"]\n};\nvar faEye = {\n prefix: 'fas',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z\"]\n};\nvar faEyeDropper = {\n prefix: 'fas',\n iconName: 'eye-dropper',\n icon: [512, 512, [], \"f1fb\", \"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z\"]\n};\nvar faEyeSlash = {\n prefix: 'fas',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z\"]\n};\nvar faFan = {\n prefix: 'fas',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"]\n};\nvar faFastBackward = {\n prefix: 'fas',\n iconName: 'fast-backward',\n icon: [512, 512, [], \"f049\", \"M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z\"]\n};\nvar faFastForward = {\n prefix: 'fas',\n iconName: 'fast-forward',\n icon: [512, 512, [], \"f050\", \"M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z\"]\n};\nvar faFaucet = {\n prefix: 'fas',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z\"]\n};\nvar faFax = {\n prefix: 'fas',\n iconName: 'fax',\n icon: [512, 512, [], \"f1ac\", \"M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z\"]\n};\nvar faFeather = {\n prefix: 'fas',\n iconName: 'feather',\n icon: [512, 512, [], \"f52d\", \"M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z\"]\n};\nvar faFeatherAlt = {\n prefix: 'fas',\n iconName: 'feather-alt',\n icon: [512, 512, [], \"f56b\", \"M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z\"]\n};\nvar faFemale = {\n prefix: 'fas',\n iconName: 'female',\n icon: [256, 512, [], \"f182\", \"M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z\"]\n};\nvar faFighterJet = {\n prefix: 'fas',\n iconName: 'fighter-jet',\n icon: [640, 512, [], \"f0fb\", \"M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z\"]\n};\nvar faFile = {\n prefix: 'fas',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileAlt = {\n prefix: 'fas',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileArchive = {\n prefix: 'fas',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z\"]\n};\nvar faFileAudio = {\n prefix: 'fas',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileCode = {\n prefix: 'fas',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z\"]\n};\nvar faFileContract = {\n prefix: 'fas',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileCsv = {\n prefix: 'fas',\n iconName: 'file-csv',\n icon: [384, 512, [], \"f6dd\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileDownload = {\n prefix: 'fas',\n iconName: 'file-download',\n icon: [384, 512, [], \"f56d\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileExcel = {\n prefix: 'fas',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileExport = {\n prefix: 'fas',\n iconName: 'file-export',\n icon: [576, 512, [], \"f56e\", \"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z\"]\n};\nvar faFileImage = {\n prefix: 'fas',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z\"]\n};\nvar faFileImport = {\n prefix: 'fas',\n iconName: 'file-import',\n icon: [512, 512, [], \"f56f\", \"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z\"]\n};\nvar faFileInvoice = {\n prefix: 'fas',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z\"]\n};\nvar faFileInvoiceDollar = {\n prefix: 'fas',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z\"]\n};\nvar faFileMedical = {\n prefix: 'fas',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z\"]\n};\nvar faFileMedicalAlt = {\n prefix: 'fas',\n iconName: 'file-medical-alt',\n icon: [448, 512, [], \"f478\", \"M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFilePdf = {\n prefix: 'fas',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'fas',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z\"]\n};\nvar faFilePrescription = {\n prefix: 'fas',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileSignature = {\n prefix: 'fas',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z\"]\n};\nvar faFileUpload = {\n prefix: 'fas',\n iconName: 'file-upload',\n icon: [384, 512, [], \"f574\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileVideo = {\n prefix: 'fas',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z\"]\n};\nvar faFileWord = {\n prefix: 'fas',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFill = {\n prefix: 'fas',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z\"]\n};\nvar faFillDrip = {\n prefix: 'fas',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z\"]\n};\nvar faFilm = {\n prefix: 'fas',\n iconName: 'film',\n icon: [512, 512, [], \"f008\", \"M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faFilter = {\n prefix: 'fas',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z\"]\n};\nvar faFingerprint = {\n prefix: 'fas',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z\"]\n};\nvar faFire = {\n prefix: 'fas',\n iconName: 'fire',\n icon: [384, 512, [], \"f06d\", \"M216 23.86c0-23.8-30.65-32.77-44.15-13.04C48 191.85 224 200 224 288c0 35.63-29.11 64.46-64.85 63.99-35.17-.45-63.15-29.77-63.15-64.94v-85.51c0-21.7-26.47-32.23-41.43-16.5C27.8 213.16 0 261.33 0 320c0 105.87 86.13 192 192 192s192-86.13 192-192c0-170.29-168-193-168-296.14z\"]\n};\nvar faFireAlt = {\n prefix: 'fas',\n iconName: 'fire-alt',\n icon: [448, 512, [], \"f7e4\", \"M323.56 51.2c-20.8 19.3-39.58 39.59-56.22 59.97C240.08 73.62 206.28 35.53 168 0 69.74 91.17 0 209.96 0 281.6 0 408.85 100.29 512 224 512s224-103.15 224-230.4c0-53.27-51.98-163.14-124.44-230.4zm-19.47 340.65C282.43 407.01 255.72 416 226.86 416 154.71 416 96 368.26 96 290.75c0-38.61 24.31-72.63 72.79-130.75 6.93 7.98 98.83 125.34 98.83 125.34l58.63-66.88c4.14 6.85 7.91 13.55 11.27 19.97 27.35 52.19 15.81 118.97-33.43 153.42z\"]\n};\nvar faFireExtinguisher = {\n prefix: 'fas',\n iconName: 'fire-extinguisher',\n icon: [448, 512, [], \"f134\", \"M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z\"]\n};\nvar faFirstAid = {\n prefix: 'fas',\n iconName: 'first-aid',\n icon: [576, 512, [], \"f479\", \"M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faFish = {\n prefix: 'fas',\n iconName: 'fish',\n icon: [576, 512, [], \"f578\", \"M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"]\n};\nvar faFistRaised = {\n prefix: 'fas',\n iconName: 'fist-raised',\n icon: [384, 512, [], \"f6de\", \"M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z\"]\n};\nvar faFlag = {\n prefix: 'fas',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z\"]\n};\nvar faFlagCheckered = {\n prefix: 'fas',\n iconName: 'flag-checkered',\n icon: [512, 512, [], \"f11e\", \"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z\"]\n};\nvar faFlagUsa = {\n prefix: 'fas',\n iconName: 'flag-usa',\n icon: [512, 512, [], \"f74d\", \"M32 0C14.3 0 0 14.3 0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32C64 14.3 49.7 0 32 0zm267.9 303.6c-57.2-15.1-111.7-28.8-203.9 11.1V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8v-36c-43.6 17.3-80.2 24.1-112.1 24.1-37.4-.1-68.9-8.4-100-16.6zm0-96c-57.2-15.1-111.7-28.8-203.9 11.1v61.5c94.8-37.6 154.6-22.7 212.1-7.6 57.2 15.1 111.7 28.8 203.9-11.1V200c-43.6 17.3-80.2 24.1-112.1 24.1-37.4 0-68.9-8.3-100-16.5zm9.5-125.9c51.8 15.6 97.4 29 202.6-20.1V30.8c0-25.1-26.8-38.1-49.4-26.6C291.3 91.5 305.4-62.2 96 32.4v151.9c94.8-37.5 154.6-22.7 212.1-7.6 57.2 15 111.7 28.7 203.9-11.1V96.7c-53.6 23.5-93.3 31.4-126.1 31.4s-59-7.8-85.7-15.9c-4-1.2-8.1-2.4-12.1-3.5V75.5c7.2 2 14.3 4.1 21.3 6.2zM160 128.1c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16-7.2 16-16 16zm0-55.8c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm64 47.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm0-55.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16z\"]\n};\nvar faFlask = {\n prefix: 'fas',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z\"]\n};\nvar faFlushed = {\n prefix: 'fas',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z\"]\n};\nvar faFolder = {\n prefix: 'fas',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z\"]\n};\nvar faFolderMinus = {\n prefix: 'fas',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z\"]\n};\nvar faFolderOpen = {\n prefix: 'fas',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z\"]\n};\nvar faFolderPlus = {\n prefix: 'fas',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M464,128H272L208,64H48A48,48,0,0,0,0,112V400a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48V176A48,48,0,0,0,464,128ZM359.5,296a16,16,0,0,1-16,16h-64v64a16,16,0,0,1-16,16h-16a16,16,0,0,1-16-16V312h-64a16,16,0,0,1-16-16V280a16,16,0,0,1,16-16h64V200a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64a16,16,0,0,1,16,16Z\"]\n};\nvar faFont = {\n prefix: 'fas',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'fas',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFootballBall = {\n prefix: 'fas',\n iconName: 'football-ball',\n icon: [496, 512, [], \"f44e\", \"M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z\"]\n};\nvar faForward = {\n prefix: 'fas',\n iconName: 'forward',\n icon: [512, 512, [], \"f04e\", \"M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z\"]\n};\nvar faFrog = {\n prefix: 'fas',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"]\n};\nvar faFrown = {\n prefix: 'fas',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z\"]\n};\nvar faFrownOpen = {\n prefix: 'fas',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faFunnelDollar = {\n prefix: 'fas',\n iconName: 'funnel-dollar',\n icon: [640, 512, [], \"f662\", \"M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z\"]\n};\nvar faFutbol = {\n prefix: 'fas',\n iconName: 'futbol',\n icon: [512, 512, [], \"f1e3\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z\"]\n};\nvar faGamepad = {\n prefix: 'fas',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z\"]\n};\nvar faGasPump = {\n prefix: 'fas',\n iconName: 'gas-pump',\n icon: [512, 512, [], \"f52f\", \"M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z\"]\n};\nvar faGavel = {\n prefix: 'fas',\n iconName: 'gavel',\n icon: [512, 512, [], \"f0e3\", \"M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z\"]\n};\nvar faGem = {\n prefix: 'fas',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z\"]\n};\nvar faGenderless = {\n prefix: 'fas',\n iconName: 'genderless',\n icon: [288, 512, [], \"f22d\", \"M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z\"]\n};\nvar faGhost = {\n prefix: 'fas',\n iconName: 'ghost',\n icon: [384, 512, [], \"f6e2\", \"M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faGift = {\n prefix: 'fas',\n iconName: 'gift',\n icon: [512, 512, [], \"f06b\", \"M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z\"]\n};\nvar faGifts = {\n prefix: 'fas',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M240.6 194.1c1.9-30.8 17.3-61.2 44-79.8C279.4 103.5 268.7 96 256 96h-29.4l30.7-22c7.2-5.1 8.9-15.1 3.7-22.3l-9.3-13c-5.1-7.2-15.1-8.9-22.3-3.7l-32 22.9 11.5-30.6c3.1-8.3-1.1-17.5-9.4-20.6l-15-5.6c-8.3-3.1-17.5 1.1-20.6 9.4l-19.9 53-19.9-53.1C121 2.1 111.8-2.1 103.5 1l-15 5.6C80.2 9.7 76 19 79.2 27.2l11.5 30.6L58.6 35c-7.2-5.1-17.2-3.5-22.3 3.7l-9.3 13c-5.1 7.2-3.5 17.2 3.7 22.3l30.7 22H32c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h168.9c-5.5-9.5-8.9-20.3-8.9-32V256c0-29.9 20.8-55 48.6-61.9zM224 480c0 17.7 14.3 32 32 32h160V384H224v96zm224 32h160c17.7 0 32-14.3 32-32v-96H448v128zm160-288h-20.4c2.6-7.6 4.4-15.5 4.4-23.8 0-35.5-27-72.2-72.1-72.2-48.1 0-75.9 47.7-87.9 75.3-12.1-27.6-39.9-75.3-87.9-75.3-45.1 0-72.1 36.7-72.1 72.2 0 8.3 1.7 16.2 4.4 23.8H256c-17.7 0-32 14.3-32 32v96h192V224h15.3l.7-.2.7.2H448v128h192v-96c0-17.7-14.3-32-32-32zm-272 0c-2.7-1.4-5.1-3-7.2-4.8-7.3-6.4-8.8-13.8-8.8-19 0-9.7 6.4-24.2 24.1-24.2 18.7 0 35.6 27.4 44.5 48H336zm199.2-4.8c-2.1 1.8-4.5 3.4-7.2 4.8h-52.6c8.8-20.3 25.8-48 44.5-48 17.7 0 24.1 14.5 24.1 24.2 0 5.2-1.5 12.6-8.8 19z\"]\n};\nvar faGlassCheers = {\n prefix: 'fas',\n iconName: 'glass-cheers',\n icon: [640, 512, [], \"f79f\", \"M639.4 433.6c-8.4-20.4-31.8-30.1-52.2-21.6l-22.1 9.2-38.7-101.9c47.9-35 64.8-100.3 34.5-152.8L474.3 16c-8-13.9-25.1-19.7-40-13.6L320 49.8 205.7 2.4c-14.9-6.2-32-.3-40 13.6L79.1 166.5C48.9 219 65.7 284.3 113.6 319.2L74.9 421.1l-22.1-9.2c-20.4-8.5-43.7 1.2-52.2 21.6-1.7 4.1.2 8.8 4.3 10.5l162.3 67.4c4.1 1.7 8.7-.2 10.4-4.3 8.4-20.4-1.2-43.8-21.6-52.3l-22.1-9.2L173.3 342c4.4.5 8.8 1.3 13.1 1.3 51.7 0 99.4-33.1 113.4-85.3l20.2-75.4 20.2 75.4c14 52.2 61.7 85.3 113.4 85.3 4.3 0 8.7-.8 13.1-1.3L506 445.6l-22.1 9.2c-20.4 8.5-30.1 31.9-21.6 52.3 1.7 4.1 6.4 6 10.4 4.3L635.1 444c4-1.7 6-6.3 4.3-10.4zM275.9 162.1l-112.1-46.5 36.5-63.4 94.5 39.2-18.9 70.7zm88.2 0l-18.9-70.7 94.5-39.2 36.5 63.4-112.1 46.5z\"]\n};\nvar faGlassMartini = {\n prefix: 'fas',\n iconName: 'glass-martini',\n icon: [512, 512, [], \"f000\", \"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z\"]\n};\nvar faGlassMartiniAlt = {\n prefix: 'fas',\n iconName: 'glass-martini-alt',\n icon: [512, 512, [], \"f57b\", \"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z\"]\n};\nvar faGlassWhiskey = {\n prefix: 'fas',\n iconName: 'glass-whiskey',\n icon: [512, 512, [], \"f7a0\", \"M480 32H32C12.5 32-2.4 49.2.3 68.5l56 356.5c4.5 31.5 31.5 54.9 63.4 54.9h273c31.8 0 58.9-23.4 63.4-54.9l55.6-356.5C514.4 49.2 499.5 32 480 32zm-37.4 64l-30 192h-313L69.4 96h373.2z\"]\n};\nvar faGlasses = {\n prefix: 'fas',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z\"]\n};\nvar faGlobe = {\n prefix: 'fas',\n iconName: 'globe',\n icon: [496, 512, [], \"f0ac\", \"M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z\"]\n};\nvar faGlobeAfrica = {\n prefix: 'fas',\n iconName: 'globe-africa',\n icon: [496, 512, [], \"f57c\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z\"]\n};\nvar faGlobeAmericas = {\n prefix: 'fas',\n iconName: 'globe-americas',\n icon: [496, 512, [], \"f57d\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z\"]\n};\nvar faGlobeAsia = {\n prefix: 'fas',\n iconName: 'globe-asia',\n icon: [496, 512, [], \"f57e\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z\"]\n};\nvar faGlobeEurope = {\n prefix: 'fas',\n iconName: 'globe-europe',\n icon: [496, 512, [], \"f7a2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z\"]\n};\nvar faGolfBall = {\n prefix: 'fas',\n iconName: 'golf-ball',\n icon: [416, 512, [], \"f450\", \"M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z\"]\n};\nvar faGopuram = {\n prefix: 'fas',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M496 352h-16V240c0-8.8-7.2-16-16-16h-16v-80c0-8.8-7.2-16-16-16h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16S96 7.2 96 16v112H80c-8.8 0-16 7.2-16 16v80H48c-8.8 0-16 7.2-16 16v112H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM232 176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h-48zm56 176h-64v-64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"]\n};\nvar faGraduationCap = {\n prefix: 'fas',\n iconName: 'graduation-cap',\n icon: [640, 512, [], \"f19d\", \"M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z\"]\n};\nvar faGreaterThan = {\n prefix: 'fas',\n iconName: 'greater-than',\n icon: [384, 512, [], \"f531\", \"M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z\"]\n};\nvar faGreaterThanEqual = {\n prefix: 'fas',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faGrimace = {\n prefix: 'fas',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z\"]\n};\nvar faGrin = {\n prefix: 'fas',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinAlt = {\n prefix: 'fas',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinBeam = {\n prefix: 'fas',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinBeamSweat = {\n prefix: 'fas',\n iconName: 'grin-beam-sweat',\n icon: [504, 512, [], \"f583\", \"M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinHearts = {\n prefix: 'fas',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z\"]\n};\nvar faGrinSquint = {\n prefix: 'fas',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinSquintTears = {\n prefix: 'fas',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z\"]\n};\nvar faGrinStars = {\n prefix: 'fas',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z\"]\n};\nvar faGrinTears = {\n prefix: 'fas',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinTongue = {\n prefix: 'fas',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"]\n};\nvar faGrinTongueSquint = {\n prefix: 'fas',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z\"]\n};\nvar faGrinTongueWink = {\n prefix: 'fas',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"]\n};\nvar faGrinWink = {\n prefix: 'fas',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z\"]\n};\nvar faGripHorizontal = {\n prefix: 'fas',\n iconName: 'grip-horizontal',\n icon: [448, 512, [], \"f58d\", \"M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faGripLines = {\n prefix: 'fas',\n iconName: 'grip-lines',\n icon: [512, 512, [], \"f7a4\", \"M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faGripLinesVertical = {\n prefix: 'fas',\n iconName: 'grip-lines-vertical',\n icon: [256, 512, [], \"f7a5\", \"M96 496V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 0V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z\"]\n};\nvar faGripVertical = {\n prefix: 'fas',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faGuitar = {\n prefix: 'fas',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M502.63 39L473 9.37a32 32 0 0 0-45.26 0L381.46 55.7a35.14 35.14 0 0 0-8.53 13.79L360.77 106l-76.26 76.26c-12.16-8.76-25.5-15.74-40.1-19.14-33.45-7.78-67-.88-89.88 22a82.45 82.45 0 0 0-20.24 33.47c-6 18.56-23.21 32.69-42.15 34.46-23.7 2.27-45.73 11.45-62.61 28.44C-16.11 327-7.9 409 47.58 464.45S185 528 230.56 482.52c17-16.88 26.16-38.9 28.45-62.71 1.76-18.85 15.89-36.13 34.43-42.14a82.6 82.6 0 0 0 33.48-20.25c22.87-22.88 29.74-56.36 22-89.75-3.39-14.64-10.37-28-19.16-40.2L406 151.23l36.48-12.16a35.14 35.14 0 0 0 13.79-8.53l46.33-46.32a32 32 0 0 0 .03-45.22zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z\"]\n};\nvar faHSquare = {\n prefix: 'fas',\n iconName: 'h-square',\n icon: [448, 512, [], \"f0fd\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z\"]\n};\nvar faHamburger = {\n prefix: 'fas',\n iconName: 'hamburger',\n icon: [512, 512, [], \"f805\", \"M464 256H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zm16 128H32a16 16 0 0 0-16 16v16a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64v-16a16 16 0 0 0-16-16zM58.64 224h394.72c34.57 0 54.62-43.9 34.82-75.88C448 83.2 359.55 32.1 256 32c-103.54.1-192 51.2-232.18 116.11C4 180.09 24.07 224 58.64 224zM384 112a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM256 80a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-128 32a16 16 0 1 1-16 16 16 16 0 0 1 16-16z\"]\n};\nvar faHammer = {\n prefix: 'fas',\n iconName: 'hammer',\n icon: [576, 512, [], \"f6e3\", \"M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z\"]\n};\nvar faHamsa = {\n prefix: 'fas',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faHandHolding = {\n prefix: 'fas',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandHoldingHeart = {\n prefix: 'fas',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandHoldingMedical = {\n prefix: 'fas',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z\"]\n};\nvar faHandHoldingUsd = {\n prefix: 'fas',\n iconName: 'hand-holding-usd',\n icon: [576, 512, [], \"f4c0\", \"M271.06,144.3l54.27,14.3a8.59,8.59,0,0,1,6.63,8.1c0,4.6-4.09,8.4-9.12,8.4h-35.6a30,30,0,0,1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3,2l-19,17.5a11.68,11.68,0,0,0-2.25,2.66,11.42,11.42,0,0,0,3.88,15.74,83.77,83.77,0,0,0,34.51,11.5V240c0,8.8,7.83,16,17.37,16h17.37c9.55,0,17.38-7.2,17.38-16V222.4c32.93-3.6,57.84-31,53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68,97.4a8.59,8.59,0,0,1-6.63-8.1c0-4.6,4.09-8.4,9.12-8.4h35.6A30,30,0,0,1,332,83.1c5.23,2.2,11.28,1.7,15.3-2l19-17.5A11.31,11.31,0,0,0,368.47,61a11.43,11.43,0,0,0-3.84-15.78,83.82,83.82,0,0,0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82,0,278,7.2,278,16V33.6c-32.89,3.6-57.85,31-53.51,63C227.63,119.6,247,137.9,271.06,144.3ZM565.27,328.1c-11.8-10.7-30.2-10-42.6,0L430.27,402a63.64,63.64,0,0,1-40,14H272a16,16,0,0,1,0-32h78.29c15.9,0,30.71-10.9,33.25-26.6a31.2,31.2,0,0,0,.46-5.46A32,32,0,0,0,352,320H192a117.66,117.66,0,0,0-74.1,26.29L71.4,384H16A16,16,0,0,0,0,400v96a16,16,0,0,0,16,16H372.77a64,64,0,0,0,40-14L564,377a32,32,0,0,0,1.28-48.9Z\"]\n};\nvar faHandHoldingWater = {\n prefix: 'fas',\n iconName: 'hand-holding-water',\n icon: [576, 512, [], \"f4c1\", \"M288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-6.4-8.5-19.2-8.5-25.6 0C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm277.3 72.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandLizard = {\n prefix: 'fas',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z\"]\n};\nvar faHandMiddleFinger = {\n prefix: 'fas',\n iconName: 'hand-middle-finger',\n icon: [512, 512, [], \"f806\", \"M479.93 317.12a37.33 37.33 0 0 0-28.28-36.19L416 272v-49.59c0-11.44-9.69-21.29-23.15-23.54l-38.4-6.4C336.63 189.5 320 200.86 320 216v32a8 8 0 0 1-16 0V50c0-26.28-20.25-49.2-46.52-50A48 48 0 0 0 208 48v200a8 8 0 0 1-16 0v-32c0-15.15-16.63-26.51-34.45-23.54l-30.68 5.12c-18 3-30.87 16.12-30.87 31.38V376a8 8 0 0 1-16 0v-76l-27.36 15A37.34 37.34 0 0 0 32 348.4v73.47a37.31 37.31 0 0 0 10.93 26.39l30.93 30.93A112 112 0 0 0 153.05 512h215A112 112 0 0 0 480 400z\"]\n};\nvar faHandPaper = {\n prefix: 'fas',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z\"]\n};\nvar faHandPeace = {\n prefix: 'fas',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z\"]\n};\nvar faHandPointDown = {\n prefix: 'fas',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"]\n};\nvar faHandPointLeft = {\n prefix: 'fas',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"]\n};\nvar faHandPointRight = {\n prefix: 'fas',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"]\n};\nvar faHandPointUp = {\n prefix: 'fas',\n iconName: 'hand-point-up',\n icon: [384, 512, [], \"f0a6\", \"M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z\"]\n};\nvar faHandPointer = {\n prefix: 'fas',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z\"]\n};\nvar faHandRock = {\n prefix: 'fas',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"M464.8 80c-26.9-.4-48.8 21.2-48.8 48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v32h-8V80.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v136l-8-7.1v-48.1c0-26.3-20.9-48.3-47.2-48.8C21.9 127.6 0 149.2 0 176v66.4c0 27.4 11.7 53.5 32.2 71.8l111.7 99.3c10.2 9.1 16.1 22.2 16.1 35.9v6.7c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24v-2.9c0-12.8 2.6-25.5 7.5-37.3l49-116.3c5-11.8 7.5-24.5 7.5-37.3V128.8c0-26.3-20.9-48.4-47.2-48.8z\"]\n};\nvar faHandScissors = {\n prefix: 'fas',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z\"]\n};\nvar faHandSparkles = {\n prefix: 'fas',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z\"]\n};\nvar faHandSpock = {\n prefix: 'fas',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"M510.9005,145.27027,442.604,432.09391A103.99507,103.99507,0,0,1,341.43745,512H214.074a135.96968,135.96968,0,0,1-93.18489-36.95291L12.59072,373.12723a39.992,39.992,0,0,1,54.8122-58.24988l60.59342,57.02528v0a283.24849,283.24849,0,0,0-11.6703-80.46734L73.63726,147.36011a40.00575,40.00575,0,1,1,76.71833-22.7187l37.15458,125.39477a8.33113,8.33113,0,0,0,16.05656-4.4414L153.26183,49.95406A39.99638,39.99638,0,1,1,230.73015,30.0166l56.09491,218.15825a10.42047,10.42047,0,0,0,20.30018-.501L344.80766,63.96966a40.052,40.052,0,0,1,51.30245-30.0893c19.86073,6.2998,30.86262,27.67378,26.67564,48.08487l-33.83869,164.966a7.55172,7.55172,0,0,0,14.74406,3.2666l29.3973-123.45874a39.99414,39.99414,0,1,1,77.81208,18.53121Z\"]\n};\nvar faHands = {\n prefix: 'fas',\n iconName: 'hands',\n icon: [640, 512, [], \"f4c2\", \"M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z\"]\n};\nvar faHandsHelping = {\n prefix: 'fas',\n iconName: 'hands-helping',\n icon: [640, 512, [], \"f4c4\", \"M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z\"]\n};\nvar faHandsWash = {\n prefix: 'fas',\n iconName: 'hands-wash',\n icon: [576, 512, [], \"e05e\", \"M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z\"]\n};\nvar faHandshake = {\n prefix: 'fas',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z\"]\n};\nvar faHandshakeAltSlash = {\n prefix: 'fas',\n iconName: 'handshake-alt-slash',\n icon: [640, 512, [], \"e05f\", \"M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z\"]\n};\nvar faHandshakeSlash = {\n prefix: 'fas',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z\"]\n};\nvar faHanukiah = {\n prefix: 'fas',\n iconName: 'hanukiah',\n icon: [640, 512, [], \"f6e6\", \"M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z\"]\n};\nvar faHardHat = {\n prefix: 'fas',\n iconName: 'hard-hat',\n icon: [512, 512, [], \"f807\", \"M480 288c0-80.25-49.28-148.92-119.19-177.62L320 192V80a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16v112l-40.81-81.62C81.28 139.08 32 207.75 32 288v64h448zm16 96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faHashtag = {\n prefix: 'fas',\n iconName: 'hashtag',\n icon: [448, 512, [], \"f292\", \"M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z\"]\n};\nvar faHatCowboy = {\n prefix: 'fas',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M490 296.9C480.51 239.51 450.51 64 392.3 64c-14 0-26.49 5.93-37 14a58.21 58.21 0 0 1-70.58 0c-10.51-8-23-14-37-14-58.2 0-88.2 175.47-97.71 232.88C188.81 309.47 243.73 320 320 320s131.23-10.51 170-23.1zm142.9-37.18a16 16 0 0 0-19.75 1.5c-1 .9-101.27 90.78-293.16 90.78-190.82 0-292.22-89.94-293.24-90.84A16 16 0 0 0 1 278.53C1.73 280.55 78.32 480 320 480s318.27-199.45 319-201.47a16 16 0 0 0-6.09-18.81z\"]\n};\nvar faHatCowboySide = {\n prefix: 'fas',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M260.8 291.06c-28.63-22.94-62-35.06-96.4-35.06C87 256 21.47 318.72 1.43 412.06c-3.55 16.6-.43 33.83 8.57 47.3C18.75 472.47 31.83 480 45.88 480H592c-103.21 0-155-37.07-233.19-104.46zm234.65-18.29L468.4 116.2A64 64 0 0 0 392 64.41L200.85 105a64 64 0 0 0-50.35 55.79L143.61 226c6.9-.83 13.7-2 20.79-2 41.79 0 82 14.55 117.29 42.82l98 84.48C450.76 412.54 494.9 448 592 448a48 48 0 0 0 48-48c0-25.39-29.6-119.33-144.55-127.23z\"]\n};\nvar faHatWizard = {\n prefix: 'fas',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z\"]\n};\nvar faHdd = {\n prefix: 'fas',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"]\n};\nvar faHeadSideCough = {\n prefix: 'fas',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z\"]\n};\nvar faHeadSideCoughSlash = {\n prefix: 'fas',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z\"]\n};\nvar faHeadSideMask = {\n prefix: 'fas',\n iconName: 'head-side-mask',\n icon: [512, 512, [], \"e063\", \"M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z\"]\n};\nvar faHeadSideVirus = {\n prefix: 'fas',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z\"]\n};\nvar faHeading = {\n prefix: 'fas',\n iconName: 'heading',\n icon: [512, 512, [], \"f1dc\", \"M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z\"]\n};\nvar faHeadphones = {\n prefix: 'fas',\n iconName: 'headphones',\n icon: [512, 512, [], \"f025\", \"M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z\"]\n};\nvar faHeadphonesAlt = {\n prefix: 'fas',\n iconName: 'headphones-alt',\n icon: [512, 512, [], \"f58f\", \"M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z\"]\n};\nvar faHeadset = {\n prefix: 'fas',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z\"]\n};\nvar faHeart = {\n prefix: 'fas',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z\"]\n};\nvar faHeartBroken = {\n prefix: 'fas',\n iconName: 'heart-broken',\n icon: [512, 512, [], \"f7a9\", \"M473.7 73.8l-2.4-2.5c-46-47-118-51.7-169.6-14.8L336 159.9l-96 64 48 128-144-144 96-64-28.6-86.5C159.7 19.6 87 24 40.7 71.4l-2.4 2.4C-10.4 123.6-12.5 202.9 31 256l212.1 218.6c7.1 7.3 18.6 7.3 25.7 0L481 255.9c43.5-53 41.4-132.3-7.3-182.1z\"]\n};\nvar faHeartbeat = {\n prefix: 'fas',\n iconName: 'heartbeat',\n icon: [512, 512, [], \"f21e\", \"M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z\"]\n};\nvar faHelicopter = {\n prefix: 'fas',\n iconName: 'helicopter',\n icon: [640, 512, [], \"f533\", \"M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z\"]\n};\nvar faHighlighter = {\n prefix: 'fas',\n iconName: 'highlighter',\n icon: [544, 512, [], \"f591\", \"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z\"]\n};\nvar faHiking = {\n prefix: 'fas',\n iconName: 'hiking',\n icon: [384, 512, [], \"f6ec\", \"M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z\"]\n};\nvar faHippo = {\n prefix: 'fas',\n iconName: 'hippo',\n icon: [640, 512, [], \"f6ed\", \"M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faHistory = {\n prefix: 'fas',\n iconName: 'history',\n icon: [512, 512, [], \"f1da\", \"M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z\"]\n};\nvar faHockeyPuck = {\n prefix: 'fas',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z\"]\n};\nvar faHollyBerry = {\n prefix: 'fas',\n iconName: 'holly-berry',\n icon: [448, 512, [], \"f7aa\", \"M144 192c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm112-48c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm-32-48c26.5 0 48-21.5 48-48S250.5 0 224 0s-48 21.5-48 48 21.5 48 48 48zm-16.2 139.1c.1-12.4-13.1-20.1-23.8-13.7-34.3 20.3-71.4 32.7-108.7 36.2-9.7.9-15.6 11.3-11.6 20.2 6.2 13.9 11.1 28.6 14.7 43.8 3.6 15.2-5.3 30.6-20.2 35.1-14.9 4.5-30.1 7.6-45.3 9.1-9.7 1-15.7 11.3-11.7 20.2 15 32.8 22.9 69.5 23 107.7.1 14.4 15.2 23.1 27.6 16 33.2-19 68.9-30.5 104.8-33.9 9.7-.9 15.6-11.3 11.6-20.2-6.2-13.9-11.1-28.6-14.7-43.8-3.6-15.2 5.3-30.6 20.2-35.1 14.9-4.5 30.1-7.6 45.3-9.1 9.7-1 15.7-11.3 11.7-20.2-15.5-34.2-23.3-72.5-22.9-112.3zM435 365.6c-15.2-1.6-30.3-4.7-45.3-9.1-14.9-4.5-23.8-19.9-20.2-35.1 3.6-15.2 8.5-29.8 14.7-43.8 4-8.9-1.9-19.3-11.6-20.2-37.3-3.5-74.4-15.9-108.7-36.2-10.7-6.3-23.9 1.4-23.8 13.7 0 1.6-.2 3.2-.2 4.9.2 33.3 7 65.7 19.9 94 5.7 12.4 5.2 26.6-.6 38.9 4.9 1.2 9.9 2.2 14.8 3.7 14.9 4.5 23.8 19.9 20.2 35.1-3.6 15.2-8.5 29.8-14.7 43.8-4 8.9 1.9 19.3 11.6 20.2 35.9 3.4 71.6 14.9 104.8 33.9 12.5 7.1 27.6-1.6 27.6-16 .2-38.2 8-75 23-107.7 4.3-8.7-1.8-19.1-11.5-20.1z\"]\n};\nvar faHome = {\n prefix: 'fas',\n iconName: 'home',\n icon: [576, 512, [], \"f015\", \"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\"]\n};\nvar faHorse = {\n prefix: 'fas',\n iconName: 'horse',\n icon: [576, 512, [], \"f6f0\", \"M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faHorseHead = {\n prefix: 'fas',\n iconName: 'horse-head',\n icon: [512, 512, [], \"f7ab\", \"M509.8 332.5l-69.9-164.3c-14.9-41.2-50.4-71-93-79.2 18-10.6 46.3-35.9 34.2-82.3-1.3-5-7.1-7.9-12-6.1L166.9 76.3C35.9 123.4 0 238.9 0 398.8V480c0 17.7 14.3 32 32 32h236.2c23.8 0 39.3-25 28.6-46.3L256 384v-.7c-45.6-3.5-84.6-30.7-104.3-69.6-1.6-3.1-.9-6.9 1.6-9.3l12.1-12.1c3.9-3.9 10.6-2.7 12.9 2.4 14.8 33.7 48.2 57.4 87.4 57.4 17.2 0 33-5.1 46.8-13.2l46 63.9c6 8.4 15.7 13.3 26 13.3h50.3c8.5 0 16.6-3.4 22.6-9.4l45.3-39.8c8.9-9.1 11.7-22.6 7.1-34.4zM328 224c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"]\n};\nvar faHospital = {\n prefix: 'fas',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z\"]\n};\nvar faHospitalAlt = {\n prefix: 'fas',\n iconName: 'hospital-alt',\n icon: [576, 512, [], \"f47d\", \"M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faHospitalSymbol = {\n prefix: 'fas',\n iconName: 'hospital-symbol',\n icon: [512, 512, [], \"f47e\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z\"]\n};\nvar faHospitalUser = {\n prefix: 'fas',\n iconName: 'hospital-user',\n icon: [640, 512, [], \"f80d\", \"M480 320a96 96 0 1 0-96-96 96 96 0 0 0 96 96zm48 32a22.88 22.88 0 0 0-7.06 1.09 124.76 124.76 0 0 1-81.89 0A22.82 22.82 0 0 0 432 352a112 112 0 0 0-112 112.62c.14 26.26 21.73 47.38 48 47.38h224c26.27 0 47.86-21.12 48-47.38A112 112 0 0 0 528 352zm-198.09 10.45A145.19 145.19 0 0 1 352 344.62V128a32 32 0 0 0-32-32h-32V32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64H32a32 32 0 0 0-32 32v368a16 16 0 0 0 16 16h288.31A78.62 78.62 0 0 1 288 464.79a143.06 143.06 0 0 1 41.91-102.34zM144 404a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm48-122a6 6 0 0 1-6 6h-20a6 6 0 0 1-6-6v-26h-26a6 6 0 0 1-6-6v-20a6 6 0 0 1 6-6h26V70a6 6 0 0 1 6-6h20a6 6 0 0 1 6 6v26h26a6 6 0 0 1 6 6v20a6 6 0 0 1-6 6h-26zm80 250a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12z\"]\n};\nvar faHotTub = {\n prefix: 'fas',\n iconName: 'hot-tub',\n icon: [512, 512, [], \"f593\", \"M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z\"]\n};\nvar faHotdog = {\n prefix: 'fas',\n iconName: 'hotdog',\n icon: [512, 512, [], \"f80f\", \"M488.56 23.44a80 80 0 0 0-113.12 0l-352 352a80 80 0 1 0 113.12 113.12l352-352a80 80 0 0 0 0-113.12zm-49.93 95.19c-19.6 19.59-37.52 22.67-51.93 25.14C373.76 146 364.4 147.6 352 160s-14 21.76-16.23 34.71c-2.48 14.4-5.55 32.33-25.15 51.92s-37.52 22.67-51.92 25.15C245.75 274 236.4 275.6 224 288s-14 21.75-16.23 34.7c-2.47 14.4-5.54 32.33-25.14 51.92s-37.53 22.68-51.93 25.15C117.76 402 108.4 403.6 96 416a16 16 0 0 1-22.63-22.63c19.6-19.59 37.52-22.67 51.92-25.14 13-2.22 22.3-3.82 34.71-16.23s14-21.75 16.22-34.7c2.48-14.4 5.55-32.33 25.15-51.92s37.52-22.67 51.92-25.14c13-2.22 22.3-3.83 34.7-16.23s14-21.76 16.24-34.71c2.47-14.4 5.54-32.33 25.14-51.92s37.52-22.68 51.92-25.15C394.24 110 403.59 108.41 416 96a16 16 0 0 1 22.63 22.63zM31.44 322.18L322.18 31.44l-11.54-11.55c-25-25-63.85-26.66-86.79-3.72L16.17 223.85c-22.94 22.94-21.27 61.79 3.72 86.78zm449.12-132.36L189.82 480.56l11.54 11.55c25 25 63.85 26.66 86.79 3.72l207.68-207.68c22.94-22.94 21.27-61.79-3.72-86.79z\"]\n};\nvar faHotel = {\n prefix: 'fas',\n iconName: 'hotel',\n icon: [576, 512, [], \"f594\", \"M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"]\n};\nvar faHourglass = {\n prefix: 'fas',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z\"]\n};\nvar faHourglassEnd = {\n prefix: 'fas',\n iconName: 'hourglass-end',\n icon: [384, 512, [], \"f253\", \"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z\"]\n};\nvar faHourglassHalf = {\n prefix: 'fas',\n iconName: 'hourglass-half',\n icon: [384, 512, [], \"f252\", \"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z\"]\n};\nvar faHourglassStart = {\n prefix: 'fas',\n iconName: 'hourglass-start',\n icon: [384, 512, [], \"f251\", \"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z\"]\n};\nvar faHouseDamage = {\n prefix: 'fas',\n iconName: 'house-damage',\n icon: [576, 512, [], \"f6f1\", \"M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z\"]\n};\nvar faHouseUser = {\n prefix: 'fas',\n iconName: 'house-user',\n icon: [576, 512, [], \"e065\", \"M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z\"]\n};\nvar faHryvnia = {\n prefix: 'fas',\n iconName: 'hryvnia',\n icon: [384, 512, [], \"f6f2\", \"M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z\"]\n};\nvar faICursor = {\n prefix: 'fas',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z\"]\n};\nvar faIceCream = {\n prefix: 'fas',\n iconName: 'ice-cream',\n icon: [448, 512, [], \"f810\", \"M368 160h-.94a144 144 0 1 0-286.12 0H80a48 48 0 0 0 0 96h288a48 48 0 0 0 0-96zM195.38 493.69a31.52 31.52 0 0 0 57.24 0L352 288H96z\"]\n};\nvar faIcicles = {\n prefix: 'fas',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z\"]\n};\nvar faIcons = {\n prefix: 'fas',\n iconName: 'icons',\n icon: [512, 512, [], \"f86d\", \"M116.65 219.35a15.68 15.68 0 0 0 22.65 0l96.75-99.83c28.15-29 26.5-77.1-4.91-103.88C203.75-7.7 163-3.5 137.86 22.44L128 32.58l-9.85-10.14C93.05-3.5 52.25-7.7 24.86 15.64c-31.41 26.78-33 74.85-5 103.88zm143.92 100.49h-48l-7.08-14.24a27.39 27.39 0 0 0-25.66-17.78h-71.71a27.39 27.39 0 0 0-25.66 17.78l-7 14.24h-48A27.45 27.45 0 0 0 0 347.3v137.25A27.44 27.44 0 0 0 27.43 512h233.14A27.45 27.45 0 0 0 288 484.55V347.3a27.45 27.45 0 0 0-27.43-27.46zM144 468a52 52 0 1 1 52-52 52 52 0 0 1-52 52zm355.4-115.9h-60.58l22.36-50.75c2.1-6.65-3.93-13.21-12.18-13.21h-75.59c-6.3 0-11.66 3.9-12.5 9.1l-16.8 106.93c-1 6.3 4.88 11.89 12.5 11.89h62.31l-24.2 83c-1.89 6.65 4.2 12.9 12.23 12.9a13.26 13.26 0 0 0 10.92-5.25l92.4-138.91c4.88-6.91-1.16-15.7-10.87-15.7zM478.08.33L329.51 23.17C314.87 25.42 304 38.92 304 54.83V161.6a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V99.66l112-17.22v47.18a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V32c0-19.48-16-34.42-33.92-31.67z\"]\n};\nvar faIdBadge = {\n prefix: 'fas',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faIdCard = {\n prefix: 'fas',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z\"]\n};\nvar faIdCardAlt = {\n prefix: 'fas',\n iconName: 'id-card-alt',\n icon: [576, 512, [], \"f47f\", \"M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z\"]\n};\nvar faIgloo = {\n prefix: 'fas',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M320 33.9c-10.5-1.2-21.2-1.9-32-1.9-99.8 0-187.8 50.8-239.4 128H320V33.9zM96 192H30.3C11.1 230.6 0 274 0 320h96V192zM352 39.4V160h175.4C487.2 99.9 424.8 55.9 352 39.4zM480 320h96c0-46-11.1-89.4-30.3-128H480v128zm-64 64v96h128c17.7 0 32-14.3 32-32v-96H411.5c2.6 10.3 4.5 20.9 4.5 32zm32-192H128v128h49.8c22.2-38.1 63-64 110.2-64s88 25.9 110.2 64H448V192zM0 448c0 17.7 14.3 32 32 32h128v-96c0-11.1 1.9-21.7 4.5-32H0v96zm288-160c-53 0-96 43-96 96v96h192v-96c0-53-43-96-96-96z\"]\n};\nvar faImage = {\n prefix: 'fas',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z\"]\n};\nvar faImages = {\n prefix: 'fas',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z\"]\n};\nvar faInbox = {\n prefix: 'fas',\n iconName: 'inbox',\n icon: [576, 512, [], \"f01c\", \"M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z\"]\n};\nvar faIndent = {\n prefix: 'fas',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M27.31 363.3l96-96a16 16 0 0 0 0-22.62l-96-96C17.27 138.66 0 145.78 0 160v192c0 14.31 17.33 21.3 27.31 11.3zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faIndustry = {\n prefix: 'fas',\n iconName: 'industry',\n icon: [512, 512, [], \"f275\", \"M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z\"]\n};\nvar faInfinity = {\n prefix: 'fas',\n iconName: 'infinity',\n icon: [640, 512, [], \"f534\", \"M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z\"]\n};\nvar faInfo = {\n prefix: 'fas',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z\"]\n};\nvar faInfoCircle = {\n prefix: 'fas',\n iconName: 'info-circle',\n icon: [512, 512, [], \"f05a\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"]\n};\nvar faItalic = {\n prefix: 'fas',\n iconName: 'italic',\n icon: [320, 512, [], \"f033\", \"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z\"]\n};\nvar faJedi = {\n prefix: 'fas',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M535.95308,352c-42.64069,94.17188-137.64086,160-247.9848,160q-6.39844,0-12.84377-.29688C171.15558,506.9375,81.26481,442.23438,40.01474,352H79.93668L21.3272,293.40625a264.82522,264.82522,0,0,1-5.10938-39.42187,273.6653,273.6653,0,0,1,.5-29.98438H63.93665L22.546,182.625A269.79782,269.79782,0,0,1,130.51489,20.54688a16.06393,16.06393,0,0,1,9.28127-3,16.36332,16.36332,0,0,1,13.5,7.25,16.02739,16.02739,0,0,1,1.625,15.09374,138.387,138.387,0,0,0-9.84376,51.26563c0,45.10937,21.04691,86.57813,57.71884,113.73437a16.29989,16.29989,0,0,1,1.20313,25.39063c-26.54692,23.98437-41.17194,56.5-41.17194,91.57813,0,60.03124,42.95319,110.28124,99.89079,121.92187l2.5-65.26563L238.062,397a8.33911,8.33911,0,0,1-10-.75,8.025,8.025,0,0,1-1.39063-9.9375l20.125-33.76562-42.06257-8.73438a7.9898,7.9898,0,0,1,0-15.65625l42.06257-8.71875-20.10941-33.73438a7.99122,7.99122,0,0,1,11.35939-10.71874L268.437,295.64062,279.95265,7.67188a7.97138,7.97138,0,0,1,8-7.67188h.04687a8.02064,8.02064,0,0,1,7.95314,7.70312L307.48394,295.625l30.39068-20.67188a8.08327,8.08327,0,0,1,10,.8125,7.99866,7.99866,0,0,1,1.39062,9.90626L329.12461,319.4375l42.07819,8.73438a7.99373,7.99373,0,0,1,0,15.65624l-42.07819,8.71876,20.1094,33.73437a7.97791,7.97791,0,0,1-1.32812,9.92187A8.25739,8.25739,0,0,1,337.87462,397L310.7027,378.53125l2.5,65.34375c48.48446-9.40625,87.57828-48.15625,97.31267-96.5A123.52652,123.52652,0,0,0,371.9528,230.29688a16.30634,16.30634,0,0,1,1.20313-25.42188c36.65631-27.17188,57.6876-68.60938,57.6876-113.73438a138.01689,138.01689,0,0,0-9.85939-51.3125,15.98132,15.98132,0,0,1,1.60937-15.09374,16.36914,16.36914,0,0,1,13.5-7.23438,16.02453,16.02453,0,0,1,9.25,2.98438A271.26947,271.26947,0,0,1,553.25,182.76562L511.99992,224h46.9532C559.3125,229.76562,560,235.45312,560,241.26562a270.092,270.092,0,0,1-5.125,51.85938L495.98427,352Z\"]\n};\nvar faJoint = {\n prefix: 'fas',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z\"]\n};\nvar faJournalWhills = {\n prefix: 'fas',\n iconName: 'journal-whills',\n icon: [448, 512, [], \"f66a\", \"M438.40625,377.59375c-3.20313,12.8125-3.20313,57.60937,0,73.60937Q447.9922,460.78907,448,470.40625v16c0,16-12.79688,25.59375-25.59375,25.59375H96c-54.40625,0-96-41.59375-96-96V96C0,41.59375,41.59375,0,96,0H422.40625C438.40625,0,448,9.59375,448,25.59375v332.8125Q448,372.79688,438.40625,377.59375ZM380.79688,384H96c-16,0-32,12.79688-32,32s12.79688,32,32,32H380.79688ZM128.01562,176.01562c0,.51563.14063.98438.14063,1.5l37.10937,32.46876A7.99954,7.99954,0,0,1,160,224h-.01562a9.17678,9.17678,0,0,1-5.25-1.98438L131.14062,201.375C142.6875,250.95312,186.90625,288,240,288s97.3125-37.04688,108.875-86.625l-23.59375,20.64062a8.02516,8.02516,0,0,1-5.26563,1.96876H320a9.14641,9.14641,0,0,1-6.01562-2.71876A9.26508,9.26508,0,0,1,312,216a9.097,9.097,0,0,1,2.73438-6.01562l37.10937-32.46876c.01563-.53124.15625-1,.15625-1.51562,0-11.04688-2.09375-21.51562-5.06251-31.59375l-21.26562,21.25a8.00467,8.00467,0,0,1-11.32812-11.3125l26.42187-26.40625a111.81517,111.81517,0,0,0-46.35937-49.26562,63.02336,63.02336,0,0,1-14.0625,82.64062A55.83846,55.83846,0,0,1,251.625,254.73438l-1.42188-34.28126,12.67188,8.625a3.967,3.967,0,0,0,2.25.6875,3.98059,3.98059,0,0,0,3.43749-6.03124l-8.53124-14.3125,17.90625-3.71876a4.00647,4.00647,0,0,0,0-7.84374l-17.90625-3.71876,8.53124-14.3125a3.98059,3.98059,0,0,0-3.43749-6.03124,4.726,4.726,0,0,0-2.25.67187L248.6875,184.125,244,71.82812a4.00386,4.00386,0,0,0-8,0l-4.625,110.8125-12-8.15624a4.003,4.003,0,0,0-5.68751,5.35937l8.53126,14.3125L204.3125,197.875a3.99686,3.99686,0,0,0,0,7.82812l17.90625,3.73438-8.53126,14.29688a4.72469,4.72469,0,0,0-.56249,2.04687,4.59547,4.59547,0,0,0,1.25,2.90625,4.01059,4.01059,0,0,0,2.75,1.09375,4.09016,4.09016,0,0,0,2.25-.6875l10.35937-7.04687L228.375,254.76562a55.86414,55.86414,0,0,1-28.71875-93.45312,63.01119,63.01119,0,0,1-14.04688-82.65625,111.93158,111.93158,0,0,0-46.375,49.26563l26.42187,26.42187a7.99917,7.99917,0,0,1-11.3125,11.3125l-21.26563-21.26563C130.09375,154.48438,128,164.95312,128.01562,176.01562Z\"]\n};\nvar faKaaba = {\n prefix: 'fas',\n iconName: 'kaaba',\n icon: [576, 512, [], \"f66b\", \"M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z\"]\n};\nvar faKey = {\n prefix: 'fas',\n iconName: 'key',\n icon: [512, 512, [], \"f084\", \"M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z\"]\n};\nvar faKeyboard = {\n prefix: 'fas',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"]\n};\nvar faKhanda = {\n prefix: 'fas',\n iconName: 'khanda',\n icon: [512, 512, [], \"f66d\", \"M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z\"]\n};\nvar faKiss = {\n prefix: 'fas',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faKissBeam = {\n prefix: 'fas',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z\"]\n};\nvar faKissWinkHeart = {\n prefix: 'fas',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z\"]\n};\nvar faKiwiBird = {\n prefix: 'fas',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z\"]\n};\nvar faLandmark = {\n prefix: 'fas',\n iconName: 'landmark',\n icon: [512, 512, [], \"f66f\", \"M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faLanguage = {\n prefix: 'fas',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z\"]\n};\nvar faLaptop = {\n prefix: 'fas',\n iconName: 'laptop',\n icon: [640, 512, [], \"f109\", \"M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"]\n};\nvar faLaptopCode = {\n prefix: 'fas',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"]\n};\nvar faLaptopHouse = {\n prefix: 'fas',\n iconName: 'laptop-house',\n icon: [640, 512, [], \"e066\", \"M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z\"]\n};\nvar faLaptopMedical = {\n prefix: 'fas',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z\"]\n};\nvar faLaugh = {\n prefix: 'fas',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z\"]\n};\nvar faLaughBeam = {\n prefix: 'fas',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLaughSquint = {\n prefix: 'fas',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLaughWink = {\n prefix: 'fas',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLayerGroup = {\n prefix: 'fas',\n iconName: 'layer-group',\n icon: [512, 512, [], \"f5fd\", \"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z\"]\n};\nvar faLeaf = {\n prefix: 'fas',\n iconName: 'leaf',\n icon: [576, 512, [], \"f06c\", \"M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z\"]\n};\nvar faLemon = {\n prefix: 'fas',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z\"]\n};\nvar faLessThan = {\n prefix: 'fas',\n iconName: 'less-than',\n icon: [384, 512, [], \"f536\", \"M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z\"]\n};\nvar faLessThanEqual = {\n prefix: 'fas',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faLevelDownAlt = {\n prefix: 'fas',\n iconName: 'level-down-alt',\n icon: [320, 512, [], \"f3be\", \"M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z\"]\n};\nvar faLevelUpAlt = {\n prefix: 'fas',\n iconName: 'level-up-alt',\n icon: [320, 512, [], \"f3bf\", \"M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z\"]\n};\nvar faLifeRing = {\n prefix: 'fas',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z\"]\n};\nvar faLightbulb = {\n prefix: 'fas',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"]\n};\nvar faLink = {\n prefix: 'fas',\n iconName: 'link',\n icon: [512, 512, [], \"f0c1\", \"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z\"]\n};\nvar faLiraSign = {\n prefix: 'fas',\n iconName: 'lira-sign',\n icon: [384, 512, [], \"f195\", \"M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z\"]\n};\nvar faList = {\n prefix: 'fas',\n iconName: 'list',\n icon: [512, 512, [], \"f03a\", \"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faListAlt = {\n prefix: 'fas',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z\"]\n};\nvar faListOl = {\n prefix: 'fas',\n iconName: 'list-ol',\n icon: [512, 512, [], \"f0cb\", \"M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z\"]\n};\nvar faListUl = {\n prefix: 'fas',\n iconName: 'list-ul',\n icon: [512, 512, [], \"f0ca\", \"M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faLocationArrow = {\n prefix: 'fas',\n iconName: 'location-arrow',\n icon: [512, 512, [], \"f124\", \"M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z\"]\n};\nvar faLock = {\n prefix: 'fas',\n iconName: 'lock',\n icon: [448, 512, [], \"f023\", \"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z\"]\n};\nvar faLockOpen = {\n prefix: 'fas',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z\"]\n};\nvar faLongArrowAltDown = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-down',\n icon: [256, 512, [], \"f309\", \"M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z\"]\n};\nvar faLongArrowAltLeft = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-left',\n icon: [448, 512, [], \"f30a\", \"M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z\"]\n};\nvar faLongArrowAltRight = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-right',\n icon: [448, 512, [], \"f30b\", \"M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z\"]\n};\nvar faLongArrowAltUp = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-up',\n icon: [256, 512, [], \"f30c\", \"M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z\"]\n};\nvar faLowVision = {\n prefix: 'fas',\n iconName: 'low-vision',\n icon: [576, 512, [], \"f2a8\", \"M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z\"]\n};\nvar faLuggageCart = {\n prefix: 'fas',\n iconName: 'luggage-cart',\n icon: [640, 512, [], \"f59d\", \"M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z\"]\n};\nvar faLungs = {\n prefix: 'fas',\n iconName: 'lungs',\n icon: [640, 512, [], \"f604\", \"M636.11 390.15C614.44 308.85 580.07 231 534.1 159.13 511.98 124.56 498.03 96 454.05 96 415.36 96 384 125.42 384 161.71v60.11l-32.88-21.92a15.996 15.996 0 0 1-7.12-13.31V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v170.59c0 5.35-2.67 10.34-7.12 13.31L256 221.82v-60.11C256 125.42 224.64 96 185.95 96c-43.98 0-57.93 28.56-80.05 63.13C59.93 231 25.56 308.85 3.89 390.15 1.3 399.84 0 409.79 0 419.78c0 61.23 62.48 105.44 125.24 88.62l59.5-15.95c42.18-11.3 71.26-47.47 71.26-88.62v-87.49l-85.84 57.23a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09L320 235.23l167.59 111.72a7.994 7.994 0 0 1 2.22 11.09l-8.88 13.31a7.994 7.994 0 0 1-11.09 2.22L384 316.34v87.49c0 41.15 29.08 77.31 71.26 88.62l59.5 15.95C577.52 525.22 640 481.01 640 419.78c0-9.99-1.3-19.94-3.89-29.63z\"]\n};\nvar faLungsVirus = {\n prefix: 'fas',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z\"]\n};\nvar faMagic = {\n prefix: 'fas',\n iconName: 'magic',\n icon: [512, 512, [], \"f0d0\", \"M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z\"]\n};\nvar faMagnet = {\n prefix: 'fas',\n iconName: 'magnet',\n icon: [512, 512, [], \"f076\", \"M164.07 148.1H12a12 12 0 0 1-12-12v-80a36 36 0 0 1 36-36h104a36 36 0 0 1 36 36v80a11.89 11.89 0 0 1-11.93 12zm347.93-12V56a36 36 0 0 0-36-36H372a36 36 0 0 0-36 36v80a12 12 0 0 0 12 12h152a11.89 11.89 0 0 0 12-11.9zm-164 44a12 12 0 0 0-12 12v52c0 128.1-160 127.9-160 0v-52a12 12 0 0 0-12-12H12.1a12 12 0 0 0-12 12.1c.1 21.4.6 40.3 0 53.3 0 150.6 136.17 246.6 256.75 246.6s255-96 255-246.7c-.6-12.8-.2-33 0-53.2a12 12 0 0 0-12-12.1z\"]\n};\nvar faMailBulk = {\n prefix: 'fas',\n iconName: 'mail-bulk',\n icon: [576, 512, [], \"f674\", \"M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z\"]\n};\nvar faMale = {\n prefix: 'fas',\n iconName: 'male',\n icon: [192, 512, [], \"f183\", \"M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z\"]\n};\nvar faMap = {\n prefix: 'fas',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarked = {\n prefix: 'fas',\n iconName: 'map-marked',\n icon: [576, 512, [], \"f59f\", \"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarkedAlt = {\n prefix: 'fas',\n iconName: 'map-marked-alt',\n icon: [576, 512, [], \"f5a0\", \"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarker = {\n prefix: 'fas',\n iconName: 'map-marker',\n icon: [384, 512, [], \"f041\", \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z\"]\n};\nvar faMapMarkerAlt = {\n prefix: 'fas',\n iconName: 'map-marker-alt',\n icon: [384, 512, [], \"f3c5\", \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z\"]\n};\nvar faMapPin = {\n prefix: 'fas',\n iconName: 'map-pin',\n icon: [288, 512, [], \"f276\", \"M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z\"]\n};\nvar faMapSigns = {\n prefix: 'fas',\n iconName: 'map-signs',\n icon: [512, 512, [], \"f277\", \"M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z\"]\n};\nvar faMarker = {\n prefix: 'fas',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z\"]\n};\nvar faMars = {\n prefix: 'fas',\n iconName: 'mars',\n icon: [384, 512, [], \"f222\", \"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faMarsDouble = {\n prefix: 'fas',\n iconName: 'mars-double',\n icon: [512, 512, [], \"f227\", \"M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z\"]\n};\nvar faMarsStroke = {\n prefix: 'fas',\n iconName: 'mars-stroke',\n icon: [384, 512, [], \"f229\", \"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faMarsStrokeH = {\n prefix: 'fas',\n iconName: 'mars-stroke-h',\n icon: [480, 512, [], \"f22b\", \"M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"]\n};\nvar faMarsStrokeV = {\n prefix: 'fas',\n iconName: 'mars-stroke-v',\n icon: [288, 512, [], \"f22a\", \"M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"]\n};\nvar faMask = {\n prefix: 'fas',\n iconName: 'mask',\n icon: [640, 512, [], \"f6fa\", \"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z\"]\n};\nvar faMedal = {\n prefix: 'fas',\n iconName: 'medal',\n icon: [512, 512, [], \"f5a2\", \"M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z\"]\n};\nvar faMedkit = {\n prefix: 'fas',\n iconName: 'medkit',\n icon: [512, 512, [], \"f0fa\", \"M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z\"]\n};\nvar faMeh = {\n prefix: 'fas',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMehBlank = {\n prefix: 'fas',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMehRollingEyes = {\n prefix: 'fas',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z\"]\n};\nvar faMemory = {\n prefix: 'fas',\n iconName: 'memory',\n icon: [640, 512, [], \"f538\", \"M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z\"]\n};\nvar faMenorah = {\n prefix: 'fas',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z\"]\n};\nvar faMercury = {\n prefix: 'fas',\n iconName: 'mercury',\n icon: [288, 512, [], \"f223\", \"M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"]\n};\nvar faMeteor = {\n prefix: 'fas',\n iconName: 'meteor',\n icon: [512, 512, [], \"f753\", \"M511.328,20.8027c-11.60759,38.70264-34.30724,111.70173-61.30311,187.70077,6.99893,2.09372,13.4042,4,18.60653,5.59368a16.06158,16.06158,0,0,1,9.49854,22.906c-22.106,42.29635-82.69047,152.795-142.47819,214.40356-.99984,1.09373-1.99969,2.5-2.99954,3.49995A194.83046,194.83046,0,1,1,57.085,179.41009c.99985-1,2.40588-2,3.49947-3,61.59994-59.90549,171.97367-120.40473,214.37343-142.4982a16.058,16.058,0,0,1,22.90274,9.49988c1.59351,5.09368,3.49947,11.5936,5.5929,18.59351C379.34818,35.00565,452.43074,12.30281,491.12794.70921A16.18325,16.18325,0,0,1,511.328,20.8027ZM319.951,320.00207A127.98041,127.98041,0,1,0,191.97061,448.00046,127.97573,127.97573,0,0,0,319.951,320.00207Zm-127.98041-31.9996a31.9951,31.9951,0,1,1-31.9951-31.9996A31.959,31.959,0,0,1,191.97061,288.00247Zm31.9951,79.999a15.99755,15.99755,0,1,1-15.99755-15.9998A16.04975,16.04975,0,0,1,223.96571,368.00147Z\"]\n};\nvar faMicrochip = {\n prefix: 'fas',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z\"]\n};\nvar faMicrophone = {\n prefix: 'fas',\n iconName: 'microphone',\n icon: [352, 512, [], \"f130\", \"M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicrophoneAlt = {\n prefix: 'fas',\n iconName: 'microphone-alt',\n icon: [352, 512, [], \"f3c9\", \"M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z\"]\n};\nvar faMicrophoneAltSlash = {\n prefix: 'fas',\n iconName: 'microphone-alt-slash',\n icon: [640, 512, [], \"f539\", \"M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicrophoneSlash = {\n prefix: 'fas',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicroscope = {\n prefix: 'fas',\n iconName: 'microscope',\n icon: [512, 512, [], \"f610\", \"M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z\"]\n};\nvar faMinus = {\n prefix: 'fas',\n iconName: 'minus',\n icon: [448, 512, [], \"f068\", \"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faMinusCircle = {\n prefix: 'fas',\n iconName: 'minus-circle',\n icon: [512, 512, [], \"f056\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z\"]\n};\nvar faMinusSquare = {\n prefix: 'fas',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z\"]\n};\nvar faMitten = {\n prefix: 'fas',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M368 416H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm57-209.1c-27.2-22.6-67.5-19-90.1 8.2l-20.9 25-29.6-128.4c-18-77.5-95.4-125.9-172.8-108C34.2 21.6-14.2 98.9 3.7 176.4L51.6 384h309l72.5-87c22.7-27.2 19-67.5-8.1-90.1z\"]\n};\nvar faMobile = {\n prefix: 'fas',\n iconName: 'mobile',\n icon: [320, 512, [], \"f10b\", \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMobileAlt = {\n prefix: 'fas',\n iconName: 'mobile-alt',\n icon: [320, 512, [], \"f3cd\", \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z\"]\n};\nvar faMoneyBill = {\n prefix: 'fas',\n iconName: 'money-bill',\n icon: [640, 512, [], \"f0d6\", \"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"]\n};\nvar faMoneyBillAlt = {\n prefix: 'fas',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"]\n};\nvar faMoneyBillWave = {\n prefix: 'fas',\n iconName: 'money-bill-wave',\n icon: [640, 512, [], \"f53a\", \"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z\"]\n};\nvar faMoneyBillWaveAlt = {\n prefix: 'fas',\n iconName: 'money-bill-wave-alt',\n icon: [640, 512, [], \"f53b\", \"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z\"]\n};\nvar faMoneyCheck = {\n prefix: 'fas',\n iconName: 'money-check',\n icon: [640, 512, [], \"f53c\", \"M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z\"]\n};\nvar faMoneyCheckAlt = {\n prefix: 'fas',\n iconName: 'money-check-alt',\n icon: [640, 512, [], \"f53d\", \"M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z\"]\n};\nvar faMonument = {\n prefix: 'fas',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"]\n};\nvar faMoon = {\n prefix: 'fas',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z\"]\n};\nvar faMortarPestle = {\n prefix: 'fas',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faMosque = {\n prefix: 'fas',\n iconName: 'mosque',\n icon: [640, 512, [], \"f678\", \"M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z\"]\n};\nvar faMotorcycle = {\n prefix: 'fas',\n iconName: 'motorcycle',\n icon: [640, 512, [], \"f21c\", \"M512.9 192c-14.9-.1-29.1 2.3-42.4 6.9L437.6 144H520c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24h-45.3c-6.8 0-13.3 2.9-17.8 7.9l-37.5 41.7-22.8-38C392.2 68.4 384.4 64 376 64h-80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h66.4l19.2 32H227.9c-17.7-23.1-44.9-40-99.9-40H72.5C59 104 47.7 115 48 128.5c.2 13 10.9 23.5 24 23.5h56c24.5 0 38.7 10.9 47.8 24.8l-11.3 20.5c-13-3.9-26.9-5.7-41.3-5.2C55.9 194.5 1.6 249.6 0 317c-1.6 72.1 56.3 131 128 131 59.6 0 109.7-40.8 124-96h84.2c13.7 0 24.6-11.4 24-25.1-2.1-47.1 17.5-93.7 56.2-125l12.5 20.8c-27.6 23.7-45.1 58.9-44.8 98.2.5 69.6 57.2 126.5 126.8 127.1 71.6.7 129.8-57.5 129.2-129.1-.7-69.6-57.6-126.4-127.2-126.9zM128 400c-44.1 0-80-35.9-80-80s35.9-80 80-80c4.2 0 8.4.3 12.5 1L99 316.4c-8.8 16 2.8 35.6 21 35.6h81.3c-12.4 28.2-40.6 48-73.3 48zm463.9-75.6c-2.2 40.6-35 73.4-75.5 75.5-46.1 2.5-84.4-34.3-84.4-79.9 0-21.4 8.4-40.8 22.1-55.1l49.4 82.4c4.5 7.6 14.4 10 22 5.5l13.7-8.2c7.6-4.5 10-14.4 5.5-22l-48.6-80.9c5.2-1.1 10.5-1.6 15.9-1.6 45.6-.1 82.3 38.2 79.9 84.3z\"]\n};\nvar faMountain = {\n prefix: 'fas',\n iconName: 'mountain',\n icon: [640, 512, [], \"f6fc\", \"M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z\"]\n};\nvar faMouse = {\n prefix: 'fas',\n iconName: 'mouse',\n icon: [384, 512, [], \"f8cc\", \"M0 352a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V224H0zM176 0h-16A160 160 0 0 0 0 160v32h176zm48 0h-16v192h176v-32A160 160 0 0 0 224 0z\"]\n};\nvar faMousePointer = {\n prefix: 'fas',\n iconName: 'mouse-pointer',\n icon: [320, 512, [], \"f245\", \"M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z\"]\n};\nvar faMugHot = {\n prefix: 'fas',\n iconName: 'mug-hot',\n icon: [512, 512, [], \"f7b6\", \"M127.1 146.5c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C111.8 5.9 105 0 96.8 0H80.4C70.6 0 63 8.5 64.1 18c3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zm112 0c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C223.8 5.9 217 0 208.8 0h-16.4c-9.8 0-17.5 8.5-16.3 18 3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zM400 192H32c-17.7 0-32 14.3-32 32v192c0 53 43 96 96 96h192c53 0 96-43 96-96h16c61.8 0 112-50.2 112-112s-50.2-112-112-112zm0 160h-16v-96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faMusic = {\n prefix: 'fas',\n iconName: 'music',\n icon: [512, 512, [], \"f001\", \"M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z\"]\n};\nvar faNetworkWired = {\n prefix: 'fas',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z\"]\n};\nvar faNeuter = {\n prefix: 'fas',\n iconName: 'neuter',\n icon: [288, 512, [], \"f22c\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faNewspaper = {\n prefix: 'fas',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z\"]\n};\nvar faNotEqual = {\n prefix: 'fas',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z\"]\n};\nvar faNotesMedical = {\n prefix: 'fas',\n iconName: 'notes-medical',\n icon: [384, 512, [], \"f481\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faObjectGroup = {\n prefix: 'fas',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z\"]\n};\nvar faObjectUngroup = {\n prefix: 'fas',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z\"]\n};\nvar faOilCan = {\n prefix: 'fas',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z\"]\n};\nvar faOm = {\n prefix: 'fas',\n iconName: 'om',\n icon: [512, 512, [], \"f679\", \"M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z\"]\n};\nvar faOtter = {\n prefix: 'fas',\n iconName: 'otter',\n icon: [640, 512, [], \"f700\", \"M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z\"]\n};\nvar faOutdent = {\n prefix: 'fas',\n iconName: 'outdent',\n icon: [448, 512, [], \"f03b\", \"M100.69 363.29c10 10 27.31 2.93 27.31-11.31V160c0-14.32-17.33-21.31-27.31-11.31l-96 96a16 16 0 0 0 0 22.62zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faPager = {\n prefix: 'fas',\n iconName: 'pager',\n icon: [512, 512, [], \"f815\", \"M448 64H64a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V128a64 64 0 0 0-64-64zM160 368H80a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h80zm128-16a16 16 0 0 1-16 16h-80v-48h80a16 16 0 0 1 16 16zm160-128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h320a32 32 0 0 1 32 32z\"]\n};\nvar faPaintBrush = {\n prefix: 'fas',\n iconName: 'paint-brush',\n icon: [512, 512, [], \"f1fc\", \"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z\"]\n};\nvar faPaintRoller = {\n prefix: 'fas',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z\"]\n};\nvar faPalette = {\n prefix: 'fas',\n iconName: 'palette',\n icon: [512, 512, [], \"f53f\", \"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faPallet = {\n prefix: 'fas',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z\"]\n};\nvar faPaperPlane = {\n prefix: 'fas',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z\"]\n};\nvar faPaperclip = {\n prefix: 'fas',\n iconName: 'paperclip',\n icon: [448, 512, [], \"f0c6\", \"M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z\"]\n};\nvar faParachuteBox = {\n prefix: 'fas',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z\"]\n};\nvar faParagraph = {\n prefix: 'fas',\n iconName: 'paragraph',\n icon: [448, 512, [], \"f1dd\", \"M448 48v32a16 16 0 0 1-16 16h-48v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V96h-32v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V352h-32a160 160 0 0 1 0-320h240a16 16 0 0 1 16 16z\"]\n};\nvar faParking = {\n prefix: 'fas',\n iconName: 'parking',\n icon: [448, 512, [], \"f540\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z\"]\n};\nvar faPassport = {\n prefix: 'fas',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z\"]\n};\nvar faPastafarianism = {\n prefix: 'fas',\n iconName: 'pastafarianism',\n icon: [640, 512, [], \"f67b\", \"M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z\"]\n};\nvar faPaste = {\n prefix: 'fas',\n iconName: 'paste',\n icon: [448, 512, [], \"f0ea\", \"M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z\"]\n};\nvar faPause = {\n prefix: 'fas',\n iconName: 'pause',\n icon: [448, 512, [], \"f04c\", \"M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z\"]\n};\nvar faPauseCircle = {\n prefix: 'fas',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z\"]\n};\nvar faPaw = {\n prefix: 'fas',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z\"]\n};\nvar faPeace = {\n prefix: 'fas',\n iconName: 'peace',\n icon: [496, 512, [], \"f67c\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z\"]\n};\nvar faPen = {\n prefix: 'fas',\n iconName: 'pen',\n icon: [512, 512, [], \"f304\", \"M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z\"]\n};\nvar faPenAlt = {\n prefix: 'fas',\n iconName: 'pen-alt',\n icon: [512, 512, [], \"f305\", \"M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z\"]\n};\nvar faPenFancy = {\n prefix: 'fas',\n iconName: 'pen-fancy',\n icon: [512, 512, [], \"f5ac\", \"M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z\"]\n};\nvar faPenNib = {\n prefix: 'fas',\n iconName: 'pen-nib',\n icon: [512, 512, [], \"f5ad\", \"M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z\"]\n};\nvar faPenSquare = {\n prefix: 'fas',\n iconName: 'pen-square',\n icon: [448, 512, [], \"f14b\", \"M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z\"]\n};\nvar faPencilAlt = {\n prefix: 'fas',\n iconName: 'pencil-alt',\n icon: [512, 512, [], \"f303\", \"M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z\"]\n};\nvar faPencilRuler = {\n prefix: 'fas',\n iconName: 'pencil-ruler',\n icon: [512, 512, [], \"f5ae\", \"M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z\"]\n};\nvar faPeopleArrows = {\n prefix: 'fas',\n iconName: 'people-arrows',\n icon: [576, 512, [], \"e068\", \"M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z\"]\n};\nvar faPeopleCarry = {\n prefix: 'fas',\n iconName: 'people-carry',\n icon: [640, 512, [], \"f4ce\", \"M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z\"]\n};\nvar faPepperHot = {\n prefix: 'fas',\n iconName: 'pepper-hot',\n icon: [512, 512, [], \"f816\", \"M330.67 263.12V173.4l-52.75-24.22C219.44 218.76 197.58 400 56 400a56 56 0 0 0 0 112c212.64 0 370.65-122.87 419.18-210.34l-37.05-38.54zm131.09-128.37C493.92 74.91 477.18 26.48 458.62 3a8 8 0 0 0-11.93-.59l-22.9 23a8.06 8.06 0 0 0-.89 10.23c6.86 10.36 17.05 35.1-1.4 72.32A142.85 142.85 0 0 0 364.34 96c-28 0-54 8.54-76.34 22.59l74.67 34.29v78.24h89.09L506.44 288c3.26-12.62 5.56-25.63 5.56-39.31a154 154 0 0 0-50.24-113.94z\"]\n};\nvar faPercent = {\n prefix: 'fas',\n iconName: 'percent',\n icon: [448, 512, [], \"f295\", \"M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z\"]\n};\nvar faPercentage = {\n prefix: 'fas',\n iconName: 'percentage',\n icon: [384, 512, [], \"f541\", \"M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z\"]\n};\nvar faPersonBooth = {\n prefix: 'fas',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M192 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h-64v176zm32-272h-50.9l-45.2-45.3C115.8 166.6 99.7 160 82.7 160H64c-17.1 0-33.2 6.7-45.3 18.8C6.7 190.9 0 207 0 224.1L.2 320 0 480c0 17.7 14.3 32 31.9 32 17.6 0 32-14.3 32-32l.1-100.7c.9.5 1.6 1.3 2.5 1.7l29.1 43v56c0 17.7 14.3 32 32 32s32-14.3 32-32v-56.5c0-9.9-2.3-19.8-6.7-28.6l-41.2-61.3V253l20.9 20.9c9.1 9.1 21.1 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 128c26.5 0 48-21.5 48-48S90.5 32 64 32 16 53.5 16 80s21.5 48 48 48zm224-96l31.5 223.1-30.9 154.6c-4.3 21.6 13 38.3 31.4 38.3 15.2 0 28-9.1 32.3-30.4.9 16.9 14.6 30.4 31.7 30.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V0H288v32zm-96 0v160h64V0h-32c-17.7 0-32 14.3-32 32zM544 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32z\"]\n};\nvar faPhone = {\n prefix: 'fas',\n iconName: 'phone',\n icon: [512, 512, [], \"f095\", \"M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z\"]\n};\nvar faPhoneAlt = {\n prefix: 'fas',\n iconName: 'phone-alt',\n icon: [512, 512, [], \"f879\", \"M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z\"]\n};\nvar faPhoneSlash = {\n prefix: 'fas',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"]\n};\nvar faPhoneSquare = {\n prefix: 'fas',\n iconName: 'phone-square',\n icon: [448, 512, [], \"f098\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z\"]\n};\nvar faPhoneSquareAlt = {\n prefix: 'fas',\n iconName: 'phone-square-alt',\n icon: [448, 512, [], \"f87b\", \"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z\"]\n};\nvar faPhoneVolume = {\n prefix: 'fas',\n iconName: 'phone-volume',\n icon: [384, 512, [], \"f2a0\", \"M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z\"]\n};\nvar faPhotoVideo = {\n prefix: 'fas',\n iconName: 'photo-video',\n icon: [640, 512, [], \"f87c\", \"M608 0H160a32 32 0 0 0-32 32v96h160V64h192v320h128a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zM232 103a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm352 208a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm-168 57H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM96 224a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm288 224H64v-32l64-64 32 32 128-128 96 96z\"]\n};\nvar faPiggyBank = {\n prefix: 'fas',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z\"]\n};\nvar faPills = {\n prefix: 'fas',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z\"]\n};\nvar faPizzaSlice = {\n prefix: 'fas',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M158.87.15c-16.16-1.52-31.2 8.42-35.33 24.12l-14.81 56.27c187.62 5.49 314.54 130.61 322.48 317l56.94-15.78c15.72-4.36 25.49-19.68 23.62-35.9C490.89 165.08 340.78 17.32 158.87.15zm-58.47 112L.55 491.64a16.21 16.21 0 0 0 20 19.75l379-105.1c-4.27-174.89-123.08-292.14-299.15-294.1zM128 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-152a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm104 104a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"]\n};\nvar faPlaceOfWorship = {\n prefix: 'fas',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z\"]\n};\nvar faPlane = {\n prefix: 'fas',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z\"]\n};\nvar faPlaneArrival = {\n prefix: 'fas',\n iconName: 'plane-arrival',\n icon: [640, 512, [], \"f5af\", \"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z\"]\n};\nvar faPlaneDeparture = {\n prefix: 'fas',\n iconName: 'plane-departure',\n icon: [640, 512, [], \"f5b0\", \"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z\"]\n};\nvar faPlaneSlash = {\n prefix: 'fas',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z\"]\n};\nvar faPlay = {\n prefix: 'fas',\n iconName: 'play',\n icon: [448, 512, [], \"f04b\", \"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z\"]\n};\nvar faPlayCircle = {\n prefix: 'fas',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z\"]\n};\nvar faPlug = {\n prefix: 'fas',\n iconName: 'plug',\n icon: [384, 512, [], \"f1e6\", \"M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z\"]\n};\nvar faPlus = {\n prefix: 'fas',\n iconName: 'plus',\n icon: [448, 512, [], \"f067\", \"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faPlusCircle = {\n prefix: 'fas',\n iconName: 'plus-circle',\n icon: [512, 512, [], \"f055\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"]\n};\nvar faPlusSquare = {\n prefix: 'fas',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"]\n};\nvar faPodcast = {\n prefix: 'fas',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z\"]\n};\nvar faPoll = {\n prefix: 'fas',\n iconName: 'poll',\n icon: [448, 512, [], \"f681\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z\"]\n};\nvar faPollH = {\n prefix: 'fas',\n iconName: 'poll-h',\n icon: [448, 512, [], \"f682\", \"M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z\"]\n};\nvar faPoo = {\n prefix: 'fas',\n iconName: 'poo',\n icon: [512, 512, [], \"f2fe\", \"M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faPooStorm = {\n prefix: 'fas',\n iconName: 'poo-storm',\n icon: [448, 512, [], \"f75a\", \"M308 336h-57.7l17.3-64.9c2-7.6-3.7-15.1-11.6-15.1h-68c-6 0-11.1 4.5-11.9 10.4l-16 120c-1 7.2 4.6 13.6 11.9 13.6h59.3l-23 97.2c-1.8 7.6 4 14.8 11.7 14.8 4.2 0 8.2-2.2 10.4-6l88-152c4.6-8-1.2-18-10.4-18zm66.4-111.3c5.9-9.6 9.6-20.6 9.6-32.7 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C218.3 14.6 224 30.6 224 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 12.1 3.7 23.1 9.6 32.7C32.6 228 0 262.2 0 304c0 44 36 80 80 80h48.3c.1-.6 0-1.2 0-1.8l16-120c3-21.8 21.7-38.2 43.7-38.2h68c13.8 0 26.5 6.3 34.9 17.2s11.2 24.8 7.6 38.1l-6.6 24.7h16c15.7 0 30.3 8.4 38.1 22 7.8 13.6 7.8 30.5 0 44l-8.1 14h30c44 0 80-36 80-80 .1-41.8-32.5-76-73.5-79.3z\"]\n};\nvar faPoop = {\n prefix: 'fas',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z\"]\n};\nvar faPortrait = {\n prefix: 'fas',\n iconName: 'portrait',\n icon: [384, 512, [], \"f3e0\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faPoundSign = {\n prefix: 'fas',\n iconName: 'pound-sign',\n icon: [320, 512, [], \"f154\", \"M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z\"]\n};\nvar faPowerOff = {\n prefix: 'fas',\n iconName: 'power-off',\n icon: [512, 512, [], \"f011\", \"M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z\"]\n};\nvar faPray = {\n prefix: 'fas',\n iconName: 'pray',\n icon: [384, 512, [], \"f683\", \"M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z\"]\n};\nvar faPrayingHands = {\n prefix: 'fas',\n iconName: 'praying-hands',\n icon: [640, 512, [], \"f684\", \"M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z\"]\n};\nvar faPrescription = {\n prefix: 'fas',\n iconName: 'prescription',\n icon: [384, 512, [], \"f5b1\", \"M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z\"]\n};\nvar faPrescriptionBottle = {\n prefix: 'fas',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z\"]\n};\nvar faPrescriptionBottleAlt = {\n prefix: 'fas',\n iconName: 'prescription-bottle-alt',\n icon: [384, 512, [], \"f486\", \"M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z\"]\n};\nvar faPrint = {\n prefix: 'fas',\n iconName: 'print',\n icon: [512, 512, [], \"f02f\", \"M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faProcedures = {\n prefix: 'fas',\n iconName: 'procedures',\n icon: [640, 512, [], \"f487\", \"M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"]\n};\nvar faProjectDiagram = {\n prefix: 'fas',\n iconName: 'project-diagram',\n icon: [640, 512, [], \"f542\", \"M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z\"]\n};\nvar faPumpMedical = {\n prefix: 'fas',\n iconName: 'pump-medical',\n icon: [384, 512, [], \"e06a\", \"M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z\"]\n};\nvar faPumpSoap = {\n prefix: 'fas',\n iconName: 'pump-soap',\n icon: [384, 512, [], \"e06b\", \"M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'fas',\n iconName: 'puzzle-piece',\n icon: [576, 512, [], \"f12e\", \"M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z\"]\n};\nvar faQrcode = {\n prefix: 'fas',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z\"]\n};\nvar faQuestion = {\n prefix: 'fas',\n iconName: 'question',\n icon: [384, 512, [], \"f128\", \"M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z\"]\n};\nvar faQuestionCircle = {\n prefix: 'fas',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\"]\n};\nvar faQuidditch = {\n prefix: 'fas',\n iconName: 'quidditch',\n icon: [640, 512, [], \"f458\", \"M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z\"]\n};\nvar faQuoteLeft = {\n prefix: 'fas',\n iconName: 'quote-left',\n icon: [512, 512, [], \"f10d\", \"M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"]\n};\nvar faQuoteRight = {\n prefix: 'fas',\n iconName: 'quote-right',\n icon: [512, 512, [], \"f10e\", \"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faQuran = {\n prefix: 'fas',\n iconName: 'quran',\n icon: [448, 512, [], \"f687\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"]\n};\nvar faRadiation = {\n prefix: 'fas',\n iconName: 'radiation',\n icon: [496, 512, [], \"f7b9\", \"M328.2 255.8h151.6c9.1 0 16.8-7.7 16.2-16.8-5.1-75.8-44.4-142.2-102.5-184.2-7.4-5.3-17.9-2.9-22.7 4.8L290.4 188c22.6 14.3 37.8 39.2 37.8 67.8zm-37.8 67.7c-12.3 7.7-26.8 12.4-42.4 12.4-15.6 0-30-4.7-42.4-12.4L125.2 452c-4.8 7.7-2.4 18.1 5.6 22.4C165.7 493.2 205.6 504 248 504s82.3-10.8 117.2-29.6c8-4.3 10.4-14.8 5.6-22.4l-80.4-128.5zM248 303.8c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm-231.8-48h151.6c0-28.6 15.2-53.5 37.8-67.7L125.2 59.7c-4.8-7.7-15.3-10.2-22.7-4.8C44.4 96.9 5.1 163.3 0 239.1c-.6 9 7.1 16.7 16.2 16.7z\"]\n};\nvar faRadiationAlt = {\n prefix: 'fas',\n iconName: 'radiation-alt',\n icon: [496, 512, [], \"f7ba\", \"M312 256h79.1c9.2 0 16.9-7.7 16-16.8-4.6-43.6-27-81.8-59.5-107.8-7.6-6.1-18.8-4.5-24 3.8L281.9 202c18 11.2 30.1 31.2 30.1 54zm-97.8 54.1L172.4 377c-4.9 7.8-2.4 18.4 5.8 22.5 21.1 10.4 44.7 16.5 69.8 16.5s48.7-6.1 69.9-16.5c8.2-4.1 10.6-14.7 5.8-22.5l-41.8-66.9c-9.8 6.2-21.4 9.9-33.8 9.9s-24.1-3.7-33.9-9.9zM104.9 256H184c0-22.8 12.1-42.8 30.2-54.1l-41.7-66.8c-5.2-8.3-16.4-9.9-24-3.8-32.6 26-54.9 64.2-59.5 107.8-1.1 9.2 6.7 16.9 15.9 16.9zM248 504c137 0 248-111 248-248S385 8 248 8 0 119 0 256s111 248 248 248zm0-432c101.5 0 184 82.5 184 184s-82.5 184-184 184S64 357.5 64 256 146.5 72 248 72zm0 216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faRainbow = {\n prefix: 'fas',\n iconName: 'rainbow',\n icon: [576, 512, [], \"f75b\", \"M268.3 32.7C115.4 42.9 0 176.9 0 330.2V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C64 186.8 180.9 80.3 317.5 97.9 430.4 112.4 512 214 512 327.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-165.3-140-298.6-307.7-287.3zm-5.6 96.9C166 142 96 229.1 96 326.7V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-74.8 64.5-134.8 140.8-127.4 66.5 6.5 115.2 66.2 115.2 133.1V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-114.2-100.2-205.4-217.3-190.4zm6.2 96.3c-45.6 8.9-76.9 51.5-76.9 97.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-17.6 14.3-32 32-32s32 14.4 32 32v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-59.2-53.8-106-115.1-94.1z\"]\n};\nvar faRandom = {\n prefix: 'fas',\n iconName: 'random',\n icon: [512, 512, [], \"f074\", \"M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z\"]\n};\nvar faReceipt = {\n prefix: 'fas',\n iconName: 'receipt',\n icon: [384, 512, [], \"f543\", \"M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faRecordVinyl = {\n prefix: 'fas',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M256 152a104 104 0 1 0 104 104 104 104 0 0 0-104-104zm0 128a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-272C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 376a128 128 0 1 1 128-128 128 128 0 0 1-128 128z\"]\n};\nvar faRecycle = {\n prefix: 'fas',\n iconName: 'recycle',\n icon: [512, 512, [], \"f1b8\", \"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z\"]\n};\nvar faRedo = {\n prefix: 'fas',\n iconName: 'redo',\n icon: [512, 512, [], \"f01e\", \"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z\"]\n};\nvar faRedoAlt = {\n prefix: 'fas',\n iconName: 'redo-alt',\n icon: [512, 512, [], \"f2f9\", \"M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z\"]\n};\nvar faRegistered = {\n prefix: 'fas',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z\"]\n};\nvar faRemoveFormat = {\n prefix: 'fas',\n iconName: 'remove-format',\n icon: [640, 512, [], \"f87d\", \"M336 416h-11.17l9.26-27.77L267 336.4 240.49 416H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm297.82 42.1L377 259.59 426.17 112H544v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H176a16 16 0 0 0-16 16v43.9L45.46 3.38A16 16 0 0 0 23 6.19L3.37 31.46a16 16 0 0 0 2.81 22.45l588.36 454.72a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zM309.91 207.76L224 141.36V112h117.83z\"]\n};\nvar faReply = {\n prefix: 'fas',\n iconName: 'reply',\n icon: [512, 512, [], \"f3e5\", \"M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z\"]\n};\nvar faReplyAll = {\n prefix: 'fas',\n iconName: 'reply-all',\n icon: [576, 512, [], \"f122\", \"M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z\"]\n};\nvar faRepublican = {\n prefix: 'fas',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M544 192c0-88.4-71.6-160-160-160H160C71.6 32 0 103.6 0 192v64h544v-64zm-367.7-21.6l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L128 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L272 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L416 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zM624 320h-32c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H0v176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-80h192v80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V352h32v43.3c0 41.8 30 80.1 71.6 84.3 47.8 4.9 88.4-32.7 88.4-79.6v-64c0-8.8-7.2-16-16-16z\"]\n};\nvar faRestroom = {\n prefix: 'fas',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M128 128c35.3 0 64-28.7 64-64S163.3 0 128 0 64 28.7 64 64s28.7 64 64 64zm384 0c35.3 0 64-28.7 64-64S547.3 0 512 0s-64 28.7-64 64 28.7 64 64 64zm127.3 226.5l-45.6-185.8c-3.3-13.5-15.5-23-29.8-24.2-15 9.7-32.8 15.5-52 15.5-19.2 0-37-5.8-52-15.5-14.3 1.2-26.5 10.7-29.8 24.2l-45.6 185.8C381 369.6 393 384 409.2 384H464v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V384h54.8c16.2 0 28.2-14.4 24.5-29.5zM336 0h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM180.1 144.4c-15 9.8-32.9 15.6-52.1 15.6-19.2 0-37.1-5.8-52.1-15.6C51.3 146.5 32 166.9 32 192v136c0 13.3 10.7 24 24 24h8v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V352h8c13.3 0 24-10.7 24-24V192c0-25.1-19.3-45.5-43.9-47.6z\"]\n};\nvar faRetweet = {\n prefix: 'fas',\n iconName: 'retweet',\n icon: [640, 512, [], \"f079\", \"M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z\"]\n};\nvar faRibbon = {\n prefix: 'fas',\n iconName: 'ribbon',\n icon: [448, 512, [], \"f4d6\", \"M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z\"]\n};\nvar faRing = {\n prefix: 'fas',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z\"]\n};\nvar faRoad = {\n prefix: 'fas',\n iconName: 'road',\n icon: [576, 512, [], \"f018\", \"M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z\"]\n};\nvar faRobot = {\n prefix: 'fas',\n iconName: 'robot',\n icon: [640, 512, [], \"f544\", \"M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z\"]\n};\nvar faRocket = {\n prefix: 'fas',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z\"]\n};\nvar faRoute = {\n prefix: 'fas',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faRss = {\n prefix: 'fas',\n iconName: 'rss',\n icon: [448, 512, [], \"f09e\", \"M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z\"]\n};\nvar faRssSquare = {\n prefix: 'fas',\n iconName: 'rss-square',\n icon: [448, 512, [], \"f143\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z\"]\n};\nvar faRubleSign = {\n prefix: 'fas',\n iconName: 'ruble-sign',\n icon: [384, 512, [], \"f158\", \"M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z\"]\n};\nvar faRuler = {\n prefix: 'fas',\n iconName: 'ruler',\n icon: [640, 512, [], \"f545\", \"M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z\"]\n};\nvar faRulerCombined = {\n prefix: 'fas',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faRulerHorizontal = {\n prefix: 'fas',\n iconName: 'ruler-horizontal',\n icon: [576, 512, [], \"f547\", \"M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z\"]\n};\nvar faRulerVertical = {\n prefix: 'fas',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z\"]\n};\nvar faRunning = {\n prefix: 'fas',\n iconName: 'running',\n icon: [416, 512, [], \"f70c\", \"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z\"]\n};\nvar faRupeeSign = {\n prefix: 'fas',\n iconName: 'rupee-sign',\n icon: [320, 512, [], \"f156\", \"M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z\"]\n};\nvar faSadCry = {\n prefix: 'fas',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z\"]\n};\nvar faSadTear = {\n prefix: 'fas',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z\"]\n};\nvar faSatellite = {\n prefix: 'fas',\n iconName: 'satellite',\n icon: [512, 512, [], \"f7bf\", \"M502.60969,310.04206l-96.70393,96.71625a31.88151,31.88151,0,0,1-45.00765,0L280.572,326.34115l-9.89231,9.90759a190.56343,190.56343,0,0,1-5.40716,168.52287c-4.50077,8.50115-16.39342,9.59505-23.20707,2.79725L134.54715,400.05428l-17.7999,17.79929c.70324,2.60972,1.60965,5.00067,1.60965,7.79793a32.00544,32.00544,0,1,1-32.00544-32.00434c2.79735,0,5.18838.90637,7.7982,1.60959l17.7999-17.79929L4.43129,269.94287c-6.798-6.81342-5.70409-18.6119,2.79735-23.20627a190.58161,190.58161,0,0,1,168.52864-5.407l9.79854-9.79821-80.31053-80.41716a32.002,32.002,0,0,1,0-45.09987L201.96474,9.29814A31.62639,31.62639,0,0,1,224.46868,0a31.99951,31.99951,0,0,1,22.59759,9.29814l80.32615,80.30777,47.805-47.89713a33.6075,33.6075,0,0,1,47.50808,0l47.50807,47.50645a33.63308,33.63308,0,0,1,0,47.50644l-47.805,47.89713L502.71908,265.036A31.78938,31.78938,0,0,1,502.60969,310.04206ZM219.56159,197.433l73.82505-73.82252-68.918-68.9-73.80942,73.80689Zm237.74352,90.106-68.90233-68.9156-73.825,73.82252,68.918,68.9Z\"]\n};\nvar faSatelliteDish = {\n prefix: 'fas',\n iconName: 'satellite-dish',\n icon: [512, 512, [], \"f7c0\", \"M305.44954,462.59c7.39157,7.29792,6.18829,20.09661-3.00038,25.00356-77.713,41.80281-176.72559,29.9105-242.34331-35.7082C-5.49624,386.28227-17.404,287.362,24.41381,209.554c4.89125-9.095,17.68975-10.29834,25.00318-3.00043L166.22872,323.36708l27.39411-27.39452c-.68759-2.60974-1.594-5.00071-1.594-7.81361a32.00407,32.00407,0,1,1,32.00407,32.00455c-2.79723,0-5.20378-.89075-7.79786-1.594l-27.40974,27.41015ZM511.9758,303.06732a16.10336,16.10336,0,0,1-16.002,17.00242H463.86031a15.96956,15.96956,0,0,1-15.89265-15.00213C440.46671,175.5492,336.45348,70.53427,207.03078,63.53328a15.84486,15.84486,0,0,1-15.00191-15.90852V16.02652A16.09389,16.09389,0,0,1,209.031.02425C372.25491,8.61922,503.47472,139.841,511.9758,303.06732Zm-96.01221-.29692a16.21093,16.21093,0,0,1-16.11142,17.29934H367.645a16.06862,16.06862,0,0,1-15.89265-14.70522c-6.90712-77.01094-68.118-138.91037-144.92467-145.22376a15.94,15.94,0,0,1-14.79876-15.89289V112.13393a16.134,16.134,0,0,1,17.29908-16.096C319.45132,104.5391,407.55627,192.64538,415.96359,302.7704Z\"]\n};\nvar faSave = {\n prefix: 'fas',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z\"]\n};\nvar faSchool = {\n prefix: 'fas',\n iconName: 'school',\n icon: [640, 512, [], \"f549\", \"M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z\"]\n};\nvar faScrewdriver = {\n prefix: 'fas',\n iconName: 'screwdriver',\n icon: [512, 512, [], \"f54a\", \"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z\"]\n};\nvar faScroll = {\n prefix: 'fas',\n iconName: 'scroll',\n icon: [640, 512, [], \"f70e\", \"M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z\"]\n};\nvar faSdCard = {\n prefix: 'fas',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M320 0H128L0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 160h-48V64h48v96zm80 0h-48V64h48v96zm80 0h-48V64h48v96z\"]\n};\nvar faSearch = {\n prefix: 'fas',\n iconName: 'search',\n icon: [512, 512, [], \"f002\", \"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"]\n};\nvar faSearchDollar = {\n prefix: 'fas',\n iconName: 'search-dollar',\n icon: [512, 512, [], \"f688\", \"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z\"]\n};\nvar faSearchLocation = {\n prefix: 'fas',\n iconName: 'search-location',\n icon: [512, 512, [], \"f689\", \"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faSearchMinus = {\n prefix: 'fas',\n iconName: 'search-minus',\n icon: [512, 512, [], \"f010\", \"M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"]\n};\nvar faSearchPlus = {\n prefix: 'fas',\n iconName: 'search-plus',\n icon: [512, 512, [], \"f00e\", \"M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"]\n};\nvar faSeedling = {\n prefix: 'fas',\n iconName: 'seedling',\n icon: [512, 512, [], \"f4d8\", \"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z\"]\n};\nvar faServer = {\n prefix: 'fas',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z\"]\n};\nvar faShapes = {\n prefix: 'fas',\n iconName: 'shapes',\n icon: [512, 512, [], \"f61f\", \"M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z\"]\n};\nvar faShare = {\n prefix: 'fas',\n iconName: 'share',\n icon: [512, 512, [], \"f064\", \"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z\"]\n};\nvar faShareAlt = {\n prefix: 'fas',\n iconName: 'share-alt',\n icon: [448, 512, [], \"f1e0\", \"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z\"]\n};\nvar faShareAltSquare = {\n prefix: 'fas',\n iconName: 'share-alt-square',\n icon: [448, 512, [], \"f1e1\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z\"]\n};\nvar faShareSquare = {\n prefix: 'fas',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z\"]\n};\nvar faShekelSign = {\n prefix: 'fas',\n iconName: 'shekel-sign',\n icon: [448, 512, [], \"f20b\", \"M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z\"]\n};\nvar faShieldAlt = {\n prefix: 'fas',\n iconName: 'shield-alt',\n icon: [512, 512, [], \"f3ed\", \"M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z\"]\n};\nvar faShieldVirus = {\n prefix: 'fas',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z\"]\n};\nvar faShip = {\n prefix: 'fas',\n iconName: 'ship',\n icon: [640, 512, [], \"f21a\", \"M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z\"]\n};\nvar faShippingFast = {\n prefix: 'fas',\n iconName: 'shipping-fast',\n icon: [640, 512, [], \"f48b\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faShoePrints = {\n prefix: 'fas',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z\"]\n};\nvar faShoppingBag = {\n prefix: 'fas',\n iconName: 'shopping-bag',\n icon: [448, 512, [], \"f290\", \"M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z\"]\n};\nvar faShoppingBasket = {\n prefix: 'fas',\n iconName: 'shopping-basket',\n icon: [576, 512, [], \"f291\", \"M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z\"]\n};\nvar faShoppingCart = {\n prefix: 'fas',\n iconName: 'shopping-cart',\n icon: [576, 512, [], \"f07a\", \"M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z\"]\n};\nvar faShower = {\n prefix: 'fas',\n iconName: 'shower',\n icon: [512, 512, [], \"f2cc\", \"M304,320a16,16,0,1,0,16,16A16,16,0,0,0,304,320Zm32-96a16,16,0,1,0,16,16A16,16,0,0,0,336,224Zm32,64a16,16,0,1,0-16-16A16,16,0,0,0,368,288Zm-32,32a16,16,0,1,0-16-16A16,16,0,0,0,336,320Zm-32-64a16,16,0,1,0,16,16A16,16,0,0,0,304,256Zm128-32a16,16,0,1,0-16-16A16,16,0,0,0,432,224Zm-48,16a16,16,0,1,0,16-16A16,16,0,0,0,384,240Zm-16-48a16,16,0,1,0,16,16A16,16,0,0,0,368,192Zm96,32a16,16,0,1,0,16,16A16,16,0,0,0,464,224Zm32-32a16,16,0,1,0,16,16A16,16,0,0,0,496,192Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,432,256Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,400,288Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,336,352Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,304,384Zm64-64a16,16,0,1,0,16,16A16,16,0,0,0,368,320Zm21.65-218.35-11.3-11.31a16,16,0,0,0-22.63,0L350.05,96A111.19,111.19,0,0,0,272,64c-19.24,0-37.08,5.3-52.9,13.85l-10-10A121.72,121.72,0,0,0,123.44,32C55.49,31.5,0,92.91,0,160.85V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V158.4c0-30.15,21-58.2,51-61.93a58.38,58.38,0,0,1,48.93,16.67l10,10C165.3,138.92,160,156.76,160,176a111.23,111.23,0,0,0,32,78.05l-5.66,5.67a16,16,0,0,0,0,22.62l11.3,11.31a16,16,0,0,0,22.63,0L389.65,124.28A16,16,0,0,0,389.65,101.65Z\"]\n};\nvar faShuttleVan = {\n prefix: 'fas',\n iconName: 'shuttle-van',\n icon: [640, 512, [], \"f5b6\", \"M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z\"]\n};\nvar faSign = {\n prefix: 'fas',\n iconName: 'sign',\n icon: [512, 512, [], \"f4d9\", \"M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z\"]\n};\nvar faSignInAlt = {\n prefix: 'fas',\n iconName: 'sign-in-alt',\n icon: [512, 512, [], \"f2f6\", \"M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z\"]\n};\nvar faSignLanguage = {\n prefix: 'fas',\n iconName: 'sign-language',\n icon: [448, 512, [], \"f2a7\", \"M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z\"]\n};\nvar faSignOutAlt = {\n prefix: 'fas',\n iconName: 'sign-out-alt',\n icon: [512, 512, [], \"f2f5\", \"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"]\n};\nvar faSignal = {\n prefix: 'fas',\n iconName: 'signal',\n icon: [640, 512, [], \"f012\", \"M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"]\n};\nvar faSignature = {\n prefix: 'fas',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M623.2 192c-51.8 3.5-125.7 54.7-163.1 71.5-29.1 13.1-54.2 24.4-76.1 24.4-22.6 0-26-16.2-21.3-51.9 1.1-8 11.7-79.2-42.7-76.1-25.1 1.5-64.3 24.8-169.5 126L192 182.2c30.4-75.9-53.2-151.5-129.7-102.8L7.4 116.3C0 121-2.2 130.9 2.5 138.4l17.2 27c4.7 7.5 14.6 9.7 22.1 4.9l58-38.9c18.4-11.7 40.7 7.2 32.7 27.1L34.3 404.1C27.5 421 37 448 64 448c8.3 0 16.5-3.2 22.6-9.4 42.2-42.2 154.7-150.7 211.2-195.8-2.2 28.5-2.1 58.9 20.6 83.8 15.3 16.8 37.3 25.3 65.5 25.3 35.6 0 68-14.6 102.3-30 33-14.8 99-62.6 138.4-65.8 8.5-.7 15.2-7.3 15.2-15.8v-32.1c.2-9.1-7.5-16.8-16.6-16.2z\"]\n};\nvar faSimCard = {\n prefix: 'fas',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z\"]\n};\nvar faSink = {\n prefix: 'fas',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z\"]\n};\nvar faSitemap = {\n prefix: 'fas',\n iconName: 'sitemap',\n icon: [640, 512, [], \"f0e8\", \"M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faSkating = {\n prefix: 'fas',\n iconName: 'skating',\n icon: [448, 512, [], \"f7c5\", \"M400 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm0 448c-8.8 0-16 7.2-16 16s-7.2 16-16 16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48 0-8.8-7.2-16-16-16zm-282.2 8.6c-6.2 6.2-16.4 6.3-22.6 0l-67.9-67.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l67.9 67.9c9.4 9.4 21.7 14 34 14s24.6-4.7 33.9-14c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.3-22.7 0zm56.1-179.8l-93.7 93.7c-12.5 12.5-12.5 32.8 0 45.2 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4l91.9-91.9-30.2-30.2c-5-5-9.4-10.7-13.2-16.8zM128 160h105.5l-20.1 17.2c-13.5 11.5-21.6 28.4-22.3 46.1-.7 17.8 6.1 35.2 18.7 47.7l78.2 78.2V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-89.4c0-12.6-5.1-25-14.1-33.9l-61-61c.5-.4 1.2-.6 1.7-1.1l82.3-82.3c11.5-11.5 14.9-28.6 8.7-43.6-6.2-15-20.7-24.7-37-24.7H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nvar faSkiing = {\n prefix: 'fas',\n iconName: 'skiing',\n icon: [512, 512, [], \"f7c9\", \"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm73 356.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-135.8-70.2 49.2-73.8c12.7-19 10.2-44.5-6-60.6L293 215.7l-107-53.1c-2.9 19.9 3.4 40 17.7 54.4l75.1 75.2-45.9 68.8L35 258.7c-11.7-6-26.2-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.3l391.9 202.5c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.3 9.3-24.5 0-33.8zM120 91.6l-11.5 22.5c14.4 7.3 31.2 4.9 42.8-4.8l47.2 23.4c-.1.1-.1.2-.2.3l114.5 56.8 32.4-13 6.4 19.1c4 12.1 12.6 22 24 27.7l58.1 29c15.9 7.9 35 1.5 42.9-14.3 7.9-15.8 1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2c-8.1-24.2-40.9-56.6-84.5-39.2l-81.2 32.5-62.5-31c.3-14.5-7.2-28.6-20.9-35.6l-11.1 21.7h-.2l-34.4-7c-1.8-.4-3.7.2-5 1.7-1.9 2.2-1.7 5.5.5 7.4l26.2 23z\"]\n};\nvar faSkiingNordic = {\n prefix: 'fas',\n iconName: 'skiing-nordic',\n icon: [576, 512, [], \"f7ca\", \"M336 96c26.5 0 48-21.5 48-48S362.5 0 336 0s-48 21.5-48 48 21.5 48 48 48zm216 320c-13.2 0-24 10.7-24 24 0 13.2-10.8 24-24 24h-69.5L460 285.6c11.7-4.7 20.1-16.2 20.1-29.6 0-17.7-14.3-32-32-32h-44L378 170.8c-12.5-25.5-35.5-44.2-61.8-50.9L245 98.7c-28.3-6.8-57.8-.5-80.8 17.1l-39.7 30.4c-14 10.7-16.7 30.8-5.9 44.9.7.9 1.7 1.3 2.4 2.1L66.9 464H24c-13.2 0-24 10.7-24 24s10.8 24 24 24h480c39.7 0 72-32.3 72-72 0-13.2-10.8-24-24-24zm-260.5 48h-96.9l43.1-91-22-13c-12.1-7.2-21.9-16.9-29.5-27.8L123.7 464H99.5l52.3-261.4c4.1-1 8.1-2.9 11.7-5.6l39.7-30.4c7.7-5.9 17.4-8 25.3-6.1l14.7 4.4-37.5 87.4c-12.6 29.5-1.3 64 26.3 80.3l85 50.2-25.5 81.2zm110.6 0h-43.6l23.6-75.5c5.9-20.8-2.9-43.1-21.6-54.4L299.3 298l31.3-78.3 20.3 41.4c8 16.3 24.9 26.9 43.1 26.9h33.3l-25.2 176z\"]\n};\nvar faSkull = {\n prefix: 'fas',\n iconName: 'skull',\n icon: [512, 512, [], \"f54c\", \"M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z\"]\n};\nvar faSkullCrossbones = {\n prefix: 'fas',\n iconName: 'skull-crossbones',\n icon: [448, 512, [], \"f714\", \"M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z\"]\n};\nvar faSlash = {\n prefix: 'fas',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z\"]\n};\nvar faSleigh = {\n prefix: 'fas',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M612.7 350.7l-9.3-7.4c-6.9-5.5-17-4.4-22.5 2.5l-10 12.5c-5.5 6.9-4.4 17 2.5 22.5l9.3 7.4c5.9 4.7 9.2 11.7 9.2 19.2 0 13.6-11 24.6-24.6 24.6H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h516c39 0 73.7-29.3 75.9-68.3 1.4-23.8-8.7-46.3-27.2-61zM32 224c0 59.6 40.9 109.2 96 123.5V400h64v-48h192v48h64v-48c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96v64c0 35.3-28.7 64-64 64h-20.7c-65.8 0-125.9-37.2-155.3-96-29.4-58.8-89.6-96-155.3-96H32C14.3 32 0 46.3 0 64s14.3 32 32 32v128z\"]\n};\nvar faSlidersH = {\n prefix: 'fas',\n iconName: 'sliders-h',\n icon: [512, 512, [], \"f1de\", \"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z\"]\n};\nvar faSmile = {\n prefix: 'fas',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z\"]\n};\nvar faSmileBeam = {\n prefix: 'fas',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z\"]\n};\nvar faSmileWink = {\n prefix: 'fas',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z\"]\n};\nvar faSmog = {\n prefix: 'fas',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M624 368H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-480 96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm416 0H224c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM144 288h156.1c22.5 19.7 51.6 32 83.9 32s61.3-12.3 83.9-32H528c61.9 0 112-50.1 112-112S589.9 64 528 64c-18 0-34.7 4.6-49.7 12.1C454 31 406.8 0 352 0c-41 0-77.8 17.3-104 44.8C221.8 17.3 185 0 144 0 64.5 0 0 64.5 0 144s64.5 144 144 144z\"]\n};\nvar faSmoking = {\n prefix: 'fas',\n iconName: 'smoking',\n icon: [640, 512, [], \"f48d\", \"M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z\"]\n};\nvar faSmokingBan = {\n prefix: 'fas',\n iconName: 'smoking-ban',\n icon: [512, 512, [], \"f54d\", \"M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z\"]\n};\nvar faSms = {\n prefix: 'fas',\n iconName: 'sms',\n icon: [512, 512, [], \"f7cd\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7 1.3 3 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128.2 304H116c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H156c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-19 38.6-42.4 38.6zm191.8-8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-68.2l-24.8 55.8c-2.9 5.9-11.4 5.9-14.3 0L224 227.8V296c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V192c0-8.8 7.2-16 16-16h16c6.1 0 11.6 3.4 14.3 8.8l17.7 35.4 17.7-35.4c2.7-5.4 8.3-8.8 14.3-8.8h16c8.8 0 16 7.2 16 16v104zm48.3 8H356c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H396c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-18.9 38.6-42.3 38.6z\"]\n};\nvar faSnowboarding = {\n prefix: 'fas',\n iconName: 'snowboarding',\n icon: [512, 512, [], \"f7ce\", \"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm28.8 153.6c5.8 4.3 12.5 6.4 19.2 6.4 9.7 0 19.3-4.4 25.6-12.8 10.6-14.1 7.8-34.2-6.4-44.8l-111.4-83.5c-13.8-10.3-29.1-18.4-45.4-23.8l-63.7-21.2-26.1-52.1C244.7 2 225.5-4.4 209.7 3.5c-15.8 7.9-22.2 27.1-14.3 42.9l29.1 58.1c5.7 11.4 15.6 19.9 27.7 24l16.4 5.5-41.2 20.6c-21.8 10.9-35.4 32.8-35.4 57.2v53.1l-74.1 24.7c-16.8 5.6-25.8 23.7-20.2 40.5 1.7 5.2 4.9 9.4 8.7 12.9l-38.7-14.1c-9.7-3.5-17.4-10.6-21.8-20-5.6-12-19.9-17.2-31.9-11.6s-17.2 19.9-11.6 31.9c9.8 21 27.1 36.9 48.9 44.8l364.8 132.7c9.7 3.5 19.7 5.3 29.7 5.3 12.5 0 24.9-2.7 36.5-8.2 12-5.6 17.2-19.9 11.6-31.9S474 454.7 462 460.3c-9.3 4.4-19.8 4.8-29.5 1.3l-90.8-33.1c8.7-4.1 15.6-11.8 17.8-21.9l21.9-102c3.9-18.2-3.2-37.2-18.1-48.4l-52-39 66-30.5 83.5 62.9zm-144.4 51.7l-19.7 92c-1.5 7.1-.1 13.9 2.8 20l-169.4-61.6c2.7-.2 5.4-.4 8-1.3l85-28.4c19.6-6.5 32.8-24.8 32.8-45.5V256l60.5 45.3z\"]\n};\nvar faSnowflake = {\n prefix: 'fas',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"M440.3 345.2l-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21z\"]\n};\nvar faSnowman = {\n prefix: 'fas',\n iconName: 'snowman',\n icon: [512, 512, [], \"f7d0\", \"M510.9 152.3l-5.9-14.5c-3.3-8-12.6-11.9-20.8-8.7L456 140.6v-29c0-8.6-7.2-15.6-16-15.6h-16c-8.8 0-16 7-16 15.6v46.9c0 .5.3 1 .3 1.5l-56.4 23c-5.9-10-13.3-18.9-22-26.6 13.6-16.6 22-37.4 22-60.5 0-53-43-96-96-96s-96 43-96 96c0 23.1 8.5 43.9 22 60.5-8.7 7.7-16 16.6-22 26.6l-56.4-23c.1-.5.3-1 .3-1.5v-46.9C104 103 96.8 96 88 96H72c-8.8 0-16 7-16 15.6v29l-28.1-11.5c-8.2-3.2-17.5.7-20.8 8.7l-5.9 14.5c-3.3 8 .7 17.1 8.9 20.3l135.2 55.2c-.4 4-1.2 8-1.2 12.2 0 10.1 1.7 19.6 4.2 28.9C120.9 296.4 104 334.2 104 376c0 54 28.4 100.9 70.8 127.8 9.3 5.9 20.3 8.2 31.3 8.2h99.2c13.3 0 26.3-4.1 37.2-11.7 46.5-32.3 74.4-89.4 62.9-152.6-5.5-30.2-20.5-57.6-41.6-79 2.5-9.2 4.2-18.7 4.2-28.7 0-4.2-.8-8.1-1.2-12.2L502 172.6c8.1-3.1 12.1-12.2 8.9-20.3zM224 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-88s-16-23.2-16-32 7.2-16 16-16 16 7.2 16 16-16 32-16 32zm32-56c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faSnowplow = {\n prefix: 'fas',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M120 376c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm238.6 49.4c-14.5-14.5-22.6-34.1-22.6-54.6V269.2c0-20.5 8.1-40.1 22.6-54.6l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-36.7 36.7c-26.5 26.5-41.4 62.4-41.4 99.9V288h-64v-50.9c0-8.7-1.8-17.2-5.2-25.2L364.5 29.1C356.9 11.4 339.6 0 320.3 0H176c-26.5 0-48 21.5-48 48v112h-16c-26.5 0-48 21.5-48 48v91.2C26.3 317.2 0 355.4 0 400c0 61.9 50.1 112 112 112h256c61.9 0 112-50.1 112-112 0-17.3-4.2-33.4-11.2-48H512v18.7c0 37.5 14.9 73.4 41.4 99.9l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6l-36.7-36.7zM192 64h117.8l68.6 160H256l-64-64V64zm176 384H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h256c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faSoap = {\n prefix: 'fas',\n iconName: 'soap',\n icon: [512, 512, [], \"e06e\", \"M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z\"]\n};\nvar faSocks = {\n prefix: 'fas',\n iconName: 'socks',\n icon: [512, 512, [], \"f696\", \"M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z\"]\n};\nvar faSolarPanel = {\n prefix: 'fas',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z\"]\n};\nvar faSort = {\n prefix: 'fas',\n iconName: 'sort',\n icon: [320, 512, [], \"f0dc\", \"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z\"]\n};\nvar faSortAlphaDown = {\n prefix: 'fas',\n iconName: 'sort-alpha-down',\n icon: [448, 512, [], \"f15d\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"]\n};\nvar faSortAlphaDownAlt = {\n prefix: 'fas',\n iconName: 'sort-alpha-down-alt',\n icon: [448, 512, [], \"f881\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm112-128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"]\n};\nvar faSortAlphaUp = {\n prefix: 'fas',\n iconName: 'sort-alpha-up',\n icon: [448, 512, [], \"f15e\", \"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"]\n};\nvar faSortAlphaUpAlt = {\n prefix: 'fas',\n iconName: 'sort-alpha-up-alt',\n icon: [448, 512, [], \"f882\", \"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm272 64h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"]\n};\nvar faSortAmountDown = {\n prefix: 'fas',\n iconName: 'sort-amount-down',\n icon: [512, 512, [], \"f160\", \"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-128-64h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm256-192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faSortAmountDownAlt = {\n prefix: 'fas',\n iconName: 'sort-amount-down-alt',\n icon: [512, 512, [], \"f884\", \"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-64 0h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"]\n};\nvar faSortAmountUp = {\n prefix: 'fas',\n iconName: 'sort-amount-up',\n icon: [512, 512, [], \"f161\", \"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160zm416 0H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faSortAmountUpAlt = {\n prefix: 'fas',\n iconName: 'sort-amount-up-alt',\n icon: [512, 512, [], \"f885\", \"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.39-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160z\"]\n};\nvar faSortDown = {\n prefix: 'fas',\n iconName: 'sort-down',\n icon: [320, 512, [], \"f0dd\", \"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z\"]\n};\nvar faSortNumericDown = {\n prefix: 'fas',\n iconName: 'sort-numeric-down',\n icon: [448, 512, [], \"f162\", \"M304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zm26.15 162.91a79 79 0 0 0-55 54.17c-14.25 51.05 21.21 97.77 68.85 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm-176-4h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"]\n};\nvar faSortNumericDownAlt = {\n prefix: 'fas',\n iconName: 'sort-numeric-down-alt',\n icon: [448, 512, [], \"f886\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm224 64h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"]\n};\nvar faSortNumericUp = {\n prefix: 'fas',\n iconName: 'sort-numeric-up',\n icon: [448, 512, [], \"f163\", \"M330.17 258.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zM304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31z\"]\n};\nvar faSortNumericUpAlt = {\n prefix: 'fas',\n iconName: 'sort-numeric-up-alt',\n icon: [448, 512, [], \"f887\", \"M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM400 416h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"]\n};\nvar faSortUp = {\n prefix: 'fas',\n iconName: 'sort-up',\n icon: [320, 512, [], \"f0de\", \"M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z\"]\n};\nvar faSpa = {\n prefix: 'fas',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z\"]\n};\nvar faSpaceShuttle = {\n prefix: 'fas',\n iconName: 'space-shuttle',\n icon: [640, 512, [], \"f197\", \"M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z\"]\n};\nvar faSpellCheck = {\n prefix: 'fas',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M272 256h91.36c43.2 0 82-32.2 84.51-75.34a79.82 79.82 0 0 0-25.26-63.07 79.81 79.81 0 0 0 9.06-44.91C427.9 30.57 389.3 0 347 0h-75a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16zm40-200h40a24 24 0 0 1 0 48h-40zm0 96h56a24 24 0 0 1 0 48h-56zM155.12 22.25A32 32 0 0 0 124.64 0H99.36a32 32 0 0 0-30.48 22.25L.59 235.73A16 16 0 0 0 16 256h24.93a16 16 0 0 0 15.42-11.73L68.29 208h87.42l11.94 36.27A16 16 0 0 0 183.07 256H208a16 16 0 0 0 15.42-20.27zM89.37 144L112 75.3l22.63 68.7zm482 132.48l-45.21-45.3a15.88 15.88 0 0 0-22.59 0l-151.5 151.5-55.41-55.5a15.88 15.88 0 0 0-22.59 0l-45.3 45.3a16 16 0 0 0 0 22.59l112 112.21a15.89 15.89 0 0 0 22.6 0l208-208.21a16 16 0 0 0-.02-22.59z\"]\n};\nvar faSpider = {\n prefix: 'fas',\n iconName: 'spider',\n icon: [576, 512, [], \"f717\", \"M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z\"]\n};\nvar faSpinner = {\n prefix: 'fas',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\"]\n};\nvar faSplotch = {\n prefix: 'fas',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z\"]\n};\nvar faSprayCan = {\n prefix: 'fas',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faSquare = {\n prefix: 'fas',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faSquareFull = {\n prefix: 'fas',\n iconName: 'square-full',\n icon: [512, 512, [], \"f45c\", \"M512 512H0V0h512v512z\"]\n};\nvar faSquareRootAlt = {\n prefix: 'fas',\n iconName: 'square-root-alt',\n icon: [576, 512, [], \"f698\", \"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z\"]\n};\nvar faStamp = {\n prefix: 'fas',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z\"]\n};\nvar faStar = {\n prefix: 'fas',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"]\n};\nvar faStarAndCrescent = {\n prefix: 'fas',\n iconName: 'star-and-crescent',\n icon: [512, 512, [], \"f699\", \"M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z\"]\n};\nvar faStarHalf = {\n prefix: 'fas',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z\"]\n};\nvar faStarHalfAlt = {\n prefix: 'fas',\n iconName: 'star-half-alt',\n icon: [536, 512, [], \"f5c0\", \"M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z\"]\n};\nvar faStarOfDavid = {\n prefix: 'fas',\n iconName: 'star-of-david',\n icon: [464, 512, [], \"f69a\", \"M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z\"]\n};\nvar faStarOfLife = {\n prefix: 'fas',\n iconName: 'star-of-life',\n icon: [480, 512, [], \"f621\", \"M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z\"]\n};\nvar faStepBackward = {\n prefix: 'fas',\n iconName: 'step-backward',\n icon: [448, 512, [], \"f048\", \"M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z\"]\n};\nvar faStepForward = {\n prefix: 'fas',\n iconName: 'step-forward',\n icon: [448, 512, [], \"f051\", \"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z\"]\n};\nvar faStethoscope = {\n prefix: 'fas',\n iconName: 'stethoscope',\n icon: [512, 512, [], \"f0f1\", \"M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faStickyNote = {\n prefix: 'fas',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z\"]\n};\nvar faStop = {\n prefix: 'fas',\n iconName: 'stop',\n icon: [448, 512, [], \"f04d\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faStopCircle = {\n prefix: 'fas',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\"]\n};\nvar faStopwatch = {\n prefix: 'fas',\n iconName: 'stopwatch',\n icon: [448, 512, [], \"f2f2\", \"M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"]\n};\nvar faStopwatch20 = {\n prefix: 'fas',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z\"]\n};\nvar faStore = {\n prefix: 'fas',\n iconName: 'store',\n icon: [616, 512, [], \"f54e\", \"M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z\"]\n};\nvar faStoreAlt = {\n prefix: 'fas',\n iconName: 'store-alt',\n icon: [640, 512, [], \"f54f\", \"M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z\"]\n};\nvar faStoreAltSlash = {\n prefix: 'fas',\n iconName: 'store-alt-slash',\n icon: [640, 512, [], \"e070\", \"M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z\"]\n};\nvar faStoreSlash = {\n prefix: 'fas',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z\"]\n};\nvar faStream = {\n prefix: 'fas',\n iconName: 'stream',\n icon: [512, 512, [], \"f550\", \"M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z\"]\n};\nvar faStreetView = {\n prefix: 'fas',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z\"]\n};\nvar faStrikethrough = {\n prefix: 'fas',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M496 224H293.9l-87.17-26.83A43.55 43.55 0 0 1 219.55 112h66.79A49.89 49.89 0 0 1 331 139.58a16 16 0 0 0 21.46 7.15l42.94-21.47a16 16 0 0 0 7.16-21.46l-.53-1A128 128 0 0 0 287.51 32h-68a123.68 123.68 0 0 0-123 135.64c2 20.89 10.1 39.83 21.78 56.36H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-180.24 96A43 43 0 0 1 336 356.45 43.59 43.59 0 0 1 292.45 400h-66.79A49.89 49.89 0 0 1 181 372.42a16 16 0 0 0-21.46-7.15l-42.94 21.47a16 16 0 0 0-7.16 21.46l.53 1A128 128 0 0 0 224.49 480h68a123.68 123.68 0 0 0 123-135.64 114.25 114.25 0 0 0-5.34-24.36z\"]\n};\nvar faStroopwafel = {\n prefix: 'fas',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z\"]\n};\nvar faSubscript = {\n prefix: 'fas',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M496 448h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 352h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"]\n};\nvar faSubway = {\n prefix: 'fas',\n iconName: 'subway',\n icon: [448, 512, [], \"f239\", \"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"]\n};\nvar faSuitcase = {\n prefix: 'fas',\n iconName: 'suitcase',\n icon: [512, 512, [], \"f0f2\", \"M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z\"]\n};\nvar faSuitcaseRolling = {\n prefix: 'fas',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z\"]\n};\nvar faSun = {\n prefix: 'fas',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z\"]\n};\nvar faSuperscript = {\n prefix: 'fas',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M496 160h-16V16a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 64h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"]\n};\nvar faSurprise = {\n prefix: 'fas',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faSwatchbook = {\n prefix: 'fas',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M434.66,167.71h0L344.5,77.36a31.83,31.83,0,0,0-45-.07h0l-.07.07L224,152.88V424L434.66,212.9A32,32,0,0,0,434.66,167.71ZM480,320H373.09L186.68,506.51c-2.06,2.07-4.5,3.58-6.68,5.49H480a32,32,0,0,0,32-32V352A32,32,0,0,0,480,320ZM192,32A32,32,0,0,0,160,0H32A32,32,0,0,0,0,32V416a96,96,0,0,0,192,0ZM96,440a24,24,0,1,1,24-24A24,24,0,0,1,96,440Zm32-184H64V192h64Zm0-128H64V64h64Z\"]\n};\nvar faSwimmer = {\n prefix: 'fas',\n iconName: 'swimmer',\n icon: [640, 512, [], \"f5c4\", \"M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z\"]\n};\nvar faSwimmingPool = {\n prefix: 'fas',\n iconName: 'swimming-pool',\n icon: [640, 512, [], \"f5c5\", \"M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z\"]\n};\nvar faSynagogue = {\n prefix: 'fas',\n iconName: 'synagogue',\n icon: [640, 512, [], \"f69b\", \"M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z\"]\n};\nvar faSync = {\n prefix: 'fas',\n iconName: 'sync',\n icon: [512, 512, [], \"f021\", \"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z\"]\n};\nvar faSyncAlt = {\n prefix: 'fas',\n iconName: 'sync-alt',\n icon: [512, 512, [], \"f2f1\", \"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z\"]\n};\nvar faSyringe = {\n prefix: 'fas',\n iconName: 'syringe',\n icon: [512, 512, [], \"f48e\", \"M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z\"]\n};\nvar faTable = {\n prefix: 'fas',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z\"]\n};\nvar faTableTennis = {\n prefix: 'fas',\n iconName: 'table-tennis',\n icon: [512, 512, [], \"f45d\", \"M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z\"]\n};\nvar faTablet = {\n prefix: 'fas',\n iconName: 'tablet',\n icon: [448, 512, [], \"f10a\", \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faTabletAlt = {\n prefix: 'fas',\n iconName: 'tablet-alt',\n icon: [448, 512, [], \"f3fa\", \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z\"]\n};\nvar faTablets = {\n prefix: 'fas',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z\"]\n};\nvar faTachometerAlt = {\n prefix: 'fas',\n iconName: 'tachometer-alt',\n icon: [576, 512, [], \"f3fd\", \"M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTag = {\n prefix: 'fas',\n iconName: 'tag',\n icon: [512, 512, [], \"f02b\", \"M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"]\n};\nvar faTags = {\n prefix: 'fas',\n iconName: 'tags',\n icon: [640, 512, [], \"f02c\", \"M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z\"]\n};\nvar faTape = {\n prefix: 'fas',\n iconName: 'tape',\n icon: [640, 512, [], \"f4db\", \"M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z\"]\n};\nvar faTasks = {\n prefix: 'fas',\n iconName: 'tasks',\n icon: [512, 512, [], \"f0ae\", \"M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faTaxi = {\n prefix: 'fas',\n iconName: 'taxi',\n icon: [512, 512, [], \"f1ba\", \"M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTeeth = {\n prefix: 'fas',\n iconName: 'teeth',\n icon: [640, 512, [], \"f62e\", \"M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z\"]\n};\nvar faTeethOpen = {\n prefix: 'fas',\n iconName: 'teeth-open',\n icon: [640, 512, [], \"f62f\", \"M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z\"]\n};\nvar faTemperatureHigh = {\n prefix: 'fas',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v210.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"]\n};\nvar faTemperatureLow = {\n prefix: 'fas',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"]\n};\nvar faTenge = {\n prefix: 'fas',\n iconName: 'tenge',\n icon: [384, 512, [], \"f7d7\", \"M372 160H12c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h140v228c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V240h140c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12zm0-128H12C5.4 32 0 37.4 0 44v56c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12z\"]\n};\nvar faTerminal = {\n prefix: 'fas',\n iconName: 'terminal',\n icon: [640, 512, [], \"f120\", \"M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z\"]\n};\nvar faTextHeight = {\n prefix: 'fas',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M304 32H16A16 16 0 0 0 0 48v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h56v304H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-40V112h56v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm256 336h-48V144h48c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C379.36 126 384.36 144 400 144h48v224h-48c-14.31 0-21.32 17.31-11.31 27.31l80 80a16 16 0 0 0 22.62 0l80-80C580.64 386 575.64 368 560 368z\"]\n};\nvar faTextWidth = {\n prefix: 'fas',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M432 32H16A16 16 0 0 0 0 48v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h120v112h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-24V112h120v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm-68.69 260.69C354 283.36 336 288.36 336 304v48H112v-48c0-14.31-17.31-21.32-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 484.64 112 479.64 112 464v-48h224v48c0 14.31 17.31 21.33 27.31 11.31l80-80a16 16 0 0 0 0-22.62z\"]\n};\nvar faTh = {\n prefix: 'fas',\n iconName: 'th',\n icon: [512, 512, [], \"f00a\", \"M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z\"]\n};\nvar faThLarge = {\n prefix: 'fas',\n iconName: 'th-large',\n icon: [512, 512, [], \"f009\", \"M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z\"]\n};\nvar faThList = {\n prefix: 'fas',\n iconName: 'th-list',\n icon: [512, 512, [], \"f00b\", \"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z\"]\n};\nvar faTheaterMasks = {\n prefix: 'fas',\n iconName: 'theater-masks',\n icon: [640, 512, [], \"f630\", \"M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z\"]\n};\nvar faThermometer = {\n prefix: 'fas',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z\"]\n};\nvar faThermometerEmpty = {\n prefix: 'fas',\n iconName: 'thermometer-empty',\n icon: [256, 512, [], \"f2cb\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerFull = {\n prefix: 'fas',\n iconName: 'thermometer-full',\n icon: [256, 512, [], \"f2c7\", \"M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z\"]\n};\nvar faThermometerHalf = {\n prefix: 'fas',\n iconName: 'thermometer-half',\n icon: [256, 512, [], \"f2c9\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerQuarter = {\n prefix: 'fas',\n iconName: 'thermometer-quarter',\n icon: [256, 512, [], \"f2ca\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerThreeQuarters = {\n prefix: 'fas',\n iconName: 'thermometer-three-quarters',\n icon: [256, 512, [], \"f2c8\", \"M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThumbsDown = {\n prefix: 'fas',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z\"]\n};\nvar faThumbsUp = {\n prefix: 'fas',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z\"]\n};\nvar faThumbtack = {\n prefix: 'fas',\n iconName: 'thumbtack',\n icon: [384, 512, [], \"f08d\", \"M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z\"]\n};\nvar faTicketAlt = {\n prefix: 'fas',\n iconName: 'ticket-alt',\n icon: [576, 512, [], \"f3ff\", \"M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z\"]\n};\nvar faTimes = {\n prefix: 'fas',\n iconName: 'times',\n icon: [352, 512, [], \"f00d\", \"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"]\n};\nvar faTimesCircle = {\n prefix: 'fas',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z\"]\n};\nvar faTint = {\n prefix: 'fas',\n iconName: 'tint',\n icon: [352, 512, [], \"f043\", \"M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"]\n};\nvar faTintSlash = {\n prefix: 'fas',\n iconName: 'tint-slash',\n icon: [640, 512, [], \"f5c7\", \"M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z\"]\n};\nvar faTired = {\n prefix: 'fas',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z\"]\n};\nvar faToggleOff = {\n prefix: 'fas',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z\"]\n};\nvar faToggleOn = {\n prefix: 'fas',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z\"]\n};\nvar faToilet = {\n prefix: 'fas',\n iconName: 'toilet',\n icon: [384, 512, [], \"f7d8\", \"M368 48c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h16v156.7C11.8 214.8 0 226.9 0 240c0 67.2 34.6 126.2 86.8 160.5l-21.4 70.2C59.1 491.2 74.5 512 96 512h192c21.5 0 36.9-20.8 30.6-41.3l-21.4-70.2C349.4 366.2 384 307.2 384 240c0-13.1-11.8-25.2-32-35.3V48h16zM80 72c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V72zm112 200c-77.1 0-139.6-14.3-139.6-32s62.5-32 139.6-32 139.6 14.3 139.6 32-62.5 32-139.6 32z\"]\n};\nvar faToiletPaper = {\n prefix: 'fas',\n iconName: 'toilet-paper',\n icon: [576, 512, [], \"f71e\", \"M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z\"]\n};\nvar faToiletPaperSlash = {\n prefix: 'fas',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z\"]\n};\nvar faToolbox = {\n prefix: 'fas',\n iconName: 'toolbox',\n icon: [512, 512, [], \"f552\", \"M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z\"]\n};\nvar faTools = {\n prefix: 'fas',\n iconName: 'tools',\n icon: [512, 512, [], \"f7d9\", \"M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z\"]\n};\nvar faTooth = {\n prefix: 'fas',\n iconName: 'tooth',\n icon: [448, 512, [], \"f5c9\", \"M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z\"]\n};\nvar faTorah = {\n prefix: 'fas',\n iconName: 'torah',\n icon: [640, 512, [], \"f6a0\", \"M320.05 366.48l17.72-29.64h-35.46zm99.21-166H382.4l18.46 30.82zM48 0C21.49 0 0 14.33 0 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32C96 14.33 74.51 0 48 0zm172.74 311.5h36.85l-18.46-30.82zm161.71 0h36.86l-18.45-30.8zM128 464h384V48H128zm66.77-278.13a21.22 21.22 0 0 1 18.48-10.71h59.45l29.13-48.71a21.13 21.13 0 0 1 18.22-10.37A20.76 20.76 0 0 1 338 126.29l29.25 48.86h59.52a21.12 21.12 0 0 1 18.1 32L415.63 256 445 305a20.69 20.69 0 0 1 .24 21.12 21.25 21.25 0 0 1-18.48 10.72h-59.47l-29.13 48.7a21.13 21.13 0 0 1-18.16 10.4 20.79 20.79 0 0 1-18-10.22l-29.25-48.88h-59.5a21.11 21.11 0 0 1-18.1-32L224.36 256 195 207a20.7 20.7 0 0 1-.23-21.13zM592 0c-26.51 0-48 14.33-48 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32c0-17.67-21.49-32-48-32zM320 145.53l-17.78 29.62h35.46zm-62.45 55h-36.81l18.44 30.8zm29.58 111h65.79L386.09 256l-33.23-55.52h-65.79L253.9 256z\"]\n};\nvar faToriiGate = {\n prefix: 'fas',\n iconName: 'torii-gate',\n icon: [512, 512, [], \"f6a1\", \"M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z\"]\n};\nvar faTractor = {\n prefix: 'fas',\n iconName: 'tractor',\n icon: [640, 512, [], \"f722\", \"M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z\"]\n};\nvar faTrademark = {\n prefix: 'fas',\n iconName: 'trademark',\n icon: [640, 512, [], \"f25c\", \"M260.6 96H12c-6.6 0-12 5.4-12 12v43.1c0 6.6 5.4 12 12 12h85.1V404c0 6.6 5.4 12 12 12h54.3c6.6 0 12-5.4 12-12V163.1h85.1c6.6 0 12-5.4 12-12V108c.1-6.6-5.3-12-11.9-12zM640 403l-24-296c-.5-6.2-5.7-11-12-11h-65.4c-5.1 0-9.7 3.3-11.3 8.1l-43.8 127.1c-7.2 20.6-16.1 52.8-16.1 52.8h-.9s-8.9-32.2-16.1-52.8l-43.8-127.1c-1.7-4.8-6.2-8.1-11.3-8.1h-65.4c-6.2 0-11.4 4.8-12 11l-24.4 296c-.6 7 4.9 13 12 13H360c6.3 0 11.5-4.9 12-11.2l9.1-132.9c1.8-24.2 0-53.7 0-53.7h.9s10.7 33.6 17.9 53.7l30.7 84.7c1.7 4.7 6.2 7.9 11.3 7.9h50.3c5.1 0 9.6-3.2 11.3-7.9l30.7-84.7c7.2-20.1 17.9-53.7 17.9-53.7h.9s-1.8 29.5 0 53.7l9.1 132.9c.4 6.3 5.7 11.2 12 11.2H628c7 0 12.5-6 12-13z\"]\n};\nvar faTrafficLight = {\n prefix: 'fas',\n iconName: 'traffic-light',\n icon: [384, 512, [], \"f637\", \"M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"]\n};\nvar faTrailer = {\n prefix: 'fas',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z\"]\n};\nvar faTrain = {\n prefix: 'fas',\n iconName: 'train',\n icon: [448, 512, [], \"f238\", \"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z\"]\n};\nvar faTram = {\n prefix: 'fas',\n iconName: 'tram',\n icon: [512, 512, [], \"f7da\", \"M288 64c17.7 0 32-14.3 32-32S305.7 0 288 0s-32 14.3-32 32 14.3 32 32 32zm223.5-12.1c-2.3-8.6-11-13.6-19.6-11.3l-480 128c-8.5 2.3-13.6 11-11.3 19.6C2.5 195.3 8.9 200 16 200c1.4 0 2.8-.2 4.1-.5L240 140.8V224H64c-17.7 0-32 14.3-32 32v224c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H272v-91.7l228.1-60.8c8.6-2.3 13.6-11.1 11.4-19.6zM176 384H80v-96h96v96zm160-96h96v96h-96v-96zm-32 0v96h-96v-96h96zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faTransgender = {\n prefix: 'fas',\n iconName: 'transgender',\n icon: [384, 512, [], \"f224\", \"M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faTransgenderAlt = {\n prefix: 'fas',\n iconName: 'transgender-alt',\n icon: [480, 512, [], \"f225\", \"M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faTrash = {\n prefix: 'fas',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z\"]\n};\nvar faTrashAlt = {\n prefix: 'fas',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTrashRestore = {\n prefix: 'fas',\n iconName: 'trash-restore',\n icon: [448, 512, [], \"f829\", \"M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm70.11-175.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTrashRestoreAlt = {\n prefix: 'fas',\n iconName: 'trash-restore-alt',\n icon: [448, 512, [], \"f82a\", \"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm91.31-172.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTree = {\n prefix: 'fas',\n iconName: 'tree',\n icon: [384, 512, [], \"f1bb\", \"M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z\"]\n};\nvar faTrophy = {\n prefix: 'fas',\n iconName: 'trophy',\n icon: [576, 512, [], \"f091\", \"M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z\"]\n};\nvar faTruck = {\n prefix: 'fas',\n iconName: 'truck',\n icon: [640, 512, [], \"f0d1\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faTruckLoading = {\n prefix: 'fas',\n iconName: 'truck-loading',\n icon: [640, 512, [], \"f4de\", \"M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faTruckMonster = {\n prefix: 'fas',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"]\n};\nvar faTruckMoving = {\n prefix: 'fas',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"]\n};\nvar faTruckPickup = {\n prefix: 'fas',\n iconName: 'truck-pickup',\n icon: [640, 512, [], \"f63c\", \"M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"]\n};\nvar faTshirt = {\n prefix: 'fas',\n iconName: 'tshirt',\n icon: [640, 512, [], \"f553\", \"M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z\"]\n};\nvar faTty = {\n prefix: 'fas',\n iconName: 'tty',\n icon: [512, 512, [], \"f1e4\", \"M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"]\n};\nvar faTv = {\n prefix: 'fas',\n iconName: 'tv',\n icon: [640, 512, [], \"f26c\", \"M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z\"]\n};\nvar faUmbrella = {\n prefix: 'fas',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M575.7 280.8C547.1 144.5 437.3 62.6 320 49.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v17.9C138.3 62.6 29.5 144.5.3 280.8c-2.2 10.1 8.5 21.3 18.7 11.4 52-55 107.7-52.4 158.6 37 5.3 9.5 14.9 8.6 19.7 0 20.2-35.4 44.9-73.2 90.7-73.2 58.5 0 88.2 68.8 90.7 73.2 4.8 8.6 14.4 9.5 19.7 0 51-89.5 107.1-91.4 158.6-37 10.3 10 20.9-1.3 18.7-11.4zM256 301.7V432c0 8.8-7.2 16-16 16-7.8 0-13.2-5.3-15.1-10.7-5.9-16.7-24.1-25.4-40.8-19.5-16.7 5.9-25.4 24.2-19.5 40.8 11.2 31.9 41.6 53.3 75.4 53.3 44.1 0 80-35.9 80-80V301.6c-9.1-7.9-19.8-13.6-32-13.6-12.3.1-22.4 4.8-32 13.7z\"]\n};\nvar faUmbrellaBeach = {\n prefix: 'fas',\n iconName: 'umbrella-beach',\n icon: [640, 512, [], \"f5ca\", \"M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z\"]\n};\nvar faUnderline = {\n prefix: 'fas',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faUndo = {\n prefix: 'fas',\n iconName: 'undo',\n icon: [512, 512, [], \"f0e2\", \"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z\"]\n};\nvar faUndoAlt = {\n prefix: 'fas',\n iconName: 'undo-alt',\n icon: [512, 512, [], \"f2ea\", \"M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z\"]\n};\nvar faUniversalAccess = {\n prefix: 'fas',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z\"]\n};\nvar faUniversity = {\n prefix: 'fas',\n iconName: 'university',\n icon: [512, 512, [], \"f19c\", \"M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z\"]\n};\nvar faUnlink = {\n prefix: 'fas',\n iconName: 'unlink',\n icon: [512, 512, [], \"f127\", \"M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z\"]\n};\nvar faUnlock = {\n prefix: 'fas',\n iconName: 'unlock',\n icon: [448, 512, [], \"f09c\", \"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"]\n};\nvar faUnlockAlt = {\n prefix: 'fas',\n iconName: 'unlock-alt',\n icon: [448, 512, [], \"f13e\", \"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z\"]\n};\nvar faUpload = {\n prefix: 'fas',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"]\n};\nvar faUser = {\n prefix: 'fas',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserAlt = {\n prefix: 'fas',\n iconName: 'user-alt',\n icon: [512, 512, [], \"f406\", \"M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z\"]\n};\nvar faUserAltSlash = {\n prefix: 'fas',\n iconName: 'user-alt-slash',\n icon: [640, 512, [], \"f4fa\", \"M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z\"]\n};\nvar faUserAstronaut = {\n prefix: 'fas',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z\"]\n};\nvar faUserCheck = {\n prefix: 'fas',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z\"]\n};\nvar faUserCircle = {\n prefix: 'fas',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z\"]\n};\nvar faUserClock = {\n prefix: 'fas',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z\"]\n};\nvar faUserCog = {\n prefix: 'fas',\n iconName: 'user-cog',\n icon: [640, 512, [], \"f4fe\", \"M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z\"]\n};\nvar faUserEdit = {\n prefix: 'fas',\n iconName: 'user-edit',\n icon: [640, 512, [], \"f4ff\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z\"]\n};\nvar faUserFriends = {\n prefix: 'fas',\n iconName: 'user-friends',\n icon: [640, 512, [], \"f500\", \"M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z\"]\n};\nvar faUserGraduate = {\n prefix: 'fas',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z\"]\n};\nvar faUserInjured = {\n prefix: 'fas',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z\"]\n};\nvar faUserLock = {\n prefix: 'fas',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z\"]\n};\nvar faUserMd = {\n prefix: 'fas',\n iconName: 'user-md',\n icon: [448, 512, [], \"f0f0\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z\"]\n};\nvar faUserMinus = {\n prefix: 'fas',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserNinja = {\n prefix: 'fas',\n iconName: 'user-ninja',\n icon: [448, 512, [], \"f504\", \"M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z\"]\n};\nvar faUserNurse = {\n prefix: 'fas',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M319.41,320,224,415.39,128.59,320C57.1,323.1,0,381.6,0,453.79A58.21,58.21,0,0,0,58.21,512H389.79A58.21,58.21,0,0,0,448,453.79C448,381.6,390.9,323.1,319.41,320ZM224,304A128,128,0,0,0,352,176V65.82a32,32,0,0,0-20.76-30L246.47,4.07a64,64,0,0,0-44.94,0L116.76,35.86A32,32,0,0,0,96,65.82V176A128,128,0,0,0,224,304ZM184,71.67a5,5,0,0,1,5-5h21.67V45a5,5,0,0,1,5-5h16.66a5,5,0,0,1,5,5V66.67H259a5,5,0,0,1,5,5V88.33a5,5,0,0,1-5,5H237.33V115a5,5,0,0,1-5,5H215.67a5,5,0,0,1-5-5V93.33H189a5,5,0,0,1-5-5ZM144,160H304v16a80,80,0,0,1-160,0Z\"]\n};\nvar faUserPlus = {\n prefix: 'fas',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserSecret = {\n prefix: 'fas',\n iconName: 'user-secret',\n icon: [448, 512, [], \"f21b\", \"M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z\"]\n};\nvar faUserShield = {\n prefix: 'fas',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z\"]\n};\nvar faUserSlash = {\n prefix: 'fas',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z\"]\n};\nvar faUserTag = {\n prefix: 'fas',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z\"]\n};\nvar faUserTie = {\n prefix: 'fas',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z\"]\n};\nvar faUserTimes = {\n prefix: 'fas',\n iconName: 'user-times',\n icon: [640, 512, [], \"f235\", \"M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUsers = {\n prefix: 'fas',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"]\n};\nvar faUsersCog = {\n prefix: 'fas',\n iconName: 'users-cog',\n icon: [640, 512, [], \"f509\", \"M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"]\n};\nvar faUsersSlash = {\n prefix: 'fas',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z\"]\n};\nvar faUtensilSpoon = {\n prefix: 'fas',\n iconName: 'utensil-spoon',\n icon: [512, 512, [], \"f2e5\", \"M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z\"]\n};\nvar faUtensils = {\n prefix: 'fas',\n iconName: 'utensils',\n icon: [416, 512, [], \"f2e7\", \"M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z\"]\n};\nvar faVectorSquare = {\n prefix: 'fas',\n iconName: 'vector-square',\n icon: [512, 512, [], \"f5cb\", \"M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z\"]\n};\nvar faVenus = {\n prefix: 'fas',\n iconName: 'venus',\n icon: [288, 512, [], \"f221\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"]\n};\nvar faVenusDouble = {\n prefix: 'fas',\n iconName: 'venus-double',\n icon: [512, 512, [], \"f226\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z\"]\n};\nvar faVenusMars = {\n prefix: 'fas',\n iconName: 'venus-mars',\n icon: [576, 512, [], \"f228\", \"M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faVest = {\n prefix: 'fas',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a24.021,24.021,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A24.021,24.021,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.564A151.518,151.518,0,0,0,224,86.234a151.55,151.55,0,0,0,73.812-19.672L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM131.312,371.312l-48,48a16,16,0,0,1-22.624-22.624l48-48a16,16,0,0,1,22.624,22.624Zm256,48a15.992,15.992,0,0,1-22.624,0l-48-48a16,16,0,0,1,22.624-22.624l48,48A15.993,15.993,0,0,1,387.312,419.312Z\"]\n};\nvar faVestPatches = {\n prefix: 'fas',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a23.982,23.982,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A23.982,23.982,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.561A151.579,151.579,0,0,0,224,86.234a151.565,151.565,0,0,0,73.811-19.668L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM63.5,272.484a12.01,12.01,0,0,1,17-16.968l15.5,15.5,15.5-15.5a12.01,12.01,0,0,1,17,16.968L112.984,288,128.5,303.516a12.01,12.01,0,0,1-17,16.968L96,304.984l-15.5,15.5a12.01,12.01,0,0,1-17-16.968L79.016,288ZM96,456a40,40,0,1,1,40-40A40,40,0,0,1,96,456ZM359.227,335.785,310.7,336a6.671,6.671,0,0,1-6.7-6.7l.215-48.574A24.987,24.987,0,0,1,331.43,256.1c12.789,1.162,22.129,12.619,22.056,25.419l-.037,5.057,5.051-.037c12.826-.035,24.236,9.275,25.4,22.076A24.948,24.948,0,0,1,359.227,335.785Z\"]\n};\nvar faVial = {\n prefix: 'fas',\n iconName: 'vial',\n icon: [480, 512, [], \"f492\", \"M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z\"]\n};\nvar faVials = {\n prefix: 'fas',\n iconName: 'vials',\n icon: [640, 512, [], \"f493\", \"M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z\"]\n};\nvar faVideo = {\n prefix: 'fas',\n iconName: 'video',\n icon: [576, 512, [], \"f03d\", \"M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z\"]\n};\nvar faVideoSlash = {\n prefix: 'fas',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z\"]\n};\nvar faVihara = {\n prefix: 'fas',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z\"]\n};\nvar faVirus = {\n prefix: 'fas',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z\"]\n};\nvar faVirusSlash = {\n prefix: 'fas',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z\"]\n};\nvar faViruses = {\n prefix: 'fas',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z\"]\n};\nvar faVoicemail = {\n prefix: 'fas',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M496 128a144 144 0 0 0-119.74 224H263.74A144 144 0 1 0 144 416h352a144 144 0 0 0 0-288zM64 272a80 80 0 1 1 80 80 80 80 0 0 1-80-80zm432 80a80 80 0 1 1 80-80 80 80 0 0 1-80 80z\"]\n};\nvar faVolleyballBall = {\n prefix: 'fas',\n iconName: 'volleyball-ball',\n icon: [512, 512, [], \"f45f\", \"M231.39 243.48a285.56 285.56 0 0 0-22.7-105.7c-90.8 42.4-157.5 122.4-180.3 216.8a249 249 0 0 0 56.9 81.1 333.87 333.87 0 0 1 146.1-192.2zm-36.9-134.4a284.23 284.23 0 0 0-57.4-70.7c-91 49.8-144.8 152.9-125 262.2 33.4-83.1 98.4-152 182.4-191.5zm187.6 165.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5A333.87 333.87 0 0 1 279.19 241a285 285 0 0 0 102.9 33.18zm-124.7 9.5a286.33 286.33 0 0 0-80.2 72.6c82 57.3 184.5 75.1 277.5 47.8a247.15 247.15 0 0 0 42.2-89.9 336.1 336.1 0 0 1-80.9 10.4c-54.6-.1-108.9-14.1-158.6-40.9zm-98.3 99.7c-15.2 26-25.7 54.4-32.1 84.2a247.07 247.07 0 0 0 289-22.1c-112.9 16.1-203.3-24.8-256.9-62.1zm180.3-360.6c55.3 70.4 82.5 161.2 74.6 253.6a286.59 286.59 0 0 0 89.7-14.2c0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z\"]\n};\nvar faVolumeDown = {\n prefix: 'fas',\n iconName: 'volume-down',\n icon: [384, 512, [], \"f027\", \"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z\"]\n};\nvar faVolumeMute = {\n prefix: 'fas',\n iconName: 'volume-mute',\n icon: [512, 512, [], \"f6a9\", \"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z\"]\n};\nvar faVolumeOff = {\n prefix: 'fas',\n iconName: 'volume-off',\n icon: [256, 512, [], \"f026\", \"M215 71l-89 89H24a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h102.06L215 441c15 15 41 4.47 41-17V88c0-21.47-26-32-41-17z\"]\n};\nvar faVolumeUp = {\n prefix: 'fas',\n iconName: 'volume-up',\n icon: [576, 512, [], \"f028\", \"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z\"]\n};\nvar faVoteYea = {\n prefix: 'fas',\n iconName: 'vote-yea',\n icon: [640, 512, [], \"f772\", \"M608 320h-64v64h22.4c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8H96v-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32zm-96 64V64.3c0-17.9-14.5-32.3-32.3-32.3H160.4C142.5 32 128 46.5 128 64.3V384h384zM211.2 202l25.5-25.3c4.2-4.2 11-4.2 15.2.1l41.3 41.6 95.2-94.4c4.2-4.2 11-4.2 15.2.1l25.3 25.5c4.2 4.2 4.2 11-.1 15.2L300.5 292c-4.2 4.2-11 4.2-15.2-.1l-74.1-74.7c-4.3-4.2-4.2-11 0-15.2z\"]\n};\nvar faVrCardboard = {\n prefix: 'fas',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z\"]\n};\nvar faWalking = {\n prefix: 'fas',\n iconName: 'walking',\n icon: [320, 512, [], \"f554\", \"M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z\"]\n};\nvar faWallet = {\n prefix: 'fas',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faWarehouse = {\n prefix: 'fas',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z\"]\n};\nvar faWater = {\n prefix: 'fas',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M562.1 383.9c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144C540.6 93.4 520 85.4 504.2 73 490.1 61.9 470 61.7 456 73c-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3z\"]\n};\nvar faWaveSquare = {\n prefix: 'fas',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z\"]\n};\nvar faWeight = {\n prefix: 'fas',\n iconName: 'weight',\n icon: [512, 512, [], \"f496\", \"M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z\"]\n};\nvar faWeightHanging = {\n prefix: 'fas',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"]\n};\nvar faWheelchair = {\n prefix: 'fas',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z\"]\n};\nvar faWifi = {\n prefix: 'fas',\n iconName: 'wifi',\n icon: [640, 512, [], \"f1eb\", \"M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z\"]\n};\nvar faWind = {\n prefix: 'fas',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M156.7 256H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h142.2c15.9 0 30.8 10.9 33.4 26.6 3.3 20-12.1 37.4-31.6 37.4-14.1 0-26.1-9.2-30.4-21.9-2.1-6.3-8.6-10.1-15.2-10.1H81.6c-9.8 0-17.7 8.8-15.9 18.4 8.6 44.1 47.6 77.6 94.2 77.6 57.1 0 102.7-50.1 95.2-108.6C249 291 205.4 256 156.7 256zM16 224h336c59.7 0 106.8-54.8 93.8-116.7-7.6-36.2-36.9-65.5-73.1-73.1-55.4-11.6-105.1 24.9-114.9 75.5-1.9 9.6 6.1 18.3 15.8 18.3h32.8c6.7 0 13.1-3.8 15.2-10.1C325.9 105.2 337.9 96 352 96c19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm384 32H243.7c19.3 16.6 33.2 38.8 39.8 64H400c26.5 0 48 21.5 48 48s-21.5 48-48 48c-17.9 0-33.3-9.9-41.6-24.4-2.9-5-8.7-7.6-14.5-7.6h-33.8c-10.9 0-19 10.8-15.3 21.1 17.8 50.6 70.5 84.8 129.4 72.3 41.2-8.7 75.1-41.6 84.7-82.7C526 321.5 470.5 256 400 256z\"]\n};\nvar faWindowClose = {\n prefix: 'fas',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z\"]\n};\nvar faWindowMaximize = {\n prefix: 'fas',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z\"]\n};\nvar faWindowMinimize = {\n prefix: 'fas',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z\"]\n};\nvar faWindowRestore = {\n prefix: 'fas',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z\"]\n};\nvar faWineBottle = {\n prefix: 'fas',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z\"]\n};\nvar faWineGlass = {\n prefix: 'fas',\n iconName: 'wine-glass',\n icon: [288, 512, [], \"f4e3\", \"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z\"]\n};\nvar faWineGlassAlt = {\n prefix: 'fas',\n iconName: 'wine-glass-alt',\n icon: [288, 512, [], \"f5ce\", \"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z\"]\n};\nvar faWonSign = {\n prefix: 'fas',\n iconName: 'won-sign',\n icon: [576, 512, [], \"f159\", \"M564 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-48l18.6-80.6c1.7-7.5-4-14.7-11.7-14.7h-46.1c-5.7 0-10.6 4-11.7 9.5L450.7 128H340.8l-19.7-86c-1.3-5.5-6.1-9.3-11.7-9.3h-44c-5.6 0-10.4 3.8-11.7 9.3l-20 86H125l-17.5-85.7c-1.1-5.6-6.1-9.6-11.8-9.6H53.6c-7.7 0-13.4 7.1-11.7 14.6L60 128H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h62.3l7.2 32H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h83.9l40.9 182.6c1.2 5.5 6.1 9.4 11.7 9.4h56.8c5.6 0 10.4-3.9 11.7-9.3L259.3 288h55.1l42.4 182.7c1.3 5.4 6.1 9.3 11.7 9.3h56.8c5.6 0 10.4-3.9 11.7-9.3L479.1 288H564c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-70.1l7.4-32zM183.8 342c-6.2 25.8-6.8 47.2-7.3 47.2h-1.1s-1.7-22-6.8-47.2l-11-54h38.8zm27.5-118h-66.8l-6.5-32h80.8zm62.9 0l2-8.6c1.9-8 3.5-16 4.8-23.4h11.8c1.3 7.4 2.9 15.4 4.8 23.4l2 8.6zm130.9 118c-5.1 25.2-6.8 47.2-6.8 47.2h-1.1c-.6 0-1.1-21.4-7.3-47.2l-12.4-54h39.1zm25.2-118h-67.4l-7.3-32h81.6z\"]\n};\nvar faWrench = {\n prefix: 'fas',\n iconName: 'wrench',\n icon: [512, 512, [], \"f0ad\", \"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faXRay = {\n prefix: 'fas',\n iconName: 'x-ray',\n icon: [640, 512, [], \"f497\", \"M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faYenSign = {\n prefix: 'fas',\n iconName: 'yen-sign',\n icon: [384, 512, [], \"f157\", \"M351.2 32h-65.3c-4.6 0-8.8 2.6-10.8 6.7l-55.4 113.2c-14.5 34.7-27.1 71.9-27.1 71.9h-1.3s-12.6-37.2-27.1-71.9L108.8 38.7c-2-4.1-6.2-6.7-10.8-6.7H32.8c-9.1 0-14.8 9.7-10.6 17.6L102.3 200H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h88.2l19.8 37.2V320H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h108v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h108c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H232v-26.8l19.8-37.2H340c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12h-58.3l80.1-150.4c4.3-7.9-1.5-17.6-10.6-17.6z\"]\n};\nvar faYinYang = {\n prefix: 'fas',\n iconName: 'yin-yang',\n icon: [496, 512, [], \"f6ad\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar _iconsCache = {\n faAd: faAd,\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAdjust: faAdjust,\n faAirFreshener: faAirFreshener,\n faAlignCenter: faAlignCenter,\n faAlignJustify: faAlignJustify,\n faAlignLeft: faAlignLeft,\n faAlignRight: faAlignRight,\n faAllergies: faAllergies,\n faAmbulance: faAmbulance,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAnchor: faAnchor,\n faAngleDoubleDown: faAngleDoubleDown,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faAngleDoubleRight: faAngleDoubleRight,\n faAngleDoubleUp: faAngleDoubleUp,\n faAngleDown: faAngleDown,\n faAngleLeft: faAngleLeft,\n faAngleRight: faAngleRight,\n faAngleUp: faAngleUp,\n faAngry: faAngry,\n faAnkh: faAnkh,\n faAppleAlt: faAppleAlt,\n faArchive: faArchive,\n faArchway: faArchway,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faArrowCircleDown: faArrowCircleDown,\n faArrowCircleLeft: faArrowCircleLeft,\n faArrowCircleRight: faArrowCircleRight,\n faArrowCircleUp: faArrowCircleUp,\n faArrowDown: faArrowDown,\n faArrowLeft: faArrowLeft,\n faArrowRight: faArrowRight,\n faArrowUp: faArrowUp,\n faArrowsAlt: faArrowsAlt,\n faArrowsAltH: faArrowsAltH,\n faArrowsAltV: faArrowsAltV,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faAsterisk: faAsterisk,\n faAt: faAt,\n faAtlas: faAtlas,\n faAtom: faAtom,\n faAudioDescription: faAudioDescription,\n faAward: faAward,\n faBaby: faBaby,\n faBabyCarriage: faBabyCarriage,\n faBackspace: faBackspace,\n faBackward: faBackward,\n faBacon: faBacon,\n faBacteria: faBacteria,\n faBacterium: faBacterium,\n faBahai: faBahai,\n faBalanceScale: faBalanceScale,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faBalanceScaleRight: faBalanceScaleRight,\n faBan: faBan,\n faBandAid: faBandAid,\n faBarcode: faBarcode,\n faBars: faBars,\n faBaseballBall: faBaseballBall,\n faBasketballBall: faBasketballBall,\n faBath: faBath,\n faBatteryEmpty: faBatteryEmpty,\n faBatteryFull: faBatteryFull,\n faBatteryHalf: faBatteryHalf,\n faBatteryQuarter: faBatteryQuarter,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBed: faBed,\n faBeer: faBeer,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBezierCurve: faBezierCurve,\n faBible: faBible,\n faBicycle: faBicycle,\n faBiking: faBiking,\n faBinoculars: faBinoculars,\n faBiohazard: faBiohazard,\n faBirthdayCake: faBirthdayCake,\n faBlender: faBlender,\n faBlenderPhone: faBlenderPhone,\n faBlind: faBlind,\n faBlog: faBlog,\n faBold: faBold,\n faBolt: faBolt,\n faBomb: faBomb,\n faBone: faBone,\n faBong: faBong,\n faBook: faBook,\n faBookDead: faBookDead,\n faBookMedical: faBookMedical,\n faBookOpen: faBookOpen,\n faBookReader: faBookReader,\n faBookmark: faBookmark,\n faBorderAll: faBorderAll,\n faBorderNone: faBorderNone,\n faBorderStyle: faBorderStyle,\n faBowlingBall: faBowlingBall,\n faBox: faBox,\n faBoxOpen: faBoxOpen,\n faBoxTissue: faBoxTissue,\n faBoxes: faBoxes,\n faBraille: faBraille,\n faBrain: faBrain,\n faBreadSlice: faBreadSlice,\n faBriefcase: faBriefcase,\n faBriefcaseMedical: faBriefcaseMedical,\n faBroadcastTower: faBroadcastTower,\n faBroom: faBroom,\n faBrush: faBrush,\n faBug: faBug,\n faBuilding: faBuilding,\n faBullhorn: faBullhorn,\n faBullseye: faBullseye,\n faBurn: faBurn,\n faBus: faBus,\n faBusAlt: faBusAlt,\n faBusinessTime: faBusinessTime,\n faCalculator: faCalculator,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarDay: faCalendarDay,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCalendarWeek: faCalendarWeek,\n faCamera: faCamera,\n faCameraRetro: faCameraRetro,\n faCampground: faCampground,\n faCandyCane: faCandyCane,\n faCannabis: faCannabis,\n faCapsules: faCapsules,\n faCar: faCar,\n faCarAlt: faCarAlt,\n faCarBattery: faCarBattery,\n faCarCrash: faCarCrash,\n faCarSide: faCarSide,\n faCaravan: faCaravan,\n faCaretDown: faCaretDown,\n faCaretLeft: faCaretLeft,\n faCaretRight: faCaretRight,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faCaretUp: faCaretUp,\n faCarrot: faCarrot,\n faCartArrowDown: faCartArrowDown,\n faCartPlus: faCartPlus,\n faCashRegister: faCashRegister,\n faCat: faCat,\n faCertificate: faCertificate,\n faChair: faChair,\n faChalkboard: faChalkboard,\n faChalkboardTeacher: faChalkboardTeacher,\n faChargingStation: faChargingStation,\n faChartArea: faChartArea,\n faChartBar: faChartBar,\n faChartLine: faChartLine,\n faChartPie: faChartPie,\n faCheck: faCheck,\n faCheckCircle: faCheckCircle,\n faCheckDouble: faCheckDouble,\n faCheckSquare: faCheckSquare,\n faCheese: faCheese,\n faChess: faChess,\n faChessBishop: faChessBishop,\n faChessBoard: faChessBoard,\n faChessKing: faChessKing,\n faChessKnight: faChessKnight,\n faChessPawn: faChessPawn,\n faChessQueen: faChessQueen,\n faChessRook: faChessRook,\n faChevronCircleDown: faChevronCircleDown,\n faChevronCircleLeft: faChevronCircleLeft,\n faChevronCircleRight: faChevronCircleRight,\n faChevronCircleUp: faChevronCircleUp,\n faChevronDown: faChevronDown,\n faChevronLeft: faChevronLeft,\n faChevronRight: faChevronRight,\n faChevronUp: faChevronUp,\n faChild: faChild,\n faChurch: faChurch,\n faCircle: faCircle,\n faCircleNotch: faCircleNotch,\n faCity: faCity,\n faClinicMedical: faClinicMedical,\n faClipboard: faClipboard,\n faClipboardCheck: faClipboardCheck,\n faClipboardList: faClipboardList,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faCloud: faCloud,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faCloudMeatball: faCloudMeatball,\n faCloudMoon: faCloudMoon,\n faCloudMoonRain: faCloudMoonRain,\n faCloudRain: faCloudRain,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faCloudSun: faCloudSun,\n faCloudSunRain: faCloudSunRain,\n faCloudUploadAlt: faCloudUploadAlt,\n faCocktail: faCocktail,\n faCode: faCode,\n faCodeBranch: faCodeBranch,\n faCoffee: faCoffee,\n faCog: faCog,\n faCogs: faCogs,\n faCoins: faCoins,\n faColumns: faColumns,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentDollar: faCommentDollar,\n faCommentDots: faCommentDots,\n faCommentMedical: faCommentMedical,\n faCommentSlash: faCommentSlash,\n faComments: faComments,\n faCommentsDollar: faCommentsDollar,\n faCompactDisc: faCompactDisc,\n faCompass: faCompass,\n faCompress: faCompress,\n faCompressAlt: faCompressAlt,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faConciergeBell: faConciergeBell,\n faCookie: faCookie,\n faCookieBite: faCookieBite,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCouch: faCouch,\n faCreditCard: faCreditCard,\n faCrop: faCrop,\n faCropAlt: faCropAlt,\n faCross: faCross,\n faCrosshairs: faCrosshairs,\n faCrow: faCrow,\n faCrown: faCrown,\n faCrutch: faCrutch,\n faCube: faCube,\n faCubes: faCubes,\n faCut: faCut,\n faDatabase: faDatabase,\n faDeaf: faDeaf,\n faDemocrat: faDemocrat,\n faDesktop: faDesktop,\n faDharmachakra: faDharmachakra,\n faDiagnoses: faDiagnoses,\n faDice: faDice,\n faDiceD20: faDiceD20,\n faDiceD6: faDiceD6,\n faDiceFive: faDiceFive,\n faDiceFour: faDiceFour,\n faDiceOne: faDiceOne,\n faDiceSix: faDiceSix,\n faDiceThree: faDiceThree,\n faDiceTwo: faDiceTwo,\n faDigitalTachograph: faDigitalTachograph,\n faDirections: faDirections,\n faDisease: faDisease,\n faDivide: faDivide,\n faDizzy: faDizzy,\n faDna: faDna,\n faDog: faDog,\n faDollarSign: faDollarSign,\n faDolly: faDolly,\n faDollyFlatbed: faDollyFlatbed,\n faDonate: faDonate,\n faDoorClosed: faDoorClosed,\n faDoorOpen: faDoorOpen,\n faDotCircle: faDotCircle,\n faDove: faDove,\n faDownload: faDownload,\n faDraftingCompass: faDraftingCompass,\n faDragon: faDragon,\n faDrawPolygon: faDrawPolygon,\n faDrum: faDrum,\n faDrumSteelpan: faDrumSteelpan,\n faDrumstickBite: faDrumstickBite,\n faDumbbell: faDumbbell,\n faDumpster: faDumpster,\n faDumpsterFire: faDumpsterFire,\n faDungeon: faDungeon,\n faEdit: faEdit,\n faEgg: faEgg,\n faEject: faEject,\n faEllipsisH: faEllipsisH,\n faEllipsisV: faEllipsisV,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faEnvelopeSquare: faEnvelopeSquare,\n faEquals: faEquals,\n faEraser: faEraser,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faExchangeAlt: faExchangeAlt,\n faExclamation: faExclamation,\n faExclamationCircle: faExclamationCircle,\n faExclamationTriangle: faExclamationTriangle,\n faExpand: faExpand,\n faExpandAlt: faExpandAlt,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faExternalLinkAlt: faExternalLinkAlt,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faEye: faEye,\n faEyeDropper: faEyeDropper,\n faEyeSlash: faEyeSlash,\n faFan: faFan,\n faFastBackward: faFastBackward,\n faFastForward: faFastForward,\n faFaucet: faFaucet,\n faFax: faFax,\n faFeather: faFeather,\n faFeatherAlt: faFeatherAlt,\n faFemale: faFemale,\n faFighterJet: faFighterJet,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCode: faFileCode,\n faFileContract: faFileContract,\n faFileCsv: faFileCsv,\n faFileDownload: faFileDownload,\n faFileExcel: faFileExcel,\n faFileExport: faFileExport,\n faFileImage: faFileImage,\n faFileImport: faFileImport,\n faFileInvoice: faFileInvoice,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faFileMedical: faFileMedical,\n faFileMedicalAlt: faFileMedicalAlt,\n faFilePdf: faFilePdf,\n faFilePowerpoint: faFilePowerpoint,\n faFilePrescription: faFilePrescription,\n faFileSignature: faFileSignature,\n faFileUpload: faFileUpload,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFill: faFill,\n faFillDrip: faFillDrip,\n faFilm: faFilm,\n faFilter: faFilter,\n faFingerprint: faFingerprint,\n faFire: faFire,\n faFireAlt: faFireAlt,\n faFireExtinguisher: faFireExtinguisher,\n faFirstAid: faFirstAid,\n faFish: faFish,\n faFistRaised: faFistRaised,\n faFlag: faFlag,\n faFlagCheckered: faFlagCheckered,\n faFlagUsa: faFlagUsa,\n faFlask: faFlask,\n faFlushed: faFlushed,\n faFolder: faFolder,\n faFolderMinus: faFolderMinus,\n faFolderOpen: faFolderOpen,\n faFolderPlus: faFolderPlus,\n faFont: faFont,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFootballBall: faFootballBall,\n faForward: faForward,\n faFrog: faFrog,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFunnelDollar: faFunnelDollar,\n faFutbol: faFutbol,\n faGamepad: faGamepad,\n faGasPump: faGasPump,\n faGavel: faGavel,\n faGem: faGem,\n faGenderless: faGenderless,\n faGhost: faGhost,\n faGift: faGift,\n faGifts: faGifts,\n faGlassCheers: faGlassCheers,\n faGlassMartini: faGlassMartini,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faGlassWhiskey: faGlassWhiskey,\n faGlasses: faGlasses,\n faGlobe: faGlobe,\n faGlobeAfrica: faGlobeAfrica,\n faGlobeAmericas: faGlobeAmericas,\n faGlobeAsia: faGlobeAsia,\n faGlobeEurope: faGlobeEurope,\n faGolfBall: faGolfBall,\n faGopuram: faGopuram,\n faGraduationCap: faGraduationCap,\n faGreaterThan: faGreaterThan,\n faGreaterThanEqual: faGreaterThanEqual,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faGripHorizontal: faGripHorizontal,\n faGripLines: faGripLines,\n faGripLinesVertical: faGripLinesVertical,\n faGripVertical: faGripVertical,\n faGuitar: faGuitar,\n faHSquare: faHSquare,\n faHamburger: faHamburger,\n faHammer: faHammer,\n faHamsa: faHamsa,\n faHandHolding: faHandHolding,\n faHandHoldingHeart: faHandHoldingHeart,\n faHandHoldingMedical: faHandHoldingMedical,\n faHandHoldingUsd: faHandHoldingUsd,\n faHandHoldingWater: faHandHoldingWater,\n faHandLizard: faHandLizard,\n faHandMiddleFinger: faHandMiddleFinger,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSparkles: faHandSparkles,\n faHandSpock: faHandSpock,\n faHands: faHands,\n faHandsHelping: faHandsHelping,\n faHandsWash: faHandsWash,\n faHandshake: faHandshake,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faHandshakeSlash: faHandshakeSlash,\n faHanukiah: faHanukiah,\n faHardHat: faHardHat,\n faHashtag: faHashtag,\n faHatCowboy: faHatCowboy,\n faHatCowboySide: faHatCowboySide,\n faHatWizard: faHatWizard,\n faHdd: faHdd,\n faHeadSideCough: faHeadSideCough,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faHeadSideMask: faHeadSideMask,\n faHeadSideVirus: faHeadSideVirus,\n faHeading: faHeading,\n faHeadphones: faHeadphones,\n faHeadphonesAlt: faHeadphonesAlt,\n faHeadset: faHeadset,\n faHeart: faHeart,\n faHeartBroken: faHeartBroken,\n faHeartbeat: faHeartbeat,\n faHelicopter: faHelicopter,\n faHighlighter: faHighlighter,\n faHiking: faHiking,\n faHippo: faHippo,\n faHistory: faHistory,\n faHockeyPuck: faHockeyPuck,\n faHollyBerry: faHollyBerry,\n faHome: faHome,\n faHorse: faHorse,\n faHorseHead: faHorseHead,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalSymbol: faHospitalSymbol,\n faHospitalUser: faHospitalUser,\n faHotTub: faHotTub,\n faHotdog: faHotdog,\n faHotel: faHotel,\n faHourglass: faHourglass,\n faHourglassEnd: faHourglassEnd,\n faHourglassHalf: faHourglassHalf,\n faHourglassStart: faHourglassStart,\n faHouseDamage: faHouseDamage,\n faHouseUser: faHouseUser,\n faHryvnia: faHryvnia,\n faICursor: faICursor,\n faIceCream: faIceCream,\n faIcicles: faIcicles,\n faIcons: faIcons,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faIdCardAlt: faIdCardAlt,\n faIgloo: faIgloo,\n faImage: faImage,\n faImages: faImages,\n faInbox: faInbox,\n faIndent: faIndent,\n faIndustry: faIndustry,\n faInfinity: faInfinity,\n faInfo: faInfo,\n faInfoCircle: faInfoCircle,\n faItalic: faItalic,\n faJedi: faJedi,\n faJoint: faJoint,\n faJournalWhills: faJournalWhills,\n faKaaba: faKaaba,\n faKey: faKey,\n faKeyboard: faKeyboard,\n faKhanda: faKhanda,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faKiwiBird: faKiwiBird,\n faLandmark: faLandmark,\n faLanguage: faLanguage,\n faLaptop: faLaptop,\n faLaptopCode: faLaptopCode,\n faLaptopHouse: faLaptopHouse,\n faLaptopMedical: faLaptopMedical,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLayerGroup: faLayerGroup,\n faLeaf: faLeaf,\n faLemon: faLemon,\n faLessThan: faLessThan,\n faLessThanEqual: faLessThanEqual,\n faLevelDownAlt: faLevelDownAlt,\n faLevelUpAlt: faLevelUpAlt,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faLink: faLink,\n faLiraSign: faLiraSign,\n faList: faList,\n faListAlt: faListAlt,\n faListOl: faListOl,\n faListUl: faListUl,\n faLocationArrow: faLocationArrow,\n faLock: faLock,\n faLockOpen: faLockOpen,\n faLongArrowAltDown: faLongArrowAltDown,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faLongArrowAltRight: faLongArrowAltRight,\n faLongArrowAltUp: faLongArrowAltUp,\n faLowVision: faLowVision,\n faLuggageCart: faLuggageCart,\n faLungs: faLungs,\n faLungsVirus: faLungsVirus,\n faMagic: faMagic,\n faMagnet: faMagnet,\n faMailBulk: faMailBulk,\n faMale: faMale,\n faMap: faMap,\n faMapMarked: faMapMarked,\n faMapMarkedAlt: faMapMarkedAlt,\n faMapMarker: faMapMarker,\n faMapMarkerAlt: faMapMarkerAlt,\n faMapPin: faMapPin,\n faMapSigns: faMapSigns,\n faMarker: faMarker,\n faMars: faMars,\n faMarsDouble: faMarsDouble,\n faMarsStroke: faMarsStroke,\n faMarsStrokeH: faMarsStrokeH,\n faMarsStrokeV: faMarsStrokeV,\n faMask: faMask,\n faMedal: faMedal,\n faMedkit: faMedkit,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMemory: faMemory,\n faMenorah: faMenorah,\n faMercury: faMercury,\n faMeteor: faMeteor,\n faMicrochip: faMicrochip,\n faMicrophone: faMicrophone,\n faMicrophoneAlt: faMicrophoneAlt,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faMicrophoneSlash: faMicrophoneSlash,\n faMicroscope: faMicroscope,\n faMinus: faMinus,\n faMinusCircle: faMinusCircle,\n faMinusSquare: faMinusSquare,\n faMitten: faMitten,\n faMobile: faMobile,\n faMobileAlt: faMobileAlt,\n faMoneyBill: faMoneyBill,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoneyBillWave: faMoneyBillWave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faMoneyCheck: faMoneyCheck,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faMonument: faMonument,\n faMoon: faMoon,\n faMortarPestle: faMortarPestle,\n faMosque: faMosque,\n faMotorcycle: faMotorcycle,\n faMountain: faMountain,\n faMouse: faMouse,\n faMousePointer: faMousePointer,\n faMugHot: faMugHot,\n faMusic: faMusic,\n faNetworkWired: faNetworkWired,\n faNeuter: faNeuter,\n faNewspaper: faNewspaper,\n faNotEqual: faNotEqual,\n faNotesMedical: faNotesMedical,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faOilCan: faOilCan,\n faOm: faOm,\n faOtter: faOtter,\n faOutdent: faOutdent,\n faPager: faPager,\n faPaintBrush: faPaintBrush,\n faPaintRoller: faPaintRoller,\n faPalette: faPalette,\n faPallet: faPallet,\n faPaperPlane: faPaperPlane,\n faPaperclip: faPaperclip,\n faParachuteBox: faParachuteBox,\n faParagraph: faParagraph,\n faParking: faParking,\n faPassport: faPassport,\n faPastafarianism: faPastafarianism,\n faPaste: faPaste,\n faPause: faPause,\n faPauseCircle: faPauseCircle,\n faPaw: faPaw,\n faPeace: faPeace,\n faPen: faPen,\n faPenAlt: faPenAlt,\n faPenFancy: faPenFancy,\n faPenNib: faPenNib,\n faPenSquare: faPenSquare,\n faPencilAlt: faPencilAlt,\n faPencilRuler: faPencilRuler,\n faPeopleArrows: faPeopleArrows,\n faPeopleCarry: faPeopleCarry,\n faPepperHot: faPepperHot,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faPersonBooth: faPersonBooth,\n faPhone: faPhone,\n faPhoneAlt: faPhoneAlt,\n faPhoneSlash: faPhoneSlash,\n faPhoneSquare: faPhoneSquare,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faPhoneVolume: faPhoneVolume,\n faPhotoVideo: faPhotoVideo,\n faPiggyBank: faPiggyBank,\n faPills: faPills,\n faPizzaSlice: faPizzaSlice,\n faPlaceOfWorship: faPlaceOfWorship,\n faPlane: faPlane,\n faPlaneArrival: faPlaneArrival,\n faPlaneDeparture: faPlaneDeparture,\n faPlaneSlash: faPlaneSlash,\n faPlay: faPlay,\n faPlayCircle: faPlayCircle,\n faPlug: faPlug,\n faPlus: faPlus,\n faPlusCircle: faPlusCircle,\n faPlusSquare: faPlusSquare,\n faPodcast: faPodcast,\n faPoll: faPoll,\n faPollH: faPollH,\n faPoo: faPoo,\n faPooStorm: faPooStorm,\n faPoop: faPoop,\n faPortrait: faPortrait,\n faPoundSign: faPoundSign,\n faPowerOff: faPowerOff,\n faPray: faPray,\n faPrayingHands: faPrayingHands,\n faPrescription: faPrescription,\n faPrescriptionBottle: faPrescriptionBottle,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPrint: faPrint,\n faProcedures: faProcedures,\n faProjectDiagram: faProjectDiagram,\n faPumpMedical: faPumpMedical,\n faPumpSoap: faPumpSoap,\n faPuzzlePiece: faPuzzlePiece,\n faQrcode: faQrcode,\n faQuestion: faQuestion,\n faQuestionCircle: faQuestionCircle,\n faQuidditch: faQuidditch,\n faQuoteLeft: faQuoteLeft,\n faQuoteRight: faQuoteRight,\n faQuran: faQuran,\n faRadiation: faRadiation,\n faRadiationAlt: faRadiationAlt,\n faRainbow: faRainbow,\n faRandom: faRandom,\n faReceipt: faReceipt,\n faRecordVinyl: faRecordVinyl,\n faRecycle: faRecycle,\n faRedo: faRedo,\n faRedoAlt: faRedoAlt,\n faRegistered: faRegistered,\n faRemoveFormat: faRemoveFormat,\n faReply: faReply,\n faReplyAll: faReplyAll,\n faRepublican: faRepublican,\n faRestroom: faRestroom,\n faRetweet: faRetweet,\n faRibbon: faRibbon,\n faRing: faRing,\n faRoad: faRoad,\n faRobot: faRobot,\n faRocket: faRocket,\n faRoute: faRoute,\n faRss: faRss,\n faRssSquare: faRssSquare,\n faRubleSign: faRubleSign,\n faRuler: faRuler,\n faRulerCombined: faRulerCombined,\n faRulerHorizontal: faRulerHorizontal,\n faRulerVertical: faRulerVertical,\n faRunning: faRunning,\n faRupeeSign: faRupeeSign,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSatellite: faSatellite,\n faSatelliteDish: faSatelliteDish,\n faSave: faSave,\n faSchool: faSchool,\n faScrewdriver: faScrewdriver,\n faScroll: faScroll,\n faSdCard: faSdCard,\n faSearch: faSearch,\n faSearchDollar: faSearchDollar,\n faSearchLocation: faSearchLocation,\n faSearchMinus: faSearchMinus,\n faSearchPlus: faSearchPlus,\n faSeedling: faSeedling,\n faServer: faServer,\n faShapes: faShapes,\n faShare: faShare,\n faShareAlt: faShareAlt,\n faShareAltSquare: faShareAltSquare,\n faShareSquare: faShareSquare,\n faShekelSign: faShekelSign,\n faShieldAlt: faShieldAlt,\n faShieldVirus: faShieldVirus,\n faShip: faShip,\n faShippingFast: faShippingFast,\n faShoePrints: faShoePrints,\n faShoppingBag: faShoppingBag,\n faShoppingBasket: faShoppingBasket,\n faShoppingCart: faShoppingCart,\n faShower: faShower,\n faShuttleVan: faShuttleVan,\n faSign: faSign,\n faSignInAlt: faSignInAlt,\n faSignLanguage: faSignLanguage,\n faSignOutAlt: faSignOutAlt,\n faSignal: faSignal,\n faSignature: faSignature,\n faSimCard: faSimCard,\n faSink: faSink,\n faSitemap: faSitemap,\n faSkating: faSkating,\n faSkiing: faSkiing,\n faSkiingNordic: faSkiingNordic,\n faSkull: faSkull,\n faSkullCrossbones: faSkullCrossbones,\n faSlash: faSlash,\n faSleigh: faSleigh,\n faSlidersH: faSlidersH,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmileWink: faSmileWink,\n faSmog: faSmog,\n faSmoking: faSmoking,\n faSmokingBan: faSmokingBan,\n faSms: faSms,\n faSnowboarding: faSnowboarding,\n faSnowflake: faSnowflake,\n faSnowman: faSnowman,\n faSnowplow: faSnowplow,\n faSoap: faSoap,\n faSocks: faSocks,\n faSolarPanel: faSolarPanel,\n faSort: faSort,\n faSortAlphaDown: faSortAlphaDown,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faSortAlphaUp: faSortAlphaUp,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faSortAmountDown: faSortAmountDown,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faSortAmountUp: faSortAmountUp,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faSortDown: faSortDown,\n faSortNumericDown: faSortNumericDown,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faSortNumericUp: faSortNumericUp,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faSortUp: faSortUp,\n faSpa: faSpa,\n faSpaceShuttle: faSpaceShuttle,\n faSpellCheck: faSpellCheck,\n faSpider: faSpider,\n faSpinner: faSpinner,\n faSplotch: faSplotch,\n faSprayCan: faSprayCan,\n faSquare: faSquare,\n faSquareFull: faSquareFull,\n faSquareRootAlt: faSquareRootAlt,\n faStamp: faStamp,\n faStar: faStar,\n faStarAndCrescent: faStarAndCrescent,\n faStarHalf: faStarHalf,\n faStarHalfAlt: faStarHalfAlt,\n faStarOfDavid: faStarOfDavid,\n faStarOfLife: faStarOfLife,\n faStepBackward: faStepBackward,\n faStepForward: faStepForward,\n faStethoscope: faStethoscope,\n faStickyNote: faStickyNote,\n faStop: faStop,\n faStopCircle: faStopCircle,\n faStopwatch: faStopwatch,\n faStopwatch20: faStopwatch20,\n faStore: faStore,\n faStoreAlt: faStoreAlt,\n faStoreAltSlash: faStoreAltSlash,\n faStoreSlash: faStoreSlash,\n faStream: faStream,\n faStreetView: faStreetView,\n faStrikethrough: faStrikethrough,\n faStroopwafel: faStroopwafel,\n faSubscript: faSubscript,\n faSubway: faSubway,\n faSuitcase: faSuitcase,\n faSuitcaseRolling: faSuitcaseRolling,\n faSun: faSun,\n faSuperscript: faSuperscript,\n faSurprise: faSurprise,\n faSwatchbook: faSwatchbook,\n faSwimmer: faSwimmer,\n faSwimmingPool: faSwimmingPool,\n faSynagogue: faSynagogue,\n faSync: faSync,\n faSyncAlt: faSyncAlt,\n faSyringe: faSyringe,\n faTable: faTable,\n faTableTennis: faTableTennis,\n faTablet: faTablet,\n faTabletAlt: faTabletAlt,\n faTablets: faTablets,\n faTachometerAlt: faTachometerAlt,\n faTag: faTag,\n faTags: faTags,\n faTape: faTape,\n faTasks: faTasks,\n faTaxi: faTaxi,\n faTeeth: faTeeth,\n faTeethOpen: faTeethOpen,\n faTemperatureHigh: faTemperatureHigh,\n faTemperatureLow: faTemperatureLow,\n faTenge: faTenge,\n faTerminal: faTerminal,\n faTextHeight: faTextHeight,\n faTextWidth: faTextWidth,\n faTh: faTh,\n faThLarge: faThLarge,\n faThList: faThList,\n faTheaterMasks: faTheaterMasks,\n faThermometer: faThermometer,\n faThermometerEmpty: faThermometerEmpty,\n faThermometerFull: faThermometerFull,\n faThermometerHalf: faThermometerHalf,\n faThermometerQuarter: faThermometerQuarter,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faThumbtack: faThumbtack,\n faTicketAlt: faTicketAlt,\n faTimes: faTimes,\n faTimesCircle: faTimesCircle,\n faTint: faTint,\n faTintSlash: faTintSlash,\n faTired: faTired,\n faToggleOff: faToggleOff,\n faToggleOn: faToggleOn,\n faToilet: faToilet,\n faToiletPaper: faToiletPaper,\n faToiletPaperSlash: faToiletPaperSlash,\n faToolbox: faToolbox,\n faTools: faTools,\n faTooth: faTooth,\n faTorah: faTorah,\n faToriiGate: faToriiGate,\n faTractor: faTractor,\n faTrademark: faTrademark,\n faTrafficLight: faTrafficLight,\n faTrailer: faTrailer,\n faTrain: faTrain,\n faTram: faTram,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faTrash: faTrash,\n faTrashAlt: faTrashAlt,\n faTrashRestore: faTrashRestore,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faTree: faTree,\n faTrophy: faTrophy,\n faTruck: faTruck,\n faTruckLoading: faTruckLoading,\n faTruckMonster: faTruckMonster,\n faTruckMoving: faTruckMoving,\n faTruckPickup: faTruckPickup,\n faTshirt: faTshirt,\n faTty: faTty,\n faTv: faTv,\n faUmbrella: faUmbrella,\n faUmbrellaBeach: faUmbrellaBeach,\n faUnderline: faUnderline,\n faUndo: faUndo,\n faUndoAlt: faUndoAlt,\n faUniversalAccess: faUniversalAccess,\n faUniversity: faUniversity,\n faUnlink: faUnlink,\n faUnlock: faUnlock,\n faUnlockAlt: faUnlockAlt,\n faUpload: faUpload,\n faUser: faUser,\n faUserAlt: faUserAlt,\n faUserAltSlash: faUserAltSlash,\n faUserAstronaut: faUserAstronaut,\n faUserCheck: faUserCheck,\n faUserCircle: faUserCircle,\n faUserClock: faUserClock,\n faUserCog: faUserCog,\n faUserEdit: faUserEdit,\n faUserFriends: faUserFriends,\n faUserGraduate: faUserGraduate,\n faUserInjured: faUserInjured,\n faUserLock: faUserLock,\n faUserMd: faUserMd,\n faUserMinus: faUserMinus,\n faUserNinja: faUserNinja,\n faUserNurse: faUserNurse,\n faUserPlus: faUserPlus,\n faUserSecret: faUserSecret,\n faUserShield: faUserShield,\n faUserSlash: faUserSlash,\n faUserTag: faUserTag,\n faUserTie: faUserTie,\n faUserTimes: faUserTimes,\n faUsers: faUsers,\n faUsersCog: faUsersCog,\n faUsersSlash: faUsersSlash,\n faUtensilSpoon: faUtensilSpoon,\n faUtensils: faUtensils,\n faVectorSquare: faVectorSquare,\n faVenus: faVenus,\n faVenusDouble: faVenusDouble,\n faVenusMars: faVenusMars,\n faVest: faVest,\n faVestPatches: faVestPatches,\n faVial: faVial,\n faVials: faVials,\n faVideo: faVideo,\n faVideoSlash: faVideoSlash,\n faVihara: faVihara,\n faVirus: faVirus,\n faVirusSlash: faVirusSlash,\n faViruses: faViruses,\n faVoicemail: faVoicemail,\n faVolleyballBall: faVolleyballBall,\n faVolumeDown: faVolumeDown,\n faVolumeMute: faVolumeMute,\n faVolumeOff: faVolumeOff,\n faVolumeUp: faVolumeUp,\n faVoteYea: faVoteYea,\n faVrCardboard: faVrCardboard,\n faWalking: faWalking,\n faWallet: faWallet,\n faWarehouse: faWarehouse,\n faWater: faWater,\n faWaveSquare: faWaveSquare,\n faWeight: faWeight,\n faWeightHanging: faWeightHanging,\n faWheelchair: faWheelchair,\n faWifi: faWifi,\n faWind: faWind,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore,\n faWineBottle: faWineBottle,\n faWineGlass: faWineGlass,\n faWineGlassAlt: faWineGlassAlt,\n faWonSign: faWonSign,\n faWrench: faWrench,\n faXRay: faXRay,\n faYenSign: faYenSign,\n faYinYang: faYinYang\n};\n\nexport { _iconsCache as fas, prefix, faAd, faAddressBook, faAddressCard, faAdjust, faAirFreshener, faAlignCenter, faAlignJustify, faAlignLeft, faAlignRight, faAllergies, faAmbulance, faAmericanSignLanguageInterpreting, faAnchor, faAngleDoubleDown, faAngleDoubleLeft, faAngleDoubleRight, faAngleDoubleUp, faAngleDown, faAngleLeft, faAngleRight, faAngleUp, faAngry, faAnkh, faAppleAlt, faArchive, faArchway, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faArrowCircleDown, faArrowCircleLeft, faArrowCircleRight, faArrowCircleUp, faArrowDown, faArrowLeft, faArrowRight, faArrowUp, faArrowsAlt, faArrowsAltH, faArrowsAltV, faAssistiveListeningSystems, faAsterisk, faAt, faAtlas, faAtom, faAudioDescription, faAward, faBaby, faBabyCarriage, faBackspace, faBackward, faBacon, faBacteria, faBacterium, faBahai, faBalanceScale, faBalanceScaleLeft, faBalanceScaleRight, faBan, faBandAid, faBarcode, faBars, faBaseballBall, faBasketballBall, faBath, faBatteryEmpty, faBatteryFull, faBatteryHalf, faBatteryQuarter, faBatteryThreeQuarters, faBed, faBeer, faBell, faBellSlash, faBezierCurve, faBible, faBicycle, faBiking, faBinoculars, faBiohazard, faBirthdayCake, faBlender, faBlenderPhone, faBlind, faBlog, faBold, faBolt, faBomb, faBone, faBong, faBook, faBookDead, faBookMedical, faBookOpen, faBookReader, faBookmark, faBorderAll, faBorderNone, faBorderStyle, faBowlingBall, faBox, faBoxOpen, faBoxTissue, faBoxes, faBraille, faBrain, faBreadSlice, faBriefcase, faBriefcaseMedical, faBroadcastTower, faBroom, faBrush, faBug, faBuilding, faBullhorn, faBullseye, faBurn, faBus, faBusAlt, faBusinessTime, faCalculator, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarDay, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCalendarWeek, faCamera, faCameraRetro, faCampground, faCandyCane, faCannabis, faCapsules, faCar, faCarAlt, faCarBattery, faCarCrash, faCarSide, faCaravan, faCaretDown, faCaretLeft, faCaretRight, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faCaretUp, faCarrot, faCartArrowDown, faCartPlus, faCashRegister, faCat, faCertificate, faChair, faChalkboard, faChalkboardTeacher, faChargingStation, faChartArea, faChartBar, faChartLine, faChartPie, faCheck, faCheckCircle, faCheckDouble, faCheckSquare, faCheese, faChess, faChessBishop, faChessBoard, faChessKing, faChessKnight, faChessPawn, faChessQueen, faChessRook, faChevronCircleDown, faChevronCircleLeft, faChevronCircleRight, faChevronCircleUp, faChevronDown, faChevronLeft, faChevronRight, faChevronUp, faChild, faChurch, faCircle, faCircleNotch, faCity, faClinicMedical, faClipboard, faClipboardCheck, faClipboardList, faClock, faClone, faClosedCaptioning, faCloud, faCloudDownloadAlt, faCloudMeatball, faCloudMoon, faCloudMoonRain, faCloudRain, faCloudShowersHeavy, faCloudSun, faCloudSunRain, faCloudUploadAlt, faCocktail, faCode, faCodeBranch, faCoffee, faCog, faCogs, faCoins, faColumns, faComment, faCommentAlt, faCommentDollar, faCommentDots, faCommentMedical, faCommentSlash, faComments, faCommentsDollar, faCompactDisc, faCompass, faCompress, faCompressAlt, faCompressArrowsAlt, faConciergeBell, faCookie, faCookieBite, faCopy, faCopyright, faCouch, faCreditCard, faCrop, faCropAlt, faCross, faCrosshairs, faCrow, faCrown, faCrutch, faCube, faCubes, faCut, faDatabase, faDeaf, faDemocrat, faDesktop, faDharmachakra, faDiagnoses, faDice, faDiceD20, faDiceD6, faDiceFive, faDiceFour, faDiceOne, faDiceSix, faDiceThree, faDiceTwo, faDigitalTachograph, faDirections, faDisease, faDivide, faDizzy, faDna, faDog, faDollarSign, faDolly, faDollyFlatbed, faDonate, faDoorClosed, faDoorOpen, faDotCircle, faDove, faDownload, faDraftingCompass, faDragon, faDrawPolygon, faDrum, faDrumSteelpan, faDrumstickBite, faDumbbell, faDumpster, faDumpsterFire, faDungeon, faEdit, faEgg, faEject, faEllipsisH, faEllipsisV, faEnvelope, faEnvelopeOpen, faEnvelopeOpenText, faEnvelopeSquare, faEquals, faEraser, faEthernet, faEuroSign, faExchangeAlt, faExclamation, faExclamationCircle, faExclamationTriangle, faExpand, faExpandAlt, faExpandArrowsAlt, faExternalLinkAlt, faExternalLinkSquareAlt, faEye, faEyeDropper, faEyeSlash, faFan, faFastBackward, faFastForward, faFaucet, faFax, faFeather, faFeatherAlt, faFemale, faFighterJet, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileContract, faFileCsv, faFileDownload, faFileExcel, faFileExport, faFileImage, faFileImport, faFileInvoice, faFileInvoiceDollar, faFileMedical, faFileMedicalAlt, faFilePdf, faFilePowerpoint, faFilePrescription, faFileSignature, faFileUpload, faFileVideo, faFileWord, faFill, faFillDrip, faFilm, faFilter, faFingerprint, faFire, faFireAlt, faFireExtinguisher, faFirstAid, faFish, faFistRaised, faFlag, faFlagCheckered, faFlagUsa, faFlask, faFlushed, faFolder, faFolderMinus, faFolderOpen, faFolderPlus, faFont, faFontAwesomeLogoFull, faFootballBall, faForward, faFrog, faFrown, faFrownOpen, faFunnelDollar, faFutbol, faGamepad, faGasPump, faGavel, faGem, faGenderless, faGhost, faGift, faGifts, faGlassCheers, faGlassMartini, faGlassMartiniAlt, faGlassWhiskey, faGlasses, faGlobe, faGlobeAfrica, faGlobeAmericas, faGlobeAsia, faGlobeEurope, faGolfBall, faGopuram, faGraduationCap, faGreaterThan, faGreaterThanEqual, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faGripHorizontal, faGripLines, faGripLinesVertical, faGripVertical, faGuitar, faHSquare, faHamburger, faHammer, faHamsa, faHandHolding, faHandHoldingHeart, faHandHoldingMedical, faHandHoldingUsd, faHandHoldingWater, faHandLizard, faHandMiddleFinger, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSparkles, faHandSpock, faHands, faHandsHelping, faHandsWash, faHandshake, faHandshakeAltSlash, faHandshakeSlash, faHanukiah, faHardHat, faHashtag, faHatCowboy, faHatCowboySide, faHatWizard, faHdd, faHeadSideCough, faHeadSideCoughSlash, faHeadSideMask, faHeadSideVirus, faHeading, faHeadphones, faHeadphonesAlt, faHeadset, faHeart, faHeartBroken, faHeartbeat, faHelicopter, faHighlighter, faHiking, faHippo, faHistory, faHockeyPuck, faHollyBerry, faHome, faHorse, faHorseHead, faHospital, faHospitalAlt, faHospitalSymbol, faHospitalUser, faHotTub, faHotdog, faHotel, faHourglass, faHourglassEnd, faHourglassHalf, faHourglassStart, faHouseDamage, faHouseUser, faHryvnia, faICursor, faIceCream, faIcicles, faIcons, faIdBadge, faIdCard, faIdCardAlt, faIgloo, faImage, faImages, faInbox, faIndent, faIndustry, faInfinity, faInfo, faInfoCircle, faItalic, faJedi, faJoint, faJournalWhills, faKaaba, faKey, faKeyboard, faKhanda, faKiss, faKissBeam, faKissWinkHeart, faKiwiBird, faLandmark, faLanguage, faLaptop, faLaptopCode, faLaptopHouse, faLaptopMedical, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLayerGroup, faLeaf, faLemon, faLessThan, faLessThanEqual, faLevelDownAlt, faLevelUpAlt, faLifeRing, faLightbulb, faLink, faLiraSign, faList, faListAlt, faListOl, faListUl, faLocationArrow, faLock, faLockOpen, faLongArrowAltDown, faLongArrowAltLeft, faLongArrowAltRight, faLongArrowAltUp, faLowVision, faLuggageCart, faLungs, faLungsVirus, faMagic, faMagnet, faMailBulk, faMale, faMap, faMapMarked, faMapMarkedAlt, faMapMarker, faMapMarkerAlt, faMapPin, faMapSigns, faMarker, faMars, faMarsDouble, faMarsStroke, faMarsStrokeH, faMarsStrokeV, faMask, faMedal, faMedkit, faMeh, faMehBlank, faMehRollingEyes, faMemory, faMenorah, faMercury, faMeteor, faMicrochip, faMicrophone, faMicrophoneAlt, faMicrophoneAltSlash, faMicrophoneSlash, faMicroscope, faMinus, faMinusCircle, faMinusSquare, faMitten, faMobile, faMobileAlt, faMoneyBill, faMoneyBillAlt, faMoneyBillWave, faMoneyBillWaveAlt, faMoneyCheck, faMoneyCheckAlt, faMonument, faMoon, faMortarPestle, faMosque, faMotorcycle, faMountain, faMouse, faMousePointer, faMugHot, faMusic, faNetworkWired, faNeuter, faNewspaper, faNotEqual, faNotesMedical, faObjectGroup, faObjectUngroup, faOilCan, faOm, faOtter, faOutdent, faPager, faPaintBrush, faPaintRoller, faPalette, faPallet, faPaperPlane, faPaperclip, faParachuteBox, faParagraph, faParking, faPassport, faPastafarianism, faPaste, faPause, faPauseCircle, faPaw, faPeace, faPen, faPenAlt, faPenFancy, faPenNib, faPenSquare, faPencilAlt, faPencilRuler, faPeopleArrows, faPeopleCarry, faPepperHot, faPercent, faPercentage, faPersonBooth, faPhone, faPhoneAlt, faPhoneSlash, faPhoneSquare, faPhoneSquareAlt, faPhoneVolume, faPhotoVideo, faPiggyBank, faPills, faPizzaSlice, faPlaceOfWorship, faPlane, faPlaneArrival, faPlaneDeparture, faPlaneSlash, faPlay, faPlayCircle, faPlug, faPlus, faPlusCircle, faPlusSquare, faPodcast, faPoll, faPollH, faPoo, faPooStorm, faPoop, faPortrait, faPoundSign, faPowerOff, faPray, faPrayingHands, faPrescription, faPrescriptionBottle, faPrescriptionBottleAlt, faPrint, faProcedures, faProjectDiagram, faPumpMedical, faPumpSoap, faPuzzlePiece, faQrcode, faQuestion, faQuestionCircle, faQuidditch, faQuoteLeft, faQuoteRight, faQuran, faRadiation, faRadiationAlt, faRainbow, faRandom, faReceipt, faRecordVinyl, faRecycle, faRedo, faRedoAlt, faRegistered, faRemoveFormat, faReply, faReplyAll, faRepublican, faRestroom, faRetweet, faRibbon, faRing, faRoad, faRobot, faRocket, faRoute, faRss, faRssSquare, faRubleSign, faRuler, faRulerCombined, faRulerHorizontal, faRulerVertical, faRunning, faRupeeSign, faSadCry, faSadTear, faSatellite, faSatelliteDish, faSave, faSchool, faScrewdriver, faScroll, faSdCard, faSearch, faSearchDollar, faSearchLocation, faSearchMinus, faSearchPlus, faSeedling, faServer, faShapes, faShare, faShareAlt, faShareAltSquare, faShareSquare, faShekelSign, faShieldAlt, faShieldVirus, faShip, faShippingFast, faShoePrints, faShoppingBag, faShoppingBasket, faShoppingCart, faShower, faShuttleVan, faSign, faSignInAlt, faSignLanguage, faSignOutAlt, faSignal, faSignature, faSimCard, faSink, faSitemap, faSkating, faSkiing, faSkiingNordic, faSkull, faSkullCrossbones, faSlash, faSleigh, faSlidersH, faSmile, faSmileBeam, faSmileWink, faSmog, faSmoking, faSmokingBan, faSms, faSnowboarding, faSnowflake, faSnowman, faSnowplow, faSoap, faSocks, faSolarPanel, faSort, faSortAlphaDown, faSortAlphaDownAlt, faSortAlphaUp, faSortAlphaUpAlt, faSortAmountDown, faSortAmountDownAlt, faSortAmountUp, faSortAmountUpAlt, faSortDown, faSortNumericDown, faSortNumericDownAlt, faSortNumericUp, faSortNumericUpAlt, faSortUp, faSpa, faSpaceShuttle, faSpellCheck, faSpider, faSpinner, faSplotch, faSprayCan, faSquare, faSquareFull, faSquareRootAlt, faStamp, faStar, faStarAndCrescent, faStarHalf, faStarHalfAlt, faStarOfDavid, faStarOfLife, faStepBackward, faStepForward, faStethoscope, faStickyNote, faStop, faStopCircle, faStopwatch, faStopwatch20, faStore, faStoreAlt, faStoreAltSlash, faStoreSlash, faStream, faStreetView, faStrikethrough, faStroopwafel, faSubscript, faSubway, faSuitcase, faSuitcaseRolling, faSun, faSuperscript, faSurprise, faSwatchbook, faSwimmer, faSwimmingPool, faSynagogue, faSync, faSyncAlt, faSyringe, faTable, faTableTennis, faTablet, faTabletAlt, faTablets, faTachometerAlt, faTag, faTags, faTape, faTasks, faTaxi, faTeeth, faTeethOpen, faTemperatureHigh, faTemperatureLow, faTenge, faTerminal, faTextHeight, faTextWidth, faTh, faThLarge, faThList, faTheaterMasks, faThermometer, faThermometerEmpty, faThermometerFull, faThermometerHalf, faThermometerQuarter, faThermometerThreeQuarters, faThumbsDown, faThumbsUp, faThumbtack, faTicketAlt, faTimes, faTimesCircle, faTint, faTintSlash, faTired, faToggleOff, faToggleOn, faToilet, faToiletPaper, faToiletPaperSlash, faToolbox, faTools, faTooth, faTorah, faToriiGate, faTractor, faTrademark, faTrafficLight, faTrailer, faTrain, faTram, faTransgender, faTransgenderAlt, faTrash, faTrashAlt, faTrashRestore, faTrashRestoreAlt, faTree, faTrophy, faTruck, faTruckLoading, faTruckMonster, faTruckMoving, faTruckPickup, faTshirt, faTty, faTv, faUmbrella, faUmbrellaBeach, faUnderline, faUndo, faUndoAlt, faUniversalAccess, faUniversity, faUnlink, faUnlock, faUnlockAlt, faUpload, faUser, faUserAlt, faUserAltSlash, faUserAstronaut, faUserCheck, faUserCircle, faUserClock, faUserCog, faUserEdit, faUserFriends, faUserGraduate, faUserInjured, faUserLock, faUserMd, faUserMinus, faUserNinja, faUserNurse, faUserPlus, faUserSecret, faUserShield, faUserSlash, faUserTag, faUserTie, faUserTimes, faUsers, faUsersCog, faUsersSlash, faUtensilSpoon, faUtensils, faVectorSquare, faVenus, faVenusDouble, faVenusMars, faVest, faVestPatches, faVial, faVials, faVideo, faVideoSlash, faVihara, faVirus, faVirusSlash, faViruses, faVoicemail, faVolleyballBall, faVolumeDown, faVolumeMute, faVolumeOff, faVolumeUp, faVoteYea, faVrCardboard, faWalking, faWallet, faWarehouse, faWater, faWaveSquare, faWeight, faWeightHanging, faWheelchair, faWifi, faWind, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore, faWineBottle, faWineGlass, faWineGlassAlt, faWonSign, faWrench, faXRay, faYenSign, faYinYang };\n","import { parse, icon, config, text } from '@fortawesome/fontawesome-svg-core';\nimport { h, defineComponent, computed, watch } from 'vue';\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar humps$1 = {exports: {}};\n\n(function (module) {\n(function(global) {\n\n\t var _processKeys = function(convert, obj, options) {\n\t if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n\t return obj;\n\t }\n\n\t var output,\n\t i = 0,\n\t l = 0;\n\n\t if(_isArray(obj)) {\n\t output = [];\n\t for(l=obj.length; i} classes The class list to convert.\n * @returns {Object}\n */\nfunction classToObject(classes) {\n return classes.split(/\\s+/).reduce(function (output, className) {\n output[className] = true;\n return output;\n }, {});\n}\n\n/**\n * Converts a FontAwesome abstract element of an icon into a Vue VNode.\n * @param {AbstractElement | String} abstractElement The element to convert.\n * @param {Object} props The user-defined props.\n * @param {Object} attrs The user-defined native HTML attributes.\n * @returns {VNode}\n */\nfunction convert(abstractElement) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var attrs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n // If the abstract element is a string, we'll just return a string render function\n if (typeof abstractElement === 'string') {\n return abstractElement;\n }\n\n // Converting abstract element children into Vue VNodes\n var children = (abstractElement.children || []).map(function (child) {\n return convert(child);\n });\n\n // Converting abstract element attributes into valid Vue format\n var mixins = Object.keys(abstractElement.attributes || {}).reduce(function (mixins, key) {\n var value = abstractElement.attributes[key];\n switch (key) {\n case 'class':\n mixins.class = classToObject(value);\n break;\n case 'style':\n mixins.style = styleToObject(value);\n break;\n default:\n mixins.attrs[key] = value;\n }\n return mixins;\n }, {\n attrs: {},\n class: {},\n style: {}\n });\n\n // Now, we'll return the VNode\n attrs.class;\n var _attrs$style = attrs.style,\n aStyle = _attrs$style === void 0 ? {} : _attrs$style,\n otherAttrs = _objectWithoutProperties(attrs, _excluded);\n return h(abstractElement.tag, _objectSpread2(_objectSpread2(_objectSpread2({}, props), {}, {\n class: mixins.class,\n style: _objectSpread2(_objectSpread2({}, mixins.style), aStyle)\n }, mixins.attrs), otherAttrs), children);\n}\n\nvar PRODUCTION = false;\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\nfunction classList(props) {\n var _classes;\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-pulse': props.pulse,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-inverse': props.inverse,\n 'fa-flip': props.flip === true,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classes, \"fa-\".concat(props.size), props.size !== null), \"fa-rotate-\".concat(props.rotation), props.rotation !== null), \"fa-pull-\".concat(props.pull), props.pull !== null), 'fa-swap-opacity', props.swapOpacity), 'fa-bounce', props.bounce), 'fa-shake', props.shake), 'fa-beat', props.beat), 'fa-fade', props.fade), 'fa-beat-fade', props.beatFade), 'fa-flash', props.flash), _defineProperty(_defineProperty(_classes, 'fa-spin-pulse', props.spinPulse), 'fa-spin-reverse', props.spinReverse));\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\nfunction normalizeIconArgs(icon) {\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n if (parse.icon) {\n return parse.icon(icon);\n }\n if (icon === null) {\n return null;\n }\n if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n }\n if (Array.isArray(icon) && icon.length === 2) {\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n }\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\nvar FontAwesomeIcon = defineComponent({\n name: 'FontAwesomeIcon',\n props: {\n border: {\n type: Boolean,\n default: false\n },\n fixedWidth: {\n type: Boolean,\n default: false\n },\n flip: {\n type: [Boolean, String],\n default: false,\n validator: function validator(value) {\n return [true, false, 'horizontal', 'vertical', 'both'].indexOf(value) > -1;\n }\n },\n icon: {\n type: [Object, Array, String],\n required: true\n },\n mask: {\n type: [Object, Array, String],\n default: null\n },\n maskId: {\n type: String,\n default: null\n },\n listItem: {\n type: Boolean,\n default: false\n },\n pull: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['right', 'left'].indexOf(value) > -1;\n }\n },\n pulse: {\n type: Boolean,\n default: false\n },\n rotation: {\n type: [String, Number],\n default: null,\n validator: function validator(value) {\n return [90, 180, 270].indexOf(Number.parseInt(value, 10)) > -1;\n }\n },\n swapOpacity: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;\n }\n },\n spin: {\n type: Boolean,\n default: false\n },\n transform: {\n type: [String, Object],\n default: null\n },\n symbol: {\n type: [Boolean, String],\n default: false\n },\n title: {\n type: String,\n default: null\n },\n titleId: {\n type: String,\n default: null\n },\n inverse: {\n type: Boolean,\n default: false\n },\n bounce: {\n type: Boolean,\n default: false\n },\n shake: {\n type: Boolean,\n default: false\n },\n beat: {\n type: Boolean,\n default: false\n },\n fade: {\n type: Boolean,\n default: false\n },\n beatFade: {\n type: Boolean,\n default: false\n },\n flash: {\n type: Boolean,\n default: false\n },\n spinPulse: {\n type: Boolean,\n default: false\n },\n spinReverse: {\n type: Boolean,\n default: false\n }\n },\n setup: function setup(props, _ref) {\n var attrs = _ref.attrs;\n var icon$1 = computed(function () {\n return normalizeIconArgs(props.icon);\n });\n var classes = computed(function () {\n return objectWithKey('classes', classList(props));\n });\n var transform = computed(function () {\n return objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n });\n var mask = computed(function () {\n return objectWithKey('mask', normalizeIconArgs(props.mask));\n });\n var renderedIcon = computed(function () {\n return icon(icon$1.value, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes.value), transform.value), mask.value), {}, {\n symbol: props.symbol,\n title: props.title,\n titleId: props.titleId,\n maskId: props.maskId\n }));\n });\n watch(renderedIcon, function (value) {\n if (!value) {\n return log('Could not find one or more icon(s)', icon$1.value, mask.value);\n }\n }, {\n immediate: true\n });\n var vnode = computed(function () {\n return renderedIcon.value ? convert(renderedIcon.value.abstract[0], {}, attrs) : null;\n });\n return function () {\n return vnode.value;\n };\n }\n});\n\nvar FontAwesomeLayers = defineComponent({\n name: 'FontAwesomeLayers',\n props: {\n fixedWidth: {\n type: Boolean,\n default: false\n }\n },\n setup: function setup(props, _ref) {\n var slots = _ref.slots;\n var familyPrefix = config.familyPrefix;\n var className = computed(function () {\n return [\"\".concat(familyPrefix, \"-layers\")].concat(_toConsumableArray(props.fixedWidth ? [\"\".concat(familyPrefix, \"-fw\")] : []));\n });\n return function () {\n return h('div', {\n class: className.value\n }, slots.default ? slots.default() : []);\n };\n }\n});\n\nvar FontAwesomeLayersText = defineComponent({\n name: 'FontAwesomeLayersText',\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n transform: {\n type: [String, Object],\n default: null\n },\n counter: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;\n }\n }\n },\n setup: function setup(props, _ref) {\n var attrs = _ref.attrs;\n var familyPrefix = config.familyPrefix;\n var classes = computed(function () {\n return objectWithKey('classes', [].concat(_toConsumableArray(props.counter ? [\"\".concat(familyPrefix, \"-layers-counter\")] : []), _toConsumableArray(props.position ? [\"\".concat(familyPrefix, \"-layers-\").concat(props.position)] : [])));\n });\n var transform = computed(function () {\n return objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n });\n var abstractElement = computed(function () {\n var _text = text(props.value.toString(), _objectSpread2(_objectSpread2({}, transform.value), classes.value)),\n abstract = _text.abstract;\n if (props.counter) {\n abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');\n }\n return abstract[0];\n });\n var vnode = computed(function () {\n return convert(abstractElement.value, {}, attrs);\n });\n return function () {\n return vnode.value;\n };\n }\n});\n\nexport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText };\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.KendoSharedMethods = exports.KendoBaseInputComponent = exports.KendoBaseDatasourceComponent = exports.KendoBaseComponent = undefined;\n\nvar _kendoBaseComponent = require('./kendo-base-component');\n\nvar _kendoBaseComponent2 = _interopRequireDefault(_kendoBaseComponent);\n\nvar _kendoBaseDatasourceComponent = require('./kendo-base-datasource-component');\n\nvar _kendoBaseDatasourceComponent2 = _interopRequireDefault(_kendoBaseDatasourceComponent);\n\nvar _kendoBaseInputComponent = require('./kendo-base-input-component');\n\nvar _kendoBaseInputComponent2 = _interopRequireDefault(_kendoBaseInputComponent);\n\nvar _kendoSharedMethods = require('./kendo-shared-methods');\n\nvar _kendoSharedMethods2 = _interopRequireDefault(_kendoSharedMethods);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.KendoBaseComponent = _kendoBaseComponent2.default;\nexports.KendoBaseDatasourceComponent = _kendoBaseDatasourceComponent2.default;\nexports.KendoBaseInputComponent = _kendoBaseInputComponent2.default;\nexports.KendoSharedMethods = _kendoSharedMethods2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _vue = require('vue');\n\nvar aVue = _interopRequireWildcard(_vue);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar allVue = aVue;\nvar gh = allVue.h;\nvar createApp = allVue.createApp;\nexports.default = {\n name: 'baseComponent',\n props: {\n disabled: {\n type: Boolean,\n default: undefined\n },\n readonly: {\n type: Boolean,\n default: undefined\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h('div');\n },\n created: function created() {\n this.createdMethod();\n },\n\n beforeDestroy: gh ? undefined : function () {\n this.destroyKendoWidget();\n },\n beforeUnmount: function beforeUnmount() {\n this.destroyKendoWidget();\n },\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n\n beforeMount: function beforeMount() {\n if (this.v3) {\n this.createdMethod();\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n var hasDataSource = !this.$props.dataSource;\n if (hasDataSource && defaultSlot) {\n var innerDatasource = defaultSlot.find(function (slot) {\n return slot.type && slot.type.name && slot.type.name.indexOf('datasource') !== -1;\n });\n if (innerDatasource) {\n var dataSourceOptions = this.parseOptions(innerDatasource, innerDatasource.type.mixins[0].mixins);\n this.widgetOptions.dataSource = dataSourceOptions;\n }\n }\n }\n },\n updated: function updated() {\n if (this.modelValue) {\n this.changeValue(this.modelValue);\n }\n },\n mounted: function mounted() {\n if (this.$el.classList && this.$el.classList.length > 0) {\n this.nativeClasses = [].concat(_toConsumableArray(this.$el.classList));\n } else {\n this.nativeClasses = [];\n }\n var props = this.v3 ? this.$props : this.$options.propsData;\n for (var key in props) {\n var that = this;\n\n if (key.toLowerCase().indexOf('template') !== -1) {\n var isFunction = this.widgetOptions[key] instanceof Function;\n\n if (isFunction) {\n this.widgetOptions[key] = this.transformTemplate(key);\n }\n }\n\n if (key === 'value') {\n that.$watch(key, function (newValue) {\n that.changeValue(newValue);\n });\n } else if (key === 'disabled') {\n that.$watch(key, function (newValue) {\n that.makeDisabled(newValue);\n });\n } else if (key === 'readonly') {\n that.$watch(key, function (newValue) {\n that.makeReadonly(newValue);\n });\n } else {\n that.$watch(key, function (newValue, oldValue) {\n // Vue always dispatches a change when inline complex objects are bound\n // https://github.com/telerik/kendo-ui-core/issues/3952\n if (JSON.stringify(oldValue) !== JSON.stringify(newValue)) {\n that.updateWidget();\n }\n });\n }\n }\n },\n\n watch: {\n $attrs: function $attrs() {\n this.toggleClasses();\n }\n },\n methods: {\n createdMethod: function createdMethod() {\n this.resolveWidgetOptions();\n this.$_nativeTemplates = [];\n if (!this.v3) {\n this.$on('kendowidgetready', this.ready);\n }\n },\n destroyKendoWidget: function destroyKendoWidget() {\n if (this.kendoWidget() && this.kendoWidget().destroy) {\n this.kendoWidget().destroy();\n if (this.$_nativeTemplates.length) {\n for (var i = 0; i < this.$_nativeTemplates.length; i++) {\n var currentTemplate = this.$_nativeTemplates[i];\n if (currentTemplate.unmount) {\n currentTemplate.unmount();\n } else {\n currentTemplate.$destroy();\n }\n }\n }\n }\n },\n toggleClasses: function toggleClasses() {\n var that = this;\n var $element = kendo.jQuery(that.$el);\n var $wrapper = that.kendoWidget().wrapper;\n\n if ($wrapper && $wrapper[0] !== $element[0]) {\n that.nativeClasses.forEach(function (item) {\n $wrapper.removeClass(item);\n });\n\n // Add to wrapper only the custom classes without the default Kendo ones\n if (that.kendoClasses) {\n that.nativeClasses = [].concat(_toConsumableArray(that.$el.classList)).filter(function (item) {\n return that.kendoClasses.indexOf(item) < 0;\n });\n } else {\n that.nativeClasses = [].concat(_toConsumableArray(that.$el.classList));\n }\n\n that.nativeClasses.forEach(function (item) {\n $wrapper.addClass(item);\n });\n }\n\n if (that.kendoClasses) {\n that.kendoClasses.forEach(function (item) {\n $element.addClass(item);\n });\n }\n },\n updateWidget: function updateWidget() {\n var that = this;\n\n that.resolveWidgetOptions();\n\n if (that._resolveChildren) {\n that._resolveChildren();\n }\n\n var currentWidget = that.kendoWidget();\n\n if (currentWidget && currentWidget.setOptions) {\n currentWidget.setOptions(that.widgetOptions);\n }\n },\n\n transformTemplate: function transformTemplate(key, val) {\n var that = this;\n var object;\n var props = that.v3 ? that.$props : that.$options.propsData;\n var templateDefinition = val || props[key];\n try {\n object = templateDefinition.call(that, {});\n } catch (e) {\n return templateDefinition;\n }\n\n if (!object.template) {\n return templateDefinition;\n }\n\n return function () {\n object = templateDefinition.apply(this, arguments);\n var kendoguid;\n if (that.v3) {\n var newTemplateArgs = typeof object.templateArgs === 'string' ? object.templateArgs : Object.assign({}, object.templateArgs);\n var tempComponent = (0, createApp)(Object.assign({}, object.template, {\n data: function data() {\n return Object.assign({}, object.template.data ? object.template.data() : {}, {\n templateArgs: newTemplateArgs\n });\n }\n }));\n kendoguid = 'kendo' + kendo.guid();\n\n that.$nextTick(function () {\n if (document.getElementById(kendoguid)) {\n tempComponent.mount('#' + kendoguid);\n that.$_nativeTemplates.push(tempComponent);\n }\n });\n } else {\n var newVue = allVue.default.extend(object);\n var vueObject = new newVue(object.template);\n vueObject.$data.templateArgs = object.templateArgs;\n kendoguid = 'kendo' + kendo.guid();\n that.$nextTick(function () {\n if (document.getElementById(kendoguid)) {\n vueObject.$mount('#' + kendoguid);\n that.$_nativeTemplates.push(vueObject);\n }\n });\n }\n\n return '
';\n };\n },\n resolveChildren: function resolveChildren(prop, name) {\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n if (!this.widgetOptions[prop] && defaultSlot) {\n var items = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = defaultSlot[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var childSlot = _step.value;\n\n if (childSlot.tag && childSlot.tag.indexOf(name) !== -1 || childSlot.type && childSlot.type.name && childSlot.type.name.toLowerCase().indexOf(name) !== -1) {\n var childInstance = this.v3 ? childSlot : childSlot.componentInstance;\n var itemOptions = this.parseOptions(childInstance);\n\n if (itemOptions.dataSourceRef) {\n this.setInnerDataSource('dataSourceRef', 'dataSource', itemOptions);\n }\n\n items.push(itemOptions);\n this.handleWatcher(childInstance);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n if (items.length) {\n this.widgetOptions[prop] = items;\n }\n }\n },\n handleWatcher: function handleWatcher(childInstance) {\n var that = this;\n childInstance.stashedPropsData = JSON.stringify(that.v3 ? childInstance.$props : childInstance.$options.propsData);\n\n if (!that.v3 && !childInstance._isWatchAttached) {\n childInstance.$watch('$props', function () {\n var props = that.v3 ? childInstance.$props : childInstance.$options.propsData;\n var propsAsJson = JSON.stringify(props);\n var needsUpdate = childInstance.stashedPropsData !== propsAsJson;\n\n if (that.updateWidget && needsUpdate) {\n that.updateWidget();\n } else if (that._resolveInnerChildren) {\n that._resolveInnerChildren();\n }\n\n childInstance.stashedPropsData = propsAsJson;\n }, { deep: true });\n\n childInstance._isWatchAttached = true;\n }\n },\n makeDisabled: function makeDisabled(toDisable) {\n if (this.kendoWidget().enable) {\n this.kendoWidget().enable(!toDisable);\n }\n },\n makeReadonly: function makeReadonly(value) {\n if (this.kendoWidget().readonly) {\n this.kendoWidget().readonly(value);\n }\n },\n changeValue: function changeValue(newValue) {\n if (this.kendoWidget().value) {\n this.kendoWidget().value(newValue);\n }\n },\n resolveWidgetOptions: function resolveWidgetOptions() {\n this.widgetOptions = this.parseOptions();\n },\n getListeners: function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in this.$attrs) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n\n return listeners;\n } else {\n return this.$listeners;\n }\n },\n parseOptions: function parseOptions(component, defaultMixins) {\n var _this = this;\n\n var that = component || this;\n var options = {};\n var props = this.v3 ? component ? that.props : that.$props : that.$options.propsData;\n\n var _loop = function _loop(_key) {\n propOptions = _this.v3 ? component ? undefined : (that.$options.__props ? that.$options.__props[0][_key] : that.$options.props[_key]) || that.$options.__props[0][0][_key] : that.$options.props[_key];\n val = props[_key];\n\n if (_this.v3 && _key.indexOf('-') !== -1) {\n _key = _this.camelize(_key);\n }\n\n compositeProps = propOptions ? propOptions.kComposite : undefined;\n\n\n if (that.v3 || _this.v3) {\n var mixins = component ? defaultMixins || component.type.mixins : that.$options.mixins;\n if (mixins) {\n mixins.forEach(function (mixin) {\n if (mixin.props && mixin.name !== 'baseComponent' && mixin.name !== 'baseDataSourceComponent' && mixin.props[_key] !== undefined && (that.$props ? that.$props[_key] !== undefined : true)) {\n compositeProps = mixin.props[_key].kComposite;\n }\n });\n }\n }\n\n if (!compositeProps) {\n if (_key.toLowerCase().indexOf('template') !== -1 && val instanceof Function) {\n options[_key] = _this.transformTemplate(_key, val);\n } else {\n if (val !== undefined) {\n options[_key] = val;\n }\n }\n } else {\n if (val !== undefined) {\n _this.addCompositeProperty(options, compositeProps.split('.'), val);\n }\n }\n key = _key;\n };\n\n for (var key in props) {\n var propOptions;\n var val;\n var compositeProps;\n\n _loop(key);\n }\n\n if (that.getListeners) {\n if (this.v3) {\n Object.keys(that.$attrs).forEach(function (event) {\n var listeners = that.getListeners();\n var eventName = _this.v3 ? event : event.toLowerCase();\n if (listeners && listeners[eventName]) {\n var kendoIndex = event.lastIndexOf('kendo');\n var kendoEvent;\n if (kendoIndex !== -1) {\n kendoEvent = event.replace('kendo', '').toLowerCase();\n }\n\n if (_this.v3 && event.indexOf('onKendo') !== -1) {\n kendoEvent = event.replace('onKendo', '').toLowerCase();\n }\n var kendoEventProp = Object.keys(that.$props).find(function (e) {\n return e.toLowerCase() === _this.removeOn(event);\n });\n options[kendoEvent || kendoEventProp || _this.removeOn(event)] = listeners[eventName];\n }\n });\n } else {\n Object.keys(that.$props).forEach(function (event) {\n var listeners = that.getListeners();\n if (listeners && listeners[event.toLowerCase()]) {\n var kendoIndex = event.lastIndexOf('kendo');\n var kendoEvent;\n if (kendoIndex !== -1) {\n kendoEvent = event.replace('kendo', '').toLowerCase();\n }\n\n options[kendoEvent || event] = listeners[event.toLowerCase()];\n }\n });\n }\n }\n\n if (this.v3 && this.$props.modelValue) {\n options.value = this.$props.modelValue;\n }\n\n return options;\n },\n addCompositeProperty: function addCompositeProperty(obj, keys, val) {\n var lastKey = keys.pop();\n var lastObj = keys.reduce(function (obj, key) {\n obj[key] = _typeof(obj[key]) === 'object' ? obj[key] || {} : {};\n return obj[key];\n }, obj);\n\n if (lastKey.toLowerCase().indexOf('template') !== -1 && val instanceof Function) {\n lastObj[lastKey] = this.transformTemplate(lastKey, val);\n } else {\n lastObj[lastKey] = val;\n }\n },\n resolveInnerTags: function resolveInnerTags(tagName) {\n var items = [];\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = defaultSlot[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var childSlot = _step2.value;\n\n if (childSlot.tag && childSlot.tag.indexOf(tagName) !== -1 || childSlot.type && childSlot.type.name && childSlot.type.name.toLowerCase().indexOf(tagName) !== -1) {\n var childOptions = childSlot.componentOptions;\n var childInstance = this.v3 ? childSlot : childSlot.componentInstance;\n var item = this.v3 ? childInstance.$props || childInstance.props : childOptions.propsData;\n\n if (this.v3) {\n var itemKeys = Object.keys(item);\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = itemKeys[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var propKey = _step3.value;\n\n if (propKey.indexOf('-') !== -1) {\n item[this.camelize(propKey)] = item[propKey];\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n\n if (!item.items) {\n item.items = childInstance.subitems;\n }\n\n items.push(item);\n this.handleWatcher(childInstance);\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return items;\n },\n ready: function ready() {\n var that = this;\n\n if (this.$el.classList.length > 0) {\n that.kendoClasses = [].concat(_toConsumableArray(that.$el.classList)).filter(function (item) {\n return that.nativeClasses.indexOf(item) < 0;\n });\n }\n var props = that.v3 ? that.$props : that.$options.propsData;\n if (props && props.disabled) {\n that.makeDisabled(true);\n }\n\n if (props && props.readonly) {\n that.makeReadonly(true);\n }\n },\n camelize: function camelize(str) {\n var arr = str.split('-');\n var capital = arr.map(function (item, index) {\n return index ? item.charAt(0).toUpperCase() + item.slice(1).toLowerCase() : item;\n });\n var capitalString = capital.join('');\n\n return capitalString;\n },\n removeOn: function removeOn(str) {\n\n if (str.indexOf('onKendo') !== -1) {\n return str.replace('onKendo', '').toLowerCase();\n }\n\n return str.replace('on', '').toLowerCase();\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'baseDataSourceComponent',\n props: {\n dataSourceRef: {\n type: String,\n default: undefined\n }\n },\n render: function render(h) {\n return h('div');\n },\n\n methods: {\n findDataSource: function findDataSource() {\n var dataSource;\n if (this.$children) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.$children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var a = _step.value;\n\n if (this.$children.length && a.kendoDataSource) {\n dataSource = a.kendoDataSource;\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n return dataSource;\n },\n setInnerDataSource: function setInnerDataSource() {\n var dataSourceRefProp = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'dataSourceRef';\n var rootProp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'dataSource';\n var subProp = arguments[2];\n\n var innerDataSource = this.findDataSource();\n\n if (innerDataSource) {\n if (!subProp) {\n this.widgetOptions[rootProp] = innerDataSource;\n } else {\n subProp[rootProp] = innerDataSource;\n }\n } else {\n var refString = subProp ? subProp[dataSourceRefProp] : this[dataSourceRefProp];\n var referredDataSource = this.getParentsRef(refString);\n\n if (referredDataSource) {\n this.attachEvents(referredDataSource);\n if (!subProp) {\n this.widgetOptions[rootProp] = referredDataSource.kendoDataSource;\n } else {\n subProp[rootProp] = referredDataSource.kendoDataSource;\n }\n }\n }\n },\n getParentsRef: function getParentsRef(anchor) {\n var parent = this.$parent;\n\n while (parent && !parent.$refs[anchor]) {\n parent = parent.$parent;\n }\n\n return parent ? parent.$refs[anchor] : undefined;\n },\n setDataSource: function setDataSource(newValue) {\n var newDataSourceRef = this.getParentsRef(newValue);\n var kendoWidget = this.kendoWidget();\n\n if (kendoWidget.setDataSource && newDataSourceRef) {\n kendoWidget.setDataSource(newDataSourceRef.kendoDataSource);\n } else if (kendoWidget.setDataSource) {\n kendoWidget.setDataSource(newValue);\n }\n },\n attachEvents: function attachEvents(referredDataSource) {\n if (referredDataSource.kendoDataSource) {\n referredDataSource.kendoDataSource.bind('change', function (ev) {\n if (referredDataSource.getListeners()['change']) {\n referredDataSource.$emit('change', ev);\n }\n });\n\n referredDataSource.kendoDataSource.bind('error', function (ev) {\n if (referredDataSource.getListeners()['error']) {\n referredDataSource.$emit('error', ev);\n }\n });\n\n referredDataSource.kendoDataSource.bind('push', function (ev) {\n if (referredDataSource.getListeners()['push']) {\n referredDataSource.$emit('push', ev);\n }\n });\n\n referredDataSource.kendoDataSource.bind('requestEnd', function (ev) {\n if (referredDataSource.getListeners()['requestend']) {\n referredDataSource.$emit('requestend', ev);\n }\n });\n\n referredDataSource.kendoDataSource.bind('requestStart', function (ev) {\n if (referredDataSource.getListeners()['requeststart']) {\n referredDataSource.$emit('requeststart', ev);\n }\n });\n\n referredDataSource.kendoDataSource.bind('sync', function (ev) {\n if (referredDataSource.getListeners()['sync']) {\n referredDataSource.$emit('sync', ev);\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var that = this;\n\n that.$watch('dataSourceRef', function (newValue) {\n that.setDataSource(newValue);\n });\n that.$watch('dataSource', function (newValue) {\n that.setDataSource(newValue);\n });\n\n that.setInnerDataSource();\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue; // @ts-ignore\n\nvar gh = allVue.h;\nexports.default = {\n render: function render(createElement) {\n var h = gh || createElement;\n return h('input', {\n ref: 'valueInput',\n props: {\n value: this.value\n }\n });\n },\n\n model: {\n event: 'changemodel'\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n methods: {\n resolveInnerTags: function resolveInnerTags(tagName) {\n var items = [];\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = defaultSlot[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var childSlot = _step.value;\n\n if (childSlot.tag && childSlot.tag.indexOf(tagName) !== -1 || childSlot.type && childSlot.type.name && childSlot.type.name.toLowerCase().indexOf(tagName) !== -1) {\n var childOptions = childSlot.componentOptions;\n var childInstance = this.v3 ? childSlot : childSlot.componentInstance;\n var item = this.v3 ? childInstance.$props || childInstance.props : childOptions.propsData;\n\n if (this.v3) {\n var itemKeys = Object.keys(item);\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = itemKeys[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var propKey = _step2.value;\n\n if (propKey.indexOf('-') !== -1) {\n item[this.camelize(propKey)] = item[propKey];\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n if (!item.items) {\n item.items = childInstance.subitems;\n }\n\n items.push(item);\n this.handleWatcher(childInstance);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return items;\n },\n handleWatcher: function handleWatcher(childInstance) {\n var that = this;\n\n if (!childInstance._isWatchAttached && childInstance.$watch) {\n childInstance.$watch('$props', function () {\n if (that.updateWidget) {\n that.updateWidget();\n } else if (that._resolveInnerChildren) {\n that._resolveInnerChildren();\n }\n }, { deep: true });\n\n childInstance._isWatchAttached = true;\n }\n },\n camelize: function camelize(str) {\n var arr = str.split('-');\n var capital = arr.map(function (item, index) {\n return index ? item.charAt(0).toUpperCase() + item.slice(1).toLowerCase() : item;\n });\n var capitalString = capital.join('');\n\n return capitalString;\n }\n }\n};","/**\n * @hidden\n */\nexport var isPresent = function (value) { return value !== null && value !== undefined; };\n/**\n * @hidden\n */\nexport var isBlank = function (value) { return value === null || value === undefined; };\n/**\n * @hidden\n */\nexport var isArray = function (value) { return Array.isArray(value); };\n/**\n * @hidden\n */\nexport var isFunction = function (value) { return typeof value === 'function'; };\n/**\n * @hidden\n */\nexport var isString = function (value) { return typeof value === 'string'; };\n/**\n * @hidden\n */\nexport var isTruthy = function (value) { return !!value; };\n/**\n * @hidden\n */\nexport var isNullOrEmptyString = function (value) { return isBlank(value) || value.trim().length === 0; };\n/**\n * @hidden\n */\nexport var isNotNullOrEmptyString = function (value) { return !isNullOrEmptyString(value); };\n/**\n * @hidden\n */\nexport var isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n/**\n * @hidden\n */\nexport var isDate = function (value) { return value && value.getTime; };\n","import { isPresent } from '../utils';\n// tslint:enable:max-line-length\n/**\n * @hidden\n * Type guard for `CompositeFilterDescriptor`.\n */\nexport var isCompositeFilterDescriptor = function (source) {\n return isPresent(source.filters);\n};\n","/**\n * @hidden\n */\nexport var ifElse = function (predicate, right, left) { return function (value) { return predicate(value) ? right(value) : left(value); }; };\n/**\n * @hidden\n * Performs the right-to-left function composition. Functions should have a unary.\n */\nexport var compose = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return function (data) { return args.reduceRight(function (acc, curr) { return curr(acc); }, data); };\n};\n/**\n * @hidden\n */\nexport var constant = function (x) { return function () { return x; }; };\n/**\n * @hidden\n */\nexport var identity = function (x) { return x; };\n","import { isPresent } from './utils';\nvar getterCache = {};\nvar FIELD_REGEX = /\\[(?:(\\d+)|['\"](.*?)['\"])\\]|((?:(?!\\[.*?\\]|\\.).)+)/g;\n// tslint:disable-next-line:no-string-literal\ngetterCache['undefined'] = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport var getter = function (field, safe) {\n var key = field + safe;\n if (getterCache[key]) {\n return getterCache[key];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_, index, indexAccessor, field) {\n fields.push(isPresent(index) ? index : (indexAccessor || field));\n return undefined;\n });\n getterCache[key] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length; idx++) {\n result = result[fields[idx]];\n if (!isPresent(result) && safe) {\n return result;\n }\n }\n return result;\n };\n return getterCache[key];\n};\n","import * as tslib_1 from \"tslib\";\nimport { isPresent, isNotNullOrEmptyString } from './utils';\nimport { serializeFilter } from './odata-filtering.operators';\nimport { ifElse, constant } from './funcs';\nvar serializeSort = function (orderby) {\n var str = orderby\n .filter(function (sort) { return isPresent(sort.dir); })\n .map(function (sort) {\n var order = sort.field.replace(/\\./g, \"/\");\n return sort.dir === \"desc\" ? order + \" desc\" : order;\n }).join(\",\");\n return str ? \"$orderby=\" + str : str;\n};\nvar emptyString = constant('');\nvar concat = function (a) { return function (b) { return a + b; }; };\nvar serializeKey = function (strings, val) { return ifElse(isPresent, concat(strings[0]), emptyString)(val); };\nvar rules = function (settings, state) { return function (key) { return ({\n \"filter\": serializeFilter(state.filter || {}, settings),\n \"skip\": serializeKey(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"$skip=\", \"\"], [\"$skip=\", \"\"])), state.skip),\n \"sort\": serializeSort(state.sort || []),\n \"take\": serializeKey(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject([\"$top=\", \"\"], [\"$top=\", \"\"])), state.take)\n}[key]); }; };\n// tslint:enable:max-line-length\n/**\n * Converts a [State]({% slug api_kendo-data-query_state %}) into an OData v4 compatible string.\n *\n * @param {State} state - The state that will be serialized.\n * @param {ODataSettings} settings - The settings that are used during the serialization.\n * @returns {string} - The serialized state.\n */\nexport var toODataString = function (state, settings) {\n if (settings === void 0) { settings = {}; }\n return (Object.keys(state)\n .map(rules(settings, state))\n .filter(isNotNullOrEmptyString)\n .join('&'));\n};\nvar templateObject_1, templateObject_2;\n","/**\n * Represents the list of supported [`FilterDescriptor`]({% slug api_kendo-data-query_filterdescriptor %}) operators.\n * Allows restricting `FilterDescriptor.operator` definition to available values only.\n */\nexport var FilterOperator;\n(function (FilterOperator) {\n /**\n * The `contains` operator.\n */\n FilterOperator[\"Contains\"] = \"contains\";\n /**\n * The `doesnotcontain` operator.\n */\n FilterOperator[\"DoesNotContain\"] = \"doesnotcontain\";\n /**\n * The `doesnotendwith` operator.\n */\n FilterOperator[\"DoesNotEndWith\"] = \"doesnotendwith\";\n /**\n * The `doesnotstartwith` operator.\n */\n FilterOperator[\"DoesNotStartWith\"] = \"doesnotstartwith\";\n /**\n * The `endswith` operator.\n */\n FilterOperator[\"EndsWith\"] = \"endswith\";\n /**\n * The `eq` operator.\n */\n FilterOperator[\"EqualTo\"] = \"eq\";\n /**\n * The `gt` operator.\n */\n FilterOperator[\"GreaterThan\"] = \"gt\";\n /**\n * The `gte` operator.\n */\n FilterOperator[\"GreaterThanOrEqual\"] = \"gte\";\n /**\n * The `isempty` operator.\n */\n FilterOperator[\"IsEmpty\"] = \"isempty\";\n /**\n * The `isnotempty` operator.\n */\n FilterOperator[\"IsNotEmpty\"] = \"isnotempty\";\n /**\n * The `isnotnull` operator.\n */\n FilterOperator[\"IsNotNull\"] = \"isnotnull\";\n /**\n * The `isnull` operator.\n */\n FilterOperator[\"IsNull\"] = \"isnull\";\n /**\n * The `lt` operator.\n */\n FilterOperator[\"LessThan\"] = \"lt\";\n /**\n * The `lte` operator.\n */\n FilterOperator[\"LessThanOrEqual\"] = \"lte\";\n /**\n * The `neq` operator.\n */\n FilterOperator[\"NotEqualTo\"] = \"neq\";\n /**\n * The `startswith` operator.\n */\n FilterOperator[\"StartsWith\"] = \"startswith\";\n})(FilterOperator || (FilterOperator = {}));\n","import * as tslib_1 from \"tslib\";\nimport { isString, isDate } from './utils';\n/**\n * @hidden\n * Creates a single arity function which wraps the value based on the provided predicate.\n * @example\n * ```\n * wrapIf(() => ignoreCase) `tolower(${field})`\n * //ignoreCase=true -> tolower(${field})`\n * //ignoreCase=false -> ${field}`\n * ```\n */\nexport var wrapIf = function (predicate) { return function (str) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return predicate() ? \"\" + str[0] + args[0] + str[1] : args[0];\n}; };\n/**\n * @hidden\n */\nexport var toUTC = function (date) {\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n};\n/**\n * @hidden\n */\nexport var quote = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: \"'\" + value.replace(/'/g, \"''\") + \"'\",\n field: field,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var encodeValue = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: \"\" + encodeURIComponent(value),\n field: field,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var toLower = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n field: wrapIf(function () { return ignoreCase; })(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"tolower(\", \")\"], [\"tolower(\", \")\"])), field),\n value: value,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var normalizeField = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: value,\n field: field.replace(/\\./g, \"/\"),\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var isStringValue = function (x) { return isString(x.value); };\n/**\n * @hidden\n */\nexport var isDateValue = function (x) { return isDate(x.value); };\n/**\n * @hidden\n */\nexport var serializeFilters = function (map, join) { return function (filter) {\n var brackets = wrapIf(function () { return filter.filters.length > 1; });\n return brackets(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject([\"(\", \")\"], [\"(\",\n \")\"])), filter.filters\n .map(map)\n .join(join(filter)));\n}; };\nvar templateObject_1, templateObject_2;\n","import * as tslib_1 from \"tslib\";\nimport { isCompositeFilterDescriptor } from '../filtering/filter-descriptor.interface';\nimport { isPresent, isNotNullOrEmptyString, isArray } from '../utils';\nimport { getter } from '../accessor';\nimport { compose, ifElse, identity } from '../funcs';\nimport { isStringValue, isDateValue, quote, serializeFilters, toUTC, encodeValue } from '../filter-serialization.common';\nvar toQueryString = function (values) { return values.reduce(function (acc, _a) {\n var key = _a[0], value = _a[1];\n return acc.concat([key + \"=\" + value]);\n}, []); };\nvar toObject = function (values) { return values.reduce(function (acc, _a) {\n var key = _a[0], value = _a[1];\n var _b;\n return (tslib_1.__assign({}, acc, (_b = {}, _b[key] = value, _b)));\n}, {}); };\nvar pairwise = function (key) { return function (value) { return [key, value]; }; };\nvar empty = function () { return null; };\nvar isNotEmptyArray = function (value) { return isPresent(value) && isArray(value) && value.length > 0; };\nvar has = function (accessor) { return function (value) { return isPresent(accessor(value)); }; };\nvar isNotEmpty = function (accessor) { return function (value) { return isNotEmptyArray(accessor(value)); }; };\nvar runOrEmpty = function (predicate, fn) { return ifElse(predicate, fn, empty); };\nvar calcPage = function (_a) {\n var skip = _a.skip, take = _a.take;\n return Math.floor((skip || 0) / take) + 1;\n};\nvar formatDescriptors = function (accessor, formatter) { return function (state) { return (accessor(state).map(formatter).join(\"~\")); }; };\nvar removeAfter = function (what) { return function (str) { return str.slice(0, str.indexOf(what)); }; };\nvar replace = function (patterns) {\n return compose.apply(void 0, patterns.map(function (_a) {\n var left = _a[0], right = _a[1];\n return function (s) { return s.replace(new RegExp(left, \"g\"), right); };\n }));\n};\nvar sanitizeDateLiterals = replace([[\"\\\"\", \"\"], [\":\", \"-\"]]);\nvar removeAfterDot = removeAfter(\".\");\nvar directionFormatter = function (_a) {\n var field = _a.field, _b = _a.dir, dir = _b === void 0 ? \"asc\" : _b;\n return field + \"-\" + dir;\n};\nvar aggregateFormatter = function (_a) {\n var field = _a.field, aggregate = _a.aggregate;\n return field + \"-\" + aggregate;\n};\nvar take = getter(\"take\");\nvar aggregates = getter(\"aggregates\");\nvar skip = getter(\"skip\");\nvar group = getter(\"group\");\nvar sort = getter(\"sort\", true);\nvar formatSort = formatDescriptors(sort, directionFormatter);\nvar formatGroup = formatDescriptors(group, directionFormatter);\nvar formatAggregates = formatDescriptors(aggregates, aggregateFormatter);\nvar prefixDateValue = function (value) { return \"datetime'\" + value + \"'\"; };\nvar formatDateValue = compose(prefixDateValue, removeAfterDot, sanitizeDateLiterals, JSON.stringify, toUTC);\nvar formatDate = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: formatDateValue(value),\n field: field,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\nvar normalizeSort = function (state) { return Object.assign({}, state, {\n sort: (sort(state) || []).filter(function (_a) {\n var dir = _a.dir;\n return isNotNullOrEmptyString(dir);\n })\n}); };\nvar transformSkip = compose(pairwise('page'), calcPage);\nvar transformTake = compose(pairwise('pageSize'), take);\nvar transformGroup = compose(pairwise('group'), formatGroup);\nvar transformSort = compose(pairwise('sort'), formatSort);\nvar transformAggregates = compose(pairwise('aggregate'), formatAggregates);\nvar serializePage = runOrEmpty(has(skip), transformSkip);\nvar serializePageSize = runOrEmpty(has(take), transformTake);\nvar serializeGroup = runOrEmpty(isNotEmpty(group), transformGroup);\nvar serializeAggregates = runOrEmpty(has(aggregates), transformAggregates);\nvar serializeSort = compose(runOrEmpty(isNotEmpty(sort), transformSort), normalizeSort);\nvar hasField = function (_a) {\n var field = _a.field;\n return isNotNullOrEmptyString(field);\n};\nvar filterFormatter = function (_a) {\n var field = _a.field, operator = _a.operator, value = _a.value;\n return field + \"~\" + operator + \"~\" + value;\n};\nvar dateFormatter = ifElse(isDateValue, compose(filterFormatter, formatDate), filterFormatter);\nvar typedFormatter = function (encode) { return runOrEmpty(hasField, ifElse(isStringValue, compose(filterFormatter, quote, encode ? encodeValue : identity), dateFormatter)); };\nvar join = function (_a) {\n var logic = _a.logic;\n return \"~\" + logic + \"~\";\n};\nvar serialize = function (encode) { return serializeFilters(function (filter) { return ifElse(isCompositeFilterDescriptor, serialize(encode), typedFormatter(encode))(filter); }, join); };\nvar serializeFilter = function (_a, encode) {\n var filter = _a.filter;\n if (filter && filter.filters) {\n var filters = serialize(encode)(filter);\n if (filters.length) {\n return ['filter', filters];\n }\n }\n return null;\n};\nvar rules = function (state, encode) {\n if (encode === void 0) { encode = true; }\n return function (key) { return ({\n \"aggregates\": serializeAggregates(state),\n \"filter\": serializeFilter(state, encode),\n \"group\": serializeGroup(state),\n \"skip\": serializePage(state),\n \"sort\": serializeSort(state),\n \"take\": serializePageSize(state)\n }[key]); };\n};\n/**\n * Converts a [DataSourceRequestState]({% slug api_kendo-data-query_datasourcerequeststate %}) into a string\n * that is comparable with the `DataSourceRequest` format in UI for ASP.NET MVC.\n *\n * @param {DataRequestState} state - The state that will be serialized.\n * @returns {string} - The serialized state.\n *\n * @example\n * {% platform_content angular %}\n * ```ts\n * import {\n * toDataSourceRequestString,\n * translateDataSourceResultGroups,\n * translateAggregateResults\n * } from '@progress/kendo-data-query';\n *\n * export class Service {\n * private BASE_URL: string = '...';\n *\n * constructor(private http: Http) { }\n *\n * // Omitted for brevity...\n *\n * private fetch(state: DataSourceRequestState): Observable {\n * const queryStr = `${toDataSourceRequestString(state)}`; //serialize the state\n * const hasGroups = state.group && state.group.length;\n *\n * return this.http\n * .get(`${this.BASE_URL}?${queryStr}`) //send the state to the server\n * .map(response => response.json())\n * .map(({Data, Total, AggregateResults}) => // process the response\n * ({\n * //if there are groups convert them to compatible format\n * data: hasGroups ? translateDataSourceResultGroups(Data) : Data,\n * total: Total,\n * // convert the aggregates if such exists\n * aggregateResult: translateAggregateResults(AggregateResults)\n * })\n * );\n * }\n * }\n * ```\n * {% endplatform_content %}\n *\n * {% platform_content react %}\n * ```jsx\n * import React from 'react';\n * import { toDataSourceRequestString, translateDataSourceResultGroups } from '@progress/kendo-data-query';\n *\n * export function withState(WrappedGrid) {\n * return class StatefullGrid extends React.Component {\n * constructor(props) {\n * super(props);\n * this.state = { dataState: { skip: 0, take: 20 } };\n * }\n *\n * render() {\n * return (\n * \n * );\n * }\n *\n * componentDidMount() {\n * this.fetchData(this.state.dataState);\n * }\n *\n * dataStateChange = (changeEvent) => {\n * this.setState({ dataState: changeEvent.data });\n * this.fetchData(changeEvent.data);\n * }\n *\n * fetchData(dataState) {\n * const queryStr = `${toDataSourceRequestString(dataState)}`; // Serialize the state\n * const hasGroups = dataState.group && dataState.group.length;\n *\n * const base_url = 'api/Products';\n * const init = { method: 'GET', accept: 'application/json', headers: {} };\n *\n * fetch(`${base_url}?${queryStr}`, init)\n * .then(response => response.json())\n * .then(({ data, total }) => {\n * this.setState({\n * data: hasGroups ? translateDataSourceResultGroups(data) : data,\n * total,\n * dataState\n * });\n * });\n * }\n * }\n * }\n * ```\n * {% endplatform_content %}\n */\nexport var toDataSourceRequestString = function (state) { return (toQueryString(Object.keys(state)\n .map(rules(state))\n .filter(isPresent)).join('&')); };\n/**\n * Converts a [DataSourceRequestState]({% slug api_kendo-data-query_datasourcerequeststate %}) into an object\n * that is compatible with the `DataSourceRequest` format in UI for ASP.NET MVC.\n *\n * @param {DataRequestState} state - The state that will be serialized.\n * @returns {any} - The serialized state.\n */\nexport var toDataSourceRequest = function (state) { return (toObject(Object.keys(state)\n .map(rules(state, false))\n .filter(isPresent))); };\n","import { isPresent } from '../utils';\nimport { compose } from '../funcs';\n// tslint:enable:max-line-length\nvar set = function (field, target, value) {\n target[field] = value;\n return target;\n};\nvar toCamelCase = function (str) { return str.replace(/(^[A-Z])/g, function (_, g1) { return g1.toLowerCase(); }); };\nvar prop = function (fieldName) { return function (obj) {\n var value = obj[fieldName];\n if (isPresent(value)) {\n return value;\n }\n return obj[toCamelCase(fieldName)];\n}; };\nvar member = prop(\"Member\");\nvar aggregateMethodName = prop(\"AggregateMethodName\");\nvar value = prop(\"Value\");\nvar convert = function (mapper) { return function (values) { return Object.keys(values).reduce(mapper.bind(null, values), {}); }; };\nvar translateAggregate = convert(function (source, acc, field) { return set(field.toLowerCase(), acc, source[field]); });\nvar translateAggregates = convert(function (source, acc, field) { return set(field, acc, translateAggregate(source[field])); });\nvar valueOrDefault = function (value, defaultValue) { return isPresent(value) ? value : defaultValue; };\nvar normalizeGroup = function (group) { return ({\n aggregates: group.Aggregates || group.aggregates,\n field: group.Member || group.member || group.field,\n hasSubgroups: group.HasSubgroups || group.hasSubgroups || false,\n items: group.Items || group.items,\n value: valueOrDefault(group.Key, valueOrDefault(group.key, group.value))\n}); };\nvar translateGroup = compose(function (_a) {\n var field = _a.field, hasSubgroups = _a.hasSubgroups, value = _a.value, aggregates = _a.aggregates, items = _a.items;\n return ({\n aggregates: translateAggregates(aggregates),\n field: field,\n items: hasSubgroups ? items.map(translateGroup) : items,\n value: value\n });\n}, normalizeGroup);\n// tslint:disable:max-line-length\n/**\n * Converts the grouped result, which is returned into the `Data` field of the UI for ASP.NET MVC `ToDataSourceResult` method, to a comparable format.\n * @param data - The value of the `Data` field of the response.\n * @returns {GroupResult[]} - The converted result.\n */\nexport var translateDataSourceResultGroups = function (data) { return data.map(translateGroup); };\n/**\n * Converts the `AggregateResults` field content, which is returned by the UI for ASP.NET MVC `ToDataSourceResult` method, to a comparable format.\n * @param data - The value of the `AggregateResults` field of the response.\n * @returns {AggregateResult} - The converted result.\n */\n// tslint:enable:max-line-length\nexport var translateAggregateResults = function (data) { return ((data || []).reduce(function (acc, x) { return set(member(x), acc, set(aggregateMethodName(x).toLowerCase(), acc[member(x)] || {}, value(x))); }, {})); };\n","import { isPresent, isBlank } from '../utils';\nimport { getter } from '../accessor';\nvar compare = function (a, b) {\n if (isBlank(a)) {\n return a === b ? 0 : -1;\n }\n if (isBlank(b)) {\n return 1;\n }\n if (a.localeCompare) {\n return a.localeCompare(b);\n }\n return a > b ? 1 : (a < b ? -1 : 0);\n};\nvar compareDesc = function (a, b) { return compare(b, a); };\nvar descriptorAsFunc = function (descriptor) {\n var prop = getter(descriptor.field, true);\n return function (a, b) { return (descriptor.dir === 'asc' ? compare : compareDesc)(prop(a), prop(b)); };\n};\nvar initial = function (_a, _b) { return 0; };\n// tslint:disable:max-line-length\n/**\n * Converts the `SortDescriptors` into a [Comparer]({% slug api_kendo-data-query_comparer %}) function that can be used through `Array.sort`. If multiple descriptors are provided, sorting is applied in a right-to-left order.\n * @param {SortDescriptor[]} descriptors - The descriptors which will be converted.\n * @returns {Comparer} - The produced function.\n *\n * @example\n * ```ts\n * import { composeSortDescriptors } from '@progress/kendo-data-query';\n *\n * const data = [{ name: \"Pork\" }, { name: \"Pepper\" }, { name: \"Beef\" } ];\n * const comparer = composeSortDescriptors([{ field: \"name\", dir: \"asc\" }]);\n * const result = data.sort(comparer);\n * // output: [{ name: \"Beef\" }, { name: \"Pepper\" }, { name: \"Pork\" }];\n * ```\n */\n// tslint:enable:max-line-length\nexport var composeSortDescriptors = function (descriptors) { return (descriptors\n .filter(function (x) { return isPresent(x.dir); })\n .map(function (descriptor) { return descriptorAsFunc(descriptor); })\n .reduce(function (acc, curr) { return function (a, b) { return acc(a, b) || curr(a, b); }; }, initial)); };\n","import { isPresent, isNumeric, isDate } from './utils';\nimport { getter } from './accessor';\nvar valueToString = function (value) {\n value = isPresent(value) && value.getTime ? value.getTime() : value;\n return value + \"\";\n};\n/**\n * @hidden\n */\nexport var groupCombinator = function (field) {\n var prop = getter(field, true);\n var position = 0;\n return function (agg, value) {\n agg[field] = agg[field] || {};\n var groupValue = prop(value);\n var key = valueToString(groupValue);\n var values = agg[field][key] || { __position: position++, aggregates: {}, items: [], value: groupValue };\n values.items.push(value);\n agg[field][key] = values;\n return agg;\n };\n};\n/**\n * @hidden\n */\nexport var expandAggregates = function (result) {\n if (result === void 0) { result = {}; }\n Object.keys(result).forEach(function (field) {\n var aggregates = result[field];\n Object.keys(aggregates).forEach(function (aggregate) {\n aggregates[aggregate] = aggregates[aggregate].result();\n });\n });\n return result;\n};\nvar aggregatesFuncs = function (name) { return ({\n average: function () {\n var value = 0;\n var count = 0;\n return {\n calc: function (curr) {\n if (isNumeric(curr)) {\n value += curr;\n count++;\n }\n else {\n value = curr;\n }\n },\n result: function () { return isNumeric(value) ? value / count : value; }\n };\n },\n count: function () {\n var state = 0;\n return {\n calc: function () { return state++; },\n result: function () { return state; }\n };\n },\n max: function () {\n var state = Number.NEGATIVE_INFINITY;\n return {\n calc: function (value) {\n state = isNumeric(state) || isDate(state) ? state : value;\n if (state < value && (isNumeric(value) || isDate(value))) {\n state = value;\n }\n },\n result: function () { return state; }\n };\n },\n min: function () {\n var state = Number.POSITIVE_INFINITY;\n return {\n calc: function (value) {\n state = isNumeric(state) || isDate(state) ? state : value;\n if (state > value && (isNumeric(value) || isDate(value))) {\n state = value;\n }\n },\n result: function () { return state; }\n };\n },\n sum: function () {\n var state = 0;\n return {\n calc: function (value) {\n value = isPresent(value) ? value : 0;\n state += value;\n },\n result: function () { return state; }\n };\n }\n}[name]()); };\n/**\n * @hidden\n */\nexport var aggregatesCombinator = function (descriptors) {\n var functions = descriptors.map(function (descriptor) {\n var fieldAccessor = getter(descriptor.field, true);\n var aggregateName = (descriptor.aggregate || \"\").toLowerCase();\n var aggregateAccessor = getter(aggregateName, true);\n return function (state, value) {\n var fieldAggregates = state[descriptor.field] || {};\n var aggregateFunction = aggregateAccessor(fieldAggregates)\n || aggregatesFuncs(aggregateName);\n aggregateFunction.calc(fieldAccessor(value));\n fieldAggregates[descriptor.aggregate] = aggregateFunction;\n state[descriptor.field] = fieldAggregates;\n return state;\n };\n });\n return function (state, value) { return functions.reduce(function (agg, calc) { return calc(agg, value); }, state); };\n};\n/**\n * @hidden\n * Adds the value to the `arr` and produces a new array.\n *\n * > The original array will be modified.\n */\nexport var concat = function (arr, value) {\n arr.push(value);\n return arr;\n};\n/**\n * @hidden\n * Returns a reducer that will apply the specified transformation to the value.\n */\nexport var map = function (transform) { return (function (reduce) { return (function (acc, curr, index) { return reduce(acc, transform(curr, index)); }); }); };\n/**\n * @hidden\n * Returns a reducer that will filter out items which do not match the `Predicate`.\n */\nexport var filter = function (predicate) { return (function (reduce) { return (function (acc, curr) { return predicate(curr) ? reduce(acc, curr) : acc; }); }); };\n/**\n * @hidden\n */\nexport var isTransformerResult = function (source) {\n return isPresent(source.__value);\n};\nvar reduced = function (x) {\n if (isTransformerResult(x)) {\n return x;\n }\n return {\n __value: x,\n reduced: true\n };\n};\n/**\n * @hidden\n * Returns a reducer that will take the specified number of items.\n */\nexport var take = function (count) { return (function (reduce) { return (function (acc, curr) { return count-- > 0 ? reduce(acc, curr) : reduced(acc); }); }); };\n/**\n * @hidden\n * Returns a reducer that will take the specified number of items.\n */\nexport var takeWhile = function (predicate) { return (function (reduce) { return (function (acc, curr) { return predicate(curr) ? reduce(acc, curr) : reduced(acc); }); }); };\n/**\n * @hidden\n * Returns a reducer that will skip the specified number of items.\n */\nexport var skip = function (count) { return (function (reduce) { return (function (acc, curr) { return count-- <= 0 ? reduce(acc, curr) : acc; }); }); };\n/**\n * @hidden\n * Transforms the data by applying the supplied transformer.\n */\nexport var exec = function (transform, initialValue, data) {\n var result = initialValue;\n for (var idx = 0, length_1 = data.length; idx < length_1; idx++) {\n result = transform(result, data[idx], idx);\n if (isTransformerResult(result)) {\n result = result.__value;\n break;\n }\n }\n return result;\n};\n","import { isPresent, isString, isArray } from '../utils';\nimport { isCompositeFilterDescriptor } from './filter-descriptor.interface';\nvar operatorMap = function (key) { return ({\n \"!=\": \"neq\",\n \"<\": \"lt\",\n \"<=\": \"lte\",\n \"==\": \"eq\",\n \">\": \"gt\",\n \">=\": \"gte\",\n equal: \"eq\",\n equals: \"eq\",\n equalto: \"eq\",\n ge: \"gte\",\n greater: \"gt\",\n greaterthan: \"gt\",\n greaterthanequal: \"gte\",\n isempty: \"isempty\",\n isequalto: \"eq\",\n isgreaterthan: \"gt\",\n isgreaterthanorequalto: \"gte\",\n islessthan: \"lt\",\n islessthanorequalto: \"lte\",\n isnotempty: \"isnotempty\",\n isnotequalto: \"neq\",\n isnull: \"isnull\",\n le: \"lte\",\n less: \"lt\",\n lessthan: \"lt\",\n lessthanequal: \"lte\",\n ne: \"neq\",\n notequal: \"neq\",\n notequals: \"neq\",\n notequalto: \"neq\",\n notsubstringof: \"doesnotcontain\"\n}[key.toLowerCase()] || key); };\nvar normalizeOperator = function (descriptor) {\n if (descriptor.filters) {\n descriptor.filters = descriptor.filters.map(function (filter) {\n var result = Object.assign({}, filter);\n if (!isCompositeFilterDescriptor(filter) && isString(filter.operator)) {\n result.operator = operatorMap(filter.operator);\n }\n if (isCompositeFilterDescriptor(filter)) {\n normalizeOperator(result);\n }\n return result;\n });\n }\n};\nvar normalizeDescriptor = function (descriptor) {\n if (!isCompositeFilterDescriptor(descriptor)) {\n return {\n filters: isArray(descriptor) ? descriptor : [descriptor],\n logic: \"and\"\n };\n }\n return Object.assign({}, descriptor);\n};\n// tslint:disable:max-line-length\n/**\n * Converts a [FilterDescriptor]({% slug api_kendo-data-query_filterdescriptor %}) into a [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}). If a `CompositeFilterDescriptor` is passed, no modifications will be made.\n *\n * @param {CompositeFilterDescriptor | FilterDescriptor} descriptor - The descriptor that will be normalized.\n * @returns {CompositeFilterDescriptor} - The normalized descriptor.\n */\n// tslint:enable:max-line-length\nexport var normalizeFilters = function (descriptor) {\n if (isPresent(descriptor)) {\n descriptor = normalizeDescriptor(descriptor);\n normalizeOperator(descriptor);\n }\n return descriptor;\n};\n","import { exec, map, aggregatesCombinator, expandAggregates } from '../transducers';\nvar identity = map(function (x) { return x; });\n// tslint:disable:max-line-length\n/**\n * Applies the specified [AggregateDescriptors]({% slug api_kendo-data-query_aggregatedescriptor %}) to the data. Returns an [AggregateResult]({% slug api_kendo-data-query_aggregateresult %}) instance.\n *\n * @example\n * ```ts\n * const data = [\n * { unitPrice: 23, unitsInStock: 21 },\n * { unitPrice: 10, unitsInStock: 12 },\n * { unitPrice: 20, unitsInStock: 33 }\n * ];\n *\n * const result = aggregateBy(data, [\n * { aggregate: \"sum\", field: \"unitPrice\" },\n * { aggregate: \"sum\", field: \"unitsInStock\" }\n * ]);\n *\n * //output:\n * // {\n * // \"unitPrice\": { \"sum\": 53 },\n * // \"unitsInStock\": { \"sum\": 66 }\n * // }\n * ```\n * @param {T[]} data - The data on which the calculation will be executed.\n * @param {AggregateDescriptor[]} descriptors - The aggregate operations that will be executed.\n * @param {any} transformers - For internal use.\n * @returns {AggregateResult} - The aggregated result.\n * For more information, refer to the [aggregateresult]({% slug api_kendo-data-query_aggregateresult %}) configuration.\n */\n// tslint:enable:max-line-length\nexport var aggregateBy = function (data, descriptors, transformers) {\n if (descriptors === void 0) { descriptors = []; }\n if (transformers === void 0) { transformers = identity; }\n var initialValue = {};\n if (!descriptors.length) {\n return initialValue;\n }\n var result = exec(transformers(aggregatesCombinator(descriptors)), initialValue, data);\n return expandAggregates(result);\n};\n","import { isCompositeFilterDescriptor } from \"./filter-descriptor.interface\";\nimport { getter } from \"../accessor\";\nimport { isFunction, isPresent, isDate, isString, isBlank, isNumeric } from \"../utils\";\nvar logic = {\n \"or\": {\n concat: function (acc, fn) { return function (a) { return acc(a) || fn(a); }; },\n identity: function () { return false; }\n },\n \"and\": {\n concat: function (acc, fn) { return function (a) { return acc(a) && fn(a); }; },\n identity: function () { return true; }\n }\n};\nvar operatorsMap = {\n contains: function (a, b) { return (a || \"\").indexOf(b) >= 0; },\n doesnotcontain: function (a, b) { return (a || \"\").indexOf(b) === -1; },\n doesnotendwith: function (a, b) { return (a || \"\").indexOf(b, (a || \"\").length - (b || \"\").length) < 0; },\n doesnotstartwith: function (a, b) { return (a || \"\").lastIndexOf(b, 0) === -1; },\n endswith: function (a, b) { return (a || \"\").indexOf(b, (a || \"\").length - (b || \"\").length) >= 0; },\n eq: function (a, b) { return a === b; },\n gt: function (a, b) { return a > b; },\n gte: function (a, b) { return a >= b; },\n isempty: function (a) { return a === ''; },\n isnotempty: function (a) { return a !== ''; },\n isnotnull: function (a) { return isPresent(a); },\n isnull: function (a) { return isBlank(a); },\n lt: function (a, b) { return a < b; },\n lte: function (a, b) { return a <= b; },\n neq: function (a, b) { return a != b; },\n startswith: function (a, b) { return (a || \"\").lastIndexOf(b, 0) === 0; }\n};\nvar dateRegExp = /^\\/Date\\((.*?)\\)\\/$/;\nvar convertValue = function (value, ignoreCase) {\n if (value != null && isString(value)) {\n var date = dateRegExp.exec(value);\n if (date) {\n return new Date(+date[1]).getTime();\n }\n else if (ignoreCase) {\n return value.toLowerCase();\n }\n }\n else if (value != null && isDate(value)) {\n return value.getTime();\n }\n return value;\n};\nvar typedGetter = function (prop, value, ignoreCase) {\n if (!isPresent(value)) {\n return prop;\n }\n var acc = prop;\n if (isString(value)) {\n var date = dateRegExp.exec(value);\n if (date) {\n value = new Date(+date[1]);\n }\n else {\n acc = function (a) {\n var x = prop(a);\n if (typeof x === 'string' && ignoreCase) {\n return x.toLowerCase();\n }\n else {\n return isNumeric(x) ? x + \"\" : x;\n }\n };\n }\n }\n if (isDate(value)) {\n return function (a) {\n var x = acc(a);\n return isDate(x) ? x.getTime() : x;\n };\n }\n return acc;\n};\nvar transformFilter = function (_a) {\n var field = _a.field, ignoreCase = _a.ignoreCase, value = _a.value, operator = _a.operator;\n field = !isPresent(field) ? function (a) { return a; } : field;\n ignoreCase = isPresent(ignoreCase) ? ignoreCase : true;\n var itemProp = typedGetter(isFunction(field) ? field : getter(field, true), value, ignoreCase);\n value = convertValue(value, ignoreCase);\n var op = isFunction(operator) ? operator : operatorsMap[operator];\n return function (a) { return op(itemProp(a), value, ignoreCase); };\n};\n/**\n * @hidden\n */\nexport var transformCompositeFilter = function (filter) {\n var combiner = logic[filter.logic];\n return filter.filters\n .filter(isPresent)\n .map(function (x) { return isCompositeFilterDescriptor(x) ? transformCompositeFilter(x) : transformFilter(x); })\n .reduce(combiner.concat, combiner.identity);\n};\n","import { isPresent } from '../utils';\nimport { isCompositeFilterDescriptor } from './filter-descriptor.interface';\nimport { normalizeFilters } from './filter.operators';\nimport { transformCompositeFilter } from \"./filter-no-eval\";\n// tslint:disable:max-line-length\n/**\n * Creates a [Predicate]({% slug api_kendo-data-query_predicate %}) function for the specified [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}).\n *\n * @param {CompositeFilterDescriptor} descriptor - The descriptor for which the predicate is created.\n * @returns {Predicate} - The created function instance.\n *\n * @example\n * ```ts\n * import { compileFilter } from '@progress/kendo-data-query';\n *\n * const data = [{ name: \"Pork\" }, { name: \"Pepper\" }, { name: \"Beef\" } ];\n * const predicate = compileFilter({ logic: \"and\", filters: [{ field: \"name\", operator: \"startswith\", value: \"P\" }] });\n * const result = data.filter(predicate);\n *\n * ```\n */\n// tslint:enable:max-line-length\nexport var compileFilter = function (descriptor) {\n if (!descriptor || descriptor.filters.length === 0) {\n return function () { return true; };\n }\n return transformCompositeFilter(descriptor);\n};\n// tslint:disable:max-line-length\n/**\n * Filters the provided array according to the specified [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}).\n *\n * @param {T[]} data - The data that will be filtered.\n * @param {(CompositeFilterDescriptor | FilterDescriptor)} descriptor - The filter criteria that will be applied.\n * @returns {T[]} - The filtered data.\n *\n * @example\n * ```ts\n * import { filterBy } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = filterBy(data, {\n * logic: 'and',\n * filters: [\n * { field: \"name\", operator: \"startswith\", value: \"p\", ignoreCase: true },\n * { field: \"subcategory\", operator: \"eq\", value: \"Meat\" },\n * ]\n * });\n *\n * // output:\n * // [{ \"name\": \"Pork\", \"category\": \"Food\", \"subcategory\": \"Meat\" }]\n * ```\n */\n// tslint:enable:max-line-length\nexport var filterBy = function (data, descriptor) {\n if (!isPresent(descriptor) || (isCompositeFilterDescriptor(descriptor) && descriptor.filters.length === 0)) {\n return data;\n }\n return data.filter(compileFilter(normalizeFilters(descriptor)));\n};\n","var merge = function (data, left, middle, right, compare) {\n var leftLength = middle - left;\n var rightLength = right - middle;\n var temp = [];\n for (var idx = 0; idx < leftLength; idx++) {\n temp.push(data[left + idx]);\n }\n var cursor1 = 0;\n var cursor2 = middle;\n var dest = left;\n do {\n if (compare(data[cursor2], temp[cursor1]) < 0) {\n data[dest++] = data[cursor2++];\n rightLength--;\n }\n else {\n data[dest++] = temp[cursor1++];\n leftLength--;\n }\n } while (rightLength > 0 && leftLength > 0);\n while (leftLength) {\n data[dest++] = temp[cursor1++];\n leftLength--;\n }\n while (rightLength) {\n data[dest++] = data[cursor2++];\n rightLength--;\n }\n};\n/**\n * @hidden\n */\nexport var sort = function (data, start, end, compare) {\n if (end - start < 2) {\n return;\n }\n var mid = (start + end) >>> 1; // tslint:disable-line:no-bitwise\n sort(data, start, mid, compare);\n sort(data, mid, end, compare);\n merge(data, start, mid, end, compare);\n};\n","import { exec, map, groupCombinator } from '../transducers';\nimport { isArray, isPresent } from '../utils';\nimport { aggregateBy } from './aggregate.operators';\nimport { filterBy } from '../filtering/filter-expression.factory';\n/**\n * @hidden\n */\nexport var normalizeGroups = function (descriptors) {\n descriptors = isArray(descriptors) ? descriptors : [descriptors];\n return descriptors.map(function (x) { return Object.assign({ dir: \"asc\" }, x); });\n};\nvar identity = map(function (x) { return x; });\n/**\n * Groups the provided data according to the specified descriptors.\n *\n * @param {Array} data - The data that will be grouped.\n * @param {GroupDescriptor[]} descriptors - The descriptors.\n * @param {any} transformers - For internal use.\n * @param {Array} originalData - For internal use.\n * @returns {(Array> | T[])} - The grouped data.\n *\n * @example\n * ```ts\n *\n * import { groupBy } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = groupBy(data, [{ field: \"subcategory\" }]);\n * ```\n */\nexport var groupBy = function (data, descriptors, transformers, originalData) {\n if (descriptors === void 0) { descriptors = []; }\n if (transformers === void 0) { transformers = identity; }\n if (originalData === void 0) { originalData = data; }\n descriptors = normalizeGroups(descriptors);\n if (!descriptors.length) {\n return data;\n }\n var descriptor = descriptors[0];\n var initialValue = {};\n var view = exec(transformers(groupCombinator(descriptor.field)), initialValue, data);\n var result = [];\n Object.keys(view).forEach(function (field) {\n Object.keys(view[field]).forEach(function (value) {\n var group = view[field][value];\n var aggregateResult = {};\n var filteredData = originalData;\n if (isPresent(descriptor.aggregates)) {\n filteredData = filterBy(originalData, {\n field: descriptor.field,\n ignoreCase: false,\n operator: 'eq',\n value: group.value\n });\n aggregateResult = aggregateBy(filteredData, descriptor.aggregates);\n }\n result[group.__position] = {\n aggregates: aggregateResult,\n field: field,\n items: descriptors.length > 1 ?\n groupBy(group.items, descriptors.slice(1), identity, filteredData)\n : group.items,\n value: group.value\n };\n });\n });\n return result;\n};\n","import { isPresent, isString } from './utils';\nimport { composeSortDescriptors } from './sorting/sort-array.operator';\nimport { groupBy, normalizeGroups } from './grouping/group.operators';\nimport { normalizeFilters } from './filtering/filter.operators';\nimport { compileFilter } from './filtering/filter-expression.factory';\nimport { exec, skip, take, filter, concat } from './transducers';\nimport { getter } from './accessor';\nimport { compose } from './funcs';\nimport { sort } from './sorting/sort';\n/**\n * Orders the specified array according to the provided sort descriptors.\n *\n * @param {T[]} data - The data to be sorted.\n * @param {SortDescriptor[]} descriptors - The descriptors by which the data will be sorted.\n * @returns {T[]} - The sorted data.\n *\n * @example\n * ```ts\n * import { orderBy } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = orderBy(data, [{ field: \"name\", dir: \"asc\" }]);\n * ```\n */\nexport var orderBy = function (data, descriptors) {\n if (descriptors.some(function (x) { return isPresent(x.dir); })) {\n data = data.slice(0);\n var comparer = composeSortDescriptors(descriptors);\n sort(data, 0, data.length, comparer);\n }\n return data;\n};\nvar defaultComparer = function (a, b) { return a === b; };\nvar normalizeComparer = function (comparer) {\n if (isString(comparer)) {\n var accessor_1 = getter(comparer);\n comparer = function (a, b) { return accessor_1(a) === accessor_1(b); };\n }\n return comparer;\n};\nvar _distinct = function (data, comparer) {\n return data.filter(function (x, idx, xs) { return xs.findIndex(comparer.bind(null, x)) === idx; });\n};\n/**\n * Reduces the provided array so it contains only unique values.\n *\n * @param {T[]} data - The array that will be reduced.\n * @param {(Comparer | string)} comparer - An optional custom comparer function or the field name that will be used for comparison.\n * @returns {T[]} - The reduced data.\n *\n * @example\n * ```ts\n * import { distinct } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = distinct(data, \"subcategory\");\n *\n * // output:\n * // result => [\n * // { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * // { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" }\n * // ];\n * ```\n */\nexport var distinct = function (data, comparer) {\n if (comparer === void 0) { comparer = defaultComparer; }\n return _distinct(data, normalizeComparer(comparer));\n};\n/**\n * @hidden\n */\nexport var count = function (data, predicate) {\n var counter = 0;\n for (var idx = 0, length_1 = data.length; idx < length_1; idx++) {\n if (predicate(data[idx])) {\n counter++;\n }\n }\n return counter;\n};\n/**\n * @hidden\n */\nexport var limit = function (data, predicate) {\n if (predicate) {\n return data.filter(predicate);\n }\n return data;\n};\n/**\n * Applies the specified operation descriptors to the data.\n *\n * @param {T[]} data - The data to be processed.\n * @param {State} state - The operation descriptors that will be applied to the data.\n * @returns {DataResult} - The processed data.\n *\n * @example\n * ```ts\n *\n * const result = process(data, {\n * skip: 10,\n * take: 20,\n * group: [{\n * field: 'category.categoryName',\n * aggregates: [\n * { aggregate: \"sum\", field: \"unitPrice\" },\n * { aggregate: \"sum\", field: \"unitsInStock\" }\n * ]\n * }],\n * sort: [{ field: 'productName', dir: 'desc' }],\n * filter: {\n * logic: \"or\",\n * filters: [\n * { field: \"discontinued\", operator: \"eq\", value: true },\n * { field: \"unitPrice\", operator: \"lt\", value: 22 }\n * ]\n * }\n * });\n *\n * ```\n */\nexport var process = function (data, state) {\n var skipCount = state.skip, takeCount = state.take, filterDescriptor = state.filter, sort = state.sort, group = state.group;\n var sortDescriptors = normalizeGroups(group || []).concat(sort || []);\n if (sortDescriptors.length) {\n data = orderBy(data, sortDescriptors);\n }\n var hasFilters = isPresent(filterDescriptor) && filter.length;\n var hasGroups = isPresent(group) && group.length;\n if (!hasFilters && !hasGroups) {\n return {\n data: takeCount ? data.slice(skipCount, skipCount + takeCount) : data,\n total: data.length\n };\n }\n var total;\n var transformers = [];\n var predicate;\n if (hasFilters) {\n predicate = compileFilter(normalizeFilters(filterDescriptor));\n total = count(data, predicate);\n transformers.push(filter(predicate));\n }\n else {\n total = data.length;\n }\n if (isPresent(skipCount) && isPresent(takeCount)) {\n transformers.push(skip(skipCount));\n transformers.push(take(takeCount));\n }\n if (transformers.length) {\n var transform = compose.apply(void 0, transformers);\n var result = hasGroups ?\n groupBy(data, group, transform, limit(data, predicate)) :\n exec(transform(concat), [], data);\n return { data: result, total: total };\n }\n return {\n data: hasGroups ? groupBy(data, group) : data,\n total: total\n };\n};\n","var proxy = function (a, b) { return function (e) { return b(a(e)); }; };\n\nvar bind = function (el, event, callback) { return el.addEventListener && el.addEventListener(event, callback); };\n\nvar unbind = function (el, event, callback) { return el && el.removeEventListener && el.removeEventListener(event, callback); };\n\nvar noop = function () { /* empty */ };\n\nvar preventDefault = function (e) { return e.preventDefault(); };\n\nvar touchRegExp = /touch/;\n\n// 300ms is the usual mouse interval;\n// // However, an underpowered mobile device under a heavy load may queue mouse events for a longer period.\nvar IGNORE_MOUSE_TIMEOUT = 2000;\n\nfunction normalizeEvent(e) {\n if (e.type.match(touchRegExp)) {\n return {\n pageX: e.changedTouches[0].pageX,\n pageY: e.changedTouches[0].pageY,\n clientX: e.changedTouches[0].clientX,\n clientY: e.changedTouches[0].clientY,\n type: e.type,\n originalEvent: e,\n isTouch: true\n };\n }\n\n return {\n pageX: e.pageX,\n pageY: e.pageY,\n clientX: e.clientX,\n clientY: e.clientY,\n offsetX: e.offsetX,\n offsetY: e.offsetY,\n type: e.type,\n ctrlKey: e.ctrlKey,\n shiftKey: e.shiftKey,\n altKey: e.altKey,\n originalEvent: e\n };\n}\n\nexport var Draggable = function Draggable(ref) {\n var this$1 = this;\n var press = ref.press; if ( press === void 0 ) press = noop;\n var drag = ref.drag; if ( drag === void 0 ) drag = noop;\n var release = ref.release; if ( release === void 0 ) release = noop;\n var mouseOnly = ref.mouseOnly; if ( mouseOnly === void 0 ) mouseOnly = false;\n\n this._pressHandler = proxy(normalizeEvent, press);\n this._dragHandler = proxy(normalizeEvent, drag);\n this._releaseHandler = proxy(normalizeEvent, release);\n this._ignoreMouse = false;\n this._mouseOnly = mouseOnly;\n\n this._touchstart = function (e) {\n if (e.touches.length === 1) {\n this$1._pressHandler(e);\n }\n };\n\n this._touchmove = function (e) {\n if (e.touches.length === 1) {\n this$1._dragHandler(e);\n }\n };\n\n this._touchend = function (e) {\n // the last finger has been lifted, and the user is not doing gesture.\n // there might be a better way to handle this.\n if (e.touches.length === 0 && e.changedTouches.length === 1) {\n this$1._releaseHandler(e);\n this$1._ignoreMouse = true;\n setTimeout(this$1._restoreMouse, IGNORE_MOUSE_TIMEOUT);\n }\n };\n\n this._restoreMouse = function () {\n this$1._ignoreMouse = false;\n };\n\n this._mousedown = function (e) {\n var which = e.which;\n\n if ((which && which > 1) || this$1._ignoreMouse) {\n return;\n }\n\n bind(this$1.document, \"mousemove\", this$1._mousemove);\n bind(this$1.document, \"mouseup\", this$1._mouseup);\n this$1._pressHandler(e);\n };\n\n this._mousemove = function (e) {\n this$1._dragHandler(e);\n };\n\n this._mouseup = function (e) {\n unbind(this$1.document, \"mousemove\", this$1._mousemove);\n unbind(this$1.document, \"mouseup\", this$1._mouseup);\n this$1._releaseHandler(e);\n };\n\n this._pointerdown = function (e) {\n if (e.isPrimary && e.button === 0) {\n bind(this$1.document, \"pointermove\", this$1._pointermove);\n bind(this$1.document, \"pointerup\", this$1._pointerup);\n bind(this$1.document, \"pointercancel\", this$1._pointerup);\n bind(this$1.document, \"contextmenu\", preventDefault);\n\n this$1._pressHandler(e);\n }\n };\n\n this._pointermove = function (e) {\n if (e.isPrimary) {\n this$1._dragHandler(e);\n }\n };\n\n this._pointerup = function (e) {\n if (e.isPrimary) {\n unbind(this$1.document, \"pointermove\", this$1._pointermove);\n unbind(this$1.document, \"pointerup\", this$1._pointerup);\n unbind(this$1.document, \"pointercancel\", this$1._pointerup);\n unbind(this$1.document, \"contextmenu\", preventDefault);\n\n this$1._releaseHandler(e);\n }\n };\n};\n\nvar prototypeAccessors = { document: { configurable: true } };\n\nDraggable.supportPointerEvent = function supportPointerEvent () {\n return (typeof window !== 'undefined') && window.PointerEvent;\n};\n\nprototypeAccessors.document.get = function () {\n return this._element\n ? this._element.ownerDocument\n : document;\n};\n\nDraggable.prototype.bindTo = function bindTo (element) {\n if (element === this._element) {\n return;\n }\n\n if (this._element) {\n this._unbindFromCurrent();\n }\n\n this._element = element;\n this._bindToCurrent();\n};\n\nDraggable.prototype._bindToCurrent = function _bindToCurrent () {\n var element = this._element;\n\n if (this._usePointers()) {\n bind(element, \"pointerdown\", this._pointerdown);\n return;\n }\n\n bind(element, \"mousedown\", this._mousedown);\n\n if (!this._mouseOnly) {\n bind(element, \"touchstart\", this._touchstart);\n bind(element, \"touchmove\", this._touchmove);\n bind(element, \"touchend\", this._touchend);\n }\n};\n\nDraggable.prototype._unbindFromCurrent = function _unbindFromCurrent () {\n var element = this._element;\n\n if (this._usePointers()) {\n unbind(element, \"pointerdown\", this._pointerdown);\n unbind(this.document, \"pointermove\", this._pointermove);\n unbind(this.document, \"pointerup\", this._pointerup);\n unbind(this.document, \"contextmenu\", preventDefault);\n unbind(this.document, \"pointercancel\", this._pointerup);\n return;\n }\n\n unbind(element, \"mousedown\", this._mousedown);\n\n if (!this._mouseOnly) {\n unbind(element, \"touchstart\", this._touchstart);\n unbind(element, \"touchmove\", this._touchmove);\n unbind(element, \"touchend\", this._touchend);\n }\n};\n\nDraggable.prototype._usePointers = function _usePointers () {\n return !this._mouseOnly && Draggable.supportPointerEvent();\n};\n\nDraggable.prototype.update = function update (ref) {\n var press = ref.press; if ( press === void 0 ) press = noop;\n var drag = ref.drag; if ( drag === void 0 ) drag = noop;\n var release = ref.release; if ( release === void 0 ) release = noop;\n var mouseOnly = ref.mouseOnly; if ( mouseOnly === void 0 ) mouseOnly = false;\n\n this._pressHandler = proxy(normalizeEvent, press);\n this._dragHandler = proxy(normalizeEvent, drag);\n this._releaseHandler = proxy(normalizeEvent, release);\n this._mouseOnly = mouseOnly;\n};\n\nDraggable.prototype.destroy = function destroy () {\n this._unbindFromCurrent();\n this._element = null;\n};\n\nObject.defineProperties( Draggable.prototype, prototypeAccessors );\n\n// Re-export as \"default\" field to address a bug\n// where the ES Module is imported by CommonJS code.\n//\n// See https://github.com/telerik/kendo-angular/issues/1314\nDraggable.default = Draggable;\n\n// Rollup won't output exports['default'] otherwise\nexport default Draggable;\n\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n tileSizeWidth: {\n type: Number,\n default: undefined,\n kComposite: 'tileSize.width'\n },\n tileSizeHeight: {\n type: Number,\n default: undefined,\n kComposite: 'tileSize.height'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n tooltipEnabled: {\n type: Boolean,\n default: undefined,\n kComposite: 'tooltip.enabled'\n },\n tooltipFormat: {\n type: String,\n default: undefined,\n kComposite: 'tooltip.format'\n },\n tooltipTemplate: {\n type: String,\n default: undefined,\n kComposite: 'tooltip.template'\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n palette: {\n type: [String, Array],\n default: undefined\n },\n columns: {\n type: Number,\n default: undefined\n },\n tileSize: {\n type: [Number, Object],\n default: undefined\n },\n value: {\n type: String,\n default: undefined\n },\n\n // Events\n change: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _ColorPaletteProps = require('./ColorPaletteProps');\n\nvar _ColorPaletteProps2 = _interopRequireDefault(_ColorPaletteProps);\n\nvar _TileSize = require('../Common/TileSize');\n\nvar _TileSize2 = _interopRequireDefault(_TileSize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: _ColorPaletteProps2.default,\n emits: {\n 'kendowidgetready': null\n },\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _TileSize2.default],\n mounted: function mounted() {\n kendo.jQuery(this.$el).kendoColorPalette(this.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoColorPalette();\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoColorPaletteMixin = require('./KendoColorPaletteMixin');\n\nvar _KendoColorPaletteMixin2 = _interopRequireDefault(_KendoColorPaletteMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-colorpalette',\n mixins: [_KendoColorPaletteMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h('div');\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n modelValue: {\n type: String,\n default: undefined\n },\n buttons: {\n type: Boolean,\n default: undefined\n },\n clearButton: {\n type: Boolean,\n default: undefined\n },\n columns: {\n type: Number,\n default: undefined\n },\n tileSize: {\n type: [Number, Object],\n default: undefined\n },\n messages: {\n type: Object,\n default: undefined\n },\n palette: {\n type: [String, Array],\n default: undefined\n },\n opacity: {\n type: Boolean,\n default: undefined\n },\n preview: {\n type: Boolean,\n default: undefined\n },\n toolIcon: {\n type: String,\n default: undefined\n },\n value: {\n type: String,\n default: undefined\n },\n\n // Events\n change: Function,\n select: Function,\n open: Function,\n close: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _ColorPickerProps = require('./ColorPickerProps');\n\nvar _ColorPickerProps2 = _interopRequireDefault(_ColorPickerProps);\n\nvar _Messages = require('./Messages');\n\nvar _Messages2 = _interopRequireDefault(_Messages);\n\nvar _TileSize = require('../Common/TileSize');\n\nvar _TileSize2 = _interopRequireDefault(_TileSize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n emits: {\n 'update:modelValue': null,\n 'kendowidgetready': null\n },\n props: _ColorPickerProps2.default,\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _kendoBaseComponentsVueWrapper.KendoBaseInputComponent, _Messages2.default, _TileSize2.default],\n mounted: function mounted() {\n var that = this;\n kendo.jQuery(that.$el).kendoColorPicker(that.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n\n that.kendoWidget().bind('change', function () {\n var kendoWidget = that.kendoWidget();\n var inputElement = kendoWidget.element;\n if (that.v3) {\n that.$emit('update:modelValue', inputElement.val());\n } else {\n that.$emit('changemodel', inputElement.val());\n }\n });\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoColorPicker();\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n messagesApply: {\n type: String,\n default: undefined,\n kComposite: 'messages.apply'\n },\n messagesCancel: {\n type: String,\n default: undefined,\n kComposite: 'messages.cancel'\n },\n messagesPreviewInput: {\n type: String,\n default: undefined,\n kComposite: 'messages.previewInput'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoColorPickerMixin = require('./KendoColorPickerMixin');\n\nvar _KendoColorPickerMixin2 = _interopRequireDefault(_KendoColorPickerMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-colorpicker',\n mixins: [_KendoColorPickerMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n if (this.v3) {\n return h('input', {\n value: this.value\n });\n } else {\n return h('input', {\n props: {\n value: this.value\n }\n });\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n opacity: {\n type: Boolean,\n default: undefined\n },\n buttons: {\n type: Boolean,\n default: undefined\n },\n value: {\n type: String,\n default: undefined\n },\n preview: {\n type: Boolean,\n default: undefined\n },\n autoupdate: {\n type: Boolean,\n default: undefined\n },\n messages: {\n type: Object,\n default: undefined\n },\n\n // Events\n change: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _FlatColorPickerProps = require('./FlatColorPickerProps');\n\nvar _FlatColorPickerProps2 = _interopRequireDefault(_FlatColorPickerProps);\n\nvar _Messages = require('./Messages');\n\nvar _Messages2 = _interopRequireDefault(_Messages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: _FlatColorPickerProps2.default,\n emits: {\n 'kendowidgetready': null\n },\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _Messages2.default],\n mounted: function mounted() {\n kendo.jQuery(this.$el).kendoFlatColorPicker(this.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoFlatColorPicker();\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n messagesApply: {\n type: String,\n default: undefined,\n kComposite: 'messages.apply'\n },\n messagesCancel: {\n type: String,\n default: undefined,\n kComposite: 'messages.cancel'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoFlatColorPickerMixin = require('./KendoFlatColorPickerMixin');\n\nvar _KendoFlatColorPickerMixin2 = _interopRequireDefault(_KendoFlatColorPickerMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-flatcolorpicker',\n mixins: [_KendoFlatColorPickerMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h('div');\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _MaskedTextBoxProps = require('./MaskedTextBoxProps');\n\nvar _MaskedTextBoxProps2 = _interopRequireDefault(_MaskedTextBoxProps);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n emits: {\n 'update:modelValue': null,\n 'kendowidgetready': null\n },\n props: _MaskedTextBoxProps2.default,\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _kendoBaseComponentsVueWrapper.KendoBaseInputComponent],\n mounted: function mounted() {\n var that = this;\n kendo.jQuery(that.$el).kendoMaskedTextBox(that.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n\n that.kendoWidget().bind('change', function () {\n var kendoWidget = that.kendoWidget();\n var inputElement = kendoWidget.element;\n if (that.v3) {\n that.$emit('update:modelValue', inputElement.val());\n } else {\n that.$emit('changemodel', inputElement.val());\n }\n });\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoMaskedTextBox();\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n modelValue: {\n type: String,\n default: undefined\n },\n clearPromptChar: {\n type: Boolean,\n default: undefined\n },\n culture: {\n type: String,\n default: undefined\n },\n mask: {\n type: String,\n default: undefined\n },\n promptChar: {\n type: String,\n default: undefined\n },\n rules: {\n type: Object,\n default: undefined\n },\n unmaskOnPost: {\n type: Boolean,\n default: undefined\n },\n value: {\n type: String,\n default: undefined\n },\n\n // Events\n change: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoMaskedTextBoxMixin = require('./KendoMaskedTextBoxMixin');\n\nvar _KendoMaskedTextBoxMixin2 = _interopRequireDefault(_KendoMaskedTextBoxMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-maskedtextbox',\n mixins: [_KendoMaskedTextBoxMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n if (this.v3) {\n return h('input', {\n value: this.value\n });\n } else {\n return h('input', {\n props: {\n value: this.value\n }\n });\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _NumericTextBoxProps = require('./NumericTextBoxProps');\n\nvar _NumericTextBoxProps2 = _interopRequireDefault(_NumericTextBoxProps);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n emits: {\n 'update:modelValue': null,\n 'kendowidgetready': null\n },\n props: _NumericTextBoxProps2.default,\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _kendoBaseComponentsVueWrapper.KendoBaseInputComponent],\n mounted: function mounted() {\n var that = this;\n kendo.jQuery(that.$el).kendoNumericTextBox(that.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n\n that.kendoWidget().bind('change', function () {\n var kendoWidget = that.kendoWidget();\n var inputElement = kendoWidget.element;\n if (that.v3) {\n that.$emit('update:modelValue', inputElement.val());\n } else {\n that.$emit('changemodel', inputElement.val());\n }\n });\n\n that.kendoWidget().bind('spin', function () {\n var kendoWidget = that.kendoWidget();\n var inputElement = kendoWidget.element;\n if (that.v3) {\n if (that.getListeners()['onUpdate:modelValue']) {\n that.$emit('update:modelValue', inputElement.val());\n }\n } else {\n that.$emit('changemodel', inputElement.val());\n }\n });\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoNumericTextBox();\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n modelValue: {\n type: [Number, String],\n default: undefined\n },\n culture: {\n type: String,\n default: undefined\n },\n decimals: {\n type: Number,\n default: undefined\n },\n downArrowText: {\n type: String,\n default: undefined\n },\n factor: {\n type: Number,\n default: undefined\n },\n format: {\n type: String,\n default: undefined\n },\n max: {\n type: Number,\n default: undefined\n },\n min: {\n type: Number,\n default: undefined\n },\n placeholder: {\n type: String,\n default: undefined\n },\n restrictDecimals: {\n type: Boolean,\n default: undefined\n },\n round: {\n type: Boolean,\n default: undefined\n },\n spinners: {\n type: Boolean,\n default: undefined\n },\n step: {\n type: Number,\n default: undefined\n },\n upArrowText: {\n type: String,\n default: undefined\n },\n value: {\n type: [Number, String],\n default: undefined\n },\n\n // Events\n change: Function,\n spin: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoNumericTextBoxMixin = require('./KendoNumericTextBoxMixin');\n\nvar _KendoNumericTextBoxMixin2 = _interopRequireDefault(_KendoNumericTextBoxMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-numerictextbox',\n mixins: [_KendoNumericTextBoxMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n if (this.v3) {\n return h('input', {\n value: this.value\n });\n } else {\n return h('input', {\n props: {\n value: this.value\n }\n });\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _RangeSliderProps = require('./RangeSliderProps');\n\nvar _RangeSliderProps2 = _interopRequireDefault(_RangeSliderProps);\n\nvar _Tooltip = require('../Common/Tooltip');\n\nvar _Tooltip2 = _interopRequireDefault(_Tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n emits: {\n 'update:modelValue': null,\n 'kendowidgetready': null\n },\n props: _RangeSliderProps2.default,\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _kendoBaseComponentsVueWrapper.KendoBaseInputComponent, _Tooltip2.default],\n mounted: function mounted() {\n var that = this;\n kendo.jQuery(that.$el).kendoRangeSlider(that.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n\n that.kendoWidget().bind('change', function () {\n if (that.v3) {\n that.$emit('update:modelValue', that.kendoWidget().value());\n } else {\n that.$emit('changemodel', that.kendoWidget().value());\n }\n });\n\n that.kendoWidget().bind('slide', function () {\n if (that.v3) {\n if (that.getListeners()['onUpdate:modelValue']) {\n that.$emit('update:modelValue', that.kendoWidget().value());\n }\n } else {\n that.$emit('changemodel', that.kendoWidget().value());\n }\n });\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoRangeSlider();\n }\n },\n computed: {\n nameAttr: function nameAttr() {\n return this.$attrs.name;\n },\n selectionStartName: function selectionStartName() {\n var nameAttr = this.nameAttr;\n return nameAttr ? nameAttr + '[0]' : null;\n },\n selectionEndName: function selectionEndName() {\n var nameAttr = this.nameAttr;\n return nameAttr ? nameAttr + '[1]' : null;\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n modelValue: {\n type: Array,\n default: undefined\n },\n largeStep: {\n type: Number,\n default: undefined\n },\n leftDragHandleTitle: {\n type: String,\n default: undefined\n },\n max: {\n type: Number,\n default: undefined\n },\n min: {\n type: Number,\n default: undefined\n },\n orientation: {\n type: String,\n default: undefined\n },\n rightDragHandleTitle: {\n type: String,\n default: undefined\n },\n selectionEnd: {\n type: Number,\n default: undefined\n },\n selectionStart: {\n type: Number,\n default: undefined\n },\n smallStep: {\n type: Number,\n default: undefined\n },\n tickPlacement: {\n type: String,\n default: undefined\n },\n tooltip: {\n type: Object,\n default: undefined\n },\n value: {\n type: Array,\n default: undefined\n },\n\n // Events\n change: Function,\n slide: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoRangeSliderMixin = require('./KendoRangeSliderMixin');\n\nvar _KendoRangeSliderMixin2 = _interopRequireDefault(_KendoRangeSliderMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-rangeslider',\n mixins: [_KendoRangeSliderMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n\n if (this.v3) {\n return h('div', [h('input', {\n name: this.selectionStartName\n }), h('input', {\n name: this.selectionEndName\n })]);\n } else {\n return h('div', [h('input', {\n props: {\n name: this.selectionStartName\n }\n }), h('input', {\n props: {\n name: this.selectionEndName\n }\n })]);\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _SliderProps = require('./SliderProps');\n\nvar _SliderProps2 = _interopRequireDefault(_SliderProps);\n\nvar _Tooltip = require('../Common/Tooltip');\n\nvar _Tooltip2 = _interopRequireDefault(_Tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n emits: {\n 'update:modelValue': null,\n 'kendowidgetready': null\n },\n props: _SliderProps2.default,\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _kendoBaseComponentsVueWrapper.KendoBaseInputComponent, _Tooltip2.default],\n mounted: function mounted() {\n var that = this;\n kendo.jQuery(that.$el).kendoSlider(that.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n\n that.kendoWidget().bind('change', function () {\n var kendoWidget = that.kendoWidget();\n var inputElement = kendoWidget.element;\n if (that.v3) {\n that.$emit('update:modelValue', inputElement.val());\n } else {\n that.$emit('changemodel', inputElement.val());\n }\n });\n\n that.kendoWidget().bind('slide', function () {\n var kendoWidget = that.kendoWidget();\n var inputElement = kendoWidget.element;\n if (that.v3) {\n if (that.getListeners()['onUpdate:modelValue']) {\n that.$emit('update:modelValue', inputElement.val());\n }\n } else {\n that.$emit('changemodel', inputElement.val());\n }\n });\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoSlider();\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n modelValue: {\n type: [Number, String],\n default: undefined\n },\n decreaseButtonTitle: {\n type: String,\n default: undefined\n },\n dragHandleTitle: {\n type: String,\n default: undefined\n },\n increaseButtonTitle: {\n type: String,\n default: undefined\n },\n largeStep: {\n type: Number,\n default: undefined\n },\n max: {\n type: Number,\n default: undefined\n },\n min: {\n type: Number,\n default: undefined\n },\n orientation: {\n type: String,\n default: undefined\n },\n showButtons: {\n type: Boolean,\n default: undefined\n },\n smallStep: {\n type: Number,\n default: undefined\n },\n tickPlacement: {\n type: String,\n default: undefined\n },\n tooltip: {\n type: Object,\n default: undefined\n },\n value: {\n type: [String, Number],\n default: undefined\n },\n\n // Events\n change: Function,\n slide: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoSliderMixin = require('./KendoSliderMixin');\n\nvar _KendoSliderMixin2 = _interopRequireDefault(_KendoSliderMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-slider',\n mixins: [_KendoSliderMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n if (this.v3) {\n return h('input', {\n value: this.value\n });\n } else {\n return h('input', {\n props: {\n value: this.value\n }\n });\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _SwitchProps = require('./SwitchProps');\n\nvar _SwitchProps2 = _interopRequireDefault(_SwitchProps);\n\nvar _ObsoleteSwitchProps = require('./ObsoleteSwitchProps');\n\nvar _ObsoleteSwitchProps2 = _interopRequireDefault(_ObsoleteSwitchProps);\n\nvar _Messages = require('./Messages');\n\nvar _Messages2 = _interopRequireDefault(_Messages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n emits: {\n 'update:modelValue': null,\n 'kendowidgetready': null\n },\n props: Object.assign({}, _SwitchProps2.default, _ObsoleteSwitchProps2.default),\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _Messages2.default],\n updated: function updated() {\n var kWidget = this.kendoWidget();\n\n if (this.modelValue !== kWidget.check()) {\n kWidget.check(this.modelValue);\n }\n },\n mounted: function mounted() {\n var that = this;\n\n that.widgetOptions.messages = that.widgetOptions.messages || {};\n\n // Obsolete props\n if (that.widgetOptions.onLabel) {\n that.widgetOptions.messages.checked = that.widgetOptions.onLabel;\n }\n\n if (that.widgetOptions.offLabel) {\n that.widgetOptions.messages.unchecked = that.widgetOptions.offLabel;\n }\n\n if (that.widgetOptions.enable == false) {\n that.widgetOptions.enabled = that.widgetOptions.enable;\n }\n kendo.jQuery(that.$el).kendoSwitch(that.widgetOptions);\n\n that.$_kendoSwitch = that.kendoWidget();\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n\n that.kendoWidget().bind('change', function () {\n if (that.v3) {\n that.$emit('update:modelValue', that.kendoWidget().check());\n } else {\n that.$emit('changemodel', that.kendoWidget().check());\n }\n });\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoSwitch();\n }\n },\n destroyed: function destroyed() {\n var switchInstance = this.kendoWidget() || this.$_kendoSwitch;\n switchInstance.destroy();\n switchInstance.wrapper.remove();\n },\n\n watch: {\n checked: function checked(value) {\n var kWidget = this.kendoWidget();\n\n if (value != kWidget.check()) {\n kWidget.check(value);\n }\n }\n },\n model: {\n event: 'changemodel',\n prop: 'checked'\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n messagesChecked: {\n type: String,\n default: undefined,\n kComposite: 'messages.checked'\n },\n messagesUnchecked: {\n type: String,\n default: undefined,\n kComposite: 'messages.unchecked'\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n enable: {\n type: Boolean,\n default: undefined\n },\n onLabel: {\n type: String,\n default: undefined\n },\n offLabel: {\n type: String,\n default: undefined\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n modelValue: {\n type: Boolean,\n default: undefined\n },\n checked: {\n type: Boolean,\n default: undefined\n },\n enabled: {\n type: Boolean,\n default: undefined\n },\n readonly: {\n type: Boolean,\n default: undefined\n },\n messages: {\n type: Object,\n default: undefined\n },\n width: {\n type: [Number, String],\n default: undefined\n },\n\n // Events\n change: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoSwitchMixin = require('./KendoSwitchMixin');\n\nvar _KendoSwitchMixin2 = _interopRequireDefault(_KendoSwitchMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-switch',\n mixins: [_KendoSwitchMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n if (this.v3) {\n return h('input', {\n type: 'checkbox'\n });\n } else {\n return h('input', {\n attrs: {\n type: 'checkbox'\n }\n });\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Switch = exports.KendoSwitch = exports.RangeSlider = exports.KendoRangeSlider = exports.Slider = exports.KendoSlider = exports.MaskedTextBox = exports.KendoMaskedTextBox = exports.FlatColorPicker = exports.KendoFlatColorPicker = exports.ColorPalette = exports.KendoColorPalette = exports.ColorPicker = exports.KendoColorPicker = exports.NumericTextBox = exports.KendoNumericTextBox = exports.InputsInstaller = exports.KendoInputsInstaller = undefined;\n\nvar _kendoInputsInstaller = require('./kendo-inputs-installer');\n\nvar _kendoInputsInstaller2 = _interopRequireDefault(_kendoInputsInstaller);\n\nvar _KendoNumericTextBox = require('./KendoNumericTextBox');\n\nvar _KendoNumericTextBox2 = _interopRequireDefault(_KendoNumericTextBox);\n\nvar _KendoColorPicker = require('./KendoColorPicker');\n\nvar _KendoColorPicker2 = _interopRequireDefault(_KendoColorPicker);\n\nvar _KendoColorPalette = require('./KendoColorPalette');\n\nvar _KendoColorPalette2 = _interopRequireDefault(_KendoColorPalette);\n\nvar _KendoFlatColorPicker = require('./KendoFlatColorPicker');\n\nvar _KendoFlatColorPicker2 = _interopRequireDefault(_KendoFlatColorPicker);\n\nvar _KendoMaskedTextBox = require('./KendoMaskedTextBox');\n\nvar _KendoMaskedTextBox2 = _interopRequireDefault(_KendoMaskedTextBox);\n\nvar _KendoSlider = require('./KendoSlider');\n\nvar _KendoSlider2 = _interopRequireDefault(_KendoSlider);\n\nvar _KendoRangeSlider = require('./KendoRangeSlider');\n\nvar _KendoRangeSlider2 = _interopRequireDefault(_KendoRangeSlider);\n\nvar _KendoSwitch = require('./KendoSwitch');\n\nvar _KendoSwitch2 = _interopRequireDefault(_KendoSwitch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.KendoInputsInstaller = _kendoInputsInstaller2.default;\nexports.InputsInstaller = _kendoInputsInstaller2.default;\nexports.KendoNumericTextBox = _KendoNumericTextBox2.default;\nexports.NumericTextBox = _KendoNumericTextBox2.default;\nexports.KendoColorPicker = _KendoColorPicker2.default;\nexports.ColorPicker = _KendoColorPicker2.default;\nexports.KendoColorPalette = _KendoColorPalette2.default;\nexports.ColorPalette = _KendoColorPalette2.default;\nexports.KendoFlatColorPicker = _KendoFlatColorPicker2.default;\nexports.FlatColorPicker = _KendoFlatColorPicker2.default;\nexports.KendoMaskedTextBox = _KendoMaskedTextBox2.default;\nexports.MaskedTextBox = _KendoMaskedTextBox2.default;\nexports.KendoSlider = _KendoSlider2.default;\nexports.Slider = _KendoSlider2.default;\nexports.KendoRangeSlider = _KendoRangeSlider2.default;\nexports.RangeSlider = _KendoRangeSlider2.default;\nexports.KendoSwitch = _KendoSwitch2.default;\nexports.Switch = _KendoSwitch2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _KendoNumericTextBox = require('../KendoNumericTextBox');\n\nvar _KendoNumericTextBox2 = _interopRequireDefault(_KendoNumericTextBox);\n\nvar _KendoColorPicker = require('../KendoColorPicker');\n\nvar _KendoColorPicker2 = _interopRequireDefault(_KendoColorPicker);\n\nvar _KendoColorPalette = require('../KendoColorPalette');\n\nvar _KendoColorPalette2 = _interopRequireDefault(_KendoColorPalette);\n\nvar _KendoFlatColorPicker = require('../KendoFlatColorPicker');\n\nvar _KendoFlatColorPicker2 = _interopRequireDefault(_KendoFlatColorPicker);\n\nvar _KendoMaskedTextBox = require('../KendoMaskedTextBox');\n\nvar _KendoMaskedTextBox2 = _interopRequireDefault(_KendoMaskedTextBox);\n\nvar _KendoSlider = require('../KendoSlider');\n\nvar _KendoSlider2 = _interopRequireDefault(_KendoSlider);\n\nvar _KendoRangeSlider = require('../KendoRangeSlider');\n\nvar _KendoRangeSlider2 = _interopRequireDefault(_KendoRangeSlider);\n\nvar _KendoSwitch = require('../KendoSwitch');\n\nvar _KendoSwitch2 = _interopRequireDefault(_KendoSwitch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KendoInputsInstaller = function () {\n function KendoInputsInstaller() {\n _classCallCheck(this, KendoInputsInstaller);\n }\n\n _createClass(KendoInputsInstaller, null, [{\n key: 'install',\n value: function install(Vue) {\n Vue.component(_KendoNumericTextBox2.default.name, _KendoNumericTextBox2.default);\n Vue.component(_KendoColorPicker2.default.name, _KendoColorPicker2.default);\n Vue.component(_KendoColorPalette2.default.name, _KendoColorPalette2.default);\n Vue.component(_KendoFlatColorPicker2.default.name, _KendoFlatColorPicker2.default);\n Vue.component(_KendoMaskedTextBox2.default.name, _KendoMaskedTextBox2.default);\n Vue.component(_KendoSlider2.default.name, _KendoSlider2.default);\n Vue.component(_KendoRangeSlider2.default.name, _KendoRangeSlider2.default);\n Vue.component(_KendoSwitch2.default.name, _KendoSwitch2.default);\n }\n }]);\n\n return KendoInputsInstaller;\n}();\n\nexports.default = KendoInputsInstaller;\n\n// Automatic installation if Vue has been added to the global scope.\n\nif (typeof window !== 'undefined' && window.Vue && window.Vue.use) {\n window.Vue.use(KendoInputsInstaller);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n animationCloseEffects: {\n type: String,\n default: undefined,\n kComposite: 'animation.close.effects'\n },\n animationCloseDuration: {\n type: Number,\n default: undefined,\n kComposite: 'animation.close.duration'\n },\n animationOpenEffects: {\n type: String,\n default: undefined,\n kComposite: 'animation.open.effects'\n },\n animationOpenDuration: {\n type: Number,\n default: undefined,\n kComposite: 'animation.open.duration'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n scrollableDistance: {\n type: Number,\n default: undefined,\n kComposite: 'scrollable.distance'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n animationCloseEffects: {\n type: String,\n default: undefined,\n kComposite: 'animation.close.effects'\n },\n animationCloseDuration: {\n type: Number,\n default: undefined,\n kComposite: 'animation.close.duration'\n },\n animationOpenEffects: {\n type: String,\n default: undefined,\n kComposite: 'animation.open.effects'\n },\n animationOpenDuration: {\n type: Number,\n default: undefined,\n kComposite: 'animation.open.duration'\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n alignToAnchor: {\n type: Boolean,\n default: undefined\n },\n animation: {\n type: [Boolean, Object],\n default: undefined\n },\n appendTo: {\n type: String,\n default: undefined\n },\n closeOnClick: {\n type: Boolean,\n default: undefined\n },\n copyAnchorStyles: {\n type: Boolean,\n default: undefined\n },\n dataImageUrlField: {\n type: String,\n default: undefined\n },\n dataSource: {\n type: [Object, Array],\n default: undefined\n },\n dataSpriteCssClassField: {\n type: String,\n default: undefined\n },\n dataTextField: {\n type: String,\n default: undefined\n },\n dataUrlField: {\n type: String,\n default: undefined\n },\n dataContentField: {\n type: String,\n default: undefined\n },\n direction: {\n type: String,\n default: undefined\n },\n filter: {\n type: String,\n default: undefined\n },\n hoverDelay: {\n type: Number,\n default: undefined\n },\n orientation: {\n type: String,\n default: undefined\n },\n popupCollision: {\n type: String,\n default: undefined\n },\n scrollable: {\n type: [Boolean, Object],\n default: undefined\n },\n showOn: {\n type: String,\n default: undefined\n },\n target: {\n type: String,\n default: undefined\n },\n\n // Events\n close: Function,\n open: Function,\n activate: Function,\n deactivate: Function,\n select: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _ContextMenuProps = require('./ContextMenuProps');\n\nvar _ContextMenuProps2 = _interopRequireDefault(_ContextMenuProps);\n\nvar _Animation = require('./Animation');\n\nvar _Animation2 = _interopRequireDefault(_Animation);\n\nvar _Scrollable = require('../Common/Scrollable');\n\nvar _Scrollable2 = _interopRequireDefault(_Scrollable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: _ContextMenuProps2.default,\n emits: {\n 'kendowidgetready': null\n },\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _kendoBaseComponentsVueWrapper.KendoBaseDatasourceComponent, _kendoBaseComponentsVueWrapper.KendoSharedMethods, _Animation2.default, _Scrollable2.default],\n mounted: function mounted() {\n this._resolveChildren();\n\n kendo.jQuery(this.$el).kendoContextMenu(this.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoContextMenu();\n },\n _resolveChildren: function _resolveChildren() {\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n var hasDataSource = this.v3 ? !this.$props.dataSource : this.$options.propsData && !this.$options.propsData['dataSource'];\n if (hasDataSource && defaultSlot) {\n var items = this.resolveInnerTags('kendo-menu-item');\n\n if (items.length) {\n this.widgetOptions['dataSource'] = items;\n }\n }\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoContextMenuMixin = require('./KendoContextMenuMixin');\n\nvar _KendoContextMenuMixin2 = _interopRequireDefault(_KendoContextMenuMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-contextmenu',\n mixins: [_KendoContextMenuMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n return h('ul', defaultSlot);\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-menu-item',\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n return h('span', defaultSlot);\n },\n\n mixins: [_kendoBaseComponentsVueWrapper.KendoSharedMethods],\n props: {\n text: {\n type: String,\n default: undefined\n },\n cssClass: {\n type: String,\n default: undefined\n },\n url: {\n type: String,\n default: undefined\n },\n attr: {\n type: Object,\n default: undefined\n },\n encoded: {\n type: Boolean,\n default: undefined\n },\n content: {\n type: String,\n default: undefined\n },\n contentAttr: {\n type: Object,\n default: undefined\n },\n imageAttr: {\n type: Object,\n default: undefined\n },\n imageUrl: {\n type: String,\n default: undefined\n },\n items: {\n type: Array,\n default: undefined\n },\n spriteCssClass: {\n type: String,\n default: undefined\n },\n select: Function\n },\n mounted: function mounted() {\n this._resolveInnerChildren();\n },\n\n methods: {\n _resolveInnerChildren: function _resolveInnerChildren() {\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n var hasItems = this.v3 ? !this.$props.items : this.$options.propsData && !this.$options.propsData['items'];\n if (hasItems && defaultSlot) {\n var items = this.resolveInnerTags('kendo-menu-item');\n this.subitems = items;\n }\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _MenuProps = require('./MenuProps');\n\nvar _MenuProps2 = _interopRequireDefault(_MenuProps);\n\nvar _OpenOnClick = require('./OpenOnClick');\n\nvar _OpenOnClick2 = _interopRequireDefault(_OpenOnClick);\n\nvar _Animation = require('../Common/Animation');\n\nvar _Animation2 = _interopRequireDefault(_Animation);\n\nvar _Scrollable = require('../Common/Scrollable');\n\nvar _Scrollable2 = _interopRequireDefault(_Scrollable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: _MenuProps2.default,\n emits: {\n 'kendowidgetready': null\n },\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _kendoBaseComponentsVueWrapper.KendoBaseDatasourceComponent, _kendoBaseComponentsVueWrapper.KendoSharedMethods, _Animation2.default, _OpenOnClick2.default, _Scrollable2.default],\n mounted: function mounted() {\n this._resolveChildren();\n\n kendo.jQuery(this.$el).kendoMenu(this.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoMenu();\n },\n _resolveChildren: function _resolveChildren() {\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n var hasDataSource = this.v3 ? !this.$props.dataSource : this.$options.propsData && !this.$options.propsData['dataSource'];\n if (hasDataSource && defaultSlot) {\n var items = this.resolveInnerTags('kendo-menu-item');\n\n if (items.length) {\n this.widgetOptions['dataSource'] = items;\n }\n }\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n animation: {\n type: [Boolean, Object],\n default: undefined\n },\n closeOnClick: {\n type: Boolean,\n default: undefined\n },\n dataImageUrlField: {\n type: String,\n default: undefined\n },\n dataSource: {\n type: [Object, Array],\n default: undefined\n },\n dataSpriteCssClassField: {\n type: String,\n default: undefined\n },\n dataTextField: {\n type: String,\n default: undefined\n },\n dataUrlField: {\n type: String,\n default: undefined\n },\n dataContentField: {\n type: String,\n default: undefined\n },\n direction: {\n type: String,\n default: undefined\n },\n hoverDelay: {\n type: Number,\n default: undefined\n },\n openOnClick: {\n type: [Boolean, Object],\n default: undefined\n },\n orientation: {\n type: String,\n default: undefined\n },\n popupCollision: {\n type: String,\n default: undefined\n },\n scrollable: {\n type: [Boolean, Object],\n default: undefined\n },\n\n // Events\n close: Function,\n open: Function,\n activate: Function,\n deactivate: Function,\n select: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n openOnClickRootMenuItems: {\n type: Boolean,\n default: undefined,\n kComposite: 'openOnClick.rootMenuItems'\n },\n openOnClickSubMenuItems: {\n type: Boolean,\n default: undefined,\n kComposite: 'openOnClick.subMenuItems'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoMenuMixin = require('./KendoMenuMixin');\n\nvar _KendoMenuMixin2 = _interopRequireDefault(_KendoMenuMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-menu',\n mixins: [_KendoMenuMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n return h('ul', defaultSlot);\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n animationCollapseDuration: {\n type: Number,\n default: undefined,\n kComposite: 'animation.collapse.duration'\n },\n animationCollapseEffects: {\n type: String,\n default: undefined,\n kComposite: 'animation.collapse.effects'\n },\n animationExpandDuration: {\n type: Number,\n default: undefined,\n kComposite: 'animation.expand.duration'\n },\n animationExpandEffects: {\n type: String,\n default: undefined,\n kComposite: 'animation.expand.effects'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-panelbar-item',\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n return h('span', defaultSlot);\n },\n\n mixins: [_kendoBaseComponentsVueWrapper.KendoSharedMethods],\n props: {\n text: {\n type: String,\n default: undefined\n },\n cssClass: {\n type: String,\n default: undefined\n },\n url: {\n type: String,\n default: undefined\n },\n encoded: {\n type: Boolean,\n default: undefined\n },\n content: {\n type: String,\n default: undefined\n },\n contentUrl: {\n type: String,\n default: undefined\n },\n imageUrl: {\n type: String,\n default: undefined\n },\n items: {\n type: Array,\n default: undefined\n },\n expanded: {\n type: Boolean,\n default: undefined\n },\n spriteCssClass: {\n type: String,\n default: undefined\n }\n },\n mounted: function mounted() {\n this._resolveInnerChildren();\n },\n\n methods: {\n _resolveInnerChildren: function _resolveInnerChildren() {\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n var hasItems = this.v3 ? !this.$props.items : this.$options.propsData && !this.$options.propsData['items'];\n if (hasItems && defaultSlot) {\n var items = this.resolveInnerTags('kendo-panelbar-item');\n this.subitems = items;\n }\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _PanelBarProps = require('./PanelBarProps');\n\nvar _PanelBarProps2 = _interopRequireDefault(_PanelBarProps);\n\nvar _Animation = require('./Animation');\n\nvar _Animation2 = _interopRequireDefault(_Animation);\n\nvar _Messages = require('./Messages');\n\nvar _Messages2 = _interopRequireDefault(_Messages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: _PanelBarProps2.default,\n emits: {\n 'kendowidgetready': null\n },\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _kendoBaseComponentsVueWrapper.KendoBaseDatasourceComponent, _kendoBaseComponentsVueWrapper.KendoSharedMethods, _Animation2.default, _Messages2.default],\n mounted: function mounted() {\n this._resolveChildren();\n\n kendo.jQuery(this.$el).kendoPanelBar(this.widgetOptions);\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoPanelBar();\n },\n _resolveChildren: function _resolveChildren() {\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n var hasDataSource = this.v3 ? !this.$props.dataSource : this.$options.propsData && !this.$options.propsData['dataSource'];\n if (hasDataSource && defaultSlot) {\n var items = this.resolveInnerTags('kendo-panelbar-item');\n\n if (items.length) {\n this.widgetOptions['dataSource'] = items;\n }\n }\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n messagesLoading: {\n type: String,\n default: undefined,\n kComposite: 'messages.loading'\n },\n messagesRequestFailed: {\n type: String,\n default: undefined,\n kComposite: 'messages.requestFailed'\n },\n messagesRetry: {\n type: String,\n default: undefined,\n kComposite: 'messages.retry'\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n animation: {\n type: [Boolean, Object],\n default: undefined\n },\n autoBind: {\n type: Boolean,\n default: undefined\n },\n contentUrls: {\n type: Array,\n default: undefined\n },\n dataImageUrlField: {\n type: String,\n default: undefined\n },\n dataSource: {\n type: [Object, Array],\n default: undefined\n },\n dataSpriteCssClassField: {\n type: String,\n default: undefined\n },\n dataTextField: {\n type: [String, Array],\n default: undefined\n },\n dataUrlField: {\n type: String,\n default: undefined\n },\n expandMode: {\n type: String,\n default: undefined\n },\n loadOnDemand: {\n type: Boolean,\n default: undefined\n },\n messages: {\n type: Object,\n default: undefined\n },\n template: {\n type: [String, Function],\n default: undefined\n },\n\n // Events\n activate: Function,\n collapse: Function,\n contentLoad: {\n type: Function,\n default: undefined\n },\n dataBound: {\n type: Function,\n default: undefined\n },\n error: Function,\n expand: Function,\n select: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoPanelBarMixin = require('./KendoPanelBarMixin');\n\nvar _KendoPanelBarMixin2 = _interopRequireDefault(_KendoPanelBarMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-panelbar',\n mixins: [_KendoPanelBarMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n return h('div', defaultSlot);\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _SplitterProps = require('./SplitterProps');\n\nvar _SplitterProps2 = _interopRequireDefault(_SplitterProps);\n\nvar _KendoSplitterPane = require('./KendoSplitterPane');\n\nvar _KendoSplitterPane2 = _interopRequireDefault(_KendoSplitterPane);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: _SplitterProps2.default,\n emits: {\n 'kendowidgetready': null\n },\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent],\n mounted: function mounted() {\n this._resolveChildren();\n\n kendo.jQuery(this.$el).kendoSplitter(this.widgetOptions);\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoSplitter();\n },\n _resolveChildren: function _resolveChildren() {\n this.resolveChildren('panes', _KendoSplitterPane2.default.name);\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _PaneProps = require('./PaneProps');\n\nvar _PaneProps2 = _interopRequireDefault(_PaneProps);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar KendoSplitterPane = {\n name: 'kendo-splitter-pane',\n render: function render() {\n return null;\n },\n\n mixins: [_PaneProps2.default]\n};\n\nexports.default = KendoSplitterPane;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n collapsed: {\n type: Boolean,\n default: undefined\n },\n collapsedSize: {\n type: String,\n default: undefined\n },\n collapsible: {\n type: Boolean,\n default: undefined\n },\n contentUrl: {\n type: String,\n default: undefined\n },\n max: {\n type: String,\n default: undefined\n },\n min: {\n type: String,\n default: undefined\n },\n resizable: {\n type: Boolean,\n default: undefined\n },\n scrollable: {\n type: Boolean,\n default: undefined\n },\n size: {\n type: String,\n default: undefined\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n orientation: {\n type: String,\n default: undefined\n },\n panes: {\n type: Array,\n default: undefined\n },\n\n // Events\n collapse: Function,\n contentLoad: {\n type: Function,\n default: undefined\n },\n error: Function,\n expand: Function,\n layoutChange: {\n type: Function,\n default: undefined\n },\n resize: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoSplitterMixin = require('./KendoSplitterMixin');\n\nvar _KendoSplitterMixin2 = _interopRequireDefault(_KendoSplitterMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-splitter',\n mixins: [_KendoSplitterMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n return h('div', defaultSlot);\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _TabStripProps = require('./TabStripProps');\n\nvar _TabStripProps2 = _interopRequireDefault(_TabStripProps);\n\nvar _Animation = require('../Common/Animation');\n\nvar _Animation2 = _interopRequireDefault(_Animation);\n\nvar _Scrollable = require('../Common/Scrollable');\n\nvar _Scrollable2 = _interopRequireDefault(_Scrollable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: _TabStripProps2.default,\n emits: {\n 'kendowidgetready': null\n },\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _kendoBaseComponentsVueWrapper.KendoBaseDatasourceComponent, _Animation2.default, _Scrollable2.default],\n mounted: function mounted() {\n kendo.jQuery(this.$el).kendoTabStrip(this.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoTabStrip();\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n animation: {\n type: [Boolean, Object],\n default: undefined\n },\n collapsible: {\n type: Boolean,\n default: undefined\n },\n contentUrls: {\n type: Array,\n default: undefined\n },\n dataContentField: {\n type: String,\n default: undefined\n },\n dataContentUrlField: {\n type: String,\n default: undefined\n },\n dataImageUrlField: {\n type: String,\n default: undefined\n },\n dataSource: {\n type: [Object, Array],\n default: undefined\n },\n dataSpriteCssClass: {\n type: String,\n default: undefined\n },\n dataTextField: {\n type: String,\n default: undefined\n },\n dataUrlField: {\n type: String,\n default: undefined\n },\n navigatable: {\n type: Boolean,\n default: undefined\n },\n scrollable: {\n type: [Boolean, Object],\n default: undefined\n },\n tabPosition: {\n type: String,\n default: undefined\n },\n value: {\n type: String,\n default: undefined\n },\n\n // Events\n activate: Function,\n contentLoad: {\n type: Function,\n default: undefined\n },\n error: Function,\n select: Function,\n show: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoTabStripMixin = require('./KendoTabStripMixin');\n\nvar _KendoTabStripMixin2 = _interopRequireDefault(_KendoTabStripMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-tabstrip',\n mixins: [_KendoTabStripMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n return h('div', defaultSlot);\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LayoutInstaller = exports.KendoLayoutInstaller = exports.SplitterPane = exports.KendoSplitterPane = exports.Splitter = exports.KendoSplitter = exports.TabStrip = exports.KendoTabStrip = exports.PanelBarItem = exports.KendoPanelBarItem = exports.PanelBar = exports.KendoPanelBar = exports.MenuItem = exports.KendoMenuItem = exports.ContextMenu = exports.KendoContextMenu = exports.Menu = exports.KendoMenu = undefined;\n\nvar _KendoMenu = require('./KendoMenu');\n\nvar _KendoMenu2 = _interopRequireDefault(_KendoMenu);\n\nvar _KendoMenuItem = require('./KendoMenu/KendoMenuItem');\n\nvar _KendoMenuItem2 = _interopRequireDefault(_KendoMenuItem);\n\nvar _KendoContextMenu = require('./KendoContextMenu');\n\nvar _KendoContextMenu2 = _interopRequireDefault(_KendoContextMenu);\n\nvar _KendoPanelBar = require('./KendoPanelBar');\n\nvar _KendoPanelBar2 = _interopRequireDefault(_KendoPanelBar);\n\nvar _KendoPanelBarItem = require('./KendoPanelBar/KendoPanelBarItem');\n\nvar _KendoPanelBarItem2 = _interopRequireDefault(_KendoPanelBarItem);\n\nvar _KendoTabStrip = require('./KendoTabStrip');\n\nvar _KendoTabStrip2 = _interopRequireDefault(_KendoTabStrip);\n\nvar _KendoSplitter = require('./KendoSplitter');\n\nvar _KendoSplitter2 = _interopRequireDefault(_KendoSplitter);\n\nvar _KendoSplitterPane = require('./KendoSplitter/KendoSplitterPane');\n\nvar _KendoSplitterPane2 = _interopRequireDefault(_KendoSplitterPane);\n\nvar _kendoLayoutInstaller = require('./kendo-layout-installer');\n\nvar _kendoLayoutInstaller2 = _interopRequireDefault(_kendoLayoutInstaller);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.KendoMenu = _KendoMenu2.default;\nexports.Menu = _KendoMenu2.default;\nexports.KendoContextMenu = _KendoContextMenu2.default;\nexports.ContextMenu = _KendoContextMenu2.default;\nexports.KendoMenuItem = _KendoMenuItem2.default;\nexports.MenuItem = _KendoMenuItem2.default;\nexports.KendoPanelBar = _KendoPanelBar2.default;\nexports.PanelBar = _KendoPanelBar2.default;\nexports.KendoPanelBarItem = _KendoPanelBarItem2.default;\nexports.PanelBarItem = _KendoPanelBarItem2.default;\nexports.KendoTabStrip = _KendoTabStrip2.default;\nexports.TabStrip = _KendoTabStrip2.default;\nexports.KendoSplitter = _KendoSplitter2.default;\nexports.Splitter = _KendoSplitter2.default;\nexports.KendoSplitterPane = _KendoSplitterPane2.default;\nexports.SplitterPane = _KendoSplitterPane2.default;\nexports.KendoLayoutInstaller = _kendoLayoutInstaller2.default;\nexports.LayoutInstaller = _kendoLayoutInstaller2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _KendoMenu = require('../KendoMenu');\n\nvar _KendoMenu2 = _interopRequireDefault(_KendoMenu);\n\nvar _KendoMenuItem = require('../KendoMenu/KendoMenuItem');\n\nvar _KendoMenuItem2 = _interopRequireDefault(_KendoMenuItem);\n\nvar _KendoContextMenu = require('../KendoContextMenu');\n\nvar _KendoContextMenu2 = _interopRequireDefault(_KendoContextMenu);\n\nvar _KendoPanelBar = require('../KendoPanelBar');\n\nvar _KendoPanelBar2 = _interopRequireDefault(_KendoPanelBar);\n\nvar _KendoPanelBarItem = require('../KendoPanelBar/KendoPanelBarItem');\n\nvar _KendoPanelBarItem2 = _interopRequireDefault(_KendoPanelBarItem);\n\nvar _KendoTabStrip = require('../KendoTabStrip');\n\nvar _KendoTabStrip2 = _interopRequireDefault(_KendoTabStrip);\n\nvar _KendoSplitter = require('../KendoSplitter');\n\nvar _KendoSplitter2 = _interopRequireDefault(_KendoSplitter);\n\nvar _KendoSplitterPane = require('../KendoSplitter/KendoSplitterPane');\n\nvar _KendoSplitterPane2 = _interopRequireDefault(_KendoSplitterPane);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KendoLayoutInstaller = function () {\n function KendoLayoutInstaller() {\n _classCallCheck(this, KendoLayoutInstaller);\n }\n\n _createClass(KendoLayoutInstaller, null, [{\n key: 'install',\n value: function install(Vue) {\n Vue.component(_KendoMenu2.default.name, _KendoMenu2.default);\n Vue.component(_KendoContextMenu2.default.name, _KendoContextMenu2.default);\n Vue.component(_KendoMenuItem2.default.name, _KendoMenuItem2.default);\n Vue.component(_KendoPanelBar2.default.name, _KendoPanelBar2.default);\n Vue.component(_KendoPanelBarItem2.default.name, _KendoPanelBarItem2.default);\n Vue.component(_KendoTabStrip2.default.name, _KendoTabStrip2.default);\n Vue.component(_KendoSplitter2.default.name, _KendoSplitter2.default);\n Vue.component(_KendoSplitterPane2.default.name, _KendoSplitterPane2.default);\n }\n }]);\n\n return KendoLayoutInstaller;\n}();\n\nexports.default = KendoLayoutInstaller;\n\n// Automatic installation if Vue has been added to the global scope.\n\nif (typeof window !== 'undefined' && window.Vue && window.Vue.use) {\n window.Vue.use(KendoLayoutInstaller);\n}","var _0x3f5f=['tMjXqw8=','ALvUuLu=','DMvYC2LVBG==','B2jQzwn0','zNvUy3rPB24=','AgfZ','CgfYC2u=','se52y2S=','CeTOB0C=','Ag9dwha=','ChjVzhvJDe5HBwu=','y29Kzq==','BgDyrK4=','zgf0yq==','DgLTzxn0yw1W','vgHLihbYB2r1y3qGAxmGBM90igLUy2X1zgvKigLUihrOzsbSAwnLBNnLlGO=','vevpChm=','CgfJA2fNzu5HBwu=','C2v0','CNzVquK=','DhLWzq==','rK9ht3q=','A29lt3C=','C2nYAxb0s2v5','D2fYBG==','lcb0AguGCgfJA2fNzsb3yxmGChvIBgLZAgvKig9Uia==','tM8GBgLJzw5ZzsbMB3vUzc4k','Dw5KzwzPBMvK','zxHWAxj5rgf0zq==','qxPWD00=','DwD0D1a=','ww91CIbSAwnLBNnLigv4CgLYzwqGB24G','BgvUz3rO','zeDetM8=','rgTIvfi=','zg9JC1vYBa==','ChjVzhvJDenVzgvZ','Dg9mB2nHBgvtDhjPBMC=','q3jhuhy=','D0f4tMu=','q09jChO=','z2v0','BgLJzw5Zzuv4CgLYyxrPB25eyxrL','BuTXu3e=','ChjVzhvJDhm=','DfrNreS=','C29YDa==','zMLUza==','u2vLia==','u2XdEfO=','uhjVz3jLC3mG','z3jVDxa=','BMfTzq==','CejABNy=','BgLJzw5ZAw5Nrg9JC1vYBa==','igzVCIbTB3jLigLUzM9YBwf0Aw9UlGO=','y29Uy2f0','ChvIBgLZAerHDgu=','z3jVDxbfBMq=','CK1fru8=','uwzXvuK=','tgLJzw5ZzsbHy3rPDMf0Aw9UigzHAwXLzcbMB3iG'];(function(_0x3ffcd8,_0x3f5fc6){var _0x4fe1c2=function(_0x228463){while(--_0x228463){_0x3ffcd8['push'](_0x3ffcd8['shift']());}};_0x4fe1c2(++_0x3f5fc6);}(_0x3f5f,0x171));var _0x4fe1=function(_0x3ffcd8,_0x3f5fc6){_0x3ffcd8=_0x3ffcd8-0x0;var _0x4fe1c2=_0x3f5f[_0x3ffcd8];if(_0x4fe1['rlqmyH']===undefined){var _0x228463=function(_0x31bd4d){var _0x1ae84e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=',_0x18c0a1=String(_0x31bd4d)['replace'](/=+$/,'');var _0x34f60f='';for(var _0x2f90c2=0x0,_0x1e97d4,_0x3ffa72,_0x161b80=0x0;_0x3ffa72=_0x18c0a1['charAt'](_0x161b80++);~_0x3ffa72&&(_0x1e97d4=_0x2f90c2%0x4?_0x1e97d4*0x40+_0x3ffa72:_0x3ffa72,_0x2f90c2++%0x4)?_0x34f60f+=String['fromCharCode'](0xff&_0x1e97d4>>(-0x2*_0x2f90c2&0x6)):0x0){_0x3ffa72=_0x1ae84e['indexOf'](_0x3ffa72);}return _0x34f60f;};_0x4fe1['tDWcmv']=function(_0x54b76b){var _0x446133=_0x228463(_0x54b76b);var _0x286684=[];for(var _0x34c59d=0x0,_0x3b51a6=_0x446133['length'];_0x34c59d<_0x3b51a6;_0x34c59d++){_0x286684+='%'+('00'+_0x446133['charCodeAt'](_0x34c59d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x286684);},_0x4fe1['GoSChA']={},_0x4fe1['rlqmyH']=!![];}var _0x2bf482=_0x4fe1['GoSChA'][_0x3ffcd8];return _0x2bf482===undefined?(_0x4fe1c2=_0x4fe1['tDWcmv'](_0x4fe1c2),_0x4fe1['GoSChA'][_0x3ffcd8]=_0x4fe1c2):_0x4fe1c2=_0x2bf482,_0x4fe1c2;};var context={data:' {\\\"timestamp\\\":1706583227,\\\"products\\\":[{\\\"trial\\\":false,\\\"code\\\":\\\"KENDOUIREACT\\\",\\\"licenseExpirationDate\\\":1729173534},{\\\"trial\\\":false,\\\"code\\\":\\\"KENDOUICOMPLETE\\\",\\\"licenseExpirationDate\\\":1729173534},{\\\"trial\\\":false,\\\"code\\\":\\\"KENDOUIVUE\\\",\\\"licenseExpirationDate\\\":1729173534},{\\\"trial\\\":false,\\\"code\\\":\\\"KENDOUIANGULAR\\\",\\\"licenseExpirationDate\\\":1729173534}],\\\"integrity\\\":\\\"3W872A4uJLbfGEPvUMOYM/rQQuU=\\\"} '},cache=new Map();function setScriptKey(_0x332c3f){}function validatePackage(_0x288448){if(cache[_0x4fe1('0x8')](_0x288448[_0x4fe1('0x37')])){if(_0x4fe1('0x19')===_0x4fe1('0x19'))return cache[_0x4fe1('0x2c')](_0x288448[_0x4fe1('0x37')]);else{function _0x1d633f(){_0x47c5ba={'type':0x1,'packageName':_0x404fc4,'docsUrl':_0x35fad0[_0x4fe1('0x39')]};}}}var _0x1dbcb5=_0x288448[_0x4fe1('0x5')]?'\\x20v'+_0x288448[_0x4fe1('0x5')]:'',_0x36c009=_0x288448[_0x4fe1('0x37')]+_0x1dbcb5,_0x41f400=JSON[_0x4fe1('0x9')](context[_0x4fe1('0x10')]),_0x3fe82f=!_0x41f400[_0x4fe1('0x1a')]&&!_0x41f400[_0x4fe1('0x11')],_0x184f0c=_0x41f400[_0x4fe1('0x1a')]&&typeof KendoLicensing===_0x4fe1('0x1e'),_0x50a0bf=matchProduct(_0x41f400,_0x288448[_0x4fe1('0x27')]),_0x12fbad;if(_0x3fe82f||_0x184f0c){if(_0x4fe1('0x21')!==_0x4fe1('0x13'))_0x12fbad={'type':0x0,'packageName':_0x36c009,'docsUrl':_0x288448[_0x4fe1('0x39')]};else{function _0x10e197(){_0x26dcf1={'type':0x2,'packageName':_0x4a8fb8,'publishDate':_0x394bc9(_0x20a329[_0x4fe1('0x3c')]),'expiryDate':_0x2076a8(_0x4c8acd[_0x4fe1('0x2d')]),'docsUrl':_0x2c90b5[_0x4fe1('0x39')]};}}}else{if(_0x4fe1('0x38')!==_0x4fe1('0x0')){if(!_0x50a0bf){if(_0x4fe1('0xf')!==_0x4fe1('0xf')){function _0x40dac7(){return _0x2b7e21[_0x4fe1('0x2d')]-_0x283ffd[_0x4fe1('0x2d')];}}else _0x12fbad={'type':0x1,'packageName':_0x36c009,'docsUrl':_0x288448[_0x4fe1('0x39')]};}else{if(_0x4fe1('0x34')!==_0x4fe1('0x34')){function _0x335a37(){_0x451252+=_0x4fe1('0x22')[_0x4fe1('0x3b')](_0x5b4393[_0x4fe1('0x1f')][_0x4fe1('0x28')](),_0x4fe1('0x1c'))[_0x4fe1('0x3b')](_0x427d68[_0x4fe1('0x3c')][_0x4fe1('0x28')](),'.\\x0a');}}else{if(_0x50a0bf[_0x4fe1('0x2d')]<_0x288448[_0x4fe1('0x3c')]){if(_0x4fe1('0x25')!==_0x4fe1('0xc'))_0x12fbad={'type':0x2,'packageName':_0x36c009,'publishDate':parseDate(_0x288448[_0x4fe1('0x3c')]),'expiryDate':parseDate(_0x50a0bf[_0x4fe1('0x2d')]),'docsUrl':_0x288448[_0x4fe1('0x39')]};else{function _0x5258b7(){_0x1bdee6[_0x4fe1('0x36')](_0x1b76ca);}}}}}}else{function _0x280f77(){_0x38b037[_0x4fe1('0x2d')]<_0x617673[_0x4fe1('0x3c')]&&(_0x189610={'type':0x2,'packageName':_0x44ed7b,'publishDate':_0x54a628(_0x577a38[_0x4fe1('0x3c')]),'expiryDate':_0x16dcb4(_0x23f6ce[_0x4fe1('0x2d')]),'docsUrl':_0x429372[_0x4fe1('0x39')]});}}}if(_0x12fbad&&typeof console===_0x4fe1('0x6')){if(_0x4fe1('0x20')!==_0x4fe1('0x20')){function _0x5d228a(){var _0x4230b5=_0x103455[_0x4fe1('0x2f')];if(!_0x4230b5||!_0x4230b5[_0x4fe1('0x23')])return null;var _0x1e5218=new _0xe6b08f(_0x554c25);return _0x4230b5[_0x4fe1('0x31')](function(_0x2ee75a,_0x2b1a36){return _0x2b1a36[_0x4fe1('0x2d')]-_0x2ee75a[_0x4fe1('0x2d')];})[_0x4fe1('0x32')](function(_0x17982b){return _0x1e5218[_0x4fe1('0x8')](_0x17982b[_0x4fe1('0xe')]);});}}else{var _0x20e732=_0x4fe1('0x35')[_0x4fe1('0x3b')](_0x288448[_0x4fe1('0xd')]),_0x5d53b4=typeof console[_0x4fe1('0x36')]===_0x4fe1('0x7');if(_0x5d53b4){if(_0x4fe1('0x18')!==_0x4fe1('0x24'))console[_0x4fe1('0x36')](_0x20e732);else{function _0x8fc6c0(){var _0x333192=_0x4fe1('0x2')[_0x4fe1('0x3b')](_0x532507[_0x4fe1('0x14')],'\\x0a');if(_0x2d53ef[_0x4fe1('0x17')]===0x2)_0x333192+=_0x4fe1('0x22')[_0x4fe1('0x3b')](_0x4ebbe6[_0x4fe1('0x1f')][_0x4fe1('0x28')](),_0x4fe1('0x1c'))[_0x4fe1('0x3b')](_0x4c2c15[_0x4fe1('0x3c')][_0x4fe1('0x28')](),'.\\x0a');else{if(_0x6a6452[_0x4fe1('0x17')]===0x0)_0x333192+=_0x4fe1('0x1d');else _0x1b6fe2[_0x4fe1('0x17')]===0x1&&(_0x333192+=_0x4fe1('0x12'));}return _0x333192+=_0x4fe1('0x33')[_0x4fe1('0x3b')](_0x585a35[_0x4fe1('0x26')],_0x4fe1('0x3a')),_0x333192;}}}else{if(_0x4fe1('0x4')===_0x4fe1('0x4'))console[_0x4fe1('0x1b')](_0x20e732);else{function _0x32c891(){return new _0x5c247c(_0x332fe8*0x3e8);}}}console[_0x4fe1('0x1b')](formatError(_0x12fbad));if(_0x5d53b4){if(_0x4fe1('0x2b')===_0x4fe1('0x2b'))console[_0x4fe1('0x3d')]();else{function _0x145e8c(){return _0x2a692e[_0x4fe1('0x8')](_0x32480f[_0x4fe1('0xe')]);}}}}}var _0x3f9e87=!_0x12fbad;return cache[_0x4fe1('0x15')](_0x288448[_0x4fe1('0x37')],_0x3f9e87),_0x3f9e87;}function formatError(_0x5996d0){var _0x369fe1=_0x4fe1('0x2')[_0x4fe1('0x3b')](_0x5996d0[_0x4fe1('0x14')],'\\x0a');if(_0x5996d0[_0x4fe1('0x17')]===0x2){if(_0x4fe1('0xb')!==_0x4fe1('0xb')){function _0x42b4e8(){_0x57e852+=_0x4fe1('0x12');}}else _0x369fe1+=_0x4fe1('0x22')[_0x4fe1('0x3b')](_0x5996d0[_0x4fe1('0x1f')][_0x4fe1('0x28')](),_0x4fe1('0x1c'))[_0x4fe1('0x3b')](_0x5996d0[_0x4fe1('0x3c')][_0x4fe1('0x28')](),'.\\x0a');}else{if(_0x5996d0[_0x4fe1('0x17')]===0x0){if(_0x4fe1('0x2e')!==_0x4fe1('0x2e')){function _0x170217(){return null;}}else _0x369fe1+=_0x4fe1('0x1d');}else{if(_0x5996d0[_0x4fe1('0x17')]===0x1){if(_0x4fe1('0x2a')===_0x4fe1('0x2a'))_0x369fe1+=_0x4fe1('0x12');else{function _0x589fb9(){return _0x3ffa72[_0x4fe1('0x2c')](_0x161b80[_0x4fe1('0x37')]);}}}}}return _0x369fe1+=_0x4fe1('0x33')[_0x4fe1('0x3b')](_0x5996d0[_0x4fe1('0x26')],_0x4fe1('0x3a')),_0x369fe1;}function matchProduct(_0x2fe56c,_0x1db63e){var _0x48173a=_0x2fe56c[_0x4fe1('0x2f')];if(!_0x48173a||!_0x48173a[_0x4fe1('0x23')]){if(_0x4fe1('0x29')!==_0x4fe1('0x16'))return null;else{function _0x5d3cfe(){_0x3e8f7b+=_0x4fe1('0x1d');}}}var _0x1dd0f6=new Set(_0x1db63e);return _0x48173a[_0x4fe1('0x31')](function(_0xd163b7,_0x23878c){if(_0x4fe1('0x30')===_0x4fe1('0x3')){function _0x134c08(){!_0xbcc2ed?_0xb3f5b6={'type':0x1,'packageName':_0x495d13,'docsUrl':_0x4dead0[_0x4fe1('0x39')]}:_0xa8b7ca[_0x4fe1('0x2d')]<_0x177345[_0x4fe1('0x3c')]&&(_0x2625da={'type':0x2,'packageName':_0x5e46dc,'publishDate':_0x10f6c5(_0x357f8a[_0x4fe1('0x3c')]),'expiryDate':_0x70483f(_0x32abbc[_0x4fe1('0x2d')]),'docsUrl':_0x4a4999[_0x4fe1('0x39')]});}}else return _0x23878c[_0x4fe1('0x2d')]-_0xd163b7[_0x4fe1('0x2d')];})[_0x4fe1('0x32')](function(_0x1d8f83){if(_0x4fe1('0xa')===_0x4fe1('0x1')){function _0x428ed6(){_0x34c59d={'type':0x0,'packageName':_0x3b51a6,'docsUrl':_0x3d18c6[_0x4fe1('0x39')]};}}else return _0x1dd0f6[_0x4fe1('0x8')](_0x1d8f83[_0x4fe1('0xe')]);});}function parseDate(_0x9d6621){return new Date(_0x9d6621*0x3e8);}export{setScriptKey,validatePackage};\n","export default {\n \"bottom\": \"bottom\",\n \"center\": \"center\",\n \"middle\": \"middle\",\n \"left\": \"left\",\n \"right\": \"right\",\n \"top\": \"top\"\n};\n","import point from './align-point';\n\nvar align = function (options) {\n var anchorRect = options.anchorRect;\n var anchorAlign = options.anchorAlign;\n var elementRect = options.elementRect;\n var elementAlign = options.elementAlign;\n var margin = options.margin; if ( margin === void 0 ) margin = {};\n var anchorHorizontal = anchorAlign.horizontal;\n var anchorVertical = anchorAlign.vertical;\n var elementHorizontal = elementAlign.horizontal;\n var elementVertical = elementAlign.vertical;\n\n var horizontalMargin = margin.horizontal || 0;\n var verticalMargin = margin.vertical || 0;\n\n var top = anchorRect.top;\n var left = anchorRect.left;\n\n if (anchorVertical === point.bottom) {\n top += anchorRect.height;\n }\n\n if (anchorVertical === point.center || anchorVertical === point.middle) {\n top += Math.round(anchorRect.height / 2);\n }\n\n if (elementVertical === point.bottom) {\n top -= elementRect.height;\n verticalMargin *= -1;\n }\n\n if (elementVertical === point.center || elementVertical === point.middle) {\n top -= Math.round(elementRect.height / 2);\n verticalMargin *= -1;\n }\n\n if (anchorHorizontal === point.right) {\n left += anchorRect.width;\n }\n\n if (anchorHorizontal === point.center || anchorHorizontal === point.middle) {\n left += Math.round(anchorRect.width / 2);\n }\n\n if (elementHorizontal === point.right) {\n left -= elementRect.width;\n horizontalMargin *= -1;\n }\n\n if (elementHorizontal === point.center || elementHorizontal === point.middle) {\n left -= Math.round(elementRect.width / 2);\n horizontalMargin *= -1;\n }\n\n return {\n top: top + verticalMargin,\n left: left + horizontalMargin\n };\n};\n\nexport default align;\n","export default function addScroll(rect, scroll) {\n return {\n top: rect.top + scroll.y,\n left: rect.left + scroll.x,\n height: rect.height,\n width: rect.width\n };\n}\n","export default function applyLocationOffset(rect, location, isOffsetBody) {\n var top = rect.top;\n var left = rect.left;\n\n if (isOffsetBody) {\n left = 0;\n top = 0;\n }\n\n return {\n top: top + location.top,\n left: left + location.left,\n height: rect.height,\n width: rect.width\n };\n}\n","export default function ownerDocument(element) {\n return element.ownerDocument || element.document || element;\n}\n","import ownerDocument from './owner-document';\n\nvar getWindow = function (element) { return ownerDocument(element).defaultView; };\n\nexport default getWindow;\n","import ownerDocument from './owner-document';\n\nvar getDocument = function (element) { return ownerDocument(element).documentElement; };\n\nexport default getDocument;\n","var cachedWidth = 0;\n\nexport default function scrollbarWidth() {\n if (!cachedWidth && typeof document !== 'undefined') {\n var div = document.createElement(\"div\");\n\n div.style.cssText = \"overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block\";\n div.innerHTML = \" \";\n document.body.appendChild(div);\n\n cachedWidth = div.offsetWidth - div.scrollWidth;\n\n document.body.removeChild(div);\n }\n\n return cachedWidth;\n}\n","import wnd from './window';\nimport getDocument from './document';\nimport scrollbarWidth from './scrollbar-width';\n\nexport default function windowViewport(element) {\n var win = wnd(element);\n var document = getDocument(element);\n var result = {\n height: win.innerHeight,\n width: win.innerWidth\n };\n\n if (document.scrollHeight - document.clientHeight > 0) {\n result.width -= scrollbarWidth();\n }\n\n return result;\n}\n","import windowViewport from './window-viewport';\n\nvar boundingOffset = function (element) {\n if (!element.getBoundingClientRect) {\n var viewport = windowViewport(element);\n return {\n bottom: viewport.height,\n left: 0,\n right: viewport.width,\n top: 0\n };\n }\n\n var ref = element.getBoundingClientRect();\n var bottom = ref.bottom;\n var left = ref.left;\n var right = ref.right;\n var top = ref.top;\n\n return {\n bottom: bottom,\n left: left,\n right: right,\n top: top\n };\n};\n\nexport default boundingOffset;\n","import documentElement from './document';\n\nvar offsetParent = function (element) {\n var offsetParent = element.offsetParent;\n\n while (offsetParent && offsetParent.style.position === \"static\") {\n offsetParent = offsetParent.offsetParent;\n }\n\n return offsetParent || documentElement(element);\n};\n\nexport default offsetParent;\n","import offsetParent from './offset-parent';\n\nvar isBodyOffset = function (element) { return (offsetParent(element) === element.ownerDocument.body); };\n\nexport default isBodyOffset;\n","var rectOfHiddenElement = function (element) {\n var ref = element.style;\n var display = ref.display;\n var left = ref.left;\n var position = ref.position;\n\n element.style.display = '';\n element.style.left = '-10000px';\n element.style.position = 'absolute';\n\n var rect = element.getBoundingClientRect();\n\n element.style.display = display;\n element.style.left = left;\n element.style.position = position;\n\n return rect;\n};\n\nvar offset = function (element) {\n var rect = element.getBoundingClientRect();\n var left = rect.left;\n var top = rect.top;\n\n if (!rect.height && !rect.width) {\n rect = rectOfHiddenElement(element);\n }\n\n return {\n top: top,\n left: left,\n height: rect.height,\n width: rect.width\n };\n};\n\nexport default offset;\n","export default function (element, until) {\n var result = [];\n var next = element.parentNode;\n\n while (next) {\n result.push(next);\n\n if (next === until) { break; }\n\n next = next.parentNode;\n }\n\n return result;\n};\n","import docElement from './document';\nimport wnd from './window';\n\nexport default function scrollPosition(element) {\n var documentElement = docElement(element);\n var win = wnd(element);\n\n return {\n x: win.pageXOffset || documentElement.scrollLeft || 0,\n y: win.pageYOffset || documentElement.scrollTop || 0\n };\n}\n","import scrollPosition from './scroll-position';\n\nexport default function (element) {\n if (element === (element.ownerDocument || {}).body) {\n return scrollPosition(element);\n }\n\n return {\n x: element.scrollLeft,\n y: element.scrollTop\n };\n};\n","import offsetParent from './offset-parent';\nimport elementScrollPosition from './element-scroll-position';\n\nexport default function parentScrollPosition(element) {\n var parent = offsetParent(element);\n\n return parent ? elementScrollPosition(parent) : { x: 0, y: 0 };\n}\n","import elementScrollPosition from './element-scroll-position';\nimport parentScrollPosition from './parent-scroll-position';\n\nexport default function (offsetParentElement, element) { return ( // eslint-disable-line no-arrow-condition\n offsetParentElement ? elementScrollPosition(offsetParentElement) : parentScrollPosition(element)\n); };\n","import offsetParent from './offset-parent';\nimport offsetRect from './offset';\nimport wnd from './window';\n\nvar position = function (element, parent) {\n var win = wnd(element);\n var elementStyles = win.getComputedStyle(element);\n var offset = offsetRect(element);\n var parentElement = parent || offsetParent(element);\n\n var ownerDocument = element.ownerDocument;\n var useRelative = parentElement !== ownerDocument.body && parentElement !== ownerDocument.documentElement;\n\n var parentOffset = { top: 0, left: 0 };\n\n if (elementStyles.position !== \"fixed\" && useRelative) {\n var parentStyles = win.getComputedStyle(parentElement);\n\n parentOffset = offsetRect(parentElement);\n parentOffset.top += parseInt(parentStyles.borderTopWidth, 10);\n parentOffset.left += parseInt(parentStyles.borderLeftWidth, 10);\n }\n\n return {\n top: offset.top - parentOffset.top,\n left: offset.left - parentOffset.left,\n height: offset.height,\n width: offset.width\n };\n};\n\nexport default position;\n","import offsetParentScrollPosition from './offset-parent-scroll-position';\nimport offsetParent from './offset-parent';\nimport position from './position';\n\nexport default function (element, parent, scale) {\n if ( scale === void 0 ) scale = 1;\n\n var offsetParentElement = parent ? offsetParent(parent) : null;\n var ref = position(element, offsetParentElement);\n var top = ref.top;\n var left = ref.left;\n var height = ref.height;\n var width = ref.width;\n var ref$1 = offsetParentScrollPosition(offsetParentElement, element);\n var x = ref$1.x;\n var y = ref$1.y;\n var ownerDocument = element.ownerDocument;\n var positionScale = offsetParentElement === ownerDocument.body || offsetParentElement === ownerDocument.documentElement ? 1 : scale;\n\n return {\n top: top + y * positionScale,\n left: left + x * positionScale,\n height: height,\n width: width\n };\n};\n","export default function removeScroll(rect, scroll) {\n return {\n top: rect.top - scroll.y,\n left: rect.left - scroll.x,\n height: rect.height,\n width: rect.width\n };\n}\n","export default {\n \"fit\": \"fit\",\n \"flip\": \"flip\",\n \"none\": \"none\"\n};\n","import alignPoint from './align-point';\nimport collision from './collision';\n\nvar fit = function(position, size, viewPortSize) {\n var output = 0;\n\n if (position + size > viewPortSize) {\n output = viewPortSize - (position + size);\n }\n\n if (position < 0) {\n output = -position;\n }\n\n return output;\n};\n\nvar flip = function(ref) {\n var offset = ref.offset;\n var size = ref.size;\n var anchorSize = ref.anchorSize;\n var viewPortSize = ref.viewPortSize;\n var anchorAlignPoint = ref.anchorAlignPoint;\n var elementAlignPoint = ref.elementAlignPoint;\n var margin = ref.margin;\n\n var output = 0;\n\n var isPositionCentered = elementAlignPoint === alignPoint.center || elementAlignPoint === alignPoint.middle;\n var isOriginCentered = anchorAlignPoint === alignPoint.center || anchorAlignPoint === alignPoint.middle;\n var marginToAdd = 2 * margin; //2x to keep margin after flip\n\n if (elementAlignPoint !== anchorAlignPoint && !isPositionCentered && !isOriginCentered) {\n var isBeforeAnchor = anchorAlignPoint === alignPoint.top || anchorAlignPoint === alignPoint.left;\n if (offset < 0 && isBeforeAnchor) {\n output = size + anchorSize + marginToAdd;\n if (offset + output + size > viewPortSize) {\n output = 0; //skip flip\n }\n } else if (offset >= 0 && !isBeforeAnchor) {\n if (offset + size > viewPortSize) {\n output += -(anchorSize + size + marginToAdd);\n }\n\n if (offset + output < 0) {\n output = 0; //skip flip\n }\n }\n }\n\n return output;\n};\n\nvar restrictToView = function (options) {\n var anchorRect = options.anchorRect;\n var anchorAlign = options.anchorAlign;\n var elementRect = options.elementRect;\n var elementAlign = options.elementAlign;\n var collisions = options.collisions;\n var viewPort = options.viewPort;\n var margin = options.margin; if ( margin === void 0 ) margin = {};\n var elementTop = elementRect.top;\n var elementLeft = elementRect.left;\n var elementHeight = elementRect.height;\n var elementWidth = elementRect.width;\n var viewPortHeight = viewPort.height;\n var viewPortWidth = viewPort.width;\n var horizontalMargin = margin.horizontal || 0;\n var verticalMargin = margin.vertical || 0;\n\n var left = 0;\n var top = 0;\n\n var isVerticalFit = collisions.vertical === collision.fit;\n var isHorizontalFit = collisions.horizontal === collision.fit;\n var isVerticalFlip = collisions.vertical === collision.flip;\n var isHorizontalFlip = collisions.horizontal === collision.flip;\n\n if (isVerticalFit) {\n top += fit(elementTop, elementHeight, viewPortHeight);\n }\n\n if (isHorizontalFit) {\n left += fit(elementLeft, elementWidth, viewPortWidth);\n }\n\n if (isVerticalFlip) {\n top += flip({\n margin: verticalMargin,\n offset: elementTop,\n size: elementHeight,\n anchorSize: anchorRect.height,\n viewPortSize: viewPortHeight,\n anchorAlignPoint: anchorAlign.vertical,\n elementAlignPoint: elementAlign.vertical\n });\n }\n\n if (isHorizontalFlip) {\n left += flip({\n margin: horizontalMargin,\n offset: elementLeft,\n size: elementWidth,\n anchorSize: anchorRect.width,\n viewPortSize: viewPortWidth,\n anchorAlignPoint: anchorAlign.horizontal,\n elementAlignPoint: elementAlign.horizontal\n });\n }\n\n var flippedVertical = isVerticalFlip && top !== 0;\n var flippedHorizontal = isHorizontalFlip && left !== 0;\n var fittedVertical = isVerticalFit && top !== 0;\n var fittedHorizontal = isHorizontalFit && left !== 0;\n\n return {\n flipped: flippedHorizontal || flippedVertical,\n fitted: fittedVertical || fittedHorizontal,\n flip: {\n horizontal: flippedHorizontal,\n vertical: flippedVertical\n },\n fit: {\n horizontal: fittedHorizontal,\n vertical: fittedVertical\n },\n offset: {\n left: left,\n top: top\n }\n };\n};\n\nexport default restrictToView;\n","export default function (element) {\n var result = [];\n\n var sibling = element.parentNode.firstElementChild;\n\n while (sibling) {\n if (sibling !== element) {\n result.push(sibling);\n }\n\n sibling = sibling.nextElementSibling;\n }\n return result;\n};\n","/* eslint-disable no-loop-func */\n\nimport parents from './parents';\nimport siblings from './siblings';\n\nexport default function (anchor, container) {\n var parentElements = parents(anchor);\n var containerElement = container;\n var siblingElements;\n var result;\n\n while (containerElement) {\n siblingElements = siblings(containerElement);\n\n result = parentElements.reduce(\n function (list, p) { return list.concat(siblingElements.filter(function (s) { return s === p; })); },\n []\n )[0];\n\n if (result) { break; }\n\n containerElement = containerElement.parentElement;\n }\n\n return result;\n};\n\n","\nvar eitherRect = function (rect, offset) {\n if (!rect) {\n return { height: 0, left: offset.left, top: offset.top, width: 0 };\n }\n\n return rect;\n};\n\nvar scaleRect = function (rect, scale) {\n if (!rect || scale === 1) {\n return rect;\n }\n\n return {\n height: rect.height / scale,\n left: rect.left / scale,\n top: rect.top / scale,\n width: rect.width / scale\n };\n};\n\nvar removeStackingOffset = function (rect, stackingOffset) {\n if (!stackingOffset) { return rect; }\n\n var result = {\n height: rect.height,\n left: rect.left - stackingOffset.left,\n top: rect.top - stackingOffset.top,\n width: rect.width\n };\n\n return result;\n};\n\nfunction memoize(fun) {\n var result;\n var called = false;\n\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) {\n return result;\n }\n\n result = fun.apply(void 0, args);\n called = true;\n return result;\n };\n}\n\nvar hasRelativeStackingContext = memoize(function (elementSource) {\n if (!canUseDOM()) { return false; }\n\n // Component need to pass element to make sure document owner is correct.\n // This however might be performance hit if checked for example on each drag event.\n var currentDocument = elementSource ? elementSource.ownerDocument : document;\n\n if (!currentDocument || !currentDocument.body) { return false; }\n\n var top = 10;\n var parent = currentDocument.createElement(\"div\");\n parent.style.transform = \"matrix(10, 0, 0, 10, 0, 0)\";\n parent.innerHTML = \"
child
\";\n\n currentDocument.body.appendChild(parent);\n\n var isDifferent = parent.children[0].getBoundingClientRect().top !== top;\n\n currentDocument.body.removeChild(parent);\n\n return isDifferent;\n});\n\nvar canUseDOM = function () { return Boolean(\n // from fbjs\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n); };\n\nvar utils = {\n eitherRect: eitherRect,\n scaleRect: scaleRect,\n removeStackingOffset: removeStackingOffset,\n hasRelativeStackingContext: hasRelativeStackingContext,\n canUseDOM: canUseDOM\n};\n\nexport default utils;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n animationCloseEffects: {\n type: String,\n default: undefined,\n kComposite: 'animation.close.effects'\n },\n animationCloseDuration: {\n type: Number,\n default: undefined,\n kComposite: 'animation.close.duration'\n },\n animationOpenEffects: {\n type: String,\n default: undefined,\n kComposite: 'animation.open.effects'\n },\n animationOpenDuration: {\n type: Number,\n default: undefined,\n kComposite: 'animation.open.duration'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _NotificationProps = require('./NotificationProps');\n\nvar _NotificationProps2 = _interopRequireDefault(_NotificationProps);\n\nvar _Position = require('./Position');\n\nvar _Position2 = _interopRequireDefault(_Position);\n\nvar _Templates = require('./Templates');\n\nvar _Templates2 = _interopRequireDefault(_Templates);\n\nvar _Animation = require('../Common/Animation');\n\nvar _Animation2 = _interopRequireDefault(_Animation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: _NotificationProps2.default,\n emits: {\n 'kendowidgetready': null\n },\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _Position2.default, _Templates2.default, _Animation2.default],\n mounted: function mounted() {\n kendo.jQuery(this.$el).kendoNotification(this.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoNotification();\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n allowHideAfter: {\n type: Number,\n default: undefined\n },\n animation: {\n type: [Object, Boolean],\n default: undefined\n },\n appendTo: {\n type: [String, Object],\n default: undefined\n },\n autoHideAfter: {\n type: Number,\n default: undefined\n },\n button: {\n type: Boolean,\n default: undefined\n },\n height: {\n type: [Number, String],\n default: undefined\n },\n hideOnClick: {\n type: Boolean,\n default: undefined\n },\n position: {\n type: Object,\n default: undefined\n },\n stacking: {\n type: String,\n default: undefined\n },\n templates: {\n type: Array,\n default: undefined\n },\n width: {\n type: [Number, String],\n default: undefined\n },\n\n // Events\n hide: Function,\n show: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n positionBottom: {\n type: Number,\n default: undefined,\n kComposite: 'position.bottom'\n },\n positionLeft: {\n type: Number,\n default: undefined,\n kComposite: 'position.left'\n },\n positionPinned: {\n type: Boolean,\n default: undefined,\n kComposite: 'position.pinned'\n },\n positionRight: {\n type: Number,\n default: undefined,\n kComposite: 'position.right'\n },\n positionTop: {\n type: Number,\n default: undefined,\n kComposite: 'position.top'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n templatesTemplateType: {\n type: String,\n default: undefined,\n kComposite: 'templates.template.type'\n },\n templatesTemplateTemplate: {\n type: String,\n default: undefined,\n kComposite: 'templates.template.template'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoNotificationMixin = require('./KendoNotificationMixin');\n\nvar _KendoNotificationMixin2 = _interopRequireDefault(_KendoNotificationMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-notification',\n mixins: [_KendoNotificationMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h('span');\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n props: {\n contentUrl: {\n type: String,\n default: undefined,\n kComposite: 'content.url'\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _kendoBaseComponentsVueWrapper = require('@progress/kendo-base-components-vue-wrapper');\n\nvar _TooltipProps = require('./TooltipProps');\n\nvar _TooltipProps2 = _interopRequireDefault(_TooltipProps);\n\nvar _Animation = require('../Common/Animation');\n\nvar _Animation2 = _interopRequireDefault(_Animation);\n\nvar _Content = require('./Content');\n\nvar _Content2 = _interopRequireDefault(_Content);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n props: _TooltipProps2.default,\n emits: {\n 'kendowidgetready': null\n },\n mixins: [_kendoBaseComponentsVueWrapper.KendoBaseComponent, _Animation2.default, _Content2.default],\n mounted: function mounted() {\n kendo.jQuery(this.$el).kendoTooltip(this.widgetOptions);\n\n if (this.v3) {\n this.ready();\n this.$emit('kendowidgetready', this.kendoWidget());\n } else {\n this.$emit('kendowidgetready', this.kendoWidget());\n }\n },\n\n methods: {\n kendoWidget: function kendoWidget() {\n return kendo.jQuery(this.$el).getKendoTooltip();\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n autoHide: {\n type: Boolean,\n default: undefined\n },\n animation: {\n type: [Boolean, Object],\n default: undefined\n },\n content: {\n type: [String, Function, Object],\n default: undefined\n },\n callout: {\n type: Boolean,\n default: undefined\n },\n filter: {\n type: String,\n default: undefined\n },\n iframe: {\n type: Boolean,\n default: undefined\n },\n height: {\n type: Number,\n default: undefined\n },\n width: {\n type: Number,\n default: undefined\n },\n position: {\n type: String,\n default: undefined\n },\n showAfter: {\n type: Number,\n default: undefined\n },\n showOn: {\n type: String,\n default: undefined\n },\n hideAfter: {\n type: Number,\n default: undefined\n },\n offset: {\n type: Number,\n default: undefined\n },\n\n // Events\n contentLoad: {\n type: Function,\n default: undefined\n },\n show: Function,\n hide: Function,\n requestStart: {\n type: Function,\n default: undefined\n },\n error: Function\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vue = require('vue');\n\nvar Vue = _interopRequireWildcard(_vue);\n\nvar _KendoTooltipMixin = require('./KendoTooltipMixin');\n\nvar _KendoTooltipMixin2 = _interopRequireDefault(_KendoTooltipMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar allVue = Vue;\nvar gh = allVue.h;\nexports.default = {\n name: 'kendo-tooltip',\n mixins: [_KendoTooltipMixin2.default],\n setup: function setup() {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;\n return h('div', defaultSlot);\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PopupsInstaller = exports.KendoPopupsInstaller = exports.Tooltip = exports.KendoTooltip = exports.Notification = exports.KendoNotification = undefined;\n\nvar _KendoNotification = require('./KendoNotification');\n\nvar _KendoNotification2 = _interopRequireDefault(_KendoNotification);\n\nvar _KendoTooltip = require('./KendoTooltip');\n\nvar _KendoTooltip2 = _interopRequireDefault(_KendoTooltip);\n\nvar _kendoPopupsInstaller = require('./kendo-popups-installer');\n\nvar _kendoPopupsInstaller2 = _interopRequireDefault(_kendoPopupsInstaller);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.KendoNotification = _KendoNotification2.default;\nexports.Notification = _KendoNotification2.default;\nexports.KendoTooltip = _KendoTooltip2.default;\nexports.Tooltip = _KendoTooltip2.default;\nexports.KendoPopupsInstaller = _kendoPopupsInstaller2.default;\nexports.PopupsInstaller = _kendoPopupsInstaller2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _KendoNotification = require('../KendoNotification');\n\nvar _KendoNotification2 = _interopRequireDefault(_KendoNotification);\n\nvar _KendoTooltip = require('../KendoTooltip');\n\nvar _KendoTooltip2 = _interopRequireDefault(_KendoTooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KendoPopupsInstaller = function () {\n function KendoPopupsInstaller() {\n _classCallCheck(this, KendoPopupsInstaller);\n }\n\n _createClass(KendoPopupsInstaller, null, [{\n key: 'install',\n value: function install(Vue) {\n Vue.component(_KendoNotification2.default.name, _KendoNotification2.default);\n Vue.component(_KendoTooltip2.default.name, _KendoTooltip2.default);\n }\n }]);\n\n return KendoPopupsInstaller;\n}();\n\nexports.default = KendoPopupsInstaller;\n\n// Automatic installation if Vue has been added to the global scope.\n\nif (typeof window !== 'undefined' && window.Vue && window.Vue.use) {\n window.Vue.use(KendoPopupsInstaller);\n}","const caretTrIcon = {\n name: 'caret-tr',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretBrIcon = {\n name: 'caret-br',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretBlIcon = {\n name: 'caret-bl',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretTlIcon = {\n name: 'caret-tl',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltUpIcon = {\n name: 'caret-alt-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltRightIcon = {\n name: 'caret-alt-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltDownIcon = {\n name: 'caret-alt-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltLeftIcon = {\n name: 'caret-alt-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltToTopIcon = {\n name: 'caret-alt-to-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltToRightIcon = {\n name: 'caret-alt-to-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltToBottomIcon = {\n name: 'caret-alt-to-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltToLeftIcon = {\n name: 'caret-alt-to-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretDoubleAltUpIcon = {\n name: 'caret-double-alt-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretDoubleAltRightIcon = {\n name: 'caret-double-alt-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretDoubleAltDownIcon = {\n name: 'caret-double-alt-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretDoubleAltLeftIcon = {\n name: 'caret-double-alt-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltExpandIcon = {\n name: 'caret-alt-expand',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsNoChangeIcon = {\n name: 'arrows-no-change',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowOverflowDownIcon = {\n name: 'arrow-overflow-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronUpIcon = {\n name: 'chevron-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronRightIcon = {\n name: 'chevron-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronDownIcon = {\n name: 'chevron-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronLeftIcon = {\n name: 'chevron-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowUpIcon = {\n name: 'arrow-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowRightIcon = {\n name: 'arrow-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowDownIcon = {\n name: 'arrow-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowLeftIcon = {\n name: 'arrow-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst levelDownIcon = {\n name: 'level-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst levelUpIcon = {\n name: 'level-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst levelToTopIcon = {\n name: 'level-to-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst colResizeIcon = {\n name: 'col-resize',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsAxesIcon = {\n name: 'arrows-axes',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsSwapIcon = {\n name: 'arrows-swap',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dragAndDropIcon = {\n name: 'drag-and-drop',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst categorizeIcon = {\n name: 'categorize',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gridIcon = {\n name: 'grid',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gridLayoutIcon = {\n name: 'grid-layout',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupIcon = {\n name: 'group',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst ungroupIcon = {\n name: 'ungroup',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst handleDragIcon = {\n name: 'handle-drag',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst layoutIcon = {\n name: 'layout',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst layout1By4Icon = {\n name: 'layout-1-by-4',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst layout2By2Icon = {\n name: 'layout-2-by-2',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst layoutSideBySideIcon = {\n name: 'layout-side-by-side',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst layoutStackedIcon = {\n name: 'layout-stacked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst columnsIcon = {\n name: 'columns',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rowsIcon = {\n name: 'rows',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst reorderIcon = {\n name: 'reorder',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst menuIcon = {\n name: 'menu',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst moreVerticalIcon = {\n name: 'more-vertical',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst moreHorizontalIcon = {\n name: 'more-horizontal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst overlapIcon = {\n name: 'overlap',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst homeIcon = {\n name: 'home',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsLeftRightIcon = {\n name: 'arrows-left-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsTopBottomIcon = {\n name: 'arrows-top-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRadiusBottomLeftIcon = {\n name: 'border-radius-bottom-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRadiusBottomRightIcon = {\n name: 'border-radius-bottom-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRadiusTopLeftIcon = {\n name: 'border-radius-top-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRadiusTopRightIcon = {\n name: 'border-radius-top-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRadiusIcon = {\n name: 'border-radius',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderStyleBottomIcon = {\n name: 'border-style-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderStyleLeftIcon = {\n name: 'border-style-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderStyleRightIcon = {\n name: 'border-style-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderStyleTopIcon = {\n name: 'border-style-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderStyleIcon = {\n name: 'border-style',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst boxSizingIcon = {\n name: 'box-sizing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronDoubleDownIcon = {\n name: 'chevron-double-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronDoubleLeftIcon = {\n name: 'chevron-double-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronDoubleRightIcon = {\n name: 'chevron-double-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronDoubleUpIcon = {\n name: 'chevron-double-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataOdsIcon = {\n name: 'data-ods',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst nonRecurrenceIcon = {\n name: 'non-recurrence',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst displayBlockIcon = {\n name: 'display-block',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst displayFlexIcon = {\n name: 'display-flex',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst displayInlineFlexIcon = {\n name: 'display-inline-flex',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dropletSliderIcon = {\n name: 'droplet-slider',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileReportIcon = {\n name: 'file-report',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gapColumnIcon = {\n name: 'gap-column',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gapRowIcon = {\n name: 'gap-row',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst handleResizeAltIcon = {\n name: 'handle-resize-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst handleResizeIcon = {\n name: 'handle-resize',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imagesIcon = {\n name: 'images',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst letterSpaceIcon = {\n name: 'letter-space',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst lineHeightIcon = {\n name: 'line-height',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listLatinBigIcon = {\n name: 'list-latin-big',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listLatinSmallIcon = {\n name: 'list-latin-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listRomanBigIcon = {\n name: 'list-roman-big',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listRomanSmallIcon = {\n name: 'list-roman-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listUnorderedOutlineIcon = {\n name: 'list-unordered-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listUnorderedSquareIcon = {\n name: 'list-unordered-square',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst maxHeightIcon = {\n name: 'max-height',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst maxWidthIcon = {\n name: 'max-width',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minHeightIcon = {\n name: 'min-height',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minWidthIcon = {\n name: 'min-width',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst outlineOffsetIcon = {\n name: 'outline-offset',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst outlineWidthIcon = {\n name: 'outline-width',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paddingBottomIcon = {\n name: 'padding-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paddingLeftIcon = {\n name: 'padding-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paddingRightIcon = {\n name: 'padding-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paddingTopIcon = {\n name: 'padding-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paddingIcon = {\n name: 'padding',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst positionBottomIcon = {\n name: 'position-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst positionLeftIcon = {\n name: 'position-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst positionRightIcon = {\n name: 'position-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst positionTopIcon = {\n name: 'position-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst regularExpressionIcon = {\n name: 'regular-expression',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst replaceAllIcon = {\n name: 'replace-all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst replaceSingleIcon = {\n name: 'replace-single',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst reportElementIcon = {\n name: 'report-element',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rightDoubleQuotesIcon = {\n name: 'right-double-quotes',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst wholeWordIcon = {\n name: 'whole-word',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataSdsIcon = {\n name: 'data-sds',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst downloadLightIcon = {\n name: 'download-light',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst eyeSlashIcon = {\n name: 'eye-slash',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst displayInlineBlockIcon = {\n name: 'display-inline-block',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paperPlaneIcon = {\n name: 'paper-plane',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gaugeLinearIcon = {\n name: 'gauge-linear',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gaugeRadialIcon = {\n name: 'gauge-radial',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst envelopeBoxIcon = {\n name: 'envelope-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst envelopeLinkIcon = {\n name: 'envelope-link',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst envelopeIcon = {\n name: 'envelope',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst warningCircleIcon = {\n name: 'warning-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst warningTriangleIcon = {\n name: 'warning-triangle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst infoSolidIcon = {\n name: 'info-solid',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fontGrowIcon = {\n name: 'font-grow',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fontShrinkIcon = {\n name: 'font-shrink',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textOverflowIcon = {\n name: 'text-overflow',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textWrapArrowIcon = {\n name: 'text-wrap-arrow',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textTruncateIcon = {\n name: 'text-truncate',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textClipIcon = {\n name: 'text-clip',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderColorIcon = {\n name: 'border-color',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderTypeIcon = {\n name: 'border-type',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbDownOutlineIcon = {\n name: 'thumb-down-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbDownIcon = {\n name: 'thumb-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbUpOutlineIcon = {\n name: 'thumb-up-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbUpIcon = {\n name: 'thumb-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sparklesIcon = {\n name: 'sparkles',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst undoIcon = {\n name: 'undo',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst redoIcon = {\n name: 'redo',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowRotateCcwIcon = {\n name: 'arrow-rotate-ccw',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowRotateCwIcon = {\n name: 'arrow-rotate-cw',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsNoRepeatIcon = {\n name: 'arrows-no-repeat',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowRotateCcwSmallIcon = {\n name: 'arrow-rotate-ccw-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowRotateCwSmallIcon = {\n name: 'arrow-rotate-cw-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clockIcon = {\n name: 'clock',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst calendarIcon = {\n name: 'calendar',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst saveIcon = {\n name: 'save',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst printIcon = {\n name: 'print',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pencilIcon = {\n name: 'pencil',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trashIcon = {\n name: 'trash',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paperclipIcon = {\n name: 'paperclip',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paperclipAltIcon = {\n name: 'paperclip-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst linkIcon = {\n name: 'link',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst unlinkIcon = {\n name: 'unlink',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst linkVerticalIcon = {\n name: 'link-vertical',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst unlinkVerticalIcon = {\n name: 'unlink-vertical',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst lockIcon = {\n name: 'lock',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst unlockIcon = {\n name: 'unlock',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cancelIcon = {\n name: 'cancel',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cancelOutlineIcon = {\n name: 'cancel-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cancelCircleIcon = {\n name: 'cancel-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkIcon = {\n name: 'check',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkOutlineIcon = {\n name: 'check-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkCircleIcon = {\n name: 'check-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst xIcon = {\n name: 'x',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst xOutlineIcon = {\n name: 'x-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst xCircleIcon = {\n name: 'x-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst plusIcon = {\n name: 'plus',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst plusOutlineIcon = {\n name: 'plus-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst plusCircleIcon = {\n name: 'plus-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minusIcon = {\n name: 'minus',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minusOutlineIcon = {\n name: 'minus-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minusCircleIcon = {\n name: 'minus-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sortAscIcon = {\n name: 'sort-asc',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sortDescIcon = {\n name: 'sort-desc',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sortClearIcon = {\n name: 'sort-clear',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sortAscSmallIcon = {\n name: 'sort-asc-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sortDescSmallIcon = {\n name: 'sort-desc-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterIcon = {\n name: 'filter',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterClearIcon = {\n name: 'filter-clear',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterSmallIcon = {\n name: 'filter-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterSortAscSmallIcon = {\n name: 'filter-sort-asc-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterSortDescSmallIcon = {\n name: 'filter-sort-desc-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterAddExpressionIcon = {\n name: 'filter-add-expression',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterAddGroupIcon = {\n name: 'filter-add-group',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst loginIcon = {\n name: 'login',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst logoutIcon = {\n name: 'logout',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst downloadIcon = {\n name: 'download',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst uploadIcon = {\n name: 'upload',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst hyperlinkOpenIcon = {\n name: 'hyperlink-open',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst hyperlinkOpenSmIcon = {\n name: 'hyperlink-open-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst launchIcon = {\n name: 'launch',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst windowIcon = {\n name: 'window',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst windowRestoreIcon = {\n name: 'window-restore',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst windowMinimizeIcon = {\n name: 'window-minimize',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gearIcon = {\n name: 'gear',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gearsIcon = {\n name: 'gears',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst wrenchIcon = {\n name: 'wrench',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst eyeIcon = {\n name: 'eye',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst searchIcon = {\n name: 'search',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst zoomInIcon = {\n name: 'zoom-in',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst zoomOutIcon = {\n name: 'zoom-out',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsMoveIcon = {\n name: 'arrows-move',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst calculatorIcon = {\n name: 'calculator',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cartIcon = {\n name: 'cart',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst connectorIcon = {\n name: 'connector',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst plusSmIcon = {\n name: 'plus-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minusSmIcon = {\n name: 'minus-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst kpiStatusDenyIcon = {\n name: 'kpi-status-deny',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst kpiStatusHoldIcon = {\n name: 'kpi-status-hold',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst kpiStatusOpenIcon = {\n name: 'kpi-status-open',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst equalIcon = {\n name: 'equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst notEqualIcon = {\n name: 'not-equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst lessOrEqualIcon = {\n name: 'less-or-equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst greaterOrEqualIcon = {\n name: 'greater-or-equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst divideIcon = {\n name: 'divide',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst accessibilityIcon = {\n name: 'accessibility',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst barcodeOutlineIcon = {\n name: 'barcode-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst barcodeIcon = {\n name: 'barcode',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst barcodeScannerIcon = {\n name: 'barcode-scanner',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst qrCodeOutlineIcon = {\n name: 'qr-code-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst qrCodeIcon = {\n name: 'qr-code',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst qrCodeScannerIcon = {\n name: 'qr-code-scanner',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst barcodeQrCodeScannerIcon = {\n name: 'barcode-qr-code-scanner',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst signatureIcon = {\n name: 'signature',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst handIcon = {\n name: 'hand',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pointerIcon = {\n name: 'pointer',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stickIcon = {\n name: 'stick',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst unstickIcon = {\n name: 'unstick',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst setColumnPositionIcon = {\n name: 'set-column-position',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clockArrowRotateIcon = {\n name: 'clock-arrow-rotate',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst playIcon = {\n name: 'play',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pauseIcon = {\n name: 'pause',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stopIcon = {\n name: 'stop',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rewindIcon = {\n name: 'rewind',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst forwardIcon = {\n name: 'forward',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst volumeDownIcon = {\n name: 'volume-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst volumeUpIcon = {\n name: 'volume-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst volumeMuteIcon = {\n name: 'volume-mute',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst hdIcon = {\n name: 'hd',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst closedCaptionsIcon = {\n name: 'closed-captions',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst playlistIcon = {\n name: 'playlist',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst musicNotesIcon = {\n name: 'music-notes',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst playSmIcon = {\n name: 'play-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pauseSmIcon = {\n name: 'pause-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stopSmIcon = {\n name: 'stop-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst heartOutlineIcon = {\n name: 'heart-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst heartIcon = {\n name: 'heart',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst starOutlineIcon = {\n name: 'star-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst starIcon = {\n name: 'star',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkboxIcon = {\n name: 'checkbox',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkboxCheckedIcon = {\n name: 'checkbox-checked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkboxIndeterminateIcon = {\n name: 'checkbox-indeterminate',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkboxNullIcon = {\n name: 'checkbox-null',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst circleIcon = {\n name: 'circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst radiobuttonIcon = {\n name: 'radiobutton',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst radiobuttonCheckedIcon = {\n name: 'radiobutton-checked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bellIcon = {\n name: 'bell',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst infoCircleIcon = {\n name: 'info-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst questionCircleIcon = {\n name: 'question-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst exclamationCircleIcon = {\n name: 'exclamation-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cameraIcon = {\n name: 'camera',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageIcon = {\n name: 'image',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageExportIcon = {\n name: 'image-export',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst zoomActualSizeIcon = {\n name: 'zoom-actual-size',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst zoomBestFitIcon = {\n name: 'zoom-best-fit',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageResizeIcon = {\n name: 'image-resize',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cropIcon = {\n name: 'crop',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst mirrorIcon = {\n name: 'mirror',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst flipHorizontalIcon = {\n name: 'flip-horizontal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst flipVerticalIcon = {\n name: 'flip-vertical',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rotateIcon = {\n name: 'rotate',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rotateRightIcon = {\n name: 'rotate-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rotateLeftIcon = {\n name: 'rotate-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst brushIcon = {\n name: 'brush',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paletteIcon = {\n name: 'palette',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dropletIcon = {\n name: 'droplet',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst shapeLineIcon = {\n name: 'shape-line',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst brightnessContrastIcon = {\n name: 'brightness-contrast',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst slidersIcon = {\n name: 'sliders',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst invertColorsIcon = {\n name: 'invert-colors',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst transparencyIcon = {\n name: 'transparency',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst grayscaleIcon = {\n name: 'grayscale',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst blurIcon = {\n name: 'blur',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sharpenIcon = {\n name: 'sharpen',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst shapesIcon = {\n name: 'shapes',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst roundCornersIcon = {\n name: 'round-corners',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bringToFrontIcon = {\n name: 'bring-to-front',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bringToBackIcon = {\n name: 'bring-to-back',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bringForwardIcon = {\n name: 'bring-forward',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bringBackwardIcon = {\n name: 'bring-backward',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfStartIcon = {\n name: 'align-self-start',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfCenterIcon = {\n name: 'align-self-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfEndIcon = {\n name: 'align-self-end',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfStartAltIcon = {\n name: 'align-self-start-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfCenterAltIcon = {\n name: 'align-self-center-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfEndAltIcon = {\n name: 'align-self-end-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbnailsUpIcon = {\n name: 'thumbnails-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbnailsRightIcon = {\n name: 'thumbnails-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbnailsDownIcon = {\n name: 'thumbnails-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbnailsLeftIcon = {\n name: 'thumbnails-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fullscreenIcon = {\n name: 'fullscreen',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fullscreenExitIcon = {\n name: 'fullscreen-exit',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dropletSlashIcon = {\n name: 'droplet-slash',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst photosIcon = {\n name: 'photos',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignToGridIcon = {\n name: 'align-to-grid',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sizeToGridIcon = {\n name: 'size-to-grid',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst makeSameSizeIcon = {\n name: 'make-same-size',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst makeSameWidthIcon = {\n name: 'make-same-width',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst makeSameHeightIcon = {\n name: 'make-same-height',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst makeHorizontalSpacingEqualIcon = {\n name: 'make-horizontal-spacing-equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst increaseHorizontalSpacingIcon = {\n name: 'increase-horizontal-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst decreaseHorizontalSpacingIcon = {\n name: 'decrease-horizontal-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst removeHorizontalSpacingIcon = {\n name: 'remove-horizontal-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst makeVerticalSpacingEqualIcon = {\n name: 'make-vertical-spacing-equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst increaseVerticalSpacingIcon = {\n name: 'increase-vertical-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst decreaseVerticalSpacingIcon = {\n name: 'decrease-vertical-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst removeVerticalSpacingIcon = {\n name: 'remove-vertical-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst eyedropperIcon = {\n name: 'eyedropper',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst snapGridIcon = {\n name: 'snap-grid',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst snapToGridlinesIcon = {\n name: 'snap-to-gridlines',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst snapToSnaplinesIcon = {\n name: 'snap-to-snaplines',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dimensionsIcon = {\n name: 'dimensions',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfStretchIcon = {\n name: 'align-self-stretch',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfStretchAltIcon = {\n name: 'align-self-stretch-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsStartIcon = {\n name: 'align-items-start',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsCenterIcon = {\n name: 'align-items-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsEndIcon = {\n name: 'align-items-end',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsStretchIcon = {\n name: 'align-items-stretch',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsBaselineIcon = {\n name: 'align-items-baseline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsStartAltIcon = {\n name: 'align-items-start-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsCenterAltIcon = {\n name: 'align-items-center-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsEndAltIcon = {\n name: 'align-items-end-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsStretchAltIcon = {\n name: 'align-items-stretch-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsBaselineAltIcon = {\n name: 'align-items-baseline-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentStartIcon = {\n name: 'justify-content-start',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentCenterIcon = {\n name: 'justify-content-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentEndIcon = {\n name: 'justify-content-end',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentBetweenIcon = {\n name: 'justify-content-between',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentAroundIcon = {\n name: 'justify-content-around',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentStartAltIcon = {\n name: 'justify-content-start-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentCenterAltIcon = {\n name: 'justify-content-center-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentEndAltIcon = {\n name: 'justify-content-end-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentBetweenAltIcon = {\n name: 'justify-content-between-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentAroundAltIcon = {\n name: 'justify-content-around-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileWrenchIcon = {\n name: 'file-wrench',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst boldIcon = {\n name: 'bold',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst italicIcon = {\n name: 'italic',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst underlineIcon = {\n name: 'underline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fontFamilyIcon = {\n name: 'font-family',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst foregroundColorIcon = {\n name: 'foreground-color',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst convertLowercaseIcon = {\n name: 'convert-lowercase',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst convertUppercaseIcon = {\n name: 'convert-uppercase',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst strikethroughIcon = {\n name: 'strikethrough',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst subscriptIcon = {\n name: 'subscript',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst supscriptIcon = {\n name: 'supscript',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst divIcon = {\n name: 'div',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst allIcon = {\n name: 'all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h1Icon = {\n name: 'h1',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h2Icon = {\n name: 'h2',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h3Icon = {\n name: 'h3',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h4Icon = {\n name: 'h4',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h5Icon = {\n name: 'h5',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h6Icon = {\n name: 'h6',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listOrderedIcon = {\n name: 'list-ordered',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listUnorderedIcon = {\n name: 'list-unordered',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst indentIcon = {\n name: 'indent',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst outdentIcon = {\n name: 'outdent',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst insertTopIcon = {\n name: 'insert-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst insertMiddleIcon = {\n name: 'insert-middle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst insertBottomIcon = {\n name: 'insert-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignTopIcon = {\n name: 'align-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignMiddleIcon = {\n name: 'align-middle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignBottomIcon = {\n name: 'align-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignLeftIcon = {\n name: 'align-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignCenterIcon = {\n name: 'align-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignRightIcon = {\n name: 'align-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignJustifyIcon = {\n name: 'align-justify',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignRemoveIcon = {\n name: 'align-remove',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textWrapIcon = {\n name: 'text-wrap',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst horizontalRuleIcon = {\n name: 'horizontal-rule',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignTopLeftIcon = {\n name: 'table-align-top-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignTopCenterIcon = {\n name: 'table-align-top-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignTopRightIcon = {\n name: 'table-align-top-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignMiddleLeftIcon = {\n name: 'table-align-middle-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignMiddleCenterIcon = {\n name: 'table-align-middle-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignMiddleRightIcon = {\n name: 'table-align-middle-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignBottomLeftIcon = {\n name: 'table-align-bottom-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignBottomCenterIcon = {\n name: 'table-align-bottom-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignBottomRightIcon = {\n name: 'table-align-bottom-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignRemoveIcon = {\n name: 'table-align-remove',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersAllIcon = {\n name: 'borders-all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersOutsideIcon = {\n name: 'borders-outside',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersInsideIcon = {\n name: 'borders-inside',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersInsideHorizontalIcon = {\n name: 'borders-inside-horizontal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersInsideVerticalIcon = {\n name: 'borders-inside-vertical',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderTopIcon = {\n name: 'border-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderBottomIcon = {\n name: 'border-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderLeftIcon = {\n name: 'border-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRightIcon = {\n name: 'border-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersNoneIcon = {\n name: 'borders-none',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersShowHideIcon = {\n name: 'borders-show-hide',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst formIcon = {\n name: 'form',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst formElementIcon = {\n name: 'form-element',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst codeSnippetIcon = {\n name: 'code-snippet',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst selectAllIcon = {\n name: 'select-all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst buttonIcon = {\n name: 'button',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst selectBoxIcon = {\n name: 'select-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst calendarDateIcon = {\n name: 'calendar-date',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupBoxIcon = {\n name: 'group-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textareaIcon = {\n name: 'textarea',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textboxIcon = {\n name: 'textbox',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textboxHiddenIcon = {\n name: 'textbox-hidden',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst passwordIcon = {\n name: 'password',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paragraphAddIcon = {\n name: 'paragraph-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst editToolsIcon = {\n name: 'edit-tools',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst templateManagerIcon = {\n name: 'template-manager',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst changeManuallyIcon = {\n name: 'change-manually',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesIcon = {\n name: 'track-changes',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesEnableIcon = {\n name: 'track-changes-enable',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesAcceptIcon = {\n name: 'track-changes-accept',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesAcceptAllIcon = {\n name: 'track-changes-accept-all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesRejectIcon = {\n name: 'track-changes-reject',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesRejectAllIcon = {\n name: 'track-changes-reject-all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst documentManagerIcon = {\n name: 'document-manager',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst customIconIcon = {\n name: 'custom-icon',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bookIcon = {\n name: 'book',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageAddIcon = {\n name: 'image-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageEditIcon = {\n name: 'image-edit',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageMapEditorIcon = {\n name: 'image-map-editor',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst commentIcon = {\n name: 'comment',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst commentRemoveIcon = {\n name: 'comment-remove',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst commentsRemoveIcon = {\n name: 'comments-remove',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst silverlightIcon = {\n name: 'silverlight',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst mediaManagerIcon = {\n name: 'media-manager',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst videoExternalIcon = {\n name: 'video-external',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst flashManagerIcon = {\n name: 'flash-manager',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst binocularsIcon = {\n name: 'binoculars',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst copyIcon = {\n name: 'copy',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cutIcon = {\n name: 'cut',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardIcon = {\n name: 'clipboard',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardCodeIcon = {\n name: 'clipboard-code',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardWordIcon = {\n name: 'clipboard-word',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardWordAltIcon = {\n name: 'clipboard-word-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardHtmlIcon = {\n name: 'clipboard-html',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardMarkdownIcon = {\n name: 'clipboard-markdown',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardTextIcon = {\n name: 'clipboard-text',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst applyFormatIcon = {\n name: 'apply-format',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clearCssIcon = {\n name: 'clear-css',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst copyFormatIcon = {\n name: 'copy-format',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stripAllFormattingIcon = {\n name: 'strip-all-formatting',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stripCssFormatIcon = {\n name: 'strip-css-format',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stripFontElementsIcon = {\n name: 'strip-font-elements',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stripSpanElementsIcon = {\n name: 'strip-span-elements',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stripWordFormattingIcon = {\n name: 'strip-word-formatting',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst formatCodeBlockIcon = {\n name: 'format-code-block',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst buildingBlocksIcon = {\n name: 'building-blocks',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst puzzlePieceIcon = {\n name: 'puzzle-piece',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst linkAddIcon = {\n name: 'link-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst globeLinkIcon = {\n name: 'globe-link',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst globeUnlinkIcon = {\n name: 'globe-unlink',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst envelopLinkIcon = {\n name: 'envelop-link',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst anchorIcon = {\n name: 'anchor',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAddIcon = {\n name: 'table-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableIcon = {\n name: 'table',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tablePropertiesIcon = {\n name: 'table-properties',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableCellIcon = {\n name: 'table-cell',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableCellPropertiesIcon = {\n name: 'table-cell-properties',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableColumnInsertLeftIcon = {\n name: 'table-column-insert-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableColumnInsertRightIcon = {\n name: 'table-column-insert-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableRowInsertAboveIcon = {\n name: 'table-row-insert-above',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableRowInsertBelowIcon = {\n name: 'table-row-insert-below',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableColumnDeleteIcon = {\n name: 'table-column-delete',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableRowDeleteIcon = {\n name: 'table-row-delete',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableCellDeleteIcon = {\n name: 'table-cell-delete',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableDeleteIcon = {\n name: 'table-delete',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cellsMergeIcon = {\n name: 'cells-merge',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cellsMergeHorizontallyIcon = {\n name: 'cells-merge-horizontally',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cellsMergeVerticallyIcon = {\n name: 'cells-merge-vertically',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cellSplitHorizontallyIcon = {\n name: 'cell-split-horizontally',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cellSplitVerticallyIcon = {\n name: 'cell-split-vertically',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableUnmergeIcon = {\n name: 'table-unmerge',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paneFreezeIcon = {\n name: 'pane-freeze',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rowFreezeIcon = {\n name: 'row-freeze',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst columnFreezeIcon = {\n name: 'column-freeze',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst toolbarFloatIcon = {\n name: 'toolbar-float',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst spellCheckerIcon = {\n name: 'spell-checker',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst validationXhtmlIcon = {\n name: 'validation-xhtml',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst validationDataIcon = {\n name: 'validation-data',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst toggleFullScreenModeIcon = {\n name: 'toggle-full-screen-mode',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst formulaFxIcon = {\n name: 'formula-fx',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sumIcon = {\n name: 'sum',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst symbolIcon = {\n name: 'symbol',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dollarIcon = {\n name: 'dollar',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst percentIcon = {\n name: 'percent',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst customFormatIcon = {\n name: 'custom-format',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst decimalIncreaseIcon = {\n name: 'decimal-increase',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst decimalDecreaseIcon = {\n name: 'decimal-decrease',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fontSizeIcon = {\n name: 'font-size',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageAbsolutePositionIcon = {\n name: 'image-absolute-position',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableWizardIcon = {\n name: 'table-wizard',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst crosstabIcon = {\n name: 'crosstab',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst crosstabWizardIcon = {\n name: 'crosstab-wizard',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableBodyIcon = {\n name: 'table-body',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableColumnGroupsIcon = {\n name: 'table-column-groups',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableCornerIcon = {\n name: 'table-corner',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableRowGroupsIcon = {\n name: 'table-row-groups',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst globeOutlineIcon = {\n name: 'globe-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst globeIcon = {\n name: 'globe',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst mapMarkerIcon = {\n name: 'map-marker',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst mapMarkerTargetIcon = {\n name: 'map-marker-target',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pinIcon = {\n name: 'pin',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst unpinIcon = {\n name: 'unpin',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst shareIcon = {\n name: 'share',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst userIcon = {\n name: 'user',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst inboxIcon = {\n name: 'inbox',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bloggerIcon = {\n name: 'blogger',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bloggerBoxIcon = {\n name: 'blogger-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst deliciousIcon = {\n name: 'delicious',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst deliciousBoxIcon = {\n name: 'delicious-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst diggIcon = {\n name: 'digg',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst diggBoxIcon = {\n name: 'digg-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst envelopIcon = {\n name: 'envelop',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst envelopBoxIcon = {\n name: 'envelop-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst facebookIcon = {\n name: 'facebook',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst facebookBoxIcon = {\n name: 'facebook-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst googleIcon = {\n name: 'google',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst googleBoxIcon = {\n name: 'google-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst googlePlusIcon = {\n name: 'google-plus',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst googlePlusBoxIcon = {\n name: 'google-plus-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst linkedinIcon = {\n name: 'linkedin',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst linkedinBoxIcon = {\n name: 'linkedin-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst myspaceIcon = {\n name: 'myspace',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst myspaceBoxIcon = {\n name: 'myspace-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pinterestIcon = {\n name: 'pinterest',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pinterestBoxIcon = {\n name: 'pinterest-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst redditIcon = {\n name: 'reddit',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst redditBoxIcon = {\n name: 'reddit-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stumbleUponIcon = {\n name: 'stumble-upon',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stumbleUponBoxIcon = {\n name: 'stumble-upon-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tellAFriendIcon = {\n name: 'tell-a-friend',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tellAFriendBoxIcon = {\n name: 'tell-a-friend-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tumblrIcon = {\n name: 'tumblr',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tumblrBoxIcon = {\n name: 'tumblr-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst twitterIcon = {\n name: 'twitter',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst twitterBoxIcon = {\n name: 'twitter-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst yammerIcon = {\n name: 'yammer',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst yammerBoxIcon = {\n name: 'yammer-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst behanceIcon = {\n name: 'behance',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst behanceBoxIcon = {\n name: 'behance-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dribbbleIcon = {\n name: 'dribbble',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dribbbleBoxIcon = {\n name: 'dribbble-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rssIcon = {\n name: 'rss',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rssBoxIcon = {\n name: 'rss-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst vimeoIcon = {\n name: 'vimeo',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst vimeoBoxIcon = {\n name: 'vimeo-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst youtubeIcon = {\n name: 'youtube',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst youtubeBoxIcon = {\n name: 'youtube-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst folderIcon = {\n name: 'folder',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst folderOpenIcon = {\n name: 'folder-open',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst folderAddIcon = {\n name: 'folder-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst folderUpIcon = {\n name: 'folder-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst folderMoreIcon = {\n name: 'folder-more',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst aggregateFieldsIcon = {\n name: 'aggregate-fields',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileIcon = {\n name: 'file',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileAddIcon = {\n name: 'file-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileTxtIcon = {\n name: 'file-txt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileCsvIcon = {\n name: 'file-csv',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileExcelIcon = {\n name: 'file-excel',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileWordIcon = {\n name: 'file-word',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileMdbIcon = {\n name: 'file-mdb',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filePptIcon = {\n name: 'file-ppt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filePdfIcon = {\n name: 'file-pdf',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filePsdIcon = {\n name: 'file-psd',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileFlashIcon = {\n name: 'file-flash',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileConfigIcon = {\n name: 'file-config',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileAscxIcon = {\n name: 'file-ascx',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileBacIcon = {\n name: 'file-bac',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileZipIcon = {\n name: 'file-zip',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filmIcon = {\n name: 'film',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst css3Icon = {\n name: 'css3',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst html5Icon = {\n name: 'html5',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst codeIcon = {\n name: 'code',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cssIcon = {\n name: 'css',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst jsIcon = {\n name: 'js',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst exeIcon = {\n name: 'exe',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst csprojIcon = {\n name: 'csproj',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst vbprojIcon = {\n name: 'vbproj',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst csIcon = {\n name: 'cs',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst vbIcon = {\n name: 'vb',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst slnIcon = {\n name: 'sln',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cloudIcon = {\n name: 'cloud',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileHorizontalIcon = {\n name: 'file-horizontal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst subreportIcon = {\n name: 'subreport',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataIcon = {\n name: 'data',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileHeaderIcon = {\n name: 'file-header',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileFooterIcon = {\n name: 'file-footer',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupHeaderSectionIcon = {\n name: 'group-header-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupFooterSectionIcon = {\n name: 'group-footer-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pageHeaderSectionIcon = {\n name: 'page-header-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pageFooterSectionIcon = {\n name: 'page-footer-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst detailSectionIcon = {\n name: 'detail-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tocSectionIcon = {\n name: 'toc-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupSectionIcon = {\n name: 'group-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parametersIcon = {\n name: 'parameters',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataCsvIcon = {\n name: 'data-csv',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataJsonIcon = {\n name: 'data-json',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataSqlIcon = {\n name: 'data-sql',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataWebIcon = {\n name: 'data-web',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupCollectionIcon = {\n name: 'group-collection',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parameterBooleanIcon = {\n name: 'parameter-boolean',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parameterDateTimeIcon = {\n name: 'parameter-date-time',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parameterFloatIcon = {\n name: 'parameter-float',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parameterIntegerIcon = {\n name: 'parameter-integer',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parameterStringIcon = {\n name: 'parameter-string',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tocSectionLevelIcon = {\n name: 'toc-section-level',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst inheritedIcon = {\n name: 'inherited',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileVideoIcon = {\n name: 'file-video',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileAudioIcon = {\n name: 'file-audio',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileImageIcon = {\n name: 'file-image',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filePresentationIcon = {\n name: 'file-presentation',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileDataIcon = {\n name: 'file-data',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileDiscImageIcon = {\n name: 'file-disc-image',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileProgrammingIcon = {\n name: 'file-programming',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parametersByteArrayIcon = {\n name: 'parameters-byte-array',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parametersUnknownIcon = {\n name: 'parameters-unknown',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileErrorIcon = {\n name: 'file-error',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filesErrorIcon = {\n name: 'files-error',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataRestIcon = {\n name: 'data-rest',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileTypescriptIcon = {\n name: 'file-typescript',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tablePositionStartIcon = {\n name: 'table-position-start',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tablePositionCenterIcon = {\n name: 'table-position-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tablePositionEndIcon = {\n name: 'table-position-end',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listRomanUpperIcon = {\n name: 'list-roman-upper',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listRomanLowerIcon = {\n name: 'list-roman-lower',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst importIcon = {\n name: 'import',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst exportIcon = {\n name: 'export',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst graphIcon = {\n name: 'graph',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartColumnClusteredIcon = {\n name: 'chart-column-clustered',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartColumnStackedIcon = {\n name: 'chart-column-stacked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartColumnStacked100Icon = {\n name: 'chart-column-stacked100',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartColumnRangeIcon = {\n name: 'chart-column-range',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartBarClusteredIcon = {\n name: 'chart-bar-clustered',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartBarStackedIcon = {\n name: 'chart-bar-stacked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartBarStacked100Icon = {\n name: 'chart-bar-stacked100',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartBarRangeIcon = {\n name: 'chart-bar-range',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartAreaClusteredIcon = {\n name: 'chart-area-clustered',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartAreaStackedIcon = {\n name: 'chart-area-stacked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartAreaStacked100Icon = {\n name: 'chart-area-stacked100',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartAreaRangeIcon = {\n name: 'chart-area-range',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineIcon = {\n name: 'chart-line',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineStackedIcon = {\n name: 'chart-line-stacked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineStacked100Icon = {\n name: 'chart-line-stacked100',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineMarkersIcon = {\n name: 'chart-line-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineStackedMarkersIcon = {\n name: 'chart-line-stacked-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineStacked100MarkersIcon = {\n name: 'chart-line-stacked100-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartPieIcon = {\n name: 'chart-pie',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartDoughnutIcon = {\n name: 'chart-doughnut',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartScatterIcon = {\n name: 'chart-scatter',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartScatterSmoothLinesMarkersIcon = {\n name: 'chart-scatter-smooth-lines-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartScatterSmoothLinesIcon = {\n name: 'chart-scatter-smooth-lines',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartScatterStraightLinesMarkersIcon = {\n name: 'chart-scatter-straight-lines-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartScatterStraightLinesIcon = {\n name: 'chart-scatter-straight-lines',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartBubbleIcon = {\n name: 'chart-bubble',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartCandlestickIcon = {\n name: 'chart-candlestick',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartOhlcIcon = {\n name: 'chart-ohlc',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartRadarIcon = {\n name: 'chart-radar',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartRadarMarkersIcon = {\n name: 'chart-radar-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartRadarFilledIcon = {\n name: 'chart-radar-filled',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartRoseIcon = {\n name: 'chart-rose',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartChoroplethIcon = {\n name: 'chart-choropleth',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nexport { accessibilityIcon, aggregateFieldsIcon, alignBottomIcon, alignCenterIcon, alignItemsBaselineAltIcon, alignItemsBaselineIcon, alignItemsCenterAltIcon, alignItemsCenterIcon, alignItemsEndAltIcon, alignItemsEndIcon, alignItemsStartAltIcon, alignItemsStartIcon, alignItemsStretchAltIcon, alignItemsStretchIcon, alignJustifyIcon, alignLeftIcon, alignMiddleIcon, alignRemoveIcon, alignRightIcon, alignSelfCenterAltIcon, alignSelfCenterIcon, alignSelfEndAltIcon, alignSelfEndIcon, alignSelfStartAltIcon, alignSelfStartIcon, alignSelfStretchAltIcon, alignSelfStretchIcon, alignToGridIcon, alignTopIcon, allIcon, anchorIcon, applyFormatIcon, arrowDownIcon, arrowLeftIcon, arrowOverflowDownIcon, arrowRightIcon, arrowRotateCcwIcon, arrowRotateCcwSmallIcon, arrowRotateCwIcon, arrowRotateCwSmallIcon, arrowUpIcon, arrowsAxesIcon, arrowsLeftRightIcon, arrowsMoveIcon, arrowsNoChangeIcon, arrowsNoRepeatIcon, arrowsSwapIcon, arrowsTopBottomIcon, barcodeIcon, barcodeOutlineIcon, barcodeQrCodeScannerIcon, barcodeScannerIcon, behanceBoxIcon, behanceIcon, bellIcon, binocularsIcon, bloggerBoxIcon, bloggerIcon, blurIcon, boldIcon, bookIcon, borderBottomIcon, borderColorIcon, borderLeftIcon, borderRadiusBottomLeftIcon, borderRadiusBottomRightIcon, borderRadiusIcon, borderRadiusTopLeftIcon, borderRadiusTopRightIcon, borderRightIcon, borderStyleBottomIcon, borderStyleIcon, borderStyleLeftIcon, borderStyleRightIcon, borderStyleTopIcon, borderTopIcon, borderTypeIcon, bordersAllIcon, bordersInsideHorizontalIcon, bordersInsideIcon, bordersInsideVerticalIcon, bordersNoneIcon, bordersOutsideIcon, bordersShowHideIcon, boxSizingIcon, brightnessContrastIcon, bringBackwardIcon, bringForwardIcon, bringToBackIcon, bringToFrontIcon, brushIcon, buildingBlocksIcon, buttonIcon, calculatorIcon, calendarDateIcon, calendarIcon, cameraIcon, cancelCircleIcon, cancelIcon, cancelOutlineIcon, caretAltDownIcon, caretAltExpandIcon, caretAltLeftIcon, caretAltRightIcon, caretAltToBottomIcon, caretAltToLeftIcon, caretAltToRightIcon, caretAltToTopIcon, caretAltUpIcon, caretBlIcon, caretBrIcon, caretDoubleAltDownIcon, caretDoubleAltLeftIcon, caretDoubleAltRightIcon, caretDoubleAltUpIcon, caretTlIcon, caretTrIcon, cartIcon, categorizeIcon, cellSplitHorizontallyIcon, cellSplitVerticallyIcon, cellsMergeHorizontallyIcon, cellsMergeIcon, cellsMergeVerticallyIcon, changeManuallyIcon, chartAreaClusteredIcon, chartAreaRangeIcon, chartAreaStacked100Icon, chartAreaStackedIcon, chartBarClusteredIcon, chartBarRangeIcon, chartBarStacked100Icon, chartBarStackedIcon, chartBubbleIcon, chartCandlestickIcon, chartChoroplethIcon, chartColumnClusteredIcon, chartColumnRangeIcon, chartColumnStacked100Icon, chartColumnStackedIcon, chartDoughnutIcon, chartLineIcon, chartLineMarkersIcon, chartLineStacked100Icon, chartLineStacked100MarkersIcon, chartLineStackedIcon, chartLineStackedMarkersIcon, chartOhlcIcon, chartPieIcon, chartRadarFilledIcon, chartRadarIcon, chartRadarMarkersIcon, chartRoseIcon, chartScatterIcon, chartScatterSmoothLinesIcon, chartScatterSmoothLinesMarkersIcon, chartScatterStraightLinesIcon, chartScatterStraightLinesMarkersIcon, checkCircleIcon, checkIcon, checkOutlineIcon, checkboxCheckedIcon, checkboxIcon, checkboxIndeterminateIcon, checkboxNullIcon, chevronDoubleDownIcon, chevronDoubleLeftIcon, chevronDoubleRightIcon, chevronDoubleUpIcon, chevronDownIcon, chevronLeftIcon, chevronRightIcon, chevronUpIcon, circleIcon, clearCssIcon, clipboardCodeIcon, clipboardHtmlIcon, clipboardIcon, clipboardMarkdownIcon, clipboardTextIcon, clipboardWordAltIcon, clipboardWordIcon, clockArrowRotateIcon, clockIcon, closedCaptionsIcon, cloudIcon, codeIcon, codeSnippetIcon, colResizeIcon, columnFreezeIcon, columnsIcon, commentIcon, commentRemoveIcon, commentsRemoveIcon, connectorIcon, convertLowercaseIcon, convertUppercaseIcon, copyFormatIcon, copyIcon, cropIcon, crosstabIcon, crosstabWizardIcon, csIcon, csprojIcon, css3Icon, cssIcon, customFormatIcon, customIconIcon, cutIcon, dataCsvIcon, dataIcon, dataJsonIcon, dataOdsIcon, dataRestIcon, dataSdsIcon, dataSqlIcon, dataWebIcon, decimalDecreaseIcon, decimalIncreaseIcon, decreaseHorizontalSpacingIcon, decreaseVerticalSpacingIcon, deliciousBoxIcon, deliciousIcon, detailSectionIcon, diggBoxIcon, diggIcon, dimensionsIcon, displayBlockIcon, displayFlexIcon, displayInlineBlockIcon, displayInlineFlexIcon, divIcon, divideIcon, documentManagerIcon, dollarIcon, downloadIcon, downloadLightIcon, dragAndDropIcon, dribbbleBoxIcon, dribbbleIcon, dropletIcon, dropletSlashIcon, dropletSliderIcon, editToolsIcon, envelopBoxIcon, envelopIcon, envelopLinkIcon, envelopeBoxIcon, envelopeIcon, envelopeLinkIcon, equalIcon, exclamationCircleIcon, exeIcon, exportIcon, eyeIcon, eyeSlashIcon, eyedropperIcon, facebookBoxIcon, facebookIcon, fileAddIcon, fileAscxIcon, fileAudioIcon, fileBacIcon, fileConfigIcon, fileCsvIcon, fileDataIcon, fileDiscImageIcon, fileErrorIcon, fileExcelIcon, fileFlashIcon, fileFooterIcon, fileHeaderIcon, fileHorizontalIcon, fileIcon, fileImageIcon, fileMdbIcon, filePdfIcon, filePptIcon, filePresentationIcon, fileProgrammingIcon, filePsdIcon, fileReportIcon, fileTxtIcon, fileTypescriptIcon, fileVideoIcon, fileWordIcon, fileWrenchIcon, fileZipIcon, filesErrorIcon, filmIcon, filterAddExpressionIcon, filterAddGroupIcon, filterClearIcon, filterIcon, filterSmallIcon, filterSortAscSmallIcon, filterSortDescSmallIcon, flashManagerIcon, flipHorizontalIcon, flipVerticalIcon, folderAddIcon, folderIcon, folderMoreIcon, folderOpenIcon, folderUpIcon, fontFamilyIcon, fontGrowIcon, fontShrinkIcon, fontSizeIcon, foregroundColorIcon, formElementIcon, formIcon, formatCodeBlockIcon, formulaFxIcon, forwardIcon, fullscreenExitIcon, fullscreenIcon, gapColumnIcon, gapRowIcon, gaugeLinearIcon, gaugeRadialIcon, gearIcon, gearsIcon, globeIcon, globeLinkIcon, globeOutlineIcon, globeUnlinkIcon, googleBoxIcon, googleIcon, googlePlusBoxIcon, googlePlusIcon, graphIcon, grayscaleIcon, greaterOrEqualIcon, gridIcon, gridLayoutIcon, groupBoxIcon, groupCollectionIcon, groupFooterSectionIcon, groupHeaderSectionIcon, groupIcon, groupSectionIcon, h1Icon, h2Icon, h3Icon, h4Icon, h5Icon, h6Icon, handIcon, handleDragIcon, handleResizeAltIcon, handleResizeIcon, hdIcon, heartIcon, heartOutlineIcon, homeIcon, horizontalRuleIcon, html5Icon, hyperlinkOpenIcon, hyperlinkOpenSmIcon, imageAbsolutePositionIcon, imageAddIcon, imageEditIcon, imageExportIcon, imageIcon, imageMapEditorIcon, imageResizeIcon, imagesIcon, importIcon, inboxIcon, increaseHorizontalSpacingIcon, increaseVerticalSpacingIcon, indentIcon, infoCircleIcon, infoSolidIcon, inheritedIcon, insertBottomIcon, insertMiddleIcon, insertTopIcon, invertColorsIcon, italicIcon, jsIcon, justifyContentAroundAltIcon, justifyContentAroundIcon, justifyContentBetweenAltIcon, justifyContentBetweenIcon, justifyContentCenterAltIcon, justifyContentCenterIcon, justifyContentEndAltIcon, justifyContentEndIcon, justifyContentStartAltIcon, justifyContentStartIcon, kpiStatusDenyIcon, kpiStatusHoldIcon, kpiStatusOpenIcon, launchIcon, layout1By4Icon, layout2By2Icon, layoutIcon, layoutSideBySideIcon, layoutStackedIcon, lessOrEqualIcon, letterSpaceIcon, levelDownIcon, levelToTopIcon, levelUpIcon, lineHeightIcon, linkAddIcon, linkIcon, linkVerticalIcon, linkedinBoxIcon, linkedinIcon, listLatinBigIcon, listLatinSmallIcon, listOrderedIcon, listRomanBigIcon, listRomanLowerIcon, listRomanSmallIcon, listRomanUpperIcon, listUnorderedIcon, listUnorderedOutlineIcon, listUnorderedSquareIcon, lockIcon, loginIcon, logoutIcon, makeHorizontalSpacingEqualIcon, makeSameHeightIcon, makeSameSizeIcon, makeSameWidthIcon, makeVerticalSpacingEqualIcon, mapMarkerIcon, mapMarkerTargetIcon, maxHeightIcon, maxWidthIcon, mediaManagerIcon, menuIcon, minHeightIcon, minWidthIcon, minusCircleIcon, minusIcon, minusOutlineIcon, minusSmIcon, mirrorIcon, moreHorizontalIcon, moreVerticalIcon, musicNotesIcon, myspaceBoxIcon, myspaceIcon, nonRecurrenceIcon, notEqualIcon, outdentIcon, outlineOffsetIcon, outlineWidthIcon, overlapIcon, paddingBottomIcon, paddingIcon, paddingLeftIcon, paddingRightIcon, paddingTopIcon, pageFooterSectionIcon, pageHeaderSectionIcon, paletteIcon, paneFreezeIcon, paperPlaneIcon, paperclipAltIcon, paperclipIcon, paragraphAddIcon, parameterBooleanIcon, parameterDateTimeIcon, parameterFloatIcon, parameterIntegerIcon, parameterStringIcon, parametersByteArrayIcon, parametersIcon, parametersUnknownIcon, passwordIcon, pauseIcon, pauseSmIcon, pencilIcon, percentIcon, photosIcon, pinIcon, pinterestBoxIcon, pinterestIcon, playIcon, playSmIcon, playlistIcon, plusCircleIcon, plusIcon, plusOutlineIcon, plusSmIcon, pointerIcon, positionBottomIcon, positionLeftIcon, positionRightIcon, positionTopIcon, printIcon, puzzlePieceIcon, qrCodeIcon, qrCodeOutlineIcon, qrCodeScannerIcon, questionCircleIcon, radiobuttonCheckedIcon, radiobuttonIcon, redditBoxIcon, redditIcon, redoIcon, regularExpressionIcon, removeHorizontalSpacingIcon, removeVerticalSpacingIcon, reorderIcon, replaceAllIcon, replaceSingleIcon, reportElementIcon, rewindIcon, rightDoubleQuotesIcon, rotateIcon, rotateLeftIcon, rotateRightIcon, roundCornersIcon, rowFreezeIcon, rowsIcon, rssBoxIcon, rssIcon, saveIcon, searchIcon, selectAllIcon, selectBoxIcon, setColumnPositionIcon, shapeLineIcon, shapesIcon, shareIcon, sharpenIcon, signatureIcon, silverlightIcon, sizeToGridIcon, slidersIcon, slnIcon, snapGridIcon, snapToGridlinesIcon, snapToSnaplinesIcon, sortAscIcon, sortAscSmallIcon, sortClearIcon, sortDescIcon, sortDescSmallIcon, sparklesIcon, spellCheckerIcon, starIcon, starOutlineIcon, stickIcon, stopIcon, stopSmIcon, strikethroughIcon, stripAllFormattingIcon, stripCssFormatIcon, stripFontElementsIcon, stripSpanElementsIcon, stripWordFormattingIcon, stumbleUponBoxIcon, stumbleUponIcon, subreportIcon, subscriptIcon, sumIcon, supscriptIcon, symbolIcon, tableAddIcon, tableAlignBottomCenterIcon, tableAlignBottomLeftIcon, tableAlignBottomRightIcon, tableAlignMiddleCenterIcon, tableAlignMiddleLeftIcon, tableAlignMiddleRightIcon, tableAlignRemoveIcon, tableAlignTopCenterIcon, tableAlignTopLeftIcon, tableAlignTopRightIcon, tableBodyIcon, tableCellDeleteIcon, tableCellIcon, tableCellPropertiesIcon, tableColumnDeleteIcon, tableColumnGroupsIcon, tableColumnInsertLeftIcon, tableColumnInsertRightIcon, tableCornerIcon, tableDeleteIcon, tableIcon, tablePositionCenterIcon, tablePositionEndIcon, tablePositionStartIcon, tablePropertiesIcon, tableRowDeleteIcon, tableRowGroupsIcon, tableRowInsertAboveIcon, tableRowInsertBelowIcon, tableUnmergeIcon, tableWizardIcon, tellAFriendBoxIcon, tellAFriendIcon, templateManagerIcon, textClipIcon, textOverflowIcon, textTruncateIcon, textWrapArrowIcon, textWrapIcon, textareaIcon, textboxHiddenIcon, textboxIcon, thumbDownIcon, thumbDownOutlineIcon, thumbUpIcon, thumbUpOutlineIcon, thumbnailsDownIcon, thumbnailsLeftIcon, thumbnailsRightIcon, thumbnailsUpIcon, tocSectionIcon, tocSectionLevelIcon, toggleFullScreenModeIcon, toolbarFloatIcon, trackChangesAcceptAllIcon, trackChangesAcceptIcon, trackChangesEnableIcon, trackChangesIcon, trackChangesRejectAllIcon, trackChangesRejectIcon, transparencyIcon, trashIcon, tumblrBoxIcon, tumblrIcon, twitterBoxIcon, twitterIcon, underlineIcon, undoIcon, ungroupIcon, unlinkIcon, unlinkVerticalIcon, unlockIcon, unpinIcon, unstickIcon, uploadIcon, userIcon, validationDataIcon, validationXhtmlIcon, vbIcon, vbprojIcon, videoExternalIcon, vimeoBoxIcon, vimeoIcon, volumeDownIcon, volumeMuteIcon, volumeUpIcon, warningCircleIcon, warningTriangleIcon, wholeWordIcon, windowIcon, windowMinimizeIcon, windowRestoreIcon, wrenchIcon, xCircleIcon, xIcon, xOutlineIcon, yammerBoxIcon, yammerIcon, youtubeBoxIcon, youtubeIcon, zoomActualSizeIcon, zoomBestFitIcon, zoomInIcon, zoomOutIcon };\n","var _Draggable;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport KendoDraggable from '@telerik/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * Represents the default `Draggable` component.\n */\n\nvar Draggable = (_Draggable = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n this.draggable = new KendoDraggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!gh ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_Draggable, \"setup\", !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n}), _defineProperty(_Draggable, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _Draggable);\nexport { Draggable };","/**\n * @hidden\n */\nvar outerHeight = function (element) {\n if (!element) {\n return 0;\n }\n var wnd = element.ownerDocument.defaultView;\n var computedStyles = wnd.getComputedStyle(element);\n var marginTop = parseFloat(computedStyles.marginTop);\n var marginBottom = parseFloat(computedStyles.marginBottom);\n return element.offsetHeight + marginTop + marginBottom;\n};\n/**\n * @hidden\n */\nvar outerWidth = function (element) {\n if (!element) {\n return 0;\n }\n var wnd = element.ownerDocument.defaultView;\n var computedStyles = wnd.getComputedStyle(element);\n var marginLeft = parseFloat(computedStyles.marginLeft);\n var marginRight = parseFloat(computedStyles.marginRight);\n return element.offsetWidth + marginLeft + marginRight;\n};\n/**\n * @hidden\n */\nvar styles = {\n 'animation-container': 'k-animation-container',\n 'animation-container-relative': 'k-animation-container-relative',\n 'animation-container-fixed': 'k-animation-container-fixed',\n 'push-right-enter': 'k-push-right-enter',\n 'push-right-appear': 'k-push-right-appear',\n 'push-right-enter-active': 'k-push-right-enter-active',\n 'push-right-appear-active': 'k-push-right-appear-active',\n 'push-right-exit': 'k-push-right-exit',\n 'push-right-exit-active': 'k-push-right-exit-active',\n 'push-left-enter': 'k-push-left-enter',\n 'push-left-appear': 'k-push-left-appear',\n 'push-left-enter-active': 'k-push-left-enter-active',\n 'push-left-appear-active': 'k-push-left-appear-active',\n 'push-left-exit': 'k-push-left-exit',\n 'push-left-exit-active': 'k-push-left-exit-active',\n 'push-down-enter': 'k-push-down-enter',\n 'push-down-appear': 'k-push-down-appear',\n 'push-down-enter-active': 'k-push-down-enter-active',\n 'push-down-appear-active': 'k-push-down-appear-active',\n 'push-down-exit': 'k-push-down-exit',\n 'push-down-exit-active': 'k-push-down-exit-active',\n 'push-up-enter': 'k-push-up-enter',\n 'push-up-appear': 'k-push-up-appear',\n 'push-up-enter-active': 'k-push-up-enter-active',\n 'push-up-appear-active': 'k-push-up-appear-active',\n 'push-up-exit': 'k-push-up-exit',\n 'push-up-exit-active': 'k-push-up-exit-active',\n 'expand': 'k-expand',\n 'expand-vertical-enter': 'k-expand-vertical-enter',\n 'expand-vertical-appear': 'k-expand-vertical-appear',\n 'expand-vertical-enter-active': 'k-expand-vertical-enter-active',\n 'expand-vertical-appear-active': 'k-expand-vertical-appear-active',\n 'expand-vertical-exit': 'k-expand-vertical-exit',\n 'expand-vertical-exit-active': 'k-expand-vertical-exit-active',\n 'expand-horizontal-enter': 'k-expand-horizontal-enter',\n 'expand-horizontal-appear': 'k-expand-horizontal-appear',\n 'expand-horizontal-enter-active': 'k-expand-horizontal-enter-active',\n 'expand-horizontal-appear-active': 'k-expand-horizontal-appear-active',\n 'expand-horizontal-exit': 'k-expand-horizontal-exit',\n 'expand-horizontal-exit-active': 'k-expand-horizontal-exit-active',\n 'child-animation-container': 'k-child-animation-container',\n 'fade-enter': 'k-fade-enter',\n 'fade-appear': 'k-fade-appear',\n 'fade-enter-active': 'k-fade-enter-active',\n 'fade-appear-active': 'k-fade-appear-active',\n 'fade-exit': 'k-fade-exit',\n 'fade-exit-active': 'k-fade-exit-active',\n 'zoom-in-enter': 'k-zoom-in-enter',\n 'zoom-in-appear': 'k-zoom-in-appear',\n 'zoom-in-enter-active': 'k-zoom-in-enter-active',\n 'zoom-in-appear-active': 'k-zoom-in-appear-active',\n 'zoom-in-exit': 'k-zoom-in-exit',\n 'zoom-in-exit-active': 'k-zoom-in-exit-active',\n 'zoom-out-enter': 'k-zoom-out-enter',\n 'zoom-out-appear': 'k-zoom-out-appear',\n 'zoom-out-enter-active': 'k-zoom-out-enter-active',\n 'zoom-out-appear-active': 'k-zoom-out-appear-active',\n 'zoom-out-exit': 'k-zoom-out-exit',\n 'zoom-out-exit-active': 'k-zoom-out-exit-active',\n 'slide-in-appear': 'k-slide-in-appear',\n 'centered': 'k-centered',\n 'slide-in-appear-active': 'k-slide-in-appear-active',\n 'slide-down-enter': 'k-slide-down-enter',\n 'slide-down-appear': 'k-slide-down-appear',\n 'slide-down-enter-active': 'k-slide-down-enter-active',\n 'slide-down-appear-active': 'k-slide-down-appear-active',\n 'slide-down-exit': 'k-slide-down-exit',\n 'slide-down-exit-active': 'k-slide-down-exit-active',\n 'slide-up-enter': 'k-slide-up-enter',\n 'slide-up-appear': 'k-slide-up-appear',\n 'slide-up-enter-active': 'k-slide-up-enter-active',\n 'slide-up-appear-active': 'k-slide-up-appear-active',\n 'slide-up-exit': 'k-slide-up-exit',\n 'slide-up-exit-active': 'k-slide-up-exit-active',\n 'slide-right-enter': 'k-slide-right-enter',\n 'slide-right-appear': 'k-slide-right-appear',\n 'slide-right-enter-active': 'k-slide-right-enter-active',\n 'slide-right-appear-active': 'k-slide-right-appear-active',\n 'slide-right-exit': 'k-slide-right-exit',\n 'slide-right-exit-active': 'k-slide-right-exit-active',\n 'slide-left-enter': 'k-slide-left-enter',\n 'slide-left-appear': 'k-slide-left-appear',\n 'slide-left-enter-active': 'k-slide-left-enter-active',\n 'slide-left-appear-active': 'k-slide-left-appear-active',\n 'slide-left-exit': 'k-slide-left-exit',\n 'slide-left-exit-active': 'k-slide-left-exit-active',\n 'reveal-vertical-enter': 'k-reveal-vertical-enter',\n 'reveal-vertical-appear': 'k-reveal-vertical-appear',\n 'reveal-vertical-enter-active': 'k-reveal-vertical-enter-active',\n 'reveal-vertical-appear-active': 'k-reveal-vertical-appear-active',\n 'reveal-vertical-exit': 'k-reveal-vertical-exit',\n 'reveal-vertical-exit-active': 'k-reveal-vertical-exit-active',\n 'reveal-horizontal-enter': 'k-reveal-horizontal-enter',\n 'reveal-horizontal-appear': 'k-reveal-horizontal-appear',\n 'reveal-horizontal-enter-active': 'k-reveal-horizontal-enter-active',\n 'reveal-horizontal-appear-active': 'k-reveal-horizontal-appear-active',\n 'reveal-horizontal-exit': 'k-reveal-horizontal-exit',\n 'reveal-horizontal-exit-active': 'k-reveal-horizontal-exit-active'\n};\n/**\n * @hidden\n */\nexport default {\n outerHeight: outerHeight,\n outerWidth: outerWidth,\n styles: styles\n};\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","import { FIELD_REGEX } from './constants';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template) {\n return undefined;\n }\n var scopedSlot = gh ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n // @ts-ignore\n if (typeof template === 'string' && scopedSlot) {\n // @ts-ignore\n return { type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || typeof template === 'object' ||\n (typeof template === 'function' && template.component)) {\n return { type: 'component', render: template, listeners: listeners };\n }\n return { type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (gh) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render(h, defaultRendering, defaultSlots, props, events);\n }\n return template.render(h, defaultRendering, props, events, defaultSlots);\n }\n else {\n return h(template.render, componentOptions, gh ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \" + packageMetadata.name + \"\\n\";\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \" + packageMetadata.licensingDocsUrl + \" for more information.\\n\";\n console.warn(message);\n }\n}\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar Transition = allVue.Transition;\nimport util from './util';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar styles = util.styles;\n/**\n * Represents the default `Animation` component.\n */\n\nvar AnimationChild = {\n props: {\n in: Boolean,\n transitionName: {\n type: String,\n required: true\n },\n transitionStyle: Object,\n componentChildClassName: [Array],\n className: String,\n appear: {\n type: Boolean,\n default: true\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: Number,\n transitionExitDuration: Number,\n mountOnEnter: Boolean,\n unmountOnExit: Boolean,\n animationEnteringStyle: Object,\n animationEnteredStyle: Object,\n animationExitingStyle: Object,\n animationExitedStyle: Object\n },\n created: function created() {\n this.animationStep = '';\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var elementRef = ref(null);\n return {\n v3: v3,\n elementRef: elementRef\n };\n },\n mounted: function mounted() {\n this._element = this.v3 ? this.elementRef || null : this.$refs.element || null;\n },\n computed: {\n element: {\n get: function get() {\n return this._element;\n }\n }\n },\n methods: {\n onBeforeEnter: function onBeforeEnter(e) {\n this.$emit('beforeenter', {\n animatedElement: e,\n target: this\n });\n },\n onEnter: function onEnter(e) {\n this.animationStep = 'entering';\n this.$emit('entering', {\n animatedElement: e,\n target: this\n });\n },\n onAfterEnter: function onAfterEnter(e) {\n this.animationStep = 'entered';\n this.$emit('entered', {\n animatedElement: e,\n target: this\n });\n },\n onBeforeLeave: function onBeforeLeave(e) {\n this.$emit('exit', {\n animatedElement: e,\n target: this\n });\n },\n onLeave: function onLeave(e) {\n this.animationStep = 'exiting';\n this.$emit('exiting', {\n animatedElement: e,\n target: this\n });\n },\n onAfterLeave: function onAfterLeave(e) {\n this.animationStep = 'exited';\n this.$emit('exited', {\n animatedElement: e,\n target: this\n });\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n\n var _a = this.$props,\n appear = _a.appear,\n enter = _a.enter,\n exit = _a.exit,\n transitionName = _a.transitionName,\n transitionEnterDuration = _a.transitionEnterDuration,\n transitionExitDuration = _a.transitionExitDuration,\n className = _a.className,\n componentChildClassName = _a.componentChildClassName,\n mountOnEnter = _a.mountOnEnter,\n unmountOnExit = _a.unmountOnExit,\n animationEnteringStyle = _a.animationEnteringStyle,\n animationEnteredStyle = _a.animationEnteredStyle,\n animationExitingStyle = _a.animationExitingStyle,\n animationExitedStyle = _a.animationExitedStyle,\n other = __rest(_a, [\"appear\", \"enter\", \"exit\", \"transitionName\", \"transitionEnterDuration\", \"transitionExitDuration\", \"className\", \"componentChildClassName\", \"mountOnEnter\", \"unmountOnExit\", \"animationEnteringStyle\", \"animationEnteredStyle\", \"animationExitingStyle\", \"animationExitedStyle\"]);\n\n var defaultSlot = getDefaultSlots(this);\n var hasChildren = this.v3 ? appear : !!defaultSlot;\n var transitionTag = this.v3 ? Transition : 'transition';\n var childAnimationContainerClassNames = [componentChildClassName, styles['child-animation-container']];\n var enterDuration = enter ? transitionEnterDuration : 0;\n var exitDuration = exit ? transitionExitDuration : 0;\n\n var defaultStyle = __assign({\n transitionDelay: '0ms',\n transitionDuration: hasChildren ? enterDuration + \"ms\" : exitDuration + \"ms\"\n }, this.$props.transitionStyle);\n\n var animationStyle = {\n entering: __assign({\n transitionDuration: enterDuration + \"ms\"\n }, animationEnteringStyle),\n entered: __assign({}, animationEnteredStyle),\n exiting: __assign({\n transitionDuration: exitDuration + \"ms\"\n }, animationExitingStyle),\n exited: __assign({}, animationExitedStyle)\n };\n var childElementStyles = [defaultStyle, animationStyle[this.animationStep]];\n var duration = {\n enter: enterDuration,\n leave: exitDuration\n };\n var rendererChildren = [hasChildren ? h('div', {\n style: childElementStyles,\n 'class': childAnimationContainerClassNames,\n ref: this.v3 ? function (el) {\n _this.elementRef = el;\n } : 'element'\n }, [defaultSlot]) : null];\n return h(transitionTag, {\n duration: duration,\n attrs: this.v3 ? null : {\n duration: duration,\n name: transitionName,\n appear: appear,\n appearClass: styles[transitionName + \"-appear\"] || transitionName + \"-appear\",\n appearToClass: styles[transitionName + \"-appear-active\"] || transitionName + \"-appear-active\",\n enterClass: styles[transitionName + \"-enter\"] || transitionName + \"-enter\",\n enterToClass: styles[transitionName + \"-enter-active\"] || transitionName + \"-enter-active\",\n leaveClass: styles[transitionName + \"-exit\"] || transitionName + \"-exit\",\n leaveToClass: styles[transitionName + \"-exit-active\"] || transitionName + \"-exit-active\"\n },\n name: transitionName,\n appear: appear,\n appearFromClass: styles[transitionName + \"-appear\"] || transitionName + \"-appear\",\n enterFromClass: styles[transitionName + \"-enter\"] || transitionName + \"-enter\",\n leaveFromClass: styles[transitionName + \"-exit\"] || transitionName + \"-exit\",\n appearToClass: styles[transitionName + \"-appear-active\"] || transitionName + \"-appear-active\",\n enterToClass: styles[transitionName + \"-enter-active\"] || transitionName + \"-enter-active\",\n leaveToClass: styles[transitionName + \"-exit-active\"] || transitionName + \"-exit-active\",\n onBeforeEnter: this.onBeforeEnter,\n on: this.v3 ? null : {\n 'beforeEnter': this.onBeforeEnter,\n 'enter': this.onEnter,\n 'afterEnter': this.onAfterEnter,\n 'beforeLeave': this.onBeforeLeave,\n 'leave': this.onLeave,\n 'afterLeave': this.onAfterLeave\n },\n onEnter: this.onEnter,\n onAfterEnter: this.onAfterEnter,\n onBeforeLeave: this.onBeforeLeave,\n onLeave: this.onLeave,\n onAfterLeave: this.onAfterLeave\n }, this.v3 ? function () {\n return rendererChildren;\n } : rendererChildren);\n }\n};\nvar AnimationChildVue3 = AnimationChild;\nexport { AnimationChild, AnimationChildVue3 };","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-animation',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1641560986,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { AnimationChild } from './AnimationChild';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles;\n/**\n * Represents the default `Animation` component.\n */\n\nvar Animation = {\n props: {\n childFactory: Object,\n className: String,\n tag: String,\n id: String,\n animationEnteringStyle: Object,\n animationExitingStyle: Object,\n componentChildClassName: [Array],\n transitionName: {\n type: String,\n required: true\n },\n appear: {\n type: Boolean,\n default: true\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number\n },\n transitionExitDuration: {\n type: Number\n }\n },\n methods: {\n onEntering: function onEntering(e) {\n this.$emit('entering', e);\n },\n onEnter: function onEnter(e) {\n this.$emit('enter', e);\n },\n onEntered: function onEntered(e) {\n this.$emit('entered', e);\n },\n onExit: function onExit(e) {\n this.$emit('exit', e);\n },\n onExiting: function onExiting(e) {\n this.$emit('exiting', e);\n },\n onExited: function onExited(e) {\n this.$emit('exited', e);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n\n var _a = this.$props,\n id = _a.id,\n tag = _a.tag,\n className = _a.className,\n childFactory = _a.childFactory,\n stackChildren = _a.stackChildren,\n componentChildStyle = _a.componentChildStyle,\n componentChildClassName = _a.componentChildClassName,\n other = __rest(_a, [\"id\", \"tag\", \"className\", \"childFactory\", \"stackChildren\", \"componentChildStyle\", \"componentChildClassName\"]);\n\n var parentDivClass = [styles['animation-container'], styles['animation-container-relative'], className];\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id\n },\n \"class\": parentDivClass\n }, [// @ts-ignore function children\n h(AnimationChild, {\n key: 'some',\n appear: this.$props.appear,\n attrs: this.v3 ? undefined : {\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionName: this.$props.transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n animationEnteringStyle: this.$props.animationEnteringStyle,\n animationExitingStyle: this.$props.animationExitingStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionName: this.$props.transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n onBeforeenter: this.onEnter,\n on: this.v3 ? undefined : {\n \"beforeenter\": this.onEnter,\n \"entering\": this.onEntering,\n \"entered\": this.onEntered,\n \"exit\": this.onExit,\n \"exiting\": this.onExiting,\n \"exited\": this.onExited\n },\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited,\n animationEnteringStyle: this.$props.animationEnteringStyle,\n animationExitingStyle: this.$props.animationExitingStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])]);\n }\n};\nvar AnimationVue3 = Animation;\nexport { Animation, AnimationVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `Fade` component.\n */\n\nvar Fade = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: false\n },\n transitionEnterDuration: {\n type: Number,\n default: 500\n },\n transitionExitDuration: {\n type: Number,\n default: 500\n },\n childFactory: Object,\n className: String,\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return (// @ts-ignore function children\n h(Animation, {\n transitionName: \"fade\",\n attrs: this.v3 ? undefined : {\n transitionName: \"fade\",\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\nvar FadeVue3 = Fade;\nexport { Fade, FadeVue3 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `Expand` component.\n */\n\nvar Expand = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'vertical'\n },\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n\n var _a = this.$props,\n direction = _a.direction,\n other = __rest(_a, [\"direction\"]);\n\n var transitionName = \"expand-\" + this.$props.direction;\n return (// @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\nvar ExpandVue3 = Expand;\nexport { Expand, ExpandVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar EXITING_ANIMATION_STYLE = {\n position: 'absolute',\n top: '0',\n left: '0'\n};\n/**\n * Represents the default `Push` component.\n */\n\nvar Push = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'right'\n },\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var transitionName = \"push-\" + this.$props.direction;\n return (// @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\nvar PushVue3 = Push;\nexport { Push, PushVue3 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `Slide` component.\n */\n\nvar Slide = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n componentChildClassName: [Array],\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'down'\n },\n tag: String,\n id: String\n },\n methods: {\n onEntering: function onEntering(e) {\n this.$emit('entering', e);\n },\n onEnter: function onEnter(e) {\n this.$emit('enter', e);\n },\n onEntered: function onEntered(e) {\n this.$emit('entered', e);\n },\n onExit: function onExit(e) {\n this.$emit('exit', e);\n },\n onExiting: function onExiting(e) {\n this.$emit('exiting', e);\n },\n onExited: function onExited(e) {\n this.$emit('exited', e);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n\n var _a = this.$props,\n direction = _a.direction,\n id = _a.id,\n other = __rest(_a, [\"direction\", \"id\"]);\n\n var transitionName = \"slide-\" + this.$props.direction;\n return (// @ts-ignore function children\n h(Animation, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n transitionName: transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n transitionName: transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n onEnter: this.onEnter,\n on: this.v3 ? undefined : {\n \"enter\": this.onEnter,\n \"entering\": this.onEntering,\n \"entered\": this.onEntered,\n \"exit\": this.onExit,\n \"exiting\": this.onExiting,\n \"exited\": this.onExited\n },\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\nvar SlideVue3 = Slide;\nexport { Slide, SlideVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar EXITING_ANIMATION_STYLE = {\n position: 'absolute',\n top: '0',\n left: '0'\n};\n/**\n * Represents the default `Zoom` component.\n */\n\nvar Zoom = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n stackChildren: {\n type: Boolean,\n default: false\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'out'\n },\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var transitionName = \"zoom-\" + this.$props.direction;\n return (// @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\nvar ZoomVue3 = Zoom;\nexport { Zoom, ZoomVue3 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Animation } from './Animation';\nimport util from './util';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\n\nvar noop = function noop() {};\n/**\n * Represents the default `Reveal` component.\n */\n\n\nvar Reveal = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'vertical'\n },\n tag: String,\n id: String\n },\n data: function data() {\n return {\n maxHeight: '',\n maxWidth: ''\n };\n },\n methods: {\n componentWillEnter: function componentWillEnter(event) {\n var onEnter = this.$props.onEnter;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onEnter) {\n onEnter.call(undefined, event);\n }\n });\n },\n componentIsEntering: function componentIsEntering(event) {\n var onEntering = this.$props.onEntering;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onEntering) {\n onEntering.call(undefined, event);\n }\n });\n },\n componentWillExit: function componentWillExit(event) {\n var onExit = this.$props.onExit;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onExit) {\n onExit.call(undefined, event);\n }\n });\n },\n updateContainerDimensions: function updateContainerDimensions(node, done) {\n if (done === void 0) {\n done = noop;\n }\n\n var content = node ? node.firstElementChild : null;\n\n if (content) {\n var newHeight = util.outerHeight(content);\n var newWidth = util.outerWidth(content);\n this.$data.maxHeight = newHeight;\n this.$data.maxWidth = newWidth;\n done();\n }\n }\n },\n computed: {\n animationEnteringStyle: {\n get: function get() {\n var maxOffset;\n\n if (this.$props.direction === 'vertical') {\n maxOffset = {\n maxHeight: this.maxHeight ? this.maxHeight + \"px\" : null\n };\n } else {\n maxOffset = {\n maxWidth: this.maxWidth ? this.maxWidth + \"px\" : null\n };\n }\n\n return {\n maxHeight: maxOffset.maxHeight,\n maxWidth: maxOffset.maxWidth\n };\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n\n var _a = this.$props,\n direction = _a.direction,\n childFactory = _a.childFactory,\n other = __rest(_a, [\"direction\", \"childFactory\"]);\n\n var transitionName = \"reveal-\" + this.$props.direction;\n return (// @ts-ignore function children\n h(Animation, {\n appear: this.$props.appear,\n attrs: this.v3 ? undefined : {\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationEnteringStyle: this.animationEnteringStyle,\n transitionName: transitionName\n },\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n onEnter: this.componentWillEnter,\n on: this.v3 ? undefined : {\n \"enter\": this.componentWillEnter,\n \"entering\": this.componentIsEntering,\n \"exit\": this.componentWillExit\n },\n onEntering: this.componentIsEntering,\n onExit: this.componentWillExit,\n animationEnteringStyle: this.animationEnteringStyle,\n transitionName: transitionName\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\nvar RevealVue3 = Reveal;\nexport { Reveal, RevealVue3 };","export var animate = function animate(transition, offset, animationFrame) {\n if (offset === void 0) {\n offset = 0;\n }\n\n if (animationFrame === void 0) {\n animationFrame = 0;\n }\n\n var duration = transition.duration;\n var start;\n var progress;\n var skip = offset && 1 - offset;\n\n if (transition.onStart) {\n transition.onStart();\n }\n\n var frame = function frame(timestamp) {\n if (!start) {\n start = timestamp;\n }\n\n progress = timestamp - start + 1;\n var rate = progress / duration + skip;\n\n if (rate <= 1) {\n if (transition.onUpdate) {\n transition.onUpdate(rate);\n }\n\n animationFrame = window.requestAnimationFrame(frame);\n offset = rate;\n } else {\n if (transition.onEnd) {\n transition.onEnd(1);\n }\n\n offset = 0;\n }\n };\n\n animationFrame = window.requestAnimationFrame(frame);\n return animationFrame;\n};\nexport var cancelAnimation = function cancelAnimation(animationFrame) {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n};","var _Draggable;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport KendoDraggable from '@telerik/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * Represents the default `Draggable` component.\n */\n\nvar Draggable = (_Draggable = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n this.draggable = new KendoDraggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!gh ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_Draggable, \"setup\", !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n}), _defineProperty(_Draggable, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _Draggable);\nexport { Draggable };","/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg)\n ? classNames.apply(void 0, arg) : typeof arg === 'object'\n ? Object\n .keys(arg)\n .map(function (key, idx) { return arg[idx] || (arg[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ')\n : arg;\n })\n .filter(function (arg) { return !!arg; })\n .join(' ');\n};\n","/* tslint:disable:no-bitwise */\n/**\n * @hidden\n */\nvar guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\nexport { guid };\n","/**\n * @hidden\n */\nvar Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\nexport { Keys };\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","/**\n * @hidden\n */\nvar noop = function () { };\nexport { noop };\n","import { FIELD_REGEX } from './constants';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n return Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template) {\n return undefined;\n }\n var scopedSlot = gh ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n // @ts-ignore\n if (typeof template === 'string' && scopedSlot) {\n // @ts-ignore\n return { type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || typeof template === 'object' ||\n (typeof template === 'function' && template.component)) {\n return { type: 'component', render: template, listeners: listeners };\n }\n return { type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (gh) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render(h, defaultRendering, defaultSlots, props, events);\n }\n return template.render(h, defaultRendering, props, events, defaultSlots);\n }\n else {\n return h(template.render, componentOptions, gh ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \" + packageMetadata.name + \"\\n\";\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \" + packageMetadata.licensingDocsUrl + \" for more information.\\n\";\n console.warn(message);\n }\n}\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-buttons',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1641561106,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","/**\n * @hidden\n */\nexport var FOCUS_ACTION;\n\n(function (FOCUS_ACTION) {\n FOCUS_ACTION[\"next\"] = \"next\";\n FOCUS_ACTION[\"prev\"] = \"prev\";\n FOCUS_ACTION[\"current\"] = \"current\";\n FOCUS_ACTION[\"reset\"] = \"reset\";\n})(FOCUS_ACTION || (FOCUS_ACTION = {}));\n/**\n * @hidden\n */\n\n\nexport var focusReducer = function focusReducer(state, action) {\n var currentIndex = action.items.findIndex(function (i) {\n return i === state;\n });\n\n switch (action.type) {\n case FOCUS_ACTION.next:\n return currentIndex === action.items.length - 1 ? state : action.items[currentIndex + 1];\n\n case FOCUS_ACTION.prev:\n return currentIndex === 0 ? state : action.items[currentIndex - 1];\n\n case FOCUS_ACTION.current:\n return action.payload;\n\n case FOCUS_ACTION.reset:\n return null;\n\n default:\n return state;\n }\n};","/**\n * @hidden\n */\nvar styles = {\n button: 'k-button',\n 'flat': 'k-flat',\n 'outline': 'k-outline',\n 'clear': 'k-button-clear',\n 'primary': 'k-primary',\n 'state-selected': 'k-state-selected',\n 'button-icon': 'k-button-icon',\n 'button-icontext': 'k-button-icontext',\n 'state-disabled': 'k-state-disabled',\n 'group-start': 'k-group-start',\n 'group-end': 'k-group-end',\n 'button-group': 'k-button-group',\n 'button-group-stretched': 'k-button-group-stretched',\n 'ltr': 'k-ltr',\n 'rtl': 'k-rtl'\n};\nvar notDisabled = ':not(.k-state-disabled):not([disabled]):not([disabled=\"true\"])';\n/**\n * @hidden\n */\nexport var toolbarButtons = [\n 'button' + notDisabled,\n '.k-button-group > button' + notDisabled,\n '.k-dropdown > .k-dropdown-wrap' + notDisabled,\n '.k-colorpicker > .k-picker-wrap' + notDisabled\n];\n/**\n * @hidden\n */\nexport default {\n styles: styles\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { classNames, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles; // tslint:enable:max-line-length\n\nvar Button = {\n name: 'KendoButton',\n // @ts-ignore\n emits: {\n click: null,\n mousedown: null,\n mouseup: null,\n pointerdown: null,\n pointerup: null,\n focus: null,\n blur: null,\n keypress: null\n },\n props: {\n look: {\n type: String,\n default: function _default() {\n return 'default';\n }\n },\n primary: {\n type: Boolean,\n default: false\n },\n selected: {\n type: Boolean,\n default: undefined\n },\n togglable: {\n type: Boolean,\n default: false\n },\n icon: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n iconClass: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n imageUrl: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n imageAlt: String,\n disabled: {\n type: Boolean,\n default: undefined\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentActive = this.$props.togglable === true && this.$props.selected === true;\n this._activeTemp = undefined;\n },\n data: function data() {\n return {\n currentActive: null\n };\n },\n computed: {\n computedSelected: function computedSelected() {\n return this._activeTemp !== undefined ? this._activeTemp : this.$props.selected !== undefined ? this.$props.selected : this.currentActive;\n }\n },\n updated: function updated() {\n if (this.$props.togglable && this.$props.selected !== undefined && this.$props.selected !== this.currentActive) {\n this.currentActive = this.$props.selected;\n }\n },\n methods: {\n focus: function focus(e) {\n this.$el.focus(e);\n },\n toggleIfApplicable: function toggleIfApplicable() {\n if (!this.disabled && this.$props.togglable && this.$props.selected === undefined) {\n var active = !this.currentActive;\n this._activeTemp = active;\n this.currentActive = active;\n this._activeTemp = undefined;\n }\n },\n handleClick: function handleClick(event) {\n this.toggleIfApplicable();\n\n if (!this.disabled) {\n this.$emit('click', event);\n }\n },\n handleMouseDown: function handleMouseDown(event) {\n if (!this.disabled) {\n this.$emit('mousedown', event);\n }\n },\n handlePointerDown: function handlePointerDown(event) {\n if (!this.disabled) {\n this.$emit('pointerdown', event);\n }\n },\n handleMouseUp: function handleMouseUp(event) {\n if (!this.disabled) {\n this.$emit('mouseup', event);\n }\n },\n handlePointerUp: function handlePointerUp(event) {\n if (!this.disabled) {\n this.$emit('pointerup', event);\n }\n },\n handleFocus: function handleFocus(event) {\n if (!this.disabled) {\n this.$emit('focus', event);\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.disabled) {\n this.$emit('blur', event);\n }\n },\n handleKeypress: function handleKeypress(event) {\n if (!this.disabled) {\n this.$emit('keypress', event);\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _a;\n\n var h = gh || createElement;\n var _b = this.$props,\n look = _b.look,\n primary = _b.primary,\n togglable = _b.togglable,\n icon = _b.icon,\n iconClass = _b.iconClass,\n imageUrl = _b.imageUrl,\n imageAlt = _b.imageAlt;\n var hasIcon = icon !== undefined || iconClass !== undefined || imageUrl !== undefined;\n var defaultSlot = getDefaultSlots(this);\n var hasChildren = defaultSlot;\n var buttonClasses = classNames([styles.button], (_a = {}, _a[styles[\"\" + look]] = look !== 'default', _a[styles.primary] = primary, _a[styles['state-disabled']] = this.$props.disabled, _a[styles['state-selected']] = this.computedSelected, _a[styles['button-icon']] = !hasChildren && hasIcon, _a[styles['button-icontext']] = hasChildren && hasIcon, _a), [styles[\"\" + this.$props.dir]]);\n\n var iconElement = function iconElement() {\n if (imageUrl) {\n return h(\"img\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\",\n alt: imageAlt,\n src: imageUrl\n },\n \"class\": 'k-image',\n alt: imageAlt,\n src: imageUrl\n });\n } else if (icon) {\n var iconClasses = classNames('k-icon', 'k-i-' + icon);\n return h(\"span\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n \"class\": iconClasses\n });\n } else if (iconClass) {\n return h(\"span\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n \"class\": iconClass\n });\n }\n\n return null;\n };\n\n return h(\"button\", {\n \"class\": buttonClasses,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseup\": this.handleMouseUp,\n \"pointerdown\": this.handlePointerDown,\n \"pointerup\": this.handlePointerUp,\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"keypress\": this.handleKeypress\n },\n onMousedown: this.handleMouseDown,\n onMouseup: this.handleMouseUp,\n onPointerdown: this.handlePointerDown,\n onPointerup: this.handlePointerUp,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeypress: this.handleKeypress // Accessibility properties\n ,\n role: togglable ? 'checkbox' : undefined,\n attrs: this.v3 ? undefined : {\n role: togglable ? 'checkbox' : undefined,\n \"aria-disabled\": this.$props.disabled || undefined,\n \"aria-checked\": togglable ? this.currentActive : undefined\n },\n \"aria-disabled\": this.$props.disabled || undefined,\n \"aria-checked\": togglable ? this.currentActive : undefined\n }, [iconElement.call(this), defaultSlot]);\n }\n};\nvar ButtonVue3 = Button;\nexport { Button, ButtonVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length\n\nvar ButtonWrap = {\n name: 'KendoButtonWrap',\n props: {},\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return defaultSlot[0];\n }\n};\nvar ButtonWrapVue3 = ButtonWrap;\nexport { ButtonWrap, ButtonWrapVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { classNames, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { ButtonWrap } from './ButtonWrap';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles; // tslint:enable:max-line-length\n\nvar ButtonGroup = {\n name: 'KendoButtonGroup',\n props: {\n disabled: {\n type: Boolean,\n default: undefined\n },\n width: String,\n dir: {\n type: String,\n default: function _default() {\n return undefined;\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _a;\n\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n\n var renderButton = function renderButton(child, index, isLast, isRtl) {\n var _a;\n\n var className = classNames((_a = {}, _a[styles['state-disabled']] = this.$props.disabled, _a[styles['group-start']] = isRtl ? isLast : index === 0, _a[styles['group-end']] = isRtl ? index === 0 : isLast, _a));\n return h(ButtonWrap, {\n class: className,\n attrs: this.v3 ? undefined : {\n 'aria-disabled': this.$props.disabled\n },\n 'aria-disabled': this.$props.disabled\n }, this.v3 ? function () {\n return [child];\n } : [child]);\n };\n\n var mapButtons = function mapButtons(children) {\n var _this = this;\n\n var count = children.length;\n var rtl = this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n return children.map(function (child, index) {\n if (_this.isValidButton(child)) {\n return renderButton.call(_this, child, index, index === count - 1, rtl);\n }\n\n return child;\n });\n };\n\n var groupClasses = classNames([styles['button-group']], (_a = {}, _a[styles['state-disabled']] = this.$props.disabled, _a[styles['button-group-stretched']] = !!this.$props.width, _a));\n return h(\"div\", {\n style: {\n width: this.width\n },\n width: this.$props.width,\n attrs: this.v3 ? undefined : {\n width: this.$props.width,\n dir: this.$props.dir // Accessibility properties\n ,\n role: 'group',\n \"aria-disabled\": this.$props.disabled,\n \"aria-multiselectable\": true\n },\n dir: this.$props.dir,\n role: 'group',\n \"aria-disabled\": this.$props.disabled,\n \"aria-multiselectable\": true,\n \"class\": groupClasses\n }, [mapButtons.call(this, defaultSlot)]);\n },\n methods: {\n isValidButton: function isValidButton(child) {\n return child && child.tag && child.tag.toLowerCase().indexOf('button') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('button') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('kendobutton') !== -1;\n }\n }\n};\nvar ButtonGroupVue3 = ButtonGroup;\nexport { ButtonGroup, ButtonGroupVue3 };","/**\n * @hidden\n */\nexport var DATA_ACTION;\n\n(function (DATA_ACTION) {\n DATA_ACTION[\"remove\"] = \"remove\";\n DATA_ACTION[\"add\"] = \"add\";\n DATA_ACTION[\"reorder\"] = \"reorder\";\n})(DATA_ACTION || (DATA_ACTION = {}));\n/**\n * @hidden\n */\n\n\nexport var dataReducer = function dataReducer(state, action) {\n switch (action.type) {\n case DATA_ACTION.add:\n // TODO v2\n break;\n\n case DATA_ACTION.remove:\n return state.filter(function (i) {\n return i[action.valueField] !== action.payload;\n });\n\n case DATA_ACTION.reorder:\n // TODO v2\n break;\n\n default:\n return state;\n }\n};","var __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n/**\n * @hidden\n */\n\n\nexport var SELECTION_TYPE;\n\n(function (SELECTION_TYPE) {\n SELECTION_TYPE[\"single\"] = \"single\";\n SELECTION_TYPE[\"multiple\"] = \"multiple\";\n SELECTION_TYPE[\"none\"] = \"none\";\n})(SELECTION_TYPE || (SELECTION_TYPE = {}));\n/**\n * @hidden\n */\n\n\nexport var SELECTION_ACTION;\n\n(function (SELECTION_ACTION) {\n SELECTION_ACTION[\"toggle\"] = \"toggle\";\n SELECTION_ACTION[\"remove\"] = \"remove\";\n})(SELECTION_ACTION || (SELECTION_ACTION = {}));\n/**\n * @hidden\n */\n\n\nexport var selectionReducer = function selectionReducer(state, action) {\n switch (action.selection) {\n case SELECTION_TYPE.single:\n switch (action.type) {\n case SELECTION_ACTION.toggle:\n {\n if (!Array.isArray(state) || state === null) {\n return action.payload === state ? null : action.payload;\n }\n\n throw new Error('State cannot be an array in single selection');\n }\n\n case SELECTION_ACTION.remove:\n {\n return action.payload === state ? null : state;\n }\n\n default:\n return state;\n }\n\n case SELECTION_TYPE.multiple:\n switch (action.type) {\n case SELECTION_ACTION.toggle:\n {\n if (Array.isArray(state)) {\n return state.some(function (i) {\n return i === action.payload;\n }) ? state.filter(function (i) {\n return i !== action.payload;\n }) : __spreadArrays(state, [action.payload]);\n }\n\n if (state === null) {\n return [action.payload];\n }\n\n throw new Error('State cannot be non-array in multiple selection');\n }\n\n case SELECTION_ACTION.remove:\n {\n if (Array.isArray(state)) {\n return state.some(function (i) {\n return i === action.payload;\n }) ? state.filter(function (i) {\n return i !== action.payload;\n }) : __spreadArrays(state, [action.payload]);\n }\n\n return state;\n }\n\n default:\n return state;\n }\n\n case SELECTION_TYPE.none:\n return null;\n\n default:\n return state;\n }\n};","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref; // import { ChipListSelectionContext, ChipListFocusContext, ChipListDataContext } from './ChipList';\n\nimport { classNames, getTabIndex, Keys, noop, validatePackage } from '@progress/kendo-vue-common';\nimport { FOCUS_ACTION } from './focus-reducer';\nimport { DATA_ACTION } from './data-reducer';\nimport { SELECTION_ACTION } from './selection-reducer';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\n\n/**\n * Represents the default `Chip` component.\n */\n\nvar Chip = {\n name: 'KendoVueChip',\n props: {\n id: String,\n text: String,\n value: [String, Object],\n type: String,\n dir: {\n type: String,\n default: function _default() {\n return 'ltr';\n }\n },\n removable: {\n type: Boolean,\n default: false\n },\n removeIcon: {\n type: String,\n default: function _default() {\n return 'k-i-close-circle';\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n icon: String,\n selectedIcon: {\n type: String,\n default: function _default() {\n return 'k-i-check';\n }\n },\n look: {\n type: String,\n default: function _default() {\n return 'solid';\n }\n },\n dataItem: Object,\n selected: Boolean,\n ariaDescribedBy: String\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'keydown': null,\n 'blur': null,\n 'focus': null,\n 'remove': null\n },\n inject: {\n kendoSelection: {\n default: {\n value: null\n }\n },\n kendoFocused: {\n default: {\n value: null\n }\n },\n kendoDataItems: {\n default: null\n },\n handleDispatchDataItems: {\n default: noop\n },\n handleDispatchSelection: {\n default: noop\n },\n handleDispatchFocus: {\n default: noop\n }\n },\n created: function created() {\n this.currentDir = undefined;\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.chip = this.v3 ? this.chipRef : this.$refs.chip;\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n },\n updated: function updated() {\n if (this.kendoFocused.value === this.$props.value && this.$el) {\n this.$el.focus();\n }\n },\n computed: {\n currentSelected: function currentSelected() {\n var _this = this;\n\n return this.$props.selected || (Array.isArray(this.kendoSelection.value) ? this.kendoSelection.value.some(function (i) {\n return i === _this.$props.value;\n }) : this.kendoSelection.value === this.$props.value);\n }\n },\n methods: {\n computedFocused: function computedFocused() {\n return this.kendoFocused.value === this.$props.value;\n },\n handleClick: function handleClick(event) {\n if (this.handleDispatchSelection) {\n this.handleDispatchSelection({\n type: SELECTION_ACTION.toggle,\n payload: this.$props.value,\n event: event\n });\n }\n\n this.$emit('click', {\n target: this.target,\n event: event\n });\n },\n handleRemove: function handleRemove(event) {\n event.stopPropagation();\n\n if (!this.$props.removable) {\n return;\n }\n\n if (this.handleDispatchFocus) {\n this.handleDispatchDataItems({\n type: DATA_ACTION.remove,\n payload: this.$props.value,\n event: event\n });\n this.handleDispatchFocus({\n type: FOCUS_ACTION.reset,\n payload: this.$props.value,\n event: event\n });\n this.handleDispatchSelection({\n type: SELECTION_ACTION.remove,\n payload: this.$props.value,\n event: event\n });\n }\n\n this.$emit('remove', {\n target: this.target,\n event: event\n });\n },\n handleKeyDown: function handleKeyDown(event) {\n switch (event.keyCode) {\n case Keys.left:\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n type: FOCUS_ACTION.prev,\n payload: this.$props.value,\n event: event\n });\n }\n\n break;\n\n case Keys.right:\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n type: FOCUS_ACTION.next,\n payload: this.$props.value,\n event: event\n });\n }\n\n break;\n\n case Keys.enter:\n if (this.handleDispatchFocus) {\n this.handleDispatchSelection({\n type: SELECTION_ACTION.toggle,\n payload: this.$props.value,\n event: event\n });\n }\n\n break;\n\n case Keys.delete:\n this.handleRemove(event);\n break;\n\n default:\n break;\n }\n\n this.$emit('keydown', {\n target: this.target,\n event: event\n });\n },\n handleFocus: function handleFocus(event) {\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n payload: this.$props.value,\n type: FOCUS_ACTION.current,\n event: event\n });\n }\n\n this.$emit('focus', {\n target: this.target,\n event: event\n });\n },\n handleBlur: function handleBlur(event) {\n this.$emit('blur', {\n target: this.target,\n event: event\n });\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var chipRef = ref(null);\n return {\n v3: v3,\n chipRef: chipRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n return h(\"div\", {\n role: this.$props.role,\n attrs: this.v3 ? undefined : {\n role: this.$props.role,\n id: this.$props.value,\n dir: this.currentDir,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"aria-checked\": this.currentSelected,\n \"aria-disabled\": this.$props.disabled,\n \"aria-describedby\": this.$props.ariaDescribedBy\n },\n id: this.$props.value,\n ref: this.v3 ? function (el) {\n _this.chipRef = el;\n } : 'chip',\n dir: this.currentDir,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"class\": classNames('k-chip', {\n 'k-rtl': this.currentDir === 'rtl',\n 'k-state-disabled': this.$props.disabled,\n 'k-state-selected': this.currentSelected,\n 'k-state-focus': this.computedFocused(),\n 'k-chip-success': this.$props.type === 'success',\n 'k-chip-warning': this.$props.type === 'warning',\n 'k-chip-error': this.$props.type === 'error',\n 'k-chip-info': this.$props.type === 'info',\n 'k-chip-has-icon': this.$props.icon,\n 'k-chip-outline': this.$props.look === 'outline' || this.$props.look === 'outlined',\n 'k-chip-solid': this.$props.look === 'solid' || this.$props.look === 'filled'\n }, this.$props.className),\n \"aria-checked\": this.currentSelected,\n \"aria-disabled\": this.$props.disabled,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n onFocus: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"click\": this.handleClick,\n \"keydown\": this.handleKeyDown\n },\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n onKeydown: this.handleKeyDown\n }, [this.currentSelected && h(\"span\", {\n \"class\": 'k-selected-icon-wrapper'\n }, [h(\"span\", {\n \"class\": \"k-selected-icon k-icon \" + this.$props.selectedIcon\n })]), this.$props.icon && h(\"span\", {\n \"class\": \"k-icon k-chip-icon \" + this.$props.icon\n }), h(\"span\", {\n \"class\": 'k-chip-content'\n }, [this.$props.text && h(\"span\", {\n \"aria-label\": this.$props.text,\n attrs: this.v3 ? undefined : {\n \"aria-label\": this.$props.text\n },\n \"class\": 'k-chip-label'\n }, [this.$props.text])]), this.$props.removable && h(\"span\", {\n \"class\": 'k-remove-icon',\n onClick: this.handleRemove,\n on: this.v3 ? undefined : {\n \"click\": this.handleRemove\n }\n }, [h(\"span\", {\n \"class\": \"k-icon \" + this.$props.removeIcon\n })])]);\n }\n};\nvar ChipVue3 = Chip;\nexport { Chip, ChipVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { getTabIndex, classNames, getListeners, templateRendering, getTemplate, validatePackage } from '@progress/kendo-vue-common';\nimport { selectionReducer } from './selection-reducer';\nimport { focusReducer } from './focus-reducer';\nimport { dataReducer } from './data-reducer';\nimport { Chip } from './Chip';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\n\n/**\n * Represents the default `ChipList` component.\n */\n\nvar ChipList = {\n name: 'KendoVueChipList',\n props: {\n id: String,\n tabIndex: Number,\n dataItems: Array,\n defaultDataItems: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n value: [Object, Array, String, Number],\n defaultValue: {\n type: [Object, Array, String, Number],\n default: function _default() {\n return null;\n }\n },\n selection: {\n type: String,\n default: function _default() {\n return 'none';\n }\n },\n textField: {\n type: String,\n default: function _default() {\n return 'text';\n }\n },\n valueField: {\n type: String,\n default: function _default() {\n return 'value';\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n dir: {\n type: String,\n default: function _default() {\n return 'ltr';\n }\n },\n chip: [String, Function, Object],\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n provide: function provide() {\n return {\n kendoSelection: this.currentValue,\n kendoFocused: this.currentFocused,\n kendoDataItems: this.computedDataItems,\n handleDispatchDataItems: this.handleDispatchDataItems,\n handleDispatchSelection: this.handleDispatchSelection,\n handleDispatchFocus: this.handleDispatchFocus\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentDataItems = this.$props.dataItems || this.$props.defaultDataItems;\n this.currentValue.value = this.$props.value || this.$props.defaultValue;\n },\n data: function data() {\n return {\n currentDataItems: [],\n currentDir: 'ltr',\n isRtl: false,\n currentFocused: {\n value: false\n },\n currentValue: {\n value: null\n }\n };\n },\n mounted: function mounted() {\n this.chipList = this.v3 ? this.chipListRef : this.$refs.chipList;\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n this.isRtl = this.currentDir === 'rtl';\n },\n computed: {\n computedDataItems: function computedDataItems() {\n return this.$props.dataItems || this.currentDataItems;\n },\n computedValue: function computedValue() {\n return this.$props.value || this.currentValue.value;\n },\n items: function items() {\n return this.computedDataItems.reduce(this.itemsReducer, []);\n }\n },\n methods: {\n handleDispatchSelection: function handleDispatchSelection(action) {\n var newState = selectionReducer(this.computedValue, __assign(__assign({}, action), {\n selection: this.$props.selection,\n state: this.computedValue\n }));\n this.handleChange(newState, action.event);\n this.currentValue.value = newState;\n },\n handleDispatchFocus: function handleDispatchFocus(action) {\n var newState = focusReducer(action.payload, __assign(__assign({}, action), {\n items: this.items\n }));\n this.currentFocused.value = newState;\n },\n handleDispatchDataItems: function handleDispatchDataItems(action) {\n var newState = dataReducer(this.computedDataItems, __assign(__assign({}, action), {\n state: this.computedDataItems,\n valueField: this.$props.valueField\n }));\n this.handleDataChange(newState, action.event);\n this.currentDataItems = newState;\n },\n handleChange: function handleChange(newValue, event) {\n if (this.$el) {\n this.$emit('change', {\n value: newValue,\n target: this.$el,\n event: event\n });\n }\n },\n handleDataChange: function handleDataChange(newData, event) {\n if (this.$el) {\n this.$emit('datachange', {\n value: newData,\n target: this.$el,\n event: event\n });\n }\n },\n itemsReducer: function itemsReducer(acc, current) {\n acc.push(current[this.$props.valueField || this.$props.valueField]);\n return acc;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var chipListRef = ref(null);\n return {\n v3: v3,\n chipListRef: chipListRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n return h(\"div\", {\n ref: this.v3 ? function (el) {\n _this.chipListRef = el;\n } : 'chipList',\n role: 'listbox',\n attrs: this.v3 ? undefined : {\n role: 'listbox',\n id: this.$props.id,\n dir: this.currentDir,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy\n },\n id: this.$props.id,\n dir: this.currentDir,\n style: this.$props.style,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"class\": classNames('k-chip-list', {\n 'k-rtl': this.currentDir === 'rtl',\n 'k-selection-single': this.$props.selection === 'single',\n 'k-selection-multiple': this.$props.selection === 'multiple',\n 'k-state-disabled': this.$props.disabled\n }, this.$props.className),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy\n }, [this.computedDataItems.map(function (item) {\n var chipTemplate = templateRendering.call(this, this.$props.chip, getListeners.call(this));\n var chipDefaultRendering = // @ts-ignore function children\n h(Chip, {\n role: 'option',\n attrs: this.v3 ? undefined : {\n role: 'option',\n dataItem: item,\n text: item[this.$props.textField],\n value: item[this.$props.valueField]\n },\n dataItem: item,\n key: item[this.$props.valueField],\n text: item[this.$props.textField],\n value: item[this.$props.valueField]\n });\n return getTemplate.call(this, {\n h: h,\n template: chipTemplate,\n defaultRendering: chipDefaultRendering\n });\n }, this)]);\n }\n};\nvar ChipListVue3 = ChipList;\nexport { ChipList, ChipListVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { classNames, getTabIndex, getTemplate } from '@progress/kendo-vue-common';\n/**\n * Represents the [Kendo UI for Vue FloatingActionButtonItem component]({% slug overview_floatingactionbutton %}).\n *\n */\n\nvar FloatingActionButtonItem = {\n name: 'KendoVueFloatingActionButtonItem',\n props: {\n disabled: Boolean,\n focused: Boolean,\n index: Number,\n icon: String,\n item: [String, Function, Object],\n dataItem: Object,\n text: String,\n tabIndex: Number,\n customProp: [String, Function, Object]\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'down': null\n },\n mounted: function mounted() {\n this.element = this.v3 ? this.elementRef : this.$refs.element;\n },\n computed: {\n itemClassNames: function itemClassNames() {\n return classNames('k-fab-item', {\n 'k-state-focus': this.focused,\n 'k-state-disabled': this.disabled\n });\n }\n },\n methods: {\n handleClick: function handleClick(event) {\n if (this.$props.index !== undefined && !this.$props.disabled) {\n this.$emit('click', event, this.$props.index);\n }\n },\n focusElement: function focusElement() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n onDown: function onDown(event) {\n this.$emit('down', event);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var elementRef = ref(null);\n return {\n v3: v3,\n elementRef: elementRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n id = _a.id,\n tabIndex = _a.tabIndex,\n dataItem = _a.dataItem,\n customProp = _a.customProp;\n var text = dataItem.text,\n icon = dataItem.icon;\n var item;\n var itemDefaultRendering = h(\"li\", {\n ref: this.v3 ? function (el) {\n _this.elementRef = el;\n } : 'element',\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: 'menuitem',\n tabIndex: getTabIndex(tabIndex, disabled),\n \"aria-disabled\": disabled,\n \"aria-label\": (text || '') + \" floatingactionbutton item\",\n customProp: customProp\n },\n \"class\": this.itemClassNames,\n role: 'menuitem',\n tabIndex: getTabIndex(tabIndex, disabled),\n \"aria-disabled\": disabled,\n \"aria-label\": (text || '') + \" floatingactionbutton item\",\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.onDown,\n \"pointerdown\": this.onDown\n },\n onMousedown: this.onDown,\n onPointerdown: this.onDown,\n customProp: customProp\n }, [text && h(\"span\", {\n \"class\": \"k-fab-item-text\"\n }, [text]), icon && h(\"span\", {\n \"class\": classNames(\"k-fab-item-icon k-icon k-i-\" + icon)\n })]);\n item = getTemplate.call(this, {\n h: h,\n template: this.$props.item,\n defaultRendering: itemDefaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n click: this.handleClick\n }\n });\n return item;\n }\n};\nvar FloatingActionButtonItemVue3 = FloatingActionButtonItem;\nexport { FloatingActionButtonItem, FloatingActionButtonItemVue3 };","/**\n * @hidden\n */\nexport var DEFAULT_OFFSET = '16px';\n/**\n * @hidden\n */\nexport var toStringValues = function (val) {\n if (typeof val === 'number') {\n return val + 'px';\n }\n return val;\n};\n/**\n * @hidden\n */\nexport var getAnchorAlign = function (fabAlign, rtl) {\n var align = { horizontal: (rtl ? 'right' : 'left'), vertical: 'bottom' };\n if (fabAlign.horizontal === 'end') {\n align.horizontal = rtl ? 'left' : 'right';\n }\n return align;\n};\n/**\n * @hidden\n */\nexport var getPopupAlign = function (fabAlign, rtl) {\n var align = { horizontal: (rtl ? 'right' : 'left'), vertical: 'top' };\n if (fabAlign.horizontal === 'end') {\n align.horizontal = rtl ? 'left' : 'right';\n }\n return align;\n};\n/**\n * @hidden\n */\nexport var getTextDirectionClass = function (rtl, hAlign) {\n var al = hAlign === 'end' ? 'end' : 'start';\n var directions = {\n rtl: { end: 'k-text-left', start: 'k-text-right' },\n ltr: { start: 'k-text-left', end: 'k-text-right' }\n };\n return directions[rtl][al];\n};\n/**\n * @hidden\n */\nexport var position = function (ref, align, alignOffset, isRtl) {\n var horizontal = align.horizontal;\n var vertical = align.vertical;\n if (ref) {\n var xFab = alignOffset && alignOffset.x !== undefined ?\n toStringValues(alignOffset.x) :\n DEFAULT_OFFSET;\n var xCenterFab = alignOffset && alignOffset.x !== undefined ?\n \"calc(50% + \" + toStringValues(alignOffset.x) + \")\" :\n '50%';\n var yFab = alignOffset && alignOffset.y !== undefined ?\n toStringValues(alignOffset.y) :\n DEFAULT_OFFSET;\n var yCenterFab = alignOffset && alignOffset.y !== undefined ?\n \"calc(50% + \" + toStringValues(alignOffset.y) + \")\" :\n '50%';\n ref.style.setProperty(horizontalPosition(align, isRtl), horizontal === 'center' ? xCenterFab : xFab);\n ref.style.setProperty(verticalPosition(align), vertical === 'middle' ? yCenterFab : yFab);\n if (isRtl) {\n if ((vertical === 'top' || vertical === 'bottom') && horizontal === 'start') {\n ref.style.setProperty('left', 'unset');\n }\n if (vertical === 'middle' && horizontal === 'end') {\n ref.style.setProperty('right', 'unset');\n }\n if (vertical === 'middle' && horizontal === 'start') {\n ref.style.setProperty('left', 'unset');\n }\n }\n }\n};\nvar horizontalPosition = function (align, isRtl) {\n var horizontal = align.horizontal;\n return {\n end: isRtl ? 'left' : 'right',\n center: 'left',\n start: isRtl ? 'right' : 'left'\n }[horizontal || 'end'];\n};\nvar verticalPosition = function (align) {\n return {\n top: 'top',\n middle: 'top',\n bottom: 'bottom'\n }[align.vertical || 'bottom'];\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { classNames, guid, Keys, getTabIndex, templateRendering, getListeners, validatePackage, canUseDOM } from '@progress/kendo-vue-common';\nimport { FloatingActionButtonItem } from './FloatingActionButtonItem';\nimport { packageMetadata } from '../package-metadata';\nimport { position, getAnchorAlign, getPopupAlign, getTextDirectionClass } from './utils';\nimport { Popup } from '@progress/kendo-vue-popup';\n/**\n * @hidden\n */\n\n/**\n * Represents the default `FloatingActionButton` component.\n */\n\nvar FloatingActionButton = {\n name: 'KendoVueFloatingActionButton',\n props: {\n id: String,\n dir: String,\n tabIndex: Number,\n accessKey: String,\n disabled: Boolean,\n icon: String,\n iconClass: String,\n items: [Object, Array],\n item: [String, Function, Object],\n text: String,\n alignOffset: Object,\n opened: {\n type: Boolean,\n default: undefined\n },\n align: {\n type: Object,\n default: function _default() {\n return {\n vertical: 'bottom',\n horizontal: 'end'\n };\n }\n },\n positionMode: {\n type: String,\n default: function _default() {\n return 'fixed';\n }\n },\n popupSettings: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n shape: {\n type: String,\n default: function _default() {\n return 'pill';\n }\n },\n size: {\n type: String,\n default: function _default() {\n return 'medium';\n }\n },\n themeColor: {\n type: String,\n default: function _default() {\n return 'primary';\n }\n }\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'mousedown': null,\n 'mouseup': null,\n 'open': null,\n 'close': null,\n 'itemclick': null,\n 'focus': null,\n 'blur': null,\n 'keydown': null\n },\n data: function data() {\n return {\n currentOpened: false,\n currentFocused: false,\n focusedIndex: -1,\n currentDir: 'ltr',\n isRtl: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.element = undefined;\n this._anchor = guid();\n this.listId = guid();\n this.buttonId = guid();\n },\n mounted: function mounted() {\n this.element = this.v3 ? this.kendoAnchorRef : this.$refs[this._anchor];\n this.list = this.v3 ? this.listRef : this.$refs.list;\n this.popup = this.v3 ? this.popupRef : this.$refs.popup;\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n this.isRtl = this.currentDir === 'rtl';\n\n if (this.opened !== undefined) {\n position(this.$el, this.$props.align, this.$props.alignOffset, this.isRtl);\n }\n },\n updated: function updated() {\n position(this.$el, this.$props.align, this.$props.alignOffset, this.isRtl);\n\n if (this.currentFocused && this.element) {\n this.element.focus();\n }\n },\n computed: {\n buttonClassNames: function buttonClassNames() {\n return classNames('k-fab', \"k-fab-\" + this.$props.themeColor, \"k-fab-\" + this.$props.shape, {\n 'k-fab-sm': this.$props.size === 'small',\n 'k-fab-md': this.$props.size === 'medium',\n 'k-fab-lg': this.$props.size === 'large',\n 'k-state-disabled': this.$props.disabled,\n 'k-state-focus': this.currentFocused\n }, \"k-\" + this.$props.align.vertical + \"-\" + this.$props.align.horizontal);\n },\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n rootClassNames: function rootClassNames() {\n return classNames({\n 'k-pos-absolute': this.$props.positionMode === 'absolute',\n 'k-pos-fixed': this.$props.positionMode === 'fixed'\n });\n }\n },\n methods: {\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, isOpen) {\n if (!this.$props.items) {\n return;\n }\n\n this.$emit(isOpen ? 'open' : 'close', {\n event: dispatchedEvent,\n isOpened: !isOpen\n });\n },\n handleClick: function handleClick(event) {\n if (!event.target || this.$props.disabled) {\n return;\n }\n\n if (!this.$props.items) {\n this.$emit('click', event, undefined);\n } else {\n var currentOpenToggled = !this.computedOpened;\n this.currentOpened = currentOpenToggled;\n this.currentFocused = true;\n this.focusedIndex = currentOpenToggled ? 0 : -1;\n this.dispatchPopupEvent(event, !this.computedOpened);\n }\n },\n handleFocus: function handleFocus(event) {\n this.currentFocused = true;\n this.focusedIndex = this.computedOpened ? 0 : -1;\n this.$emit('focus', event, undefined);\n },\n handleBlur: function handleBlur(event) {\n this.currentFocused = false;\n this.currentOpened = false;\n this.focusedIndex = -1;\n this.$emit('blur', event, undefined);\n var fireCloseEvent = this.computedOpened;\n\n if (fireCloseEvent) {\n this.dispatchPopupEvent(event, false);\n }\n },\n handleMouseDown: function handleMouseDown(event) {\n event.preventDefault();\n this.$emit('mousedown', event);\n },\n handleMouseUp: function handleMouseUp(event) {\n this.$emit('mouseup', event);\n },\n dispatchItemClickEvent: function dispatchItemClickEvent(dispatchedEvent, index) {\n if (!this.$props.items) {\n return;\n }\n\n if (!this.$props.items[index].disabled) {\n this.$emit('itemclick', dispatchedEvent, {\n itemProps: this.$props.items[index],\n itemIndex: index\n });\n }\n },\n handleItemClick: function handleItemClick(event, clickedItemIndex) {\n if (!event.target || !this.$props.items) {\n return;\n }\n\n this.focusedIndex = clickedItemIndex;\n this.currentOpened = false;\n this.dispatchItemClickEvent(event, clickedItemIndex);\n this.dispatchPopupEvent(event, false);\n },\n handleItemDown: function handleItemDown(event) {\n if (canUseDOM && document.activeElement === this.element) {\n event.preventDefault();\n }\n },\n handleKeyDown: function handleKeyDown(event) {\n var currIndex = this.focusedIndex;\n var maxNavIndex = this.$props.items ? this.$props.items.length - 1 : -1;\n var isAtBottom = this.$props.align.vertical === 'bottom';\n\n switch (event.keyCode) {\n case Keys.enter:\n case Keys.space:\n if (currIndex >= 0) {\n this.dispatchItemClickEvent(event, currIndex);\n }\n\n event.preventDefault();\n this.currentOpened = !this.currentOpened;\n this.focusedIndex = !this.currentOpened ? 0 : -1;\n break;\n\n case Keys.esc:\n event.preventDefault();\n this.currentOpened = false;\n this.focusedIndex = -1;\n break;\n\n case Keys.home:\n event.preventDefault();\n this.focusedIndex = 0;\n break;\n\n case Keys.end:\n event.preventDefault();\n this.focusedIndex = maxNavIndex;\n break;\n\n case Keys.down:\n case Keys.right:\n event.preventDefault();\n\n if (currIndex < maxNavIndex && !isAtBottom) {\n this.focusedIndex = currIndex + 1;\n }\n\n if (currIndex > 0 && isAtBottom) {\n this.focusedIndex = currIndex - 1;\n }\n\n break;\n\n case Keys.up:\n case Keys.left:\n event.preventDefault();\n\n if (currIndex > 0 && !isAtBottom) {\n this.focusedIndex = currIndex - 1;\n }\n\n if (currIndex < maxNavIndex && isAtBottom) {\n this.focusedIndex = currIndex + 1;\n }\n\n break;\n\n default:\n break;\n }\n\n this.$emit('keydown', event, undefined);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var chipRef = ref(null);\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n chipRef: chipRef,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this2 = this;\n\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n align = _a.align,\n disabled = _a.disabled,\n icon = _a.icon,\n iconClass = _a.iconClass,\n id = _a.id,\n items = _a.items,\n text = _a.text,\n tabIndex = _a.tabIndex,\n accessKey = _a.accessKey,\n popupSettings = _a.popupSettings;\n var item = templateRendering.call(this, this.$props.item, getListeners.call(this));\n\n var fabItems = function fabItems() {\n return items && items.map(function (element, index) {\n return (// @ts-ignore function children\n h(FloatingActionButtonItem, {\n key: index,\n index: index,\n attrs: this.v3 ? undefined : {\n index: index,\n id: this.listId + \"-\" + index,\n disabled: disabled || element.disabled,\n focused: this.focusedIndex === index,\n dataItem: element,\n item: item\n },\n id: this.listId + \"-\" + index,\n disabled: disabled || element.disabled,\n focused: this.focusedIndex === index,\n dataItem: element,\n item: item,\n \"class\": classNames(element.className, getTextDirectionClass(this.currentDir || 'ltr', align.horizontal)),\n onClick: this.handleItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleItemClick,\n \"down\": this.handleItemDown\n },\n onDown: this.handleItemDown\n })\n );\n }, this);\n };\n\n var isIconFab = icon && !text;\n var fabWidth = this.element ? this.element.offsetWidth : 0;\n var iconWidth = 32;\n var spacing = fabWidth / 2 - iconWidth / 2;\n return h(\"div\", {\n \"class\": this.rootClassNames\n }, [h(\"button\", {\n ref: this.v3 ? function (el) {\n _this.kendoAnchorRef = el;\n } : this._anchor,\n id: id || this.buttonId,\n attrs: this.v3 ? undefined : {\n id: id || this.buttonId,\n role: items ? 'menubutton' : 'button',\n type: 'button',\n \"aria-disabled\": disabled,\n \"aria-expanded\": items ? this.computedOpened : undefined,\n \"aria-haspopup\": items ? true : false,\n \"aria-label\": (text || '') + \" floatingactionbutton\",\n \"aria-owns\": items ? this.listId : undefined,\n \"aria-activedescendant\": this.focusedIndex >= 0 && items ? this.listId + \"-\" + this.focusedIndex : undefined,\n tabIndex: getTabIndex(tabIndex, disabled),\n accessKey: accessKey,\n dir: this.currentDir,\n disabled: disabled\n },\n role: items ? 'menubutton' : 'button',\n type: 'button',\n \"aria-disabled\": disabled,\n \"aria-expanded\": items ? this.computedOpened : undefined,\n \"aria-haspopup\": items ? true : false,\n \"aria-label\": (text || '') + \" floatingactionbutton\",\n \"aria-owns\": items ? this.listId : undefined,\n \"aria-activedescendant\": this.focusedIndex >= 0 && items ? this.listId + \"-\" + this.focusedIndex : undefined,\n tabIndex: getTabIndex(tabIndex, disabled),\n accessKey: accessKey,\n dir: this.currentDir,\n disabled: disabled,\n \"class\": this.buttonClassNames,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseup\": this.handleMouseUp,\n \"focusin\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"keydown\": this.handleKeyDown\n },\n onMousedown: this.handleMouseDown,\n onMouseup: this.handleMouseUp,\n onFocusin: this.handleFocus,\n onBlur: this.handleBlur,\n onKeydown: this.handleKeyDown\n }, [icon ? h(\"span\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n \"class\": classNames(\"k-fab-icon k-icon k-i-\" + icon)\n }) : iconClass ? h(\"span\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n \"class\": iconClass\n }) : null, text && h(\"span\", {\n \"class\": \"k-fab-text\"\n }, [text])]), // @ts-ignore function children\n h(Popup, {\n ref: this.v3 ? function (el) {\n _this.popupRef = el;\n } : 'popup',\n show: this.computedOpened,\n attrs: this.v3 ? undefined : {\n show: this.computedOpened,\n anchor: this._anchor,\n animate: popupSettings.animate,\n popupClass: classNames('k-popup-transparent k-fab-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(align, this.isRtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(align, this.isRtl)\n },\n anchor: this._anchor,\n animate: popupSettings.animate,\n popupClass: classNames('k-popup-transparent k-fab-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(align, this.isRtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(align, this.isRtl),\n style: {\n boxShadow: 'none'\n }\n }, this.v3 ? function () {\n return [h(\"ul\", {\n ref: _this2.v3 ? function (el) {\n _this.listRef = el;\n } : 'list',\n role: 'menu',\n attrs: _this2.v3 ? undefined : {\n role: 'menu',\n \"aria-labelledby\": id,\n id: _this2.listId\n },\n \"aria-labelledby\": id,\n id: _this2.listId,\n \"class\": classNames('k-fab-items', {\n 'k-fab-items-bottom': align.vertical !== 'bottom',\n 'k-fab-items-top': align.vertical === 'bottom'\n }),\n style: {\n paddingLeft: isIconFab ? spacing + 'px' : undefined,\n paddingRight: isIconFab ? spacing + 'px' : undefined\n }\n }, [fabItems.call(_this2)])];\n } : [h(\"ul\", {\n ref: _this2.v3 ? function (el) {\n _this.listRef = el;\n } : 'list',\n role: 'menu',\n attrs: _this2.v3 ? undefined : {\n role: 'menu',\n \"aria-labelledby\": id,\n id: _this2.listId\n },\n \"aria-labelledby\": id,\n id: _this2.listId,\n \"class\": classNames('k-fab-items', {\n 'k-fab-items-bottom': align.vertical !== 'bottom',\n 'k-fab-items-top': align.vertical === 'bottom'\n }),\n style: {\n paddingLeft: isIconFab ? spacing + 'px' : undefined,\n paddingRight: isIconFab ? spacing + 'px' : undefined\n }\n }, [fabItems.call(_this2)])])]);\n }\n};\nvar FloatingActionButtonVue3 = FloatingActionButton;\nexport { FloatingActionButton, FloatingActionButtonVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getTemplate } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length\n\nvar ButtonItem = {\n name: 'KendoButtonItem',\n // @ts-ignore\n emits: {\n click: null,\n down: null\n },\n props: {\n focused: Boolean,\n index: Number,\n item: Object,\n render: [String, Object, Function],\n dataItem: [String, Object],\n id: String,\n textField: String\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a = this.$props,\n dataItem = _a.dataItem,\n focused = _a.focused;\n return {\n 'k-item': true,\n 'k-state-focused': focused,\n 'k-state-selected': dataItem.selected,\n 'k-state-disabled': dataItem.disabled\n };\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event, this.$props.index);\n },\n onDown: function onDown(event) {\n this.$emit('down', event, this.$props.index);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n dataItem = _a.dataItem,\n id = _a.id,\n render = _a.render;\n\n var renderContent = function renderContent() {\n var _a = this.$props,\n textField = _a.textField,\n index = _a.index;\n var text = dataItem.text !== undefined ? dataItem.text : textField ? dataItem[textField] : dataItem;\n var iconClass = dataItem.icon ? \"k-icon k-i-\" + dataItem.icon : dataItem.iconClass;\n var itemContent = [iconClass && h(\"span\", {\n \"class\": iconClass,\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n key: \"icon\"\n }), dataItem.imageUrl && h(\"img\", {\n \"class\": \"k-image\",\n alt: \"\",\n attrs: this.v3 ? undefined : {\n alt: \"\",\n src: dataItem.imageUrl,\n role: \"presentation\"\n },\n src: dataItem.imageUrl,\n role: \"presentation\",\n key: \"image\"\n }), text];\n return getTemplate.call(this, {\n h: h,\n template: this.$props.dataItem.render || render,\n defaultRendering: itemContent,\n additionalProps: {\n item: dataItem,\n itemIndex: index\n }\n });\n };\n\n var item = h(\"li\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: \"menuItem\",\n \"aria-disabled\": dataItem.disabled || undefined\n },\n \"class\": this.wrapperClass,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick,\n \"mousedown\": this.onDown,\n \"pointerdown\": this.onDown\n },\n onMousedown: this.onDown,\n onPointerdown: this.onDown,\n role: \"menuItem\",\n \"aria-disabled\": dataItem.disabled || undefined\n }, [renderContent.call(this)]);\n return item;\n }\n};\nvar ButtonItemVue3 = ButtonItem;\nexport { ButtonItem, ButtonItemVue3 };","import { Keys } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar navigate = function (focusedIndex, keyCode, altKey, total) {\n if (altKey) {\n return focusedIndex;\n }\n switch (keyCode) {\n case Keys.enter:\n case Keys.space:\n case Keys.esc:\n return -1;\n case Keys.up:\n case Keys.left:\n return Math.max(0, focusedIndex - 1);\n case Keys.down:\n case Keys.right:\n return Math.min(total - 1, focusedIndex + 1);\n default:\n return focusedIndex;\n }\n};\nexport default navigate;\n","/**\n * @hidden\n */\nexport function getAnchorAlign(isDirectionRightToLeft) {\n var align = { horizontal: 'left', vertical: 'bottom' };\n if (isDirectionRightToLeft) {\n align.horizontal = 'right';\n }\n return align;\n}\n/**\n * @hidden\n */\nexport function getPopupAlign(isDirectionRightToLeft) {\n var align = { horizontal: 'left', vertical: 'top' };\n if (isDirectionRightToLeft) {\n align.horizontal = 'right';\n }\n return align;\n}\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { Button as KendoButton } from '../Button';\nimport { classNames, guid, Keys } from '@progress/kendo-vue-common';\nimport { ButtonItem } from './ButtonItem';\nimport navigation from './utils/navigation';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { getAnchorAlign, getPopupAlign } from './utils/popup';\nimport { validatePackage, templateRendering, getListeners, canUseDOM } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport util from '../util';\nvar styles = util.styles; // tslint:enable:max-line-length\n\nvar SplitButton = {\n name: 'KendoSplitButton',\n // @ts-ignore\n emits: {\n focus: null,\n blur: null,\n buttonclick: null,\n itemclick: null,\n open: null,\n close: null\n },\n props: {\n accessKey: String,\n text: String,\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n textField: String,\n tabIndex: Number,\n disabled: Boolean,\n icon: String,\n opened: {\n type: Boolean,\n default: undefined\n },\n iconClass: String,\n imageUrl: String,\n popupSettings: Object,\n itemRender: [String, Function, Object],\n item: [String, Function, Object],\n look: String,\n className: String,\n buttonClass: String,\n dir: String\n },\n data: function data() {\n return {\n focused: false,\n focusedIndex: -1,\n currentOpened: false\n };\n },\n created: function created() {\n this._blurTimeout = null;\n this._anchor = guid();\n this.mainButton = null;\n this.guid = guid();\n this.buttonsData = [];\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.mainButton = this.$refs[this._anchor]; // If this.$props.opened is true during the initial render, the popup is not aligned.\n\n if (this.$props.dir === undefined && this.isRtl() || this.computedOpened) {\n this.$forceUpdate();\n }\n },\n updated: function updated() {\n if (this.focused && this.element()) {\n this.mainButton = this.$refs[this._anchor];\n this.mainButton.focus();\n }\n },\n computed: {\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n wrapperClass: function wrapperClass() {\n var _a;\n\n return _a = {\n 'k-widget': true,\n 'k-split-button': true,\n 'k-button-group': true\n }, _a[styles[\"\" + this.$props.look]] = true, _a['k-state-focused'] = this.focused, _a;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this3 = this;\n\n var _this = this;\n\n var h = gh || createElement;\n this.buttonsData = this.$props.items;\n var rtl = this.isRtl();\n var dir = rtl ? 'rtl' : undefined;\n var _a = this.$props,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled;\n\n var renderChildItems = function renderChildItems() {\n var _a = this.$props,\n item = _a.item,\n itemRender = _a.itemRender,\n textField = _a.textField;\n return this.buttonsData.length > 0 ? this.buttonsData.map(function (dataItem, index) {\n var currentDataItem = typeof dataItem !== 'string' ? __assign(__assign({}, dataItem), {\n render: templateRendering.call(this, dataItem.render, getListeners.call(this))\n }) : dataItem;\n return (// @ts-ignore\n h(ButtonItem, {\n dataItem: currentDataItem,\n attrs: this.v3 ? undefined : {\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n id: this.guid + \"-\" + index\n },\n textField: textField,\n focused: this.focusedIndex === index,\n onClick: this.onItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.onItemClick,\n \"down\": this.onItemDown\n },\n onDown: this.onItemDown,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n key: index,\n index: index,\n id: this.guid + \"-\" + index\n })\n );\n }, this) : null;\n };\n\n var renderPopup = function renderPopup() {\n var _this2 = this;\n\n var _a = this.$props.popupSettings,\n popupSettings = _a === void 0 ? {} : _a;\n return (// @ts-ignore function children\n h(Popup, {\n anchor: this._anchor,\n attrs: this.v3 ? undefined : {\n anchor: this._anchor,\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-list-container k-reset k-group', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl)\n },\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-list-container k-reset k-group', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl),\n style: rtl ? {\n direction: 'rtl'\n } : undefined\n }, this.v3 ? function () {\n return [h(\"ul\", {\n \"class\": \"k-list k-reset\",\n role: \"menu\",\n attrs: _this2.v3 ? undefined : {\n role: \"menu\",\n id: _this2.guid\n },\n id: _this2.guid\n }, [renderChildItems.call(_this2)])];\n } : [h(\"ul\", {\n \"class\": \"k-list k-reset\",\n role: \"menu\",\n attrs: _this2.v3 ? undefined : {\n role: \"menu\",\n id: _this2.guid\n },\n id: _this2.guid\n }, [renderChildItems.call(_this2)])])\n );\n };\n\n return h(\"div\", {\n \"class\": this.wrapperClass,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focusin\": this.onFocus,\n \"focusout\": this.onBlur\n },\n onFocusin: this.onFocus,\n onFocusout: this.onBlur,\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n }\n }, [// @ts-ignore function children\n h(KendoButton, {\n onClick: function onClick(event) {\n return _this.onItemClick(event, -1);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(event) {\n return _this.onItemClick(event, -1);\n }\n },\n disabled: disabled || undefined,\n attrs: this.v3 ? undefined : {\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n dir: dir,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": true,\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.text + \" splitbutton\",\n \"aria-owns\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? this.guid + \"-\" + this.focusedIndex : undefined\n },\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n \"class\": this.$props.buttonClass,\n icon: this.$props.icon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n dir: dir,\n ref: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": true,\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.text + \" splitbutton\",\n \"aria-owns\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? this.guid + \"-\" + this.focusedIndex : undefined\n }, this.v3 ? function () {\n return [_this3.$props.text];\n } : [_this3.$props.text]), // @ts-ignore\n h(KendoButton, {\n icon: \"arrow-s\",\n attrs: this.v3 ? undefined : {\n icon: \"arrow-s\",\n disabled: disabled || undefined,\n tabIndex: -1,\n look: this.$props.look,\n dir: dir,\n \"aria-label\": \"menu toggling button\"\n },\n disabled: disabled || undefined,\n tabIndex: -1,\n look: this.$props.look,\n onClick: this.onSplitPartClick,\n on: this.v3 ? undefined : {\n \"click\": this.onSplitPartClick,\n \"mousedown\": this.onDownSplitPart,\n \"pointerdown\": this.onDownSplitPart\n },\n onMousedown: this.onDownSplitPart,\n onPointerdown: this.onDownSplitPart,\n dir: dir,\n \"aria-label\": \"menu toggling button\"\n }), renderPopup.call(this)]);\n },\n methods: {\n element: function element() {\n return this.mainButton;\n },\n onKeyDown: function onKeyDown(event) {\n if (event.altKey) {\n if (!this.computedOpened && event.keyCode === Keys.down) {\n this.dispatchPopupEvent(event, true);\n this.focusedIndex = 0;\n this.currentOpened = true;\n } else if (this.computedOpened && event.keyCode === Keys.up) {\n this.dispatchPopupEvent(event, false);\n this.focusedIndex = -1;\n this.currentOpened = false;\n }\n\n return;\n }\n\n var newState = undefined;\n\n if (event.keyCode === Keys.enter || event.keyCode === Keys.space) {\n // Prevent default because otherwise when an item is selected\n // click on the default button gets emitted which opens the popup again.\n event.preventDefault();\n this.dispatchClickEvent(event, this.focusedIndex);\n\n if (this.focusedIndex !== undefined && this.focusedIndex >= 0) {\n newState = {\n focusedIndex: this.computedOpened ? -1 : 0,\n currentOpened: !this.computedOpened\n };\n this.dispatchPopupEvent(event, newState.currentOpened);\n }\n } else if (this.computedOpened && event.keyCode === Keys.esc) {\n newState = {\n focusedIndex: -1,\n currentOpened: false\n };\n this.dispatchPopupEvent(event, newState.currentOpened);\n }\n\n if (this.computedOpened) {\n var newFocused = navigation(this.focusedIndex, event.keyCode, event.altKey, this.buttonsData.length);\n\n if (newFocused !== this.focusedIndex) {\n newState = newState || {}; // @ts-ignore\n\n newState.focusedIndex = newFocused;\n }\n\n var arrowKey = event.keyCode === Keys.up || event.keyCode === Keys.down || event.keyCode === Keys.left || event.keyCode === Keys.right;\n\n if (!event.altKey && arrowKey) {\n // Needed to notify the parent listeners that event is handled.\n event.preventDefault();\n }\n }\n\n if (newState) {\n this.focusedIndex = newState.focusedIndex;\n this.focused = newState.focused;\n\n if (newState.currentOpened !== undefined) {\n this.currentOpened = newState.currentOpened;\n }\n }\n },\n onFocus: function onFocus(event) {\n if (!this.focused) {\n this.$emit('focus', event, this, undefined);\n this.focused = true;\n }\n\n this.focusedIndex = -1;\n clearTimeout(this._blurTimeout);\n },\n onItemClick: function onItemClick(event, clickedItemIndex) {\n var opened = this.computedOpened;\n\n if (opened) {\n this.focusedIndex = 0;\n this.currentOpened = false;\n }\n\n this.dispatchClickEvent(event, clickedItemIndex);\n\n if (opened) {\n this.dispatchPopupEvent(event, false);\n }\n },\n onBlur: function onBlur(event) {\n clearTimeout(this._blurTimeout);\n this.createBlurTimeout(event);\n },\n createBlurTimeout: function createBlurTimeout(event) {\n var _this = this;\n\n var that = this;\n this._blurTimeout = setTimeout(function () {\n if (canUseDOM && document.activeElement !== that.mainButton) {\n that.focused = false;\n that.focusedIndex = -1;\n that.$emit('blur', event, _this, undefined);\n var fireCloseEvent = that.computedOpened;\n\n if (fireCloseEvent) {\n that.currentOpened = false;\n that.dispatchPopupEvent(event, false);\n }\n }\n }, 200);\n },\n dispatchClickEvent: function dispatchClickEvent(dispatchedEvent, clickedItemIndex) {\n if (!this.isItemDisabled(clickedItemIndex)) {\n if (clickedItemIndex === -1) {\n this.$emit('buttonclick', dispatchedEvent, this, undefined);\n } else {\n this.$emit('itemclick', {\n event: dispatchedEvent,\n component: this,\n item: this.buttonsData[clickedItemIndex],\n itemIndex: clickedItemIndex\n });\n }\n }\n },\n onSplitPartClick: function onSplitPartClick(event) {\n if (this.buttonsData.length) {\n var toOpen = !this.computedOpened;\n this.dispatchPopupEvent(event, toOpen);\n this.focusedIndex = toOpen ? 0 : -1;\n this.currentOpened = toOpen;\n this.focused = true;\n }\n },\n onDownSplitPart: function onDownSplitPart(event) {\n event.preventDefault();\n\n if (this.element() && document.activeElement !== this.element()) {\n // @ts-ignore\n this.element().focus();\n }\n },\n onItemDown: function onItemDown(event) {\n if (document.activeElement === this.element()) {\n event.preventDefault();\n }\n },\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, open) {\n this.$emit(open ? 'open' : 'close', dispatchedEvent, this, undefined);\n },\n isItemDisabled: function isItemDisabled(index) {\n return this.buttonsData[index] ? this.buttonsData[index].disabled : this.$props.disabled;\n },\n isRtl: function isRtl() {\n return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : !!this.$el && getComputedStyle(this.$el).direction === 'rtl';\n }\n }\n};\nvar SplitButtonVue3 = SplitButton;\nexport { SplitButton, SplitButtonVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { Button as KendoButton } from '../Button';\nimport { classNames, guid, Keys } from '@progress/kendo-vue-common';\nimport navigation from './utils/navigation';\nimport { ButtonItem } from './ButtonItem';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { getAnchorAlign, getPopupAlign } from './utils/popup';\nimport { validatePackage, templateRendering, getListeners, canUseDOM } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata'; // tslint:enable:max-line-length\n\nvar DropDownButton = {\n name: 'KendoDropDownButton',\n // @ts-ignore\n emits: {\n focus: null,\n blur: null,\n itemclick: null,\n open: null,\n close: null\n },\n props: {\n accessKey: String,\n primary: Boolean,\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n text: String,\n textField: String,\n tabIndex: Number,\n disabled: Boolean,\n icon: String,\n iconClass: String,\n imageUrl: String,\n popupSettings: Object,\n itemRender: [String, Object, Function],\n item: Function,\n opened: {\n type: Boolean,\n default: undefined\n },\n look: {\n type: String,\n validator: function validator(value) {\n return ['default', 'flat', 'outline'].includes(value);\n }\n },\n buttonClass: String,\n dir: String\n },\n created: function created() {\n this._blurTimeout = null;\n this._anchor = guid();\n this.wrapper = null;\n this.mainButton = null;\n this.guid = guid();\n this.buttonsData = [];\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.mainButton = this.$refs[this._anchor]; // If this.$props.opened is true during the initial render, the popup is not aligned.\n\n if (this.$props.dir === undefined && this.isRtl() || this.computedOpened) {\n this.$forceUpdate();\n }\n },\n updated: function updated() {\n if (this.focused && this.element()) {\n this.mainButton = this.$refs[this._anchor];\n this.mainButton.focus();\n }\n },\n data: function data() {\n return {\n currentOpened: false,\n focused: false,\n focusedIndex: -1\n };\n },\n computed: {\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n wrapperClass: function wrapperClass() {\n return {\n 'k-widget': true,\n 'k-dropdown-button': true,\n 'k-state-focused': this.focused\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this2 = this;\n\n var h = gh || createElement;\n var rtl = this.isRtl();\n var dir = rtl ? 'rtl' : undefined;\n var _a = this.$props,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled;\n this.buttonsData = this.$props.items;\n\n var renderChildItems = function renderChildItems() {\n var _a = this.$props,\n item = _a.item,\n itemRender = _a.itemRender,\n textField = _a.textField;\n return this.buttonsData.length > 0 ? this.buttonsData.map(function (dataItem, index) {\n var currentDataItem = typeof dataItem !== 'string' ? __assign(__assign({}, dataItem), {\n render: templateRendering.call(this, dataItem.render, getListeners.call(this))\n }) : dataItem;\n return (// @ts-ignore\n h(ButtonItem, {\n dataItem: currentDataItem,\n attrs: this.v3 ? undefined : {\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n id: this.guid + \"-\" + index\n },\n textField: textField,\n focused: this.focusedIndex === index,\n onClick: this.onItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.onItemClick,\n \"down\": this.onItemDown\n },\n onDown: this.onItemDown,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n key: index,\n id: this.guid + \"-\" + index\n })\n );\n }, this) : null;\n };\n\n var renderPopup = function renderPopup() {\n var _this = this;\n\n var _a = this.$props.popupSettings,\n popupSettings = _a === void 0 ? {} : _a;\n return (// @ts-ignore function children\n h(Popup, {\n anchor: this._anchor,\n attrs: this.v3 ? undefined : {\n anchor: this._anchor,\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-list-container k-reset k-group', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl)\n },\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-list-container k-reset k-group', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl),\n style: rtl ? {\n direction: 'rtl'\n } : undefined\n }, this.v3 ? function () {\n return [h(\"ul\", {\n \"class\": \"k-list k-reset\",\n role: \"menu\",\n attrs: _this.v3 ? undefined : {\n role: \"menu\",\n id: _this.guid\n },\n id: _this.guid\n }, [renderChildItems.call(_this)])];\n } : [h(\"ul\", {\n \"class\": \"k-list k-reset\",\n role: \"menu\",\n attrs: _this.v3 ? undefined : {\n role: \"menu\",\n id: _this.guid\n },\n id: _this.guid\n }, [renderChildItems.call(_this)])])\n );\n };\n\n return h(\"div\", {\n \"class\": this.wrapperClass,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focusin\": this.onFocus,\n \"focusout\": this.onBlur\n },\n onFocusin: this.onFocus,\n onFocusout: this.onBlur,\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n }\n }, [// @ts-ignore function children\n h(KendoButton, {\n onClick: this.onClickMainButton,\n on: this.v3 ? undefined : {\n \"click\": this.onClickMainButton,\n \"mousedown\": this.mouseDown\n },\n onMousedown: this.mouseDown,\n disabled: disabled || undefined,\n attrs: this.v3 ? undefined : {\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n primary: this.$props.primary,\n dir: dir,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": true,\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.text + \" dropdownbutton\",\n \"aria-owns\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? this.guid + \"-\" + this.focusedIndex : undefined\n },\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n iconClass: this.$props.iconClass,\n \"class\": this.$props.buttonClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n primary: this.$props.primary,\n dir: dir,\n ref: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": true,\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.text + \" dropdownbutton\",\n \"aria-owns\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? this.guid + \"-\" + this.focusedIndex : undefined\n }, this.v3 ? function () {\n return [_this2.$props.text];\n } : [_this2.$props.text]), renderPopup.call(this)]);\n },\n methods: {\n element: function element() {\n return this.mainButton;\n },\n onKeyDown: function onKeyDown(event) {\n if (event.altKey) {\n if (!this.computedOpened && event.keyCode === Keys.down) {\n this.dispatchPopupEvent(event, true);\n this.focusedIndex = 0;\n this.currentOpened = true;\n } else if (this.computedOpened && event.keyCode === Keys.up) {\n this.dispatchPopupEvent(event, false);\n this.focusedIndex = -1;\n this.currentOpened = false;\n }\n\n return;\n }\n\n if (event.keyCode === Keys.enter || event.keyCode === Keys.space) {\n if (this.focusedIndex !== undefined && this.focusedIndex >= 0) {\n this.dispatchClickEvent(event, this.focusedIndex);\n } // Prevent default because otherwise when an item is selected\n // click on the default button gets emitted which opens the popup again.\n\n\n event.preventDefault();\n this.focusedIndex = this.computedOpened ? -1 : 0, this.currentOpened = !this.computedOpened;\n this.dispatchPopupEvent(event, this.currentOpened);\n } else if (this.computedOpened && event.keyCode === Keys.esc) {\n this.focusedIndex = -1;\n this.currentOpened = false;\n this.dispatchPopupEvent(event, this.currentOpened);\n }\n\n if (this.computedOpened) {\n var newFocused = navigation(this.focusedIndex, event.keyCode, event.altKey, this.buttonsData.length);\n this.focusedIndex = newFocused;\n var arrowKey = event.keyCode === Keys.up || event.keyCode === Keys.down || event.keyCode === Keys.left || event.keyCode === Keys.right;\n\n if (!event.altKey && arrowKey) {\n // Needed to notify the parent listeners that event is handled.\n event.preventDefault();\n }\n }\n },\n onFocus: function onFocus(event) {\n if (!this.focused) {\n this.focused = true;\n this.$emit('focus', event, this, undefined);\n }\n\n this.focusedIndex = this.computedOpened ? 0 : -1;\n clearTimeout(this._blurTimeout);\n },\n onBlur: function onBlur(event) {\n clearTimeout(this._blurTimeout);\n this.createBlurTimeout(event);\n },\n createBlurTimeout: function createBlurTimeout(event) {\n var that = this;\n this._blurTimeout = setTimeout(function () {\n if (canUseDOM && document.activeElement !== that.$el) {\n that.focused = false;\n that.focusedIndex = -1;\n that.$emit('blur', event, that, undefined);\n var fireCloseEvent = that.computedOpened;\n\n if (fireCloseEvent) {\n that.currentOpened = false;\n that.dispatchPopupEvent(event, false);\n }\n }\n }, 200);\n },\n onItemClick: function onItemClick(event, clickedItemIndex) {\n this.focusedIndex = -1;\n this.currentOpened = false;\n this.dispatchClickEvent(event, clickedItemIndex);\n this.dispatchPopupEvent(event, false);\n },\n onItemDown: function onItemDown(event) {\n if (document.activeElement === this.element()) {\n event.preventDefault();\n }\n },\n mouseDown: function mouseDown(event) {\n event.preventDefault();\n },\n dispatchClickEvent: function dispatchClickEvent(dispatchedEvent, index) {\n if (!this.isItemDisabled(index)) {\n this.$emit('itemclick', {\n event: dispatchedEvent,\n item: this.buttonsData[index],\n itemIndex: index\n });\n }\n },\n onClickMainButton: function onClickMainButton(event) {\n if (!this.buttonsData.length) {\n return;\n }\n\n var toOpen = !this.computedOpened;\n this.currentOpened = toOpen;\n this.focused = true;\n this.focusedIndex = toOpen ? 0 : -1;\n this.dispatchPopupEvent(event, toOpen);\n },\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, open) {\n this.$emit(open ? 'open' : 'close', dispatchedEvent, this, undefined);\n },\n isItemDisabled: function isItemDisabled(index) {\n return this.buttonsData[index] ? this.buttonsData[index].disabled : this.$props.disabled;\n },\n isRtl: function isRtl() {\n return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : !!this.$el && getComputedStyle(this.$el).direction === 'rtl';\n }\n }\n};\nvar DropDownButtonVue3 = DropDownButton;\nexport { DropDownButton, DropDownButtonVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Keys, validatePackage, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { toolbarButtons } from './../util';\nimport { packageMetadata } from '../package-metadata'; // tslint:enable:max-line-length\n\nvar Toolbar = {\n name: 'KendoToolbar',\n props: {\n tabIndex: {\n type: Number,\n default: 0\n },\n dir: String,\n keyboardNavigation: Boolean,\n buttons: Array\n },\n created: function created() {\n this.element = null;\n this.offsetHeight = 0;\n this.offsetWidth = 0;\n this.currentButtons = [];\n this.focusedSelector = this.selectors.map(function (s) {\n return s + ':focus';\n }).join(',');\n validatePackage(packageMetadata);\n },\n computed: {\n selectors: function selectors() {\n return this.$props.buttons || toolbarButtons;\n }\n },\n mounted: function mounted() {\n window.addEventListener('resize', this.onWindowResize);\n var element = this.element;\n\n if (element) {\n this.offsetWidth = element.offsetWidth;\n this.offsetHeight = element.offsetHeight;\n\n if (this.$props.keyboardNavigation !== false) {\n this.currentButtons = this.getCurrentButtons();\n this.setTabIndex(0);\n }\n }\n },\n updated: function updated() {\n var element = this.element;\n\n if (!element || this.$props.keyboardNavigation === false) {\n return;\n }\n\n this.currentButtons = this.getCurrentButtons();\n this.setTabIndex(this.focusedIndex());\n },\n destroyed: !!gh ? undefined : function () {\n window.removeEventListener('resize', this.onWindowResize);\n this.currentButtons.length = 0;\n },\n // @ts-ignore\n unmounted: function unmounted() {\n window.removeEventListener('resize', this.onWindowResize);\n this.currentButtons.length = 0;\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-widget k-toolbar',\n role: \"toolbar\",\n attrs: this.v3 ? undefined : {\n role: \"toolbar\",\n dir: this.$props.dir\n },\n dir: this.$props.dir,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown\n }\n }, [defaultSlot]);\n },\n methods: {\n getCurrentButtons: function getCurrentButtons() {\n return this.$el ? Array.from(this.$el.querySelectorAll(this.selectors.join(','))) : [];\n },\n focusedIndex: function focusedIndex() {\n var focused = this.element && this.element.querySelector(this.focusedSelector);\n return Math.max(0, this.currentButtons.findIndex(function (e) {\n return e === focused;\n }));\n },\n setTabIndex: function setTabIndex(focusedIndex) {\n var tabIndex = this.$props.tabIndex;\n this.currentButtons.forEach(function (button, index) {\n button.tabIndex = index === focusedIndex ? tabIndex : -1;\n });\n },\n onKeyDown: function onKeyDown(event) {\n if (this.$props.keyboardNavigation === false) {\n return;\n }\n\n var target = event.target;\n var arrowKey = event.keyCode === Keys.left || event.keyCode === Keys.right;\n\n if (!arrowKey || event.defaultPrevented || this.currentButtons.findIndex(function (b) {\n return b === target;\n }) === -1) {\n return;\n }\n\n var focusedIndex = this.focusedIndex();\n\n if (event.keyCode === Keys.left) {\n this.focusButton(focusedIndex, focusedIndex - 1);\n } else {\n this.focusButton(focusedIndex, focusedIndex + 1);\n }\n },\n focusButton: function focusButton(prevIndex, index) {\n var tabIndex = this.$props.tabIndex;\n var button = this.currentButtons[index];\n\n if (button) {\n button.tabIndex = tabIndex;\n button.focus();\n var prevButton = this.currentButtons[prevIndex];\n\n if (prevButton) {\n prevButton.tabIndex = -1;\n }\n }\n },\n onWindowResize: function onWindowResize(event) {\n var element = this.$el;\n\n if (!element) {\n return;\n }\n\n var offsetWidth = element.offsetWidth;\n var offsetHeight = element.offsetHeight;\n\n if (this.offsetWidth !== offsetWidth || this.offsetHeight !== offsetHeight) {\n this.offsetWidth = offsetWidth;\n this.offsetHeight = offsetHeight;\n var newSizes = {\n offsetWidth: this.offsetWidth,\n offsetHeight: this.offsetHeight\n };\n this.$emit('resize', __assign(__assign({\n target: this\n }, newSizes), {\n nativeEvent: event\n }));\n }\n }\n }\n};\nvar ToolbarVue3 = Toolbar;\nexport { Toolbar, ToolbarVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length\n\nvar ToolbarItem = {\n name: 'KendoToolbarItem',\n methods: {\n element: function element() {\n return this.$el;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"span\", [defaultSlot]);\n }\n};\nvar ToolbarItemVue3 = ToolbarItem;\nexport { ToolbarItem, ToolbarItemVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { ToolbarItem } from './ToolbarItem';\n/**\n * Represents the Kendo UI for Vue Toolbar Separator component.\n */\n\nvar ToolbarSeparator = {\n name: 'KendoToolbarItem',\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return (// @ts-ignore\n h(ToolbarItem, {\n \"class\": \"k-separator\"\n })\n );\n }\n};\nvar ToolbarSeparatorVue3 = ToolbarSeparator;\nexport { ToolbarSeparator, ToolbarSeparatorVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * Represents the Kendo UI for Vue Toolbar Separator component.\n */\n\nvar ToolbarSpacer = {\n name: 'KendoToolbarItem',\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"span\", {\n \"class\": \"k-spacer\"\n });\n }\n};\nvar ToolbarSpacerVue3 = ToolbarSpacer;\nexport { ToolbarSpacer, ToolbarSpacerVue3 };","/**\n * @hidden\n */\nexport var isObject = function (value) {\n return typeof value === 'object';\n};\n","import { isObject } from './isObject';\n/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg)\n ? classNames.apply(void 0, arg) : isObject(arg)\n ? Object\n .keys(arg)\n .map(function (key, idx) { return arg[idx] || (arg[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ')\n : arg;\n })\n .filter(function (arg) { return !!arg; })\n .join(' ');\n};\n","/* tslint:disable:no-bitwise */\n/**\n * @hidden\n */\nvar guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\nexport { guid };\n","/**\n * @hidden\n */\nvar Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\nexport { Keys };\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getRef(comp, refName, customRef) {\n return comp.v3 ? comp[\"\".concat(refName, \"Ref\")] : comp.$refs[\"\".concat(customRef || refName)];\n}\n/**\n * @hidden\n */\nexport function setRef(comp, refName, customRef) {\n return (comp.v3 ? function (el) {\n comp[\"\".concat(refName, \"Ref\")] = el;\n } : customRef || refName);\n}\n","import { Keys } from './keys';\nvar FOCUSABLE_SELECTOR = 'input, [tabindex]:not([tabindex=\"-1\"])';\n/**\n * @hidden\n */\nexport var firstFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[0].focus) {\n return elements[0];\n }\n }\n return undefined;\n};\n/**\n * @hidden\n */\nexport var lastFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[elements.length - 1].focus) {\n return elements[elements.length - 1];\n }\n }\n return undefined;\n};\n/**\n * @hidden\n */\nexport var focusFirstFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[0].focus) {\n elements[0].focus();\n }\n }\n};\n/**\n * @hidden\n */\nexport var focusLastFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[elements.length - 1].focus) {\n elements[elements.length - 1].focus();\n }\n }\n};\n/**\n * @hidden\n */\nexport var focusContainer = function (e, containerElement) {\n var focusState = true;\n if (e.keyCode !== Keys.enter && e.target === containerElement) {\n return false;\n }\n if (e.keyCode === Keys.enter && e.target === containerElement) {\n focusState = true;\n setTimeout(function () {\n focusFirstFocusableChild(containerElement);\n }, 1);\n }\n else if (e.keyCode === Keys.esc) {\n focusState = false;\n containerElement.focus();\n }\n else if (e.keyCode === Keys.tab) {\n var firstChild = firstFocusableChild(containerElement);\n var lastChild = lastFocusableChild(containerElement);\n if (lastChild && !e.shiftKey && e.target === lastChild) {\n e.preventDefault();\n firstChild.focus();\n }\n if (firstChild && e.shiftKey && e.target === firstChild) {\n e.preventDefault();\n lastChild.focus();\n }\n }\n return focusState;\n};\n","var _DraggableVue;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return (typeof key === \"undefined\" ? \"undefined\" : _typeof(key)) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if ((typeof input === \"undefined\" ? \"undefined\" : _typeof(input)) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if ((typeof res === \"undefined\" ? \"undefined\" : _typeof(res)) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport * as d from '@progress/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * @hidden\n */\nvar DraggableVue2 = (_DraggableVue = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n var draggable = d;\n var dp = typeof draggable !== 'undefined' && draggable.Draggable ? draggable : draggable.default;\n this.draggable = new dp.Draggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 || this.$el.nodeType === 8 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!isV3 ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_DraggableVue, \"setup\", !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n}), _defineProperty(_DraggableVue, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _DraggableVue);\n/**\n * @hidden\n */\nvar Draggable = DraggableVue2;\nexport { Draggable, DraggableVue2 };","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","/**\n * @hidden\n */\nvar noop = function () { };\nexport { noop };\n","import { FIELD_REGEX } from './constants/main';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants/main';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n return Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nimport { isObject } from './isObject';\nvar allVue = Vue;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nexport var templateDefinition = {\n type: [String, Function, Object, Boolean],\n default: function () {\n return undefined;\n }\n};\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template && template !== false) {\n return undefined;\n }\n if (template.kt) {\n return template;\n }\n var scopedSlot = isV3 ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n if (typeof template === 'string' && scopedSlot) {\n return { kt: true, type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || isObject(template) ||\n (typeof template === 'function' && template.component)) {\n return { kt: true, type: 'component', render: template, listeners: listeners };\n }\n return { kt: true, type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template || (template && template.render === true)) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (isV3) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return isV3\n ? slotTemplate\n : slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render ? template.render(h, defaultRendering, defaultSlots, props, events) : undefined;\n }\n return template.render ? template.render(h, defaultRendering, props, events, defaultSlots) : undefined;\n }\n else {\n return h(template.render, componentOptions, isV3 ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","import { canUseDOM } from './canUseDOM';\n/**\n * @hidden\n */\nexport function isRtl(element) {\n return Boolean(canUseDOM && element && getComputedStyle(element).direction === 'rtl');\n}\n/**\n * @hidden\n */\nexport function getDir(element, initialDir) {\n if (!initialDir && canUseDOM && element) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(element).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n return rtlCandidate;\n }\n }\n return initialDir;\n}\n","import * as l from '@progress/kendo-licensing';\nvar allowed = ['telerik.com', 'progress.com', 'stackblitz.io', 'csb.app', 'webcontainer.io'];\nvar licensing = l;\nvar ls = typeof licensing !== 'undefined' && licensing.validatePackage\n ? licensing\n : licensing.default;\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (ls && ls.validatePackage) {\n ls.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \".concat(packageMetadata.name, \"\\n\");\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \".concat(packageMetadata.licensingDocsUrl, \" for more information.\\n\");\n console.warn(message);\n }\n}\n/**\n * @hidden\n */\nexport function shouldShowValidationUI(packageMetadata) {\n var skip = allowed.some(function (hostname) { var _a; return (_a = globalThis.document) === null || _a === void 0 ? void 0 : _a.location.hostname.endsWith(hostname); });\n return !skip && !(ls && ls.validatePackage && ls.validatePackage(packageMetadata));\n}\n","/** @hidden */\nexport var kendoThemeMaps = {\n sizeMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n },\n roundedMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n }\n};\n","/**\n * @hidden\n */\nvar getDocument = function () { return typeof document !== 'undefined' ? document : {}; };\n/**\n * @hidden\n */\nvar BrowserSupportService = /** @class */ (function () {\n function BrowserSupportService() {\n }\n Object.defineProperty(BrowserSupportService.prototype, \"scrollbarWidth\", {\n get: function () {\n var document = getDocument();\n if (!this.scrollbar && document && document.createElement) {\n var div = document.createElement('div');\n div.style.cssText = 'overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block';\n div.innerHTML = ' ';\n document.body.appendChild(div);\n this.scrollbar = div.offsetWidth - div.scrollWidth;\n document.body.removeChild(div);\n }\n return this.scrollbar;\n },\n enumerable: false,\n configurable: true\n });\n return BrowserSupportService;\n}());\nexport { BrowserSupportService };\n","/**\n * @hidden\n */\nexport var SIZE_CLASSES = {\n 'default': '',\n 'xsmall': 'k-icon-xs',\n 'small': 'k-icon-sm',\n 'medium': 'k-icon-md',\n 'large': 'k-icon-lg',\n 'xlarge': 'k-icon-xl',\n 'xxlarge': 'k-icon-xxl',\n 'xxxlarge': 'k-icon-xxxl'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SIZE_CLASSES } from './constants';\n/**\n * @hidden\n */\nvar FontIconVue2 = {\n name: 'KendoFontIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n name: String,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n title: String,\n tabIndex: Number\n },\n computed: {\n fontClassNames: function fontClassNames() {\n var _a;\n var _b = this.$props,\n name = _b.name,\n flip = _b.flip,\n size = _b.size,\n themeColor = _b.themeColor;\n return _a = {\n 'k-icon': true,\n 'k-font-icon': true\n }, _a['k-i-' + name] = name, _a['k-color-' + themeColor] = themeColor, _a['k-flip-h'] = flip === 'horizontal' || flip === 'both', _a['k-flip-v'] = flip === 'vertical' || flip === 'both', _a[SIZE_CLASSES[size]] = size, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n id = _a.id,\n title = _a.title,\n tabIndex = _a.tabIndex,\n ariaLabel = _a.ariaLabel;\n return h(\"span\", {\n \"class\": this.fontClassNames,\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n title: title,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex,\n role: \"presentation\"\n },\n title: title,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex,\n role: \"presentation\",\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n });\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar FontIcon = FontIconVue2;\nexport { FontIcon, FontIconVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SIZE_CLASSES } from './constants';\nimport { getDefaultSlots } from '../defaultSlots';\n/**\n * @hidden\n */\nvar SvgIconVue2 = {\n name: 'KendoSvgIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n name: String,\n icon: Object,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n title: String,\n viewBox: {\n type: String,\n default: '0 0 24 24'\n },\n tabIndex: Number,\n svgClassName: String,\n svgStyle: Object\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n var _b = this.$props,\n name = _b.name,\n flip = _b.flip,\n size = _b.size,\n themeColor = _b.themeColor;\n return _a = {\n 'k-icon': true,\n 'k-svg-icon': true\n }, _a['k-color-' + themeColor] = themeColor, _a['k-svg-i-' + name] = name, _a['k-flip-h'] = flip === 'horizontal' || flip === 'both', _a['k-flip-v'] = flip === 'vertical' || flip === 'both', _a[SIZE_CLASSES[size]] = size, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n svgClassName = _a.svgClassName,\n icon = _a.icon,\n id = _a.id,\n tabIndex = _a.tabIndex,\n svgStyle = _a.svgStyle,\n viewBox = _a.viewBox,\n title = _a.title,\n ariaLabel = _a.ariaLabel;\n var innerHTML = icon ? icon.content : undefined;\n var attrs = {\n id: id,\n title: title,\n 'aria-hidden': true,\n tabIndex: tabIndex,\n ariaLabel: ariaLabel,\n focusable: 'false',\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: icon ? icon.viewBox : viewBox\n };\n var svg = h('svg', __assign(__assign({}, attrs), {\n attrs: this.v3 ? undefined : attrs,\n domProps: this.v3 ? undefined : {\n innerHTML: innerHTML\n },\n innerHTML: innerHTML,\n 'class': svgClassName,\n style: svgStyle\n }), icon ? [] : [defaultSlot]);\n return h(\"span\", {\n \"class\": this.wrapperClass,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n },\n \"aria-hidden\": true,\n attrs: this.v3 ? undefined : {\n \"aria-hidden\": true\n }\n }, [svg]);\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar SvgIcon = SvgIconVue2;\nexport { SvgIcon, SvgIconVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { FontIcon } from './FontIcon';\nimport { SvgIcon } from './SvgIcon';\n/**\n * @hidden\n */\nvar IconVue2 = {\n name: 'KendoIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n inject: {\n kendoIcons: {\n default: {\n type: 'svg',\n icons: {}\n }\n }\n },\n props: {\n name: String,\n icon: Object,\n title: String,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n viewBox: {\n type: String,\n default: '0 0 24 24'\n },\n tabIndex: Number\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n name = _a.name,\n icon = _a.icon,\n themeColor = _a.themeColor,\n size = _a.size,\n flip = _a.flip,\n id = _a.id,\n viewBox = _a.viewBox,\n tabIndex = _a.tabIndex,\n title = _a.title,\n ariaLabel = _a.ariaLabel;\n var svg = name && this.kendoIcons && this.kendoIcons.icons && this.kendoIcons.icons[name] || icon;\n var renderSVG = this.kendoIcons && this.kendoIcons.type === 'svg' && svg !== undefined;\n var newSize = this.kendoIcons && this.kendoIcons.size ? this.kendoIcons.size : size;\n var newFlip = this.kendoIcons && this.kendoIcons.flip ? this.kendoIcons.flip : flip;\n var resolvedName = name || (icon && icon.name ? icon.name : undefined);\n var commonProps = {\n themeColor: themeColor,\n size: newSize,\n flip: newFlip,\n id: id,\n tabIndex: tabIndex,\n title: title,\n ariaLabel: ariaLabel\n };\n var fontIcon = h(FontIcon, __assign(__assign({}, commonProps), {\n name: resolvedName,\n attrs: this.v3 ? undefined : __assign(__assign({}, commonProps), {\n name: resolvedName\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n 'click': this.handleClick\n }\n }));\n var svgIcon = h(SvgIcon, __assign(__assign({}, commonProps), {\n icon: svg,\n viewBox: viewBox,\n name: resolvedName,\n attrs: this.v3 ? undefined : __assign(__assign({}, commonProps), {\n icon: svg,\n viewBox: viewBox,\n name: resolvedName\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n 'click': this.handleClick\n }\n }));\n return renderSVG ? svgIcon : fontIcon;\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar Icon = IconVue2;\nexport { Icon, IconVue2 };","var getIconName = function (iconName) {\n return (iconName && iconName.indexOf('k-i-') !== -1)\n ? iconName.split('k-i-')[1]\n : iconName;\n};\nexport { getIconName };\n","import * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n// @ts-ignore\nvar licenseKeyUrl = 'https://www.telerik.com/kendo-vue-ui/components/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-banner';\nvar banners = new Array();\nvar WatermarkOverlayVue2 = {\n name: 'KendoWatermarkOverlay',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n this.bannerWrapper = this.$refs.banner;\n banners.push(this.bannerWrapper);\n if (document && document.body) {\n document.body.append(this.bannerWrapper);\n }\n if (banners.length > 1) {\n for (var i = 1; i < banners.length; i++) {\n var bannerElement = banners[i];\n bannerElement.remove();\n }\n }\n },\n beforeDestroy: !!isV3 ? undefined : function () {\n this.bannerWrapper.remove();\n banners = [];\n },\n beforeUnmount: function beforeUnmount() {\n this.bannerWrapper.remove();\n banners = [];\n },\n data: function data() {\n return {\n watermarkStyles: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n opacity: 0.12,\n 'z-index': 101,\n 'pointer-events': 'none',\n 'background-image': 'url(\\'data:image/png;base64,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\\')'\n },\n bannerStyles: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'fixed',\n top: '16px',\n right: '16px',\n padding: '12px',\n 'border-radius': '4px',\n 'box-shadow': '0px 4px 5px 0px rgba(0, 0, 0, 0.04), 0px 2px 4px 0px rgba(0, 0, 0, 0.03)',\n 'font-size': '14px',\n 'font-weight': 400,\n 'line-height': '20px',\n 'background-color': '#FFC000',\n color: '#1E1E1E',\n 'z-index': 999999\n },\n bannerButtonStyles: {\n display: 'inline-flex',\n position: 'relative',\n border: 'none',\n 'border-radius': '4px',\n padding: '5px',\n 'background-color': 'transparent',\n transition: 'color 0.2s ease-in-out',\n outline: 'none',\n cursor: 'pointer'\n },\n showBanner: true\n };\n },\n methods: {\n onCloseBannerClick: function onCloseBannerClick() {\n this.showBanner = false;\n banners = [];\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var bannerElement = this.showBanner && h(\"div\", {\n style: this.bannerStyles,\n ref: 'banner'\n }, [h(\"span\", {\n style: {\n display: 'flex',\n alignSelf: 'center',\n marginRight: '8px'\n }\n }, [h(\"svg\", {\n width: \"16\",\n attrs: this.v3 ? undefined : {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n },\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, [h(\"path\", {\n \"fill-rule\": \"evenodd\",\n attrs: this.v3 ? undefined : {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M8 1L0 15H16L8 1ZM7 6V11H9V6H7ZM7 14V12H9V14H7Z\",\n fill: \"#1E1E1E\"\n },\n \"clip-rule\": \"evenodd\",\n d: \"M8 1L0 15H16L8 1ZM7 6V11H9V6H7ZM7 14V12H9V14H7Z\",\n fill: \"#1E1E1E\"\n })])]), h(\"span\", [\"No valid license found for Kendo UI for Vue. Learn how to activate your license.\"]), h(\"div\", {\n style: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '24px'\n }\n }, [h(\"a\", {\n href: licenseKeyUrl,\n attrs: this.v3 ? undefined : {\n href: licenseKeyUrl\n },\n style: {\n marginRight: '8px',\n display: 'flex'\n }\n }, [h(\"button\", {\n title: \"Learn More\",\n attrs: this.v3 ? undefined : {\n title: \"Learn More\"\n },\n style: this.bannerButtonStyles\n }, [h(\"svg\", {\n width: \"16\",\n attrs: this.v3 ? undefined : {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n },\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, [h(\"path\", {\n d: \"M15 8C15 11.8656 11.8656 15 8 15C4.13437 15 1 11.8656 1 8C1 4.13437 4.13437 1 8 1C11.8656 1 15 4.13437 15 8ZM14 8C14 4.6875 11.3125 2 8 2C4.6875 2 2 4.6875 2 8C2 11.3125 4.6875 14 8 14C11.3125 14 14 11.3125 14 8ZM11 6C11 7.4125 10.2687 8.05937 9.73125 8.53125C9.25937 8.94688 9 9.17813 9 10H7C7 8.275 7.84688 7.525 8.40938 7.03125C8.84062 6.65312 9 6.50938 9 6C9 5.45 8.55 5 8 5C7.45 5 7 5.45 7 6H5C5 4.34375 6.34375 3 8 3C9.65625 3 11 4.34375 11 6ZM9 13V11H7V13H9Z\",\n attrs: this.v3 ? undefined : {\n d: \"M15 8C15 11.8656 11.8656 15 8 15C4.13437 15 1 11.8656 1 8C1 4.13437 4.13437 1 8 1C11.8656 1 15 4.13437 15 8ZM14 8C14 4.6875 11.3125 2 8 2C4.6875 2 2 4.6875 2 8C2 11.3125 4.6875 14 8 14C11.3125 14 14 11.3125 14 8ZM11 6C11 7.4125 10.2687 8.05937 9.73125 8.53125C9.25937 8.94688 9 9.17813 9 10H7C7 8.275 7.84688 7.525 8.40938 7.03125C8.84062 6.65312 9 6.50938 9 6C9 5.45 8.55 5 8 5C7.45 5 7 5.45 7 6H5C5 4.34375 6.34375 3 8 3C9.65625 3 11 4.34375 11 6ZM9 13V11H7V13H9Z\",\n fill: \"#1E1E1E\"\n },\n fill: \"#1E1E1E\"\n })])])]), h(\"button\", {\n title: \"Close\",\n attrs: this.v3 ? undefined : {\n title: \"Close\"\n },\n style: this.bannerButtonStyles,\n onClick: this.onCloseBannerClick,\n on: this.v3 ? undefined : {\n \"click\": this.onCloseBannerClick\n }\n }, [h(\"svg\", {\n width: \"16\",\n attrs: this.v3 ? undefined : {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n },\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, [h(\"path\", {\n d: \"M13 4.41562L9.41563 8L13 11.5844L11.5844 13L8 9.41563L4.41562 13L3 11.5844L6.58437 8L3 4.41562L4.41562 3L8 6.58437L11.5844 3L13 4.41562Z\",\n attrs: this.v3 ? undefined : {\n d: \"M13 4.41562L9.41563 8L13 11.5844L11.5844 13L8 9.41563L4.41562 13L3 11.5844L6.58437 8L3 4.41562L4.41562 3L8 6.58437L11.5844 3L13 4.41562Z\",\n fill: \"#1E1E1E\"\n },\n fill: \"#1E1E1E\"\n })])])])]);\n return h(\"div\", {\n style: this.watermarkStyles\n }, [bannerElement]);\n }\n};\n/**\n * @hidden\n */\nvar WatermarkOverlay = WatermarkOverlayVue2;\nexport { WatermarkOverlay, WatermarkOverlayVue2 };","/**\n * @hidden\n */\nexport var FOCUSABLE_ELEMENTS = [\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]'\n];\n/**\n * @hidden\n */\nvar Navigation = /** @class */ (function () {\n function Navigation(options) {\n var _this = this;\n this.rovingTabIndex = true;\n this.update = function () { };\n this.focusNextIndex = function (target, indexDiff) {\n var all = _this.elements;\n var index = all.indexOf(target) + indexDiff;\n index = index < 0 ? all.length - 1 : index;\n _this.focusElement(all[index % all.length], target);\n };\n this.tabIndex = options.tabIndex || 0;\n this.root = options.root;\n this.selectors = options.selectors;\n this.rovingTabIndex = options.rovingTabIndex !== undefined ? options.rovingTabIndex : true;\n this.mouseEvents = options.mouseEvents || {};\n this.keyboardEvents = options.keyboardEvents || {};\n }\n Object.defineProperty(Navigation.prototype, \"elements\", {\n get: function () {\n return this.root ? Array.from(this.root.querySelectorAll(this.selectors.join(','))) : [];\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"first\", {\n get: function () {\n return (this.root && this.root.querySelector(this.selectors.join(','))) || null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"last\", {\n get: function () {\n var all = this.elements;\n return all[all.length - 1] || null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"current\", {\n get: function () {\n return this.elements.find(function (el) { return el.matches(':focus'); }) || null;\n },\n enumerable: false,\n configurable: true\n });\n Navigation.prototype.focusNext = function (target) {\n this.focusNextIndex(target, 1);\n };\n Navigation.prototype.focusPrevious = function (target) {\n this.focusNextIndex(target, -1);\n };\n Navigation.prototype.triggerKeyboardEvent = function (ev) {\n var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));\n var key = ev.key === ' ' ? 'Space' : ev.key;\n var eventType = ev.type;\n if (target && this.keyboardEvents[eventType][key]) {\n this.keyboardEvents[eventType][key].call(undefined, target, this, ev);\n }\n };\n Navigation.prototype.triggerMouseEvent = function (ev) {\n var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));\n var eventType = ev.type;\n if (target) {\n this.mouseEvents[eventType].call(undefined, target, this, ev);\n }\n };\n Navigation.prototype.focusElement = function (element, previous) {\n if (element) {\n if (previous) {\n if (this.rovingTabIndex) {\n previous.removeAttribute('tabindex');\n }\n previous.classList.remove('k-focus');\n }\n if (this.rovingTabIndex) {\n element.setAttribute('tabindex', String(this.tabIndex));\n }\n element.focus({ preventScroll: true });\n }\n };\n return Navigation;\n}());\nexport { Navigation };\n","var _a;\n/**\n * @hidden\n */\nexport var pagerInfo = 'pager.info';\n/**\n * @hidden\n */\nexport var pagerFirstPage = 'pager.firstPage';\n/**\n * @hidden\n */\nexport var pagerPreviousPage = 'pager.previousPage';\n/**\n * @hidden\n */\nexport var pagerNextPage = 'pager.nextPage';\n/**\n * @hidden\n */\nexport var pagerLastPage = 'pager.lastPage';\n/**\n * @hidden\n */\nexport var pagerItemPerPage = 'pager.itemsPerPage';\n/**\n * @hidden\n */\nexport var pagerPage = 'pager.page';\n/**\n * @hidden\n */\nexport var pagerOf = 'pager.of';\n/**\n * @hidden\n */\nexport var pagerTotalPages = 'pager.totalPages';\n/**\n * @hidden\n */\nexport var filterEqOperator = 'filter.eqOperator';\n/**\n * @hidden\n */\nexport var filterNotEqOperator = 'filter.notEqOperator';\n/**\n * @hidden\n */\nexport var filterIsNullOperator = 'filter.isNullOperator';\n/**\n * @hidden\n */\nexport var filterIsNotNullOperator = 'filter.isNotNullOperator';\n/**\n * @hidden\n */\nexport var filterIsEmptyOperator = 'filter.isEmptyOperator';\n/**\n * @hidden\n */\nexport var filterIsNotEmptyOperator = 'filter.isNotEmptyOperator';\n/**\n * @hidden\n */\nexport var filterStartsWithOperator = 'filter.startsWithOperator';\n/**\n * @hidden\n */\nexport var filterContainsOperator = 'filter.containsOperator';\n/**\n * @hidden\n */\nexport var filterNotContainsOperator = 'filter.notContainsOperator';\n/**\n * @hidden\n */\nexport var filterEndsWithOperator = 'filter.endsWithOperator';\n/**\n * @hidden\n */\nexport var filterGteOperator = 'filter.gteOperator';\n/**\n * @hidden\n */\nexport var filterGtOperator = 'filter.gtOperator';\n/**\n * @hidden\n */\nexport var filterLteOperator = 'filter.lteOperator';\n/**\n * @hidden\n */\nexport var filterLtOperator = 'filter.ltOperator';\n/**\n * @hidden\n */\nexport var filterIsTrue = 'filter.isTrue';\n/**\n * @hidden\n */\nexport var filterIsFalse = 'filter.isFalse';\n/**\n * @hidden\n */\nexport var filterAfterOrEqualOperator = 'filter.afterOrEqualOperator';\n/**\n * @hidden\n */\nexport var filterAfterOperator = 'filter.afterOperator';\n/**\n * @hidden\n */\nexport var filterBeforeOperator = 'filter.beforeOperator';\n/**\n * @hidden\n */\nexport var filterBeforeOrEqualOperator = 'filter.beforeOrEqualOperator';\n/**\n * @hidden\n */\nexport var filterAndLogic = 'filter.andLogic';\n/**\n * @hidden\n */\nexport var filterOrLogic = 'filter.orLogic';\n/**\n * @hidden\n */\nexport var filterAddExpression = 'filter.addExpression';\n/**\n * @hidden\n */\nexport var filterAddGroup = 'filter.addGroup';\n/**\n * @hidden\n */\nexport var filterClose = 'filter.close';\n/**\n * @hidden\n */\nexport var columnMenuFilterClearButton = 'columnMenu.filterClearButton';\n/**\n * @hidden\n */\nexport var columnMenuFilterSubmitButton = 'columnMenu.filterSubmitButton';\n/**\n * @hidden\n */\nexport var columnMenuFilterTitle = 'columnMenu.filterTitle';\n/**\n * @hidden\n */\nexport var columnMenuSortAscending = 'columnMenu.sortAscending';\n/**\n * @hidden\n */\nexport var columnMenuSortDescending = 'columnMenu.sortDescending';\n/**\n * @hidden\n */\nexport var columnMenuFilterEqOperator = 'columnMenu.filterEqOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterNotEqOperator = 'columnMenu.filterNotEqOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterIsNullOperator = 'columnMenu.filterIsNullOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterIsNotNullOperator = 'columnMenu.filterIsNotNullOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterIsEmptyOperator = 'columnMenu.filterIsEmptyOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterIsNotEmptyOperator = 'columnMenu.filterIsNotEmptyOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterStartsWithOperator = 'columnMenu.filterStartsWithOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterContainsOperator = 'columnMenu.filterContainsOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterNotContainsOperator = 'columnMenu.filterNotContainsOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterEndsWithOperator = 'columnMenu.filterEndsWithOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterGteOperator = 'columnMenu.filterGteOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterGtOperator = 'columnMenu.filterGtOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterLteOperator = 'columnMenu.filterLteOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterLtOperator = 'columnMenu.filterLtOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterIsTrue = 'columnMenu.filterIsTrue';\n/**\n * @hidden\n */\nexport var columnMenuFilterAfterOrEqualOperator = 'columnMenu.filterAfterOrEqualOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterAfterOperator = 'columnMenu.filterAfterOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterBeforeOperator = 'columnMenu.filterBeforeOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterBeforeOrEqualOperator = 'columnMenu.filterBeforeOrEqualOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterAndLogic = 'columnMenu.filterAndLogic';\n/**\n * @hidden\n */\nexport var columnMenuFilterOrLogic = 'columnMenu.filterOrLogic';\n/**\n * @hidden\n */\nexport var sortAriaLabel = 'sort.ariaLabel';\n/**\n * @hidden\n */\nexport var filterAriaLabel = 'filter.ariaLabel';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[pagerItemPerPage] = 'items per page',\n _a[pagerInfo] = '{0} - {1} of {2} items',\n _a[pagerFirstPage] = 'Go to the first page',\n _a[pagerPreviousPage] = 'Go to the previous page',\n _a[pagerNextPage] = 'Go to the next page',\n _a[pagerLastPage] = 'Go to the last page',\n _a[pagerPage] = 'Page',\n _a[pagerOf] = 'Of',\n _a[pagerTotalPages] = '{0}',\n _a[sortAriaLabel] = 'Sortable',\n _a[filterAriaLabel] = 'Filter',\n _a[filterEqOperator] = 'Is equal to',\n _a[filterNotEqOperator] = 'Is not equal to',\n _a[filterIsNullOperator] = 'Is null',\n _a[filterIsNotNullOperator] = 'Is not null',\n _a[filterIsEmptyOperator] = 'Is empty',\n _a[filterIsNotEmptyOperator] = 'Is not empty',\n _a[filterStartsWithOperator] = 'Starts with',\n _a[filterContainsOperator] = 'Contains',\n _a[filterNotContainsOperator] = 'Does not contain',\n _a[filterEndsWithOperator] = 'Ends with',\n _a[filterGteOperator] = 'Is greater than or equal to',\n _a[filterGtOperator] = 'Is greater than',\n _a[filterLteOperator] = 'Is less than or equal to',\n _a[filterLtOperator] = 'Is less than',\n _a[filterIsTrue] = 'Is true',\n _a[filterIsFalse] = 'Is false',\n _a[filterAfterOrEqualOperator] = 'Is after or equal to',\n _a[filterAfterOperator] = 'Is after',\n _a[filterBeforeOperator] = 'Is before',\n _a[filterBeforeOrEqualOperator] = 'Is before or equal to',\n _a[filterAndLogic] = 'And',\n _a[filterOrLogic] = 'Or',\n _a[filterAddExpression] = 'Add Expression',\n _a[filterAddGroup] = 'Add Group',\n _a[filterClose] = 'Close',\n _a[columnMenuFilterClearButton] = 'Clear',\n _a[columnMenuFilterSubmitButton] = 'Filter',\n _a[columnMenuFilterTitle] = 'Filter',\n _a[columnMenuSortAscending] = 'Sort Ascending',\n _a[columnMenuSortDescending] = 'Sort Descending',\n _a[columnMenuFilterEqOperator] = 'Is equal to',\n _a[columnMenuFilterNotEqOperator] = 'Is not equal to',\n _a[columnMenuFilterIsNullOperator] = 'Is null',\n _a[columnMenuFilterIsNotNullOperator] = 'Is not null',\n _a[columnMenuFilterIsEmptyOperator] = 'Is empty',\n _a[columnMenuFilterIsNotEmptyOperator] = 'Is not empty',\n _a[columnMenuFilterStartsWithOperator] = 'Starts with',\n _a[columnMenuFilterContainsOperator] = 'Contains',\n _a[columnMenuFilterNotContainsOperator] = 'Does not contain',\n _a[columnMenuFilterEndsWithOperator] = 'Ends with',\n _a[columnMenuFilterGteOperator] = 'Is greater than or equal to',\n _a[columnMenuFilterGtOperator] = 'Is greater than',\n _a[columnMenuFilterLteOperator] = 'Is less than or equal to',\n _a[columnMenuFilterLtOperator] = 'Is less than',\n _a[columnMenuFilterIsTrue] = 'Is true',\n _a[columnMenuFilterAfterOrEqualOperator] = 'Is after or equal to',\n _a[columnMenuFilterAfterOperator] = 'Is after',\n _a[columnMenuFilterBeforeOperator] = 'Is before',\n _a[columnMenuFilterBeforeOrEqualOperator] = 'Is before or equal to',\n _a[columnMenuFilterAndLogic] = 'And',\n _a[columnMenuFilterOrLogic] = 'Or',\n _a);\n","var _Draggable;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport KendoDraggable from '@telerik/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * Represents the default `Draggable` component.\n */\n\nvar Draggable = (_Draggable = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n this.draggable = new KendoDraggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!gh ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_Draggable, \"setup\", !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n}), _defineProperty(_Draggable, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _Draggable);\nexport { Draggable };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Input } from '@progress/kendo-vue-inputs'; // tslint:enable:max-line-length\n\nvar TextFilter = {\n name: 'kendoTextFilter',\n props: {\n filter: {\n type: Object,\n required: true\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return (// @ts-ignore\n h(Input, {\n value: this.$props.filter.value || '',\n attrs: this.v3 ? undefined : {\n value: this.$props.filter.value || ''\n },\n onInput: this.onChange,\n on: this.v3 ? undefined : {\n \"input\": this.onChange\n }\n })\n );\n },\n methods: {\n onChange: function onChange(event) {\n this.$emit('filterchange', {\n nextFilter: __assign(__assign({}, this.$props.filter), {\n value: event.value\n })\n });\n }\n }\n};\nvar TextFilterVue3 = TextFilter;\nexport { TextFilter, TextFilterVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { NumericTextBox } from '@progress/kendo-vue-inputs'; // tslint:enable:max-line-length\n\nvar NumericFilter = {\n name: 'kendoNumericFilter',\n props: {\n filter: {\n type: Object,\n required: true\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var filter = this.$props.filter;\n return (// @ts-ignore\n h(NumericTextBox, {\n value: typeof filter.value === 'number' ? filter.value : null,\n attrs: this.v3 ? undefined : {\n value: typeof filter.value === 'number' ? filter.value : null\n },\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange\n }\n })\n );\n },\n methods: {\n onChange: function onChange(event) {\n this.$emit('filterchange', {\n nextFilter: __assign(__assign({}, this.$props.filter), {\n value: event.value\n })\n });\n }\n }\n};\nvar NumericFilterVue3 = NumericFilter;\nexport { NumericFilter, NumericFilterVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { DatePicker } from '@progress/kendo-vue-dateinputs'; // tslint:enable:max-line-length\n\nvar DateFilter = {\n name: 'KendoDateFilter',\n props: {\n filter: {\n type: Object,\n required: true\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var filter = this.$props.filter;\n return (// @ts-ignore\n h(DatePicker, {\n value: filter.value || null,\n attrs: this.v3 ? undefined : {\n value: filter.value || null\n },\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange\n }\n })\n );\n },\n methods: {\n onChange: function onChange(event) {\n this.$emit('filterchange', {\n nextFilter: __assign(__assign({}, this.$props.filter), {\n value: event.value\n })\n });\n }\n }\n};\nvar DateFilterVue3 = DateFilter;\nexport { DateFilter, DateFilterVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { DropDownList } from '@progress/kendo-vue-dropdowns';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages } from './../../messages'; // tslint:enable:max-line-length\n\nvar EnumFilter = {\n name: 'KendoEnumFilter',\n props: {\n filter: {\n type: Object,\n required: true\n },\n dataItems: Array,\n defaultItem: Object\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var locService = provideLocalizationService(this);\n var _a = this.$props,\n filter = _a.filter,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n defaultItem = _a.defaultItem;\n var locData = dataItems.map(function (item) {\n return __assign(__assign({}, item), {\n text: locService.toLanguageString(item.text, messages[item.text] || item.text)\n });\n });\n return (// @ts-ignore\n h(DropDownList, {\n value: locData.find(function (i) {\n return i.value === filter.value;\n }) || null,\n attrs: this.v3 ? undefined : {\n value: locData.find(function (i) {\n return i.value === filter.value;\n }) || null,\n defaultItem: defaultItem,\n dataItems: locData,\n textField: \"text\"\n },\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange\n },\n defaultItem: defaultItem,\n dataItems: locData,\n textField: \"text\"\n })\n );\n },\n methods: {\n onChange: function onChange(event) {\n this.$emit('filterchange', {\n nextFilter: __assign(__assign({}, this.$props.filter), {\n value: event.value.value\n })\n });\n }\n }\n};\nvar EnumFilterVue3 = EnumFilter;\nexport { EnumFilter, EnumFilterVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { EnumFilter } from './EnumFilter';\nimport { filterIsTrue, filterIsFalse } from '../../messages'; // tslint:enable:max-line-length\n\nvar BooleanFilter = {\n name: 'KendoBooleanFilter',\n props: {\n filter: {\n type: Object,\n required: true\n },\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n defaultItem: Object\n },\n data: function data() {\n return {\n currentData: [{\n text: filterIsTrue,\n value: true\n }, {\n text: filterIsFalse,\n value: false\n }]\n };\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return (// @ts-ignore\n h(EnumFilter, {\n filter: this.$props.filter,\n attrs: this.v3 ? undefined : {\n filter: this.$props.filter,\n dataItems: this.$props.dataItems || this.currentData,\n defaultItem: this.$props.defaultItem\n },\n onFilterchange: this.handleFilterChange,\n on: this.v3 ? undefined : {\n \"filterchange\": this.handleFilterChange\n },\n dataItems: this.$props.dataItems || this.currentData,\n defaultItem: this.$props.defaultItem\n })\n );\n },\n methods: {\n handleFilterChange: function handleFilterChange(event) {\n this.$emit('filterchange', event);\n }\n }\n};\nvar BooleanFilterVue3 = BooleanFilter;\nexport { BooleanFilter, BooleanFilterVue3 };","/* tslint:disable:no-bitwise */\n/**\n * @hidden\n */\nvar guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\nexport { guid };\n","/**\n * @hidden\n */\nvar Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\nexport { Keys };\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","/**\n * @hidden\n */\nvar noop = function () { };\nexport { noop };\n","import { FIELD_REGEX } from './constants';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n return Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template) {\n return undefined;\n }\n var scopedSlot = gh ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n // @ts-ignore\n if (typeof template === 'string' && scopedSlot) {\n // @ts-ignore\n return { type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || typeof template === 'object' ||\n (typeof template === 'function' && template.component)) {\n return { type: 'component', render: template, listeners: listeners };\n }\n return { type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (gh) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render(h, defaultRendering, defaultSlots, props, events);\n }\n return template.render(h, defaultRendering, props, events, defaultSlots);\n }\n else {\n return h(template.render, componentOptions, gh ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","var __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n\nvar _a, _b, _c;\n/**\n * @hidden\n */\n\n\nexport var KEYBOARD_NAV_DATA_LEVEL = 'data-keyboardnavlevel';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_DATA_SCOPE = 'data-keyboardnavscope';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_DATA_HEADER = 'data-keyboardnavheader';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_DATA_BODY = 'data-keyboardnavbody';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_DATA_ID = 'data-keyboardnavid';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_DATA_ZONE = 'data-keyboardnavzone';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_FILTER_COL_SUFFIX = '_filter';\nvar FOCUSABLE_ELEMENTS_BASE = ['input:not([disabled]):not([type=hidden])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'a[href]', 'area[href]', 'summary', 'iframe', 'object', 'embed', 'audio[controls]', 'video[controls]', '[contenteditable]'];\n/**\n * @hidden\n */\n\nexport var FOCUSABLE_ELEMENTS = __spreadArrays(FOCUSABLE_ELEMENTS_BASE, ['[tabindex]']);\n/**\n * @hidden\n */\n\nexport var TABBABLE_ELEMENTS = __spreadArrays(FOCUSABLE_ELEMENTS_BASE, ['[tabindex]']).map(function (selector) {\n return selector + ':not([tabindex=\"-1\"])';\n});\n/**\n * @hidden\n */\n\nexport var tableKeyboardNavigationScopeAttributes = (_a = {}, _a[KEYBOARD_NAV_DATA_SCOPE] = true, _a);\n/**\n * @hidden\n */\n\nexport var tableKeyboardNavigationHeaderAttributes = (_b = {}, _b[KEYBOARD_NAV_DATA_HEADER] = true, _b);\n/**\n * @hidden\n */\n\nexport var tableKeyboardNavigationBodyAttributes = (_c = {}, _c[KEYBOARD_NAV_DATA_BODY] = true, _c);","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { filterEqOperator, filterNotEqOperator, filterIsNullOperator, filterIsNotNullOperator, filterIsEmptyOperator, filterIsNotEmptyOperator, filterStartsWithOperator, filterContainsOperator, filterNotContainsOperator, filterEndsWithOperator, filterGteOperator, filterGtOperator, filterLteOperator, filterLtOperator, filterAfterOrEqualOperator, filterAfterOperator, filterBeforeOperator, filterBeforeOrEqualOperator } from './../messages';\nvar textOperators = [\n { text: filterContainsOperator, operator: 'contains' },\n { text: filterNotContainsOperator, operator: 'doesnotcontain' },\n { text: filterEqOperator, operator: 'eq' },\n { text: filterNotEqOperator, operator: 'neq' },\n { text: filterStartsWithOperator, operator: 'startswith' },\n { text: filterEndsWithOperator, operator: 'endswith' },\n { text: filterIsNullOperator, operator: 'isnull' },\n { text: filterIsNotNullOperator, operator: 'isnotnull' },\n { text: filterIsEmptyOperator, operator: 'isempty' },\n { text: filterIsNotEmptyOperator, operator: 'isnotempty' }\n];\nvar numericOperators = [\n { text: filterEqOperator, operator: 'eq' },\n { text: filterNotEqOperator, operator: 'neq' },\n { text: filterGteOperator, operator: 'gte' },\n { text: filterGtOperator, operator: 'gt' },\n { text: filterLteOperator, operator: 'lte' },\n { text: filterLtOperator, operator: 'lt' },\n { text: filterIsNullOperator, operator: 'isnull' },\n { text: filterIsNotNullOperator, operator: 'isnotnull' }\n];\nvar dateOperators = [\n { text: filterEqOperator, operator: 'eq' },\n { text: filterNotEqOperator, operator: 'neq' },\n { text: filterAfterOrEqualOperator, operator: 'gte' },\n { text: filterAfterOperator, operator: 'gt' },\n { text: filterBeforeOperator, operator: 'lt' },\n { text: filterBeforeOrEqualOperator, operator: 'lte' },\n { text: filterIsNullOperator, operator: 'isnull' },\n { text: filterIsNotNullOperator, operator: 'isnotnull' }\n];\nvar booleanOperators = [\n { text: filterEqOperator, operator: 'eq' },\n { text: filterNotEqOperator, operator: 'neq' }\n];\n/**\n * Represents the operators for the TextFilter, NumericFilter, DateFilter and BooleanFilter components.\n *\n * The text field of each operator object will be resolved according to the\n * [localization messages]({% slug globalization_datatools %}#toc-messages).\n */\nvar Operators = /** @class */ (function () {\n function Operators() {\n }\n Object.defineProperty(Operators, \"text\", {\n /**\n * An array containing the operators for the TextFilter component.\n *\n * The operators are:\n *\n * - { text: 'filter.containsOperator', operator: 'contains' }\n * - { text: 'filter.notContainsOperator', operator: 'doesnotcontain' }\n * - { text: 'filter.eqOperator', operator: 'eq' }\n * - { text: 'filter.notEqOperator', operator: 'neq' }\n * - { text: 'filter.startsWithOperator', operator: 'startswith' }\n * - { text: 'filter.endsWithOperator', operator: 'endswith' }\n * - { text: 'filter.isNullOperator', operator: 'isnull' }\n * - { text: 'filter.isNotNullOperator', operator: 'isnotnull' }\n * - { text: 'filter.isEmptyOperator', operator: 'isempty' }\n * - { text: 'filter.isNotEmptyOperator', operator: 'isnotempty' }\n */\n get: function () {\n return __spreadArrays(textOperators);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Operators, \"numeric\", {\n /**\n * An array containing the operators for the NumericFilter component.\n *\n * The operators are:\n *\n * - { text: 'filter.eqOperator', operator: 'eq' }\n * - { text: 'filter.notEqOperator', operator: 'neq' }\n * - { text: 'filter.gteOperator', operator: 'gte' }\n * - { text: 'filter.gtOperator', operator: 'gt' }\n * - { text: 'filter.lteOperator', operator: 'lte' }\n * - { text: 'filter.ltOperator', operator: 'lt' }\n * - { text: 'filter.isNullOperator', operator: 'isnull' }\n * - { text: 'filter.isNotNullOperator', operator: 'isnotnull' }\n */\n get: function () {\n return __spreadArrays(numericOperators);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Operators, \"date\", {\n /**\n * An array containing the operators for the DateFilter component.\n *\n * The operators are:\n *\n * - { text: 'filter.eqOperator', operator: 'eq' }\n * - { text: 'filter.notEqOperator', operator: 'neq' }\n * - { text: 'filter.afterOrEqualOperator', operator: 'gte' }\n * - { text: 'filter.afterOperator', operator: 'gt' }\n * - { text: 'filter.beforeOperator', operator: 'lt' }\n * - { text: 'filter.beforeOrEqualOperator', operator: 'lte' }\n * - { text: 'filter.isNullOperator', operator: 'isnull' }\n * - { text: 'filter.isNotNullOperator', operator: 'isnotnull' }\n */\n get: function () {\n return __spreadArrays(dateOperators);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Operators, \"boolean\", {\n /**\n * An array containing the operators for the BooleanFilter component.\n *\n * The operators are:\n *\n * - { text: 'filter.eqOperator', operator: 'eq' }\n * - { text: 'filter.notEqOperator', operator: 'neq' }\n */\n get: function () {\n return __spreadArrays(booleanOperators);\n },\n enumerable: false,\n configurable: true\n });\n return Operators;\n}());\nexport { Operators };\n/**\n * @hidden\n */\nexport var stringOperator = function (operator) {\n return operator === 'contains' || operator === 'doesnotcontain' || operator === 'startswith' || operator === 'endswith';\n};\n/**\n * @hidden\n */\nexport var unaryOperator = function (operator) {\n return operator === 'isnull' || operator === 'isnotnull' || operator === 'isempty' || operator === 'isnotempty';\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport { Button, Toolbar, ToolbarItem } from '@progress/kendo-vue-buttons';\nimport { DropDownList } from '@progress/kendo-vue-dropdowns';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { unaryOperator, stringOperator } from './operators';\nimport { messages, filterClose } from '../messages';\nimport { TextFilter } from './filters/TextFilter';\nimport { NumericFilter } from './filters/NumericFilter';\nimport { BooleanFilter } from './filters/BooleanFilter';\nimport { DateFilter } from './filters/DateFilter'; // tslint:enable:max-line-length\n\nvar Expression = {\n name: 'KendoExpression',\n // @ts-ignore\n emits: {\n change: null,\n remove: null\n },\n props: {\n filter: {\n type: Object,\n required: true\n },\n fields: {\n type: Array,\n required: true\n }\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n fields = _a.fields,\n filter = _a.filter;\n var field = fields.find(function (f) {\n return f.name === filter.field;\n });\n var locService = provideLocalizationService(this);\n var operators = (field && field.operators || []).map(function (o) {\n return __assign(__assign({}, o), {\n text: locService.toLanguageString(o.text, messages[o.text] || o.text)\n });\n });\n var defaultRendering = null;\n\n var filterEditors = function filterEditors(filterName, filterRender) {\n switch (filterName) {\n case 'numeric':\n defaultRendering = // @ts-ignore\n h(NumericFilter, {\n filter: filter,\n attrs: this.v3 ? undefined : {\n filter: filter\n },\n onFilterchange: this.onInputChange,\n on: this.v3 ? undefined : {\n \"filterchange\": this.onInputChange\n }\n });\n break;\n\n case 'date':\n defaultRendering = // @ts-ignore\n h(DateFilter, {\n filter: filter,\n attrs: this.v3 ? undefined : {\n filter: filter\n },\n onFilterchange: this.onInputChange,\n on: this.v3 ? undefined : {\n \"filterchange\": this.onInputChange\n }\n });\n break;\n\n case 'boolean':\n defaultRendering = // @ts-ignore\n h(BooleanFilter, {\n filter: filter,\n attrs: this.v3 ? undefined : {\n filter: filter\n },\n onFilterchange: this.onInputChange,\n on: this.v3 ? undefined : {\n \"filterchange\": this.onInputChange\n }\n });\n break;\n\n default:\n defaultRendering = // @ts-ignore\n h(TextFilter, {\n filter: filter,\n attrs: this.v3 ? undefined : {\n filter: filter\n },\n onFilterchange: this.onInputChange,\n on: this.v3 ? undefined : {\n \"filterchange\": this.onInputChange\n }\n });\n break;\n }\n\n return getTemplate.call(this, {\n h: h,\n template: filterRender,\n defaultRendering: defaultRendering,\n additionalProps: {\n filter: filter\n },\n additionalListeners: {\n filterchange: this.onInputChange\n }\n });\n };\n\n return h(\"div\", {\n \"class\": \"k-filter-toolbar\"\n }, [// @ts-ignore function children \n h(Toolbar, {\n keyboardNavigation: false,\n attrs: this.v3 ? undefined : {\n keyboardNavigation: false\n }\n }, this.v3 ? function () {\n return [// @ts-ignore function children \n h(ToolbarItem, {\n \"class\": \"k-filter-field\"\n }, _this.v3 ? function () {\n return [// @ts-ignore \n h(DropDownList, {\n \"class\": \"k-filter-dropdown\",\n dataItems: fields,\n attrs: _this.v3 ? undefined : {\n dataItems: fields,\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n })\n },\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n }),\n onChange: _this.onFieldChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onFieldChange\n }\n })];\n } : [h(DropDownList, {\n \"class\": \"k-filter-dropdown\",\n dataItems: fields,\n attrs: _this.v3 ? undefined : {\n dataItems: fields,\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n })\n },\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n }),\n onChange: _this.onFieldChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onFieldChange\n }\n })]), // @ts-ignore function children \n h(ToolbarItem, {\n \"class\": \"k-filter-operator\"\n }, _this.v3 ? function () {\n return [// @ts-ignore\n h(DropDownList, {\n dataItems: operators,\n attrs: _this.v3 ? undefined : {\n dataItems: operators,\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n })\n },\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n }),\n onChange: _this.onOperatorChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onOperatorChange\n }\n })];\n } : [h(DropDownList, {\n dataItems: operators,\n attrs: _this.v3 ? undefined : {\n dataItems: operators,\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n })\n },\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n }),\n onChange: _this.onOperatorChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onOperatorChange\n }\n })]), // @ts-ignore function children \n h(ToolbarItem, {\n \"class\": \"k-filter-value\"\n }, _this.v3 ? function () {\n return [field && filterEditors.call(_this, field.filter, field.filterRender)];\n } : [field && filterEditors.call(_this, field.filter, field.filterRender)]), // @ts-ignore function children \n h(ToolbarItem, _this.v3 ? function () {\n return [// @ts-ignore\n h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onFilterRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onFilterRemove\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onFilterRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onFilterRemove\n }\n })])];\n } : [h(ToolbarItem, {\n \"class\": \"k-filter-field\"\n }, _this.v3 ? function () {\n return [h(DropDownList, {\n \"class\": \"k-filter-dropdown\",\n dataItems: fields,\n attrs: _this.v3 ? undefined : {\n dataItems: fields,\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n })\n },\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n }),\n onChange: _this.onFieldChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onFieldChange\n }\n })];\n } : [h(DropDownList, {\n \"class\": \"k-filter-dropdown\",\n dataItems: fields,\n attrs: _this.v3 ? undefined : {\n dataItems: fields,\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n })\n },\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n }),\n onChange: _this.onFieldChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onFieldChange\n }\n })]), h(ToolbarItem, {\n \"class\": \"k-filter-operator\"\n }, _this.v3 ? function () {\n return [h(DropDownList, {\n dataItems: operators,\n attrs: _this.v3 ? undefined : {\n dataItems: operators,\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n })\n },\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n }),\n onChange: _this.onOperatorChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onOperatorChange\n }\n })];\n } : [h(DropDownList, {\n dataItems: operators,\n attrs: _this.v3 ? undefined : {\n dataItems: operators,\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n })\n },\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n }),\n onChange: _this.onOperatorChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onOperatorChange\n }\n })]), h(ToolbarItem, {\n \"class\": \"k-filter-value\"\n }, _this.v3 ? function () {\n return [field && filterEditors.call(_this, field.filter, field.filterRender)];\n } : [field && filterEditors.call(_this, field.filter, field.filterRender)]), h(ToolbarItem, _this.v3 ? function () {\n return [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onFilterRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onFilterRemove\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onFilterRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onFilterRemove\n }\n })])])]);\n },\n methods: {\n onFieldChange: function onFieldChange(event) {\n var nextFieldName = event.value.name;\n var nextField = this.$props.fields.find(function (f) {\n return f.name === nextFieldName;\n });\n var prevFilter = this.$props.filter;\n var operator = nextField && !nextField.operators.some(function (o) {\n return o.operator === prevFilter.operator;\n }) ? nextField.operators[0].operator : prevFilter.operator;\n var nextFilter = {\n field: nextFieldName,\n operator: operator\n };\n\n if (!unaryOperator(operator)) {\n nextFilter.value = stringOperator(operator) ? '' : null;\n }\n\n this.triggerOnFilterChange(prevFilter, nextFilter, event);\n },\n onOperatorChange: function onOperatorChange(event) {\n var operator = event.value.operator;\n var prevFilter = this.$props.filter;\n var nextFilter;\n\n if (unaryOperator(operator)) {\n var value = prevFilter.value,\n prevFilterNoValue = __rest(prevFilter, [\"value\"]);\n\n nextFilter = __assign(__assign({}, prevFilterNoValue), {\n operator: operator\n });\n } else {\n nextFilter = __assign(__assign({}, prevFilter), {\n operator: operator\n });\n }\n\n this.triggerOnFilterChange(prevFilter, nextFilter, event);\n },\n onInputChange: function onInputChange(event) {\n var prevFilter = this.$props.filter;\n var nextFilter = event.nextFilter;\n\n if (unaryOperator(nextFilter.operator)) {\n var field = this.$props.fields.find(function (f) {\n return f.name === nextFilter.field;\n });\n nextFilter = __assign(__assign({}, nextFilter), {\n operator: field && field.operators[0].operator || nextFilter.operator\n });\n }\n\n this.triggerOnFilterChange(prevFilter, nextFilter, event);\n },\n triggerOnFilterChange: function triggerOnFilterChange(prevFilter, nextFilter, event) {\n var changeEvent = {\n prevFilter: prevFilter,\n nextFilter: nextFilter,\n event: event.event,\n target: this\n };\n this.$emit('change', changeEvent);\n },\n onFilterRemove: function onFilterRemove(event) {\n var removeEvent = {\n filter: this.$props.filter,\n event: event.event,\n target: this\n };\n this.$emit('remove', removeEvent);\n }\n }\n};\nvar ExpressionVue3 = Expression;\nexport { Expression, ExpressionVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Button, Toolbar, ToolbarItem, ButtonGroup } from '@progress/kendo-vue-buttons';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { stringOperator } from './operators';\nimport { messages, filterAndLogic, filterOrLogic, filterAddExpression, filterAddGroup, filterClose } from '../messages'; // tslint:enable:max-line-length\n\nvar GroupToolbar = {\n name: 'KendoFilterGroup',\n // @ts-ignore\n emits: {\n change: null,\n remove: null\n },\n props: {\n filter: {\n type: Object,\n required: true\n },\n fields: {\n type: Array,\n required: true\n },\n defaultGroupFilter: {\n type: Object,\n required: true\n }\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n fields = _a.fields,\n filter = _a.filter;\n var locService = provideLocalizationService(this);\n return h(\"div\", {\n \"class\": \"k-filter-toolbar\"\n }, [// @ts-ignore function children \n h(Toolbar, {\n keyboardNavigation: false,\n attrs: this.v3 ? undefined : {\n keyboardNavigation: false\n }\n }, this.v3 ? function () {\n return [// @ts-ignore function children \n h(ToolbarItem, _this.v3 ? function () {\n return [// @ts-ignore function children \n h(ButtonGroup, _this.v3 ? function () {\n return [// @ts-ignore function children \n h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), // @ts-ignore function children \n h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])];\n } : [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])])];\n } : [h(ButtonGroup, _this.v3 ? function () {\n return [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])];\n } : [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])])]), // @ts-ignore function children \n h(ToolbarItem, _this.v3 ? function () {\n return [// @ts-ignore function children \n h(Button, {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n icon: \"filter-add-expression\",\n type: \"button\"\n },\n icon: \"filter-add-expression\",\n type: \"button\",\n onClick: _this.onAddExpression,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddExpression\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n icon: \"filter-add-expression\",\n type: \"button\"\n },\n icon: \"filter-add-expression\",\n type: \"button\",\n onClick: _this.onAddExpression,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddExpression\n }\n })]), // @ts-ignore function children \n h(ToolbarItem, _this.v3 ? function () {\n return [// @ts-ignore function children \n h(Button, {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n icon: \"filter-add-group\",\n type: \"button\"\n },\n icon: \"filter-add-group\",\n type: \"button\",\n onClick: _this.onAddGroup,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddGroup\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n icon: \"filter-add-group\",\n type: \"button\"\n },\n icon: \"filter-add-group\",\n type: \"button\",\n onClick: _this.onAddGroup,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddGroup\n }\n })]), // @ts-ignore function children \n h(ToolbarItem, _this.v3 ? function () {\n return [// @ts-ignore function children \n h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onGroupRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onGroupRemove\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onGroupRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onGroupRemove\n }\n })])];\n } : [h(ToolbarItem, _this.v3 ? function () {\n return [h(ButtonGroup, _this.v3 ? function () {\n return [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])];\n } : [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])])];\n } : [h(ButtonGroup, _this.v3 ? function () {\n return [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])];\n } : [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])])]), h(ToolbarItem, _this.v3 ? function () {\n return [h(Button, {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n icon: \"filter-add-expression\",\n type: \"button\"\n },\n icon: \"filter-add-expression\",\n type: \"button\",\n onClick: _this.onAddExpression,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddExpression\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n icon: \"filter-add-expression\",\n type: \"button\"\n },\n icon: \"filter-add-expression\",\n type: \"button\",\n onClick: _this.onAddExpression,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddExpression\n }\n })]), h(ToolbarItem, _this.v3 ? function () {\n return [h(Button, {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n icon: \"filter-add-group\",\n type: \"button\"\n },\n icon: \"filter-add-group\",\n type: \"button\",\n onClick: _this.onAddGroup,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddGroup\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n icon: \"filter-add-group\",\n type: \"button\"\n },\n icon: \"filter-add-group\",\n type: \"button\",\n onClick: _this.onAddGroup,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddGroup\n }\n })]), h(ToolbarItem, _this.v3 ? function () {\n return [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onGroupRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onGroupRemove\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onGroupRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onGroupRemove\n }\n })])])]);\n },\n methods: {\n onGroupRemove: function onGroupRemove() {\n this.$emit('remove', {\n filter: this.$props.filter\n });\n },\n onAddExpression: function onAddExpression() {\n var prevFilter = this.$props.filter;\n var firstField = this.$props.fields[0];\n var newExpression = {\n field: firstField.name,\n operator: firstField.operators[0].operator\n };\n newExpression.value = stringOperator(newExpression.operator) ? '' : null;\n this.$emit('change', {\n nextFilter: __assign(__assign({}, prevFilter), {\n filters: __spreadArrays(prevFilter.filters, [newExpression])\n }),\n prevFilter: prevFilter\n });\n },\n onAddGroup: function onAddGroup() {\n var prevFilter = this.$props.filter;\n this.$emit('change', {\n nextFilter: __assign(__assign({}, prevFilter), {\n filters: __spreadArrays(prevFilter.filters, [__assign({}, this.$props.defaultGroupFilter)])\n }),\n prevFilter: prevFilter\n });\n },\n onLogicAnd: function onLogicAnd() {\n this.changeLogic('and');\n },\n onLogicOr: function onLogicOr() {\n this.changeLogic('or');\n },\n changeLogic: function changeLogic(logic) {\n var prevFilter = this.$props.filter;\n\n if (prevFilter.logic !== logic) {\n this.$emit('change', {\n nextFilter: __assign(__assign({}, prevFilter), {\n logic: logic\n }),\n prevFilter: prevFilter\n });\n }\n }\n }\n};\nvar GroupToolbarVue3 = GroupToolbar;\nexport { GroupToolbar, GroupToolbarVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { isCompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { GroupToolbar } from './GroupToolbar';\nimport { Expression } from './Expression'; // tslint:enable:max-line-length\n\nvar GroupFilter = {\n name: 'KendoFilterGroup',\n // @ts-ignore\n emits: {\n change: null,\n remove: null\n },\n props: {\n filter: {\n type: Object,\n required: true\n },\n fields: {\n type: Array,\n required: true\n },\n defaultGroupFilter: {\n type: Object,\n required: true\n }\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n fields = _a.fields,\n filter = _a.filter,\n filterRender = _a.filterRender;\n return filter.filters.length > 0 ? h(\"ul\", {\n \"class\": \"k-filter-lines\"\n }, [filter.filters.map(function (f, idx) {\n return h(\"li\", {\n key: idx,\n \"class\": \"k-filter-item\"\n }, [isCompositeFilterDescriptor(f) ? [// @ts-ignore\n h(GroupToolbar, {\n filter: f,\n attrs: this.v3 ? undefined : {\n filter: f,\n fields: fields,\n defaultGroupFilter: this.$props.defaultGroupFilter\n },\n fields: fields,\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange,\n \"remove\": this.onRemove\n },\n onRemove: this.onRemove,\n defaultGroupFilter: this.$props.defaultGroupFilter\n }), h(GroupFilter, {\n filter: f,\n attrs: this.v3 ? undefined : {\n filter: f,\n fields: fields,\n defaultGroupFilter: this.$props.defaultGroupFilter\n },\n fields: fields,\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange,\n \"remove\": this.onRemove\n },\n onRemove: this.onRemove,\n defaultGroupFilter: this.$props.defaultGroupFilter\n })] : // @ts-ignore\n h(Expression, {\n filter: f,\n attrs: this.v3 ? undefined : {\n filter: f,\n fields: fields,\n filterRender: filterRender\n },\n fields: fields,\n filterRender: filterRender,\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange,\n \"remove\": this.onRemove\n },\n onRemove: this.onRemove\n })]);\n }, this)]) : null;\n },\n methods: {\n replaceFilter: function replaceFilter(prevFilter, nextFilter) {\n var filter = this.$props.filter;\n var filters = filter.filters.map(function (f) {\n return f === prevFilter ? nextFilter : f;\n });\n return __assign(__assign({}, filter), {\n filters: filters\n });\n },\n onChange: function onChange(event) {\n var nextFilter = this.replaceFilter(event.prevFilter, event.nextFilter);\n var changeEvent = {\n nextFilter: nextFilter,\n prevFilter: this.$props.filter,\n event: event.event,\n target: this\n };\n this.$emit('change', changeEvent);\n },\n onRemove: function onRemove(event) {\n var prevFilter = this.$props.filter;\n var filters = prevFilter.filters.filter(function (f) {\n return f !== event.filter;\n });\n var changeEvent = {\n nextFilter: __assign(__assign({}, prevFilter), {\n filters: filters\n }),\n prevFilter: prevFilter,\n event: event.event,\n target: this\n };\n this.$emit('change', changeEvent);\n }\n }\n};\nvar GroupFilterVue3 = GroupFilter;\nexport { GroupFilter, GroupFilterVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { GroupFilter } from './GroupFilters';\nimport { GroupToolbar } from './GroupToolbar';\nimport { validatePackage, templateRendering, getListeners } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata'; // tslint:enable:max-line-length\n\nvar Filter = {\n name: 'KendoFilter',\n // @ts-ignore\n emits: {\n change: null,\n 'changemodel': null,\n 'update:modelValue': null\n },\n model: {\n event: 'changemodel'\n },\n props: {\n fields: {\n type: Array,\n required: true\n },\n modelValue: {\n type: Object,\n default: undefined\n },\n value: Object,\n defaultGroupFilter: Object\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n computed: {\n computedValue: function computedValue() {\n var value;\n\n if (this.$props.value !== undefined) {\n value = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n value = this.$props.modelValue;\n }\n\n return value;\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var fields = this.$props.fields.map(function (field) {\n return __assign(__assign({}, field), {\n filterRender: templateRendering.call(this, field.filterRender, getListeners.call(this))\n });\n }, this);\n return h(\"div\", {\n \"class\": 'k-widget k-filter'\n }, [h(\"ul\", {\n \"class\": \"k-filter-container\"\n }, [h(\"li\", {\n \"class\": \"k-filter-group-main\"\n }, [// @ts-ignore function children\n h(GroupToolbar, {\n \"class\": \"k-filter-group-main\",\n filter: this.computedValue,\n attrs: this.v3 ? undefined : {\n filter: this.computedValue,\n fields: fields,\n defaultGroupFilter: this.$props.defaultGroupFilter || {\n logic: 'and',\n filters: []\n }\n },\n fields: fields,\n onChange: this.onFilterChange,\n on: this.v3 ? undefined : {\n \"change\": this.onFilterChange,\n \"remove\": this.onGroupRemove\n },\n onRemove: this.onGroupRemove,\n defaultGroupFilter: this.$props.defaultGroupFilter || {\n logic: 'and',\n filters: []\n }\n }), // @ts-ignore function children\n h(GroupFilter, {\n \"class\": \"k-filter-group-main\",\n filter: this.computedValue,\n attrs: this.v3 ? undefined : {\n filter: this.computedValue,\n fields: fields,\n defaultGroupFilter: this.$props.defaultGroupFilter || {\n logic: 'and',\n filters: []\n }\n },\n fields: fields,\n onChange: this.onFilterChange,\n on: this.v3 ? undefined : {\n \"change\": this.onFilterChange,\n \"remove\": this.onGroupRemove\n },\n onRemove: this.onGroupRemove,\n defaultGroupFilter: this.$props.defaultGroupFilter || {\n logic: 'and',\n filters: []\n }\n })])])]);\n },\n methods: {\n onFilterChange: function onFilterChange(event) {\n var changeEvent = {\n filter: event.nextFilter,\n event: event.event,\n target: this\n };\n this.$emit('change', changeEvent);\n this.$emit('changemodel', event.nextFilter);\n this.$emit('update:modelValue', event.nextFilter);\n },\n onGroupRemove: function onGroupRemove(event) {\n var nextFilter = __assign(__assign({}, this.computedValue), {\n filters: []\n });\n\n var changeEvent = {\n filter: nextFilter,\n event: event.event,\n target: this\n };\n this.$emit('change', changeEvent);\n this.$emit('changemodel', nextFilter);\n this.$emit('update:modelValue', nextFilter);\n }\n }\n};\nvar FilterVue3 = Filter;\nexport { Filter, FilterVue3 };","import { FOCUSABLE_ELEMENTS, KEYBOARD_NAV_DATA_BODY, KEYBOARD_NAV_DATA_HEADER, KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL, KEYBOARD_NAV_DATA_SCOPE, KEYBOARD_NAV_FILTER_COL_SUFFIX, TABBABLE_ELEMENTS } from './constants';\n/**\n * @hidden\n */\nexport var generateNavigatableId = function (navigationId, idPrefix, type) {\n if (type === void 0) { type = 'cell'; }\n return idPrefix + \"_\" + navigationId + \"_\" + type;\n};\n/**\n * @hidden\n */\nexport var getNavigatableLevel = function (element) {\n if (!element) {\n return;\n }\n return parseInt(element.getAttribute(KEYBOARD_NAV_DATA_LEVEL) || '', 10);\n};\n/**\n * @hidden\n */\nexport var getNavigatableId = function (element) {\n if (!element) {\n return;\n }\n var dataId = element.getAttribute(KEYBOARD_NAV_DATA_ID);\n return dataId ? dataId : undefined;\n};\n/**\n * @hidden\n */\nexport var isNavigatable = function (element) {\n if (!element) {\n return false;\n }\n var dataId = element.getAttribute(KEYBOARD_NAV_DATA_ID);\n return Boolean(dataId);\n};\n/**\n * @hidden\n */\nexport var getNavigatableElement = function (scope, options) {\n if (options === void 0) { options = { level: 0 }; }\n return scope.querySelector(\"[\" + KEYBOARD_NAV_DATA_LEVEL + \"='\" + options.level + \"']\");\n};\n/**\n * @hidden\n */\nexport var getClosestNavigatableElement = function (target) {\n return (target.parentElement &&\n target.parentElement.closest(\"[\" + KEYBOARD_NAV_DATA_LEVEL + \"]\"));\n};\n/**\n * @hidden\n */\nexport var getActiveElement = function (scope, activeId) {\n return scope.querySelector(\"[\" + KEYBOARD_NAV_DATA_ID + \"='\" + activeId + \"']\");\n};\n/**\n * @hidden\n */\nexport var getClosestScope = function (target) {\n return (target.parentElement &&\n target.parentElement.closest(\"[\" + KEYBOARD_NAV_DATA_SCOPE + \"]\"));\n};\n/**\n * @hidden\n */\nexport var getHeaderElement = function (scope) {\n return scope.querySelector(\"[\" + KEYBOARD_NAV_DATA_HEADER + \"]\");\n};\n/**\n * @hidden\n */\nexport var getBodyElement = function (scope) {\n return scope.querySelector(\"[\" + KEYBOARD_NAV_DATA_BODY + \"]\");\n};\n/**\n * @hidden\n */\nexport var getFocusableElements = function (scope, options) {\n if (options === void 0) { options = { focusable: false }; }\n var selectors = options.focusable ? FOCUSABLE_ELEMENTS : TABBABLE_ELEMENTS;\n return Array.from(scope.querySelectorAll(selectors.join(',')));\n};\n/**\n * @hidden\n */\nexport var getNavigatableElements = function (scope, options) {\n if (options === void 0) { options = { level: 0 }; }\n if (!scope) {\n return [];\n }\n var selector = FOCUSABLE_ELEMENTS.map(function (el) { return el + (\"[\" + KEYBOARD_NAV_DATA_LEVEL + \"='\" + options.level + \"']\"); }).join(',');\n return Array.from(scope.querySelectorAll(selector));\n};\n/**\n * @hidden\n */\nexport var filterNavigatableElements = function (options) {\n if (options === void 0) { options = { level: 0 }; }\n var selector = FOCUSABLE_ELEMENTS.map(function (sel) { return sel + (\"[\" + KEYBOARD_NAV_DATA_LEVEL + \"='\" + options.level + \"']\"); }).join(',');\n return function (element) { return element.matches(selector); };\n};\n/**\n * @hidden\n */\nexport var focusElement = function (options) {\n var elementForFocus = options.elementForFocus, event = options.event, kbContext = options.kbContext, prevElement = options.prevElement;\n if (kbContext && elementForFocus && elementForFocus.focus) {\n event.preventDefault();\n elementForFocus.focus();\n if (isNavigatable(elementForFocus)) {\n elementForFocus.setAttribute('tabIndex', '0');\n kbContext.activeId = getNavigatableId(elementForFocus);\n }\n if (prevElement && isNavigatable(prevElement)) {\n prevElement.setAttribute('tabIndex', '-1');\n }\n }\n};\n/**\n * @hidden\n */\nexport var getIdPrefix = function (navigation) {\n return navigation ? navigation.idPrefix : '';\n};\n/**\n * @hidden\n */\nexport var findNextIdByRowIndex = function (initialRowIndex, cellIndex, elementId, matrix, isReverse) {\n if (!elementId) {\n return [];\n }\n var currentRowIndex = initialRowIndex + (isReverse ? -1 : 1);\n while (currentRowIndex >= 0 && currentRowIndex < matrix.length) {\n var currentId = matrix[currentRowIndex][cellIndex];\n if (currentId !== elementId) {\n return [currentId, [currentRowIndex, cellIndex]];\n }\n currentRowIndex = currentRowIndex + (isReverse ? -1 : 1);\n }\n return [];\n};\n/**\n * @hidden\n */\nexport var findNextIdByCellIndex = function (rowIndex, initialCellIndex, elementId, matrix, isReverse) {\n if (!elementId) {\n return [];\n }\n var currentCellIndex = initialCellIndex + (isReverse ? -1 : 1);\n while (currentCellIndex >= 0 && currentCellIndex < matrix[rowIndex].length) {\n var currentId = matrix[rowIndex][currentCellIndex];\n if (currentId !== elementId) {\n return [currentId, [rowIndex, currentCellIndex]];\n }\n currentCellIndex = currentCellIndex + (isReverse ? -1 : 1);\n }\n return [];\n};\n/**\n * @hidden\n */\nexport var findId = function (navigationMatrix, cellId) {\n if (!cellId) {\n return;\n }\n for (var rowIndex = 0; rowIndex < navigationMatrix.length; rowIndex++) {\n for (var cellIndex = 0; cellIndex < navigationMatrix[rowIndex].length; cellIndex++) {\n if (navigationMatrix[rowIndex][cellIndex] === cellId) {\n return [rowIndex, cellIndex];\n }\n }\n }\n};\n/**\n * @hidden\n */\nexport var getNextNavigationIndex = function (navigation) {\n return navigation ? navigation.navigationMatrix.length : 0;\n};\n/**\n * @hidden\n */\nexport var getFilterColumnId = function (columnId) {\n return columnId ? \"\" + columnId + KEYBOARD_NAV_FILTER_COL_SUFFIX : '';\n};\n/**\n * @hidden\n */\nexport var tableKeyboardNavigationTools = {\n generateNavigatableId: generateNavigatableId,\n getNavigatableId: getNavigatableId,\n getNavigatableLevel: getNavigatableLevel,\n getNavigatableElement: getNavigatableElement,\n getClosestNavigatableElement: getClosestNavigatableElement,\n getActiveElement: getActiveElement,\n getClosestScope: getClosestScope,\n getHeaderElement: getHeaderElement,\n getBodyElement: getBodyElement,\n getFocusableElements: getFocusableElements,\n getNavigatableElements: getNavigatableElements,\n filterNavigatableElements: filterNavigatableElements,\n focusElement: focusElement,\n getIdPrefix: getIdPrefix,\n isNavigatable: isNavigatable,\n findNextIdByRowIndex: findNextIdByRowIndex,\n findNextIdByCellIndex: findNextIdByCellIndex,\n findId: findId,\n getNextNavigationIndex: getNextNavigationIndex,\n getFilterColumnId: getFilterColumnId\n};\n","import * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * Represents the default `PagerNumericButtons` component.\n */\n\nvar PagerNumericButtons = {\n name: 'KendoNumericButtons',\n props: {\n buttonCount: Number,\n totalPages: Number,\n currentPage: Number,\n size: String\n },\n computed: {\n start: {\n get: function get() {\n var page = this.$props.currentPage;\n var buttonCount = this.$props.buttonCount;\n\n if (page > buttonCount) {\n var reminder = page % buttonCount;\n return reminder === 0 ? page - buttonCount + 1 : page - reminder + 1;\n }\n\n return 1;\n }\n },\n end: {\n get: function get() {\n return Math.min(this.start + this.$props.buttonCount - 1, this.$props.totalPages);\n }\n }\n },\n methods: {\n click: function click(e, page) {\n e.preventDefault();\n this.$emit('pagechange', page, e);\n },\n ddlChange: function ddlChange(event) {\n this.$emit('pagechange', parseInt(event.target.value, 10), event);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var prevDots = this.start > 1 ? h(\"li\", [h(\"a\", {\n \"class\": \"k-link\",\n onClick: function onClick(e) {\n return _this.click(e, _this.start - 1);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(e) {\n return _this.click(e, _this.start - 1);\n }\n },\n href: \"#\",\n attrs: this.v3 ? undefined : {\n href: \"#\"\n }\n }, [\"...\"])]) : '';\n var postDots = this.end < this.$props.totalPages ? h(\"li\", [h(\"a\", {\n \"class\": \"k-link\",\n onClick: function onClick(e) {\n return _this.click(e, _this.end + 1);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(e) {\n return _this.click(e, _this.end + 1);\n }\n },\n href: \"#\",\n attrs: this.v3 ? undefined : {\n href: \"#\"\n }\n }, [\"...\"])]) : '';\n var buttons = [];\n\n for (var idx = this.start; idx <= this.end; idx++) {\n buttons.push(idx);\n }\n\n var numerics = buttons.map(function (page) {\n var _this = this;\n\n return h(\"li\", {\n key: page\n }, [h(\"a\", {\n href: \"#\",\n attrs: this.v3 ? undefined : {\n href: \"#\"\n },\n onClick: function onClick(e) {\n return _this.click(e, page);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(e) {\n return _this.click(e, page);\n }\n },\n \"class\": this.$props.currentPage === page ? 'k-link k-state-selected' : 'k-link'\n }, [page])]);\n }, this);\n\n var dropdown = function dropdown(currentButtons) {\n return h(\"select\", {\n \"class\": \"k-dropdown\",\n onChange: this.ddlChange,\n on: this.v3 ? undefined : {\n \"change\": this.ddlChange\n }\n }, [currentButtons.map(function (cb) {\n return h(\"option\", {\n value: this.v3 ? cb : null,\n domProps: this.v3 ? undefined : {\n \"value\": cb,\n \"selected\": cb === this.$props.currentPage\n },\n selected: this.v3 ? cb === this.$props.currentPage : null\n }, [cb]);\n }, this)]);\n };\n\n return h(\"div\", {\n \"class\": \"k-pager-numbers-wrap\"\n }, [this.$props.size !== 'small' ? h(\"ul\", {\n \"class\": \"k-pager-numbers k-reset\"\n }, [prevDots, numerics, postDots]) : dropdown.call(this, buttons)]);\n }\n};\nvar PagerNumericButtonsVue3 = PagerNumericButtons;\nexport { PagerNumericButtons, PagerNumericButtonsVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { messages, pagerOf, pagerPage, pagerTotalPages } from './../messages';\nimport { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';\n/**\n * Represents the default `PagerInput` component.\n */\n\nvar PagerInput = {\n name: 'KendoPagerInput',\n props: {\n totalPages: Number,\n currentPage: Number,\n messagesMap: Function\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n changeHangler: function changeHangler(e) {\n var text = this._text = e.target.value.replace(/\\D/g, '');\n this.$forceUpdate();\n\n if (text) {\n this.$emit('pagechange', parseInt(text, 10), e);\n }\n },\n blurHandler: function blurHandler() {\n this.$forceUpdate();\n },\n value: function value() {\n var value = this._text === undefined ? this.$props.currentPage.toString() : this._text;\n this._text = undefined;\n return value;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var intlService = provideIntlService(this);\n var localizationService = provideLocalizationService(this);\n var pageMessage = this.$props.messagesMap ? this.$props.messagesMap(pagerPage) : {\n messageKey: pagerPage,\n defaultMessage: messages[pagerPage]\n };\n var ofMessage = this.$props.messagesMap ? this.$props.messagesMap(pagerOf) : {\n messageKey: pagerOf,\n defaultMessage: messages[pagerOf]\n };\n var totalPagesMessage = this.$props.messagesMap ? this.$props.messagesMap(pagerTotalPages) : {\n messageKey: pagerTotalPages,\n defaultMessage: messages[pagerTotalPages]\n };\n return h(\"span\", {\n \"class\": \"k-pager-input k-label\"\n }, [localizationService.toLanguageString(pageMessage.messageKey, pageMessage.defaultMessage), \" \", h(\"input\", {\n \"class\": \"k-textbox\",\n value: this.v3 ? this.value() : null,\n domProps: this.v3 ? undefined : {\n \"value\": this.value()\n },\n onBlur: this.blurHandler,\n on: this.v3 ? undefined : {\n \"blur\": this.blurHandler,\n \"change\": this.changeHangler\n },\n onChange: this.changeHangler\n }), \" \", localizationService.toLanguageString(ofMessage.messageKey, ofMessage.defaultMessage) + \" \" + intlService.format(localizationService.toLanguageString(totalPagesMessage.messageKey, totalPagesMessage.defaultMessage), [this.$props.totalPages])]);\n }\n};\nvar PagerInputVue3 = PagerInput;\nexport { PagerInput, PagerInputVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { messages, pagerItemPerPage } from './../messages';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { DropDownList } from '@progress/kendo-vue-dropdowns';\n/**\n * Represents the default `PagerPageSizes` component.\n */\n\nvar PagerPageSizes = {\n name: 'KendoPagerPageSizes',\n props: {\n pageSize: Number,\n pageSizes: Array,\n messagesMap: Function\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n pageSizeChange: function pageSizeChange(e) {\n this.$emit('pagechange', {\n skip: 0,\n take: parseInt(e.target.value, 10)\n }, e);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var sizes = this.$props.pageSizes.slice();\n\n if (sizes.filter(function (s) {\n return s === _this.$props.pageSize;\n }).length === 0) {\n sizes.unshift(this.$props.pageSize);\n }\n\n var itemPerPageMessage = this.$props.messagesMap ? this.$props.messagesMap(pagerItemPerPage) : {\n messageKey: pagerItemPerPage,\n defaultMessage: messages[pagerItemPerPage]\n };\n return h(\"span\", {\n \"class\": \"k-pager-sizes k-label\"\n }, [// @ts-ignore function children\n h(DropDownList, {\n value: this.$props.pageSize,\n attrs: this.v3 ? undefined : {\n value: this.$props.pageSize,\n dataItems: sizes\n },\n dataItems: sizes,\n onChange: this.pageSizeChange,\n on: this.v3 ? undefined : {\n \"change\": this.pageSizeChange\n }\n }), provideLocalizationService(this).toLanguageString(itemPerPageMessage.messageKey, itemPerPageMessage.defaultMessage)]);\n }\n};\nvar PagerPageSizesVue3 = PagerPageSizes;\nexport { PagerPageSizes, PagerPageSizesVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, pagerInfo } from '../messages';\n/**\n * Represents the default `PagerInfo` component.\n */\n\nvar PagerInfo = {\n name: 'KendoPagerInfo',\n props: {\n totalPages: Number,\n currentPage: Number,\n skip: Number,\n messagesMap: Function\n },\n inject: {\n kendoLocalizationService: {\n default: null\n },\n kendoIntlService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var intlService = provideIntlService(this);\n var localizationService = provideLocalizationService(this);\n var infoMessage = this.$props.messagesMap ? this.$props.messagesMap(pagerInfo) : {\n messageKey: pagerInfo,\n defaultMessage: messages[pagerInfo]\n };\n return h(\"div\", {\n \"class\": \"k-pager-info k-label\"\n }, [intlService.format(localizationService.toLanguageString(infoMessage.messageKey, infoMessage.defaultMessage), [Math.min(this.$props.skip + 1, this.$props.totalPages), Math.min(this.$props.skip + this.$props.currentPage, this.$props.totalPages), this.$props.totalPages])]);\n }\n};\nvar PagerInfoVue3 = PagerInfo;\nexport { PagerInfo, PagerInfoVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * Represents the default `PagerNavigationButton` component.\n */\n\nvar PagerNavigationButton = {\n name: 'KendoPagerNavigationButton',\n props: {\n title: String,\n icon: String,\n page: Number\n },\n inject: {\n kendoLocalizationService: {\n default: null\n },\n kendoIntlService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n methods: {\n changePage: function changePage(e) {\n e.preventDefault();\n this.$emit('pagechange', this.$props.page, e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"a\", {\n \"class\": 'k-link k-pager-nav',\n onClick: this.changePage,\n on: this.v3 ? undefined : {\n \"click\": this.changePage\n },\n href: \"#\",\n attrs: this.v3 ? undefined : {\n href: \"#\",\n title: this.$props.title\n },\n title: this.$props.title\n }, [h(\"span\", {\n \"class\": this.$props.icon,\n \"aria-label\": this.$props.title,\n attrs: this.v3 ? undefined : {\n \"aria-label\": this.$props.title\n }\n })]);\n }\n};\nvar PagerNavigationButtonVue3 = PagerNavigationButton;\nexport { PagerNavigationButton, PagerNavigationButtonVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { PagerNumericButtons } from './PagerNumericButtons';\nimport { PagerInput } from './PagerInput';\nimport { PagerPageSizes } from './PagerPageSizes';\nimport { PagerInfo } from './PagerInfo';\nimport { PagerNavigationButton } from './PagerNavigationButton';\nimport { messages, pagerFirstPage, pagerLastPage, pagerNextPage, pagerPreviousPage } from '../messages';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { getListeners, getTemplate, hasListener, templateRendering } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\n\nvar RESPONSIVE_BREAKPOINT_MEDIUM = 600;\n/**\n * @hidden\n */\n\nvar RESPONSIVE_BREAKPOINT_LARGE = 768;\n/**\n * Represents the default `Pager` component.\n */\n\nvar Pager = {\n name: 'KendoPager',\n props: {\n total: Number,\n skip: Number,\n take: Number,\n pageSize: Number,\n settings: [Object, Boolean],\n buttonCount: {\n type: Number,\n default: 10\n },\n info: {\n type: Boolean,\n default: true\n },\n type: {\n type: String,\n default: 'numeric',\n validator: function validator(value) {\n return ['numeric', 'input'].includes(value);\n }\n },\n pageSizes: {\n type: Array\n },\n previousNext: Boolean,\n messagesMap: Function,\n responsive: {\n type: Boolean,\n default: true\n },\n pagerRender: [String, Function, Object],\n width: [Number, String]\n },\n data: function data() {\n return {\n size: 'normal'\n };\n },\n mounted: function mounted() {\n window.addEventListener('resize', this.onWindowResize);\n this.onWindowResize();\n },\n updated: function updated() {\n this.onWindowResize();\n },\n destroyed: !!gh ? undefined : function () {\n window.removeEventListener('resize', this.onWindowResize);\n },\n // @ts-ignore\n unmounted: function unmounted() {\n window.removeEventListener('resize', this.onWindowResize);\n },\n inject: {\n kendoLocalizationService: {\n default: null\n },\n kendoIntlService: {\n default: null\n }\n },\n computed: {\n wrapperClass: {\n get: function get() {\n return {\n 'k-pager-wrap k-pager k-widget': true,\n 'k-pager-sm': this.size === 'small',\n 'k-pager-md': this.size === 'medium'\n };\n }\n },\n totalPages: {\n get: function get() {\n return Math.ceil((this.$props.total || 0) / this.currentTake);\n }\n },\n currentPage: {\n get: function get() {\n return Math.floor((this.$props.skip || 0) / this.currentTake) + 1;\n }\n },\n currentTake: {\n get: function get() {\n return this.$props.take || this.$props.pageSize;\n }\n }\n },\n methods: {\n changePage: function changePage(page, e) {\n if (page > 0 && page <= this.totalPages) {\n this.$emit('pagechange', {\n skip: (page - 1) * this.currentTake,\n take: this.currentTake\n }, e);\n }\n },\n triggerPageChange: function triggerPageChange(e) {\n var pagesizechange = hasListener.call(this, 'pagesizechange');\n\n if (pagesizechange) {\n this.$emit('pagesizechange', e);\n } else {\n this.$emit('pagechange', e);\n }\n },\n onWindowResize: function onWindowResize() {\n var element = this.$el;\n\n if (!element || !this.$props.responsive || this.$props.settings.responsive === false) {\n return;\n }\n\n var width = element.offsetWidth;\n\n if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {\n this.size = 'small';\n } else if (width >= RESPONSIVE_BREAKPOINT_MEDIUM && width < RESPONSIVE_BREAKPOINT_LARGE) {\n this.size = 'medium';\n } else {\n this.size = 'large';\n }\n },\n transformDimesion: function transformDimesion(initialValue) {\n return typeof initialValue === 'string' ? initialValue.endsWith('px') ? initialValue : initialValue + 'px' : initialValue + 'px';\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore \n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n skip = _a.skip,\n take = _a.take,\n total = _a.total,\n pageSizes = _a.pageSizes,\n buttonCount = _a.buttonCount,\n messagesMap = _a.messagesMap,\n info = _a.info,\n type = _a.type,\n previousNext = _a.previousNext;\n\n var settings = __assign({\n pageSizes: pageSizes,\n buttonCount: buttonCount,\n info: info,\n previousNext: previousNext,\n type: type,\n skip: skip,\n take: take,\n total: total,\n messagesMap: messagesMap\n }, this.$props.settings);\n\n var pagerRender = this.$props.pagerRender || this.$props.settings.pagerRender;\n var pagerRenderTemplate = pagerRender ? templateRendering.call(this, pagerRender, getListeners.call(this)) : null;\n var localizationService = provideLocalizationService(this);\n var firstPageMessage = messagesMap ? messagesMap(pagerFirstPage) : {\n messageKey: pagerFirstPage,\n defaultMessage: messages[pagerFirstPage]\n };\n var previousPageMessage = messagesMap ? messagesMap(pagerPreviousPage) : {\n messageKey: pagerPreviousPage,\n defaultMessage: messages[pagerPreviousPage]\n };\n var nextPageMessage = messagesMap ? messagesMap(pagerNextPage) : {\n messageKey: pagerNextPage,\n defaultMessage: messages[pagerNextPage]\n };\n var lastPageMessage = messagesMap ? messagesMap(pagerLastPage) : {\n messageKey: pagerLastPage,\n defaultMessage: messages[pagerLastPage]\n };\n var changer = settings.type === 'numeric' ? // @ts-ignore\n h(PagerNumericButtons, {\n size: this.size,\n attrs: this.v3 ? undefined : {\n size: this.size,\n buttonCount: settings.buttonCount || 0,\n totalPages: this.totalPages,\n currentPage: this.currentPage\n },\n buttonCount: settings.buttonCount || 0,\n totalPages: this.totalPages,\n currentPage: this.currentPage,\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n }\n }) : // @ts-ignore\n h(PagerInput, {\n currentPage: this.currentPage,\n attrs: this.v3 ? undefined : {\n currentPage: this.currentPage,\n totalPages: this.totalPages,\n messagesMap: messagesMap\n },\n totalPages: this.totalPages,\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n },\n messagesMap: messagesMap\n });\n var first, prev, next, last;\n\n if (settings.previousNext) {\n first = // @ts-ignore function children\n h(PagerNavigationButton, {\n \"class\": 'k-pager-first' + (this.currentPage === 1 ? ' k-state-disabled' : ''),\n page: 1,\n attrs: this.v3 ? undefined : {\n page: 1,\n title: localizationService.toLanguageString(firstPageMessage.messageKey, firstPageMessage.defaultMessage),\n icon: 'k-icon k-i-seek-w'\n },\n title: localizationService.toLanguageString(firstPageMessage.messageKey, firstPageMessage.defaultMessage),\n icon: 'k-icon k-i-seek-w',\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n }\n });\n prev = // @ts-ignore function children\n h(PagerNavigationButton, {\n \"class\": this.currentPage === 1 ? ' k-state-disabled' : '',\n page: this.currentPage - 1,\n attrs: this.v3 ? undefined : {\n page: this.currentPage - 1,\n title: localizationService.toLanguageString(previousPageMessage.messageKey, previousPageMessage.defaultMessage),\n icon: 'k-icon k-i-arrow-w'\n },\n title: localizationService.toLanguageString(previousPageMessage.messageKey, previousPageMessage.defaultMessage),\n icon: 'k-icon k-i-arrow-w',\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n }\n });\n next = // @ts-ignore function children\n h(PagerNavigationButton, {\n \"class\": this.currentPage === this.totalPages ? ' k-state-disabled' : '',\n page: this.currentPage + 1,\n attrs: this.v3 ? undefined : {\n page: this.currentPage + 1,\n title: localizationService.toLanguageString(nextPageMessage.messageKey, nextPageMessage.defaultMessage),\n icon: 'k-icon k-i-arrow-e'\n },\n title: localizationService.toLanguageString(nextPageMessage.messageKey, nextPageMessage.defaultMessage),\n icon: 'k-icon k-i-arrow-e',\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n }\n });\n last = // @ts-ignore function children\n h(PagerNavigationButton, {\n \"class\": 'k-pager-last' + (this.currentPage === this.totalPages ? ' k-state-disabled' : ''),\n page: this.totalPages,\n attrs: this.v3 ? undefined : {\n page: this.totalPages,\n title: localizationService.toLanguageString(lastPageMessage.messageKey, lastPageMessage.defaultMessage),\n icon: 'k-icon k-i-seek-e'\n },\n title: localizationService.toLanguageString(lastPageMessage.messageKey, lastPageMessage.defaultMessage),\n icon: 'k-icon k-i-seek-e',\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n }\n });\n }\n\n var renderPageSizes = settings.pageSizes && // @ts-ignore function children\n h(PagerPageSizes, {\n onPagechange: this.triggerPageChange,\n on: this.v3 ? undefined : {\n \"pagechange\": this.triggerPageChange\n },\n pageSize: this.currentTake,\n attrs: this.v3 ? undefined : {\n pageSize: this.currentTake,\n pageSizes: settings.pageSizes,\n messagesMap: messagesMap\n },\n pageSizes: settings.pageSizes,\n messagesMap: messagesMap\n });\n var infoElement = !settings.info ? '' : // @ts-ignore function children\n h(PagerInfo, {\n totalPages: this.$props.total,\n attrs: this.v3 ? undefined : {\n totalPages: this.$props.total,\n skip: this.$props.skip,\n currentPage: this.currentTake,\n messagesMap: messagesMap\n },\n skip: this.$props.skip,\n currentPage: this.currentTake,\n messagesMap: messagesMap\n });\n var pagerContent = getTemplate.call(this, {\n h: h,\n template: pagerRenderTemplate,\n additionalProps: __assign(__assign({}, this.$props), {\n current: this.currentPage\n }),\n additionalListeners: {\n pagechange: this.triggerPageChange\n }\n });\n var width = this.transformDimesion(this.$props.width);\n return pagerRender ? h(\"div\", {\n \"class\": this.wrapperClass,\n style: {\n width: width\n },\n role: \"navigation\",\n attrs: this.v3 ? undefined : {\n role: \"navigation\"\n }\n }, [pagerContent]) : h(\"div\", {\n \"class\": this.wrapperClass,\n style: {\n width: width\n },\n role: \"navigation\",\n attrs: this.v3 ? undefined : {\n role: \"navigation\"\n }\n }, [first, prev, changer, next, last, renderPageSizes, infoElement]);\n }\n};\nvar PagerVue3 = Pager;\nexport { Pager, PagerVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { getDefaultSlots, noop } from '@progress/kendo-vue-common';\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '../navigation/constants';\n/**\n * Represents the default `HeaderThElement` component.\n */\n\nvar HeaderThElement = {\n name: 'KendoHeaderThElement',\n // @ts-ignore\n emits: {\n keydown: null\n },\n props: {\n ariaSort: {\n type: String,\n validator: function validator(value) {\n return ['none', 'ascending', 'descending'].includes(value);\n }\n },\n ariaLabel: String,\n ariaColumnIndex: Number,\n ariaSelected: Boolean,\n colSpan: Number,\n rowSpan: Number,\n role: String,\n columnId: String,\n navigatable: Boolean\n },\n inject: {\n getKeyboardNavigationAttributes: {\n default: noop\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n ariaSort = _a.ariaSort,\n colSpan = _a.colSpan,\n rowSpan = _a.rowSpan,\n className = _a.className,\n style = _a.style,\n columnId = _a.columnId,\n navigatable = _a.navigatable,\n ariaColumnIndex = _a.ariaColumnIndex,\n ariaLabel = _a.ariaLabel,\n role = _a.role,\n ariaSelected = _a.ariaSelected;\n var navAttrs = this.getKeyboardNavigationAttributes(columnId, navigatable);\n var defaultSlot = getDefaultSlots(this);\n return h(\"th\", {\n \"aria-sort\": ariaSort,\n attrs: this.v3 ? undefined : {\n \"aria-sort\": ariaSort,\n \"aria-label\": ariaLabel,\n \"aria-colindex\": ariaColumnIndex,\n \"aria-selected\": ariaSelected,\n colSpan: colSpan,\n rowSpan: rowSpan,\n role: role,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n \"aria-label\": ariaLabel,\n \"aria-colindex\": ariaColumnIndex,\n \"aria-selected\": ariaSelected,\n colSpan: colSpan,\n rowSpan: rowSpan,\n \"class\": className,\n style: style,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown\n },\n role: role,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [defaultSlot]);\n },\n methods: {\n onKeyDown: function onKeyDown(e) {\n this.$emit('keydown', e);\n }\n }\n};\nvar HeaderThElementVue3 = HeaderThElement;\nexport { HeaderThElement, HeaderThElementVue3 };","/**\n * @hidden\n */\nvar normalizeSettings = function (_a) {\n var _b = _a.buttonCount, buttonCount = _b === void 0 ? 10 : _b, _c = _a.info, info = _c === void 0 ? true : _c, _d = _a.type, type = _d === void 0 ? 'numeric' : _d, _e = _a.pageSizes, pageSizes = _e === void 0 ? false : _e, _f = _a.previousNext, previousNext = _f === void 0 ? true : _f, _g = _a.responsive, responsive = _g === void 0 ? true : _g, _h = _a.pagerRender, pagerRender = _h === void 0 ? undefined : _h;\n return ({\n buttonCount: buttonCount,\n info: info,\n pageSizes: pageSizes === true ? [5, 10, 20] : pageSizes,\n previousNext: previousNext,\n type: type,\n responsive: responsive,\n pagerRender: pagerRender\n });\n};\n/**\n * @hidden\n */\nexport var normalize = function (settings) {\n return normalizeSettings(settings === true ? {} : settings);\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/**\n * @hidden\n */\nexport function tableColumnsVirtualization(args) {\n var enabled = args.enabled, _a = args.columns, columns = _a === void 0 ? [] : _a, tableViewPortWidth = args.tableViewPortWidth, scrollLeft = args.scrollLeft;\n var colSpans = columns.map(function () { return 1; });\n var hiddenColumns = columns.map(function () { return false; });\n if (!enabled) {\n return { colSpans: colSpans, hiddenColumns: hiddenColumns };\n }\n var widths = columns.map(function (c) { return parseFloat((c.width || '').toString()) || 10; });\n var widthOfHiddenColumns = 0;\n for (var i = 0; i < columns.length; i++) {\n if (columns[i].locked) {\n continue;\n }\n var considerNext = (i < widths.length - 1) ? widths[i + 1] : 0;\n if (widthOfHiddenColumns + widths[i] + considerNext < scrollLeft) {\n hiddenColumns[i] = true;\n widthOfHiddenColumns += widths[i];\n }\n else {\n break;\n }\n }\n var totalWidth = widths.reduce(function (acc, current) { return acc + current; }, 0);\n widthOfHiddenColumns = 0;\n for (var i = columns.length - 1; i >= 0; i--) {\n if (columns[i].locked) {\n continue;\n }\n if (widthOfHiddenColumns + 2 * widths[i] < totalWidth - tableViewPortWidth - scrollLeft) {\n hiddenColumns[i] = true;\n widthOfHiddenColumns += widths[i];\n }\n else {\n break;\n }\n }\n var hiddenCols = __spreadArrays(hiddenColumns);\n var hidden = function (value) { return value; };\n var lastVisible = hiddenCols.lastIndexOf(false);\n var anyHidden = hiddenCols.some(hidden);\n var allHidden = hiddenCols.every(hidden);\n var hiddenSeqLength;\n var updateIndex;\n while (anyHidden && hiddenCols.length && (lastVisible !== -1 || allHidden)) {\n if (lastVisible < hiddenCols.length - 1) {\n hiddenSeqLength = allHidden ? hiddenCols.length : hiddenCols.length - lastVisible - 1;\n updateIndex = hiddenCols.length - hiddenSeqLength;\n if (updateIndex === 0) {\n updateIndex = hiddenSeqLength - 1;\n }\n hiddenColumns[updateIndex] = false;\n colSpans[updateIndex] = hiddenSeqLength;\n hiddenCols.splice(lastVisible + 1, hiddenSeqLength);\n }\n while (hiddenCols.length && !hiddenCols[hiddenCols.length - 1]) {\n hiddenCols.pop();\n }\n lastVisible = hiddenCols.lastIndexOf(false);\n anyHidden = hiddenCols.some(hidden);\n allHidden = hiddenCols.every(hidden);\n }\n return { colSpans: colSpans, hiddenColumns: hiddenColumns };\n}\n","var __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar provide = allVue.provide;\nimport { guid, Keys, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from './constants';\nimport { findId, findNextIdByCellIndex, findNextIdByRowIndex, getBodyElement, getHeaderElement, getNavigatableId, tableKeyboardNavigationTools as navigationTools } from './utils';\n/**\n * A Vue component which provides a localization service.\n * Expects a language string as a property of the component.\n */\n\nvar TableKeyboardNavigationProvider = {\n name: 'KendoTableKeyboardNavigationProvider',\n props: {\n navigatable: {\n type: Boolean,\n default: false\n },\n id: String\n },\n data: function data() {\n return {\n scope: undefined,\n kbContext: undefined,\n navigation: undefined\n };\n },\n // watch: {\n // language: function (this: TableKeyboardNavigationProviderAll, newLanguage: string) {\n // this.$data.kendoLocalizationService.language = newLanguage ;\n // }\n // },\n // @ts-ignore\n setup: function setup(props) {\n var v3 = !!gh; // const localizationService = ref(new LocalizationService(props.language));\n // provide('kendoLocalizationService', localizationService);\n\n return {\n v3: v3\n };\n },\n provide: function provide() {\n return {\n getKeyboardNavigationAttributes: this.getKeyboardNavigationAttributes,\n onNavMount: this.onComponentDidMount,\n onGetSnapshotBeforeUpdate: this.onGetSnapshotBeforeUpdate,\n onComponentDidUpdate: this.onComponentDidUpdate,\n onNavFocus: this.onFocus,\n onNavKeyDown: this.onKeyDown,\n generateMatrix: this.generateMatrix,\n kbContext: this.kbContext,\n navigation: this.navigation\n };\n },\n created: function created() {\n var _a = this.$props,\n navigatable = _a.navigatable,\n id = _a.id; // v.2: check if nested navigation\n\n if (navigatable) {\n this.kbContext = {\n activeId: '',\n level: 0\n };\n this.navigation = {\n activeElementIsFocused: false,\n prevNavigationIndexes: undefined,\n idPrefix: id || guid(),\n navigationMatrix: [],\n lastHeaderIndex: -1\n };\n }\n },\n methods: {\n getKeyboardNavigationAttributes: function getKeyboardNavigationAttributes(elementId) {\n var _a;\n\n if (!elementId || this.$props.navigatable === false) {\n return {};\n }\n\n return _a = {\n tabIndex: this.kbContext.activeId && this.kbContext.activeId === elementId ? 0 : -1\n }, _a[KEYBOARD_NAV_DATA_LEVEL] = this.kbContext.level, _a[KEYBOARD_NAV_DATA_ID] = elementId, _a;\n },\n onComponentDidMount: function onComponentDidMount(options) {\n var _a = options.scope,\n scope = _a === void 0 ? this.scope : _a;\n\n if (this.kbContext && this.navigation && scope) {\n this.scope = scope;\n this.generateMatrix(options);\n var firstId = this.navigation.navigationMatrix[0][0];\n var firstIdElement = navigationTools.getActiveElement(scope, firstId);\n\n if (firstId && firstIdElement) {\n this.kbContext.activeId = firstId;\n firstIdElement.setAttribute('tabIndex', '0');\n }\n }\n },\n onGetSnapshotBeforeUpdate: function onGetSnapshotBeforeUpdate(options) {\n var _a = options.kbContext,\n kbContext = _a === void 0 ? this.kbContext : _a,\n _b = options.navigation,\n navigation = _b === void 0 ? this.navigation : _b,\n document = options.document;\n\n if (kbContext && navigation && document) {\n var activeElement = document.activeElement;\n var activeId = navigationTools.getNavigatableId(activeElement);\n\n if (activeId && activeId === kbContext.activeId) {\n navigation.activeElementIsFocused = true;\n }\n }\n },\n onComponentDidUpdate: function onComponentDidUpdate(options) {\n var scope = options.scope;\n this.generateMatrix(options); // check if nested navigation\n\n if (this.kbContext && this.navigation && scope) {\n var activeElement = navigationTools.getActiveElement(scope, this.kbContext.activeId);\n\n if (!activeElement) {\n var firstId = this.navigation.navigationMatrix[0][0];\n var firstIdElement = navigationTools.getActiveElement(scope, firstId);\n\n if (firstId && firstIdElement) {\n this.kbContext.activeId = firstId;\n firstIdElement.setAttribute('tabIndex', '0');\n\n if (this.navigation.activeElementIsFocused) {\n firstIdElement.focus();\n }\n }\n }\n\n this.navigation.activeElementIsFocused = false;\n }\n },\n onFocus: function onFocus(event) {\n var kbContext = this.kbContext;\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (!kbContext) {\n return;\n }\n\n var focusedElement = event.target;\n var activeId = navigationTools.getNavigatableId(focusedElement);\n\n if (activeId && activeId !== kbContext.activeId) {\n var scope = navigationTools.getClosestScope(focusedElement);\n\n if (!scope) {\n return;\n }\n\n var prevElement = navigationTools.getActiveElement(scope, kbContext.activeId);\n\n if (prevElement) {\n prevElement.setAttribute('tabIndex', '-1');\n }\n\n focusedElement.setAttribute('tabIndex', '0');\n kbContext.activeId = activeId;\n }\n },\n onKeyDown: function onKeyDown(event, options) {\n var _a = options.kbContext,\n kbContext = _a === void 0 ? this.kbContext : _a,\n _b = options.navigation,\n navigation = _b === void 0 ? this.navigation : _b,\n onNavigationAction = options.onNavigationAction;\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (!kbContext || !navigation) {\n return;\n }\n\n if (event.keyCode === Keys.esc) {\n // activate navigation\n var elementForFocus = navigationTools.getClosestNavigatableElement(event.target);\n navigationTools.focusElement({\n elementForFocus: elementForFocus,\n event: event,\n kbContext: kbContext\n });\n return;\n }\n\n var element = event.target;\n var elementId = navigationTools.getNavigatableId(element);\n var dataLevel = navigationTools.getNavigatableLevel(element);\n var scope = navigationTools.getClosestScope(element);\n var matrix = navigation.navigationMatrix;\n\n if (dataLevel !== undefined && scope) {\n if (event.keyCode === Keys.enter) {\n // activate nested navigation or focus focusable element\n var navigatableElement = navigationTools.getNavigatableElement(element, {\n level: dataLevel + 1\n });\n\n if (navigatableElement) {\n navigationTools.focusElement({\n elementForFocus: navigatableElement,\n event: event,\n kbContext: kbContext,\n prevElement: element\n });\n return;\n } else {\n var elementForFocus = navigationTools.getFocusableElements(element)[0];\n navigationTools.focusElement({\n elementForFocus: elementForFocus,\n event: event,\n kbContext: kbContext,\n prevElement: element\n });\n return;\n }\n }\n\n if (event.keyCode === Keys.up || event.keyCode === Keys.down || event.keyCode === Keys.left || event.keyCode === Keys.right) {\n var isReverse = event.keyCode === Keys.up || event.keyCode === Keys.left;\n var isVertical = event.keyCode === Keys.up || event.keyCode === Keys.down;\n var currentIdIndexes = void 0;\n\n if (navigation && navigation.prevNavigationIndexes) {\n var _c = navigation.prevNavigationIndexes,\n rowIndex = _c[0],\n cellIndex = _c[1];\n\n if (matrix[rowIndex][cellIndex] === elementId) {\n currentIdIndexes = navigation.prevNavigationIndexes;\n } else {\n currentIdIndexes = findId(matrix, elementId);\n }\n } else {\n currentIdIndexes = findId(matrix, elementId);\n }\n\n if (currentIdIndexes) {\n var rowIndex = currentIdIndexes[0],\n cellIndex = currentIdIndexes[1];\n\n var _d = isVertical ? findNextIdByRowIndex(rowIndex, cellIndex, elementId, matrix, isReverse) : findNextIdByCellIndex(rowIndex, cellIndex, elementId, matrix, isReverse),\n idForFocus = _d[0],\n currentIndexes = _d[1];\n\n if (idForFocus) {\n var elementForFocus = navigationTools.getActiveElement(scope, idForFocus); // emit event\n\n navigationTools.focusElement({\n elementForFocus: elementForFocus,\n event: event,\n kbContext: kbContext,\n prevElement: element\n });\n navigation.prevNavigationIndexes = currentIndexes;\n\n if (onNavigationAction) {\n onNavigationAction({\n focusElement: elementForFocus,\n event: event\n });\n }\n }\n }\n }\n }\n },\n generateMatrix: function generateMatrix(options) {\n var _a = options.navigation,\n navigation = _a === void 0 ? this.navigation : _a,\n scope = options.scope;\n\n if (!navigation || !scope) {\n return;\n }\n\n var matrix = [];\n var thead = getHeaderElement(scope);\n var tbody = getBodyElement(scope);\n\n if (!thead || !tbody) {\n return;\n }\n\n var headerRows = Array.from(thead.children);\n var bodyRows = Array.from(tbody.children);\n\n __spreadArrays(headerRows, bodyRows).forEach(function (row, rowIndex) {\n Array.from(row.children).forEach(function (cell) {\n var cellId = getNavigatableId(cell);\n\n if (!cellId) {\n return;\n } // cell is not navigatable\n\n\n var rowSpan = cell.rowSpan || 1;\n var cellSpan = cell.colSpan || 1;\n var cellIndex;\n\n for (var depth = rowIndex, maxDepth = rowIndex + rowSpan; depth < maxDepth; depth++) {\n if (!matrix[depth]) {\n matrix[depth] = [];\n }\n\n if (cellIndex === undefined) {\n var freeSlotIndex = matrix[depth].findIndex(function (mi) {\n return !mi;\n });\n cellIndex = freeSlotIndex > -1 ? freeSlotIndex : matrix[depth].length;\n }\n\n matrix[depth][cellIndex] = cellId || '';\n }\n\n for (var depth = cellIndex + 1, maxDepth = cellIndex + cellSpan; depth < maxDepth; depth++) {\n matrix[rowIndex][depth] = cellId || '';\n }\n });\n });\n\n navigation.navigationMatrix = matrix.filter(function (row) {\n return !!row;\n });\n navigation.lastHeaderIndex = headerRows.length - 1;\n }\n },\n\n /**\n * @hidden\n */\n // @ts-ignore\n render: function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return defaultSlot[0];\n }\n};\nvar TableKeyboardNavigationProviderVue3 = TableKeyboardNavigationProvider;\nexport { TableKeyboardNavigationProvider, TableKeyboardNavigationProviderVue3 };","var _Draggable;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport KendoDraggable from '@telerik/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * Represents the default `Draggable` component.\n */\n\nvar Draggable = (_Draggable = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n this.draggable = new KendoDraggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!gh ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_Draggable, \"setup\", !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n}), _defineProperty(_Draggable, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _Draggable);\nexport { Draggable };","/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg)\n ? classNames.apply(void 0, arg) : typeof arg === 'object'\n ? Object\n .keys(arg)\n .map(function (key, idx) { return arg[idx] || (arg[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ')\n : arg;\n })\n .filter(function (arg) { return !!arg; })\n .join(' ');\n};\n","/* tslint:disable:no-bitwise */\n/**\n * @hidden\n */\nvar guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\nexport { guid };\n","/**\n * @hidden\n */\nvar Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\nexport { Keys };\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","/**\n * @hidden\n */\nexport var cloneDate = function (date) { return date ? new Date(date.getTime()) : null; };\n/**\n * @hidden\n */\nexport function clone(obj) {\n var result = {};\n cloneObject(obj, result);\n return result;\n}\n/**\n * @hidden\n */\nexport function cloneObject(obj, result) {\n for (var field in obj) {\n if (obj.hasOwnProperty(field)) {\n var value = obj[field];\n result[field] = cloneValue(value, result[field]);\n }\n }\n}\n/**\n * @hidden\n */\nexport function cloneValue(value, nextValue) {\n if (Array.isArray(value)) {\n return cloneArray(value);\n }\n else if (value instanceof Date) {\n return cloneDate(value);\n }\n else if (value && typeof value === 'object') {\n var newNextValue = nextValue || {};\n cloneObject(value, newNextValue);\n return newNextValue;\n }\n else {\n return value;\n }\n}\n/**\n * @hidden\n */\nexport function cloneArray(array) {\n return array.map(function (value) { return cloneValue(value, undefined); });\n}\n","/**\n * @hidden\n */\nvar noop = function () { };\nexport { noop };\n","import { FIELD_REGEX } from './constants';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n return Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template) {\n return undefined;\n }\n var scopedSlot = gh ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n // @ts-ignore\n if (typeof template === 'string' && scopedSlot) {\n // @ts-ignore\n return { type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || typeof template === 'object' ||\n (typeof template === 'function' && template.component)) {\n return { type: 'component', render: template, listeners: listeners };\n }\n return { type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (gh) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render(h, defaultRendering, defaultSlots, props, events);\n }\n return template.render(h, defaultRendering, props, events, defaultSlots);\n }\n else {\n return h(template.render, componentOptions, gh ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \" + packageMetadata.name + \"\\n\";\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \" + packageMetadata.licensingDocsUrl + \" for more information.\\n\";\n console.warn(message);\n }\n}\n","/**\n * A function that clones the passed date. The parameter could be `null`.\n *\n * @param date - The initial date value.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * cloneDate(new Date(2016, 0, 1)); // returns new Date(2016, 0, 1);\n * cloneDate(null); // returns null\n * ```\n */\nexport var cloneDate = function (date) { return date ? new Date(date.getTime()) : null; };\n","/**\n * Enumeration which represents the week days.\n */\nexport var Day;\n(function (Day) {\n /**\n * The Sunday value with an underlying `0` number value.\n */\n Day[Day[\"Sunday\"] = 0] = \"Sunday\";\n /**\n * The Monday value with an underlying `1` number value.\n */\n Day[Day[\"Monday\"] = 1] = \"Monday\";\n /**\n * The Tuesday value with an underlying `2` number value.\n */\n Day[Day[\"Tuesday\"] = 2] = \"Tuesday\";\n /**\n * The Wednesday value with an underlying `3` number value.\n */\n Day[Day[\"Wednesday\"] = 3] = \"Wednesday\";\n /**\n * The Thursday value with an underlying `4` number value.\n */\n Day[Day[\"Thursday\"] = 4] = \"Thursday\";\n /**\n * The Friday value with an underlying `5` number value.\n */\n Day[Day[\"Friday\"] = 5] = \"Friday\";\n /**\n * The Saturday value with an underlying `6` number value.\n */\n Day[Day[\"Saturday\"] = 6] = \"Saturday\";\n})(Day || (Day = {}));\n","import { cloneDate } from './clone-date';\n/**\n * @hidden\n */\nexport var adjustDST = function (date, hour) {\n var newDate = cloneDate(date);\n if (hour === 0 && newDate.getHours() === 23) {\n newDate.setHours(newDate.getHours() + 2);\n }\n return newDate;\n};\n","import { adjustDST } from './adjust-dst';\n/**\n * A function which returns a new `Date` instance.\n *\n * @param year - The year value.\n * @param month - The month value.\n * @param day - The day value.\n * @param hours - The hours value.\n * @param minutes - The minutes value.\n * @param seconds - The seconds value.\n * @param milliseconds - milliseconds value.\n * @returns The date instance.\n *\n * @example\n * ```ts-no-run\n * createDate(2016, 0, 15); // 2016-01-15 00:00:00\n * createDate(2016, 0, 15, 22, 22, 20); // 2016-01-15 22:22:20\n * ```\n */\nexport var createDate = function (year, month, day, hours, minutes, seconds, milliseconds) {\n if (hours === void 0) { hours = 0; }\n if (minutes === void 0) { minutes = 0; }\n if (seconds === void 0) { seconds = 0; }\n if (milliseconds === void 0) { milliseconds = 0; }\n var date = new Date(year, month, day, hours, minutes, seconds, milliseconds);\n if (year > -1 && year < 100) {\n date.setFullYear(date.getFullYear() - 1900);\n }\n return adjustDST(date, hours);\n};\n","import { createDate } from './create-date';\n/**\n * A function which returns the passed date with a midnight time portion.\n *\n * @param date - The initial date.\n * @returns - The date with a midnight time portion.\n *\n * @example\n * ```ts-no-run\n * getDate(new Date(2016, 0, 15, 14, 30, 30)); // 2016-01-15 00:00:00\n * ```\n */\nexport var getDate = function (date) {\n return createDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);\n};\n","/**\n * A function that compares two dates. The comparison also includes the time portion.\n *\n * @param candidate - The candidate date.\n * @param expected - The expected date.\n * @returns - A Boolean value indicating whether the values are equal.\n *\n * @example\n * ```ts-no-run\n * isEqual(new Date(2016, 0, 1), new Date(2016, 0, 1)); // true\n * isEqual(new Date(2016, 0, 1), new Date(2016, 0, 2)); // false\n * isEqual(new Date(2016, 0, 1, 10), new Date(2016, 0, 1, 20)); // false\n * ```\n */\nexport var isEqual = function (candidate, expected) {\n if (!candidate && !expected) {\n return true;\n }\n return candidate && expected && candidate.getTime() === expected.getTime();\n};\n","import { getDate } from './get-date';\nimport { isEqual } from './is-equal';\n/**\n * A function that compares the date portions of 2 dates.\n *\n * @param candidate - The candidate date.\n * @param expected - The expected date.\n * @returns - A Boolean value whether the values are equal.\n *\n * @example\n * ```ts-no-run\n * isEqualDate(new Date(2016, 0, 1, 10), new Date(2016, 0, 1, 20)); // true\n * isEqualDate(new Date(2016, 0, 1, 10), new Date(2016, 0, 2, 10)); // false\n * ```\n */\nexport var isEqualDate = function (candidate, expected) {\n if (!candidate && !expected) {\n return true;\n }\n return candidate && expected && isEqual(getDate(candidate), getDate(expected));\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-dateinputs',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1641561446,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","import { adjustDST } from './adjust-dst';\nimport { cloneDate } from './clone-date';\n/**\n * A function that adds and subtracts days from a `Date` object.\n *\n * @param date - The initial date value.\n * @param offset - The number of days to add and subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addDays(new Date(2016, 0, 1), 5); // 2016-1-6\n * addDays(new Date(2016, 0, 1), -5); // 2015-12-26\n * ```\n */\nexport var addDays = function (date, offset) {\n var newDate = cloneDate(date);\n newDate.setDate(newDate.getDate() + offset);\n return adjustDST(newDate, date.getHours());\n};\n","// tslint:disable:max-line-length\n/**\n * An enumeration which represents the horizontal direction. The `Forward` option moves forward. The `Backward` option moves backward.\n */\nexport var Direction;\n(function (Direction) {\n /**\n * The `Forward` value with an underlying `1` number value.\n */\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n /**\n * The `Backward` value with an underlying `-1` (minus one) number value.\n */\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n// tslint:enable:max-line-length\n","import { Direction } from \"./direction.enum\";\nimport { adjustDST } from \"./adjust-dst\";\nimport { cloneDate } from './clone-date';\n/**\n * @hidden\n *\n * A function which returns the next or previous date for a specific week day. For example, `Day.Monday`.\n *\n * @param date - The date to calculate from.\n * @param weekDay - The `Day` enum specifying the desired week day.\n * @param direction - The `Direction` enum specifying the calculation direction.\n * @returns - A `Date` instance.\n *\n * @example\n * ```ts-no-run\n * dayOfWeek(new Date(2016, 0, 1), Day.Wednesday, Direction.Forward); // 2016-01-06, Wednesday\n * dayOfWeek(new Date(2016, 0, 1), Day.Wednesday, Direction.Backward); // 2015-12-30, Wednesday\n * ```\n */\nexport var dayOfWeek = function (date, weekDay, direction) {\n if (direction === void 0) { direction = Direction.Forward; }\n var newDate = cloneDate(date);\n var newDay = ((weekDay - newDate.getDay()) + (7 * direction)) % 7;\n newDate.setDate(newDate.getDate() + newDay);\n return adjustDST(newDate, date.getHours());\n};\n","/**\n * @hidden\n */\nexport var Action;\n(function (Action) {\n Action[Action[\"Left\"] = 0] = \"Left\";\n Action[Action[\"Right\"] = 1] = \"Right\";\n Action[Action[\"Up\"] = 2] = \"Up\";\n Action[Action[\"Down\"] = 3] = \"Down\";\n Action[Action[\"PrevView\"] = 4] = \"PrevView\";\n Action[Action[\"NextView\"] = 5] = \"NextView\";\n Action[Action[\"FirstInView\"] = 6] = \"FirstInView\";\n Action[Action[\"LastInView\"] = 7] = \"LastInView\";\n Action[Action[\"LowerView\"] = 8] = \"LowerView\";\n Action[Action[\"UpperView\"] = 9] = \"UpperView\";\n})(Action || (Action = {}));\n","/**\n * The Enum which defines all possible Calendar view types.\n */\nexport var CalendarViewEnum;\n(function (CalendarViewEnum) {\n CalendarViewEnum[CalendarViewEnum[\"month\"] = 0] = \"month\";\n CalendarViewEnum[CalendarViewEnum[\"year\"] = 1] = \"year\";\n CalendarViewEnum[CalendarViewEnum[\"decade\"] = 2] = \"decade\";\n CalendarViewEnum[CalendarViewEnum[\"century\"] = 3] = \"century\";\n})(CalendarViewEnum || (CalendarViewEnum = {}));\n","import { Direction } from \"./direction.enum\";\nimport { dayOfWeek } from './day-of-week';\n/**\n * A function which returns a date by a specific week name. For example, `Day.Monday`.\n *\n * @param date - The date to calculate from.\n * @param weekDay - The `Day` enum specifying the desired week day.\n * @returns - A `Date` instance.\n *\n * @example\n * ```ts-no-run\n * prevDayOfWeek(new Date(2016, 0, 1), Day.Wednesday); // 2015-12-30, Wednesday\n * ```\n */\nexport var prevDayOfWeek = function (date, weekDay) {\n return dayOfWeek(date, weekDay, Direction.Backward);\n};\n","/**\n * The number of milliseconds in one minute.\n */\nexport var MS_PER_MINUTE = 60000;\n/**\n * The number of milliseconds in one hour.\n */\nexport var MS_PER_HOUR = 3600000;\n/**\n * The number of milliseconds in one standard day.\n */\nexport var MS_PER_DAY = 86400000;\n","import { Day } from './day.enum';\nimport { addDays } from './add-days';\nimport { createDate } from './create-date';\nimport { prevDayOfWeek } from './prev-day-of-week';\nimport { MS_PER_DAY } from './constants';\nvar moveDateToWeekStart = function (date, weekStartDay) {\n if (weekStartDay !== Day.Monday) {\n return addDays(prevDayOfWeek(date, weekStartDay), 4);\n }\n return addDays(date, (4 - (date.getDay() || 7)));\n};\nvar calcWeekInYear = function (date, weekStartDay) {\n var firstWeekInYear = createDate(date.getFullYear(), 0, 1, -6);\n var newDate = moveDateToWeekStart(date, weekStartDay);\n var diffInMS = newDate.getTime() - firstWeekInYear.getTime();\n var days = Math.floor(diffInMS / MS_PER_DAY);\n return 1 + Math.floor(days / 7);\n};\n/**\n * A function that returns the number of the week within a year, which is calculated in relation to the date.\n *\n * For more information, refer to the [**ISO week date**](https://en.wikipedia.org/wiki/ISO_week_date) article.\n *\n * @param date - The date used for the week number calculation.\n * @param weekStartDay - The first day of the week. By default, the first week day is Monday.\n * @returns - The number of the week within the year.\n *\n * @example\n * ```ts-no-run\n * weekInYear(new Date(2016, 0, 1)); // Week 53, 2015\n * weekInYear(new Date(2016, 0, 5)); // Week 1, 2016\n * weekInYear(new Date(2017, 0, 1)); // Week 52, 2016\n * weekInYear(new Date(2017, 0, 2)); // Week 1, 2017\n * ```\n */\nexport var weekInYear = function (date, weekStartDay) {\n if (weekStartDay === void 0) { weekStartDay = Day.Monday; }\n var prevWeekDate = addDays(date, -7);\n var nextWeekDate = addDays(date, 7);\n var weekNumber = calcWeekInYear(date, weekStartDay);\n if (weekNumber === 0) {\n return calcWeekInYear(prevWeekDate, weekStartDay) + 1;\n }\n if (weekNumber === 53 && calcWeekInYear(nextWeekDate, weekStartDay) > 1) {\n return 1;\n }\n return weekNumber;\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\n\nvar compareProps = function compareProps(x, y) {\n var xProps = Object.getOwnPropertyNames(x);\n var yProps = Object.getOwnPropertyNames(y);\n\n if (xProps.length !== yProps.length) {\n return false;\n }\n\n for (var i = 0; i < xProps.length; i++) {\n var propName = xProps[i];\n\n if (x[propName] !== y[propName]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * The `CalendarCell` component is internally used for rendering the items in the current view. Also be used as a custom `cell` of the [Calendar]({% slug api_dateinputs_native_calendarprops %}#toc-cell).\n *\n * * [Customizing the cells inside the Calendar view]({% slug custom_rendering_calendar_native %}#toc-cells-inside-the-view)\n */\n\n\nvar CalendarCell = {\n name: 'KendoCalendarCell',\n // @ts-ignore\n emits: {\n 'click': null,\n 'mousedown': null,\n 'mouseenter': null,\n 'mouseleave': null\n },\n props: {\n isDisabled: Boolean,\n view: Number,\n formattedValue: String,\n id: String,\n isWeekend: Boolean,\n isFocused: Boolean,\n isSelected: Boolean,\n isInRange: Boolean,\n isRangeStart: Boolean,\n isRangeEnd: Boolean,\n isRangeMid: Boolean,\n isRangeSplitEnd: Boolean,\n isRangeSplitStart: Boolean,\n isToday: Boolean,\n title: String,\n value: Date\n },\n // Manually checking if the component needs an update\n // due to date object being compared by instance\n // and new Date object is created\n // every time and fails the shallow compare of the Vue.PureComponent.\n\n /**\n * @hidden\n */\n updated: function updated() {// const { value, ...props } = this.props;\n // const { value: newValue, ...newProps } = nextProps;\n // const valueEqual = !(value && newValue) || value.getTime() === newValue.getTime();\n // return !(valueEqual && compareProps(props, newProps));\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // tslint:disable:max-line-length\n\n /**\n * @return\n * Returns a `` element with a `` inside to apply the styles. The text inside is the [`formattedValue`]({% slug api_dateinputs_calendarcellprops %}#toc-formattedvalue) of the `cell`.\n */\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n formattedValue = _a.formattedValue,\n isWeekend = _a.isWeekend,\n isFocused = _a.isFocused,\n isInRange = _a.isInRange,\n isSelected = _a.isSelected,\n isRangeStart = _a.isRangeStart,\n isRangeMid = _a.isRangeMid,\n isRangeEnd = _a.isRangeEnd,\n isRangeSplitStart = _a.isRangeSplitStart,\n isRangeSplitEnd = _a.isRangeSplitEnd,\n isToday = _a.isToday,\n isDisabled = _a.isDisabled,\n view = _a.view,\n value = _a.value;\n var isEndActive = this.$props.activeRangeEnd === 'end' && isRangeEnd;\n var isStartActive = this.$props.activeRangeEnd === 'start' && isRangeStart;\n return h(\"td\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n title: this.$props.title\n },\n title: this.$props.title,\n \"class\": {\n 'k-calendar-td': true,\n 'k-range-end': isRangeEnd,\n 'k-range-mid': isRangeMid,\n 'k-range-split-end': isRangeSplitEnd,\n 'k-range-split-start': isRangeSplitStart,\n 'k-range-start': isRangeStart,\n 'k-state-active': isStartActive || isEndActive,\n 'k-state-focused': isFocused,\n 'k-state-selected': isSelected || isRangeStart || isRangeEnd,\n 'k-today': isToday,\n 'k-weekend': isWeekend,\n 'k-state-disabled': isDisabled\n },\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseenter\": this.handleMouseEnter,\n \"mouseleave\": this.handleMouseLeave\n },\n onMousedown: this.handleMouseDown,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave\n }, [h(\"span\", {\n \"class\": \"k-link\"\n }, [defaultSlot])]);\n },\n // tslint:enable:max-line-length\n methods: {\n handleClick: function handleClick(event) {\n var value = this.$props.value;\n this.$emit('click', value, event);\n },\n handleMouseDown: function handleMouseDown(event) {\n var value = this.$props.value;\n this.$emit('mousedown', value, event);\n },\n handleMouseEnter: function handleMouseEnter() {\n var value = this.$props.value;\n this.$emit('mouseenter', value);\n },\n handleMouseLeave: function handleMouseLeave() {\n var value = this.$props.value;\n this.$emit('mouseleave', value);\n }\n }\n};\nvar CalendarCellVue3 = CalendarCell;\nexport { CalendarCell, CalendarCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * The `CalendarWeekCell` component is internally used for rendering the week cells inside the `month` view of the Calendar. Also used as a [custom week cell for the Calendar]({% slug api_dateinputs_native_calendarprops %}#toc-weekcell) and the [MultiViewCalendar]({% slug api_dateinputs_multiviewcalendarprops %}#toc-weekcell) components.\n *\n * * [Customizing week-column cells in the Calendar]({% slug custom_rendering_calendar_native %}#toc-cells-inside-the-week-column)\n */\n\nvar CalendarWeekCell = {\n props: {\n id: String,\n value: Number\n },\n // @ts-ignore\n emits: {\n 'click': null\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n\n /**\n * @return\n * Returns a `` element with the [`value`]({% slug api_dateinputs_calendarweekcellprops %}#toc-value) as a child.\n */\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"td\", {\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n },\n value: this.$props.value,\n attrs: this.v3 ? undefined : {\n value: this.$props.value,\n id: this.$props.id\n },\n id: this.$props.id\n }, [defaultSlot]);\n },\n methods: {\n handleClick: function handleClick(event) {\n var value = this.$props.value;\n this.$emit('click', value, event);\n }\n }\n};\nvar CalendarWeekCellVue3 = CalendarWeekCell;\nexport { CalendarWeekCell, CalendarWeekCellVue3 };","/**\n * @hidden\n */\nexport var EMPTY_SELECTIONRANGE = { start: null, end: null };\n","var _a;\n/* tslint:disable:object-literal-sort-keys */\nimport { addDecades, addCenturies, cloneDate, durationInCenturies, firstYearOfDecade, firstDecadeOfCentury, lastDecadeOfCentury } from '@progress/kendo-date-math';\nimport { Action, EMPTY_SELECTIONRANGE } from '../models';\nimport { getToday, isInRange, isInSelectionRange, range } from '../../utils';\nvar EMPTY_DATA = [[]];\nvar CELLS_LENGTH = 4;\nvar ROWS_LENGTH = 3;\nvar ACTIONS = (_a = {},\n _a[Action.Left] = function (date) { return addDecades(date, -1); },\n _a[Action.Up] = function (date) { return addDecades(date, -4); },\n _a[Action.Right] = function (date) { return addDecades(date, 1); },\n _a[Action.Down] = function (date) { return addDecades(date, 4); },\n _a[Action.PrevView] = function (date) { return addCenturies(date, -1); },\n _a[Action.NextView] = function (date) { return addCenturies(date, 1); },\n _a[Action.FirstInView] = function (date) { return firstDecadeOfCentury(date); },\n _a[Action.LastInView] = function (date) { return lastDecadeOfCentury(date); },\n _a);\n/**\n * @hidden\n */\nvar CenturyViewService = /** @class */ (function () {\n function CenturyViewService() {\n }\n CenturyViewService.prototype.addToDate = function (min, skip) {\n return addCenturies(min, skip);\n };\n CenturyViewService.prototype.datesList = function (start, count) {\n return range(0, count).map(function (i) { return addCenturies(start, i); });\n };\n CenturyViewService.prototype.data = function (options) {\n var _this = this;\n var cellUID = options.cellUID, focusedDate = options.focusedDate, isActiveView = options.isActiveView, max = options.max, min = options.min, selectedDate = options.selectedDate, _a = options.selectionRange, selectionRange = _a === void 0 ? EMPTY_SELECTIONRANGE : _a, viewDate = options.viewDate;\n if (!viewDate) {\n return EMPTY_DATA;\n }\n var cells = range(0, CELLS_LENGTH);\n var firstDate = firstDecadeOfCentury(viewDate);\n var lastDate = lastDecadeOfCentury(viewDate);\n var today = getToday();\n return range(0, ROWS_LENGTH).map(function (rowOffset) {\n var baseDate = addDecades(firstDate, rowOffset * CELLS_LENGTH);\n return cells.map(function (cellOffset) {\n var cellDate = _this.normalize(addDecades(baseDate, cellOffset), min, max);\n var changedDecade = !_this.isInSameView(cellDate, lastDate);\n if (changedDecade) {\n return null;\n }\n var isRangeStart = _this.isEqual(cellDate, selectionRange.start);\n var isRangeEnd = _this.isEqual(cellDate, selectionRange.end);\n var isInMiddle = !isRangeStart && !isRangeEnd;\n var isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);\n var isSelected = isActiveView && (!Array.isArray(selectedDate)\n ? isInRange(selectedDate, min, max) && _this.isEqual(cellDate, selectedDate)\n : _this.isSelectedFromArray(cellDate, selectedDate, min, max));\n return {\n formattedValue: _this.value(cellDate),\n id: \"\" + cellUID + cellDate.getTime(),\n isFocused: _this.isEqual(cellDate, focusedDate),\n isSelected: isSelected,\n isWeekend: false,\n isInRange: isInRange(cellDate, min, max),\n isRangeStart: isRangeStart,\n isRangeMid: isRangeMid,\n isRangeEnd: isRangeEnd,\n isRangeSplitEnd: isRangeMid && _this.isEqual(cellDate, lastDate),\n isRangeSplitStart: isRangeMid && _this.isEqual(cellDate, firstDate),\n isToday: _this.isEqual(cellDate, today),\n title: _this.cellTitle(cellDate),\n value: cellDate\n };\n });\n });\n };\n CenturyViewService.prototype.isSelectedFromArray = function (candidate, dates, min, max) {\n var _this = this;\n var result = false;\n dates.forEach(function (date) {\n if (isInRange(candidate, min, max) && _this.isEqual(candidate, date)) {\n result = true;\n }\n });\n return result;\n };\n CenturyViewService.prototype.isEqual = function (candidate, expected) {\n if (!candidate || !expected) {\n return false;\n }\n // TODO: double-check this!\n return firstYearOfDecade(candidate).getFullYear() === firstYearOfDecade(expected).getFullYear();\n };\n CenturyViewService.prototype.isInArray = function (date, dates) {\n if (!dates.length) {\n return false;\n }\n var year = date.getFullYear();\n return dates[0].getFullYear() <= year && year <= (dates[dates.length - 1].getFullYear() + 99);\n };\n CenturyViewService.prototype.isInRange = function (candidate, min, max) {\n var year = firstYearOfDecade(candidate).getFullYear();\n var aboveMin = !min || firstYearOfDecade(min).getFullYear() <= year;\n var belowMax = !max || year <= firstYearOfDecade(max).getFullYear();\n return aboveMin && belowMax;\n };\n CenturyViewService.prototype.isInSameView = function (candidate, value) {\n return durationInCenturies(candidate, value) === 0;\n };\n CenturyViewService.prototype.isRangeStart = function (value) {\n return value.getFullYear() % 1000 === 0;\n };\n CenturyViewService.prototype.move = function (value, action) {\n var modifier = ACTIONS[action];\n if (!modifier) {\n return value;\n }\n return modifier(value);\n };\n CenturyViewService.prototype.cellTitle = function (value) {\n return firstYearOfDecade(value).getFullYear().toString();\n };\n CenturyViewService.prototype.navigationTitle = function (value) {\n return value ? firstDecadeOfCentury(value).getFullYear().toString() : '';\n };\n CenturyViewService.prototype.title = function (value) {\n if (!value) {\n return '';\n }\n return firstDecadeOfCentury(value).getFullYear() + \" - \" + lastDecadeOfCentury(value).getFullYear();\n };\n CenturyViewService.prototype.rowLength = function (_) {\n return CELLS_LENGTH;\n };\n CenturyViewService.prototype.skip = function (value, min) {\n return durationInCenturies(min, value);\n };\n CenturyViewService.prototype.total = function (min, max) {\n return durationInCenturies(min, max) + 1;\n };\n CenturyViewService.prototype.value = function (current) {\n return current ? firstYearOfDecade(current).getFullYear().toString() : '';\n };\n CenturyViewService.prototype.viewDate = function (date, max, border) {\n if (border === void 0) { border = 1; }\n var renderTwoViews = durationInCenturies(date, max) < border;\n return renderTwoViews ? addCenturies(date, -1) : date;\n };\n CenturyViewService.prototype.normalize = function (cellDate, min, max) {\n if (cellDate < min && this.isEqual(cellDate, min)) {\n return cloneDate(min);\n }\n if (cellDate > max && this.isEqual(cellDate, max)) {\n return cloneDate(max);\n }\n return cellDate;\n };\n return CenturyViewService;\n}());\nexport { CenturyViewService };\n","var _a;\nimport { addDecades, addYears, cloneDate, durationInDecades, firstYearOfDecade, lastYearOfDecade } from '@progress/kendo-date-math';\nimport { Action } from '../models/NavigationAction';\nimport { EMPTY_SELECTIONRANGE } from '../models/SelectionRange';\nimport { getToday, isInRange, isInSelectionRange, range } from '../../utils';\nvar EMPTY_DATA = [[]];\nvar CELLS_LENGTH = 4;\nvar ROWS_LENGTH = 3;\nvar ACTIONS = (_a = {},\n _a[Action.Left] = function (date) { return addYears(date, -1); },\n _a[Action.Up] = function (date) { return addYears(date, -4); },\n _a[Action.Right] = function (date) { return addYears(date, 1); },\n _a[Action.Down] = function (date) { return addYears(date, 4); },\n _a[Action.PrevView] = function (date) { return addDecades(date, -1); },\n _a[Action.NextView] = function (date) { return addDecades(date, 1); },\n _a[Action.FirstInView] = function (date) { return firstYearOfDecade(date); },\n _a[Action.LastInView] = function (date) { return lastYearOfDecade(date); },\n _a);\n/**\n * @hidden\n */\nvar DecadeViewService = /** @class */ (function () {\n function DecadeViewService() {\n }\n DecadeViewService.prototype.addToDate = function (min, skip) {\n return addDecades(min, skip);\n };\n DecadeViewService.prototype.datesList = function (start, count) {\n return range(0, count).map(function (i) { return addDecades(firstYearOfDecade(start), i); });\n };\n DecadeViewService.prototype.data = function (options) {\n var _this = this;\n var cellUID = options.cellUID, focusedDate = options.focusedDate, isActiveView = options.isActiveView, max = options.max, min = options.min, selectedDate = options.selectedDate, _a = options.selectionRange, selectionRange = _a === void 0 ? EMPTY_SELECTIONRANGE : _a, viewDate = options.viewDate;\n if (!viewDate) {\n return EMPTY_DATA;\n }\n var cells = range(0, CELLS_LENGTH);\n var firstDate = firstYearOfDecade(viewDate);\n var lastDate = lastYearOfDecade(viewDate);\n var today = getToday();\n return range(0, ROWS_LENGTH).map(function (rowOffset) {\n var baseDate = addYears(firstDate, rowOffset * CELLS_LENGTH);\n return cells.map(function (cellOffset) {\n var cellDate = _this.normalize(addYears(baseDate, cellOffset), min, max);\n var changedDecade = !_this.isInSameView(cellDate, lastDate);\n if (changedDecade) {\n return null;\n }\n var isRangeStart = _this.isEqual(cellDate, selectionRange.start);\n var isRangeEnd = _this.isEqual(cellDate, selectionRange.end);\n var isInMiddle = !isRangeStart && !isRangeEnd;\n var isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);\n var isSelected = isActiveView && (!Array.isArray(selectedDate)\n ? isInRange(selectedDate, min, max) && _this.isEqual(cellDate, selectedDate)\n : _this.isSelectedFromArray(cellDate, selectedDate, min, max));\n return {\n formattedValue: _this.value(cellDate),\n id: \"\" + cellUID + cellDate.getTime(),\n isFocused: _this.isEqual(cellDate, focusedDate),\n isSelected: isSelected,\n isWeekend: false,\n isInRange: isInRange(cellDate, min, max),\n isRangeStart: isRangeStart,\n isRangeMid: isRangeMid,\n isRangeEnd: isRangeEnd,\n isRangeSplitEnd: isRangeMid && _this.isEqual(cellDate, lastDate),\n isRangeSplitStart: isRangeMid && _this.isEqual(cellDate, firstDate),\n isToday: _this.isEqual(cellDate, today),\n title: _this.cellTitle(cellDate),\n value: cellDate\n };\n });\n });\n };\n DecadeViewService.prototype.isSelectedFromArray = function (candidate, dates, min, max) {\n var _this = this;\n var result = false;\n dates.forEach(function (date) {\n if (isInRange(candidate, min, max) && _this.isEqual(candidate, date)) {\n result = true;\n }\n });\n return result;\n };\n DecadeViewService.prototype.isEqual = function (candidate, expected) {\n if (!candidate || !expected) {\n return false;\n }\n return candidate.getFullYear() === expected.getFullYear();\n };\n DecadeViewService.prototype.isInArray = function (date, dates) {\n if (!dates.length) {\n return false;\n }\n var year = date.getFullYear();\n return dates[0].getFullYear() <= year && year <= (dates[dates.length - 1].getFullYear() + 9);\n };\n DecadeViewService.prototype.isInRange = function (candidate, min, max) {\n var year = candidate.getFullYear();\n var aboveMin = !min || min.getFullYear() <= year;\n var belowMax = !max || year <= max.getFullYear();\n return aboveMin && belowMax;\n };\n DecadeViewService.prototype.isRangeStart = function (value) {\n return value.getFullYear() % 100 === 0;\n };\n DecadeViewService.prototype.isInSameView = function (candidate, value) {\n return durationInDecades(candidate, value) === 0;\n };\n DecadeViewService.prototype.move = function (value, action) {\n var modifier = ACTIONS[action];\n if (!modifier) {\n return value;\n }\n return modifier(value);\n };\n DecadeViewService.prototype.cellTitle = function (value) {\n return value.getFullYear().toString();\n };\n DecadeViewService.prototype.navigationTitle = function (value) {\n return value ? firstYearOfDecade(value).getFullYear().toString() : '';\n };\n DecadeViewService.prototype.title = function (value) {\n if (!value) {\n return '';\n }\n return firstYearOfDecade(value).getFullYear() + \" - \" + lastYearOfDecade(value).getFullYear();\n };\n DecadeViewService.prototype.rowLength = function (_) {\n return CELLS_LENGTH;\n };\n DecadeViewService.prototype.skip = function (value, min) {\n return durationInDecades(min, value);\n };\n DecadeViewService.prototype.total = function (min, max) {\n return durationInDecades(min, max) + 1;\n };\n DecadeViewService.prototype.value = function (current) {\n return current ? current.getFullYear().toString() : '';\n };\n DecadeViewService.prototype.viewDate = function (date, max, border) {\n if (border === void 0) { border = 1; }\n var renderTwoViews = durationInDecades(date, max) < border;\n return renderTwoViews ? addDecades(date, -1) : date;\n };\n DecadeViewService.prototype.normalize = function (cellDate, min, max) {\n if (cellDate < min && this.isEqual(cellDate, min)) {\n return cloneDate(min);\n }\n if (cellDate > max && this.isEqual(cellDate, max)) {\n return cloneDate(max);\n }\n return cellDate;\n };\n return DecadeViewService;\n}());\nexport { DecadeViewService };\n","var _a;\nimport { addDays, addWeeks, addMonths, dayOfWeek, durationInMonths, getDate, firstDayOfMonth, lastDayOfMonth } from '@progress/kendo-date-math';\nimport { Action } from '../models/NavigationAction';\nimport { EMPTY_SELECTIONRANGE } from '../models/SelectionRange';\nimport { getToday, isInRange, isInSelectionRange, range } from '../../utils';\nvar EMPTY_DATA = [[]];\nvar CELLS_LENGTH = 7;\nvar ROWS_LENGTH = 6;\nvar SATURDAY = 6;\nvar SUNDAY = 0;\nvar ACTIONS = (_a = {},\n _a[Action.Left] = function (date) { return addDays(date, -1); },\n _a[Action.Up] = function (date) { return addWeeks(date, -1); },\n _a[Action.Right] = function (date) { return addDays(date, 1); },\n _a[Action.Down] = function (date) { return addWeeks(date, 1); },\n _a[Action.PrevView] = function (date) { return addMonths(date, -1); },\n _a[Action.NextView] = function (date) { return addMonths(date, 1); },\n _a[Action.FirstInView] = function (date) { return firstDayOfMonth(date); },\n _a[Action.LastInView] = function (date) { return lastDayOfMonth(date); },\n _a);\n/**\n * @hidden\n */\nvar MonthViewService = /** @class */ (function () {\n function MonthViewService(intl) {\n this.intl = intl;\n }\n MonthViewService.prototype.addToDate = function (min, skip) {\n return addMonths(min, skip);\n };\n MonthViewService.prototype.datesList = function (start, count) {\n return range(0, count).map(function (i) { return addMonths(start, i); });\n };\n MonthViewService.prototype.data = function (options) {\n var _this = this;\n var cellUID = options.cellUID, focusedDate = options.focusedDate, isActiveView = options.isActiveView, max = options.max, min = options.min, selectedDate = options.selectedDate, _a = options.selectionRange, selectionRange = _a === void 0 ? EMPTY_SELECTIONRANGE : _a, viewDate = options.viewDate;\n if (!viewDate) {\n return EMPTY_DATA;\n }\n var firstMonthDate = firstDayOfMonth(viewDate);\n var lastMonthDate = lastDayOfMonth(viewDate);\n var backward = -1;\n var date = dayOfWeek(firstMonthDate, this.intl.firstDay(), backward);\n var cells = range(0, CELLS_LENGTH);\n var today = getToday();\n return range(0, ROWS_LENGTH).map(function (rowOffset) {\n var baseDate = addDays(date, rowOffset * CELLS_LENGTH);\n return cells.map(function (cellOffset) {\n var cellDate = _this.normalize(addDays(baseDate, cellOffset), min, max);\n var otherMonth = cellDate < firstMonthDate || cellDate > lastMonthDate;\n if (otherMonth) {\n return null;\n }\n var isRangeStart = _this.isEqual(cellDate, selectionRange.start);\n var isRangeEnd = _this.isEqual(cellDate, selectionRange.end);\n var isInMiddle = !isRangeStart && !isRangeEnd;\n var isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);\n var isSelected = isActiveView && (!Array.isArray(selectedDate)\n ? isInRange(selectedDate, min, max) && _this.isEqual(cellDate, selectedDate)\n : _this.isSelectedFromArray(cellDate, selectedDate, min, max));\n var cell = {\n formattedValue: _this.value(cellDate),\n id: \"\" + cellUID + cellDate.getTime(),\n isFocused: _this.isEqual(cellDate, focusedDate),\n isSelected: isSelected,\n isInRange: isInRange(cellDate, min, max),\n isWeekend: _this.isWeekend(cellDate),\n isRangeStart: isRangeStart,\n isRangeMid: isRangeMid,\n isRangeEnd: isRangeEnd,\n isRangeSplitStart: isRangeMid && _this.isEqual(cellDate, firstMonthDate),\n isRangeSplitEnd: isRangeMid && _this.isEqual(cellDate, lastMonthDate),\n isToday: _this.isEqual(cellDate, today),\n title: _this.cellTitle(cellDate),\n value: cellDate\n };\n return cell;\n });\n });\n };\n MonthViewService.prototype.isEqual = function (candidate, expected) {\n if (!candidate || !expected) {\n return false;\n }\n return getDate(candidate).getTime() === getDate(expected).getTime();\n };\n MonthViewService.prototype.isSelectedFromArray = function (candidate, dates, min, max) {\n var _this = this;\n var result = false;\n dates.forEach(function (date) {\n if (isInRange(candidate, min, max) && _this.isEqual(candidate, date)) {\n result = true;\n }\n });\n return result;\n };\n MonthViewService.prototype.isInArray = function (date, dates) {\n return !!dates.length && firstDayOfMonth(dates[0]) <= date && date <= lastDayOfMonth(dates[dates.length - 1]);\n };\n MonthViewService.prototype.isInRange = function (candidate, min, max) {\n var value = getDate(candidate);\n var aboveMin = !min || getDate(min) <= value;\n var belowMax = !max || value <= getDate(max);\n return aboveMin && belowMax;\n };\n MonthViewService.prototype.isInSameView = function (candidate, value) {\n return durationInMonths(candidate, value) === 0;\n };\n MonthViewService.prototype.isRangeStart = function (value) {\n return !value.getMonth();\n };\n MonthViewService.prototype.move = function (value, action) {\n var modifier = ACTIONS[action];\n if (!modifier) {\n return value;\n }\n return modifier(value);\n };\n MonthViewService.prototype.cellTitle = function (value) {\n return this.intl.formatDate(value, 'D');\n };\n MonthViewService.prototype.navigationTitle = function (value) {\n if (!value) {\n return '';\n }\n return this.isRangeStart(value) ? value.getFullYear().toString() : this.abbrMonthNames()[value.getMonth()];\n };\n MonthViewService.prototype.title = function (current) {\n return this.wideMonthNames()[current.getMonth()] + \" \" + current.getFullYear();\n };\n MonthViewService.prototype.rowLength = function (prependCell) {\n return CELLS_LENGTH + (prependCell ? 1 : 0);\n };\n MonthViewService.prototype.skip = function (value, min) {\n return durationInMonths(min, value);\n };\n MonthViewService.prototype.total = function (min, max) {\n return durationInMonths(min, max) + 1;\n };\n MonthViewService.prototype.value = function (current) {\n return current ? current.getDate().toString() : '';\n };\n MonthViewService.prototype.viewDate = function (date, max, border) {\n if (border === void 0) { border = 1; }\n var renderTwoViews = durationInMonths(date, max) < border;\n return renderTwoViews ? addMonths(date, -1) : date;\n };\n MonthViewService.prototype.isWeekend = function (date) {\n var day = date.getDay();\n return day === SATURDAY || day === SUNDAY;\n };\n MonthViewService.prototype.abbrMonthNames = function () {\n return this.intl.dateFormatNames({ nameType: 'abbreviated', type: 'months' });\n };\n MonthViewService.prototype.normalize = function (cellDate, min, max) {\n if (cellDate < min && this.isEqual(cellDate, min)) {\n return getDate(min);\n }\n if (cellDate > max && this.isEqual(cellDate, max)) {\n return getDate(max);\n }\n return cellDate;\n };\n MonthViewService.prototype.wideMonthNames = function () {\n return this.intl.dateFormatNames({ nameType: 'wide', type: 'months' });\n };\n return MonthViewService;\n}());\nexport { MonthViewService };\n","var _a;\nimport { addMonths, addYears, createDate, durationInYears, firstMonthOfYear, lastMonthOfYear } from '@progress/kendo-date-math';\nimport { Action } from '../models/NavigationAction';\nimport { getToday, isInRange, isInSelectionRange, range } from '../../utils';\nimport { EMPTY_SELECTIONRANGE } from '../models/SelectionRange';\nimport { cloneDate } from '@progress/kendo-vue-common';\nvar EMPTY_DATA = [[]];\nvar CELLS_LENGTH = 4;\nvar ROWS_LENGTH = 3;\nvar ACTIONS = (_a = {},\n _a[Action.Left] = function (date) { return addMonths(date, -1); },\n _a[Action.Up] = function (date) { return addMonths(date, -4); },\n _a[Action.Right] = function (date) { return addMonths(date, 1); },\n _a[Action.Down] = function (date) { return addMonths(date, 4); },\n _a[Action.PrevView] = function (date) { return addYears(date, -1); },\n _a[Action.NextView] = function (date) { return addYears(date, 1); },\n _a[Action.FirstInView] = function (date) { return firstMonthOfYear(date); },\n _a[Action.LastInView] = function (date) { return lastMonthOfYear(date); },\n _a);\n/**\n * @hidden\n */\nvar YearViewService = /** @class */ (function () {\n function YearViewService(intl) {\n this._intl = intl;\n }\n YearViewService.prototype.addToDate = function (min, skip) {\n return addYears(min, skip);\n };\n YearViewService.prototype.datesList = function (start, count) {\n return range(0, count).map(function (i) { return addYears(start, i); });\n };\n YearViewService.prototype.data = function (options) {\n var _this = this;\n var cellUID = options.cellUID, focusedDate = options.focusedDate, isActiveView = options.isActiveView, max = options.max, min = options.min, selectedDate = options.selectedDate, _a = options.selectionRange, selectionRange = _a === void 0 ? EMPTY_SELECTIONRANGE : _a, viewDate = options.viewDate;\n if (!viewDate) {\n return EMPTY_DATA;\n }\n var months = this.abbrMonthNames();\n var firstDate = firstMonthOfYear(viewDate);\n var lastDate = lastMonthOfYear(viewDate);\n var currentYear = firstDate.getFullYear();\n var cells = range(0, CELLS_LENGTH);\n var today = getToday();\n return range(0, ROWS_LENGTH).map(function (rowOffset) {\n var baseDate = addMonths(firstDate, rowOffset * CELLS_LENGTH);\n return cells.map(function (cellOffset) {\n var cellDate = _this.normalize(addMonths(baseDate, cellOffset), min, max);\n if (!cellDate) {\n return null;\n }\n var changedYear = currentYear < cellDate.getFullYear();\n if (changedYear) {\n return null;\n }\n var isRangeStart = _this.isEqual(cellDate, selectionRange.start);\n var isRangeEnd = _this.isEqual(cellDate, selectionRange.end);\n var isInMiddle = !isRangeStart && !isRangeEnd;\n var isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);\n var isSelected = isActiveView && (!Array.isArray(selectedDate)\n ? isInRange(selectedDate, min, max) && _this.isEqual(cellDate, selectedDate)\n : _this.isSelectedFromArray(cellDate, selectedDate, min, max));\n return {\n formattedValue: months[cellDate.getMonth()],\n id: \"\" + cellUID + cellDate.getTime(),\n isFocused: _this.isEqual(cellDate, focusedDate),\n isSelected: isSelected,\n isInRange: isInRange(cellDate, min, max),\n isWeekend: false,\n isRangeStart: isRangeStart,\n isRangeMid: isRangeMid,\n isRangeEnd: isRangeEnd,\n isRangeSplitEnd: isRangeMid && _this.isEqual(cellDate, lastDate),\n isRangeSplitStart: isRangeMid && _this.isEqual(cellDate, firstDate),\n isToday: _this.isEqual(cellDate, today),\n title: _this.cellTitle(cellDate),\n value: cellDate\n };\n });\n });\n };\n YearViewService.prototype.isSelectedFromArray = function (candidate, dates, min, max) {\n var _this = this;\n var result = false;\n dates.forEach(function (date) {\n if (isInRange(candidate, min, max) && _this.isEqual(candidate, date)) {\n result = true;\n }\n });\n return result;\n };\n YearViewService.prototype.isEqual = function (candidate, expected) {\n if (!candidate || !expected) {\n return false;\n }\n return candidate.getFullYear() === expected.getFullYear() &&\n candidate.getMonth() === expected.getMonth();\n };\n YearViewService.prototype.isInArray = function (date, dates) {\n if (!dates.length) {\n return false;\n }\n var year = date.getFullYear();\n return dates[0].getFullYear() <= year && year <= dates[dates.length - 1].getFullYear();\n };\n YearViewService.prototype.isInRange = function (candidate, min, max) {\n var candidateValue = createDate(candidate.getFullYear(), candidate.getMonth(), 1);\n var aboveMin = !min || createDate(min.getFullYear(), min.getMonth(), 1) <= candidateValue;\n var belowMax = !max || candidateValue <= createDate(max.getFullYear(), max.getMonth(), 1);\n return aboveMin && belowMax;\n };\n YearViewService.prototype.isInSameView = function (candidate, value) {\n return durationInYears(candidate, value) === 0;\n };\n YearViewService.prototype.isRangeStart = function (value) {\n return value.getFullYear() % 10 === 0;\n };\n YearViewService.prototype.move = function (value, action) {\n var modifier = ACTIONS[action];\n if (!modifier) {\n return value;\n }\n return modifier(value);\n };\n YearViewService.prototype.cellTitle = function (value) {\n return value.getFullYear() + \" \" + this.value(value);\n };\n YearViewService.prototype.navigationTitle = function (value) {\n return this.title(value);\n };\n YearViewService.prototype.title = function (current) {\n return current ? current.getFullYear().toString() : '';\n };\n YearViewService.prototype.rowLength = function (_) {\n return CELLS_LENGTH;\n };\n YearViewService.prototype.skip = function (value, min) {\n return durationInYears(min, value);\n };\n YearViewService.prototype.total = function (min, max) {\n return durationInYears(min, max) + 1;\n };\n YearViewService.prototype.value = function (current) {\n return current ? this.abbrMonthNames()[current.getMonth()] : '';\n };\n YearViewService.prototype.viewDate = function (date, max, border) {\n if (border === void 0) { border = 1; }\n var renderTwoViews = durationInYears(date, max) < border;\n return renderTwoViews ? addYears(date, -1) : date;\n };\n YearViewService.prototype.abbrMonthNames = function () {\n return this._intl.dateFormatNames({ nameType: 'abbreviated', type: 'months' });\n };\n YearViewService.prototype.normalize = function (cellDate, min, max) {\n if (cellDate < min && this.isEqual(cellDate, min)) {\n return cloneDate(min);\n }\n if (cellDate > max && this.isEqual(cellDate, max)) {\n return cloneDate(max);\n }\n return cellDate;\n };\n return YearViewService;\n}());\nexport { YearViewService };\n","var _a;\nimport { CenturyViewService } from './CenturyViewService';\nimport { DecadeViewService } from './DecadeViewService';\nimport { MonthViewService } from './MonthViewService';\nimport { YearViewService } from './YearViewService';\nimport { CalendarViewEnum } from '../models/CalendarViewEnum';\nvar services = (_a = {},\n _a[CalendarViewEnum.month] = MonthViewService,\n _a[CalendarViewEnum.year] = YearViewService,\n _a[CalendarViewEnum.decade] = DecadeViewService,\n _a[CalendarViewEnum.century] = CenturyViewService,\n _a);\nvar viewOffset = function (view, offset) {\n var candidate = CalendarViewEnum[CalendarViewEnum[view + offset]];\n return candidate !== undefined ? candidate : view;\n};\n/**\n * @hidden\n */\nvar BusViewService = /** @class */ (function () {\n function BusViewService(onViewChanged) {\n this.bottom = CalendarViewEnum.month;\n this.top = CalendarViewEnum.century;\n this.onViewChanged = onViewChanged;\n }\n BusViewService.prototype.configure = function (bottom, top) {\n this.bottom = bottom;\n this.top = top;\n };\n BusViewService.prototype.service = function (view, intl) {\n return new services[\"\" + view](intl);\n };\n BusViewService.prototype.moveDown = function (view, event) {\n this.move(view, -1, event);\n };\n BusViewService.prototype.moveUp = function (view, event) {\n this.move(view, 1, event);\n };\n BusViewService.prototype.moveToBottom = function (activeView) {\n if (activeView === this.bottom) {\n return;\n }\n this.onViewChanged({ view: this.bottom });\n };\n BusViewService.prototype.canMoveDown = function (view) {\n return this.bottom < view;\n };\n BusViewService.prototype.canMoveUp = function (view) {\n return view < this.top;\n };\n BusViewService.prototype.clamp = function (view) {\n if (view < this.bottom) {\n return this.bottom;\n }\n if (view > this.top) {\n return this.top;\n }\n return view;\n };\n BusViewService.prototype.move = function (view, offset, event) {\n var candidate = this.clamp(viewOffset(view, offset));\n if (candidate === view) {\n return;\n }\n this.onViewChanged({ view: candidate }, event);\n };\n return BusViewService;\n}());\nexport { BusViewService };\n","var _a;\n/**\n * @hidden\n */\nexport var prevView = 'calendar.prevView';\n/**\n * @hidden\n */\nexport var nextView = 'calendar.nextView';\n/**\n * @hidden\n */\nexport var increaseValue = 'dateinput.increment';\n/**\n * @hidden\n */\nexport var decreaseValue = 'dateinput.decrement';\n/**\n * @hidden\n */\nexport var today = 'calendar.today';\n/**\n * @hidden\n */\nexport var toggleCalendar = 'datepicker.toggleCalendar';\n/**\n * @hidden\n */\nexport var swapStartEnd = 'daterangepicker.swapStartEnd';\n/**\n * @hidden\n */\nexport var start = 'daterangepicker.start';\n/**\n * @hidden\n */\nexport var end = 'daterangepicker.end';\n/**\n * @hidden\n */\nexport var separator = 'daterangepicker.separator';\n/**\n * @hidden\n */\nexport var toggleDateTimeSelector = 'datetimepicker.toggleDateTimeSelector';\n/**\n * @hidden\n */\nexport var now = 'timepicker.now';\n/**\n * @hidden\n */\nexport var selectNow = 'timepicker.selectNow';\n/**\n * @hidden\n */\nexport var timePickerCancel = 'timepicker.cancel';\n/**\n * @hidden\n */\nexport var timePickerSet = 'timepicker.set';\n/**\n * @hidden\n */\nexport var toggleTimeSelector = 'timepicker.toggleTimeSelector';\n/**\n * @hidden\n */\nexport var toggleClock = 'timepicker.toggleClock';\n/**\n * @hidden\n */\nexport var date = 'datetimepicker.date';\n/**\n * @hidden\n */\nexport var time = 'datetimepicker.time';\n/**\n * @hidden\n */\nexport var dateTimePickerCancel = 'datetimepicker.cancel';\n/**\n * @hidden\n */\nexport var dateTimePickerSet = 'datetimepicker.set';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[today] = 'Today',\n _a[now] = 'NOW',\n _a[timePickerSet] = 'Set',\n _a[timePickerCancel] = 'Cancel',\n _a[date] = 'Date',\n _a[time] = 'Time',\n _a[dateTimePickerCancel] = 'Cancel',\n _a[dateTimePickerSet] = 'Set',\n _a[start] = 'Start',\n _a[end] = 'End',\n _a[separator] = ' ',\n _a[selectNow] = 'Select Now',\n _a[toggleTimeSelector] = 'Toggle TimeSelector',\n _a[toggleClock] = 'Toggle Clock',\n _a[increaseValue] = 'Increase value',\n _a[decreaseValue] = 'Decrease value',\n _a[toggleCalendar] = 'Toggle calendar',\n _a[prevView] = 'Navigate to previous view',\n _a[nextView] = 'Navigate to next view',\n _a[swapStartEnd] = 'Swap start and end values',\n _a[toggleDateTimeSelector] = 'Toggle date-time selector',\n _a);\n","var _a, _b, _c; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { classNames, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { RowHeightService, ScrollerService } from './services';\n/**\n * @hidden\n */\n\nexport var ScrollDirection;\n\n(function (ScrollDirection) {\n ScrollDirection[ScrollDirection[\"Backward\"] = 0] = \"Backward\";\n ScrollDirection[ScrollDirection[\"Forward\"] = 1] = \"Forward\";\n})(ScrollDirection || (ScrollDirection = {}));\n\nvar differenceToScroll = function differenceToScroll(scrollTop, staticOffset, maxScrollDifference) {\n return Math.min(Math.abs(staticOffset - scrollTop), maxScrollDifference);\n};\n\nvar FRAME_DURATION = 17;\nvar scrollModifiers = (_a = {}, _a[ScrollDirection.Forward] = function (step) {\n return function (value) {\n return value + step;\n };\n}, _a[ScrollDirection.Backward] = function (step) {\n return function (value) {\n return value - step;\n };\n}, _a);\nvar scrollNormalizers = (_b = {}, _b[ScrollDirection.Forward] = function (end) {\n return function (value) {\n return Math.min(value, end);\n };\n}, _b[ScrollDirection.Backward] = function (end) {\n return function (value) {\n return Math.max(value, end);\n };\n}, _b);\nvar scrollValidators = (_c = {}, _c[ScrollDirection.Forward] = function (end) {\n return function (start) {\n return start < end;\n };\n}, _c[ScrollDirection.Backward] = function (end) {\n return function (start) {\n return start > end;\n };\n}, _c);\nvar Virtualization = {\n name: 'Virtualization',\n // @ts-ignore\n emits: {\n scroll: null,\n scrollaction: null\n },\n props: {\n bottomOffset: {\n type: Number,\n required: true\n },\n direction: {\n type: String,\n default: function _default() {\n return 'vertical';\n }\n },\n forceScroll: {\n type: Boolean,\n default: false\n },\n itemHeight: Number,\n itemWidth: Number,\n maxScrollDifference: {\n type: Number,\n default: 100\n },\n scrollDuration: {\n type: Number,\n default: 100\n },\n scrollOffsetSize: {\n type: Number,\n default: 0\n },\n skip: {\n type: Number,\n required: true\n },\n tabIndex: Number,\n take: {\n type: Number,\n required: true\n },\n topOffset: {\n type: Number,\n required: true\n },\n total: {\n type: Number,\n required: true\n },\n role: String\n },\n created: function created() {\n this.animationInProgress = false;\n this.lastTotal = undefined;\n this.scrollerService = new ScrollerService(this.handleScrollAction, this.handlePageAction);\n },\n mounted: function mounted() {\n this.scrollContainer = this.$refs.scrollContainer;\n },\n computed: {\n element: function element() {\n return this.scrollContainer;\n }\n },\n methods: {\n containerOffsetSize: function containerOffsetSize() {\n return this.getContainerProperty(this.$props.direction === 'vertical' ? 'offsetHeight' : 'offsetWidth');\n },\n containerScrollSize: function containerScrollSize() {\n return this.getContainerProperty(this.$props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth');\n },\n containerScrollPosition: function containerScrollPosition() {\n return this.getContainerProperty(this.$props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft');\n },\n activeIndex: function activeIndex() {\n return this.itemIndex(Math.ceil(this.containerScrollPosition()));\n },\n itemIndex: function itemIndex(offset) {\n if (!this.rowHeightService) {\n return 0;\n }\n\n return this.rowHeightService.index(offset);\n },\n itemOffset: function itemOffset(index) {\n if (!this.rowHeightService) {\n return 0;\n }\n\n return this.rowHeightService.offset(index);\n },\n isIndexVisible: function isIndexVisible(index) {\n if (!this.rowHeightService) {\n return false;\n }\n\n var containerTop = this.containerScrollPosition();\n var containerBottom = containerTop + this.containerOffsetSize();\n var top = this.rowHeightService.offset(index);\n var bottom = top + this.rowHeightService.height(index);\n return top >= containerTop && bottom <= containerBottom;\n },\n isListScrolled: function isListScrolled(index) {\n if (!this.rowHeightService) {\n return false;\n }\n\n return this.containerScrollPosition() !== this.rowHeightService.offset(index);\n },\n scrollTo: function scrollTo(value) {\n var scrollProperty = this.$props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';\n\n if (!this.scrollContainer) {\n return;\n }\n\n this.scrollContainer[scrollProperty] = value;\n },\n scrollToIndex: function scrollToIndex(index) {\n if (!this.rowHeightService) {\n return;\n }\n\n this.animationInProgress = false;\n this.scrollTo(this.rowHeightService.offset(index));\n },\n animateToIndex: function animateToIndex(index) {\n var _this = this;\n\n if (!this.rowHeightService || !window) {\n return;\n }\n\n window.cancelAnimationFrame(this.cancelAnimation);\n var indexOffset = this.rowHeightService.offset(index);\n var direction = this.getContainerScrollDirection(indexOffset);\n\n var _a = this.scrollRange(indexOffset, direction),\n start = _a.start,\n end = _a.end;\n\n if (start === end) {\n return;\n }\n\n var step = this.scrollStep(start, end);\n var modifyScroll = scrollModifiers[direction](step);\n var normalizeScroll = scrollNormalizers[direction](end);\n var isScrollValid = scrollValidators[direction](modifyScroll(end));\n\n var animate = function animate(progress) {\n _this.animationInProgress = true;\n var next = modifyScroll(progress);\n\n _this.scrollTo(normalizeScroll(next));\n\n isScrollValid(next) ? _this.cancelAnimation = window.requestAnimationFrame(function () {\n animate(next);\n }) : _this.animationInProgress = false;\n };\n\n this.cancelAnimation = window.requestAnimationFrame(function () {\n animate(start);\n });\n },\n scrollToBottom: function scrollToBottom() {\n if (!this.rowHeightService) {\n return;\n }\n\n this.scrollTo(this.rowHeightService.totalHeight() + this.$props.bottomOffset);\n },\n scrollStep: function scrollStep(start, end) {\n var duration = this.$props.scrollDuration;\n return Math.abs(end - start) / (duration / FRAME_DURATION);\n },\n scrollRange: function scrollRange(indexOffset, direction) {\n var containerScroll = this.containerScrollPosition();\n\n if (parseInt(\"\" + indexOffset, 10) === parseInt(\"\" + containerScroll, 10)) {\n return {\n start: indexOffset,\n end: indexOffset\n };\n }\n\n var maxScroll = this.containerMaxScroll();\n var sign = direction === ScrollDirection.Backward ? 1 : -1;\n var difference = differenceToScroll(containerScroll, indexOffset, this.$props.maxScrollDifference);\n var end = Math.min(indexOffset, maxScroll);\n var start = Math.min(Math.max(end + sign * difference, 0), maxScroll);\n return {\n start: start,\n end: end\n };\n },\n containerMaxScroll: function containerMaxScroll() {\n return this.containerScrollSize() - this.containerOffsetSize();\n },\n getContainerScrollDirection: function getContainerScrollDirection(indexOffset) {\n return indexOffset < this.containerScrollPosition() ? ScrollDirection.Backward : ScrollDirection.Forward;\n },\n initServices: function initServices(newProps) {\n var props = newProps || this.$props;\n var dimension = props.direction === 'vertical' ? props.itemHeight : props.itemWidth;\n\n if (dimension === undefined) {\n return;\n }\n\n this.rowHeightService = new RowHeightService(props.total, dimension, 0);\n this.scrollerService.create(this.rowHeightService, props.skip, props.take, props.total, props.topOffset, this.$props.scrollOffsetSize, this.$props.direction);\n },\n getContainerProperty: function getContainerProperty(propertyName) {\n if (!this.scrollContainer) {\n return 0;\n }\n\n return this.scrollContainer[propertyName];\n },\n handleScroll: function handleScroll(event) {\n if (!this.scrollContainer || !this.rowHeightService) {\n return;\n }\n\n var target = event.target;\n this.scrollerService.onScroll({\n scrollLeft: target.scrollLeft,\n scrollTop: target.scrollTop,\n offsetHeight: target.offsetHeight,\n offsetWidth: target.offsetWidth\n });\n var index = this.rowHeightService.index(this.containerScrollPosition() - this.$props.topOffset);\n var args = {\n index: index,\n target: target,\n scrollAction: this.scrollAction,\n pageAction: this.pageAction,\n animationInProgress: this.animationInProgress\n };\n this.$emit('scrollaction', args);\n this.scrollAction = undefined;\n this.pageAction = undefined;\n },\n handleScrollAction: function handleScrollAction(action) {\n this.scrollAction = action;\n },\n handlePageAction: function handlePageAction(action) {\n this.pageAction = action;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n\n if (this.lastTotal !== this.$props.total || this.lastDirection !== this.$props.direction || this.lastTake !== this.$props.take) {\n this.initServices();\n this.lastTotal = this.$props.total;\n this.lastDirection = this.$props.direction;\n this.lastTake = this.$props.take;\n }\n\n var vertexLength = \"\" + ((this.rowHeightService ? this.rowHeightService.totalHeight() : 0) + this.$props.bottomOffset);\n var placeholderStyle = this.$props.direction === 'vertical' ? {\n height: vertexLength + \"px\"\n } : {\n width: vertexLength + \"px\"\n };\n var rootClassNames = classNames('k-content k-scrollable', {\n 'k-scrollable-horizontal': this.$props.direction === 'horizontal'\n });\n var scrollableClassNames = classNames('k-scrollable-placeholder', {\n 'k-scrollable-horizontal-placeholder': this.$props.direction === 'horizontal'\n });\n return h(\"div\", {\n ref: 'scrollContainer',\n onScroll: this.handleScroll,\n on: this.v3 ? undefined : {\n \"scroll\": this.handleScroll\n },\n \"class\": rootClassNames,\n tabIndex: this.$props.tabIndex,\n attrs: this.v3 ? undefined : {\n tabIndex: this.$props.tabIndex,\n role: this.$props.role\n },\n role: this.$props.role\n }, [defaultSlot, h(\"div\", {\n style: placeholderStyle,\n \"class\": scrollableClassNames\n })]);\n }\n};\nvar VirtualizationVue3 = Virtualization;\nexport { Virtualization, VirtualizationVue3 };","import { cloneDate, isEqual } from '@progress/kendo-date-math';\nimport { getDate } from '@progress/kendo-date-math';\nimport { EMPTY_SELECTIONRANGE } from './calendar/models/SelectionRange';\n/**\n * @hidden\n */\nexport var isEqualRange = function (initial, updated) {\n var _a = initial || EMPTY_SELECTIONRANGE, initialStart = _a.start, initialEnd = _a.end;\n var _b = updated || EMPTY_SELECTIONRANGE, updatedStart = _b.start, updatedEnd = _b.end;\n if (initialStart === null || initialEnd === null || updatedStart === null || updatedEnd === null) {\n return false;\n }\n return isEqual(initialStart, updatedStart) && isEqual(initialEnd, updatedEnd);\n};\n/**\n * @hidden\n */\nexport var viewInRange = function (candidate, min, max) {\n if (min === undefined || max === undefined) {\n return candidate;\n }\n return min <= candidate && candidate <= max\n ? candidate\n : candidate < min\n ? min\n : max;\n};\n/**\n * @hidden\n */\nexport var MIDNIGHT_DATE = new Date(1980, 0, 1);\n/**\n * @hidden\n */\nexport var MIN_DATE = new Date(1900, 0, 1);\n/**\n * @hidden\n */\nexport var MAX_DATE = new Date(2099, 11, 31);\n/**\n * @hidden\n */\nexport var MIN_TIME = new Date(1980, 0, 1);\n/**\n * @hidden\n */\nexport var MAX_TIME = new Date(1980, 0, 1, 23, 59, 59);\nvar isSet = function (value) { return value !== null && value !== undefined; };\n/**\n * @hidden\n */\nexport var isValidRange = function (min, max) { return (!isSet(min) || !isSet(max) || min <= max); };\n/**\n * @hidden\n */\nexport var setTime = function (origin, candidate) {\n var date = cloneDate(origin);\n date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());\n return date;\n};\n/**\n * @hidden\n */\nexport var getToday = function () { return getDate(new Date()); };\n/**\n * @hidden\n */\nexport var isInRange = function (candidate, min, max) { return (!candidate || !((min && min > candidate) || (max && max < candidate))); };\n/**\n * @hidden\n */\nexport var isInDateRange = function (candidate, min, max) { return (candidate === null\n || !((min && getDate(min) > getDate(candidate))\n || (max && getDate(max) < getDate(candidate)))); };\n/**\n * @hidden\n */\nexport var isInSelectionRange = function (value, selectionRange) {\n var _a = selectionRange || EMPTY_SELECTIONRANGE, start = _a.start, end = _a.end;\n if (!start || !end) {\n return false;\n }\n return start < value && value < end;\n};\n/**\n * @hidden\n */\nexport var range = function (start, end, step) {\n if (step === void 0) { step = 1; }\n var result = [];\n for (var i = start; i < end; i = i + step) {\n result.push(i);\n }\n return result;\n};\n/**\n * @hidden\n */\nexport var shiftWeekNames = function (names, offset) { return (names.slice(offset).concat(names.slice(0, offset))); };\n/**\n * @hidden\n */\nexport var dateInRange = function (candidate, min, max) {\n if (!candidate) {\n return candidate;\n }\n if (min && candidate < min) {\n return cloneDate(min);\n }\n if (max && candidate > max) {\n return cloneDate(max);\n }\n return candidate;\n};\n/**\n * @hidden\n */\nexport var domContainerFactory = function (type) { return function (children, classes, styles) {\n if (classes === void 0) { classes = ''; }\n if (styles === void 0) { styles = {}; }\n var container = document.createElement(type);\n container.className = classes;\n Object.keys(styles).map(function (key) { return container.style[key] = styles[key]; });\n if (typeof children === 'string') {\n container.innerHTML = children || '';\n }\n else {\n (children || []).forEach(function (child) { return child && container.appendChild(child); });\n }\n return container;\n}; };\n","import { addDays } from './add-days';\nimport { createDate } from './create-date';\n/**\n * A function which returns the last date of the month.\n *\n * @param date - The initial date.\n * @returns - The last date of the initial date month.\n *\n * @example\n * ```ts-no-run\n * lastDayOfMonth(new Date(2016, 0, 15)); // 2016-01-31\n * ```\n */\nexport var lastDayOfMonth = function (date) {\n var newDate = createDate(date.getFullYear(), date.getMonth() + 1, 1, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n return addDays(newDate, -1);\n};\n","import { adjustDST } from './adjust-dst';\nimport { cloneDate } from './clone-date';\nimport { lastDayOfMonth } from './last-day-of-month';\nvar MONTHS_LENGTH = 12;\nvar normalize = function (date, expectedMonth) { return (date.getMonth() !== expectedMonth ? lastDayOfMonth(addMonths(date, -1)) : date //tslint:disable-line:no-use-before-declare\n); };\n/**\n * A function that adds and subtracts months from a `Date` object.\n *\n * @param date - The initial date value.\n * @param offset - The number of months to add or subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addMonths(new Date(2016, 5, 1), 5); // 2016-11-1\n * addMonths(new Date(2016, 5, 1), -5); // 2015-1-1\n * ```\n */\nexport var addMonths = function (date, offset) {\n var newDate = cloneDate(date);\n var diff = (newDate.getMonth() + offset) % MONTHS_LENGTH;\n var expectedMonth = (MONTHS_LENGTH + diff) % MONTHS_LENGTH;\n newDate.setMonth(newDate.getMonth() + offset);\n return normalize(adjustDST(newDate, date.getHours()), expectedMonth);\n};\n","import { addMonths } from './add-months';\nimport { createDate } from './create-date';\nimport { lastDayOfMonth } from './last-day-of-month';\n/**\n * @hidden\n */\nexport var setYear = function (value, year) {\n var month = value.getMonth();\n var candidate = createDate(year, month, value.getDate(), value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds());\n return candidate.getMonth() === month ? candidate : lastDayOfMonth(addMonths(candidate, -1));\n};\n","import { adjustDST } from './adjust-dst';\nimport { setYear } from './set-year';\n/**\n * A function that adds and subtracts years from a `Date` object.\n *\n * @param date - The initial date value.\n * @param offset - The number of years to add or subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addYears(new Date(2016, 5, 1), 5); // 2011-6-1\n * addYears(new Date(2016, 5, 1), -5); // 2021-6-1\n * ```\n */\nexport var addYears = function (value, offset) {\n return adjustDST(setYear(value, value.getFullYear() + offset), value.getHours());\n};\n","import { addYears } from './add-years';\n/**\n * A function that adds and subtracts decades from a `Date` object.\n *\n * @param date - The initial date value.\n * @param offset - The number of decades to add or subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addDecades(new Date(2016, 5, 1), 5); // 2066-6-1\n * addDecades(new Date(2016, 5, 1), -5); // 1966-6-1\n * ```\n */\nexport var addDecades = function (value, offset) {\n return addYears(value, 10 * offset);\n};\n","import { addYears } from './add-years';\n/**\n * A function that adds and subtracts centuries from a `Date` object.\n *\n * @param date - The initial date value.\n * @param offset - The number of centuries to add or subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addCenturies(new Date(2016, 5, 1), 5); // 2516-6-1\n * addCenturies(new Date(2016, 5, 1), -5); // 1516-6-1\n * ```\n */\nexport var addCenturies = function (value, offset) {\n return addYears(value, 100 * offset);\n};\n","import { setYear } from './set-year';\n/**\n * @hidden\n */\nexport var normalizeYear = function (value, year) { return (setYear(value, year(value.getFullYear()))); };\n","import { normalizeYear } from './normalize-year';\n/**\n * A function that returns a `Date` object of the first decade in a century.\n *\n * @param date - The start date value.\n * @returns - The first year in a century.\n *\n * @example\n * ```ts-no-run\n * firstDecadeOfCentury(new Date(2017, 0, 1)); // 2000-1-1\n * firstDecadeOfCentury(new Date(2007, 10, 22)); // 2000-11-22\n * firstDecadeOfCentury(new Date(2126, 0, 1)); // 2100-1-1\n * ```\n */\nexport var firstDecadeOfCentury = function (value) { return (normalizeYear(value, function (y) { return y - (y % 100); })); };\n","import { normalizeYear } from './normalize-year';\n/**\n * A function that returns a `Date` object of the last decade in a century.\n *\n * @param date - The start date value.\n * @returns - The last year in a decade.\n *\n * @example\n * ```ts-no-run\n * lastDecadeOfCentury(new Date(2017, 0, 1)); // 2090-1-1\n * lastDecadeOfCentury(new Date(2007, 10, 22)); // 2090-11-22\n * lastDecadeOfCentury(new Date(2126, 0, 1)); // 2190-1-1\n * ```\n */\nexport var lastDecadeOfCentury = function (value) { return (normalizeYear(value, function (y) { return y - (y % 100) + 90; })); };\n","import { normalizeYear } from './normalize-year';\n/**\n * A function that returns a `Date` object of the first year in a decade.\n *\n * @param date - The start date value.\n * @returns - The first year in a decade.\n *\n * @example\n * ```ts-no-run\n * firstYearOfDecade(new Date(2017, 0, 1)); // 2010-1-1\n * firstYearOfDecade(new Date(2007, 10, 22)); // 2000-11-22\n * firstYearOfDecade(new Date(2026, 0, 1)); // 2020-1-1\n * ```\n */\nexport var firstYearOfDecade = function (value) { return (normalizeYear(value, function (y) { return y - (y % 10); })); };\n","import { firstDecadeOfCentury } from './first-decade-of-century';\n/**\n * A function that calculates duration in centuries between two `Date` objects.\n *\n * @param start - The start date value.\n * @param end - The end date value.\n * @returns - The duration in months.\n *\n * @example\n * ```ts-no-run\n * durationInCenturies(new Date(2016, 0, 1), new Date(3216, 0, 1)); // 12\n * durationInCenturies(new Date(2016, 6, 1), new Date(2617, 0, 1)); // 6\n * durationInCenturies(new Date(2016, 0, 1), new Date(2016, 0, 1)); // 0\n * ```\n */\nexport var durationInCenturies = function (start, end) { return ((firstDecadeOfCentury(end).getFullYear() - firstDecadeOfCentury(start).getFullYear()) / 100); };\n","import { normalizeYear } from './normalize-year';\n/**\n * A function that returns a `Date` object of the last year in a decade.\n *\n * @param date - The start date value.\n * @returns - The last year in a decade.\n *\n * @example\n * ```ts-no-run\n * lastYearOfDecade(new Date(2017, 0, 1)); // 2019-1-1\n * lastYearOfDecade(new Date(2007, 10, 22)); // 2009-11-22\n * lastYearOfDecade(new Date(2026, 0, 1)); // 2029-1-1\n * ```\n */\nexport var lastYearOfDecade = function (value) { return (normalizeYear(value, function (y) { return y - (y % 10) + 9; })); };\n","import { firstYearOfDecade } from './first-year-of-decade';\n/**\n * A function that calculates duration in decades between two `Date` objects.\n *\n * @param start - The start date value.\n * @param end - The end date value.\n * @returns - The duration in months.\n *\n * @example\n * ```ts-no-run\n * durationInDecades(new Date(2016, 0, 1), new Date(2136, 0, 1)); // 12\n * durationInDecades(new Date(2016, 0, 1), new Date(2016, 0, 1)); // 0\n * ```\n */\nexport var durationInDecades = function (start, end) { return ((firstYearOfDecade(end).getFullYear() - firstYearOfDecade(start).getFullYear()) / 10); };\n","import { addDays } from './add-days';\n/**\n * A function that adds and subtracts weeks from a Date object.\n *\n * @param date - The initial date value.\n * @param offset - The number of weeks to add/subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addWeeks(new Date(2016, 5, 1), 3); // 2016-6-22\n * addWeeks(new Date(2016, 5, 1), -3); // 2015-5-11\n * ```\n */\nexport var addWeeks = function (date, offset) {\n return addDays(date, offset * 7);\n};\n","import { createDate } from './create-date';\n/**\n * A function which returns the first date of the month.\n *\n * @param date - The initial date.\n * @returns - The first date of the initial date month.\n *\n * @example\n * ```ts-no-run\n * firstDayOfMonth(new Date(2016, 0, 15)); // 2016-01-01\n * ```\n */\nexport var firstDayOfMonth = function (date) {\n return createDate(date.getFullYear(), date.getMonth(), 1, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n};\n","/**\n * A function that calculates duration in months between two `Date` objects.\n *\n * @param start - The start date value.\n * @param end - The end date value.\n * @returns - The duration in months.\n *\n * @example\n * ```ts-no-run\n * durationInMonths(new Date(2016, 0, 1), new Date(2017, 0, 1)); // 12\n * durationInMonths(new Date(2016, 6, 1), new Date(2017, 0, 1)); // 6\n * durationInMonths(new Date(2016, 0, 1), new Date(2016, 0, 1)); // 0\n * ```\n */\nexport var durationInMonths = function (start, end) { return (((end.getFullYear() - start.getFullYear())) * 12 + (end.getMonth() - start.getMonth())); };\n","import { addMonths } from './add-months';\nimport { createDate } from './create-date';\nimport { lastDayOfMonth } from './last-day-of-month';\n/**\n * @hidden\n */\nexport var setMonth = function (value, month) {\n var day = value.getDate();\n var candidate = createDate(value.getFullYear(), month, day, value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds());\n return candidate.getDate() === day ? candidate : lastDayOfMonth(addMonths(candidate, -1));\n};\n","import { setMonth } from './set-month';\n/**\n * A function that returns a `Date` object of the first month in a year.\n *\n * @param date - The start date value.\n * @returns - The first month in a year.\n *\n * @example\n * ```ts-no-run\n * firstMonthOfYear(new Date(2017, 11, 1)); // 2017-1-1\n * firstMonthOfYear(new Date(2017, 0, 1)); // 2017-1-1\n * ```\n */\nexport var firstMonthOfYear = function (value) { return setMonth(value, 0); };\n","import { setMonth } from './set-month';\n/**\n * A function that returns a `Date` object of the last month in a year.\n *\n * @param date - The start date value.\n * @returns - The last month in a year.\n *\n * @example\n * ```ts-no-run\n * lastMonthOfYear(new Date(2017, 5, 3)); // 2017-12-3\n * lastMonthOfYear(new Date(2017, 11, 3)); // 2017-12-3\n * ```\n */\nexport var lastMonthOfYear = function (value) { return setMonth(value, 11); };\n","/**\n * A function that calculates duration in years between two `Date` objects.\n *\n * @param start - The start date value.\n * @param end - The end date value.\n * @returns - The duration in years.\n *\n * @example\n * ```ts-no-run\n * durationInYears(new Date(2016, 0, 1), new Date(2028, 0, 1)); // 12\n * durationInYears(new Date(2016, 0, 1), new Date(2022, 0, 1)); // 6\n * durationInYears(new Date(2016, 0, 1), new Date(2016, 0, 1)); // 0\n * ```\n */\nexport var durationInYears = function (start, end) { return (end.getFullYear() - start.getFullYear()); };\n","import { CalendarViewEnum } from '../models/CalendarViewEnum';\nimport { domContainerFactory as containerFactory } from '../../utils';\nimport { canUseDOM } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar DOMService = /** @class */ (function () {\n function DOMService() {\n this.didCalculate = false;\n }\n DOMService.prototype.ensureHeights = function () {\n if (this.calendarHeight !== undefined) {\n return;\n }\n this.calculateHeights();\n };\n DOMService.prototype.calculateHeights = function (container) {\n var _this = this;\n if (!canUseDOM) {\n return;\n }\n var div = containerFactory('div');\n var ul = containerFactory('ul');\n var li = containerFactory('li');\n var td = containerFactory('td');\n var th = containerFactory('th');\n var tr = containerFactory('tr');\n var tbody = containerFactory('tbody');\n var thead = containerFactory('thead');\n var table = containerFactory('table');\n var monthHeader = function () { return (div(\"\\n March 2017\\n TODAY\\n \", 'k-calendar-header')); };\n var monthWeekHeader = function () { return (table([\n thead([\n tr([th('MO')])\n ])\n ], 'k-calendar-weekdays')); };\n var repeat = function (count, mapper) { return new Array(count).fill('1').map(mapper); };\n var content = function (rows, cells) {\n if (cells === void 0) { cells = 1; }\n return (table([\n tbody([tr([th('1')])].concat(repeat(rows, function () { return tr(repeat(cells, function (c) { return td(\"\" + c + \"\"); })); })))\n ]));\n };\n var scrollable = function (children) { return div(children, 'k-content k-scrollable'); };\n var view = function (contentElement, className, renderWeekHeader) { return (div(renderWeekHeader\n ? [\n monthHeader(),\n monthWeekHeader(),\n scrollable([contentElement, contentElement])\n ]\n : [\n monthHeader(),\n scrollable([contentElement, contentElement])\n ], className, { left: '-10000px', position: 'absolute' })); };\n var navigationList = (function () {\n var navElement;\n return function () {\n if (!canUseDOM) {\n return null;\n }\n if (!navElement) {\n navElement = div([scrollable([ul([li('FEB')])])], 'k-calendar-navigation', { left: '0px', position: 'absolute' });\n }\n return navElement;\n };\n })();\n var viewFactory = function (_a, className, renderWeekHeader) {\n var cells = _a.cells, rows = _a.rows;\n var viewElement;\n return function () {\n if (!canUseDOM) {\n return null;\n }\n if (!viewElement) {\n viewElement = view(content(rows, cells), className, renderWeekHeader);\n }\n return viewElement;\n };\n };\n var getScrollable = function (element) { return element.querySelector('.k-scrollable'); };\n var horizontal = function (element) {\n var scrollableElement = getScrollable(element);\n scrollableElement.className = scrollableElement.className + \" k-scrollable-horizontal\";\n return element;\n };\n var monthView = viewFactory({ cells: 7, rows: 6 }, 'k-calendar-view k-calendar-monthview', true);\n var yearView = viewFactory({ cells: 5, rows: 3 }, 'k-calendar-view k-calendar-yearview', false);\n var decadeView = viewFactory({ cells: 5, rows: 2 }, 'k-calendar-view k-calendar-decadeview', false);\n var horzMonthView = function () { return horizontal(monthView()); };\n var horzYearView = function () { return horizontal(yearView()); };\n var horzDecadeView = function () { return horizontal(decadeView()); };\n var height = function (element) { return (parseFloat(window.getComputedStyle(element).height) || element.offsetHeight); };\n var width = function (element) {\n var styles = window.getComputedStyle(element);\n var computed = parseFloat(styles.width)\n + parseFloat(styles.paddingLeft)\n + parseFloat(styles.paddingRight);\n return computed || element.offsetWidth;\n };\n var getBody = function (element) { return element.querySelector('tbody'); };\n this.didCalculate = true;\n if (container) {\n this.hostContainer = container;\n }\n this.batch(monthView(), function (contentElement) {\n var viewElement = getBody(contentElement);\n _this.calendarHeight = height(contentElement);\n _this.monthViewHeight = height(viewElement);\n _this.headerHeight = height(viewElement.children[0]);\n _this.scrollableContentHeight = height(getScrollable(contentElement));\n });\n this.batch(horzMonthView(), function (contentElement) {\n var viewElement = getBody(contentElement);\n _this.calendarWidth = width(contentElement);\n _this.monthViewWidth = width(viewElement);\n _this.scrollableContentWidth = width(getScrollable(contentElement));\n });\n this.batch(yearView(), function (contentElement) {\n _this.yearViewHeight = height(getBody(contentElement));\n _this.scrollableYearContentHeight = height(getScrollable(contentElement));\n });\n this.batch(horzYearView(), function (contentElement) {\n _this.yearViewWidth = width(getBody(contentElement));\n });\n this.batch(decadeView(), function (contentElement) {\n _this.decadeViewHeight = height(getBody(contentElement));\n _this.centuryViewHeight = _this.decadeViewHeight;\n });\n this.batch(horzDecadeView(), function (contentElement) {\n _this.decadeViewWidth = width(getBody(contentElement));\n _this.centuryViewWidth = _this.decadeViewWidth;\n });\n this.batch(navigationList(), function (contentElement) {\n _this.navigationItemHeight = height(contentElement.querySelector('li'));\n });\n };\n DOMService.prototype.viewHeight = function (viewType) {\n return this.viewDimension(viewType, 'height');\n };\n DOMService.prototype.viewWidth = function (viewType) {\n return this.viewDimension(viewType, 'width');\n };\n DOMService.prototype.viewDimension = function (viewType, dimension) {\n var viewProp = dimension === 'height' ? 'ViewHeight' : 'ViewWidth';\n switch (viewType) {\n case CalendarViewEnum.month:\n return this[\"month\" + viewProp];\n case CalendarViewEnum.year:\n return this[\"year\" + viewProp];\n case CalendarViewEnum.decade:\n return this[\"decade\" + viewProp];\n case CalendarViewEnum.century:\n return this[\"century\" + viewProp];\n default:\n return 1;\n }\n };\n DOMService.prototype.batch = function (contentElement, action) {\n var hostContainer = this.hostContainer || document.body;\n var appendedContent = hostContainer.appendChild(contentElement);\n action(appendedContent);\n hostContainer.removeChild(appendedContent);\n };\n return DOMService;\n}());\nexport { DOMService };\n","import { Action } from '../models/NavigationAction';\nvar KEY_TO_ACTION = {\n '33': Action.PrevView,\n '34': Action.NextView,\n '35': Action.LastInView,\n '36': Action.FirstInView,\n '37': Action.Left,\n '38': Action.Up,\n '39': Action.Right,\n '40': Action.Down,\n 'meta+38': Action.UpperView,\n 'meta+40': Action.LowerView,\n 'meta+37': Action.PrevView,\n 'meta+39': Action.NextView\n};\n/**\n * @hidden\n */\nvar NavigationService = /** @class */ (function () {\n function NavigationService(bus) {\n this.bus = bus;\n }\n NavigationService.prototype.action = function (event) {\n var action = \"\" + (event.ctrlKey || event.metaKey ? 'meta+' : '') + event.keyCode;\n return KEY_TO_ACTION[action];\n };\n NavigationService.prototype.move = function (value, action, activeView, service, event) {\n if (!service) {\n return value;\n }\n if (action === Action.UpperView && this.bus.canMoveUp(activeView)) {\n this.bus.moveUp(activeView, event);\n return value;\n }\n if (action === Action.LowerView && this.bus.canMoveDown(activeView)) {\n this.bus.moveDown(activeView, event);\n return value;\n }\n return service.move(value, action);\n };\n return NavigationService;\n}());\nexport { NavigationService };\n","import { shiftWeekNames } from '../../utils';\n/**\n * @hidden\n */\nvar WeekNamesService = /** @class */ (function () {\n function WeekNamesService(intl) {\n this.intl = intl;\n }\n WeekNamesService.prototype.getWeekNames = function (includeWeekNumber) {\n if (includeWeekNumber === void 0) { includeWeekNumber = false; }\n var weekNames = shiftWeekNames(this.intl.dateFormatNames({ nameType: 'short', type: 'days' }), this.intl.firstDay());\n return includeWeekNumber ? [''].concat(weekNames) : weekNames;\n };\n return WeekNamesService;\n}());\nexport { WeekNamesService };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { weekInYear, cloneDate } from '@progress/kendo-date-math';\nimport { provideIntlService } from '@progress/kendo-vue-intl';\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport { CalendarCell } from './CalendarCell';\nimport { CalendarWeekCell } from './CalendarWeekCell';\nimport { CalendarViewEnum } from '../models';\nimport { setTime, getToday } from '../../utils';\nimport { WeekNamesService } from '../services';\nvar View = {\n name: 'KendoView',\n inject: {\n kendoIntlService: {\n default: null\n }\n },\n props: {\n activeRangeEnd: {\n type: String\n },\n activeView: {\n type: Number,\n required: true\n },\n cell: [String, Function, Object],\n cellUID: {\n type: String,\n required: true\n },\n direction: {\n type: String,\n default: 'vertical'\n },\n isActive: {\n type: Boolean,\n default: undefined\n },\n focusedDate: {\n type: Date,\n required: true\n },\n max: {\n type: Date,\n required: true\n },\n min: {\n type: Date,\n required: true\n },\n selectedDate: {\n type: [Date, Array, Object],\n default: function _default() {\n return getToday();\n }\n },\n selectionRange: Object,\n showWeekNumbers: {\n type: Boolean,\n default: false\n },\n viewDate: {\n type: Date,\n required: true\n },\n weekCell: [String, Function, Object],\n bus: Object,\n service: Object\n },\n computed: {\n isHorizontal: {\n get: function get() {\n return this.$props.direction === 'horizontal';\n }\n },\n isMonthView: {\n get: function get() {\n return this.$props.activeView === CalendarViewEnum.month;\n }\n },\n weekNumber: {\n get: function get() {\n return Boolean(this.$props.showWeekNumbers && this.$props.activeView === CalendarViewEnum.month);\n }\n }\n },\n methods: {\n getWeekNumber: function getWeekNumber(date) {\n if (!this.weekNumber) {\n return null;\n }\n\n return weekInYear(date, this._intl.firstDay());\n },\n firstDate: function firstDate(row) {\n var cell = this.firstWeekDateContext(row);\n return cell ? cell.value : null;\n },\n firstWeekDateContext: function firstWeekDateContext(rowCtx) {\n if (!this.weekNumber) {\n return null;\n }\n\n var idx = 0;\n var ctx = rowCtx[idx];\n\n while (!ctx && idx < rowCtx.length) {\n ctx = rowCtx[++idx];\n }\n\n return ctx;\n },\n handleClick: function handleClick(value, event) {\n var args = {\n value: cloneDate(value),\n target: this,\n event: event\n };\n this.$emit('change', args);\n },\n handleWeekCellClick: function handleWeekCellClick(value, event) {\n var args = {\n value: value,\n event: event\n };\n this.$emit('weekcellclick', args);\n },\n handleMouseDown: function handleMouseDown(value, event) {\n var args = {\n value: cloneDate(value),\n target: this,\n event: event\n };\n this.$emit('viewmousedown', args);\n },\n handleMouseEnter: function handleMouseEnter(value) {\n this.$emit('cellenter', cloneDate(value));\n },\n handleMouseLeave: function handleMouseLeave(value) {\n this.$emit('cellleave', cloneDate(value));\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n this._intl = provideIntlService(this);\n this._weekService = new WeekNamesService(this._intl); // tslint:disable-next-line jsx-use-translation-function\n\n var emptyCell = function emptyCell(idx) {\n return h(\"td\", {\n key: idx\n }, [\"\\xA0\"]);\n }; // const weekNames = this._weekService.getWeekNames(this.weekNumber);\n // const colSpan = this.$props.service.rowLength(this.weekNumber);\n // const title = this.$props.service.title(this.$props.viewDate);\n\n\n var time = getToday();\n var focusedDate = this.$props.isActive ? this.$props.focusedDate : null;\n var viewDate = setTime(this.$props.viewDate, time);\n var currentData = this.$props.service.data({\n cellUID: this.$props.cellUID,\n min: this.$props.min,\n max: this.$props.max,\n focusedDate: focusedDate,\n isActiveView: !this.$props.bus.canMoveDown(this.$props.activeView),\n selectedDate: this.$props.selectedDate,\n selectionRange: this.$props.selectionRange,\n viewDate: viewDate\n });\n\n var buildWeekNumber = function buildWeekNumber(row, idx) {\n var firstDayOfWeek = this.firstDate(row);\n\n if (!firstDayOfWeek) {\n return emptyCell(\"week-cell-\" + idx);\n }\n\n var weekCellValue = this.getWeekNumber(this.firstDate(row));\n var uniqueID = \"kendo-vue-calendar-week-cell-\" + weekCellValue;\n var cellDefaultRendering = // @ts-ignore function children\n h(CalendarWeekCell, {\n \"class\": 'k-calendar-td k-alt',\n value: weekCellValue,\n attrs: this.v3 ? undefined : {\n value: weekCellValue\n },\n onClick: this.handleWeekCellClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleWeekCellClick\n },\n key: uniqueID\n }, this.v3 ? function () {\n return [weekCellValue];\n } : [weekCellValue]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.weekCell,\n defaultRendering: cellDefaultRendering,\n defaultSlots: weekCellValue,\n additionalListeners: {\n click: this.handleWeekCellClick\n },\n additionalProps: {\n value: weekCellValue,\n key: uniqueID\n }\n });\n };\n\n var buildRow = function buildRow(row) {\n return row.map(function (cell, idx) {\n if (!cell) {\n return emptyCell(idx);\n }\n\n var uniqueID = \"kendo-vue-calendar-cell-\" + cell.value.getTime();\n var cellDefaultRendering = // @ts-ignore function children\n h(CalendarCell, {\n \"aria-selected\": cell.isSelected,\n attrs: this.v3 ? undefined : {\n \"aria-selected\": cell.isSelected,\n formattedValue: cell.formattedValue,\n id: cell.id,\n isFocused: cell.isFocused,\n isSelected: cell.isSelected,\n isInRange: cell.isInRange,\n isWeekend: cell.isWeekend,\n isRangeStart: cell.isRangeStart,\n isRangeMid: cell.isRangeMid,\n isRangeEnd: cell.isRangeEnd,\n isRangeSplitStart: cell.isRangeSplitStart,\n isRangeSplitEnd: cell.isRangeSplitEnd,\n isToday: cell.isToday,\n title: cell.title,\n value: cell.value,\n isDisabled: !cell.isInRange,\n view: this.$props.activeView\n },\n formattedValue: cell.formattedValue,\n id: cell.id,\n isFocused: cell.isFocused,\n isSelected: cell.isSelected,\n isInRange: cell.isInRange,\n isWeekend: cell.isWeekend,\n isRangeStart: cell.isRangeStart,\n isRangeMid: cell.isRangeMid,\n isRangeEnd: cell.isRangeEnd,\n isRangeSplitStart: cell.isRangeSplitStart,\n isRangeSplitEnd: cell.isRangeSplitEnd,\n isToday: cell.isToday,\n title: cell.title,\n value: cell.value,\n isDisabled: !cell.isInRange,\n view: this.$props.activeView,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseenter\": this.handleMouseEnter,\n \"mouseleave\": this.handleMouseLeave\n },\n onMousedown: this.handleMouseDown,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave,\n key: uniqueID\n }, this.v3 ? function () {\n return [cell.formattedValue];\n } : [cell.formattedValue]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.cell,\n defaultRendering: cellDefaultRendering,\n defaultSlots: cell.formattedValue,\n additionalListeners: {\n click: this.handleClick,\n mousedown: this.handleMouseDown,\n mouseenter: this.handleMouseEnter,\n mouseleave: this.handleMouseLeave\n },\n additionalProps: {\n formattedValue: cell.formattedValue,\n id: cell.id,\n isFocused: cell.isFocused,\n isSelected: cell.isSelected,\n isInRange: cell.isInRange,\n isWeekend: cell.isWeekend,\n isRangeStart: cell.isRangeStart,\n isRangeMid: cell.isRangeMid,\n isRangeEnd: cell.isRangeEnd,\n isRangeSplitStart: cell.isRangeSplitStart,\n isRangeSplitEnd: cell.isRangeSplitEnd,\n isToday: cell.isToday,\n title: cell.title,\n value: cell.value,\n isDisabled: !cell.isInRange,\n view: this.$props.activeView,\n key: uniqueID\n }\n });\n }, this);\n };\n\n return h(\"tbody\", {\n \"class\": 'k-calendar-tbody',\n role: 'rowgroup',\n attrs: this.v3 ? undefined : {\n role: 'rowgroup'\n }\n }, [currentData.map(function (row, idx) {\n return h(\"tr\", {\n \"class\": 'k-calendar-tr',\n role: \"row\",\n attrs: this.v3 ? undefined : {\n role: \"row\"\n },\n key: idx\n }, [this.weekNumber && buildWeekNumber.call(this, row, idx), buildRow.call(this, row)]);\n }, this)]);\n }\n};\nvar ViewVue3 = View;\nexport { View, ViewVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { cloneDate } from '@progress/kendo-date-math';\nimport { provideIntlService } from '@progress/kendo-vue-intl';\nvar DEFAULT_FETCH_MONTHS_COUNT = 1; // import { Virtualization, ScrollActionArguments } from '../../virtualization/Virtualization';\n\nimport { View } from './View';\nimport { shiftWeekNames } from '../../utils';\nimport { CalendarViewEnum } from '../models';\nimport { classNames } from '@progress/kendo-vue-common';\nvar VIEWS_COUNT = 5;\nvar ViewList = {\n name: 'KendoViewList',\n inheritAttrs: false,\n inject: {\n kendoIntlService: {\n default: null\n }\n },\n props: {\n allowReverse: Boolean,\n hasFocusedDate: Boolean,\n activeView: {\n type: Number,\n required: true\n },\n bottomOffset: {\n type: Number\n },\n cell: [String, Function, Object],\n cellUID: {\n type: String,\n required: true\n },\n dates: Array,\n focusedDate: {\n type: Date,\n required: true\n },\n isActive: {\n type: Boolean,\n default: undefined\n },\n max: {\n type: Date,\n required: true\n },\n min: {\n type: Date,\n required: true\n },\n selectionRange: Object,\n showWeekNumbers: {\n type: Boolean,\n default: false\n },\n smoothScroll: {\n type: Boolean,\n default: true\n },\n take: {\n type: Number,\n default: VIEWS_COUNT\n },\n value: {\n type: [Date, Array, Object]\n },\n views: {\n type: Number,\n default: DEFAULT_FETCH_MONTHS_COUNT\n },\n viewHeight: Number,\n viewOffset: Number,\n bus: Object,\n dom: Object,\n weekCell: [String, Function, Object],\n service: Object\n },\n data: function data() {\n return {\n lastViewsCount: 0,\n valueHasUpdated: false\n };\n },\n computed: {\n weekNames: {\n get: function get() {\n this._intl = provideIntlService(this);\n var weekNames = shiftWeekNames(this._intl.dateFormatNames({\n nameType: 'short',\n type: 'days'\n }), this._intl.firstDay());\n return this.weekNumber ? [''].concat(weekNames) : weekNames;\n }\n },\n weekNumber: {\n get: function get() {\n return Boolean(this.$props.showWeekNumbers && this.$props.activeView === CalendarViewEnum.month);\n }\n },\n animate: {\n get: function get() {\n return Boolean(this.$props.smoothScroll && this.animateToIndex);\n }\n }\n },\n created: function created() {\n this.lastView = this.$props.activeView;\n this.lastFocus = this.$props.focusedDate;\n this.animateToIndex = true;\n this.shouldScroll = false; // this.$data.skip = this.$props.service.skip(this.$props.focusedDate, this.$props.min);\n // this.$data.index = this.$props.service.skip(this.$props.focusedDate, this.$props.min);\n },\n updated: function updated() {\n this.shouldScroll = false;\n this.lastView = this.$props.activeView;\n this.$data.lastViewsCount = this.$props.views; // this.lastFocus = this.$props.focusedDate;\n\n this.indexToScroll = undefined;\n },\n methods: {\n handleFocus: function handleFocus(event) {\n this.$emit('listfocus', event);\n },\n handleBlur: function handleBlur(event) {\n this.$emit('listblur', event);\n },\n handleKeyDown: function handleKeyDown(event) {\n this.$emit('listkeydown', event);\n },\n handleVirtualizationMount: function handleVirtualizationMount(_virtualization) {// this.virtualization = virtualization;\n // if (this.virtualization && this.table) {\n // this.table.style.transform = `translateY(${this.viewOffset}px)`;\n // const viewDate = dateInRange(this.$props.focusedDate, this.$props.min, this.$props.max);\n // const indexToScroll = this.$props.service.skip(viewDate, this.$props.min);\n // // this.virtualization.scrollToIndex(indexToScroll);\n // }\n },\n calculateHeights: function calculateHeights() {\n if (!this.$props.dom) {\n return;\n }\n\n var scrollableHeight = this.$props.activeView === CalendarViewEnum.month ? this.$props.dom.scrollableContentHeight : this.$props.dom.scrollableYearContentHeight;\n this._bottomOffset = scrollableHeight - this.$props.dom.viewHeight(this.$props.activeView);\n this._viewOffset = -1 * this.$props.dom.headerHeight;\n this._viewHeight = this.$props.dom.viewHeight(this.$props.activeView) || 1;\n },\n getTake: function getTake(skip, total) {\n return Math.min(total - skip, this.$props.take);\n },\n handleScrollAction: function handleScrollAction() {// const skip = pageAction ? pageAction.skip : this.$data.skip;\n // if (this.$data.index !== index || this.$data.skip !== skip) {\n // this.$data.index = skip;\n // }\n // if (this.table && scrollAction) {\n // const translate = `translateY(${scrollAction.offset}px)`;\n // this.table.style.transform = translate;\n // }\n },\n handleTodayClick: function handleTodayClick(event) {\n this.shouldScroll = true;\n this.handleDateChange(event, true);\n },\n handleMouseDown: function handleMouseDown(event) {\n var args = {\n event: event.event,\n value: cloneDate(event.value),\n target: this\n };\n this.$emit('listmousedown', args);\n },\n handleDateChange: function handleDateChange(event, isTodayClick) {\n if (isTodayClick === void 0) {\n isTodayClick = false;\n }\n\n var args = {\n event: event.event,\n value: cloneDate(event.value),\n target: this,\n isTodayClick: isTodayClick\n };\n this.$emit('change', args);\n },\n handleWeekCellClick: function handleWeekCellClick(event) {\n this.$emit('weekcellclick', event);\n },\n handleWeekNameClick: function handleWeekNameClick(event, value) {\n var args = {\n value: value,\n event: event\n };\n this.$emit('weeknameclick', args);\n },\n handleCellEnter: function handleCellEnter(event) {\n this.$emit('cellenter', event);\n },\n rotateSelectionRange: function rotateSelectionRange(selectionRange) {\n if (selectionRange.start === null || selectionRange.end === null) {\n return selectionRange;\n }\n\n var needRotate = selectionRange.end < selectionRange.start;\n return {\n start: needRotate ? selectionRange.end : selectionRange.start,\n end: needRotate ? selectionRange.start : selectionRange.end\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService\n };\n },\n mounted: function mounted() {\n this._calendarView = this.$refs.calendarView;\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var selectionRange = this.$props.allowReverse ? this.rotateSelectionRange(this.$props.selectionRange) : this.$props.selectionRange;\n var rootClassNames = classNames('k-calendar-view', 'k-hstack k-align-items-start k-justify-content-center', {\n 'k-calendar-monthview': this.$props.activeView === CalendarViewEnum.month,\n 'k-calendar-yearview': this.$props.activeView === CalendarViewEnum.year,\n 'k-calendar-decadeview': this.$props.activeView === CalendarViewEnum.decade,\n 'k-calendar-centuryview': this.$props.activeView === CalendarViewEnum.century\n });\n var tableClassNames = classNames('k-calendar-table', 'k-content', 'k-calendar-content', {\n 'k-month': this.$props.activeView === CalendarViewEnum.month,\n 'k-year': this.$props.activeView === CalendarViewEnum.year,\n 'k-decade': this.$props.activeView === CalendarViewEnum.decade,\n 'k-century': this.$props.activeView === CalendarViewEnum.century\n });\n\n var buildMonthView = function buildMonthView(weekNames) {\n var that = this;\n return h(\"thead\", {\n \"class\": 'k-calendar-thead'\n }, [h(\"tr\", {\n \"class\": 'k-calendar-tr k-calendar-weekdays'\n }, [weekNames.map(function (name, idx) {\n return h(\"th\", {\n \"class\": 'k-calendar-th',\n key: idx,\n onClick: function onClick(ev) {\n return that.handleWeekNameClick(ev, name);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(ev) {\n return that.handleWeekNameClick(ev, name);\n }\n }\n }, [name]);\n }, this)])]);\n };\n\n var buildDates = function buildDates() {\n var cellUID = this.$props.cellUID;\n return this.$props.dates.map(function (vDate) {\n return h(\"table\", {\n role: \"grid\",\n attrs: this.v3 ? undefined : {\n role: \"grid\",\n \"aria-label\": this.$props.service.title(this.$props.focusedDate),\n \"aria-live\": 'polite',\n \"aria-activedescendant\": cellUID + this.$props.focusedDate.getTime(),\n tabIndex: this.$attrs.tabIndex\n },\n \"aria-label\": this.$props.service.title(this.$props.focusedDate),\n \"aria-live\": 'polite',\n \"aria-activedescendant\": cellUID + this.$props.focusedDate.getTime(),\n tabIndex: this.$attrs.tabIndex,\n \"class\": tableClassNames,\n onKeydown: this.handleKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleKeyDown\n }\n }, [this.$props.activeView === CalendarViewEnum.month && buildMonthView.call(this, this.weekNames), // @ts-ignore function children\n h(View, {\n key: vDate.getTime(),\n activeView: this.$props.activeView,\n attrs: this.v3 ? undefined : {\n activeView: this.$props.activeView,\n viewDate: vDate,\n min: this.$props.min,\n max: this.$props.max,\n cellUID: cellUID,\n isActive: this.$props.isActive,\n focusedDate: this.$props.focusedDate,\n cell: this.$props.cell,\n selectionRange: selectionRange,\n selectedDate: this.$props.value,\n showWeekNumbers: this.weekNumber,\n bus: this.$props.bus,\n service: this.$props.service,\n weekCell: this.$props.weekCell\n },\n viewDate: vDate,\n min: this.$props.min,\n max: this.$props.max,\n cellUID: cellUID,\n isActive: this.$props.isActive,\n focusedDate: this.$props.focusedDate,\n cell: this.$props.cell,\n selectionRange: selectionRange,\n selectedDate: this.$props.value,\n showWeekNumbers: this.weekNumber,\n onChange: this.handleDateChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleDateChange,\n \"weekcellclick\": this.handleWeekCellClick,\n \"cellenter\": this.handleCellEnter,\n \"viewmousedown\": this.handleMouseDown\n },\n onWeekcellclick: this.handleWeekCellClick,\n onCellenter: this.handleCellEnter,\n onViewmousedown: this.handleMouseDown,\n bus: this.$props.bus,\n service: this.$props.service,\n weekCell: this.$props.weekCell\n })]);\n }, this);\n };\n\n return h(\"div\", {\n \"class\": rootClassNames,\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus,\n \"focusout\": this.handleBlur\n },\n onFocusout: this.handleBlur\n }, [buildDates.call(this)]);\n }\n};\nvar ViewListVue3 = ViewList;\nexport { ViewList, ViewListVue3 };","/**\n * @hidden\n */\nexport var MIDNIGHT_DATE = new Date(1980, 0, 1);\n/**\n * @hidden\n */\nexport var MIN_DATE = new Date(1900, 0, 1);\n/**\n * @hidden\n */\nexport var MAX_DATE = new Date(2099, 11, 31);\n/**\n * @hidden\n */\nexport var MIN_TIME = new Date(1980, 0, 1);\n/**\n * @hidden\n */\nexport var MAX_TIME = new Date(1980, 0, 1, 23, 59, 59);\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * The `CalendarCell` component is internally used for rendering the items in the current view. Also be used as a custom `cell` of the [Calendar]({% slug api_dateinputs_native_calendarprops %}#toc-cell).\n *\n * * [Customizing the cells inside the Calendar view]({% slug custom_rendering_calendar_native %}#toc-cells-inside-the-view)\n */\n\nvar CalendarHeaderTitle = {\n name: 'KendoHeaderTitle',\n // @ts-ignore\n emits: {\n 'click': null\n },\n props: {\n id: String,\n value: String,\n view: Number\n },\n methods: {\n handleClick: function handleClick(event) {\n this.$emit('click', event);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n\n /**\n * @return\n * Returns a `\n * \n * \n * \n * \n * \n * ```\n */\n\n/**\n * Represents the default `GridToolbar` component.\n */\n\nvar GridToolbar = {\n name: 'GridToolbar',\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": \"k-toolbar k-grid-toolbar\"\n }, [defaultSlot]);\n }\n};\nvar GridToolbarVue3 = GridToolbar;\nexport { GridToolbar, GridToolbarVue3 };","import { Grid, GridVue3 } from './Grid';\nimport { GridColumnMenuSort, GridColumnMenuSortVue3, sortGroupByField } from './columnMenu/GridColumnMenuSort';\nimport { GridColumnMenuFilter, GridColumnMenuFilterVue3, filterGroupByField } from './columnMenu/GridColumnMenuFilter';\nimport { GridColumnMenuFilterUI, GridColumnMenuFilterUIVue3 } from './columnMenu/GridColumnMenuFilterUI';\nimport { GridColumnMenuFilterCell, GridColumnMenuFilterCellVue3 } from './columnMenu/GridColumnMenuFilterCell';\nimport { GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterVue3 } from './columnMenu/GridColumnMenuCheckboxFilter';\nimport { GridCell, GridCellVue3 } from './cells/GridCell';\nimport { GridEditCell, GridEditCellVue3 } from './cells/GridEditCell';\nimport { GridGroupCell, GridGroupCellVue3 } from './cells/GridGroupCell';\nimport { GridHierarchyCell, GridHierarchyCellVue3 } from './cells/GridHierarchyCell';\nimport { GridFilterCell, GridFilterCellVue3 } from './cells/GridFilterCell';\nimport { GridHeaderCell, GridHeaderCellVue3 } from './header/GridHeaderCell';\nimport { Footer, FooterVue3 } from './footer/Footer';\nimport { FooterRow, FooterRowVue3 } from './footer/FooterRow';\nimport { GridDetailRow, GridDetailRowVue3 } from './rows/GridDetailRow';\nimport { GridRow, GridRowVue3 } from './rows/GridRow';\nimport { GridToolbar, GridToolbarVue3 } from './GridToolbar';\nimport { GridNoRecords, GridNoRecordsVue3 } from './GridNoRecords';\nimport { GridColumnMenuItem, GridColumnMenuItemVue3 } from './columnMenu/GridColumnMenuItem';\nimport { GridColumnMenuItemContent, GridColumnMenuItemContentVue3 } from './columnMenu/GridColumnMenuItemContent';\nimport { GridColumnMenuItemGroup, GridColumnMenuItemGroupVue3 } from './columnMenu/GridColumnMenuItemGroup';\nexport { Grid, GridVue3, GridCell, GridCellVue3, GridEditCell, GridEditCellVue3, GridGroupCell, GridHierarchyCell, GridGroupCellVue3, GridHierarchyCellVue3, GridDetailRow, GridDetailRowVue3, GridRow, GridRowVue3, GridFilterCell, GridFilterCellVue3, GridHeaderCell, GridHeaderCellVue3, Footer, FooterRow, FooterVue3, FooterRowVue3, GridColumnMenuSort, GridColumnMenuSortVue3, sortGroupByField, GridColumnMenuFilter, GridColumnMenuFilterVue3, filterGroupByField, GridColumnMenuItem, GridColumnMenuItemVue3, GridColumnMenuItemContent, GridColumnMenuItemContentVue3, GridColumnMenuItemGroup, GridColumnMenuItemGroupVue3, GridColumnMenuFilterUI, GridColumnMenuFilterUIVue3, GridColumnMenuFilterCell, GridColumnMenuFilterCellVue3, GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterVue3, GridToolbar, GridToolbarVue3, GridNoRecords, GridNoRecordsVue3 };\n// Automatic installation if Vue has been added to the global scope.\nvar vue = 'Vue';\nif (typeof window !== 'undefined' && window[vue] && window[vue].component) {\n window[vue].component('kendo-grid', Grid);\n window[vue].component('kendo-grid-toolbar', GridToolbar);\n window[vue].component('kendo-grid-norecords', GridNoRecords);\n}\n","var _DraggableVue;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return (typeof key === \"undefined\" ? \"undefined\" : _typeof(key)) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if ((typeof input === \"undefined\" ? \"undefined\" : _typeof(input)) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if ((typeof res === \"undefined\" ? \"undefined\" : _typeof(res)) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport * as d from '@progress/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * @hidden\n */\nvar DraggableVue2 = (_DraggableVue = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n var draggable = d;\n var dp = typeof draggable !== 'undefined' && draggable.Draggable ? draggable : draggable.default;\n this.draggable = new dp.Draggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 || this.$el.nodeType === 8 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!isV3 ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_DraggableVue, \"setup\", !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n}), _defineProperty(_DraggableVue, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _DraggableVue);\n/**\n * @hidden\n */\nvar Draggable = DraggableVue2;\nexport { Draggable, DraggableVue2 };","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","/**\n * @hidden\n */\nexport var isObject = function (value) {\n return typeof value === 'object';\n};\n","import { FIELD_REGEX } from './constants/main';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants/main';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n return Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nimport { isObject } from './isObject';\nvar allVue = Vue;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nexport var templateDefinition = {\n type: [String, Function, Object, Boolean],\n default: function () {\n return undefined;\n }\n};\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template && template !== false) {\n return undefined;\n }\n if (template.kt) {\n return template;\n }\n var scopedSlot = isV3 ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n if (typeof template === 'string' && scopedSlot) {\n return { kt: true, type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || isObject(template) ||\n (typeof template === 'function' && template.component)) {\n return { kt: true, type: 'component', render: template, listeners: listeners };\n }\n return { kt: true, type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template || (template && template.render === true)) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (isV3) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return isV3\n ? slotTemplate\n : slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render ? template.render(h, defaultRendering, defaultSlots, props, events) : undefined;\n }\n return template.render ? template.render(h, defaultRendering, props, events, defaultSlots) : undefined;\n }\n else {\n return h(template.render, componentOptions, isV3 ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","import { canUseDOM } from './canUseDOM';\n/**\n * @hidden\n */\nexport function isRtl(element) {\n return Boolean(canUseDOM && element && getComputedStyle(element).direction === 'rtl');\n}\n/**\n * @hidden\n */\nexport function getDir(element, initialDir) {\n if (!initialDir && canUseDOM && element) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(element).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n return rtlCandidate;\n }\n }\n return initialDir;\n}\n","import * as l from '@progress/kendo-licensing';\nvar allowed = ['telerik.com', 'progress.com', 'stackblitz.io', 'csb.app', 'webcontainer.io'];\nvar licensing = l;\nvar ls = typeof licensing !== 'undefined' && licensing.validatePackage\n ? licensing\n : licensing.default;\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (ls && ls.validatePackage) {\n ls.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \".concat(packageMetadata.name, \"\\n\");\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \".concat(packageMetadata.licensingDocsUrl, \" for more information.\\n\");\n console.warn(message);\n }\n}\n/**\n * @hidden\n */\nexport function shouldShowValidationUI(packageMetadata) {\n var skip = allowed.some(function (hostname) { var _a; return (_a = globalThis.document) === null || _a === void 0 ? void 0 : _a.location.hostname.endsWith(hostname); });\n return !skip && !(ls && ls.validatePackage && ls.validatePackage(packageMetadata));\n}\n","/** @hidden */\nexport var kendoThemeMaps = {\n sizeMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n },\n roundedMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n }\n};\n","/**\n * @hidden\n */\nvar getDocument = function () { return typeof document !== 'undefined' ? document : {}; };\n/**\n * @hidden\n */\nvar BrowserSupportService = /** @class */ (function () {\n function BrowserSupportService() {\n }\n Object.defineProperty(BrowserSupportService.prototype, \"scrollbarWidth\", {\n get: function () {\n var document = getDocument();\n if (!this.scrollbar && document && document.createElement) {\n var div = document.createElement('div');\n div.style.cssText = 'overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block';\n div.innerHTML = ' ';\n document.body.appendChild(div);\n this.scrollbar = div.offsetWidth - div.scrollWidth;\n document.body.removeChild(div);\n }\n return this.scrollbar;\n },\n enumerable: false,\n configurable: true\n });\n return BrowserSupportService;\n}());\nexport { BrowserSupportService };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SIZE_CLASSES } from './constants';\n/**\n * @hidden\n */\nvar FontIconVue2 = {\n name: 'KendoFontIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n name: String,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n title: String,\n tabIndex: Number\n },\n computed: {\n fontClassNames: function fontClassNames() {\n var _a;\n var _b = this.$props,\n name = _b.name,\n flip = _b.flip,\n size = _b.size,\n themeColor = _b.themeColor;\n return _a = {\n 'k-icon': true,\n 'k-font-icon': true\n }, _a['k-i-' + name] = name, _a['k-color-' + themeColor] = themeColor, _a['k-flip-h'] = flip === 'horizontal' || flip === 'both', _a['k-flip-v'] = flip === 'vertical' || flip === 'both', _a[SIZE_CLASSES[size]] = size, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n id = _a.id,\n title = _a.title,\n tabIndex = _a.tabIndex,\n ariaLabel = _a.ariaLabel;\n return h(\"span\", {\n \"class\": this.fontClassNames,\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n title: title,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex,\n role: \"presentation\"\n },\n title: title,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex,\n role: \"presentation\",\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n });\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar FontIcon = FontIconVue2;\nexport { FontIcon, FontIconVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SIZE_CLASSES } from './constants';\nimport { getDefaultSlots } from '../defaultSlots';\n/**\n * @hidden\n */\nvar SvgIconVue2 = {\n name: 'KendoSvgIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n name: String,\n icon: Object,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n title: String,\n viewBox: {\n type: String,\n default: '0 0 24 24'\n },\n tabIndex: Number,\n svgClassName: String,\n svgStyle: Object\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n var _b = this.$props,\n name = _b.name,\n flip = _b.flip,\n size = _b.size,\n themeColor = _b.themeColor;\n return _a = {\n 'k-icon': true,\n 'k-svg-icon': true\n }, _a['k-color-' + themeColor] = themeColor, _a['k-svg-i-' + name] = name, _a['k-flip-h'] = flip === 'horizontal' || flip === 'both', _a['k-flip-v'] = flip === 'vertical' || flip === 'both', _a[SIZE_CLASSES[size]] = size, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n svgClassName = _a.svgClassName,\n icon = _a.icon,\n id = _a.id,\n tabIndex = _a.tabIndex,\n svgStyle = _a.svgStyle,\n viewBox = _a.viewBox,\n title = _a.title,\n ariaLabel = _a.ariaLabel;\n var innerHTML = icon ? icon.content : undefined;\n var attrs = {\n id: id,\n title: title,\n 'aria-hidden': true,\n tabIndex: tabIndex,\n ariaLabel: ariaLabel,\n focusable: 'false',\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: icon ? icon.viewBox : viewBox\n };\n var svg = h('svg', __assign(__assign({}, attrs), {\n attrs: this.v3 ? undefined : attrs,\n domProps: this.v3 ? undefined : {\n innerHTML: innerHTML\n },\n innerHTML: innerHTML,\n 'class': svgClassName,\n style: svgStyle\n }), icon ? [] : [defaultSlot]);\n return h(\"span\", {\n \"class\": this.wrapperClass,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n }, [svg]);\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar SvgIcon = SvgIconVue2;\nexport { SvgIcon, SvgIconVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { FontIcon } from './FontIcon';\nimport { SvgIcon } from './SvgIcon';\n/**\n * @hidden\n */\nvar IconVue2 = {\n name: 'KendoIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n inject: {\n kendoIcons: {\n default: {\n type: 'svg',\n icons: {}\n }\n }\n },\n props: {\n name: String,\n icon: Object,\n title: String,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n viewBox: {\n type: String,\n default: '0 0 24 24'\n },\n tabIndex: Number\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n name = _a.name,\n icon = _a.icon,\n themeColor = _a.themeColor,\n size = _a.size,\n flip = _a.flip,\n id = _a.id,\n viewBox = _a.viewBox,\n tabIndex = _a.tabIndex,\n title = _a.title,\n ariaLabel = _a.ariaLabel;\n var svg = name && this.kendoIcons && this.kendoIcons.icons && this.kendoIcons.icons[name] || icon;\n var renderSVG = this.kendoIcons && this.kendoIcons.type === 'svg' && svg !== undefined;\n var newSize = this.kendoIcons && this.kendoIcons.size ? this.kendoIcons.size : size;\n var newFlip = this.kendoIcons && this.kendoIcons.flip ? this.kendoIcons.flip : flip;\n var resolvedName = name || (icon && icon.name ? icon.name : undefined);\n var commonProps = {\n themeColor: themeColor,\n size: newSize,\n flip: newFlip,\n id: id,\n tabIndex: tabIndex,\n title: title,\n ariaLabel: ariaLabel\n };\n var fontIcon = h(FontIcon, __assign(__assign({}, commonProps), {\n name: resolvedName,\n attrs: this.v3 ? undefined : __assign(__assign({}, commonProps), {\n name: resolvedName\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n 'click': this.handleClick\n }\n }));\n var svgIcon = h(SvgIcon, __assign(__assign({}, commonProps), {\n icon: svg,\n viewBox: viewBox,\n name: resolvedName,\n attrs: this.v3 ? undefined : __assign(__assign({}, commonProps), {\n icon: svg,\n viewBox: viewBox,\n name: resolvedName\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n 'click': this.handleClick\n }\n }));\n return renderSVG ? svgIcon : fontIcon;\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar Icon = IconVue2;\nexport { Icon, IconVue2 };","import * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n// @ts-ignore\nvar licenseKeyUrl = 'https://www.telerik.com/kendo-vue-ui/components/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-banner';\nvar banners = new Array();\nvar WatermarkOverlayVue2 = {\n name: 'KendoWatermarkOverlay',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n this.bannerWrapper = this.$refs.banner;\n banners.push(this.bannerWrapper);\n if (document && document.body) {\n document.body.append(this.bannerWrapper);\n }\n if (banners.length > 1) {\n for (var i = 1; i < banners.length; i++) {\n var bannerElement = banners[i];\n bannerElement.remove();\n }\n }\n },\n beforeDestroy: !!isV3 ? undefined : function () {\n this.bannerWrapper.remove();\n banners = [];\n },\n beforeUnmount: function beforeUnmount() {\n this.bannerWrapper.remove();\n banners = [];\n },\n data: function data() {\n return {\n watermarkStyles: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n opacity: 0.2,\n 'z-index': 101,\n 'pointer-events': 'none',\n 'background-image': 'url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABVxSURBVHgB7Z3tVRtJE4WL9zgANgLLGRCCnAGOADmCxRGgDFAGYiOADKQMIAGO9J8ji42g37mjqlUjBgOanpn+uM85sjC2sKzbVd1dVV0tQgghhBBCCCGEEEIIKRPn3Gn1GAlJmmN1pP558J6OX9540ejh4WGlX09OTk7+EZIclXYXlY43+vVflY7PH3wd9c+AY/Wvvcb9/b0bjUYOz/hBQpICmh1oOPrEa6l/4rTR337AhIMgTSqtzg+0m8gnof7p0mD8EzmGhkFwJiR6np6e7luLL9Q/RTDTBzF+7wfWg2CxWOCHjYVET6XTdLPZrFuLL9Q/NeCkoVUQ4/d+6Ijev1yof1rAUVMvQgjJHebrSRu+CEmWo/O8hISgCjStKpgiGoDWed4AUP/hwGf++Pi4hQYyFHgDzBP3T7A8b0uo/zD4+sMBy1CwWKR/YjF+fS/Uv2di0t/eEAdBT0QnvlD/PolR/xoOgu4JUd7bFdS/e6I1foODoFuqz3M2mUziFF+of5dEb/xGwyAYCwmCVuPNYv5MqX94Yl75NWKD4PLyEm92KqQoqH9Y8Bnis0zC+A14LbxxVqiVCfUPh678plxNFYQe5pjRgAgpDAv4IOAHJyCEkDJoiPaeCyG5UA1oRIYWHNivSSbV0wLq/zbQXz+bS8kV/AeZJ35NCcYPqH8zvv4VS8kVFou8phTjB9T/NcVt+zgI9rjQDRwTgPrvKcn5v4CDYIfT/vtFiS/UHxRr/AYHwQ4t9DiVwihZ/+KN36ATKJsS9U+utr9r/EGQdQSUNFKa/geZkImQ/2rHlznnQDG7oX9b9Xwl5AUl6G9oLcSSxl8Q/p4P13YJIaQMisvzEkJ2lJjnJyQY3lnoJGfNUvP8oUhZf7c70s2eCG1wL7uhRJ0iQnCveiDIhzf7t/f9IvP8IUhJfx/b9rErUkvgRVPIE1fv6xrvbzweu7OzM3d7e4v3OhfSilT092HMJzCxF4u43eWctfFvt1uHu9nxXvF1CWmtroldfx9W+HVErINAjX+M65ngAPxnOAJ1AiMhrUjBCdD4Oya2QYBlPwx8vV47WwFg+a+XZbrz83NzANz/ByBmJ0Dj74lYBgECfrbnt6U/DB/vC7388L2rqyu8vzshwYjRCdD4e8YfBLidVgYA0X7M9jB8PGazmbu5ualnfiz9dSAsufwPTwz6+5jjp/H3CD5ofPB9343u9v3u6+U+0jyY7eEA8Hx3d4c/QjvvMyGdMZT+TeA9wBHR+DPHUn3T6bRe7uMxn89tn18v/TH7O17gQEheYM9vEX7M9hbsg/FbHED3/IPPSISQgNhyE0au+7x7PPtOQFcB3PMTMjTYf4cyRN3zL2DgMHgs/7XU99acgDIWEgUh9W/4uWMh8QKBvCh8qxSR7fmxt0eEv8kJ6MzP8/2REFL/g59bp/o0xsMAb6xAnBB5Yr+6D3X9KOpBxP/ACWA0jFnoEw+h9D/4mYd5/pGQeAlRLFK95tJy+35578PDQ+0E9LAPi3wixAUsFmKRT6I0DIIPzdJuf6R3i+UeZnsz/nqjPx47/fMpZ/54OVb/g5/BZi4pY4Pgo8s2d3CkF0Z/cXFRL/+Xy2W9BdBUH4/5JsBn9W94PZu5pI77QzMOjepiNp/j71hO//fv31sr7qmtfT73i3xWjnvAZHhH/4nquXrLwB2bueSJ27Vmvodhq4df4BmzvQb3IPxWl/zgRl/DwZA4GrhdYFUHfbHE1y0enXsJ2FLfCnggvjqBejDoTI8o38ocgJAscNq8BY4fv/Uf+J46gjkdQcbA+19fXzs7zQfR8TWcgH+kFw/u+fMDKz/o3OQETk9PLcWLPSBbeeWELd91eb+CcTc5gXr6r9J8PNKbF/7S3z+6DYcvDasBOv6M0GUduNDfv+cEYPhjIVmA+I3Vc4gaOQzfHAECvb4joAPICCzlrIJP93h/dAIYDBQ/L8wBNC37rXUblv5CB5AfGvi5h6F7Ed9GJ2CZP0b780O1vreVnnhOAFsBOoCMscg/HMBbTsCO+grJFkvvHmYCSnYA/5MMcbsiH6TykNgfr9fry58/f0oltFxcXMj379+l+h42gBcnJyfr6iXfq1nhJ56FZIeuAq+fn59Xv379Oq0CgVJNBEIydAAavLv98ePHeSX4bfX1OQSv9noQ/a7y9A8HTuAcTqB63FSPZyE5Mq3GwOW3b99kNpu9+5e/fv2Kp3+FpAW8vB3cwbLOOvZYfl9LfGdW9KOn+mZCskZXhCuL9vtLfjvshd97hWArpn8TxGn5rhZzOL/gB19DYBzzxcEeTQEtGfArB7c7xbmyVu4YExoTuNcYEL6eCkkTxHYOmna4wzQfvq8z/+o949e940hIkjTp5/ZXjm/1+VQfr856UP/EcLtqr9s/OQENDl5+wPhH3nHQZK6mJjucNvNo2w+A+icC0jaY4a2LT5MT+Mye3+l58JSupiY7XIA2XtQ/IZw2f7D9v+X6D53AZ/f8LqGrqckOF7CNF/VPAF3Or6xvv53r951Amx5+DYOAXWEjxXXQxov6R4zTSzusht8OfABE+r3U39y1iPbbIODVX3ED4/Tagk8kENQ/QiyaC1Fg7PX6frm0Mk6/wUOQ8l799+j9I0cDwcF1ov4R4Xbde2vjxi92ogsPzPrY92szD7buJiQn3K6+v17q2yxvlV1u3+TRAn4jIYTkAfbymOWx1AcwfHMEXp5/JISQ9PEDd867ohvGbvt+cwRe6+5ee7ltNpuVf7yYdA8+68fHxy0+exkY6t8RGnSxJX19yAd7fWvhjEs7NOCHb2D9/+AGqO3HQGSeuD/8PD/GggwM9e8IBPCwr7ciHnzA6NrqtW5+4QRkIByLRXrDRXhXH/XvCKRccEuPX8mHD9jr7Vc7AV32D9rJh4Oge2I0foP6d8QHnADO9kdxYw8HQXfEbPwG9e+It5yAlvdG1beNgyA8KRi/Qf07oskJIEYQw8x/SMMgGAs5CmR0UjF+g/oHwh00YzAn0OZgT1/YINBU5VTIUeCzw2eYivEb1L8l7o1mDm7X220a48x/iNtVLE4dC5OOxu2794wlMaj/kbgAzRwIIQmS4p6PEBKIp6enexo/IYWCPdNms1nnbPxat7BwvH/+P7Dt08/kUjKH+hcOxGeeeI8f86lYSuZQ/8JhsciehoBv9rMi9VdcwZcucBCkVeEXmuL1dy0vbciBkgdBycZvFKs/8/x7ShwENP49xelP8V9T0iBgncdritGfxv82/iDIORJ+EAGfCKnJXn8a//to7fgy51y45sCX1P812erPZR8hBVMZ/Ax9+2j8hBSIHumcpXikkxBCBsXtz8QnUyXndvfz8Sx8AFLUnwTEveyKE32KyAK+7IYThqT0V88/o+cPBz7TVPLEJdb2d00y+pv4elHHTEgwUigWYaq3O6LXn56/e2IeBDT+7olWf4rfHzEOAurfH9HpT/H7J6ZBQP37Jxr9Kf5w+IMAt9PKQOB6NurfP4Prjyg/jX9Y8JnDAHE/vQwE/m0MQOrfP4PqX/3jp15Dj4kQQspCK5SK7OZDCCGEEBIfbneH4kgCoT9vLCQJguqPaD8CDdXzlZDogaEuFotgKSLL9uBnYmAJiZqg+vupPlzbJSR6YKSh8sSODVyTI5j+LO9NlxDFIqzzSJfW+jPPnz4Ng+DDGRvqnz5t9GeePxNsEHx2+U798+BY/e3FzPNnwLE6Uv88oI6EEEIIIYQQQgghhBBCCCGEEEIIIYQQQkiRoHyQxz/T51gdqX8evKfjlzdeNHp4eFjp15OTk5N/hCQHjoFWOt7o139VOj5/8HXUPwOO1f+/02ApXEhJmmnTzIP6p49r28wlRFMJMgwhmnlQ/3RB854g/RwaBgF7wkVOyGYe1D9N0L4vWDMXGwTaFHIsJGpgpF5TyIm0hPqnR6XTdLPZrF2oZi7aVIDePxFgqCH1ov6EEEIIITHRtl7jixBCkuToPH8ocGMQrihmiqh/8Jnjau6hrwen/sPQOs8fAgxA5on7xxcfBigDQf2HIUSdR6g3wmKRnolGfKH+QxCT/vaGOAh6Ijrxhfr3SYz613AQdE+04gv174Ng5b1dwUHQHTEbv0H9u6X6PGeTySTu69oaBsFYSCui9/we1L87tBpzFv1naoPg8vISA2AqpBX4DPFZxm78BvUn9awF8R07yrRGPf80pdmU+hNCyJHoYa4ZHSghhWEBXwT84ASEEFIGDdmec8mJ6j+EyNAiu/9YACC+fjaXkinU/21SSPW2BuIzT/waX/yKpWQK9W+mCOMHLBZ5TfbLPg/q/5pijN/gINhTnPhC/X1cwAauScFBUKbxG9R/h9P7F0rTv6bkQVCy8Rt0Aju00OtUSqTEQZBSbX/X0AmQF4Mg5wi4cRAJn0jhlKY/aUBrx5c558ANzYUvafx7StAfqxv0UKyer4QQUg5+zAfXdgkhpAxKqvMghHgUm+cPhdufhU/Oa+qRTp6Jb0HK+oOi8/whcC+74SSTIrJlH7vitCMl/RHcqx4I8uHN/u19v9w8f1swi6aWJ+aeLxyp6F+9r2u8v/F47M7Oztzt7S3e61xIe1IqFmGFX3hi19/tLuesjX+73brFYlG/V3xdQlq7F1JwAjT+7ohVfzX+Ma5ngwPwn+EI1AmMhLQnZidA4++e2PTHsh8Gvl6vna0AsPzXy1Ld+fm5OQDu/0MRoxOg8fdHLPoj4Gd7flv6w/DxvtDLD9+7urrC+7sTEhZ/EOB2WhkYE57G3w8x6I9oP2Z7GD4es9nM3dzc1DM/lv46FpZc/ncEBgEMD7XVMjB4DxiINP7+GEp/t7/voF7uI0WJ2R4OAM93d3f4I7TzPhNCSD5Yqm86ndbLfTzm87nt8+ulP2Z/x+vQCMkL7Pktwo/Z3oJ9MH6LA+ief/AVKSEkILbdgJHr3v4ez74T0FUA9/wxgP1XF0Lozx0LiZqQ+uuefwEDh8Fj+a+lvrfmBJSxkOGBEF4UNliKyFJ9usdjgCdSQupve37s7RHhb3ICOvPzfH8swDhD54kb8vwjIVESSn+/ug91/SjqQcT/wAlgNhiz0CcyQhaLsMgnPULoX73m0nL7fnnvw8ND7QT0sA+LfGKlYRB82ks7NnNIlmP1d/sjvVtsJTDbm/HXG/3x2OmfTznzR44NgmOX7Y7NHJLms/q7gyO9MPqLi4t6+b9cLustgKb6eMw3FdwfmjFggKg3X71l4I7NHJLmHf3PVPs5/o7l9H///r214p7a2udzv8hn5RgDShsN3Czg1SE4lom6xKO4heB2rdnvYdi6QljgGbO9BvfgOLa65Ac3+hpOBinjtHkDhMdv/Qe+p45gTkeQL7bUtwIeaK5OoJ4MdKZHlG9lDkBIPsDzQ/QmJ3B6emopHqwB2corQzDDX19fOzvNh7GAr+EE/CO9eHDPnxH+0t8/ugnBpWE1QOHzwpbvurxfwbibnEA9/VdpPh7pzQjs3yyfK2rkMHxzBAj0+I6ADiAvdFsHLvT37zkBGP5YSB6YA2ha9lvrJiz9hQ4gO7CVswo+jfH80QlgMqD2GaKC35unF88JYCtAB5AnGvi9h6F7GZ9GJ2CZP0b7M8XSO4eZADqAvLHIPxzAW07AjvpKYfxPCkBngevn5+fVr1+/TqtAoFQDQUieuF2RD1J5SOyP1+v15c+fP6Vy9HJxcSHfv3+X6nsIAF2cnJysq5d8r1YAP/EshVGEA6iYVkZ/+e3bN5nNZu/+5a9fv+LpXyHJocG72x8/fpxXDv+2+vocDr+K9cDp31UrvYcDJ3AOJ1A9bqrHs5D80BlhZdF+f8lvhz3we68QZMX0T3pglWcHd6Cjdeyx/L6W+M6s6EdP9c2ElIHbneJaWStnFIRoTOBe94D4eiokSZyW72oxl/MLfvA1jB6642CPpoCXDPhljO79RwffG6kj2OrzqT5e1Xo3vZ7EC2K7B0073GGaD9/XmX/1nvFT/4Rx2syjbT+AIW+gIZ/D7ao9b//kBDQ4ePkB46f+qeICtPFy2g8gpavJSwZpW8zw1sWnyQl8Zs9P/RPFBWzj5RK6mrxkTCfb/1uu/9AJfHbPT/0Tw3XQxqthELArcETocn5lffvtXL/vBNr08KP+CQFxvLbQEwmEDQJe/RQXTi/tsBp+O/AFEOn3Un9z1yLaT/0TQgNBwb20Zg/o/SPBsjkwShh7vb5fLq2M22/wEqS8V/+9sRBChsXtuvfWxo1f7EQnHpj1se/XZh5s3U1ITrhdfX+91LdZ3io73b7JqwX8RkIIyQPs5THLY6kPYPjmCLw8/0hI3iAd8/j4uN1sNisZGLwH/3gpCYcfuHPeFd0wdtv3myPwWnf32suR+veMn+fHBy8DA0fEPHF4NOhmS/r6kA/2+tbCHZd2aMAP38D6/8ENUNtP/XvERXhXn2OxSCcggId9vRXx4LNF12avdfsLJyADQf17IkbjNzgIwoOUK27p8Sv58Nl6vf1qJ6DL/kE7+VD/jonZ+A0OgvB8wAngbH8UN/ZQ/45IwfgNDoLwvOUEtLw3qr6N1D8wiOimYvxGwyAYC2lFkxNAjCCGmf8Q6h8QRHeR7knF+A0bBJqqmgr5NO6gGYc5gTYHe/qC+gfC7bv3jCUx3K5ibepYmPJp3BvNXNyut+M0xpn/EOpPyBG4AM1cCCEJkmLMhxASiKenp3saf4Fg2Vc9FsjpSuZo3hr/115r1lMAe+bNZrPO2fip/wH+nq9iKZkD8ZknLhfq79EQ8MneK7JYpGyov5JShV9oOAjKvnSjeP1LNn6j5EHgWl7akgPF6k/j31PiIGCef09x+jPP+5qSBgGd/2uKcgIHEdCJkBp/EOSaCaHxv00J+tdoDnRJ8V+jtePLHGshaPzvk7P+pGC47SOkYCqDn6FvH42fkAJxuyPdaN01FlIGbnc/37TkFE8o3L4nAmvHCyQ5/S3gw24oYXAvuyKxbLgwktK/xNr+rsFqKpU8sa78Zlz5hSMZ/Znq6Y4UikVMf72oYyYkGNHrT+PvnpgHAVd+3ROt/jT+/ohxEFD//ohOf4rfPzENAurfP1E5AVzPRPH7xx8EuJ1WBoDGPxyH+ruhjlTjbnR9AxMhvYLPHA4YGkjPIMpP4x+WIfUnhYMZx2voMRFCSFlohVqR3XwIIaQc3O5OtrGQJFC9RkKKRCsyRxICi/YuFgvs986ERA3Eh1ahUkT4GQg0Vc9XQqInqP6ODRyTA046VJ7Y1x/XdgmJnmD6M8+bLiGKRVjemy6t9WeeN30aBsGHI/bUP33a6M88bybYIPjs9o3658Gx+tuLmefNgGN1pP55QB0JIYQQQgghhBBCCJGy+T9ftRg+rVNPfAAAAABJRU5ErkJggg==\\')'\n },\n bannerStyles: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'fixed',\n top: '16px',\n right: '16px',\n padding: '12px',\n 'border-radius': '4px',\n 'box-shadow': '0px 4px 5px 0px rgba(0, 0, 0, 0.04), 0px 2px 4px 0px rgba(0, 0, 0, 0.03)',\n 'font-size': '14px',\n 'font-weight': 400,\n 'line-height': '20px',\n 'background-color': '#FFC000',\n color: '#1E1E1E',\n 'z-index': 999999\n },\n bannerButtonStyles: {\n display: 'inline-flex',\n position: 'relative',\n border: 'none',\n 'border-radius': '4px',\n padding: '5px',\n 'background-color': 'transparent',\n transition: 'color 0.2s ease-in-out',\n outline: 'none',\n cursor: 'pointer'\n },\n showBanner: true\n };\n },\n methods: {\n onCloseBannerClick: function onCloseBannerClick() {\n this.showBanner = false;\n banners = [];\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var bannerElement = this.showBanner && h(\"div\", {\n style: this.bannerStyles,\n ref: 'banner'\n }, [h(\"span\", {\n style: {\n display: 'flex',\n alignSelf: 'center',\n marginRight: '8px'\n }\n }, [h(\"svg\", {\n width: \"16\",\n attrs: this.v3 ? undefined : {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n },\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, [h(\"path\", {\n \"fill-rule\": \"evenodd\",\n attrs: this.v3 ? undefined : {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M8 1L0 15H16L8 1ZM7 6V11H9V6H7ZM7 14V12H9V14H7Z\",\n fill: \"#1E1E1E\"\n },\n \"clip-rule\": \"evenodd\",\n d: \"M8 1L0 15H16L8 1ZM7 6V11H9V6H7ZM7 14V12H9V14H7Z\",\n fill: \"#1E1E1E\"\n })])]), h(\"span\", [\"No valid license found for Kendo UI for Vue. Learn how to activate your license.\"]), h(\"div\", {\n style: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '24px'\n }\n }, [h(\"a\", {\n href: licenseKeyUrl,\n attrs: this.v3 ? undefined : {\n href: licenseKeyUrl\n },\n style: {\n marginRight: '8px',\n display: 'flex'\n }\n }, [h(\"button\", {\n title: \"Learn More\",\n attrs: this.v3 ? undefined : {\n title: \"Learn More\"\n },\n style: this.bannerButtonStyles\n }, [h(\"svg\", {\n width: \"16\",\n attrs: this.v3 ? undefined : {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n },\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, [h(\"path\", {\n d: \"M15 8C15 11.8656 11.8656 15 8 15C4.13437 15 1 11.8656 1 8C1 4.13437 4.13437 1 8 1C11.8656 1 15 4.13437 15 8ZM14 8C14 4.6875 11.3125 2 8 2C4.6875 2 2 4.6875 2 8C2 11.3125 4.6875 14 8 14C11.3125 14 14 11.3125 14 8ZM11 6C11 7.4125 10.2687 8.05937 9.73125 8.53125C9.25937 8.94688 9 9.17813 9 10H7C7 8.275 7.84688 7.525 8.40938 7.03125C8.84062 6.65312 9 6.50938 9 6C9 5.45 8.55 5 8 5C7.45 5 7 5.45 7 6H5C5 4.34375 6.34375 3 8 3C9.65625 3 11 4.34375 11 6ZM9 13V11H7V13H9Z\",\n attrs: this.v3 ? undefined : {\n d: \"M15 8C15 11.8656 11.8656 15 8 15C4.13437 15 1 11.8656 1 8C1 4.13437 4.13437 1 8 1C11.8656 1 15 4.13437 15 8ZM14 8C14 4.6875 11.3125 2 8 2C4.6875 2 2 4.6875 2 8C2 11.3125 4.6875 14 8 14C11.3125 14 14 11.3125 14 8ZM11 6C11 7.4125 10.2687 8.05937 9.73125 8.53125C9.25937 8.94688 9 9.17813 9 10H7C7 8.275 7.84688 7.525 8.40938 7.03125C8.84062 6.65312 9 6.50938 9 6C9 5.45 8.55 5 8 5C7.45 5 7 5.45 7 6H5C5 4.34375 6.34375 3 8 3C9.65625 3 11 4.34375 11 6ZM9 13V11H7V13H9Z\",\n fill: \"#1E1E1E\"\n },\n fill: \"#1E1E1E\"\n })])])]), h(\"button\", {\n title: \"Close\",\n attrs: this.v3 ? undefined : {\n title: \"Close\"\n },\n style: this.bannerButtonStyles,\n onClick: this.onCloseBannerClick,\n on: this.v3 ? undefined : {\n \"click\": this.onCloseBannerClick\n }\n }, [h(\"svg\", {\n width: \"16\",\n attrs: this.v3 ? undefined : {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n },\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, [h(\"path\", {\n d: \"M13 4.41562L9.41563 8L13 11.5844L11.5844 13L8 9.41563L4.41562 13L3 11.5844L6.58437 8L3 4.41562L4.41562 3L8 6.58437L11.5844 3L13 4.41562Z\",\n attrs: this.v3 ? undefined : {\n d: \"M13 4.41562L9.41563 8L13 11.5844L11.5844 13L8 9.41563L4.41562 13L3 11.5844L6.58437 8L3 4.41562L4.41562 3L8 6.58437L11.5844 3L13 4.41562Z\",\n fill: \"#1E1E1E\"\n },\n fill: \"#1E1E1E\"\n })])])])]);\n return h(\"div\", {\n style: this.watermarkStyles\n }, [bannerElement]);\n }\n};\n/**\n * @hidden\n */\nvar WatermarkOverlay = WatermarkOverlayVue2;\nexport { WatermarkOverlay, WatermarkOverlayVue2 };","/**\n * @hidden\n */\nexport var FOCUSABLE_ELEMENTS = [\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]'\n];\n/**\n * @hidden\n */\nvar Navigation = /** @class */ (function () {\n function Navigation(options) {\n var _this = this;\n this.rovingTabIndex = true;\n this.update = function () { };\n this.focusNextIndex = function (target, indexDiff) {\n var all = _this.elements;\n var index = all.indexOf(target) + indexDiff;\n index = index < 0 ? all.length - 1 : index;\n _this.focusElement(all[index % all.length], target);\n };\n this.tabIndex = options.tabIndex || 0;\n this.root = options.root;\n this.selectors = options.selectors;\n this.rovingTabIndex = options.rovingTabIndex !== undefined ? options.rovingTabIndex : true;\n this.mouseEvents = options.mouseEvents || {};\n this.keyboardEvents = options.keyboardEvents || {};\n }\n Object.defineProperty(Navigation.prototype, \"elements\", {\n get: function () {\n return this.root ? Array.from(this.root.querySelectorAll(this.selectors.join(','))) : [];\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"first\", {\n get: function () {\n return (this.root && this.root.querySelector(this.selectors.join(','))) || null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"last\", {\n get: function () {\n var all = this.elements;\n return all[all.length - 1] || null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"current\", {\n get: function () {\n return this.elements.find(function (el) { return el.matches(':focus'); }) || null;\n },\n enumerable: false,\n configurable: true\n });\n Navigation.prototype.focusNext = function (target) {\n this.focusNextIndex(target, 1);\n };\n Navigation.prototype.focusPrevious = function (target) {\n this.focusNextIndex(target, -1);\n };\n Navigation.prototype.triggerKeyboardEvent = function (ev) {\n var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));\n var key = ev.key === ' ' ? 'Space' : ev.key;\n var eventType = ev.type;\n if (target && this.keyboardEvents[eventType][key]) {\n this.keyboardEvents[eventType][key].call(undefined, target, this, ev);\n }\n };\n Navigation.prototype.triggerMouseEvent = function (ev) {\n var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));\n var eventType = ev.type;\n if (target) {\n this.mouseEvents[eventType].call(undefined, target, this, ev);\n }\n };\n Navigation.prototype.focusElement = function (element, previous) {\n if (element) {\n if (previous) {\n if (this.rovingTabIndex) {\n previous.removeAttribute('tabindex');\n }\n previous.classList.remove('k-focus');\n }\n if (this.rovingTabIndex) {\n element.setAttribute('tabindex', String(this.tabIndex));\n }\n element.focus({ preventScroll: true });\n }\n };\n return Navigation;\n}());\nexport { Navigation };\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-indicators',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1700038649,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots, getDir, kendoThemeMaps } from '@progress/kendo-vue-common';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar BadgeVue2 = {\n name: 'KendoBadge',\n props: {\n dir: String,\n align: {\n type: Object,\n default: function _default() {\n return {\n vertical: 'top',\n horizontal: 'end'\n };\n }\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return ['small', 'medium', 'large'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return ['solid', 'outline'].includes(value);\n }\n },\n themeColor: {\n type: String,\n default: 'primary',\n validator: function validator(value) {\n return ['primary', 'secondary', 'tertiary', 'info', 'success', 'warning', 'error', 'dark', 'light', 'inverse'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'full'].includes(value);\n }\n },\n position: {\n type: String,\n default: 'edge',\n validator: function validator(value) {\n return ['edge', 'outside', 'inside'].includes(value);\n }\n },\n cutoutBorder: Boolean\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentDir = undefined;\n },\n mounted: function mounted() {\n this.currentDir = getDir(this.$el, this.$props.dir);\n },\n computed: {\n badgeClasses: function badgeClasses() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n fillMode = _b.fillMode,\n cutoutBorder = _b.cutoutBorder,\n position = _b.position,\n align = _b.align,\n themeColor = _b.themeColor,\n rounded = _b.rounded;\n return _a = {\n 'k-badge': true,\n 'k-badge-sm': size === 'small',\n 'k-badge-md': size === 'medium',\n 'k-badge-lg': size === 'large'\n }, _a[\"k-badge-\".concat(fillMode)] = fillMode, _a[\"k-badge-\".concat(fillMode, \"-\").concat(themeColor)] = Boolean(fillMode && themeColor), _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-badge-border-cutout'] = cutoutBorder, _a[\"k-badge-\".concat(position)] = position, _a['k-top-start'] = align.vertical === 'top' && align.horizontal === 'start', _a['k-top-end'] = align.vertical === 'top' && align.horizontal === 'end', _a['k-bottom-start'] = align.vertical === 'bottom' && align.horizontal === 'start', _a['k-bottom-end'] = align.vertical === 'bottom' && align.horizontal === 'end', _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"span\", {\n \"class\": this.badgeClasses,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir\n }\n }, [defaultSlot]);\n },\n methods: {\n focusElement: function focusElement() {\n if (this.$el) {\n this.$el.focus();\n }\n }\n }\n};\n/**\n * Represents the [Kendo UI for Vue Badge component]({% slug api_indicators_badgeprops %}).\n *\n * @example\n * ```jsx\n * 99+\n * ```\n */\nvar Badge = BadgeVue2;\nexport { Badge, BadgeVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots, getDir, getListeners, getTemplate, kendoThemeMaps, templateRendering } from '@progress/kendo-vue-common';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar BadgeContainerVue2 = {\n name: 'KendoBadgeContainer',\n props: {\n dir: String,\n align: {\n type: Object,\n default: function _default() {\n return {\n vertical: 'top',\n horizontal: 'end'\n };\n }\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return ['small', 'medium', 'large'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return ['solid', 'outline'].includes(value);\n }\n },\n themeColor: {\n type: String,\n default: 'primary',\n validator: function validator(value) {\n return ['primary', 'secondary', 'tertiary', 'info', 'success', 'warning', 'error', 'dark', 'light', 'inverse'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'full'].includes(value);\n }\n },\n position: {\n type: String,\n default: 'edge',\n validator: function validator(value) {\n return ['edge', 'outside', 'inside'].includes(value);\n }\n },\n cutoutBorder: Boolean,\n content: [String, Function, Object]\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentDir = undefined;\n },\n mounted: function mounted() {\n this.currentDir = getDir(this.$el, this.$props.dir);\n },\n computed: {\n badgeContainerClasses: function badgeContainerClasses() {\n return {\n 'k-badge-container': true\n };\n },\n badgeClasses: function badgeClasses() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n fillMode = _b.fillMode,\n cutoutBorder = _b.cutoutBorder,\n position = _b.position,\n align = _b.align,\n themeColor = _b.themeColor,\n rounded = _b.rounded;\n return _a = {\n 'k-badge': true,\n 'k-badge-sm': size === 'small',\n 'k-badge-md': size === 'medium',\n 'k-badge-lg': size === 'large'\n }, _a[\"k-badge-\".concat(fillMode)] = fillMode, _a[\"k-badge-\".concat(fillMode, \"-\").concat(themeColor)] = Boolean(fillMode && themeColor), _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-badge-border-cutout'] = cutoutBorder, _a[\"k-badge-\".concat(position)] = position, _a['k-top-start'] = align.vertical === 'top' && align.horizontal === 'start', _a['k-top-end'] = align.vertical === 'top' && align.horizontal === 'end', _a['k-bottom-start'] = align.vertical === 'bottom' && align.horizontal === 'start', _a['k-bottom-end'] = align.vertical === 'bottom' && align.horizontal === 'end', _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var content = templateRendering.call(this, this.content, getListeners.call(this));\n var contentElement = getTemplate.call(this, {\n h: h,\n template: content,\n additionalProps: this.$props\n });\n return h(\"span\", {\n \"class\": this.badgeContainerClasses,\n style: {\n display: 'inline-block'\n },\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir\n }\n }, [defaultSlot, h(\"span\", {\n \"class\": this.badgeClasses,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir\n }\n }, [contentElement])]);\n },\n methods: {\n focusElement: function focusElement() {\n if (this.$el) {\n this.$el.focus();\n }\n }\n }\n};\n/**\n * Represents the [Kendo UI for Vue BadgeContainer component]({% slug api_indicators_badgeprops %}).\n *\n * @example\n * ```jsx\n * 99+\n * ```\n */\nvar BadgeContainer = BadgeContainerVue2;\nexport { BadgeContainer, BadgeContainerVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nvar SEGMENT_COUNT = {\n 'pulsing': 2,\n 'infinite-spinner': 3,\n 'converging-spinner': 4\n};\nvar TYPE_CLASSES = {\n 'pulsing': 'k-loader-pulsing-2',\n 'infinite-spinner': 'k-loader-spinner-3',\n 'converging-spinner': 'k-loader-spinner-4'\n};\n/**\n * @hidden\n */\nvar LoaderVue2 = {\n name: 'KendoLoader',\n props: {\n type: {\n type: String,\n default: 'pulsing',\n validator: function validator(value) {\n return ['pulsing', 'infinite-spinner', 'converging-spinner'].includes(value);\n }\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return ['small', 'medium', 'large'].includes(value);\n }\n },\n themeColor: {\n type: String,\n default: 'primary',\n validator: function validator(value) {\n return ['primary', 'secondary', 'tertiary', 'info', 'success', 'warning', 'error', 'dark', 'light', 'inverse'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n loaderClasses: function loaderClasses() {\n var _a = this.$props,\n type = _a.type,\n size = _a.size,\n themeColor = _a.themeColor;\n return {\n 'k-loader': true,\n 'k-loader-sm': size === 'small',\n 'k-loader-md': size === 'medium',\n 'k-loader-lg': size === 'large',\n 'k-loader-primary': themeColor === 'primary',\n 'k-loader-secondary': themeColor === 'secondary',\n 'k-loader-tertiary': themeColor === 'tertiary',\n 'k-loader-info': themeColor === 'info',\n 'k-loader-success': themeColor === 'success',\n 'k-loader-warning': themeColor === 'warning',\n 'k-loader-error': themeColor === 'error',\n 'k-loader-dark': themeColor === 'dark',\n 'k-loader-light': themeColor === 'light',\n 'k-loader-inverse': themeColor === 'inverse',\n 'k-loader-pulsing-2': type === 'pulsing',\n 'k-loader-spinner-3': type === 'infinite-spinner',\n 'k-loader-spinner-4': type === 'converging-spinner'\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var type = this.$props.type;\n var spans = new Array(SEGMENT_COUNT[type]);\n spans.fill(0, 0, SEGMENT_COUNT[type]);\n return h(\"div\", {\n \"class\": this.loaderClasses\n }, [h(\"div\", {\n \"class\": \"k-loader-canvas\"\n }, [spans.map(function (_, i) {\n return h(\"span\", {\n key: i,\n \"class\": \"k-loader-segment\"\n });\n }, this)])]);\n },\n methods: {\n focus: function focus(e) {\n if (this.$el) {\n this.$el.focus(e);\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar Loader = LoaderVue2;\nexport { Loader, LoaderVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { validatePackage, isObject } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar SkeletonVue2 = {\n name: 'KendoSkeleton',\n props: {\n animation: {\n type: [Object, Boolean],\n default: function _default() {\n return {\n type: 'pulse'\n };\n },\n validator: function validator(value) {\n return value === false || ['wave', 'pulse'].includes(value.type);\n }\n },\n shape: {\n type: String,\n default: 'text',\n validator: function validator(value) {\n return ['circle', 'rectangle', 'text'].includes(value);\n }\n },\n ariaBusy: {\n type: Boolean,\n default: undefined\n },\n role: {\n type: String,\n default: undefined\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n skeletonClasses: function skeletonClasses() {\n return {\n 'k-skeleton': true,\n 'k-skeleton-circle': this.shape === 'circle',\n 'k-skeleton-rect': this.shape === 'rectangle',\n 'k-skeleton-text': this.shape === 'text',\n 'k-skeleton-pulse': isObject(this.animation) && this.animation.type === 'pulse',\n 'k-skeleton-wave': isObject(this.animation) && this.animation.type === 'wave' || this.animation === true\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"span\", {\n role: this.$props.role,\n attrs: this.v3 ? undefined : {\n role: this.$props.role,\n ariaBusy: this.$props.ariaBusy\n },\n \"class\": this.skeletonClasses,\n ariaBusy: this.$props.ariaBusy\n });\n }\n};\n/**\n * @hidden\n */\nvar Skeleton = SkeletonVue2;\nexport { Skeleton, SkeletonVue2 };","/**\n * @hidden\n */\nexport var isPresent = function (value) { return value !== null && value !== undefined; };\n/**\n * @hidden\n *\n * Fits the contender number into the specified bounds.\n * If the number is NaN or null, the minimum is returned.\n *\n * @param contender Represents the number you want to fit into the specified bounds.\n * @param min The inclusive lower bound number.\n * @param max The inclusive upper bound number.\n */\nexport var fitIntoBounds = function (contender, min, max) {\n if (!isPresent(contender) || isNaN(contender)) {\n return min;\n }\n return contender <= min ? min : contender >= max ? max : contender;\n};\n","var Class = function Class () {};\n\nexport default Class;\n","function matchUserAgent(userAgent) {\n var browserRxs = {\n edge: /(edge)[ \\/]([\\w.]+)/i,\n webkit: /(chrome)[ \\/]([\\w.]+)/i,\n safari: /(webkit)[ \\/]([\\w.]+)/i,\n opera: /(opera)(?:.*version|)[ \\/]([\\w.]+)/i,\n msie: /(msie\\s|trident.*? rv:)([\\w.]+)/i,\n mozilla: /(mozilla)(?:.*? rv:([\\w.]+))/i\n };\n\n var browser = {};\n\n for (var agent in browserRxs) {\n if (browserRxs.hasOwnProperty(agent)) {\n var match = userAgent.match(browserRxs[agent]);\n if (match) {\n browser[agent] = true;\n browser[match[1].toLowerCase().split(\" \")[0].split(\"/\")[0]] = true;\n browser.version = parseInt(document.documentMode || match[2], 10);\n\n break;\n }\n }\n }\n\n return browser;\n}\n\nvar browser = null;\n\nvar support = {\n get browser() {\n if (typeof window === 'undefined' || browser) {\n return browser;\n }\n\n browser = matchUserAgent(window.navigator.userAgent);\n return browser;\n }\n};\n\nexport default support;\n","var namedColors = {\n aliceblue: \"f0f8ff\", antiquewhite: \"faebd7\", aqua: \"00ffff\",\n aquamarine: \"7fffd4\", azure: \"f0ffff\", beige: \"f5f5dc\",\n bisque: \"ffe4c4\", black: \"000000\", blanchedalmond: \"ffebcd\",\n blue: \"0000ff\", blueviolet: \"8a2be2\", brown: \"a52a2a\",\n burlywood: \"deb887\", cadetblue: \"5f9ea0\", chartreuse: \"7fff00\",\n chocolate: \"d2691e\", coral: \"ff7f50\", cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\", crimson: \"dc143c\", cyan: \"00ffff\",\n darkblue: \"00008b\", darkcyan: \"008b8b\", darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\", darkgrey: \"a9a9a9\", darkgreen: \"006400\",\n darkkhaki: \"bdb76b\", darkmagenta: \"8b008b\", darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\", darkorchid: \"9932cc\", darkred: \"8b0000\",\n darksalmon: \"e9967a\", darkseagreen: \"8fbc8f\", darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\", darkslategrey: \"2f4f4f\", darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\", deeppink: \"ff1493\", deepskyblue: \"00bfff\",\n dimgray: \"696969\", dimgrey: \"696969\", dodgerblue: \"1e90ff\",\n firebrick: \"b22222\", floralwhite: \"fffaf0\", forestgreen: \"228b22\",\n fuchsia: \"ff00ff\", gainsboro: \"dcdcdc\", ghostwhite: \"f8f8ff\",\n gold: \"ffd700\", goldenrod: \"daa520\", gray: \"808080\",\n grey: \"808080\", green: \"008000\", greenyellow: \"adff2f\",\n honeydew: \"f0fff0\", hotpink: \"ff69b4\", indianred: \"cd5c5c\",\n indigo: \"4b0082\", ivory: \"fffff0\", khaki: \"f0e68c\",\n lavender: \"e6e6fa\", lavenderblush: \"fff0f5\", lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\", lightblue: \"add8e6\", lightcoral: \"f08080\",\n lightcyan: \"e0ffff\", lightgoldenrodyellow: \"fafad2\", lightgray: \"d3d3d3\",\n lightgrey: \"d3d3d3\", lightgreen: \"90ee90\", lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\", lightseagreen: \"20b2aa\", lightskyblue: \"87cefa\",\n lightslategray: \"778899\", lightslategrey: \"778899\", lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\", lime: \"00ff00\", limegreen: \"32cd32\",\n linen: \"faf0e6\", magenta: \"ff00ff\", maroon: \"800000\",\n mediumaquamarine: \"66cdaa\", mediumblue: \"0000cd\", mediumorchid: \"ba55d3\",\n mediumpurple: \"9370d8\", mediumseagreen: \"3cb371\", mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\", mediumturquoise: \"48d1cc\", mediumvioletred: \"c71585\",\n midnightblue: \"191970\", mintcream: \"f5fffa\", mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\", navajowhite: \"ffdead\", navy: \"000080\",\n oldlace: \"fdf5e6\", olive: \"808000\", olivedrab: \"6b8e23\",\n orange: \"ffa500\", orangered: \"ff4500\", orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\", palegreen: \"98fb98\", paleturquoise: \"afeeee\",\n palevioletred: \"d87093\", papayawhip: \"ffefd5\", peachpuff: \"ffdab9\",\n peru: \"cd853f\", pink: \"ffc0cb\", plum: \"dda0dd\",\n powderblue: \"b0e0e6\", purple: \"800080\", red: \"ff0000\",\n rosybrown: \"bc8f8f\", royalblue: \"4169e1\", saddlebrown: \"8b4513\",\n salmon: \"fa8072\", sandybrown: \"f4a460\", seagreen: \"2e8b57\",\n seashell: \"fff5ee\", sienna: \"a0522d\", silver: \"c0c0c0\",\n skyblue: \"87ceeb\", slateblue: \"6a5acd\", slategray: \"708090\",\n slategrey: \"708090\", snow: \"fffafa\", springgreen: \"00ff7f\",\n steelblue: \"4682b4\", tan: \"d2b48c\", teal: \"008080\",\n thistle: \"d8bfd8\", tomato: \"ff6347\", turquoise: \"40e0d0\",\n violet: \"ee82ee\", wheat: \"f5deb3\", white: \"ffffff\",\n whitesmoke: \"f5f5f5\", yellow: \"ffff00\", yellowgreen: \"9acd32\"\n};\n\nexport default namedColors;","import Class from '../class';\nimport support from '../support';\nimport namedColors from './named-colors';\n\nvar browser = support.browser;\n\nvar matchNamedColor = function (color) {\n var colorNames = Object.keys(namedColors);\n colorNames.push(\"transparent\");\n\n var regexp = new RegExp(\"^(\" + colorNames.join(\"|\") + \")(\\\\W|$)\", \"i\");\n matchNamedColor = function (color) { return regexp.exec(color); };\n\n return regexp.exec(color);\n};\n\nvar BaseColor = (function (Class) {\n function BaseColor() { Class.call(this); }\n\n if ( Class ) BaseColor.__proto__ = Class;\n BaseColor.prototype = Object.create( Class && Class.prototype );\n BaseColor.prototype.constructor = BaseColor;\n BaseColor.prototype.toHSV = function toHSV () { return this; };\n\n BaseColor.prototype.toRGB = function toRGB () { return this; };\n\n BaseColor.prototype.toHex = function toHex (options) { return this.toBytes().toHex(options); };\n\n BaseColor.prototype.toBytes = function toBytes () { return this; };\n\n BaseColor.prototype.toCss = function toCss (options) { return \"#\" + this.toHex(options); };\n\n BaseColor.prototype.toCssRgba = function toCssRgba () {\n var rgb = this.toBytes();\n return (\"rgba(\" + (rgb.r) + \", \" + (rgb.g) + \", \" + (rgb.b) + \", \" + (parseFloat((Number(this.a)).toFixed(3))) + \")\");\n };\n\n BaseColor.prototype.toDisplay = function toDisplay () {\n if (browser.msie && browser.version < 9) {\n return this.toCss(); // no RGBA support; does it support any opacity in colors?\n }\n return this.toCssRgba();\n };\n\n BaseColor.prototype.equals = function equals (c) {\n return c === this || ((c !== null && c !== undefined) && this.toCssRgba() === parseColor(c).toCssRgba());\n };\n\n BaseColor.prototype.diff = function diff (other) {\n if (other === null) {\n return NaN;\n }\n\n var c1 = this.toBytes();\n var c2 = other.toBytes();\n\n return Math.sqrt(Math.pow((c1.r - c2.r) * 0.30, 2) +\n Math.pow((c1.g - c2.g) * 0.59, 2) +\n Math.pow((c1.b - c2.b) * 0.11, 2));\n };\n\n BaseColor.prototype.clone = function clone () {\n var c = this.toBytes();\n if (c === this) {\n c = new Bytes(c.r, c.g, c.b, c.a);\n }\n\n return c;\n };\n\n return BaseColor;\n}(Class));\n\nvar RGB = (function (BaseColor) {\n function RGB(r, g, b, a) {\n BaseColor.call(this);\n\n this.r = r;\n this.g = g;\n this.b = b;\n this.a = a;\n }\n\n if ( BaseColor ) RGB.__proto__ = BaseColor;\n RGB.prototype = Object.create( BaseColor && BaseColor.prototype );\n RGB.prototype.constructor = RGB;\n\n RGB.prototype.toHSV = function toHSV () {\n var ref = this;\n var r = ref.r;\n var g = ref.g;\n var b = ref.b;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var v = max;\n var h, s;\n\n if (delta === 0) {\n return new HSV(0, 0, v, this.a);\n }\n\n if (max !== 0) {\n s = delta / max;\n if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else {\n h = 4 + (r - g) / delta;\n }\n\n h *= 60;\n if (h < 0) {\n h += 360;\n }\n } else {\n s = 0;\n h = -1;\n }\n\n return new HSV(h, s, v, this.a);\n };\n\n RGB.prototype.toHSL = function toHSL () {\n var ref = this;\n var r = ref.r;\n var g = ref.g;\n var b = ref.b;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0;\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n default: break;\n }\n }\n\n return new HSL(h * 60, s * 100, l * 100, this.a);\n };\n\n RGB.prototype.toBytes = function toBytes () {\n return new Bytes(this.r * 255, this.g * 255, this.b * 255, this.a);\n };\n\n return RGB;\n}(BaseColor));\n\nvar Bytes = (function (RGB) {\n function Bytes(r, g, b, a) {\n RGB.call(this, Math.round(r), Math.round(g), Math.round(b), a);\n }\n\n if ( RGB ) Bytes.__proto__ = RGB;\n Bytes.prototype = Object.create( RGB && RGB.prototype );\n Bytes.prototype.constructor = Bytes;\n\n Bytes.prototype.toRGB = function toRGB () {\n return new RGB(this.r / 255, this.g / 255, this.b / 255, this.a);\n };\n\n Bytes.prototype.toHSV = function toHSV () {\n return this.toRGB().toHSV();\n };\n\n Bytes.prototype.toHSL = function toHSL () {\n return this.toRGB().toHSL();\n };\n\n Bytes.prototype.toHex = function toHex (options) {\n var value = hex(this.r, 2) + hex(this.g, 2) + hex(this.b, 2);\n\n if (options && options.alpha) {\n value += hex(Math.round(this.a * 255), 2);\n }\n\n return value;\n };\n\n Bytes.prototype.toBytes = function toBytes () {\n return this;\n };\n\n return Bytes;\n}(RGB));\n\nfunction hex(n, width, pad) {\n if ( pad === void 0 ) pad = \"0\";\n\n var result = n.toString(16);\n while (width > result.length) {\n result = pad + result;\n }\n\n return result;\n}\n\nvar HSV = (function (BaseColor) {\n function HSV(h, s, v, a) {\n BaseColor.call(this);\n\n this.h = h;\n this.s = s;\n this.v = v;\n this.a = a;\n }\n\n if ( BaseColor ) HSV.__proto__ = BaseColor;\n HSV.prototype = Object.create( BaseColor && BaseColor.prototype );\n HSV.prototype.constructor = HSV;\n\n HSV.prototype.toRGB = function toRGB () {\n var ref = this;\n var h = ref.h;\n var s = ref.s;\n var v = ref.v;\n var r, g, b;\n\n if (s === 0) {\n r = g = b = v;\n } else {\n h /= 60;\n\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - s * f);\n var t = v * (1 - s * (1 - f));\n\n switch (i) {\n case 0: r = v; g = t; b = p; break;\n case 1: r = q; g = v; b = p; break;\n case 2: r = p; g = v; b = t; break;\n case 3: r = p; g = q; b = v; break;\n case 4: r = t; g = p; b = v; break;\n default: r = v; g = p; b = q; break;\n }\n }\n\n return new RGB(r, g, b, this.a);\n };\n\n HSV.prototype.toHSL = function toHSL () {\n return this.toRGB().toHSL();\n };\n\n HSV.prototype.toBytes = function toBytes () {\n return this.toRGB().toBytes();\n };\n\n return HSV;\n}(BaseColor));\n\nvar HSL = (function (BaseColor) {\n function HSL(h, s, l, a) {\n BaseColor.call(this);\n\n this.h = h;\n this.s = s;\n this.l = l;\n this.a = a;\n }\n\n if ( BaseColor ) HSL.__proto__ = BaseColor;\n HSL.prototype = Object.create( BaseColor && BaseColor.prototype );\n HSL.prototype.constructor = HSL;\n\n HSL.prototype.toRGB = function toRGB () {\n var h = this.h / 360;\n var s = this.s / 100;\n var l = this.l / 100;\n var r, g, b;\n\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return new RGB(r, g, b, this.a);\n };\n\n HSL.prototype.toHSV = function toHSV () {\n return this.toRGB().toHSV();\n };\n\n HSL.prototype.toBytes = function toBytes () {\n return this.toRGB().toBytes();\n };\n\n return HSL;\n}(BaseColor));\n\nfunction hue2rgb(p, q, s) {\n var t = s;\n\n if (t < 0) {\n t += 1;\n }\n\n if (t > 1) {\n t -= 1;\n }\n\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n\n if (t < 1 / 2) {\n return q;\n }\n\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n\n return p;\n}\n\nfunction alphaFromHex(a) {\n return parseFloat(parseFloat(parseInt(a, 16) / 255 ).toFixed(3));\n}\n\nexport { RGB, Bytes, HSV, HSL };\n\nexport default function parseColor(value, safe) {\n var m, ret;\n\n if (value == null || value === \"none\") {\n return null;\n }\n\n if (value instanceof BaseColor) {\n return value;\n }\n\n var color = value.toLowerCase();\n if ((m = matchNamedColor(color))) {\n if (m[1] === \"transparent\") {\n color = new RGB(1, 1, 1, 0);\n } else {\n color = parseColor(namedColors[m[1]], safe);\n }\n color.match = [ m[1] ];\n return color;\n }\n if ((m = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\\b/i.exec(color))) {\n ret = new Bytes(parseInt(m[1], 16),\n parseInt(m[2], 16),\n parseInt(m[3], 16), 1);\n } else if ((m = /^#?([0-9a-f])([0-9a-f])([0-9a-f])\\b/i.exec(color))) {\n ret = new Bytes(parseInt(m[1] + m[1], 16),\n parseInt(m[2] + m[2], 16),\n parseInt(m[3] + m[3], 16), 1);\n } else if ((m = /^#?([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])\\b/i.exec(color))) { // Parse 4 digit hex color\n ret = new Bytes(parseInt(m[1] + m[1], 16),\n parseInt(m[2] + m[2], 16),\n parseInt(m[3] + m[3], 16),\n alphaFromHex(m[4] + m[4]));\n } else if ((m = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\\b/i.exec(color))) { // Parse 8 digit hex color\n ret = new Bytes(parseInt(m[1], 16),\n parseInt(m[2], 16),\n parseInt(m[3], 16),\n alphaFromHex(m[4]));\n } else if ((m = /^rgb\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/.exec(color))) {\n ret = new Bytes(parseInt(m[1], 10),\n parseInt(m[2], 10),\n parseInt(m[3], 10), 1);\n } else if ((m = /^rgba\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9.]+)\\s*\\)/.exec(color))) {\n ret = new Bytes(parseInt(m[1], 10),\n parseInt(m[2], 10),\n parseInt(m[3], 10), parseFloat(m[4]));\n } else if ((m = /^rgb\\(\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*\\)/.exec(color))) {\n ret = new RGB(parseFloat(m[1]) / 100,\n parseFloat(m[2]) / 100,\n parseFloat(m[3]) / 100, 1);\n } else if ((m = /^rgba\\(\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9.]+)\\s*\\)/.exec(color))) {\n ret = new RGB(parseFloat(m[1]) / 100,\n parseFloat(m[2]) / 100,\n parseFloat(m[3]) / 100, parseFloat(m[4]));\n }\n\n if (ret) {\n ret.match = m;\n } else if (!safe) {\n throw new Error(\"Cannot parse color: \" + color);\n }\n\n return ret;\n}\n","import { isPresent } from './misc';\nimport { parseColor } from '@progress/kendo-drawing';\n/**\n * @hidden\n */\nvar ColorPaletteService = /** @class */ (function () {\n function ColorPaletteService() {\n this.colorRows = [];\n }\n ColorPaletteService.prototype.setColorMatrix = function (palette, columns) {\n this.colorRows = [];\n if (!(isPresent(palette) && palette.length)) {\n return;\n }\n columns = columns || palette.length;\n for (var start = 0; start < palette.length; start += columns) {\n var row = palette.slice(start, columns + start);\n this.colorRows.push(row);\n }\n };\n ColorPaletteService.prototype.getCellCoordsFor = function (color) {\n var _this = this;\n if (!isPresent(color)) {\n return;\n }\n var parsedColor = color ? parseColor(color, true) : color;\n var colors = [color];\n if (isPresent(parsedColor)) {\n colors.push(parsedColor.toCss(), parsedColor.toCssRgba());\n }\n var _loop_1 = function (row) {\n var _loop_2 = function (col) {\n if (colors.some(function (c) { return c === _this.colorRows[row][col]; })) {\n return { value: { row: row, col: col } };\n }\n };\n for (var col = 0; col < this_1.colorRows[row].length; col++) {\n var state_2 = _loop_2(col);\n if (typeof state_2 === \"object\")\n return state_2;\n }\n };\n var this_1 = this;\n for (var row = 0; row < this.colorRows.length; row++) {\n var state_1 = _loop_1(row);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n };\n ColorPaletteService.prototype.getColorAt = function (cellCoords) {\n if (!(isPresent(cellCoords) && isPresent(this.colorRows[cellCoords.row]))) {\n return;\n }\n return this.colorRows[cellCoords.row][cellCoords.col];\n };\n ColorPaletteService.prototype.getNextCell = function (current, horizontalStep, verticalStep) {\n if (!(isPresent(current) && isPresent(current.row) && isPresent(current.col))) {\n return { row: 0, col: 0 };\n }\n var row = this.clampIndex(current.row + verticalStep, this.colorRows.length - 1);\n var col = this.clampIndex(current.col + horizontalStep, this.colorRows[row].length - 1);\n return { row: row, col: col };\n };\n ColorPaletteService.prototype.clampIndex = function (index, max) {\n var minArrayIndex = 0;\n if (index < minArrayIndex) {\n return minArrayIndex;\n }\n if (index > max) {\n return max;\n }\n return index;\n };\n return ColorPaletteService;\n}());\nexport { ColorPaletteService };\n","var _Draggable;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport KendoDraggable from '@telerik/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * Represents the default `Draggable` component.\n */\n\nvar Draggable = (_Draggable = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n this.draggable = new KendoDraggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!gh ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_Draggable, \"setup\", !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n}), _defineProperty(_Draggable, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _Draggable);\nexport { Draggable };","/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg)\n ? classNames.apply(void 0, arg) : typeof arg === 'object'\n ? Object\n .keys(arg)\n .map(function (key, idx) { return arg[idx] || (arg[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ')\n : arg;\n })\n .filter(function (arg) { return !!arg; })\n .join(' ');\n};\n","/* tslint:disable:no-bitwise */\n/**\n * @hidden\n */\nvar guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\nexport { guid };\n","/**\n * @hidden\n */\nvar Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\nexport { Keys };\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport var focusFirstFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll('input, [tabindex]:not([tabindex=\"-1\"])');\n if (elements.length && elements[0].focus) {\n elements[0].focus();\n }\n }\n};\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","/**\n * @hidden\n */\nvar noop = function () { };\nexport { noop };\n","import { FIELD_REGEX } from './constants';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n return Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template) {\n return undefined;\n }\n var scopedSlot = gh ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n // @ts-ignore\n if (typeof template === 'string' && scopedSlot) {\n // @ts-ignore\n return { type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || typeof template === 'object' ||\n (typeof template === 'function' && template.component)) {\n return { type: 'component', render: template, listeners: listeners };\n }\n return { type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (gh) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render(h, defaultRendering, defaultSlots, props, events);\n }\n return template.render(h, defaultRendering, props, events, defaultSlots);\n }\n else {\n return h(template.render, componentOptions, gh ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","import { canUseDOM } from './canUseDOM';\n/**\n * @hidden\n */\nexport function isRtl(element) {\n return Boolean(canUseDOM && element && getComputedStyle(element).direction === 'rtl');\n}\n/**\n * @hidden\n */\nexport function getDir(element, initialDir) {\n if (!initialDir && canUseDOM && element) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(element).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n return rtlCandidate;\n }\n }\n return initialDir;\n}\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \" + packageMetadata.name + \"\\n\";\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \" + packageMetadata.licensingDocsUrl + \" for more information.\\n\";\n console.warn(message);\n }\n}\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-inputs',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1641561208,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var _a;\n/**\n * @hidden\n */\nexport var numericIncreaseValue = 'numerictextbox.increment';\n/**\n * @hidden\n */\nexport var numericDecreaseValue = 'numerictextbox.decrement';\n/**\n * @hidden\n */\nexport var sliderIncreaseValue = 'slider.increment';\n/**\n * @hidden\n */\nexport var sliderDecreaseValue = 'slider.decrement';\n/**\n * @hidden\n */\nexport var sliderDragTitle = 'slider.dragTitle';\n/**\n * @hidden\n */\nexport var colorGradientR = 'colorGradient.r';\n/**\n * @hidden\n */\nexport var colorGradientG = 'colorGradient.g';\n/**\n * @hidden\n */\nexport var colorGradientB = 'colorGradient.b';\n/**\n * @hidden\n */\nexport var colorGradientA = 'colorGradient.a';\n/**\n * @hidden\n */\nexport var colorGradientHex = 'colorGradient.hex';\n/**\n * @hidden\n */\nexport var colorGradientContrastRatio = 'colorGradient.contrastRatio';\n/**\n * @hidden\n */\nexport var colorGradientAALevel = 'colorGradient.colorGradientAALevel';\n/**\n * @hidden\n */\nexport var colorGradientAAALevel = 'colorGradient.colorGradientAAALevel';\n/**\n * @hidden\n */\nexport var colorGradientPass = 'colorGradient.colorGradientPass';\n/**\n * @hidden\n */\nexport var colorGradientFail = 'colorGradient.colorGradientFail';\n/**\n * @hidden\n */\nexport var checkboxValidation = 'checkbox.validation';\n/**\n * @hidden\n */\nexport var checkboxOptionalText = 'checkbox.optionalText';\n/**\n * @hidden\n */\nexport var radioButtonValidation = 'radioButton.validation';\n/**\n * @hidden\n */\nexport var switchValidation = 'switch.validation';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[numericIncreaseValue] = 'Increase value',\n _a[numericDecreaseValue] = 'Decrease value',\n _a[sliderIncreaseValue] = 'Increase',\n _a[sliderDecreaseValue] = 'Decrease',\n _a[sliderDragTitle] = 'Drag',\n _a[colorGradientR] = 'r',\n _a[colorGradientG] = 'g',\n _a[colorGradientB] = 'b',\n _a[colorGradientA] = 'a',\n _a[colorGradientHex] = 'hex',\n _a[colorGradientContrastRatio] = 'Contrast ratio',\n _a[colorGradientAALevel] = 'AA',\n _a[colorGradientAAALevel] = 'AAA',\n _a[colorGradientPass] = 'Pass',\n _a[colorGradientFail] = 'Fail',\n _a[checkboxValidation] = 'Please check this box if you want to proceed!',\n _a[checkboxOptionalText] = '(Optional)',\n _a[radioButtonValidation] = 'Please select option if you want to proceed!',\n _a[switchValidation] = 'Please turn on if you want to proceed!',\n _a);\n","/**\n * @hidden\n */\nexport var ResultType;\n(function (ResultType) {\n ResultType[ResultType[\"Literal\"] = 0] = \"Literal\";\n ResultType[ResultType[\"Mask\"] = 1] = \"Mask\";\n ResultType[ResultType[\"Undefined\"] = 2] = \"Undefined\";\n})(ResultType || (ResultType = {}));\n/**\n * @hidden\n */\nvar Result = /** @class */ (function () {\n function Result(value, rest, type) {\n if (type === void 0) { type = ResultType.Undefined; }\n this.value = value;\n this.rest = rest;\n this.type = type;\n }\n // map :: Functor f => f a ~> (a -> b) -> f b\n Result.prototype.map = function (fn) {\n return new Result(fn(this.value), this.rest);\n };\n // chain :: Chain m => m a ~> (a -> m b) -> m b\n Result.prototype.chain = function (fn) {\n return fn(this.value, this.rest);\n };\n Result.prototype.fold = function (s, _ /*we don't need it*/) {\n return s(this.value, this.rest);\n };\n Result.prototype.concat = function (r) {\n return this.map(function (vs, _) { return r.chain(function (v, __) { return vs.concat([v]); }); });\n };\n Result.prototype.toString = function () {\n return \"Result({ value: '\" + this.value + \"', rest: \" + this.rest + \" })\";\n };\n return Result;\n}());\nexport { Result };\n","/* eslint-disable max-len */\n/**\n * @hidden\n */\nexport var PALETTEPRESETS = {\n basic: {\n colors: ['#000000', '#7f7f7f', '#880015', '#ed1c24', '#ff7f27', '#fff200', '#22b14c', '#00a2e8', '#3f48cc', '#a349a4', ' ffffff', '#c3c3c3', '#b97a57', '#ffaec9', '#ffc90e', '#efe4b0', '#b5e61d', '#99d9ea', '#7092be', '#c8bfe7'],\n columns: 10\n },\n office: {\n colors: ['#ffffff', '#000000', '#e6e6e6', '#435569', '#4371c4', '#ed7e32', '#a5a4a5', '#febf04', '#5a9bd5', '#71ae48', '#f2f2f3', '#7f7f7f', '#d1cece', '#d5dde3', '#dae1f4', '#fce5d4', '#deeded', '#fff2cc', '#deeaf6', '#e1efd9', '#d7d8d8', '#585959', '#aeabab', '#adbaca', '#b4c5e7', '#f6caac', '#dbdbdb', '#ffe498', '#bcd6ee', '#c5e0b2', '#bfbfc0', '#3f3f3f', '#767070', '#8595b1', '#8fabdb', '#f5b183', '#c9c8c9', '#fed965', '#9bc4e5', '#a8d08d', '#a5a5a6', '#262625', '#393939', '#334050', '#2e5496', '#c45a11', '#7b7b7a', '#bf9000', '#2f75b5', '#548235', '#7f7f7f', '#0b0c0c', '#161616', '#222a34', '#203764', '#843d0b', '#525252', '#7f6000', '#1d4d79', '#375623'],\n columns: 10\n },\n apex: {\n colors: ['#ffffff', '#000000', '#c9c2d1', '#69676d', '#ceb966', '#9cb084', '#6bb1c9', '#6585cf', '#7e6bc9', '#a379bb', '#f2f2f2', '#7f7f7f', '#f4f2f5', '#e0e0e2', '#f5f1e0', '#ebefe6', '#e1eff4', '#e0e6f5', '#e5e1f4', '#ece4f1', '#d8d8d8', '#595959', '#e9e6ec', '#c2c1c5', '#ebe3c1', '#d7dfcd', '#c3dfe9', '#c1ceeb', '#cbc3e9', '#dac9e3', '#bfbfbf', '#3f3f3f', '#dedae3', '#a4a3a8', '#e1d5a3', '#c3cfb5', '#a6d0de', '#a2b5e2', '#b1a6de', '#c7aed6', '#a5a5a5', '#262626', '#9688a5', '#4e4d51', '#ae9638', '#758c5a', '#3d8da9', '#365bb0', '#533da9', '#7d4d99', '#7f7f7f', '#0c0c0c', '#635672', '#343336', '#746425', '#4e5d3c', '#295e70', '#243c75', '#372970', '#533366'],\n columns: 10\n },\n austin: {\n colors: ['#ffffff', '#000000', '#caf278', '#3e3d2d', '#94c600', '#71685a', '#ff6700', '#909465', '#956b43', '#fea022', '#f2f2f2', '#7f7f7f', '#f4fce4', '#dddcd0', '#efffc0', '#e3e1dc', '#ffe0cb', '#e8e9df', '#ece1d6', '#feecd2', '#d8d8d8', '#595959', '#e9f9c9', '#bbb9a1', '#dfff82', '#c8c3ba', '#ffc299', '#d2d4c0', '#dac3ad', '#fed9a6', '#bfbfbf', '#3f3f3f', '#dff7ae', '#ada598', '#cfff43', '#ada598', '#ffa365', '#bcbfa1', '#c8a585', '#fec67a', '#a5a5a5', '#262626', '#a9ea25', '#2e2d21', '#6f9400', '#544e43', '#bf4d00', '#6c6f4b', '#6f5032', '#d77b00', '#7f7f7f', '#0c0c0c', '#74a50f', '#1f1e16', '#4a6300', '#38342d', '#7f3300', '#484a32', '#4a3521', '#8f5200'],\n columns: 10\n },\n clarity: {\n colors: ['#ffffff', '#292934', '#f3f2dc', '#d2533c', '#93a299', '#ad8f67', '#726056', '#4c5a6a', '#808da0', '#79463d', '#f2f2f2', '#e7e7ec', '#e7e5b9', '#f6dcd8', '#e9ecea', '#eee8e0', '#e4dedb', '#d8dde3', '#e5e8ec', '#e9d6d3', '#d8d8d8', '#c4c4d1', '#d5d185', '#edbab1', '#d3d9d6', '#ded2c2', '#c9beb8', '#b2bcc8', '#ccd1d9', '#d3aea7', '#bfbfbf', '#8a8aa3', '#aca73b', '#e4978a', '#bec7c1', '#cdbba3', '#af9e94', '#8c9bac', '#b2bac6', '#bd857c', '#a5a5a5', '#56566e', '#56531d', '#a43925', '#6b7c72', '#866b48', '#554840', '#39434f', '#5c697b', '#5a342d', '#7f7f7f', '#3b3b4b', '#22210b', '#6d2619', '#47534c', '#594730', '#39302b', '#262d35', '#3d4652', '#3c231e'],\n columns: 10\n },\n slipstream: {\n colors: ['#ffffff', '#000000', '#b4dcfa', '#212745', '#4e67c8', '#5eccf3', '#a7ea52', '#5dceaf', '#ff8021', '#f14124', '#f2f2f2', '#7f7f7f', '#8bc9f7', '#c7cce4', '#dbe0f4', '#def4fc', '#edfadc', '#def5ef', '#ffe5d2', '#fcd9d3', '#d8d8d8', '#595959', '#4facf3', '#909aca', '#b8c2e9', '#beeafa', '#dbf6b9', '#beebdf', '#ffcca6', '#f9b3a7', '#bfbfbf', '#3f3f3f', '#0d78c9', '#5967af', '#94a3de', '#9ee0f7', '#caf297', '#9de1cf', '#ffb279', '#f68d7b', '#a5a5a5', '#262626', '#063c64', '#181d33', '#31479f', '#11b2eb', '#81d319', '#34ac8b', '#d85c00', '#c3260c', '#7f7f7f', '#0c0c0c', '#021828', '#101322', '#202f6a', '#0b769c', '#568c11', '#22725c', '#903d00', '#821908'],\n columns: 10\n },\n metro: {\n colors: ['#ffffff', '#000000', '#d6ecff', '#4e5b6f', '#7fd13b', '#ea157a', '#feb80a', '#00addc', '#738ac8', '#1ab39f', '#f2f2f2', '#7f7f7f', '#a7d6ff', '#d9dde4', '#e5f5d7', '#fad0e4', '#fef0cd', '#c5f2ff', '#e2e7f4', '#c9f7f1', '#d8d8d8', '#595959', '#60b5ff', '#b3bcca', '#cbecb0', '#f6a1c9', '#fee29c', '#8be6ff', '#c7d0e9', '#94efe3', '#bfbfbf', '#3f3f3f', '#007dea', '#8d9baf', '#b2e389', '#f272af', '#fed46b', '#51d9ff', '#aab8de', '#5fe7d5', '#a5a5a5', '#262626', '#003e75', '#3a4453', '#5ea226', '#af0f5b', '#c58c00', '#0081a5', '#425ea9', '#138677', '#7f7f7f', '#0c0c0c', '#00192e', '#272d37', '#3f6c19', '#750a3d', '#835d00', '#00566e', '#2c3f71', '#0c594f'],\n columns: 10\n },\n flow: {\n colors: ['#ffffff', '#000000', '#dbf5f9', '#04617b', '#0f6fc6', '#009dd9', '#0bd0d9', '#10cf9b', '#7cca62', '#a5c249', '#f2f2f2', '#7f7f7f', '#b2e9f2', '#b4ecfc', '#c7e2fa', '#c4eeff', '#c9fafc', '#c9faed', '#e4f4df', '#edf2da', '#d8d8d8', '#595959', '#76d9e8', '#6adafa', '#90c6f6', '#89deff', '#93f5f9', '#94f6db', '#cae9c0', '#dbe6b6', '#bfbfbf', '#3f3f3f', '#21b2c8', '#20c8f7', '#59a9f2', '#4fceff', '#5df0f6', '#5ff2ca', '#b0dfa0', '#c9da91', '#a5a5a5', '#262626', '#105964', '#02485c', '#0b5394', '#0075a2', '#089ca2', '#0b9b74', '#54a838', '#7e9532', '#7f7f7f', '#0c0c0c', '#062328', '#01303d', '#073763', '#004e6c', '#05686c', '#07674d', '#387025', '#546321'],\n columns: 10\n },\n hardcover: {\n colors: ['#ffffff', '#000000', '#ece9c6', '#895d1d', '#873624', '#d6862d', '#d0be40', '#877f6c', '#972109', '#aeb795', '#f2f2f2', '#7f7f7f', '#e1dca5', '#f2e0c6', '#f0d0c9', '#f6e6d5', '#f5f2d8', '#e7e5e1', '#fbc7bc', '#eef0e9', '#d8d8d8', '#595959', '#d0c974', '#e6c28d', '#e2a293', '#eeceaa', '#ece5b2', '#cfccc3', '#f78f7a', '#dee2d4', '#bfbfbf', '#3f3f3f', '#a29a36', '#daa454', '#d4735e', '#e6b681', '#e2d88c', '#b7b2a5', '#f35838', '#ced3bf', '#a5a5a5', '#262626', '#514d1b', '#664515', '#65281a', '#a2641f', '#a39428', '#655f50', '#711806', '#879464', '#7f7f7f', '#0c0c0c', '#201e0a', '#442e0e', '#431b11', '#6c4315', '#6d621a', '#433f35', '#4b1004', '#5a6243'],\n columns: 10\n },\n trek: {\n colors: ['#ffffff', '#000000', '#fbeec9', '#4e3b30', '#f0a22e', '#a5644e', '#b58b80', '#c3986d', '#a19574', '#c17529', '#f2f2f2', '#7f7f7f', '#f7e09e', '#e1d6cf', '#fcecd5', '#eddfda', '#f0e7e5', '#f3eae1', '#ece9e3', '#f5e3d1', '#d8d8d8', '#595959', '#f3cc5f', '#c4ad9f', '#f9d9ab', '#dcc0b6', '#e1d0cc', '#e7d5c4', '#d9d4c7', '#ebc7a3', '#bfbfbf', '#3f3f3f', '#d29f0f', '#a78470', '#f6c781', '#cba092', '#d2b9b2', '#dbc1a7', '#c6bfab', '#e1ac76', '#a5a5a5', '#262626', '#694f07', '#3a2c24', '#c87d0e', '#7b4b3a', '#926255', '#a17242', '#7b7153', '#90571e', '#7f7f7f', '#0c0c0c', '#2a1f03', '#271d18', '#855309', '#523226', '#614138', '#6b4c2c', '#524b37', '#603a14'],\n columns: 10\n },\n verve: {\n colors: ['#ffffff', '#000000', '#d2d2d2', '#666666', '#ff388c', '#e40059', '#9c007f', '#68007f', '#005bd3', '#00349e', '#f2f2f2', '#7f7f7f', '#bdbdbd', '#e0e0e0', '#ffd7e8', '#ffc6dc', '#ffb8f1', '#f1b2ff', '#c3dcff', '#b8cfff', '#d8d8d8', '#595959', '#9d9d9d', '#c1c1c1', '#ffafd1', '#ff8eba', '#ff71e4', '#e365ff', '#87baff', '#72a0ff', '#bfbfbf', '#3f3f3f', '#696969', '#a3a3a3', '#ff87ba', '#ff5597', '#ff2ad7', '#d519ff', '#4b98ff', '#2b71ff', '#a5a5a5', '#262626', '#343434', '#4c4c4c', '#e90062', '#ab0042', '#75005f', '#4e005f', '#00449e', '#002676', '#7f7f7f', '#0c0c0c', '#151515', '#333333', '#9b0041', '#72002c', '#4e003f', '#34003f', '#002d69', '#00194f'],\n columns: 10\n },\n monochrome: {\n colors: ['#000000', '#1a1a1a', '#333333', '#4d4d4d', '#666666', '#808080', '#999999', '#b3b3b3', '#cccccc', '#e6e6e6', '#f2f2f2', '#ffffff'],\n columns: 12\n }\n};\n","import { parseColor as parse, Color } from '@progress/kendo-drawing';\nimport { isPresent, fitIntoBounds } from './misc';\n/**\n * @hidden\n *\n * Returns the hex or RGBA string representation of the color.\n */\nexport var parseColor = function (value, format, safe) {\n if (safe === void 0) { safe = true; }\n var allowedFormats = ['hex', 'rgba']; // TODO: constant?\n // Angular supports third type: name : const allowedFormats: Array = ['hex', 'rgba', 'name'];\n if (allowedFormats.indexOf(format) === -1) {\n throw new Error(\"Unsupported color output format '\" + format + \"'. The available options are 'hex' or 'rgba'.\");\n }\n if (!isPresent(value)) {\n return;\n }\n var parsedColor = parse(value.trim(), safe);\n if (!isPresent(parsedColor)) {\n return;\n }\n return format === 'hex' ? parsedColor.toCss() : parsedColor.toCssRgba();\n};\n/**\n * @hidden\n *\n * Returns an HSV object representation of the color string.\n */\nexport var getHSV = function (value, safe) {\n if (safe === void 0) { safe = true; }\n var parsed = parse(value, safe);\n if (!isPresent(parsed)) {\n return {};\n }\n return parsed.toHSV();\n};\n/**\n * @hidden\n *\n * Returns an RGBA object representation of the color string.\n */\nexport var getRGBA = function (value, safe) {\n if (safe === void 0) { safe = true; }\n var parsed = parse(value, safe);\n if (!isPresent(parsed)) {\n return {};\n }\n return parsed.toBytes();\n};\n/**\n * @hidden\n *\n * Returns the RGBA string representation of the color.\n */\nexport var getColorFromHSV = function (hsva) {\n var hue = fitIntoBounds(hsva.h, 0, 359.9);\n var saturation = fitIntoBounds(hsva.s, 0, 1);\n var value = fitIntoBounds(hsva.v, 0, 1);\n var alpha = fitIntoBounds(hsva.a, 0, 1);\n return Color.fromHSV(hue, saturation, value, alpha).toCssRgba();\n};\n/**\n * @hidden\n *\n * Returns the RGBA string representation of the color based on the `hue` and\n * assuming the `value`, `saturation`, and `alpha` have a value of `1`.\n */\nexport var getColorFromHue = function (hue) {\n return getColorFromHSV({ h: hue, s: 1, v: 1, a: 1 });\n};\n/**\n * @hidden\n *\n * Returns the RGBA string representation of the color.\n */\nexport var getColorFromRGBA = function (rgba) {\n var red = fitIntoBounds(rgba.r, 0, 255);\n var green = fitIntoBounds(rgba.g, 0, 255);\n var blue = fitIntoBounds(rgba.b, 0, 255);\n var alpha = fitIntoBounds(rgba.a, 0, 1);\n return Color.fromBytes(red, green, blue, alpha).toCssRgba();\n};\n/**\n * @hidden\n *\n * Returns the RGB object representation of the color based on the background color.\n */\nexport var getRGBFromRGBA = function (foregroundColor, backgroundColor) {\n var r1 = fitIntoBounds(foregroundColor.r, 0, 255);\n var g1 = fitIntoBounds(foregroundColor.g, 0, 255);\n var b1 = fitIntoBounds(foregroundColor.b, 0, 255);\n var a1 = fitIntoBounds(foregroundColor.a, 0, 1);\n var r2 = fitIntoBounds(backgroundColor.r, 0, 255);\n var g2 = fitIntoBounds(backgroundColor.g, 0, 255);\n var b2 = fitIntoBounds(backgroundColor.b, 0, 255);\n return {\n r: Math.round(((1 - a1) * r2) + (a1 * r1)),\n g: Math.round(((1 - a1) * g2) + (a1 * g1)),\n b: Math.round(((1 - a1) * b2) + (a1 * b1))\n };\n};\n/**\n * @hidden\n *\n * Returns the relative luminance.\n */\nexport var getLuminance = function (rgb) {\n // @ts-ignore\n var a = [rgb.r, rgb.g, rgb.b].map(function (v) {\n v /= 255;\n return v <= 0.03928\n ? v / 12.92\n : Math.pow((v + 0.055) / 1.055, 2.4);\n });\n // @ts-ignore\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\n};\n/**\n * @hidden\n *\n * Returns the color contrast.\n */\nexport var getContrast = function (luminance1, luminance2) {\n var brightest = Math.max(luminance1, luminance2);\n var darkest = Math.min(luminance1, luminance2);\n return (brightest + 0.05)\n / (darkest + 0.05);\n};\n/**\n * @hidden\n *\n * Returns the color contrast from two RGBA colors.\n */\nexport var getContrastFromTwoRGBAs = function (a, b) {\n return getContrast(getLuminance(getRGBFromRGBA(a, b)), getLuminance(getRGBFromRGBA(b, { r: 0, g: 0, b: 0, a: 1 })));\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { ColorPaletteService } from './utils/color-palette.service';\nimport { classNames, Keys, getTabIndex, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { PALETTEPRESETS } from './models/palette-presets';\nimport { isPresent } from './utils/misc';\nimport { parseColor } from './utils/color-parser';\n/**\n * @hidden\n */\n\nexport var DEFAULT_TILE_SIZE = 24;\n/**\n * @hidden\n */\n\nexport var DEFAULT_COLUMNS_COUNT = 10;\n/**\n * @hidden\n */\n\nexport var DEFAULT_PRESET = 'office'; // tslint:enable:max-line-length\n\nvar ColorPalette = {\n name: 'KendoColorPalette',\n props: {\n palette: {\n type: [String, Array],\n default: DEFAULT_PRESET\n },\n columns: Number,\n tileSize: {\n type: [Number, Object],\n default: DEFAULT_TILE_SIZE\n },\n defaultValue: String,\n value: String,\n disabled: Boolean,\n tabIndex: Number,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.wrapper = this.v3 ? this.wrapperRef : this.$refs.wrapper;\n },\n updated: function updated() {\n this.wrapper = this.v3 ? this.wrapperRef : this.$refs.wrapper;\n },\n computed: {\n focusedColorCooridanates: function focusedColorCooridanates() {\n return this.focusedColor ? this.paletteService.getCellCoordsFor(this.focusedColor) : undefined;\n },\n isUncontrolled: function isUncontrolled() {\n return this.$props.value === undefined;\n },\n selectedColor: function selectedColor() {\n return this.$props.value !== undefined ? this.$props.value : this.currentValue !== undefined ? this.currentValue : this.$props.defaultValue;\n }\n },\n data: function data() {\n return {\n focusedColor: undefined,\n currentValue: undefined,\n isFirstRender: true\n };\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var paletteInfo = this.getPaletteInfo();\n var svc = this.paletteService = new ColorPaletteService();\n svc.setColorMatrix(paletteInfo.colors, paletteInfo.columns);\n var selectedCellCoords = svc.getCellCoordsFor(this.selectedColor);\n var focusedCellCoords = svc.getCellCoordsFor(this.focusedColor);\n var className = classNames('k-colorpalette', {\n 'k-state-disabled': this.$props.disabled\n });\n\n var renderColumns = function renderColumns(columns, rowIndex, cSelectedCellCoords, cFocusedCellCoords) {\n var rowIsSelected = cSelectedCellCoords !== undefined && cSelectedCellCoords.row === rowIndex;\n var selectedColumn = cSelectedCellCoords && cSelectedCellCoords.col;\n var rowIsFocused = cFocusedCellCoords !== undefined && cFocusedCellCoords.row === rowIndex;\n var focusedColumn = cFocusedCellCoords && cFocusedCellCoords.col;\n var tileSize = typeof this.$props.tileSize !== 'number' ? this.$props.tileSize : {\n width: this.$props.tileSize,\n height: this.$props.tileSize\n };\n var width = tileSize.width + 'px';\n var height = tileSize.height + 'px';\n return columns.map(function (color, i) {\n var _this = this;\n\n var isSelected = rowIsSelected && selectedColumn === i;\n var tdClassName = classNames('k-colorpalette-tile', {\n 'k-state-selected': isSelected,\n 'k-state-focus': rowIsFocused && focusedColumn === i\n });\n return h(\"td\", {\n \"class\": tdClassName,\n \"aria-label\": color,\n attrs: this.v3 ? undefined : {\n \"aria-label\": color,\n \"aria-selected\": isSelected ? true : this.$props.disabled ? undefined : false,\n id: this.createCellId({\n row: rowIndex,\n col: i\n })\n },\n \"aria-selected\": isSelected ? true : this.$props.disabled ? undefined : false,\n style: {\n backgroundColor: color,\n width: width,\n height: height,\n minWidth: width\n },\n onClick: function onClick(event) {\n return _this.onColorClick(color, event);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(event) {\n return _this.onColorClick(color, event);\n }\n },\n id: this.createCellId({\n row: rowIndex,\n col: i\n }),\n key: i\n });\n }, this);\n };\n\n var renderRows = function renderRows(rows, rSelectedCellCoords, rFocusedCellCoords) {\n return rows.map(function (row, i) {\n return h(\"tr\", {\n role: \"row\",\n attrs: this.v3 ? undefined : {\n role: \"row\"\n },\n key: i\n }, [renderColumns.call(this, row, i, rSelectedCellCoords, rFocusedCellCoords)]);\n }, this);\n };\n\n if (paletteInfo.colors.length) {\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined,\n \"aria-activedescendant\": selectedCellCoords && this.createCellId(selectedCellCoords),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled)\n },\n \"class\": className,\n onFocusin: this.onFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.onFocus,\n \"focusout\": this.onBlur,\n \"keydown\": this.onKeyDown\n },\n onFocusout: this.onBlur,\n onKeydown: this.onKeyDown,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined,\n \"aria-activedescendant\": selectedCellCoords && this.createCellId(selectedCellCoords),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled),\n ref: this.v3 ? function (el) {\n _this.wrapperRef = el;\n } : 'wrapper'\n }, [h(\"div\", {\n \"class\": \"k-colorpalette-table-wrap\",\n role: \"grid\",\n attrs: this.v3 ? undefined : {\n role: \"grid\"\n }\n }, [h(\"table\", {\n \"class\": \"k-colorpalette-table k-palette\",\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"tbody\", [renderRows.call(this, svc.colorRows, selectedCellCoords, focusedCellCoords)])])])]);\n } else {\n // In this way, the code prevents an eventual focus of the component when no cells are available.\n // This is needed because upon focus the first cell gets focused.\n return '';\n }\n },\n methods: {\n focus: function focus() {\n if (this.wrapper) {\n this.wrapper.focus();\n }\n },\n getDerivedStateFromProps: function getDerivedStateFromProps(props, state) {\n if (!state.isFirstRender && props.value !== undefined) {\n // The component is in controlled mode.\n if (props.value === '' && state.selectedColor !== undefined) {\n // The selection has to be removed.\n return {\n selectedColor: undefined\n };\n } else if (props.value !== '' && props.value !== state.selectedColor) {\n return {\n selectedColor: props.value\n };\n }\n } else if (state.isFirstRender) {\n return {\n isFirstRender: false\n };\n }\n\n return null;\n },\n onKeyDown: function onKeyDown(event) {\n switch (event.keyCode) {\n case Keys.down:\n this.handleCellNavigation(0, 1);\n break;\n\n case Keys.up:\n this.handleCellNavigation(0, -1);\n break;\n\n case Keys.right:\n this.handleCellNavigation(1, 0);\n break;\n\n case Keys.left:\n this.handleCellNavigation(-1, 0);\n break;\n\n case Keys.enter:\n this.handleEnter(event);\n break;\n\n default:\n this.$emit('keydown', event);\n return;\n }\n\n event.preventDefault();\n this.$emit('keydown', event);\n },\n onColorClick: function onColorClick(color, event) {\n if (this.isUncontrolled) {\n this.currentValue = color;\n this.focusedColor = color;\n } else {\n this.focusedColor = color;\n }\n\n this.dispatchChangeEvent(color, event);\n },\n onFocus: function onFocus(event) {\n this.focusedColor = this.selectedColor || this.paletteService.colorRows[0][0];\n this.$emit('focus', {\n event: event,\n target: this\n });\n },\n onBlur: function onBlur(event) {\n this.focusedColor = undefined;\n this.$emit('blur', {\n event: event,\n target: this\n });\n },\n handleCellNavigation: function handleCellNavigation(horizontalStep, verticalStep) {\n if (this.focusedColorCooridanates) {\n var newCoords = this.paletteService.getNextCell(this.focusedColorCooridanates, horizontalStep, verticalStep);\n this.focusedColor = this.paletteService.getColorAt(newCoords);\n } else {\n this.focusedColor = this.paletteService.colorRows[0][0];\n }\n },\n handleEnter: function handleEnter(event) {\n if (this.isUncontrolled) {\n this.currentValue = this.focusedColor;\n }\n\n this.dispatchChangeEvent(this.focusedColor, event);\n },\n dispatchChangeEvent: function dispatchChangeEvent(value, event) {\n this.$emit('change', {\n event: event,\n component: this,\n value: value,\n rgbaValue: parseColor(value, 'rgba')\n });\n },\n getPaletteInfo: function getPaletteInfo() {\n if (typeof this.$props.palette === 'string') {\n var preset = PALETTEPRESETS[this.$props.palette];\n\n if (isPresent(preset)) {\n return {\n colors: preset.colors,\n columns: this.$props.columns || preset.columns || DEFAULT_COLUMNS_COUNT\n };\n } else {\n return {\n colors: [],\n columns: 0\n };\n }\n } else {\n return {\n colors: this.$props.palette || [],\n columns: this.$props.columns || DEFAULT_COLUMNS_COUNT\n };\n }\n },\n createCellId: function createCellId(cellCoords) {\n return this.guid + \"_\" + cellCoords.row + \"_\" + cellCoords.col;\n }\n }\n};\nvar ColorPaletteVue3 = ColorPalette;\nexport { ColorPalette, ColorPaletteVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { classNames, getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\n\nvar ANCHOR_VERTICAL_ALIGN = 'bottom';\n/**\n * @hidden\n */\n\nvar POPUP_VERTICAL_ALIGN = 'top'; // tslint:enable:max-line-length\n\nvar Picker = {\n name: 'KendoPicker',\n props: {\n popupSettings: Object,\n dir: String,\n open: Boolean,\n popupAnchor: String\n },\n computed: {\n horizontalAlign: function horizontalAlign() {\n return this.$props.dir === 'rtl' ? 'right' : 'left';\n },\n anchorAlign: function anchorAlign() {\n return {\n horizontal: this.horizontalAlign,\n vertical: ANCHOR_VERTICAL_ALIGN\n };\n },\n popupAlign: function popupAlign() {\n return {\n horizontal: this.horizontalAlign,\n vertical: POPUP_VERTICAL_ALIGN\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var popupSettings = this.$props.popupSettings || {};\n return (// @ts-ignore function children\n h(Popup // style={{\n // ...(popupSettings || {}).style,\n // direction: this.$props.dir as any\n // }}\n // {...popupSettings}\n , {\n anchor: this.$props.popupAnchor,\n attrs: this.v3 ? undefined : {\n anchor: this.$props.popupAnchor,\n anchorAlign: this.anchorAlign,\n popupAlign: this.popupAlign,\n show: this.$props.open\n },\n anchorAlign: this.anchorAlign,\n popupAlign: this.popupAlign,\n show: this.$props.open,\n onOpen: this.onOpen,\n on: this.v3 ? undefined : {\n \"open\": this.onOpen,\n \"close\": this.onClose\n },\n onClose: this.onClose,\n \"class\": classNames('k-reset', popupSettings.className)\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n },\n methods: {\n onOpen: function onOpen() {\n this.$emit('open');\n },\n onClose: function onClose() {\n this.$emit('close');\n }\n }\n};\nvar PickerVue3 = Picker;\nexport { Picker, PickerVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { classNames, Keys, // useDir, \ngetTabIndex, guid } from '@progress/kendo-vue-common';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { Picker } from './Picker';\nimport { ColorPalette, DEFAULT_PRESET, DEFAULT_TILE_SIZE } from './ColorPalette';\n/**\n * @hidden\n */\n\nvar DEFAULT_GRADIENT_SETTINGS = {\n opacity: true\n};\n/**\n * @hidden\n */\n\nvar DEFAULT_PALETTE_SETTINGS = {\n palette: DEFAULT_PRESET,\n tileSize: DEFAULT_TILE_SIZE\n};\n/**\n * @hidden\n */\n\nvar isControlled = function isControlled(prop) {\n return prop !== undefined;\n}; // tslint:enable:max-line-length\n\n\nvar ColorPicker = {\n name: 'KendoColorPicker',\n props: {\n value: {\n type: String,\n default: undefined\n },\n defaultValue: String,\n disabled: Boolean,\n dir: String,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n paletteSettings: {\n type: Object,\n default: function _default() {\n return DEFAULT_PALETTE_SETTINGS;\n }\n },\n valid: {\n type: Boolean,\n default: true\n },\n tabIndex: {\n type: Number,\n default: 0\n },\n title: String,\n icon: String,\n iconClassName: String,\n popupSettings: Object,\n open: {\n type: Boolean,\n default: undefined\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'pill'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'solid', 'flat', 'outline'].includes(value);\n }\n }\n },\n data: function data() {\n return {\n focused: false,\n stateValue: '',\n stateOpen: false\n };\n },\n computed: {\n isValueControlled: function isValueControlled() {\n return isControlled(this.$props.value);\n },\n isOpenControlled: function isOpenControlled() {\n return isControlled(this.$props.open);\n },\n computedValue: function computedValue() {\n return this.isValueControlled ? this.$props.value : this.stateValue;\n },\n computedOpen: function computedOpen() {\n return this.isOpenControlled ? this.$props.open : this.stateOpen;\n },\n computedIconClassName: function computedIconClassName() {\n var icon = this.$props.icon;\n return this.$props.iconClassName || icon && \"k-icon k-i-\" + icon;\n },\n wrapperClassName: function wrapperClassName() {\n return {\n 'k-widget': true,\n 'k-colorpicker': true,\n 'k-state-invalid': this.valid === false\n };\n },\n spanClassName: function spanClassName() {\n var disabled = this.$props.disabled;\n return {\n 'k-picker-wrap': true,\n 'k-state-disabled': disabled,\n 'k-state-focused': this.focused\n };\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.focusableElementGuid = guid();\n },\n mounted: function mounted() {\n this.focusableElement = this.$refs[this.focusableElementGuid];\n this.button = this.v3 ? this.buttonRef : this.$refs.button;\n this.palette = this.v3 ? this.paletteRef : this.$refs.palette;\n },\n updated: function updated() {\n this.button = this.v3 ? this.buttonRef : this.$refs.button;\n this.palette = this.v3 ? this.paletteRef : this.$refs.palette;\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this2 = this;\n\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n tabIndex = _a.tabIndex; // const dir = useDir(focusableElementGuid, props.dir);\n\n return h(\"span\", {\n \"class\": this.wrapperClassName\n }, [h(\"span\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n tabIndex: getTabIndex(tabIndex, disabled),\n title: this.$props.title\n },\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"class\": this.spanClassName,\n ref: this.focusableElementGuid,\n tabIndex: getTabIndex(tabIndex, disabled),\n title: this.$props.title,\n onKeydown: this.onKeyDownHandler,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDownHandler,\n \"focusin\": this.onFocusHandler,\n \"focusout\": this.onBlurHandler\n },\n onFocusin: this.onFocusHandler,\n onFocusout: this.onBlurHandler\n }, [!this.computedIconClassName ? h(\"span\", {\n onClick: this.onActiveColorClickHandler,\n on: this.v3 ? undefined : {\n \"click\": this.onActiveColorClickHandler\n },\n \"class\": 'k-selected-color',\n style: {\n backgroundColor: this.computedValue\n }\n }, [!this.computedValue && h(\"span\", {\n \"class\": 'k-icon k-i-line'\n })]) : h(\"span\", {\n onClick: this.onActiveColorClickHandler,\n on: this.v3 ? undefined : {\n \"click\": this.onActiveColorClickHandler\n },\n \"class\": classNames('k-tool-icon', this.computedIconClassName)\n }, [h(\"span\", {\n \"class\": 'k-selected-color',\n style: {\n backgroundColor: this.computedValue\n }\n })]), h(\"span\", {\n onClick: this.onClickHandler,\n on: this.v3 ? undefined : {\n \"click\": this.onClickHandler\n },\n \"class\": 'k-select',\n ref: this.v3 ? function (el) {\n _this.buttonRef = el;\n } : 'button'\n }, [h(\"span\", {\n \"class\": 'k-icon k-i-arrow-s'\n })]), // @ts-ignore function children\n h(Picker // dir={dir}\n , {\n open: this.computedOpen,\n attrs: this.v3 ? undefined : {\n open: this.computedOpen,\n popupAnchor: this.focusableElementGuid\n },\n onOpen: this.onOpenHandler,\n on: this.v3 ? undefined : {\n \"open\": this.onOpenHandler\n },\n popupAnchor: this.focusableElementGuid\n }, this.v3 ? function () {\n return [// @ts-ignore function children\n h(ColorPalette, {\n onKeydown: _this2.onKeyDownHandler // {...paletteSettings}\n ,\n on: _this2.v3 ? undefined : {\n \"keydown\": _this2.onKeyDownHandler,\n \"change\": _this2.onPaletteChangeHandler\n },\n ref: _this2.v3 ? function (el) {\n _this.paletteRef = el;\n } : 'palette',\n value: _this2.computedValue || undefined,\n attrs: _this2.v3 ? undefined : {\n value: _this2.computedValue || undefined\n },\n onChange: _this2.onPaletteChangeHandler\n })];\n } : [h(ColorPalette, {\n onKeydown: _this2.onKeyDownHandler,\n on: _this2.v3 ? undefined : {\n \"keydown\": _this2.onKeyDownHandler,\n \"change\": _this2.onPaletteChangeHandler\n },\n ref: _this2.v3 ? function (el) {\n _this.paletteRef = el;\n } : 'palette',\n value: _this2.computedValue || undefined,\n attrs: _this2.v3 ? undefined : {\n value: _this2.computedValue || undefined\n },\n onChange: _this2.onPaletteChangeHandler\n })])])]);\n },\n methods: {\n focusElement: function focusElement() {\n if (this.focusableElement) {\n this.focusableElement.focus();\n }\n },\n setOpen: function setOpen(nextOpen, isBlur) {\n if (!this.isOpenControlled) {\n if (!nextOpen && !isBlur && this.focusableElement) {\n this.focusableElement.focus();\n }\n\n this.stateOpen = nextOpen;\n }\n },\n onKeyDownHandler: function onKeyDownHandler(event) {\n var altKey = event.altKey,\n keyCode = event.keyCode;\n\n if (keyCode === Keys.esc) {\n this.setOpen(false);\n return;\n }\n\n if (keyCode === Keys.enter && !this.isOpenControlled) {\n event.preventDefault();\n event.stopPropagation();\n this.setOpen(!this.computedOpen);\n return;\n }\n\n if (altKey && (keyCode === Keys.up || keyCode === Keys.down)) {\n event.preventDefault();\n event.stopPropagation();\n\n if (keyCode === Keys.up && this.focusableElement) {\n this.focusableElement.focus();\n this.setOpen(false);\n }\n\n if (keyCode === Keys.down) {\n this.setOpen(true);\n }\n }\n },\n onOpenHandler: function onOpenHandler() {\n // Skip content autofocus when in controlled mode\n if (!this.isOpenControlled) {\n if (this.palette) {\n this.palette.focus();\n }\n }\n },\n onClickHandler: function onClickHandler() {\n this.setOpen(!this.computedOpen, true);\n },\n onActiveColorClickHandler: function onActiveColorClickHandler(event) {\n this.$emit('activecolorclick', {\n event: event,\n value: this.computedValue\n });\n },\n onFocusHandler: function onFocusHandler(event) {\n if (this.blurTimeoutRef) {\n clearTimeout(this.blurTimeoutRef);\n this.blurTimeoutRef = undefined; // case where moving back to input from popup\n // if (event.target === this.focusableElement) {\n // this.setOpen(false); // in this case we should focus input on keydown\n // }\n } else {\n this.focused = true;\n }\n\n this.$emit('focus', {\n event: event\n });\n },\n onBlurTimeout: function onBlurTimeout() {\n if (this.palette && document.activeElement !== this.palette.$el) {\n this.setOpen(false, true);\n this.focused = false;\n }\n\n this.blurTimeoutRef = undefined;\n },\n onBlurHandler: function onBlurHandler(event) {\n clearTimeout(this.blurTimeoutRef);\n this.blurTimeoutRef = window.setTimeout(this.onBlurTimeout, 200);\n this.$emit('blur', {\n event: event\n });\n },\n onChangeHandler: function onChangeHandler(event, isPalette) {\n var currentValue = isPalette ? event.rgbaValue : event.value;\n\n if (!this.isValueControlled) {\n this.stateValue = currentValue;\n }\n\n if (isPalette) {\n this.setOpen(false);\n }\n\n this.$emit('change', {\n value: currentValue,\n event: event\n });\n },\n onPaletteChangeHandler: function onPaletteChangeHandler(event) {\n this.onChangeHandler(event, true);\n }\n }\n};\nvar ColorPickerVue3 = ColorPicker;\nexport { ColorPicker, ColorPickerVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { guid, noop, Keys, getTabIndex, validatePackage, isRtl } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, switchValidation } from './../messages';\nimport { packageMetadata } from '../package-metadata';\nvar SWITCH_CONTAINER = 'k-switch-container';\nvar SWITCH_HANDLE = 'k-switch-handle';\nvar SWITCH_LABEL_ON = 'k-switch-label-on';\nvar SWITCH_LABEL_OFF = 'k-switch-label-off'; // tslint:enable:max-line-length\n\nvar Switch = {\n name: 'KendoSwitch',\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null\n },\n props: {\n accessKey: String,\n checked: {\n type: Boolean,\n default: undefined\n },\n className: String,\n disabled: {\n type: Boolean,\n default: false\n },\n defaultChecked: {\n type: Boolean,\n default: false\n },\n dir: String,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n offLabel: {\n type: String,\n default: 'OFF'\n },\n onLabel: {\n type: String,\n default: 'ON'\n },\n required: {\n type: Boolean,\n default: false\n },\n tabIndex: Number,\n valid: Boolean,\n // validate: {\n // type: Boolean,\n // default: false\n // },\n validityStyles: {\n type: Boolean,\n default: false\n },\n validationMessage: String,\n value: {\n type: [String, Number, Boolean],\n default: undefined\n },\n modelValue: {\n type: Boolean,\n default: undefined\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this._id = guid();\n this.defaultValidationMessage = provideLocalizationService(this);\n },\n data: function data() {\n return {\n currentChecked: this.$props.defaultChecked,\n valueDuringOnChange: undefined,\n focused: false,\n currentDir: undefined\n };\n },\n computed: {\n computedValue: function computedValue() {\n return this.valueDuringOnChange !== undefined ? this.valueDuringOnChange : this.$props.checked !== undefined ? this.$props.checked : this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.currentChecked;\n },\n switchClassName: function switchClassName() {\n var isValid = !this.validityStyles || this.validity().valid;\n return {\n 'k-widget': true,\n 'k-switch': true,\n 'k-switch-on': this.computedValue,\n 'k-switch-off': !this.computedValue,\n 'k-state-focused': this.focused,\n 'k-state-disabled': this.$props.disabled,\n 'k-state-invalid': !isValid\n };\n }\n },\n mounted: function mounted() {\n this._element = this.v3 ? this.elementRef : this.$refs.element;\n this.input = this.v3 ? this.inputRef : this.$refs.input;\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : isRtl(this.$el) ? 'rtl' : 'ltr';\n this.setValidity();\n },\n updated: function updated() {\n this.setValidity();\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n id = _a.id,\n offLabel = _a.offLabel,\n onLabel = _a.onLabel,\n tabIndex = _a.tabIndex;\n return h(\"span\", {\n \"class\": this.switchClassName,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir\n },\n onKeydown: this.handleKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleKeyDown,\n \"click\": this.handleClick,\n \"focusout\": this.handleWrapperBlur,\n \"focusin\": this.handleWrapperFocus\n },\n onClick: this.handleClick,\n onFocusout: this.handleWrapperBlur,\n onFocusin: this.handleWrapperFocus\n }, [h(\"span\", {\n \"class\": SWITCH_CONTAINER,\n id: id || this._id,\n attrs: this.v3 ? undefined : {\n id: id || this._id,\n role: 'switch',\n \"aria-checked\": this.computedValue,\n \"aria-disabled\": disabled || undefined,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n tabIndex: getTabIndex(tabIndex, disabled, undefined),\n accessKey: this.$props.accessKey\n },\n role: 'switch',\n \"aria-checked\": this.computedValue,\n \"aria-disabled\": disabled || undefined,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n ref: this.v3 ? function (el) {\n _this.elementRef = el;\n } : 'element',\n tabIndex: getTabIndex(tabIndex, disabled, undefined),\n accessKey: this.$props.accessKey\n }, [h(\"input\", {\n type: \"checkbox\",\n attrs: this.v3 ? undefined : {\n type: \"checkbox\",\n tabIndex: -1,\n \"aria-hidden\": true\n },\n checked: this.v3 ? this.$props.checked : null,\n domProps: this.v3 ? undefined : {\n \"checked\": this.$props.checked,\n \"value\": this.computedValue\n },\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n tabIndex: -1,\n \"aria-hidden\": true,\n value: this.v3 ? this.computedValue : null,\n style: {\n opacity: 0,\n width: 1,\n border: 0,\n zIndex: -1,\n position: 'absolute',\n left: '50%'\n },\n onChange: noop,\n on: this.v3 ? undefined : {\n \"change\": noop\n }\n }), h(\"span\", {\n \"class\": SWITCH_LABEL_ON\n }, [onLabel]), h(\"span\", {\n \"class\": SWITCH_LABEL_OFF\n }, [offLabel]), h(\"span\", {\n \"class\": SWITCH_HANDLE\n })])]);\n },\n methods: {\n focus: function focus() {\n if (this._element) {\n this._element.focus();\n }\n },\n element: function element() {\n return this._element;\n },\n name: function name() {\n return this.$props.name;\n },\n validity: function validity() {\n var customError = this.$props.validationMessage !== undefined;\n var isValid = this.$props.valid !== undefined ? this.$props.valid : !this.$props.required ? true : this.computedValue ? true : false;\n var valid = this.$props.valid !== undefined ? this.$props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.computedValue === null\n };\n },\n setValidity: function setValidity() {\n if (this.input && this.input.setCustomValidity) {\n this.input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || this.defaultValidationMessage.toLanguageString(switchValidation, messages[switchValidation]));\n }\n },\n limit: function limit(offset, drag, wrapper) {\n var wrapperWidth = wrapper.offsetWidth;\n var margin = drag.offsetWidth;\n\n if (offset < 0) {\n return 0;\n } else if (offset > wrapperWidth - margin) {\n return wrapperWidth - margin;\n }\n\n return offset;\n },\n toggle: function toggle(value, event) {\n this.currentChecked = value;\n this.valueDuringOnChange = value;\n this.$emit('change', {\n event: event,\n component: this,\n target: {\n value: value\n },\n name: this.$props.name,\n value: value,\n validity: this.validity()\n });\n this.$emit('changemodel', value);\n this.$emit('update:modelValue', value);\n this.valueDuringOnChange = undefined;\n },\n handleClick: function handleClick(event) {\n if (this.eventTimeStamp === event.timeStamp) {\n // This is guard against the case when wrapped in label, click event is emmited twice\n return;\n }\n\n this.eventTimeStamp = event.timeStamp;\n this.toggle(!this.computedValue, event);\n },\n handleKeyDown: function handleKeyDown(event) {\n if (this.$props.disabled) {\n return;\n }\n\n var keyCode = event.keyCode;\n\n if (keyCode === Keys.space || keyCode === Keys.enter) {\n this.toggle(!this.computedValue, event);\n }\n },\n handleWrapperFocus: function handleWrapperFocus(event) {\n if (this.$props.disabled) {\n return;\n }\n\n this.focused = true;\n this.$emit('focus', event);\n },\n handleWrapperBlur: function handleWrapperBlur(event) {\n if (this.$props.disabled) {\n return;\n }\n\n this.focused = false;\n this.$emit('blur', event);\n }\n }\n};\nvar SwitchVue3 = Switch;\nexport { Switch, SwitchVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { guid, noop, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { FloatingLabel } from '@progress/kendo-vue-labels';\nvar Input = {\n model: {\n event: 'changemodel'\n },\n inheritAttrs: false,\n // @ts-ignore\n emits: {\n 'input': null,\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null\n },\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined\n },\n defaultValue: {\n type: [String, Number],\n default: ''\n },\n value: {\n type: [String, Number]\n },\n label: {\n type: String\n },\n placeholder: {\n type: String\n },\n required: {\n type: Boolean,\n default: false\n },\n dir: {\n type: String\n },\n id: String,\n valid: {\n type: Boolean,\n default: undefined\n },\n validate: {\n type: Boolean\n },\n validationMessage: {\n type: String\n },\n validityStyles: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n hasMounted: false,\n autofill: false,\n currentValue: '',\n valueDuringOnChange: '',\n input: null,\n inputId: guid(),\n focused: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.$data.valueDuringOnChange = undefined;\n this.$data.currentValue = this.$props.defaultValue;\n },\n mounted: function mounted() {\n this.$data.input = this.v3 ? this.inputRef : this.$refs.input;\n this.$data.hasMounted = true;\n this.setValidity();\n },\n updated: function updated() {\n this.setValidity();\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var listeners = this.v3 ? this.$attrs : this.$listeners;\n var isValid = !this.$props.validityStyles || this.validity().valid;\n var hasInput = Object.keys(this.$attrs).some(function (attr) {\n return attr === 'onInput';\n });\n var hasModel = Object.keys(this.$attrs).some(function (attr) {\n return attr === 'onUpdate:modelValue';\n });\n var _a = this.$props,\n label = _a.label,\n id = _a.id,\n required = _a.required;\n var inputId = id || this.$data.inputId;\n var textbox = h('input', __assign(__assign({\n domProps: this.v3 ? null : __assign(__assign({}, this.$attrs), {\n placeholder: this.$props.placeholder,\n id: inputId,\n required: required,\n value: this.computedValue\n })\n }, this.$attrs), {\n placeholder: this.$props.placeholder,\n id: inputId,\n required: required,\n value: this.computedValue,\n class: __assign({}, this.inputClassNames()),\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n on: this.v3 ? null : {\n change: this.handleChange,\n focus: this.emitFocus,\n blur: this.emitBlur,\n input: listeners.input || listeners.changemodel ? this.handleInput : noop,\n animationstart: this.handleAutoFill,\n animationend: this.handleAutoFillEnd\n },\n onChange: this.handleChange,\n onFocus: this.emitFocus,\n onBlur: this.emitBlur,\n onInput: this.handleInput,\n onAnimationstart: this.handleAutoFill,\n onAnimationend: this.handleAutoFillEnd\n }));\n return label ? // @ts-ignore function children\n h(FloatingLabel, {\n label: label,\n attrs: this.v3 ? undefined : {\n label: label,\n editorId: inputId,\n editorValue: this.computedValue,\n editorValid: isValid,\n editorDisabled: this.$props.disabled,\n editorPlaceholder: this.$data.focused ? this.$props.placeholder : '',\n dir: this.$props.dir\n },\n editorId: inputId,\n editorValue: this.computedValue,\n editorValid: isValid,\n editorDisabled: this.$props.disabled,\n editorPlaceholder: this.$data.focused ? this.$props.placeholder : '',\n dir: this.$props.dir\n }, this.v3 ? function () {\n return [textbox];\n } : [textbox]) : textbox;\n },\n methods: {\n emitFocus: function emitFocus(e) {\n this.$emit('focus', e);\n this.$data.focused = true;\n },\n emitBlur: function emitBlur(e) {\n this.$emit('blur', e);\n this.$data.focused = false;\n },\n focus: function focus() {\n if (this.$data.input) {\n this.$data.input.focus();\n }\n },\n inputClassNames: function inputClassNames() {\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-textbox': true,\n 'k-state-invalid': !isValid && isValid !== undefined\n };\n },\n validity: function validity() {\n var result = {\n badInput: this.$data.input ? this.$data.input.validity.badInput : false,\n patternMismatch: this.$data.input ? this.$data.input.validity.patternMismatch : false,\n rangeOverflow: this.$data.input ? this.$data.input.validity.rangeOverflow : false,\n rangeUnderflow: this.$data.input ? this.$data.input.validity.rangeUnderflow : false,\n stepMismatch: this.$data.input ? this.$data.input.validity.stepMismatch : false,\n tooLong: this.$data.input ? this.$data.input.validity.tooLong : false,\n typeMismatch: this.$data.input ? this.$data.input.validity.typeMismatch : false,\n valueMissing: this.$data.input ? this.$data.input.validity.valueMissing : false\n };\n return __assign(__assign({}, result), {\n customError: this.$props.validationMessage !== undefined,\n valid: this.$props.valid !== undefined ? this.$props.valid : this.$data.input ? !this.isInvalid(result) : true\n });\n },\n isInvalid: function isInvalid(state) {\n var result = false;\n\n for (var prop in state) {\n if (state.hasOwnProperty(prop)) {\n result = result || state[prop];\n }\n }\n\n return result;\n },\n setValidity: function setValidity() {\n if (this.$data.input && this.$data.input.setCustomValidity) {\n this.$data.input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || '');\n }\n },\n handleInput: function handleInput(event) {\n var that = this;\n this.$data.currentValue = event.target.value;\n this.$data.valueDuringOnChange = event.target.value;\n this.$nextTick(function () {\n that.$emit('input', {\n event: event,\n value: event.target.value,\n component: that,\n target: event.target,\n validity: that.validity()\n });\n that.$emit('changemodel', event.target.value);\n that.$emit('update:modelValue', event.target.value);\n that.$data.valueDuringOnChange = undefined;\n });\n },\n handleChange: function handleChange(event) {\n var that = this;\n this.$data.currentValue = event.target.value;\n this.$data.valueDuringOnChange = event.target.value;\n this.$nextTick(function () {\n that.$emit('change', {\n event: event,\n value: event.target.value,\n component: that,\n target: event.target,\n validity: that.validity()\n });\n that.$emit('changemodel', event.target.value);\n that.$emit('update:modelValue', event.target.value);\n that.$data.valueDuringOnChange = undefined;\n });\n },\n handleAutoFill: function handleAutoFill(e) {\n if (e.animationName === 'autoFillStart') {\n var parent_1 = e.target.parentNode;\n\n if (parent_1 && parent_1.classList.contains('k-state-empty')) {\n this.$data.autofill = true;\n parent_1.classList.remove('k-state-empty');\n }\n }\n },\n handleAutoFillEnd: function handleAutoFillEnd(e) {\n if (e.animationName === 'autoFillEnd') {\n var parent_2 = e.target.parentNode;\n\n if (parent_2) {\n this.$data.autofill = false;\n }\n }\n },\n name: function name() {\n return this.$props.name;\n }\n },\n computed: {\n spanClassNames: {\n get: function get() {\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-floating-label-container': true,\n 'k-state-focused': this.$data.focused,\n 'k-state-empty': !((this.computedValue === 0 ? true : this.computedValue) || this.$props.placeholder || this.$data.autofill),\n 'k-autofill': this.$data.autofill,\n 'k-state-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n },\n computedValue: {\n get: function get() {\n return this.$data.valueDuringOnChange !== undefined ? this.$data.valueDuringOnChange : this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$data.currentValue;\n }\n }\n }\n};\nvar InputVue3 = Input;\nexport { Input, InputVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar DEFAULT_NUMBER = 1111111.1111111;\nvar MAX_DECIMAL = 0.31111111111111117;\nvar MIN_DECIMAL = 1;\nvar ONE_NUMBER = 1;\nvar ZERO_NUMBER = 0;\nvar DIGITS_REGEX = /\\d/;\n/**\n * @hidden\n */\n\nexport var getInitialState = function getInitialState() {\n return {\n eventValue: null,\n prevLooseValue: '',\n currentLooseValue: '',\n focused: false,\n selectionStart: undefined,\n selectionEnd: undefined,\n decimalSelect: false,\n valueIsCorrected: false,\n valueIsOutOfRange: false\n };\n};\n/**\n * @hidden\n */\n\nexport var getStateOrPropsValue = function getStateOrPropsValue(value, stateValue) {\n return value !== undefined ? value : stateValue;\n};\n/**\n * @hidden\n */\n\nexport var formatValue = function formatValue(value, format, intlService) {\n if (value === null && value === undefined) {\n return '';\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n return intlService.formatNumber(value, format);\n};\n/**\n * @hidden\n */\n\nexport var increaseValue = function increaseValue(value, newState, step, min, max, format, intlService) {\n var increasedValue = rangeValue((value || 0) + (step || 0), min, max);\n newState.eventValue = increasedValue;\n newState.currentLooseValue = formatValue(increasedValue, format, intlService);\n newState.selectionStart = newState.selectionEnd = getLastNumberIndex(newState.currentLooseValue, DIGITS_REGEX);\n};\n/**\n * @hidden\n */\n\nexport var decreaseValue = function decreaseValue(value, newState, step, min, max, format, intlService) {\n var decreasedValue = rangeValue((value || 0) - (step || 0), min, max);\n newState.eventValue = decreasedValue;\n newState.currentLooseValue = formatValue(decreasedValue, format, intlService);\n newState.selectionStart = newState.selectionEnd = getLastNumberIndex(newState.currentLooseValue, DIGITS_REGEX);\n};\n/**\n * @hidden\n */\n\nexport var rangeValue = function rangeValue(value, min, max) {\n if (value == null) {\n return value;\n }\n\n if (!(value > 1 || value < 1 || value === 1)) {\n // null, undefined or NaN\n return null;\n }\n\n if (max !== undefined && min !== undefined && max < min) {\n return null;\n }\n\n if (max !== undefined && value > max) {\n value = max;\n }\n\n if (min !== undefined && value < min) {\n value = min;\n }\n\n return value;\n};\n/**\n * @hidden\n */\n\nexport var getMaxCursorPosition = function getMaxCursorPosition(nextValue, formatInfo) {\n var formatSuffixIndex = formatInfo.findIndex(function (_a) {\n var _ = _a[0],\n currSuffix = _a[1];\n return Boolean(currSuffix) && nextValue.indexOf(currSuffix) === nextValue.length - currSuffix.length;\n });\n\n if (formatSuffixIndex === -1) {\n return -1;\n }\n\n var suffix = formatInfo[formatSuffixIndex][1];\n return nextValue.length - suffix.length;\n};\n/**\n * @hidden\n */\n\nexport var getMinCursorPosition = function getMinCursorPosition(nextValue, formatInfo) {\n var formatPrefixIndex = formatInfo.findIndex(function (_a) {\n var currPrefix = _a[0],\n _ = _a[1];\n return Boolean(currPrefix) && nextValue.indexOf(currPrefix) === 0;\n });\n\n if (formatPrefixIndex === -1) {\n return -1;\n }\n\n var prefix = formatInfo[formatPrefixIndex][0];\n return prefix.length;\n};\n/**\n * @hidden\n */\n\nexport var rangeSelection = function rangeSelection(nextLooseValue, formatInfo, newState) {\n var maxPosition = getMaxCursorPosition(nextLooseValue, formatInfo);\n\n if (maxPosition !== -1 && newState.selectionStart > maxPosition) {\n newState.selectionStart = newState.selectionEnd = maxPosition;\n return;\n }\n\n if (newState.selectionStart > nextLooseValue.length) {\n newState.selectionStart = newState.selectionEnd = nextLooseValue.length;\n }\n\n var minPosition = getMinCursorPosition(nextLooseValue, formatInfo);\n\n if (minPosition !== -1 && newState.selectionStart < minPosition) {\n newState.selectionStart = newState.selectionEnd = minPosition;\n }\n\n if (newState.selectionStart === -1) {\n newState.selectionStart = newState.selectionEnd = 0;\n }\n};\n/**\n * @hidden\n */\n\nexport var setSelection = function setSelection(newState, newIndex, nextLooseValue, formatInfo) {\n newState.selectionStart = newState.selectionEnd = newIndex;\n rangeSelection(nextLooseValue, formatInfo, newState);\n};\n/**\n * @hidden\n */\n\nexport var setInvalid = function setInvalid(newState, format, formatInfo, intlService) {\n newState.eventValue = intlService.parseNumber(newState.prevLooseValue, format);\n newState.currentLooseValue = newState.prevLooseValue;\n newState.valueIsCorrected = true;\n setSelection(newState, newState.selectionStart, newState.currentLooseValue, formatInfo);\n};\n/**\n * @hidden\n */\n\nexport var isMinusSymbolAdded = function isMinusSymbolAdded(newState, symbols) {\n var newText = String(newState.currentLooseValue);\n var oldText = String(newState.prevLooseValue);\n return newText.split(symbols.minusSign).length !== oldText.split(symbols.minusSign).length && newText.length === oldText.length + symbols.minusSign.length;\n};\n/**\n * @hidden\n */\n\nexport var isDecimalDuplicated = function isDecimalDuplicated(newState, symbols) {\n var newText = String(newState.currentLooseValue);\n return newText.split(symbols.decimal).length > 2;\n};\n/**\n * @hidden\n */\n\nexport var getFormatPrefixSufix = function getFormatPrefixSufix(format, intlService) {\n var positiveResult = intlService.formatNumber(DEFAULT_NUMBER, format);\n var negativeResult = intlService.formatNumber(-DEFAULT_NUMBER, format);\n var zeroResult = intlService.formatNumber(ZERO_NUMBER, format);\n var oneResult = intlService.formatNumber(ONE_NUMBER, format);\n var positivePrefix = getPrefix(positiveResult);\n var negativePrefix = getPrefix(negativeResult);\n var zeroPrefix = getPrefix(zeroResult);\n var onePrefix = getPrefix(oneResult);\n var positiveSuffix = getSuffix(positiveResult);\n var negativeSuffix = getSuffix(negativeResult);\n var zeroSuffix = getSuffix(zeroResult);\n var oneSuffix = getSuffix(oneResult);\n return {\n positiveInfo: [positivePrefix, positiveSuffix],\n negativeInfo: [negativePrefix, negativeSuffix],\n zeroInfo: [zeroPrefix, zeroSuffix],\n oneInfo: [onePrefix, oneSuffix]\n };\n};\n/**\n * @hidden\n */\n\nexport var getFormatSymbols = function getFormatSymbols(format, intlService) {\n var positiveResult = intlService.formatNumber(DEFAULT_NUMBER, format);\n var negativeResult = intlService.formatNumber(-DEFAULT_NUMBER, format);\n var zeroResult = intlService.formatNumber(ZERO_NUMBER, format);\n var oneResult = intlService.formatNumber(ONE_NUMBER, format);\n var symbols = intlService.numberSymbols();\n var sanitizeRegex = new RegExp(\"[\\\\d\\\\\" + symbols.decimal + symbols.group + \"]\", 'g');\n var resultWithDuplicates = [positiveResult, negativeResult, zeroResult, oneResult].map(function (result) {\n return result.replace(sanitizeRegex, '');\n }).join('');\n return resultWithDuplicates.split('').filter(function (x, n, s) {\n return s.indexOf(x) === n;\n }).join('');\n};\n/**\n * @hidden\n */\n\nexport var getInitialPosition = function getInitialPosition(nextLooseValue, symbols) {\n var decimalIdex = nextLooseValue.indexOf(symbols.decimal);\n\n if (decimalIdex > -1) {\n return decimalIdex;\n }\n\n return getLastNumberIndex(nextLooseValue, DIGITS_REGEX);\n};\n/**\n * @hidden\n */\n\nexport var reverseString = function reverseString(str) {\n return str.split('').reverse().join('');\n};\n/**\n * @hidden\n */\n\nexport var getLastNumberIndex = function getLastNumberIndex(currentLooseValue, inputRegex) {\n return currentLooseValue.length - reverseString(currentLooseValue).search(inputRegex);\n};\n/**\n * @hidden\n */\n\nexport var getPrefix = function getPrefix(str) {\n return str.split(str[str.search(DIGITS_REGEX)])[0];\n};\n/**\n * @hidden\n */\n\nexport var getSuffix = function getSuffix(str) {\n var reversedString = reverseString(str);\n return reverseString(reversedString.split(reversedString[reversedString.search(DIGITS_REGEX)])[0]);\n};\n/**\n * @hidden\n */\n\nexport var getFirstNumberIndex = function getFirstNumberIndex(prevLooseValue, inputRegex) {\n return prevLooseValue.search(inputRegex);\n};\n/**\n * @hidden\n */\n\nexport var getDecimalCount = function getDecimalCount(value, decimal) {\n var currentDecimalPlace = value.indexOf(decimal);\n return currentDecimalPlace > -1 ? value.length - currentDecimalPlace - 1 : 0;\n};\n/**\n * @hidden\n */\n\nexport var changeBasedSelection = function changeBasedSelection(currentValue, nextValue, selectionPosition, isDelete, sanitizeRegex) {\n var isCurrentLeadingZero = currentValue.replace(sanitizeRegex, '')[0] === '0';\n var isNextLeadingZero = nextValue.replace(sanitizeRegex, '')[0] === '0';\n\n if (isCurrentLeadingZero && !isNextLeadingZero) {\n return selectionPosition - 1;\n }\n\n if (isNextLeadingZero && isDelete) {\n return selectionPosition + 1;\n }\n\n var numberCounter = 0;\n\n for (var idx = 0; idx < selectionPosition; idx++) {\n if (DIGITS_REGEX.test(currentValue.charAt(idx))) {\n numberCounter++;\n }\n }\n\n var newSelection = 0;\n\n while (numberCounter > 0 && nextValue.length > newSelection) {\n if (DIGITS_REGEX.test(nextValue.charAt(newSelection))) {\n numberCounter--;\n }\n\n newSelection++;\n }\n\n return newSelection;\n};\n/**\n * @hidden\n */\n\nexport var sanitizeNumber = function sanitizeNumber(state, // NumericTextBoxData,\nformat, intlService) {\n var newState = __assign({}, state);\n\n var prevLooseValue = newState.prevLooseValue;\n var symbols = intlService.numberSymbols();\n var restrictedSymbols = getFormatSymbols(format, intlService);\n var currentLooseValueAsString = String(newState.currentLooseValue);\n var prevLooseValueAsString = String(prevLooseValue);\n var sanitizeRegex = new RegExp(\"[^\\\\d\\\\\" + symbols.decimal + \"]\", 'g');\n var sanitizeGroupRegex = new RegExp(\"[^\\\\d\\\\\" + symbols.decimal + \"\\\\\" + symbols.group + \"]\", 'g');\n var allSymbolsRegex = new RegExp(\"[\\\\d\\\\\" + symbols.decimal + \"\\\\\" + symbols.group + \"]\");\n var sanitizedString = currentLooseValueAsString.replace(sanitizeRegex, '');\n var numberStart = getFirstNumberIndex(currentLooseValueAsString, DIGITS_REGEX);\n var numberEnd = numberStart === -1 ? -1 : getLastNumberIndex(currentLooseValueAsString, DIGITS_REGEX);\n var decimalIndex = currentLooseValueAsString.indexOf(symbols.decimal);\n var sanitizedFormattedString = (currentLooseValueAsString.substring(0, numberStart) + currentLooseValueAsString.substring(numberStart, numberEnd).replace(sanitizeGroupRegex, '') + currentLooseValueAsString.substring(numberEnd, currentLooseValueAsString.length)).split('').filter(function (s) {\n return restrictedSymbols.indexOf(s) !== -1 || s.search(allSymbolsRegex) !== -1;\n }).join('');\n var formattedMax = intlService.formatNumber(MAX_DECIMAL, format).replace(sanitizeRegex, '');\n var maxDecimalIndex = formattedMax.indexOf(symbols.decimal);\n var maxDecimalCount = maxDecimalIndex > -1 ? formattedMax.length - maxDecimalIndex - 1 : 0;\n var formattedMin = intlService.formatNumber(MIN_DECIMAL, format).replace(sanitizeRegex, '');\n var minDecimalIndex = formattedMin.indexOf(symbols.decimal);\n var minDecimalCount = minDecimalIndex > -1 ? formattedMin.length - minDecimalIndex - 1 : 0;\n\n var _a = getFormatPrefixSufix(format, intlService),\n positiveInfo = _a.positiveInfo,\n negativeInfo = _a.negativeInfo,\n zeroInfo = _a.zeroInfo,\n oneInfo = _a.oneInfo;\n\n var formatInfo = [positiveInfo, negativeInfo, zeroInfo, oneInfo];\n var isFormatContainPrefixSuffix = formatInfo.findIndex(function (info) {\n return info.findIndex(function (nestedInfo) {\n return Boolean(nestedInfo);\n }) !== -1;\n }) !== 1;\n var isDelete = currentLooseValueAsString.length > 0 && currentLooseValueAsString.length < prevLooseValueAsString.length;\n\n if (!newState.isPaste) {\n // 1. Empty input\n if (currentLooseValueAsString === '') {\n newState.eventValue = null;\n newState.currentLooseValue = '';\n return newState;\n } // 2. Check is minus sign\n\n\n if (newState.currentLooseValue === symbols.minusSign && intlService.formatNumber(-0, format) !== prevLooseValueAsString) {\n newState.eventValue = -0;\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n setSelection(newState, getInitialPosition(newState.currentLooseValue, symbols), newState.currentLooseValue, formatInfo);\n return newState;\n } // 3. Minus sign toggle\n\n\n if (isMinusSymbolAdded(newState, symbols)) {\n var nextValue = intlService.parseNumber(prevLooseValue, format);\n newState.eventValue = -(nextValue !== null ? nextValue : 0);\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n var currentNumberStart = getFirstNumberIndex(newState.currentLooseValue, DIGITS_REGEX);\n var oldNumberStart = getFirstNumberIndex(prevLooseValueAsString, DIGITS_REGEX);\n setSelection(newState, newState.selectionEnd - 1 + (currentNumberStart - oldNumberStart), newState.currentLooseValue, formatInfo);\n return newState;\n } // 4. Check is decimal symbol\n\n\n if (newState.currentLooseValue === symbols.decimal) {\n newState.eventValue = 0;\n var valueCandidate = formatValue(newState.eventValue, format, intlService);\n\n if (minDecimalCount === 0 && maxDecimalCount > 0) {\n var currentLastNumberIndex = getLastNumberIndex(valueCandidate, DIGITS_REGEX);\n newState.currentLooseValue = valueCandidate.substring(0, currentLastNumberIndex) + symbols.decimal + valueCandidate.substring(currentLastNumberIndex);\n } else {\n newState.currentLooseValue = valueCandidate;\n }\n\n setSelection(newState, getInitialPosition(newState.currentLooseValue, symbols) + 1, newState.currentLooseValue, formatInfo);\n return newState;\n } // 5. Duplicate decimal - it's possible only as trailing\n\n\n if (isDecimalDuplicated(newState, symbols)) {\n setInvalid(newState, format, formatInfo, intlService);\n return newState;\n } // 6. Percent format\n\n\n if (format === 'p' && currentLooseValueAsString && currentLooseValueAsString.indexOf(symbols.percentSign) === -1) {\n newState.eventValue = intlService.parseNumber(currentLooseValueAsString, format) / 100;\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n return newState;\n } // 7. More than 15 numeric symbols\n\n\n var numericSymbols = String(newState.currentLooseValue).replace(/[^\\d]/g, '');\n\n if (numericSymbols.length > 15) {\n setInvalid(newState, format, formatInfo, intlService);\n return newState;\n } // 8. Check prefix / suffix for modifications\n\n\n if (sanitizedString !== currentLooseValueAsString && currentLooseValueAsString && isFormatContainPrefixSuffix) {\n var formatInfoIndex = formatInfo.findIndex(function (_a) {\n var prefix = _a[0],\n suffix = _a[1];\n var prefixIndex = currentLooseValueAsString.indexOf(prefix);\n var suffixIndex = currentLooseValueAsString.indexOf(suffix);\n var prefixFound = prefixIndex === 0;\n var suffixFound = suffixIndex === currentLooseValueAsString.length - suffix.length;\n var prefixGap = prefixIndex + prefix.length !== numberStart && numberStart !== -1 && currentLooseValueAsString[prefixIndex + prefix.length] !== symbols.decimal;\n var suffixGap = suffixIndex !== numberEnd && numberEnd !== -1 && currentLooseValueAsString[suffixIndex - 1] !== symbols.decimal;\n\n if (prefix && suffix) {\n if (prefixGap || suffixGap) {\n return false;\n }\n\n return prefixFound && suffixFound;\n }\n\n if (prefix) {\n if (prefixGap) {\n return false;\n }\n\n return prefixFound;\n }\n\n if (suffix) {\n if (suffixGap) {\n return false;\n }\n\n return suffixFound;\n }\n\n return false;\n });\n\n if (formatInfoIndex === -1) {\n setInvalid(newState, format, formatInfo, intlService);\n return newState;\n }\n } // 9. Value ending on decimal separator (here as decimal might be typed inside format)\n\n\n if (sanitizedString[sanitizedString.length - 1] === symbols.decimal && maxDecimalCount > 0) {\n newState.eventValue = intlService.parseNumber(currentLooseValueAsString, format);\n newState.currentLooseValue = sanitizedFormattedString;\n return newState;\n } // 10. prevent deleting decimal and group symbols\n\n\n if (newState.currentLooseValue && prevLooseValue) {\n var isSpecialSymbolDeleted = (restrictedSymbols + symbols.decimal + symbols.group).split('').findIndex(function (s) {\n if (currentLooseValueAsString.split('').filter(function (x) {\n return x === s;\n }).length < prevLooseValueAsString.split('').filter(function (x) {\n return x === s;\n }).length && currentLooseValueAsString.length + 1 === prevLooseValueAsString.length) {\n if (s === symbols.decimal && getDecimalCount(prevLooseValueAsString.replace(sanitizeRegex, ''), symbols.decimal) === 0) {\n return false;\n }\n\n return true;\n }\n\n return false;\n }) > -1;\n\n if (isSpecialSymbolDeleted) {\n newState.eventValue = intlService.parseNumber(state.prevLooseValue, format);\n newState.currentLooseValue = state.prevLooseValue;\n return newState;\n }\n }\n\n var currentDecimalCount = getDecimalCount(sanitizedString, symbols.decimal);\n var endsOnDecimal = sanitizedString[sanitizedString.length - 1] === '0'; // 11. Deleting more decimals than allowed\n\n if (isDelete && endsOnDecimal && currentDecimalCount < minDecimalCount) {\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n return newState;\n } // 12. Ending on zero OR more decimals than allowed\n\n\n if (currentDecimalCount > 0) {\n var valueUntillDecimal = currentLooseValueAsString.substring(0, decimalIndex);\n\n if (endsOnDecimal && (!valueUntillDecimal || prevLooseValueAsString.indexOf(valueUntillDecimal) !== 0)) {\n // ending on zero but typing before decimal separator\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n var nextLooseValue = formatValue(newState.eventValue, format, intlService);\n setSelection(newState, changeBasedSelection(currentLooseValueAsString, nextLooseValue, newState.selectionEnd, isDelete, sanitizeRegex), nextLooseValue, formatInfo);\n newState.currentLooseValue = nextLooseValue;\n return newState;\n }\n\n if (currentDecimalCount > maxDecimalCount) {\n // typing more symbols than format allows\n var looseDecimalPlace = currentLooseValueAsString.indexOf(symbols.decimal);\n var result = currentLooseValueAsString.substring(0, looseDecimalPlace) + currentLooseValueAsString.substring(looseDecimalPlace, looseDecimalPlace + 1 + maxDecimalCount) + currentLooseValueAsString.substring(numberEnd, String(newState.currentLooseValue).length);\n newState.eventValue = intlService.parseNumber(result, format);\n newState.currentLooseValue = result;\n setSelection(newState, newState.selectionStart, result, formatInfo);\n return newState;\n }\n\n if (minDecimalCount !== maxDecimalCount && currentDecimalCount <= maxDecimalCount && endsOnDecimal) {\n // adding trailing zeroes\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n newState.currentLooseValue = sanitizedFormattedString;\n return newState;\n }\n\n if (currentDecimalCount < minDecimalCount) {\n // deleting more decimals than allowed\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n return newState;\n }\n }\n } // X. All other values should be parsed\n\n\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n\n if (typeof newState.eventValue === 'number') {\n var nextLooseValue = formatValue(newState.eventValue, format, intlService); // First digit add\n\n if (currentLooseValueAsString.length === 1) {\n setSelection(newState, getInitialPosition(nextLooseValue, symbols), nextLooseValue, formatInfo);\n } else {\n setSelection(newState, changeBasedSelection(currentLooseValueAsString, nextLooseValue, newState.selectionEnd, isDelete, sanitizeRegex), nextLooseValue, formatInfo);\n }\n\n newState.currentLooseValue = nextLooseValue;\n } else {\n // Case when deleting last number\n newState.currentLooseValue = formatValue(intlService.parseNumber(sanitizedString), format, intlService);\n }\n\n return newState;\n};","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { canUseDOM, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { guid, validatePackage } from '@progress/kendo-vue-common';\nimport { messages, numericIncreaseValue, numericDecreaseValue } from './../messages';\nimport { formatValue, sanitizeNumber, rangeValue, increaseValue, decreaseValue, getStateOrPropsValue } from './utils';\nimport { packageMetadata } from '../package-metadata';\nvar VALIDATION_MESSAGE = 'Please enter a valid value!';\nvar NumericTextBox = {\n model: {\n event: 'changemodel'\n },\n inheritAttrs: false,\n // @ts-ignore\n emits: {\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null\n },\n props: {\n modelValue: Number,\n value: Number,\n defaultValue: Number,\n step: {\n type: Number,\n default: 1\n },\n format: [String, Object],\n tabIndex: Number,\n accessKey: String,\n title: String,\n placeholder: String,\n min: Number,\n max: Number,\n spinners: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n dir: String,\n name: String,\n label: String,\n validationMessage: String,\n validityStyles: {\n type: Boolean,\n default: true\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n required: {\n type: Boolean,\n default: false\n },\n id: String\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n hasMounted: false,\n isInvalid: false,\n isEmpty: false,\n currentValue: 0,\n valueDuringOnChange: 0,\n currentLooseValue: '',\n selectionStart: 0,\n selectionEnd: 0,\n decimalSelect: false,\n focused: false,\n forceUpdate: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this._textBeforeInput = '';\n this._inputId = guid();\n this.$data.currentLooseValue = null;\n this.$data.valueDuringOnChange = undefined;\n this._intl = provideIntlService(this);\n this._symbols = this._intl.numberSymbols();\n\n if (this.$props.value !== undefined) {\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n this.$data.currentValue = this.$props.modelValue;\n } else if (this.$props.defaultValue !== undefined) {\n this.$data.currentValue = this.$props.defaultValue;\n } else {\n this.$data.currentValue = null;\n }\n },\n mounted: function mounted() {\n this._input = this.v3 ? this.inputRef : this.$refs.input;\n this._elementWrapper = this.v3 ? this.elementWrapperRef : this.$refs.elementWrapper;\n this.$data.hasMounted = true;\n\n if (this._input) {\n this._textBeforeInput = this._input.value;\n }\n\n this.setValidity();\n },\n updated: function updated() {\n if (!(canUseDOM && document.activeElement !== this._input || !this._input) && this.$data.currentLooseValue !== null) {\n if (this.$data.forceUpdate) {\n this._input.selectionStart = this.$data.selectionStart;\n this._input.selectionEnd = this.$data.selectionEnd;\n this.$data.forceUpdate = false;\n }\n }\n\n if (this._input) {\n this._textBeforeInput = this._input.value;\n }\n\n this.setValidity();\n },\n computed: {\n computedValue: {\n get: function get() {\n if (this.$data.valueDuringOnChange !== undefined) {\n return this.$data.valueDuringOnChange;\n } else {\n return this.$data.currentValue;\n }\n }\n },\n looseValue: {\n get: function get() {\n return formatValue(this.$data.focused ? this.$data.currentLooseValue : getStateOrPropsValue(this.$props.value, this.$data.currentValue), this.$props.format, this._intl);\n }\n },\n spanClassNames: {\n get: function get() {\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n var compValue = this.computedValue;\n return {\n 'k-floating-label-container': true,\n 'k-state-focused': this.$data.focused,\n 'k-state-empty': !(compValue === 0 ? true : compValue || this.$props.placeholder),\n 'k-state-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n },\n wrapperClassNames: {\n get: function get() {\n var isValid = !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-numeric-wrap': true,\n 'k-state-focused': this.$data.focused,\n 'k-state-disabled': this.$props.disabled,\n 'k-state-invalid': !isValid || this.$data.isInvalid\n };\n }\n }\n },\n methods: {\n validity: function validity() {\n // The NumericTextBox currently autocorrect its' value,\n // so the only invalid state is if it's required and\n // the value is null!\n var customError = this.$props.validationMessage !== undefined;\n var isValid = !this.$data.valueIsOutOfRange && (!this.$props.required || this.computedValue !== null);\n var valid = this.$props.valid !== undefined ? this.$props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.computedValue === null\n };\n },\n focus: function focus() {\n if (this._input) {\n this._input.focus();\n }\n },\n emitFocus: function emitFocus(e) {\n this.$data.currentLooseValue = this._prevLooseValue;\n this.$data.focused = true;\n this.$emit('focus', e);\n this.$data.forceUpdate = true;\n },\n emitBlur: function emitBlur(e) {\n this.$data.eventValue = null;\n this.$data.prevLooseValue = '';\n this.$data.currentLooseValue = '';\n this.$data.focused = false;\n this.$data.selectionStart = undefined;\n this.$data.selectionEnd = undefined;\n this.$data.decimalSelect = false;\n this.$data.valueIsCorrected = false;\n this.$data.valueIsOutOfRange = false;\n this.$emit('blur', e);\n this.$data.forceUpdate = true;\n },\n handleFocus: function handleFocus(_) {\n this.$data.focused = true;\n },\n handleBlur: function handleBlur(_) {\n this.$data.focused = false;\n },\n setValidity: function setValidity() {\n if (this._input && this._input.setCustomValidity) {\n this._input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || VALIDATION_MESSAGE);\n }\n },\n getCurrentState: function getCurrentState() {\n return {\n eventValue: getStateOrPropsValue(this.$props.value, this.$data.currentValue),\n prevLooseValue: this._prevLooseValue,\n currentLooseValue: this._input.value,\n selectionStart: this._input.selectionStart,\n selectionEnd: this._input.selectionEnd,\n decimalSelect: false,\n valueIsCorrected: false,\n valueIsOutOfRange: false,\n isPaste: this._isPaste,\n focused: this.$data.focused\n };\n },\n parseNumber: function parseNumber(text) {\n return this._intl.parseNumber(text, this.$props.format);\n },\n elementChange: function elementChange(event) {\n var newState = this.getCurrentState();\n this._isPaste = false;\n this.triggerChange(event, sanitizeNumber(newState, this.$props.format, this._intl));\n },\n triggerChange: function triggerChange(event, newState) {\n var _this = this;\n\n if (this.$props.disabled) {\n return;\n }\n\n this.$data.valueDuringOnChange = newState.eventValue;\n this.$data.currentValue = newState.eventValue;\n var formattedValue = formatValue(rangeValue(newState.eventValue, this.$props.min, this.$props.max), this.$props.format, this._intl);\n var rangedValue = rangeValue(this.parseNumber(formattedValue), this.$props.min, this.$props.max);\n\n if (rangedValue !== newState.eventValue) {\n newState.valueIsOutOfRange = true;\n newState.eventValue = rangedValue;\n this.$data.valueDuringOnChange = rangedValue;\n this.$data.currentValue = rangedValue;\n }\n\n if (newState.valueIsCorrected) {\n var wrapper = this._elementWrapper;\n\n if (wrapper && wrapper.className.indexOf(\"k-state-invalid\") === -1) {\n this.$data.isInvalid = true;\n setTimeout(function () {\n _this.$data.isInvalid = false;\n }, 50);\n }\n }\n\n var shouldFireEvent = this.$props.value !== newState.eventValue;\n\n if (this.$props.value !== undefined) {\n // controlled\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n this.$data.currentValue = this.$props.modelValue;\n } else {\n // uncontrolled\n this.$data.currentValue = this.$data.valueDuringOnChange;\n }\n\n this.$data.prevLooseValue = newState.prevLooseValue;\n this.$data.currentLooseValue = newState.currentLooseValue;\n this.$data.selectionStart = newState.selectionStart;\n this.$data.selectionEnd = newState.selectionEnd;\n this.$data.decimalSelect = newState.decimalSelect;\n this.$data.valueIsCorrected = newState.valueIsCorrected;\n this.$data.valueIsOutOfRange = newState.valueIsOutOfRange;\n this.$data.focused = newState.focused;\n this.$data.isPaste = newState.isPaste;\n this.$data.forceUpdate = !this.$data.forceUpdate;\n\n if (shouldFireEvent) {\n this.$emit('change', {\n event: event,\n value: this.$data.valueDuringOnChange,\n component: this,\n target: {\n name: this.$props.name,\n value: this.$data.valueDuringOnChange\n },\n validity: this.validity()\n });\n this.$emit('changemodel', this.$data.valueDuringOnChange);\n this.$emit('update:modelValue', this.$data.valueDuringOnChange);\n }\n\n this.$data.valueDuringOnChange = undefined;\n },\n onPasteHandler: function onPasteHandler(_event) {\n this._isPaste = true;\n },\n increase: function increase(event) {\n var newState = this.getCurrentState();\n increaseValue(this.parseNumber(String(newState.currentLooseValue)), newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n this.triggerChange(event, newState);\n },\n decrease: function decrease(event) {\n var newState = this.getCurrentState();\n decreaseValue(this.parseNumber(String(newState.currentLooseValue)), newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n this.triggerChange(event, newState);\n },\n wheel: function wheel(event) {\n if (!canUseDOM || document.activeElement !== this._input || !this._input) {\n return;\n }\n\n if (event.deltaY < 0) {\n event.preventDefault();\n this.increase(event);\n }\n\n if (event.deltaY > 0) {\n event.preventDefault();\n this.decrease(event);\n }\n },\n keyDown: function keyDown(event) {\n var newState = this.getCurrentState();\n var currentValue = this.parseNumber(String(newState.currentLooseValue)); // Select All\n\n if (newState.selectionEnd > newState.selectionStart && newState.selectionEnd - newState.selectionStart === String(newState.currentLooseValue).length) {\n return;\n }\n\n switch (event.keyCode) {\n case 38:\n // Arrow up\n increaseValue(currentValue, newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n break;\n\n case 40:\n // Arrow down\n decreaseValue(currentValue, newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n break;\n\n case 13:\n // Enter - range values\n var formattedValue = formatValue(rangeValue(currentValue, this.$props.min, this.$props.max), this.$props.format, this._intl);\n var rangedValue = rangeValue(this.parseNumber(formattedValue), this.$props.min, this.$props.max);\n newState.eventValue = rangedValue;\n newState.currentLooseValue = formatValue(rangedValue, this.$props.format, this._intl);\n newState.selectionStart = newState.selectionEnd = newState.currentLooseValue.length;\n break;\n\n case 110:\n // Numpad decimal key\n var element = this._input;\n\n var symbols = this._intl.numberSymbols();\n\n if (element) {\n newState.currentLooseValue = newState.currentLooseValue.slice(0, newState.selectionStart) + symbols.decimal + newState.currentLooseValue.slice(newState.selectionEnd);\n newState.selectionStart = newState.selectionEnd = newState.selectionStart + 1;\n newState = sanitizeNumber(newState, this.$props.format, this._intl);\n }\n\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n this.triggerChange(event, newState);\n },\n spinnersWrapperMouseDown: function spinnersWrapperMouseDown(e) {\n if (canUseDOM && this._input) {\n e.preventDefault();\n\n if (document.activeElement !== this._input) {\n this._input.focus();\n }\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n var elementWrapperRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n inputRef: inputRef,\n elementWrapperRef: elementWrapperRef,\n kendoLocalizationService: kendoLocalizationService,\n kendoIntlService: kendoIntlService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var inputId = this.$props.id || this._inputId;\n var defaultSlot = getDefaultSlots(this);\n var localizationService = provideLocalizationService(this);\n\n if (this.$props.value !== undefined && this.$props.value !== this.$data.currentValue) {\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined && this.$props.modelValue !== this.$data.currentValue) {\n this.$data.currentValue = this.$props.modelValue;\n }\n\n this._prevLooseValue = this.looseValue;\n var numerictextbox = h(\"span\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined\n },\n \"class\": 'k-widget k-numerictextbox',\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined\n }, [h(\"span\", {\n \"class\": this.wrapperClassNames,\n ref: this.v3 ? function (el) {\n _this.elementWrapperRef = el;\n } : 'elementWrapper'\n }, [h(\"input\", {\n tabIndex: this.$props.tabIndex,\n attrs: this.v3 ? undefined : {\n tabIndex: this.$props.tabIndex,\n accessKey: this.$props.accessKey,\n disabled: this.$props.disabled,\n title: this.$props.title,\n \"aria-valuemin\": this.$props.min,\n \"aria-valuemax\": this.$props.max,\n placeholder: this.$props.placeholder,\n type: this.$props.inputType || 'tel',\n spellCheck: false,\n autoComplete: \"off\",\n autoCorrect: \"off\",\n id: inputId,\n \"aria-valuenow\": this.$data.currentValue !== null ? this.$data.currentValue : undefined,\n name: this.$props.name\n },\n accessKey: this.$props.accessKey,\n disabled: this.$props.disabled,\n title: this.$props.title,\n \"aria-valuemin\": this.$props.min,\n \"aria-valuemax\": this.$props.max,\n placeholder: this.$props.placeholder,\n type: this.$props.inputType || 'tel',\n spellCheck: false,\n autoComplete: \"off\",\n autoCorrect: \"off\",\n \"class\": \"k-input k-formatted-value\",\n id: inputId,\n value: this.v3 ? this.looseValue : null,\n domProps: this.v3 ? undefined : {\n \"value\": this.looseValue\n },\n \"aria-valuenow\": this.$data.currentValue !== null ? this.$data.currentValue : undefined,\n name: this.$props.name,\n onWheel: this.wheel,\n on: this.v3 ? undefined : {\n \"wheel\": this.wheel,\n \"keydown\": this.keyDown,\n \"input\": this.elementChange,\n \"focus\": this.emitFocus,\n \"blur\": this.emitBlur,\n \"paste\": this.onPasteHandler\n },\n onKeydown: this.keyDown,\n onInput: this.elementChange,\n onFocus: this.emitFocus,\n onBlur: this.emitBlur,\n onPaste: this.onPasteHandler,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input'\n }), defaultSlot, this.$props.spinners && h(\"span\", {\n \"class\": \"k-select\",\n onMousedown: this.spinnersWrapperMouseDown,\n on: this.v3 ? undefined : {\n \"mousedown\": this.spinnersWrapperMouseDown\n }\n }, [h(\"span\", {\n \"class\": \"k-link k-link-increase\",\n \"aria-label\": localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue]),\n attrs: this.v3 ? undefined : {\n \"aria-label\": localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue]),\n title: localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue])\n },\n title: localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue]),\n onClick: this.increase,\n on: this.v3 ? undefined : {\n \"click\": this.increase\n }\n }, [h(\"span\", {\n \"class\": \"k-icon k-i-arrow-n\"\n })]), h(\"span\", {\n \"class\": \"k-link k-link-decrease\",\n \"aria-label\": localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue]),\n attrs: this.v3 ? undefined : {\n \"aria-label\": localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue]),\n title: localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue])\n },\n title: localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue]),\n onClick: this.decrease,\n on: this.v3 ? undefined : {\n \"click\": this.decrease\n }\n }, [h(\"span\", {\n \"class\": \"k-icon k-i-arrow-s\"\n })])])])]);\n return this.$props.label ? h(\"span\", {\n \"class\": this.spanClassNames,\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus,\n \"focusout\": this.handleBlur\n },\n onFocusout: this.handleBlur,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [numerictextbox, this.$props.label ? inputId ? h(\"label\", {\n \"for\": inputId,\n attrs: this.v3 ? undefined : {\n \"for\": inputId\n },\n \"class\": \"k-label\"\n }, [this.$props.label]) : h(\"span\", {\n \"class\": \"k-label\"\n }, [this.$props.label]) : null]) : numerictextbox;\n }\n};\nvar NumericTextBoxVue3 = NumericTextBox;\nexport { NumericTextBox, NumericTextBoxVue3 };","/**\n * @hidden\n */\nvar Stream = /** @class */ (function () {\n function Stream(input, control) {\n if (input === void 0) { input = []; }\n if (control === void 0) { control = []; }\n this.input = input;\n this.control = control;\n this.inputCursor = 0;\n this.controlCursor = 0;\n }\n Stream.prototype.eof = function () {\n return this.inputCursor >= this.input.length;\n };\n // Get the first value from the input.\n Stream.prototype.next = function () {\n return {\n char: this.input[this.inputCursor++],\n control: this.control[this.controlCursor++]\n };\n };\n Stream.prototype.peek = function () {\n return {\n char: this.input[this.inputCursor],\n control: this.control[this.controlCursor]\n };\n };\n Stream.prototype.eat_input = function () {\n this.inputCursor++;\n };\n Stream.prototype.eat_control = function () {\n this.controlCursor++;\n };\n Stream.prototype.eat = function () {\n this.inputCursor++;\n this.controlCursor++;\n };\n return Stream;\n}());\nexport { Stream };\n","import { Result, ResultType } from './result';\nimport { Stream } from './stream';\nvar toArray = function (value) { return (value || '').split(''); };\nvar ESCAPE_CHARACTER = '\\\\';\n/**\n * @hidden\n */\nvar Parser = /** @class */ (function () {\n function Parser(parse) {\n this.parse = parse;\n }\n Parser.prototype.run = function (input, control) {\n if (control === void 0) { control = ''; }\n if (input instanceof Stream) {\n return this.parse(input);\n }\n else {\n return this.parse(new Stream(toArray(input), toArray(control)));\n }\n };\n // map :: Functor f => f a ~> (a -> b) -> f b\n Parser.prototype.map = function (f) {\n var _this = this;\n return new Parser(function (stream) { return _this.parse(stream).map(f); });\n };\n // chain :: Chain m => m a ~> (a -> m b) -> m b\n Parser.prototype.chain = function (f) {\n var _this = this;\n return new Parser(function (stream) { return _this.parse(stream).chain(function (v, s) { return f(v).run(s); }); });\n };\n Parser.prototype.isLiteral = function (c) {\n return this.run(c).type === ResultType.Literal;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * @hidden\n */\nexport var mask = function (_a) {\n var prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return function (rule) { return new Parser(function (stream) {\n while (!stream.eof()) {\n var _a = stream.peek(), char = _a.char, control = _a.control;\n if (char === control && control === prompt) {\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }\n if (rule.test(char)) {\n stream.eat();\n return new Result(char, stream, ResultType.Mask);\n }\n if (char === promptPlaceholder) {\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }\n stream.eat_input();\n }\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }); };\n};\n/**\n * @hidden\n */\nexport var literal = function (_token) { return new Parser(function (stream) {\n // let {char, control} = stream.peek();\n var char = stream.peek().char;\n if (char === _token) {\n stream.eat();\n return new Result(_token, stream, ResultType.Literal);\n }\n // if (control === _token) {\n // while (!stream.eof() && char !== _token) {\n // stream.eat_input();\n // char = stream.peek().char;\n // }\n // }\n //\n // if (control !== undefined) {\n // stream.eat();\n // }\n return new Result(_token, stream, ResultType.Literal);\n}); };\n/**\n * @hidden\n */\nexport var unmask = function (prompt) { return function (rule) { return new Parser(function (stream) {\n while (!stream.eof()) {\n var _a = stream.peek(), char = _a.char, control = _a.control;\n if (char === prompt && control === prompt) {\n stream.eat();\n return new Result(char, stream);\n }\n if (rule.test(char)) {\n stream.eat();\n return new Result(char, stream);\n }\n stream.eat_input();\n }\n stream.eat();\n return new Result('', stream);\n}); }; };\n/**\n * @hidden\n */\nexport var unliteral = function (_token) { return new Parser(function (stream) {\n if (stream.eof()) {\n return new Result('', stream);\n }\n var char = stream.peek().char;\n if (char === _token) {\n stream.eat();\n }\n return new Result(_token, stream);\n}); };\n/**\n * @hidden\n */\nexport var token = function (rules, creator) { return new Parser(function (stream) {\n var char = stream.next().char;\n var rule = rules[char];\n if (char === ESCAPE_CHARACTER) {\n char = stream.next().char;\n return new Result(creator.literal(char), stream);\n }\n if (!rule) {\n return new Result(creator.literal(char), stream);\n }\n return new Result(creator.mask(rule), stream);\n}); };\n/**\n * @hidden\n */\nexport var rawMask = function (_a) {\n var prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return new Parser(function (stream) {\n var char = stream.next().char;\n if (char === prompt) {\n return new Result(promptPlaceholder, stream);\n }\n return new Result(char, stream);\n });\n};\n/**\n * @hidden\n */\nexport var rawLiteral = function (includeLiterals) { return new Parser(function (stream) {\n var char = stream.next().char;\n if (includeLiterals) {\n return new Result(char, stream);\n }\n return new Result('', stream);\n}); };\n","import { Parser } from './parsers';\nimport { Result } from './result';\n/**\n * @hidden\n */\nvar always = function (value) { return new Parser(function (stream) { return new Result(value, stream); }); };\n/**\n * @hidden\n */\nvar append = function (p1, p2) { return p1.chain(function (vs) { return p2.map(function (v) { return vs.concat([v]); }); }); };\n/**\n * @hidden\n */\nexport var sequence = function (list) { return list.reduce(function (acc, parser) { return append(acc, parser); }, always([])); };\n/**\n * @hidden\n */\nexport var greedy = function (parser) { return new Parser(function (stream) {\n var result = new Result([], stream);\n while (!stream.eof()) {\n result = result.concat(parser.run(stream));\n }\n return result;\n}); };\n","import { greedy, sequence } from './parsing/combinators';\nimport { literal, mask as maskParser, rawLiteral, rawMask, token, unliteral, unmask } from './parsing/parsers';\n/**\n * @hidden\n */\nvar MaskingService = /** @class */ (function () {\n function MaskingService() {\n this.rules = {};\n this.prompt = '_';\n this.mask = '';\n this.promptPlaceholder = ' ';\n this.includeLiterals = false;\n this.maskTokens = [];\n this.unmaskTokens = [];\n this.rawTokens = [];\n this.validationTokens = [];\n }\n MaskingService.prototype.update = function (_a) {\n var _b = _a.mask, mask = _b === void 0 ? '' : _b, _c = _a.prompt, prompt = _c === void 0 ? '' : _c, _d = _a.promptPlaceholder, promptPlaceholder = _d === void 0 ? ' ' : _d, _e = _a.rules, rules = _e === void 0 ? {} : _e, _f = _a.includeLiterals, includeLiterals = _f === void 0 ? false : _f;\n this.mask = mask;\n this.prompt = prompt;\n this.promptPlaceholder = promptPlaceholder;\n this.rules = rules;\n this.includeLiterals = includeLiterals;\n this.tokenize();\n };\n MaskingService.prototype.validationValue = function (maskedValue) {\n if (maskedValue === void 0) { maskedValue = ''; }\n var value = maskedValue;\n sequence(this.validationTokens)\n .run(maskedValue)\n .fold(function (unmasked) {\n value = unmasked.join('');\n });\n return value;\n };\n MaskingService.prototype.rawValue = function (maskedValue) {\n if (maskedValue === void 0) { maskedValue = ''; }\n var value = maskedValue;\n if (!this.rawTokens.length) {\n return value;\n }\n sequence(this.rawTokens)\n .run(maskedValue)\n .fold(function (unmasked) {\n value = unmasked.join('');\n });\n return value;\n };\n /**\n * @hidden\n */\n MaskingService.prototype.maskRaw = function (rawValue) {\n if (rawValue === void 0) { rawValue = ''; }\n var value = rawValue;\n if (!this.maskTokens.length) {\n return value;\n }\n sequence(this.maskTokens)\n .run(rawValue)\n .fold(function (masked) {\n value = masked.join('');\n });\n return value;\n };\n MaskingService.prototype.maskInput = function (input, control, splitPoint) {\n if (input.length < control.length) {\n return this.maskRemoved(input, control, splitPoint);\n }\n return this.maskInserted(input, control, splitPoint);\n };\n MaskingService.prototype.maskInRange = function (pasted, oldValue, start, end) {\n var value = '';\n var selection = end;\n var beforeChange = oldValue.split('').slice(0, start);\n var afterChange = oldValue.split('').slice(end);\n sequence(this.maskTokens.slice(start, end))\n .run(pasted)\n .fold(function (masked) {\n value = beforeChange\n .concat(masked)\n .concat(afterChange)\n .join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n MaskingService.prototype.maskRemoved = function (input, control, splitPoint) {\n var _this = this;\n var value = '';\n var selection = splitPoint;\n var unchanged = input.split('').slice(splitPoint);\n var changed = input.split('').slice(0, splitPoint).join('');\n var take = this.maskTokens.length - (input.length - splitPoint);\n sequence(this.maskTokens.slice(0, take))\n .run(changed, control)\n .fold(function (masked) {\n selection = _this.adjustPosition(masked, selection);\n value = masked.concat(unchanged).join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n MaskingService.prototype.adjustPosition = function (input, selection) {\n var caretChar = input[selection];\n var isLiteral = this.maskTokens[selection].isLiteral(caretChar);\n if (!isLiteral && caretChar !== this.prompt) {\n return selection + 1;\n }\n return selection;\n };\n MaskingService.prototype.maskInserted = function (input, control, splitPoint) {\n var _this = this;\n var value = '';\n var selection = splitPoint;\n var changed = input.slice(0, splitPoint);\n sequence(this.unmaskTokens)\n .run(changed, control)\n .chain(function (unmasked) {\n selection = unmasked.join('').length;\n var unchanged = control.slice(selection);\n return sequence(_this.maskTokens)\n .run(unmasked.join('') + unchanged, control);\n })\n .fold(function (masked) {\n value = masked.join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n Object.defineProperty(MaskingService.prototype, \"maskTokenCreator\", {\n get: function () {\n var _a = this, prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return {\n literal: function (rule) { return literal(rule); },\n mask: function (rule) { return maskParser({ prompt: prompt, promptPlaceholder: promptPlaceholder })(rule); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"unmaskTokenCreator\", {\n get: function () {\n var _this = this;\n return {\n literal: function (rule) { return unliteral(rule); },\n mask: function (rule) { return unmask(_this.prompt)(rule); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"rawTokenCreator\", {\n get: function () {\n var _a = this, prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder, includeLiterals = _a.includeLiterals;\n return {\n literal: function (_) { return rawLiteral(includeLiterals); },\n mask: function (_) { return rawMask({ prompt: prompt, promptPlaceholder: promptPlaceholder }); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"validationTokenCreator\", {\n get: function () {\n var prompt = this.prompt;\n return {\n literal: function (_) { return rawLiteral(false); },\n mask: function (_) { return rawMask({ prompt: prompt, promptPlaceholder: '' }); }\n };\n },\n enumerable: false,\n configurable: true\n });\n MaskingService.prototype.tokenize = function () {\n var _this = this;\n greedy(token(this.rules, this.maskTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.maskTokens = tokens;\n });\n greedy(token(this.rules, this.unmaskTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.unmaskTokens = tokens;\n });\n greedy(token(this.rules, this.rawTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.rawTokens = tokens;\n });\n greedy(token(this.rules, this.validationTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.validationTokens = tokens;\n });\n };\n return MaskingService;\n}());\nexport { MaskingService };\n","/**\n * @hidden\n */\nvar defaultRules = {\n '#': /[\\d\\s\\+\\-]/,\n '&': /[\\S]/,\n '0': /[\\d]/,\n '9': /[\\d\\s]/,\n '?': /[a-zA-Z\\s]/,\n 'A': /[a-zA-Z0-9]/,\n 'C': /./,\n 'L': /[a-zA-Z]/,\n 'a': /[a-zA-Z0-9\\s]/\n};\n/**\n * @hidden\n */\nvar returnFalse = function () { return false; };\n/**\n * @hidden\n */\nvar maskingChanged = function (prev, next) {\n return prev.includeLiterals !== next.includeLiterals ||\n prev.mask !== next.mask ||\n prev.prompt !== next.prompt ||\n prev.promptPlaceholder !== next.promptPlaceholder ||\n !sameRules(prev.rules, next.rules);\n};\n/**\n * @hidden\n */\nvar sameRules = function (rules1, rules2) {\n if (!!rules1 !== !!rules2) {\n return false;\n }\n if (rules1 === rules2 || (!rules1 || !rules2)) {\n return true;\n }\n var same = true;\n for (var key in rules1) {\n if (rules1[key] !== rules2[key]) {\n same = false;\n break;\n }\n }\n if (same) {\n for (var key in rules2) {\n if (!rules1.hasOwnProperty(key)) {\n same = false;\n break;\n }\n }\n }\n return same;\n};\nexport { defaultRules, maskingChanged, returnFalse };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { MaskingService } from './masking.service';\nimport { defaultRules, maskingChanged, returnFalse } from './utils';\nimport { guid, classNames, getTabIndex, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * Represents the default `MaskedTextBox` component.\n */\n\nvar MaskedTextBox = {\n model: {\n event: 'changemodel'\n },\n props: {\n modelValue: String,\n modelRawValue: String,\n value: String,\n defaultValue: String,\n placeholder: String,\n title: String,\n dir: String,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n tabIndex: Number,\n accessKey: String,\n disabled: Boolean,\n readonly: Boolean,\n prompt: {\n type: String,\n default: '_'\n },\n promptPlaceholder: {\n type: String,\n default: ' '\n },\n includeLiterals: {\n type: Boolean,\n default: false\n },\n maskValidation: {\n type: Boolean,\n default: true\n },\n mask: String,\n rules: {\n type: Object,\n default: function _default() {\n return defaultRules;\n }\n },\n selection: Object,\n name: String,\n label: String,\n validationMessage: String,\n required: {\n type: Boolean,\n default: false\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n validityStyles: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n currentValue: undefined,\n currentFocused: false,\n inputValue: undefined,\n currentSelection: [null, null]\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.hasMounted = false;\n this.valueDuringOnChange = undefined;\n this.inputId = \"k-\" + guid();\n this.service = new MaskingService();\n this.isPasted = false;\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n mounted: function mounted() {\n this.hasMounted = true; // @ts-ignore\n\n this.element = this.input = this.v3 ? this.inputRef : this.$refs.input;\n this.updateService();\n this.setValidity();\n },\n watch: {\n currentFocused: function currentFocused(_, oldValue) {\n this.prevCurrentFocused = oldValue;\n },\n selection: function selection(_, oldValue) {\n this.prevSelection = oldValue;\n },\n includeLiterals: function includeLiterals(_, oldValue) {\n this.prevIncludeLiterals = oldValue;\n },\n mask: function mask(_, oldValue) {\n this.prevMask = oldValue;\n },\n prompt: function prompt(_, oldValue) {\n this.prevPrompt = oldValue;\n },\n promptPlaceholder: function promptPlaceholder(_, oldValue) {\n this.prevPromptPlaceholder = oldValue;\n },\n rules: function rules(_, oldValue) {\n this.prevRules = oldValue;\n }\n },\n updated: function updated() {\n if (this.element && this.currentFocused) {\n // && this.prevCurrentFocused\n var _a = this.currentSelection,\n start = _a[0],\n end = _a[1];\n var prevSelection = this.prevSelection;\n var nextSelection = this.$props.selection;\n\n if (!prevSelection && nextSelection || prevSelection && nextSelection && (prevSelection.start !== nextSelection.start || prevSelection.end !== nextSelection.end)) {\n start = nextSelection.start;\n end = nextSelection.end;\n }\n\n if (start !== null && end !== null) {\n this.element.setSelectionRange(start, end);\n }\n }\n\n var prevProps = {\n includeLiterals: this.prevIncludeLiterals,\n mask: this.prevMask,\n prompt: this.prevPrompt,\n promptPlaceholder: this.prevPromptPlaceholder,\n rules: this.prevRules\n };\n\n if (maskingChanged(prevProps, this.$props)) {\n this.updateService();\n }\n\n this.setValidity();\n },\n computed: {\n computedRules: {\n get: function get() {\n return Object.assign({}, defaultRules, this.$props.rules);\n }\n },\n spanClassNames: {\n get: function get() {\n var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-textbox-container': true,\n 'k-state-focused': this.currentFocused,\n 'k-state-empty': !this.computedValue(),\n 'k-state-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n }\n },\n methods: {\n focus: function focus() {\n if (this.input) {\n this.input.focus();\n }\n },\n computedValue: function computedValue() {\n var value;\n\n if (this.valueDuringOnChange !== undefined) {\n value = this.valueDuringOnChange;\n } else if (this.$props.value !== undefined) {\n value = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n value = this.$props.modelValue;\n } else if (this.currentValue !== undefined) {\n value = this.currentValue;\n } else if (this.$props.defaultValue !== undefined) {\n value = this.$props.defaultValue;\n }\n\n return value || '';\n },\n rawValue: function rawValue() {\n return this.service.rawValue(this.computedValue());\n },\n validity: function validity() {\n var maskedValue = this.computedValue();\n var value = this.service.validationValue(maskedValue);\n var customError = this.$props.validationMessage !== undefined;\n var valid = this.$props.valid !== undefined ? this.$props.valid : (!this.$props.required || !!value) && (!this.$props.maskValidation || !this.$props.prompt || maskedValue.indexOf(this.$props.prompt) === -1);\n return {\n customError: customError,\n valid: valid,\n valueMissing: !value\n };\n },\n pasteHandler: function pasteHandler(event) {\n var _a = event.target,\n selectionStart = _a.selectionStart,\n selectionEnd = _a.selectionEnd;\n\n if (selectionEnd === selectionStart) {\n return;\n }\n\n this.isPasted = true;\n this.currentSelection = [selectionStart || 0, selectionEnd || 0];\n },\n onChangeHandler: function onChangeHandler(event) {\n var input = event.currentTarget;\n var value = this.inputValue = input.value;\n var start = this.currentSelection[0] || 0;\n var end = this.currentSelection[1] || 0;\n\n if (!this.$props.mask) {\n this.isPasted = false;\n this.currentSelection = [null, null];\n this.triggerOnChange(value, event);\n return;\n }\n\n var maskedValue = this.computedValue();\n var result;\n\n if (this.isPasted) {\n this.isPasted = false;\n var rightPart = maskedValue.length - end;\n var to = value.length - rightPart;\n result = this.service.maskInRange(value.slice(start, to), maskedValue, start, end);\n } else {\n result = this.service.maskInput(value, maskedValue, input.selectionStart || 0);\n }\n\n this.currentSelection = [result.selection, result.selection];\n this.triggerOnChange(result.value, event);\n this.inputValue = undefined;\n },\n focusHandler: function focusHandler(event) {\n if (!this.currentFocused) {\n this.currentFocused = true;\n this.$emit('focus', {\n target: this,\n event: event\n });\n }\n },\n blurHandler: function blurHandler(event) {\n if (this.currentFocused) {\n this.currentFocused = false;\n this.$emit('blur', {\n target: this,\n event: event\n });\n }\n },\n triggerOnChange: function triggerOnChange(maskedValue, event) {\n this.currentValue = maskedValue;\n this.valueDuringOnChange = maskedValue;\n this.$emit('change', {\n event: event,\n selectionStart: this.currentSelection[0],\n selectionEnd: this.currentSelection[1],\n value: this.computedValue(),\n component: this,\n target: {\n name: this.$props.name,\n value: this.computedValue(),\n rawValue: this.rawValue()\n },\n validity: this.validity()\n });\n this.$emit('changemodel', this.computedValue());\n this.$emit('update:modelValue', this.computedValue());\n this.$emit('update:modelRawValue', this.rawValue());\n this.valueDuringOnChange = undefined;\n },\n updateService: function updateService(extra) {\n var config = Object.assign({\n includeLiterals: this.$props.includeLiterals,\n mask: this.$props.mask,\n prompt: this.$props.prompt,\n promptPlaceholder: this.$props.promptPlaceholder,\n rules: this.$props.rules\n }, extra); // tslint:disable-line:align\n\n this.service.update(config);\n },\n setValidity: function setValidity() {\n if (this.element) {\n this.element.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || '');\n }\n }\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var inputId = this.$props.id || this.inputId;\n var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;\n var newValue = this.computedValue();\n var inputValue = this.inputValue;\n var component = h(\"span\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n },\n \"class\": classNames('k-widget k-maskedtextbox', this.$props.className, {\n 'k-state-focused': this.currentFocused,\n 'k-state-disabled': this.$props.disabled,\n 'k-state-invalid': !isValid\n }),\n style: !this.$props.label ? {\n width: this.$props.width\n } : undefined\n }, [h(\"input\", {\n type: \"text\",\n attrs: this.v3 ? undefined : {\n type: \"text\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoCapitalize: \"off\",\n spellCheck: false,\n id: inputId,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n name: this.$props.name,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, true),\n accessKey: this.$props.accessKey,\n title: this.$props.title,\n disabled: this.$props.disabled || undefined,\n readOnly: this.$props.readonly || undefined,\n placeholder: this.$props.placeholder\n },\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoCapitalize: \"off\",\n spellCheck: false,\n \"class\": \"k-textbox\",\n value: this.v3 ? newValue : null,\n domProps: this.v3 ? undefined : {\n \"value\": newValue\n },\n id: inputId,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n name: this.$props.name,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, true),\n accessKey: this.$props.accessKey,\n title: this.$props.title,\n disabled: this.$props.disabled || undefined,\n readOnly: this.$props.readonly || undefined,\n placeholder: this.$props.placeholder,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n onInput: this.onChangeHandler,\n on: this.v3 ? undefined : {\n \"input\": this.onChangeHandler,\n \"paste\": this.pasteHandler,\n \"focus\": this.focusHandler,\n \"blur\": this.blurHandler,\n \"dragStart\": returnFalse,\n \"drop\": returnFalse\n },\n onPaste: this.pasteHandler,\n onFocus: this.focusHandler,\n onBlur: this.blurHandler,\n onDragStart: returnFalse,\n onDrop: returnFalse\n })]);\n return this.$props.label ? h(\"span\", {\n \"class\": this.spanClassNames,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [component, this.$props.label ? inputId ? h(\"label\", {\n \"for\": inputId,\n attrs: this.v3 ? undefined : {\n \"for\": inputId\n },\n \"class\": \"k-label\"\n }, [this.$props.label]) : h(\"span\", {\n \"class\": \"k-label\"\n }, [this.$props.label]) : null]) : component;\n }\n};\nvar MaskedTextBoxVue3 = MaskedTextBox;\nexport { MaskedTextBox, MaskedTextBoxVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\n\nexport var SLIDER_LABEL_ATTRIBUTE = 'data-slider-label'; // tslint:enable:max-line-length\n\nvar SliderLabel = {\n name: 'KendoSliderLabel',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n position: Number,\n title: String,\n vertical: Boolean\n },\n data: function data() {\n return {\n currentDir: 'ltr'\n };\n },\n inject: ['kendoMax', 'kendoMin', 'kendoVertical'],\n mounted: function mounted() {\n this.sliderLabelRef = this.$refs.sliderLabelRef;\n\n if (!this.currentDir && window && this.$el) {\n // Note: getComputedStyle forces reflow\n var direction = window.getComputedStyle(this.$el).direction;\n\n if (direction) {\n this.currentDir = direction;\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _a;\n\n var h = gh || createElement;\n var dir = this.currentDir;\n var defaultSlot = getDefaultSlots(this);\n var position = 100 * (this.$props.position - this.kendoMin) / (this.kendoMax - this.kendoMin);\n var vertical = this.kendoVertical;\n var style = vertical ? {\n bottom: position + \"%\",\n height: '1px',\n width: '100%'\n } : (_a = {}, _a[dir === 'rtl' ? 'right' : 'left'] = position + \"%\", _a.width = '1px', _a);\n return h(\"li\", {\n ref: 'sliderLabelRef',\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\",\n title: this.$props.title\n },\n \"class\": \"k-tick k-tick-large\",\n title: this.$props.title,\n style: __assign({\n zIndex: 1,\n position: 'absolute'\n }, style)\n }, [h(\"span\", {\n \"data-slider-label\": true,\n attrs: this.v3 ? undefined : {\n \"data-slider-label\": true\n },\n \"class\": \"k-label\",\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick\n }\n }, [defaultSlot])]);\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n }\n }\n};\nvar SliderLabelVue3 = SliderLabel;\nexport { SliderLabel, SliderLabelVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { Keys, classNames, Draggable, getTabIndex, validatePackage } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, sliderIncreaseValue, sliderDecreaseValue, sliderDragTitle } from './../messages';\nimport { SLIDER_LABEL_ATTRIBUTE } from './SliderLabel';\nimport { packageMetadata } from '../package-metadata';\nvar Slider = {\n name: 'KendoSlider',\n model: {\n event: 'changemodel'\n },\n props: {\n modelValue: {\n type: Number,\n default: undefined\n },\n defaultValue: {\n type: Number,\n default: undefined\n },\n name: String,\n buttons: Boolean,\n tabIndex: Number,\n disabled: Boolean,\n dir: String,\n step: Number,\n min: {\n type: Number,\n required: true\n },\n max: {\n type: Number,\n required: true\n },\n value: Number,\n vertical: Boolean,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n provide: function provide() {\n return {\n kendoMin: this.$props.min,\n kendoMax: this.$props.max,\n kendoVertical: this.$props.vertical\n };\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n currentValue: undefined,\n currentFocused: false,\n currentDir: 'ltr'\n };\n },\n computed: {\n computedValue: function computedValue() {\n var value = this.$props.value !== undefined ? this.$props.value : this.currentValue;\n var _a = this.$props,\n min = _a.min,\n max = _a.max;\n return value === undefined ? value : Math.min(Math.max(value, min), max);\n },\n sliderTrack: function sliderTrack() {\n return this._sliderTrack;\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n\n if (this.$props.value !== undefined) {\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n this.$data.currentValue = this.$props.modelValue;\n } else if (this.$props.defaultValue !== undefined) {\n this.$data.currentValue = this.$props.defaultValue;\n } else {\n this.$data.currentValue = this.$props.min;\n }\n\n this.currentFocused = false;\n this.currentDir = this.$props.dir;\n },\n mounted: function mounted() {\n this._sliderTrack = this.$refs.sliderTrack;\n\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n }\n\n if (!this.currentDir && window && this.$el) {\n // Note: getComputedStyle forces reflow\n var direction = window.getComputedStyle(this.$el).direction;\n\n if (direction) {\n this.currentDir = direction;\n }\n }\n },\n updated: function updated() {\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n inputRef: inputRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var _a, _b;\n\n var h = gh || createElement;\n var lS = provideLocalizationService(this);\n var percentValue = (this.computedValue - this.$props.min) / (this.$props.max - this.$props.min) * 100;\n var defaultSlot = getDefaultSlots(this);\n var trackStyles = this.$props.vertical ? {\n marginTop: '0.5rem',\n marginBottom: '0.5rem'\n } : {\n marginLeft: '0.5rem',\n marginRight: '0.5rem'\n };\n var sliderItemsStyle = this.$props.vertical ? {\n paddingTop: 0,\n height: '100%'\n } : {};\n return h(\"div\", {\n \"aria-valuemin\": this.$props.min,\n attrs: this.v3 ? undefined : {\n \"aria-valuemin\": this.$props.min,\n \"aria-valuemax\": this.$props.max,\n \"aria-valuenow\": this.computedValue,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n dir: this.currentDir,\n role: \"slider\",\n id: this.$props.id,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined)\n },\n \"aria-valuemax\": this.$props.max,\n \"aria-valuenow\": this.computedValue,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n dir: this.currentDir,\n role: \"slider\",\n id: this.$props.id,\n style: this.$props.style,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n onFocus: this.onFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.onFocus,\n \"blur\": this.onBlur,\n \"keydown\": this.onKeyDown\n },\n onBlur: this.onBlur,\n onKeydown: this.onKeyDown,\n \"class\": classNames('k-slider k-widget', {\n 'k-state-focused': this.currentFocused,\n 'k-state-disabled': this.$props.disabled,\n 'k-slider-horizontal': !this.$props.vertical,\n 'k-slider-vertical': this.$props.vertical\n }, this.$props.className)\n }, [h(\"div\", {\n \"class\": classNames('k-slider-wrap', {\n 'k-slider-buttons': this.$props.buttons\n }),\n style: {\n display: 'flex',\n position: 'relative',\n flexDirection: this.$props.vertical ? 'column-reverse' : 'row'\n }\n }, [this.$props.buttons && h(\"a\", {\n \"class\": \"k-button k-button-decrease\",\n style: {\n position: 'relative'\n },\n title: lS.toLanguageString(sliderDecreaseValue, messages[sliderDecreaseValue]),\n attrs: this.v3 ? undefined : {\n title: lS.toLanguageString(sliderDecreaseValue, messages[sliderDecreaseValue])\n },\n onClick: this.decrement,\n on: this.v3 ? undefined : {\n \"click\": this.decrement\n }\n }, [h(\"span\", {\n \"class\": classNames('k-icon', {\n 'k-i-arrow-s': this.$props.vertical,\n 'k-i-arrow-w': !this.$props.vertical\n })\n })]), // @ts-ignore function children\n h(Draggable, {\n onDrag: this.dragOver,\n on: this.v3 ? undefined : {\n \"drag\": this.dragOver,\n \"press\": this.dragStart\n },\n onPress: this.dragStart,\n ref: 'draggable'\n }, this.v3 ? function () {\n return [h(\"div\", {\n \"class\": \"k-slider-track-wrap\",\n style: __assign({\n flexGrow: 1,\n position: 'relative',\n touchAction: 'none'\n }, trackStyles)\n }, [defaultSlot && h(\"ul\", {\n \"class\": \"k-reset k-slider-items\",\n style: __assign({\n margin: 0\n }, sliderItemsStyle)\n }, [defaultSlot]), h(\"div\", {\n \"class\": \"k-slider-track\",\n style: _this.$props.vertical ? {\n bottom: 0,\n height: '100%'\n } : (_a = {}, _a[_this.currentDir === 'rtl' ? 'right' : 'left'] = 0, _a.width = '100%', _a),\n ref: 'sliderTrack'\n }, [h(\"div\", {\n \"class\": \"k-slider-selection\",\n style: _this.$props.vertical ? {\n height: percentValue + '%'\n } : {\n width: percentValue + '%'\n }\n }), h(\"a\", {\n \"class\": \"k-draghandle\",\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle]),\n attrs: _this.v3 ? undefined : {\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle])\n },\n style: _this.$props.vertical ? {\n bottom: 'calc(' + percentValue + '% - 8px)',\n zIndex: 1\n } : (_b = {}, _b[_this.currentDir === 'rtl' ? 'right' : 'left'] = 'calc(' + percentValue + '% - 8px)', _b.zIndex = 1, _b)\n })])])];\n } : [h(\"div\", {\n \"class\": \"k-slider-track-wrap\",\n style: __assign({\n flexGrow: 1,\n position: 'relative',\n touchAction: 'none'\n }, trackStyles)\n }, [defaultSlot && h(\"ul\", {\n \"class\": \"k-reset k-slider-items\",\n style: __assign({\n margin: 0\n }, sliderItemsStyle)\n }, [defaultSlot]), h(\"div\", {\n \"class\": \"k-slider-track\",\n style: _this.$props.vertical ? {\n bottom: 0,\n height: '100%'\n } : (_a = {}, _a[_this.currentDir === 'rtl' ? 'right' : 'left'] = 0, _a.width = '100%', _a),\n ref: 'sliderTrack'\n }, [h(\"div\", {\n \"class\": \"k-slider-selection\",\n style: _this.$props.vertical ? {\n height: percentValue + '%'\n } : {\n width: percentValue + '%'\n }\n }), h(\"a\", {\n \"class\": \"k-draghandle\",\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle]),\n attrs: _this.v3 ? undefined : {\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle])\n },\n style: _this.$props.vertical ? {\n bottom: 'calc(' + percentValue + '% - 8px)',\n zIndex: 1\n } : (_b = {}, _b[_this.currentDir === 'rtl' ? 'right' : 'left'] = 'calc(' + percentValue + '% - 8px)', _b.zIndex = 1, _b)\n })])])]), this.$props.buttons && h(\"a\", {\n \"class\": \"k-button k-button-increase\",\n style: {\n position: 'relative'\n },\n title: lS.toLanguageString(sliderIncreaseValue, messages[sliderIncreaseValue]),\n attrs: this.v3 ? undefined : {\n title: lS.toLanguageString(sliderIncreaseValue, messages[sliderIncreaseValue])\n },\n onClick: this.increment,\n on: this.v3 ? undefined : {\n \"click\": this.increment\n }\n }, [h(\"span\", {\n \"class\": classNames('k-icon', {\n 'k-i-arrow-n': this.$props.vertical,\n 'k-i-arrow-e': !this.$props.vertical\n })\n })])])]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n // @ts-ignore\n this.$el.focus();\n }\n },\n isLabel: function isLabel(target) {\n var currentTarget = target;\n\n while (currentTarget) {\n if (Boolean(currentTarget.getAttribute(SLIDER_LABEL_ATTRIBUTE))) {\n return true;\n }\n\n currentTarget = currentTarget.parentElement;\n }\n\n return false;\n },\n onFocus: function onFocus() {\n this.currentFocused = true;\n },\n onBlur: function onBlur() {\n this.currentFocused = false;\n },\n onKeyDown: function onKeyDown(e) {\n var newValue = undefined;\n\n if (e.keyCode === Keys.left || e.keyCode === Keys.down) {\n newValue = this.currentValue - (this.$props.step || 0);\n } else if (e.keyCode === Keys.right || e.keyCode === Keys.up) {\n newValue = this.currentValue + (this.$props.step || 0);\n } else if (e.keyCode === Keys.home) {\n newValue = this.$props.min;\n } else if (e.keyCode === Keys.end) {\n newValue = this.$props.max;\n }\n\n if (newValue !== undefined) {\n e.preventDefault();\n this.change(e, newValue);\n }\n },\n decrement: function decrement(e) {\n e.preventDefault();\n this.change(e, this.currentValue - (this.$props.step || 0));\n },\n increment: function increment(e) {\n e.preventDefault();\n this.change(e, this.currentValue + (this.$props.step || 0));\n },\n dragStart: function dragStart(e) {\n if (!this.isLabel(e.originalEvent.target)) {\n if (e.isTouch) {\n e.originalEvent.preventDefault();\n }\n\n this.drag(e);\n }\n },\n dragOver: function dragOver(e) {\n e.originalEvent.preventDefault();\n this.drag(e);\n },\n drag: function drag(e) {\n var computed = this.draggable.element.getBoundingClientRect();\n var distance = this.$props.vertical ? computed.bottom - e.clientY : this.currentDir === 'rtl' ? computed.right - e.clientX : e.clientX - computed.left;\n var size = this.$props.vertical ? computed.height : computed.width;\n var percentage = distance / size;\n this.change(e, this.$props.min + percentage * (this.$props.max - this.$props.min));\n },\n change: function change(e, value) {\n value = Math.min(Math.max(value, this.$props.min), this.$props.max);\n this.currentValue = value;\n this.$emit('change', {\n event: e,\n value: value,\n component: this,\n target: {\n name: this.$props.name,\n value: value\n }\n });\n this.$emit('changemodel', value);\n this.$emit('update:modelValue', value);\n }\n }\n};\nvar SliderVue3 = Slider;\nexport { Slider, SliderVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { Keys, classNames, guid, getTabIndex, getDefaultSlots, validatePackage, templateRendering, getTemplate, getListeners } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, checkboxValidation, checkboxOptionalText } from './../messages';\nvar Checkbox = {\n name: 'KendoCheckbox',\n // @ts-ignore\n emits: {\n 'changemodel': null,\n 'update:modelValue': null,\n change: null,\n focus: null,\n blur: null\n },\n model: {\n event: 'changemodel'\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n props: {\n checked: {\n type: Boolean,\n default: undefined\n },\n defaultChecked: {\n type: Boolean,\n default: undefined\n },\n defaultValue: {\n type: [String, Boolean],\n default: undefined\n },\n modelValue: {\n type: [String, Boolean],\n default: undefined\n },\n dir: String,\n disabled: Boolean,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n label: String,\n labelRender: [String, Number, Boolean, Object],\n labelPlacement: String,\n labelOptional: Boolean,\n name: String,\n tabIndex: Number,\n value: {\n type: [String, Boolean],\n default: undefined\n },\n validationMessage: String,\n required: Boolean,\n valid: {\n type: Boolean,\n default: undefined\n },\n validityStyles: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n valueDuringOnChange: undefined,\n currentDir: 'ltr',\n currentChecked: undefined,\n currentValue: undefined\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.calculatedId = guid();\n\n if (this.$props.defaultChecked !== undefined) {\n this.currentChecked = this.$props.defaultChecked;\n }\n\n if (this.$props.defaultValue !== undefined) {\n this.currentValue = this.$props.defaultValue;\n }\n\n this.currentDir = this.$props.dir;\n },\n computed: {\n valueIsBooleanOrNull: function valueIsBooleanOrNull() {\n var value = this.$props.value;\n return typeof value === 'boolean' || value === null;\n },\n isCheckedControlled: function isCheckedControlled() {\n return this.$props.checked !== undefined;\n },\n isValueControlled: function isValueControlled() {\n return this.$props.value !== undefined && this.valueIsBooleanOrNull;\n },\n computedValue: function computedValue() {\n return this.$data.valueDuringOnChange !== undefined ? this.$data.valueDuringOnChange : this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$data.currentValue;\n },\n computedChecked: function computedChecked() {\n return this.$data.valueDuringOnChange !== undefined ? this.$data.valueDuringOnChange : this.$props.checked !== undefined ? this.$props.checked : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$data.currentChecked;\n },\n useValueAsChecked: function useValueAsChecked() {\n return this.computedChecked === undefined && this.computedValue;\n },\n checkedProp: function checkedProp() {\n return this.useValueAsChecked ? this.computedValue : this.computedChecked;\n },\n valueProp: function valueProp() {\n var value = this.$props.value;\n return this.useValueAsChecked || this.isValueControlled ? value === null ? value : undefined : value || this.computedValue;\n },\n indeterminateProp: function indeterminateProp() {\n return this.checkedProp === null || this.valueProp === null;\n },\n isValid: function isValid() {\n var valid = this.$props.valid;\n return valid !== undefined ? valid : !this.$props.required ? true : this.computedChecked ? true : false;\n }\n },\n mounted: function mounted() {\n this.input = this.v3 ? this.inputRef : this.$refs.input;\n\n if (!this.currentDir && window && this.$el) {\n // Note: getComputedStyle forces reflow\n var direction = window.getComputedStyle(this.$el).direction;\n\n if (direction) {\n this.currentDir = direction;\n }\n }\n\n this.setValidity();\n },\n updated: function updated() {\n if (!this.input) {\n this.input = this.v3 ? this.inputRef : this.$refs.input;\n }\n\n this.setValidity();\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n inputRef: inputRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n ariaDescribedBy = _a.ariaDescribedBy,\n ariaLabelledBy = _a.ariaLabelledBy,\n disabled = _a.disabled,\n id = _a.id,\n label = _a.label,\n labelRender = _a.labelRender,\n labelPlacement = _a.labelPlacement,\n name = _a.name,\n labelOptional = _a.labelOptional,\n tabIndex = _a.tabIndex,\n required = _a.required,\n validityStyles = _a.validityStyles;\n var defaultSlot = getDefaultSlots(this);\n var renderedLabel = label;\n this.localizationService = provideLocalizationService(this);\n this.defaultValidationMessage = this.localizeMessage(checkboxValidation);\n this.optionalMessage = this.localizeMessage(checkboxOptionalText);\n var checkboxClasses = classNames({\n 'k-state-disabled': disabled\n });\n var inputClasses = classNames({\n 'k-checkbox': true,\n 'k-state-indeterminate': this.indeterminateProp,\n 'k-state-invalid k-invalid': !(this.isValid || validityStyles !== undefined || validityStyles === true)\n });\n\n var checkboxInput = function checkboxInput() {\n var _this = this;\n\n return h(\"input\", {\n type: 'checkbox',\n attrs: this.v3 ? undefined : {\n type: 'checkbox',\n name: name,\n id: id || this.calculatedId,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n disabled: disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'checkbox',\n required: required !== undefined ? required : false,\n \"aria-checked\": this.computedChecked || this.checkedProp ? true : this.indeterminateProp ? 'mixed' : false,\n \"aria-disabled\": disabled || undefined\n },\n \"class\": inputClasses,\n name: name,\n id: id || this.calculatedId,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n checked: this.v3 ? Boolean(this.checkedProp) : null,\n domProps: this.v3 ? undefined : {\n \"checked\": Boolean(this.checkedProp)\n },\n disabled: disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'checkbox',\n required: required !== undefined ? required : false,\n \"aria-checked\": this.computedChecked || this.checkedProp ? true : this.indeterminateProp ? 'mixed' : false,\n \"aria-disabled\": disabled || undefined,\n onChange: this.onChangeHandler,\n on: this.v3 ? undefined : {\n \"change\": this.onChangeHandler,\n \"keydown\": this.onKeyDownHandler,\n \"focus\": this.onFocusHandler,\n \"blur\": this.onBlurHandler\n },\n onKeydown: this.onKeyDownHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler\n });\n };\n\n if (labelRender) {\n var renderTemplate = labelRender ? templateRendering.call(this, labelRender, getListeners.call(this)) : null;\n renderedLabel = getTemplate.call(this, {\n h: h,\n template: renderTemplate\n });\n }\n\n var checkboxLabel = function checkboxLabel() {\n return renderedLabel !== undefined ? h(\"label\", {\n \"class\": 'k-checkbox-label',\n \"for\": id || this.calculatedId,\n attrs: this.v3 ? undefined : {\n \"for\": id || this.calculatedId\n },\n style: {\n userSelect: 'none'\n }\n }, [renderedLabel, labelOptional && h(\"span\", {\n \"class\": \"k-label-optional\"\n }, [this.optionalMessage])]) : null;\n };\n\n return labelPlacement === 'before' ? h(\"span\", {\n \"class\": checkboxClasses,\n dir: 'rtl',\n attrs: this.v3 ? undefined : {\n dir: 'rtl'\n }\n }, [checkboxInput.call(this), checkboxLabel.call(this), defaultSlot]) : h(\"span\", {\n \"class\": checkboxClasses,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir\n }\n }, [checkboxInput.call(this), checkboxLabel.call(this), defaultSlot]);\n },\n methods: {\n setValidity: function setValidity() {\n var isValid = this.$props.valid !== undefined ? this.$props.valid : !this.$props.required ? true : this.computedChecked ? true : false; // @ts-ignore\n\n if (this.input && this.input.setCustomValidity) {\n // @ts-ignore\n this.input.setCustomValidity(isValid ? '' : this.$props.validationMessage || this.defaultValidationMessage);\n }\n },\n localizeMessage: function localizeMessage(message) {\n return this.localizationService.toLanguageString(message, messages[message]);\n },\n focusElement: function focusElement() {\n if (this.input) {\n // @ts-ignore\n this.input.focus();\n }\n },\n setValue: function setValue(e, val) {\n this.$data.valueDuringOnChange = val;\n var that = this;\n this.$nextTick(function () {\n if (!that.isCheckedControlled && !that.isValueControlled && !that.$props.disabled) {\n that.currentValue = val;\n that.currentChecked = val;\n }\n\n if (!that.$props.disabled) {\n var handle = {\n element: that.$el,\n focus: null // focusElement\n\n };\n that.$emit('change', {\n e: e,\n handle: handle,\n value: val\n });\n that.$emit('changemodel', val);\n that.$emit('update:modelValue', val);\n }\n\n this.$data.valueDuringOnChange = undefined;\n });\n },\n onChangeHandler: function onChangeHandler(e) {\n var newValue = e.target.checked;\n this.setValue(e, newValue);\n },\n onKeyDownHandler: function onKeyDownHandler(e) {\n if (this.$props.disabled) {\n return;\n }\n\n var keyCode = e.keyCode;\n var currentVal = e.currentTarget.checked;\n\n if (keyCode === Keys.space) {\n e.preventDefault();\n e.stopPropagation();\n this.setValue(e, !currentVal);\n }\n },\n onBlurHandler: function onBlurHandler(e) {\n if (!this.$props.disabled) {\n this.$emit('blur', e);\n }\n },\n onFocusHandler: function onFocusHandler(e) {\n if (!this.$props.disabled) {\n this.$emit('focus', e);\n }\n }\n }\n};\nvar CheckboxVue3 = Checkbox;\nexport { Checkbox, CheckboxVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { guid, getTabIndex, getDefaultSlots, templateRendering, getTemplate, getListeners } from '@progress/kendo-vue-common';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nvar RadioButton = {\n name: 'KendoRadioButton',\n props: {\n ariaDescribedBy: String,\n checked: Boolean,\n disabled: Boolean,\n className: String,\n id: String,\n label: String,\n labelRender: [String, Number, Boolean, Object],\n labelPlacement: String,\n name: String,\n tabIndex: Number,\n value: [String, Number, Object],\n valid: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n emits: {\n change: null,\n focus: null,\n blur: null\n },\n created: function created() {\n this.calculatedId = guid();\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.input = this.v3 ? this.inputRef : this.$refs.input;\n },\n computed: {\n inputClassName: function inputClassName() {\n var _a;\n\n return _a = {\n 'k-radio': true,\n 'k-state-invalid': this.$props.valid === false,\n 'k-invalid': this.$props.valid === false\n }, _a[this.$props.className] = this.$props.className, _a;\n }\n },\n methods: {\n focusElement: function focusElement() {\n if (this.input) {\n this.input.focus();\n }\n },\n handleChange: function handleChange(event) {\n this.$emit('change', {\n event: event,\n value: this.$props.value\n });\n },\n handleFocus: function handleFocus(event) {\n if (!this.$props.disabled) {\n this.$emit('focus', event, undefined);\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.$props.disabled) {\n this.$emit('blur', event, undefined);\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n ariaDescribedBy = _a.ariaDescribedBy,\n checked = _a.checked,\n disabled = _a.disabled,\n id = _a.id,\n label = _a.label,\n labelRender = _a.labelRender,\n labelPlacement = _a.labelPlacement,\n name = _a.name,\n tabIndex = _a.tabIndex,\n value = _a.value;\n var renderedLabel = label;\n\n if (labelRender) {\n var renderTemplate = labelRender ? templateRendering.call(this, labelRender, getListeners.call(this)) : null;\n renderedLabel = getTemplate.call(this, {\n h: h,\n template: renderTemplate\n });\n }\n\n var radioButtonLabel = renderedLabel !== undefined ? h(\"label\", {\n \"class\": 'k-radio-label',\n \"for\": id || this.calculatedId,\n attrs: this.v3 ? undefined : {\n \"for\": id || this.calculatedId,\n \"aria-label\": label\n },\n style: {\n userSelect: 'none'\n },\n \"aria-label\": label\n }, [renderedLabel]) : null;\n var radio = h(\"input\", {\n type: 'radio',\n attrs: this.v3 ? undefined : {\n type: 'radio',\n id: id || this.calculatedId,\n name: name,\n disabled: disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n \"aria-describedby\": ariaDescribedBy\n },\n id: id || this.calculatedId,\n name: name,\n \"class\": this.inputClassName,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n disabled: disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n checked: this.v3 ? checked : null,\n domProps: this.v3 ? undefined : {\n \"checked\": checked,\n \"value\": value\n },\n style: this.$attrs.style,\n \"aria-describedby\": ariaDescribedBy,\n value: this.v3 ? value : null,\n onChange: this.handleChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleChange,\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n });\n return labelPlacement === 'before' ? h(\"div\", [radioButtonLabel, radio, defaultSlot]) : h(\"div\", [radio, radioButtonLabel, defaultSlot]);\n }\n};\nvar RadioButtonVue3 = RadioButton;\nexport { RadioButton, RadioButtonVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { RadioButton } from './RadioButton';\nimport { guid, classNames, focusFirstFocusableChild, validatePackage, isRtl } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nvar RadioGroup = {\n name: 'KendoRadioGroup',\n props: {\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n dataItems: Array,\n defaultValue: [String, Number, Object],\n dir: String,\n disabled: Boolean,\n labelPlacement: String,\n item: {\n type: String,\n default: 'li'\n },\n layout: {\n type: String,\n default: 'vertical',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n name: String,\n modelValue: [String, Number, Object],\n value: [String, Number, Object],\n valid: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n emits: {\n 'changemodel': null,\n 'update:modelValue': null,\n change: null,\n focus: null\n },\n model: {\n event: 'changemodel'\n },\n created: function created() {\n this.radioGroupName = guid();\n validatePackage(packageMetadata);\n this.stateChecked = this.$props.defaultValue;\n },\n watch: {\n value: function value(newValue) {\n if (newValue === undefined) {\n this.stateChecked = this.$props.defaultValue;\n }\n }\n },\n mounted: function mounted() {\n this.rtl = isRtl(this.$el);\n },\n computed: {\n radioGroupClasses: function radioGroupClasses() {\n var layout = this.$props.layout;\n return {\n 'k-radio-list': true,\n 'k-list-horizontal': layout === 'horizontal',\n 'k-list-vertical': layout === 'vertical' || layout === undefined\n };\n },\n checkedRadioValue: function checkedRadioValue() {\n var value = this.$props.value;\n return value !== undefined ? value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.stateChecked;\n },\n currentDir: function currentDir() {\n var dir = this.$props.dir;\n return dir ? dir : this.rtl ? 'rtl' : undefined;\n }\n },\n data: function data() {\n return {\n rtl: false,\n stateChecked: undefined\n };\n },\n methods: {\n focusElement: function focusElement() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n },\n handleChange: function handleChange(event) {\n var currentValue = event.value;\n\n if (!(this.$props.value !== undefined) && !this.$props.disabled) {\n this.stateChecked = currentValue;\n }\n\n if (!this.$props.disabled) {\n this.$emit('change', {\n event: event,\n value: currentValue\n });\n this.$emit('changemodel', currentValue);\n this.$emit('update:modelValue', currentValue);\n }\n },\n handleFocus: function handleFocus(event) {\n if (!this.$props.disabled) {\n this.$emit('focus', event);\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.$props.disabled) {\n this.$emit('blur', event);\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy,\n dataItems = _a.dataItems,\n disabled = _a.disabled,\n name = _a.name,\n labelPlacement = _a.labelPlacement,\n valid = _a.valid;\n var radioOptions = dataItems && dataItems.map(function (option, index) {\n var isCurrentlyChecked = this.checkedRadioValue === option.value;\n var noOptionChecked = this.checkedRadioValue === null || this.checkedRadioValue === undefined;\n return h(\"li\", {\n \"class\": classNames('k-radio-item', {\n 'k-state-disabled': option.disabled || disabled\n }),\n key: index,\n role: 'radio',\n attrs: this.v3 ? undefined : {\n role: 'radio'\n }\n }, [// @ts-ignore function children\n h(RadioButton, {\n valid: valid,\n attrs: this.v3 ? undefined : {\n valid: valid,\n className: option.className,\n label: option.label,\n value: option.value,\n checked: isCurrentlyChecked,\n disabled: option.disabled || disabled ? true : false,\n labelPlacement: option.labelPlacement ? option.labelPlacement : labelPlacement,\n tabIndex: option.tabIndex ? option.tabIndex : noOptionChecked && index === 0 || isCurrentlyChecked ? 0 : -1,\n index: index,\n name: name || option.name || this.radioGroupName\n },\n className: option.className,\n label: option.label,\n value: option.value,\n checked: isCurrentlyChecked,\n disabled: option.disabled || disabled ? true : false,\n labelPlacement: option.labelPlacement ? option.labelPlacement : labelPlacement,\n tabIndex: option.tabIndex ? option.tabIndex : noOptionChecked && index === 0 || isCurrentlyChecked ? 0 : -1,\n index: index,\n name: name || option.name || this.radioGroupName,\n onChange: this.handleChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleChange,\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n })]);\n }, this);\n return h(\"ul\", {\n role: \"radiogroup\",\n attrs: this.v3 ? undefined : {\n role: \"radiogroup\",\n dir: this.currentDir,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n },\n \"class\": this.radioGroupClasses,\n dir: this.currentDir,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n }, [radioOptions]);\n }\n};\nvar RadioGroupVue3 = RadioGroup;\nexport { RadioGroup, RadioGroupVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { guid, isRtl, getTabIndex, validatePackage // useDir,\n} from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata'; // tslint:enable:max-line-length\n\nvar TextArea = {\n name: 'KendoTextArea',\n inheritAttrs: false,\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'input': null,\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null\n },\n props: {\n ariaDescribedBy: String,\n ariaLabelledBy: String,\n autoSize: Boolean,\n modelValue: {\n type: [String, Array, Number],\n default: undefined\n },\n defaultValue: [String, Number],\n dir: String,\n disabled: Boolean,\n readOnly: Boolean,\n rows: Number,\n id: String,\n name: String,\n required: Boolean,\n placeholder: String,\n tabIndex: Number,\n valid: {\n type: Boolean,\n default: undefined\n },\n value: [String, Array, Number],\n validityStyles: {\n type: Boolean,\n default: true\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.calculatedId = guid();\n },\n computed: {\n rootClassName: function rootClassName() {\n return {\n 'k-textarea': true,\n 'k-state-invalid': this.validityStyles === true ? !this.isValid : false,\n 'k-state-disabled': this.$props.disabled\n };\n },\n computedValue: function computedValue() {\n return this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.currentValue;\n },\n isValid: function isValid() {\n return this.valid !== undefined ? this.valid : !this.required ? true : this.computedValue ? true : false;\n }\n },\n data: function data() {\n return {\n currentValue: this.$props.defaultValue,\n textAreaHeight: 'auto',\n currentDir: 'ltr'\n };\n },\n mounted: function mounted() {\n this.element = this.v3 ? this.elementRef : this.$refs.element;\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : isRtl(this.$el) ? 'rtl' : 'ltr';\n this.setValidity();\n },\n updated: function updated() {\n this.element = this.v3 ? this.elementRef : this.$refs.element;\n this.setValidity();\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n ariaDescribedBy = _a.ariaDescribedBy,\n ariaLabelledBy = _a.ariaLabelledBy,\n autoSize = _a.autoSize,\n disabled = _a.disabled,\n readOnly = _a.readOnly,\n required = _a.required,\n rows = _a.rows,\n id = _a.id,\n name = _a.name,\n placeholder = _a.placeholder,\n tabIndex = _a.tabIndex;\n\n var textAreaAttrs = __assign({\n id: id || this.calculatedId,\n name: name,\n disabled: disabled,\n rows: rows,\n placeholder: placeholder,\n readOnly: readOnly,\n required: required,\n tabIndex: getTabIndex(tabIndex, disabled),\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-multiline': true,\n 'aria-disabled': disabled || undefined\n }, this.$attrs);\n\n var textarea = h('textarea', __assign(__assign({}, textAreaAttrs), {\n attrs: this.v3 ? undefined : textAreaAttrs,\n 'class': 'k-input',\n ref: this.v3 ? function (el) {\n _this.elementRef = el;\n } : 'element',\n style: autoSize ? {\n resize: 'none',\n overflow: 'hidden',\n height: this.textAreaHeight\n } : {},\n value: this.v3 ? this.computedValue : null,\n domProps: this.v3 ? undefined : {\n 'value': this.computedValue\n },\n onChange: this.handleChange,\n onInput: this.handleInput,\n on: this.v3 ? undefined : {\n 'change': this.handleChange,\n 'focus': this.handleFocus,\n 'blur': this.handleBlur,\n input: this.handleInput\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }));\n return h(\"span\", {\n \"class\": this.rootClassName,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir\n }\n }, [textarea]);\n },\n methods: {\n setValidity: function setValidity() {\n if (this.element && this.element.setCustomValidity) {\n this.element.setCustomValidity(this.isValid ? '' : this.validationMessage || '');\n }\n\n if (this.element) {\n this.textAreaHeight = this.element.scrollHeight + \"px\";\n }\n },\n focus: function focus() {\n if (this.element) {\n this.element.focus();\n }\n },\n handleChange: function handleChange(event) {\n var newValue = event.target.value;\n\n if (!this.$props.disabled) {\n this.textAreaHeight = 'auto';\n this.currentValue = newValue;\n }\n\n if (!this.$props.disabled) {\n this.$emit('change', {\n event: event,\n component: this,\n name: this.element.name,\n value: newValue\n });\n this.$emit('changemodel', newValue);\n this.$emit('update:modelValue', newValue);\n }\n },\n handleInput: function handleInput(event) {\n var newValue = event.target.value;\n\n if (!this.$props.disabled) {\n this.textAreaHeight = 'auto';\n this.currentValue = newValue;\n }\n\n if (!this.$props.disabled) {\n this.$emit('input', {\n event: event,\n component: this,\n name: this.element.name,\n value: newValue\n });\n this.$emit('changemodel', newValue);\n this.$emit('update:modelValue', newValue);\n }\n },\n handleFocus: function handleFocus(event) {\n if (!this.$props.disabled) {\n this.$emit('focus', {\n event: event,\n component: this,\n name: this.element.name\n });\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.$props.disabled) {\n this.$emit('blur', {\n event: event,\n component: this,\n name: this.element.name\n });\n }\n }\n }\n};\nvar TextAreaVue3 = TextArea;\nexport { TextArea, TextAreaVue3 };","var defaultData = {\n en: {\n name: \"en\",\n identity: {\n version: {\n _number: \"$Revision: 12418 $\",\n _cldrVersion: \"29\"\n },\n language: \"en\"\n },\n territory: \"US\",\n numbers: {\n symbols: {\n decimal: \".\",\n group: \",\",\n list: \";\",\n percentSign: \"%\",\n plusSign: \"+\",\n minusSign: \"-\",\n exponential: \"E\",\n superscriptingExponent: \"×\",\n perMille: \"‰\",\n infinity: \"∞\",\n nan: \"NaN\",\n timeSeparator: \":\"\n },\n decimal: {\n patterns: [\n \"n\"\n ],\n groupSize: [\n 3\n ]\n },\n scientific: {\n patterns: [\n \"nEn\"\n ],\n groupSize: []\n },\n percent: {\n patterns: [\n \"n%\"\n ],\n groupSize: [\n 3\n ]\n },\n currency: {\n patterns: [\n \"$n\"\n ],\n groupSize: [\n 3\n ],\n \"unitPattern-count-one\": \"n $\",\n \"unitPattern-count-other\": \"n $\"\n },\n currencies: {\n BGN: {\n displayName: \"Bulgarian Lev\",\n \"displayName-count-one\": \"Bulgarian lev\",\n \"displayName-count-other\": \"Bulgarian leva\",\n symbol: \"BGN\"\n },\n EUR: {\n displayName: \"Euro\",\n \"displayName-count-one\": \"euro\",\n \"displayName-count-other\": \"euros\",\n symbol: \"€\",\n \"symbol-alt-narrow\": \"€\"\n },\n USD: {\n displayName: \"US Dollar\",\n \"displayName-count-one\": \"US dollar\",\n \"displayName-count-other\": \"US dollars\",\n symbol: \"$\",\n \"symbol-alt-narrow\": \"$\"\n }\n },\n localeCurrency: \"USD\",\n accounting: {\n patterns: [\n \"$n\",\n \"($n)\"\n ],\n groupSize: [\n 3\n ]\n }\n },\n calendar: {\n gmtFormat: \"GMT{0}\",\n gmtZeroFormat: \"GMT\",\n patterns: {\n d: \"M/d/y\",\n D: \"EEEE, MMMM d, y\",\n m: \"MMM d\",\n M: \"MMMM d\",\n y: \"MMM y\",\n Y: \"MMMM y\",\n F: \"EEEE, MMMM d, y h:mm:ss a\",\n g: \"M/d/y h:mm a\",\n G: \"M/d/y h:mm:ss a\",\n t: \"h:mm a\",\n T: \"h:mm:ss a\",\n s: \"yyyy'-'MM'-'dd'T'HH':'mm':'ss\",\n u: \"yyyy'-'MM'-'dd HH':'mm':'ss'Z'\"\n },\n dateTimeFormats: {\n full: \"{1} 'at' {0}\",\n long: \"{1} 'at' {0}\",\n medium: \"{1}, {0}\",\n short: \"{1}, {0}\",\n availableFormats: {\n Bh: \"h B\",\n Bhm: \"h:mm B\",\n Bhms: \"h:mm:ss B\",\n d: \"d\",\n E: \"ccc\",\n EBhm: \"E h:mm B\",\n EBhms: \"E h:mm:ss B\",\n Ed: \"d E\",\n Ehm: \"E h:mm a\",\n EHm: \"E HH:mm\",\n Ehms: \"E h:mm:ss a\",\n EHms: \"E HH:mm:ss\",\n Gy: \"y G\",\n GyMMM: \"MMM y G\",\n GyMMMd: \"MMM d, y G\",\n GyMMMEd: \"E, MMM d, y G\",\n h: \"h a\",\n H: \"HH\",\n hm: \"h:mm a\",\n Hm: \"HH:mm\",\n hms: \"h:mm:ss a\",\n Hms: \"HH:mm:ss\",\n hmsv: \"h:mm:ss a v\",\n Hmsv: \"HH:mm:ss v\",\n hmv: \"h:mm a v\",\n Hmv: \"HH:mm v\",\n M: \"L\",\n Md: \"M/d\",\n MEd: \"E, M/d\",\n MMM: \"LLL\",\n MMMd: \"MMM d\",\n MMMEd: \"E, MMM d\",\n MMMMd: \"MMMM d\",\n \"MMMMW-count-one\": \"'week' W 'of' MMMM\",\n \"MMMMW-count-other\": \"'week' W 'of' MMMM\",\n ms: \"mm:ss\",\n y: \"y\",\n yM: \"M/y\",\n yMd: \"M/d/y\",\n yMEd: \"E, M/d/y\",\n yMMM: \"MMM y\",\n yMMMd: \"MMM d, y\",\n yMMMEd: \"E, MMM d, y\",\n yMMMM: \"MMMM y\",\n yQQQ: \"QQQ y\",\n yQQQQ: \"QQQQ y\",\n \"yw-count-one\": \"'week' w 'of' Y\",\n \"yw-count-other\": \"'week' w 'of' Y\"\n }\n },\n timeFormats: {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n },\n dateFormats: {\n full: \"EEEE, MMMM d, y\",\n long: \"MMMM d, y\",\n medium: \"MMM d, y\",\n short: \"M/d/yy\"\n },\n days: {\n format: {\n abbreviated: [\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\"\n ],\n narrow: [\n \"S\",\n \"M\",\n \"T\",\n \"W\",\n \"T\",\n \"F\",\n \"S\"\n ],\n short: [\n \"Su\",\n \"Mo\",\n \"Tu\",\n \"We\",\n \"Th\",\n \"Fr\",\n \"Sa\"\n ],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ]\n },\n \"stand-alone\": {\n abbreviated: [\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\"\n ],\n narrow: [\n \"S\",\n \"M\",\n \"T\",\n \"W\",\n \"T\",\n \"F\",\n \"S\"\n ],\n short: [\n \"Su\",\n \"Mo\",\n \"Tu\",\n \"We\",\n \"Th\",\n \"Fr\",\n \"Sa\"\n ],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ]\n }\n },\n months: {\n format: {\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ],\n narrow: [\n \"J\",\n \"F\",\n \"M\",\n \"A\",\n \"M\",\n \"J\",\n \"J\",\n \"A\",\n \"S\",\n \"O\",\n \"N\",\n \"D\"\n ],\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ]\n },\n \"stand-alone\": {\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ],\n narrow: [\n \"J\",\n \"F\",\n \"M\",\n \"A\",\n \"M\",\n \"J\",\n \"J\",\n \"A\",\n \"S\",\n \"O\",\n \"N\",\n \"D\"\n ],\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ]\n }\n },\n quarters: {\n format: {\n abbreviated: [\n \"Q1\",\n \"Q2\",\n \"Q3\",\n \"Q4\"\n ],\n narrow: [\n \"1\",\n \"2\",\n \"3\",\n \"4\"\n ],\n wide: [\n \"1st quarter\",\n \"2nd quarter\",\n \"3rd quarter\",\n \"4th quarter\"\n ]\n },\n \"stand-alone\": {\n abbreviated: [\n \"Q1\",\n \"Q2\",\n \"Q3\",\n \"Q4\"\n ],\n narrow: [\n \"1\",\n \"2\",\n \"3\",\n \"4\"\n ],\n wide: [\n \"1st quarter\",\n \"2nd quarter\",\n \"3rd quarter\",\n \"4th quarter\"\n ]\n }\n },\n dayPeriods: {\n format: {\n abbreviated: {\n midnight: \"midnight\",\n am: \"AM\",\n \"am-alt-variant\": \"am\",\n noon: \"noon\",\n pm: \"PM\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"in the morning\",\n afternoon1: \"in the afternoon\",\n evening1: \"in the evening\",\n night1: \"at night\"\n },\n narrow: {\n midnight: \"mi\",\n am: \"a\",\n \"am-alt-variant\": \"am\",\n noon: \"n\",\n pm: \"p\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"in the morning\",\n afternoon1: \"in the afternoon\",\n evening1: \"in the evening\",\n night1: \"at night\"\n },\n wide: {\n midnight: \"midnight\",\n am: \"AM\",\n \"am-alt-variant\": \"am\",\n noon: \"noon\",\n pm: \"PM\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"in the morning\",\n afternoon1: \"in the afternoon\",\n evening1: \"in the evening\",\n night1: \"at night\"\n }\n },\n \"stand-alone\": {\n abbreviated: {\n midnight: \"midnight\",\n am: \"AM\",\n \"am-alt-variant\": \"am\",\n noon: \"noon\",\n pm: \"PM\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"morning\",\n afternoon1: \"afternoon\",\n evening1: \"evening\",\n night1: \"night\"\n },\n narrow: {\n midnight: \"midnight\",\n am: \"AM\",\n \"am-alt-variant\": \"am\",\n noon: \"noon\",\n pm: \"PM\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"morning\",\n afternoon1: \"afternoon\",\n evening1: \"evening\",\n night1: \"night\"\n },\n wide: {\n midnight: \"midnight\",\n am: \"AM\",\n \"am-alt-variant\": \"am\",\n noon: \"noon\",\n pm: \"PM\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"morning\",\n afternoon1: \"afternoon\",\n evening1: \"evening\",\n night1: \"night\"\n }\n }\n },\n eras: {\n format: {\n wide: {\n \"0\": \"Before Christ\",\n \"1\": \"Anno Domini\",\n \"0-alt-variant\": \"Before Common Era\",\n \"1-alt-variant\": \"Common Era\"\n },\n abbreviated: {\n \"0\": \"BC\",\n \"1\": \"AD\",\n \"0-alt-variant\": \"BCE\",\n \"1-alt-variant\": \"CE\"\n },\n narrow: {\n \"0\": \"B\",\n \"1\": \"A\",\n \"0-alt-variant\": \"BCE\",\n \"1-alt-variant\": \"CE\"\n }\n }\n },\n dateFields: {\n era: {\n wide: \"era\"\n },\n year: {\n wide: \"year\",\n short: \"yr.\",\n narrow: \"yr.\"\n },\n quarter: {\n wide: \"quarter\",\n short: \"qtr.\",\n narrow: \"qtr.\"\n },\n month: {\n wide: \"month\",\n short: \"mo.\",\n narrow: \"mo.\"\n },\n week: {\n wide: \"week\",\n short: \"wk.\",\n narrow: \"wk.\"\n },\n day: {\n wide: \"day\",\n short: \"day\",\n narrow: \"day\"\n },\n weekday: {\n wide: \"day of the week\"\n },\n dayperiod: {\n wide: \"AM/PM\"\n },\n hour: {\n wide: \"hour\",\n short: \"hr.\",\n narrow: \"hr.\"\n },\n minute: {\n wide: \"minute\",\n short: \"min.\",\n narrow: \"min.\"\n },\n second: {\n wide: \"second\",\n short: \"sec.\",\n narrow: \"sec.\"\n },\n millisecond: {\n wide: \"millisecond\",\n short: \"ms\",\n narrow: \"ms\"\n },\n zone: {\n wide: \"time zone\"\n }\n }\n }\n },\n supplemental: {\n likelySubtags: {\n en: \"en-Latn-US\"\n },\n currencyData: {\n region: {\n US: [\n {\n USD: {\n _from: \"1792-01-01\"\n }\n }\n ]\n }\n },\n weekData: {\n firstDay: {\n US: \"sun\"\n },\n weekendStart: {\n \"001\": \"sat\"\n },\n weekendEnd: {\n \"001\": \"sun\"\n }\n }\n }\n};\nexport default defaultData;","export default function isString(value) {\n return typeof value === \"string\";\n}","//The error is represented by unique name and corresponding message\n//The message can contain placeholders with index, e.g. {0}, {1}\n\nexport default {\n \"NoLocale\": \"Missing locale info for '{0}'\",\n \"NoCurrency\": \"Cannot determine currency information. Please load the locale currencies data.\",\n \"NoSupplementalCurrency\": \"Cannot determine currency. Please load the supplemental currencyData.\",\n \"NoCurrencyRegion\": \"No currency data for region '{0}'\",\n \"NoCurrencyDisplay\": \"Cannot determine currency display information. Please load the locale currencies data. The default culture does not include the all currencies data.\",\n \"NoGMTInfo\": \"Cannot determine locale GMT format. Please load the locale timeZoneNames data.\",\n \"NoWeekData\": \"Cannot determine locale first day of week. Please load the supplemental weekData.\",\n \"NoFirstDay\": \"Cannot determine locale first day of week. Please load the supplemental weekData. The default culture includes only the 'en-US' first day info.\",\n \"NoValidCurrency\": \"Cannot determine a default currency for the {0} locale. Please specify explicitly the currency with the format options.\",\n \"NoDateFieldNames\": \"Cannot determine the locale date field names. Please load the locale dateFields data.\"\n};\n","import errorDetails from './error-details';\n\nvar formatRegExp = /\\{(\\d+)}?\\}/g;\n\nvar IntlError = function IntlError(ref) {\n var name = ref.name;\n var message = ref.message;\n\n if (!name || !message) {\n throw new Error(\"{ name: string, message: string } object is required!\");\n }\n\n this.name = name;\n this.message = message;\n};\n\nIntlError.prototype.formatMessage = function formatMessage () {\n var values = [], len = arguments.length;\n while ( len-- ) values[ len ] = arguments[ len ];\n\n var flattenValues = flatten(values);\n\n var formattedMessage = this.message.replace(formatRegExp, function(match, index) {\n return flattenValues[parseInt(index, 10)];\n });\n\n return ((this.name) + \": \" + formattedMessage);\n};\n\nIntlError.prototype.error = function error () {\n var values = [], len = arguments.length;\n while ( len-- ) values[ len ] = arguments[ len ];\n\n return new Error(this.formatMessage(values));\n};\n\nvar flatten = function(arr) {\n return arr.reduce(function (a, b) { return a.concat(b); }, []);\n};\n\nvar toIntlErrors = function(errors) {\n var predicate = function(prev, name) {\n prev[name] = new IntlError({ name: name, message: errors[name] });\n return prev;\n };\n\n return Object.keys(errors).reduce(predicate, {});\n};\n\nvar errors = toIntlErrors(errorDetails);\n\nexport {\n errors,\n IntlError,\n toIntlErrors\n};\n","import defaultData from './default-data';\nimport isString from '../common/is-string';\nimport { errors } from '../errors';\n\nfunction availableLocaleInfo(fullName, suffixes) {\n var parts = fullName.split(\"-\");\n var language = parts[0];\n var script = parts[1];\n var territory = parts[2];\n\n return cldr[fullName] || (suffixes.indexOf(territory) !== -1 && cldr[language + \"-\" + territory]) || (suffixes.indexOf(script) !== -1 && cldr[language + \"-\" + script]) || cldr[language];\n}\n\nfunction localeFullName(language, suffixes) {\n var likelySubtags = cldr.supplemental.likelySubtags;\n\n for (var idx = 0; idx < suffixes.length; idx++) {\n var name = likelySubtags[language + \"-\" + suffixes[idx ]];\n if (name) {\n return name;\n }\n }\n\n if (likelySubtags[language]) {\n return likelySubtags[language];\n }\n}\n\nexport var cldr = defaultData;\n\nexport function getLocaleInfo(locale) {\n var info;\n if (isString(locale)) {\n info = localeInfo(locale);\n } else {\n info = locale;\n }\n return info;\n}\n\nexport function localeInfo(locale) {\n if (cldr[locale]) {\n return cldr[locale];\n }\n\n var likelySubtags = cldr.supplemental.likelySubtags;\n if (likelySubtags) {\n var parts = locale.split(\"-\");\n var language = parts[0];\n var suffixes = parts.slice(1);\n var fullName = localeFullName(language, suffixes);\n var info = fullName ? availableLocaleInfo(fullName, suffixes) : null;\n if (info) {\n return info;\n }\n }\n\n throw errors.NoLocale.error(locale);\n}\n","import { cldr } from './info';\n\nfunction territoryFromName(name, identity) {\n var likelySubtags = cldr.supplemental.likelySubtags;\n var parts = name.split(\"-\");\n if (likelySubtags) {\n var likelyName = likelySubtags[name] || likelySubtags[parts[0]];\n if (likelyName) {\n parts = likelyName.split(\"-\");\n }\n }\n\n if (identity) {\n for (var idx = parts.length - 1; idx >= 1; idx--) {\n var part = parts[idx];\n if (part === identity.variant || part === identity.script) {\n parts.splice(idx, 1);\n }\n }\n }\n\n var length = parts.length;\n\n if (length > 1) {\n var territory = parts[length - 1];\n return territory.toUpperCase();\n }\n}\n\nexport default function localeTerritory(info) {\n if (info.territory) {\n return info.territory;\n }\n\n var name = info.name;\n var identity = info.identity;\n var territory;\n\n if (identity && identity.territory) {\n territory = identity.territory;\n } else {\n territory = territoryFromName(name, identity);\n }\n\n info.territory = territory;\n\n return territory;\n}\n","export var DECIMAL = \"decimal\";\nexport var CURRENCY = \"currency\";\nexport var ACCOUNTING = \"accounting\";\nexport var PERCENT = \"percent\";\nexport var SCIENTIFIC = \"scientific\";\n\nexport var CURRENCY_PLACEHOLDER = \"$\";\nexport var PERCENT_PLACEHOLDER = \"%\";\nexport var NUMBER_PLACEHOLDER = \"n\";\n\nexport var LIST_SEPARATOR = \";\";\nexport var GROUP_SEPARATOR = \",\";\n\nexport var POINT = \".\";\nexport var EMPTY = \"\";\n\nexport var DEFAULT_LOCALE = \"en\";\n\n","import { localeInfo } from './info';\nimport { errors } from '../errors';\nimport { DEFAULT_LOCALE } from '../common/constants';\n\nexport default function dateFieldName(options, locale) {\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n\n var info = localeInfo(locale);\n var dateFields = info.calendar.dateFields;\n if (!dateFields) {\n throw errors.NoDateFieldNames.error();\n }\n\n var fieldNameInfo = dateFields[options.type] || {};\n\n return fieldNameInfo[options.nameType] || fieldNameInfo['wide'];\n}\n","import { getLocaleInfo } from './info';\nimport { EMPTY } from '../common/constants';\n\nfunction lowerArray(arr) {\n var result = [];\n for (var idx = 0; idx < arr.length; idx++) {\n result.push(arr[idx].toLowerCase());\n }\n return result;\n}\n\nfunction lowerObject(obj) {\n var result = {};\n for (var field in obj) {\n result[field] = obj[field].toLowerCase();\n }\n return result;\n}\n\nfunction cloneLower(obj) {\n var result = Array.isArray(obj) ? lowerArray(obj) : lowerObject(obj);\n return result;\n}\n\nexport default function dateFormatNames(locale, options) {\n var type = options.type;\n var nameType = options.nameType;\n var standAlone = options.standAlone;\n var lower = options.lower;\n var info = getLocaleInfo(locale);\n var formatType = standAlone ? \"stand-alone\" : \"format\";\n var lowerNameType = (lower ? \"lower-\" : EMPTY) + nameType;\n var formatNames = info.calendar[type][formatType];\n var result = formatNames[lowerNameType];\n if (!result && lower) {\n result = formatNames[lowerNameType] = cloneLower(formatNames[nameType]);\n }\n return result;\n}","export default function parseRangeDate(value) {\n var parts = value.split('-');\n var year = parseInt(parts[0], 10);\n var month = parseInt(parts[1], 10) - 1;\n var day = parseInt(parts[2], 10);\n\n return new Date(year, month, day);\n}\n","import { cldr, getLocaleInfo } from './info';\nimport { errors } from '../errors';\nimport localeTerritory from './territory';\nimport parseRangeDate from './parse-range-date';\n\n/* eslint-disable consistent-return */\n\nvar NoCurrency = errors.NoCurrency;\nvar NoCurrencyDisplay = errors.NoCurrencyDisplay;\nvar NoSupplementalCurrency = errors.NoSupplementalCurrency;\nvar NoCurrencyRegion = errors.NoCurrencyRegion;\nvar NoValidCurrency = errors.NoValidCurrency;\n\nvar DEFAULT_CURRENCY_FRACTIONS = 2;\nvar SYMBOL = \"symbol\";\nvar INVALID_CURRENCY_CODE = 'XXX';\n\nvar GLOBAL_CURRENCIES = {\n '001': 'USD', // 001 refers to world. not sure if it is correct to assume USD but seems better than throw an error\n '150': 'EUR' // 150 territory for Europe\n\n};\n\nfunction getCurrencyInfo(locale, currency, throwIfNoValid) {\n var info = getLocaleInfo(locale);\n var currencies = info.numbers.currencies;\n if (!currencies) {\n if (throwIfNoValid) {\n throw NoCurrency.error();\n }\n\n return;\n }\n\n var currencyDisplayInfo = currencies[currency];\n\n if (!currencyDisplayInfo) {\n if (throwIfNoValid) {\n throw NoCurrencyDisplay.error();\n }\n\n return;\n }\n\n return currencyDisplayInfo;\n}\n\nfunction lengthComparer(a, b) {\n return b.length - a.length;\n}\n\nfunction regionCurrency(regionCurrencies) {\n var latestValidUntil, latestValidUntilRange;\n var latestStillValid, latestStillValidDate;\n\n for (var idx = 0; idx < regionCurrencies.length; idx++) {\n var currency = regionCurrencies[idx];\n var code = Object.keys(currency)[0];\n var info = currency[code];\n if (code !== INVALID_CURRENCY_CODE && info._tender !== 'false' && info._from) {\n if (!info._to) {\n var stillValidDate = parseRangeDate(info._from);\n if (!latestStillValidDate || latestStillValidDate < stillValidDate) {\n latestStillValid = code;\n latestStillValidDate = stillValidDate;\n }\n } else if (!latestStillValid) {\n var validFrom = parseRangeDate(info._from);\n var validTo = parseRangeDate(info._to);\n if (!latestValidUntilRange || latestValidUntilRange.to < validTo || latestValidUntilRange.from < validFrom) {\n latestValidUntil = code;\n latestValidUntilRange = {\n from: validFrom,\n to: validTo\n };\n }\n }\n }\n }\n\n return latestStillValid || latestValidUntil;\n}\n\nexport function currencyDisplays(locale, currency, throwIfNoValid) {\n if ( throwIfNoValid === void 0 ) throwIfNoValid = true;\n\n var currencyInfo = getCurrencyInfo(locale, currency, throwIfNoValid);\n if (!currencyInfo) {\n return;\n }\n\n if (!currencyInfo.displays) {\n var displays = [ currency ];\n for (var field in currencyInfo) {\n displays.push(currencyInfo[field]);\n }\n displays.sort(lengthComparer);\n currencyInfo.displays = displays;\n }\n\n return currencyInfo.displays;\n}\n\nexport function currencyDisplay(locale, options) {\n var value = options.value;\n var currency = options.currency;\n var currencyDisplay = options.currencyDisplay; if ( currencyDisplay === void 0 ) currencyDisplay = SYMBOL;\n\n if (currencyDisplay === \"code\") {\n return currency;\n }\n\n var currencyInfo = getCurrencyInfo(locale, currency, true);\n var result;\n\n if (currencyDisplay === SYMBOL) {\n result = currencyInfo[\"symbol-alt-narrow\"] || currencyInfo[SYMBOL];\n } else {\n if (typeof value === undefined || value !== 1) {\n result = currencyInfo[\"displayName-count-other\"];\n } else {\n result = currencyInfo[\"displayName-count-one\"];\n }\n }\n\n return result;\n}\n\nexport function currencyFractionOptions(code) {\n var minimumFractionDigits = DEFAULT_CURRENCY_FRACTIONS;\n var maximumFractionDigits = DEFAULT_CURRENCY_FRACTIONS;\n\n var fractions = ((cldr.supplemental.currencyData || {}).fractions || {})[code];\n\n if (fractions && fractions._digits) {\n maximumFractionDigits = minimumFractionDigits = parseInt(fractions._digits, 10);\n }\n\n return {\n minimumFractionDigits: minimumFractionDigits,\n maximumFractionDigits: maximumFractionDigits\n };\n}\n\nexport function territoryCurrencyCode(territory, throwIfNoValid) {\n if ( throwIfNoValid === void 0 ) throwIfNoValid = true;\n\n if (GLOBAL_CURRENCIES[territory]) {\n return GLOBAL_CURRENCIES[territory];\n }\n\n var currencyData = cldr.supplemental.currencyData;\n if (!currencyData) {\n if (throwIfNoValid) {\n throw NoSupplementalCurrency.error();\n }\n\n return;\n }\n\n var regionCurrencies = currencyData.region[territory];\n\n if (!regionCurrencies) {\n if (throwIfNoValid) {\n throw NoCurrencyRegion.error(territory);\n }\n\n return;\n }\n\n var currencyCode = regionCurrency(regionCurrencies);\n\n return currencyCode;\n}\n\nexport function localeCurrency(locale, throwIfNoValid) {\n var info = getLocaleInfo(locale);\n var numbers = info.numbers;\n\n if (!numbers.localeCurrency) {\n var currency = territoryCurrencyCode(localeTerritory(info), throwIfNoValid);\n\n if (!currency && throwIfNoValid) {\n throw NoValidCurrency.error(info.name);\n }\n\n numbers.localeCurrency = currency;\n }\n\n return numbers.localeCurrency;\n}\n","\nexport var DAYS_OF_WEEK = [ \"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\" ];\n\nexport var DEFAULT_TERRITORY = '001';\n","import { cldr, getLocaleInfo } from './info';\nimport localeTerritory from './territory';\n\nimport { DAYS_OF_WEEK, DEFAULT_TERRITORY } from './constants';\nimport { errors } from '../errors';\n\nvar NoWeekData = errors.NoWeekData;\nvar NoFirstDay = errors.NoFirstDay;\n\nexport default function firstDay(locale) {\n var info = getLocaleInfo(locale);\n\n if (!isNaN(info.firstDay)) {\n return info.firstDay;\n }\n\n var weekData = cldr.supplemental.weekData;\n if (!weekData) {\n throw NoWeekData.error();\n }\n\n var firstDay = weekData.firstDay[localeTerritory(info)] || weekData.firstDay[DEFAULT_TERRITORY];\n\n if (!firstDay) {\n throw NoFirstDay.error();\n }\n\n info.firstDay = DAYS_OF_WEEK.indexOf(firstDay);\n\n return info.firstDay;\n}\n","import { cldr, getLocaleInfo } from './info';\nimport localeTerritory from './territory';\n\nimport { DAYS_OF_WEEK, DEFAULT_TERRITORY } from './constants';\nimport { errors } from '../errors';\n\nvar NoWeekData = errors.NoWeekData;\n\nexport default function weekendRange(locale) {\n var info = getLocaleInfo(locale);\n\n if (info.weekendRange) {\n return info.weekendRange;\n }\n\n var weekData = cldr.supplemental.weekData;\n if (!weekData) {\n throw NoWeekData.error();\n }\n\n var territory = localeTerritory(info);\n var start = weekData.weekendStart[territory] || weekData.weekendStart[DEFAULT_TERRITORY];\n var end = weekData.weekendEnd[territory] || weekData.weekendEnd[DEFAULT_TERRITORY];\n\n info.weekendRange = {\n start: DAYS_OF_WEEK.indexOf(start),\n end: DAYS_OF_WEEK.indexOf(end)\n };\n\n return info.weekendRange;\n}\n","import { getLocaleInfo } from './info';\n\nexport default function numberSymbols(locale) {\n var info = getLocaleInfo(locale);\n\n return info.numbers.symbols;\n}","export default function isNegativeZero(value) {\n return (1 / value === -Infinity);\n}\n","import { currencyDisplay, localeCurrency } from '../cldr';\n\nexport default function formatCurrencySymbol(info, options) {\n if ( options === void 0 ) options = {};\n\n if (!options.currency) {\n options.currency = localeCurrency(info, true);\n }\n\n var display = currencyDisplay(info, options);\n\n return display;\n}\n","export default function groupInteger(number, start, end, options, info) {\n var symbols = info.numbers.symbols;\n var decimalIndex = number.indexOf(symbols.decimal);\n var groupSizes = options.groupSize.slice();\n var groupSize = groupSizes.shift();\n\n var integerEnd = decimalIndex !== -1 ? decimalIndex : end + 1;\n\n var integer = number.substring(start, integerEnd);\n var result = number;\n var integerLength = integer.length;\n\n if (integerLength >= groupSize) {\n var idx = integerLength;\n var parts = [];\n\n while (idx > -1) {\n var value = integer.substring(idx - groupSize, idx);\n if (value) {\n parts.push(value);\n }\n idx -= groupSize;\n var newGroupSize = groupSizes.shift();\n groupSize = newGroupSize !== undefined ? newGroupSize : groupSize;\n\n if (groupSize === 0) {\n value = integer.substring(0, idx);\n if (value) {\n parts.push(value);\n }\n break;\n }\n }\n\n integer = parts.reverse().join(symbols.group);\n result = number.substring(0, start) + integer + number.substring(integerEnd);\n }\n\n return result;\n}","import { CURRENCY, ACCOUNTING } from '../common/constants';\n\nexport default function isCurrencyStyle(style) {\n return style === CURRENCY || style === ACCOUNTING;\n}","export default function pad(number, digits, right) {\n if ( digits === void 0 ) digits = 2;\n if ( right === void 0 ) right = false;\n\n var count = digits - String(number).length;\n var result = number;\n\n if (count > 0) {\n var padString = new Array(count + 1).join(\"0\");\n result = right ? number + padString : padString + number;\n }\n\n return result;\n}","var MAX_PRECISION = 20;\n\nexport default function round(value, precision) {\n var result = value;\n var decimals = precision || 0;\n\n result = result.toString().split('e');\n result = Math.round(Number(result[0] + 'e' + (result[1] ? (Number(result[1]) + decimals) : decimals)));\n\n result = result.toString().split('e');\n result = Number(result[0] + 'e' + (result[1] ? (Number(result[1]) - decimals) : -decimals));\n\n return result.toFixed(Math.min(decimals, MAX_PRECISION));\n}","import { PERCENT, SCIENTIFIC, NUMBER_PLACEHOLDER, CURRENCY_PLACEHOLDER, PERCENT_PLACEHOLDER, EMPTY, POINT } from '../common/constants';\nimport isNegativeZero from '../common/is-negative-zero';\nimport formatCurrencySymbol from './format-currency-symbol';\nimport groupInteger from './group-integer';\nimport isCurrencyStyle from './is-currency-style';\nimport pad from '../common/pad';\nimport round from '../common/round';\nimport { currencyFractionOptions } from '../cldr';\n\nvar DEFAULT_DECIMAL_ROUNDING = 3;\nvar DEFAULT_PERCENT_ROUNDING = 0;\n\nvar trailingZeroRegex = /0+$/;\n\nfunction fractionOptions(options) {\n var minimumFractionDigits = options.minimumFractionDigits;\n var maximumFractionDigits = options.maximumFractionDigits;\n var style = options.style;\n var isCurrency = isCurrencyStyle(style);\n var currencyFractions;\n if (isCurrency) {\n currencyFractions = currencyFractionOptions(options.currency);\n }\n\n if (minimumFractionDigits === undefined) {\n minimumFractionDigits = isCurrency ? currencyFractions.minimumFractionDigits : 0;\n }\n\n if (maximumFractionDigits === undefined) {\n if (style === PERCENT) {\n maximumFractionDigits = Math.max(minimumFractionDigits, DEFAULT_PERCENT_ROUNDING);\n } else if (isCurrency) {\n maximumFractionDigits = Math.max(minimumFractionDigits, currencyFractions.maximumFractionDigits);\n } else {\n maximumFractionDigits = Math.max(minimumFractionDigits, DEFAULT_DECIMAL_ROUNDING);\n }\n }\n\n return {\n minimumFractionDigits: minimumFractionDigits,\n maximumFractionDigits: maximumFractionDigits\n };\n}\n\nfunction applyPattern(value, pattern, symbol) {\n var result = EMPTY;\n for (var idx = 0, length = pattern.length; idx < length; idx++) {\n var ch = pattern.charAt(idx);\n\n if (ch === NUMBER_PLACEHOLDER) {\n result += value;\n } else if (ch === CURRENCY_PLACEHOLDER || ch === PERCENT_PLACEHOLDER) {\n result += symbol;\n } else {\n result += ch;\n }\n }\n return result;\n}\n\nfunction currencyUnitPattern(info, value) {\n var currencyInfo = info.numbers.currency;\n var pattern = value !== 1 ? currencyInfo[\"unitPattern-count-other\"] : currencyInfo[\"unitPattern-count-one\"];\n if (value < 0) {\n pattern = pattern.replace(NUMBER_PLACEHOLDER, (\"-\" + NUMBER_PLACEHOLDER));\n }\n\n return pattern;\n}\n\n\nexport default function standardNumberFormat(number, options, info) {\n var symbols = info.numbers.symbols;\n var style = options.style;\n var isCurrency = isCurrencyStyle(style);\n\n //return number in exponential format\n if (style === SCIENTIFIC) {\n var exponential = options.minimumFractionDigits !== undefined ? number.toExponential(options.minimumFractionDigits) : number.toExponential();\n return exponential.replace(POINT, symbols.decimal);\n }\n\n var value = number;\n var symbol;\n\n if (isCurrency) {\n options.value = value;\n symbol = formatCurrencySymbol(info, options);\n }\n\n if (style === PERCENT) {\n value *= 100;\n symbol = symbols.percentSign;\n }\n\n var ref = fractionOptions(options);\n var minimumFractionDigits = ref.minimumFractionDigits;\n var maximumFractionDigits = ref.maximumFractionDigits;\n\n value = round(value, maximumFractionDigits);\n\n var negative = value < 0;\n var negativeZero = isNegativeZero(number);\n\n var parts = value.split(POINT);\n\n var integer = parts[0];\n var fraction = pad(parts[1] ? parts[1].replace(trailingZeroRegex, EMPTY) : EMPTY, minimumFractionDigits, true);\n\n //exclude \"-\" if number is negative.\n if (negative) {\n integer = integer.substring(1);\n }\n\n if (options.minimumIntegerDigits) {\n integer = pad(integer, options.minimumIntegerDigits);\n }\n\n var formattedValue = options.useGrouping !== false ? groupInteger(integer, 0, integer.length, options, info) : integer;\n\n if (fraction) {\n formattedValue += symbols.decimal + fraction;\n }\n\n var pattern;\n\n if (isCurrency && options.currencyDisplay === \"name\") {\n pattern = currencyUnitPattern(info, number);\n } else {\n var patterns = options.patterns;\n pattern = (negative || negativeZero) ? patterns[1] || (\"-\" + patterns[0]) : patterns[0];\n }\n\n if (pattern === NUMBER_PLACEHOLDER && !negative) {\n return formattedValue;\n }\n\n var result = applyPattern(formattedValue, pattern, symbol);\n\n return result;\n}","import { PERCENT_PLACEHOLDER, CURRENCY_PLACEHOLDER, CURRENCY, PERCENT, EMPTY } from '../common/constants';\nimport formatCurrencySymbol from './format-currency-symbol';\n\nvar literalRegExp = /(\\\\.)|(['][^']*[']?)|([\"][^\"]*[\"]?)/g;\nvar PLACEHOLDER = \"__??__\";\n\nexport function setStyleOptions(formatOptions, info) {\n var format = formatOptions.format;\n\n //multiply number if the format has percent\n if (format.indexOf(PERCENT_PLACEHOLDER) !== -1) {\n formatOptions.style = PERCENT;\n formatOptions.symbol = info.numbers.symbols.percentSign;\n formatOptions.number *= 100;\n }\n\n if (format.indexOf(CURRENCY_PLACEHOLDER) !== -1) {\n formatOptions.style = CURRENCY;\n formatOptions.symbol = formatCurrencySymbol(info);\n }\n}\n\nexport function setFormatLiterals(formatOptions) {\n var format = formatOptions.format;\n if (format.indexOf(\"'\") > -1 || format.indexOf(\"\\\"\") > -1 || format.indexOf(\"\\\\\") > -1) {\n var literals = formatOptions.literals = [];\n formatOptions.format = format.replace(literalRegExp, function(match) {\n var quoteChar = match.charAt(0).replace(\"\\\\\", EMPTY);\n var literal = match.slice(1).replace(quoteChar, EMPTY);\n\n literals.push(literal);\n\n return PLACEHOLDER;\n });\n }\n}\n\nexport function replaceLiterals(number, literals) {\n var result = number;\n if (literals) {\n var length = literals.length;\n for (var idx = 0; idx < length; idx++) {\n result = result.replace(PLACEHOLDER, literals[idx]);\n }\n }\n return result;\n}","import { CURRENCY, PERCENT, LIST_SEPARATOR, GROUP_SEPARATOR, CURRENCY_PLACEHOLDER, PERCENT_PLACEHOLDER, POINT, EMPTY } from '../common/constants';\nimport isNegativeZero from '../common/is-negative-zero';\nimport groupInteger from './group-integer';\nimport round from '../common/round';\nimport { setStyleOptions, setFormatLiterals, replaceLiterals } from './utils';\n\nvar SHARP = \"#\";\nvar ZERO = \"0\";\n\nvar trailingZerosRegExp = /(\\.(?:[0-9]*[1-9])?)0+$/g;\nvar trailingPointRegExp = /\\.$/;\nvar commaRegExp = /\\,/g;\n\nfunction trimTrailingZeros(value, lastZero) {\n var trimRegex;\n\n if (lastZero === 0) {\n trimRegex = trailingZerosRegExp;\n } else {\n trimRegex = new RegExp((\"(\\\\.[0-9]{\" + lastZero + \"}[1-9]*)0+$\"), 'g');\n }\n\n return value.replace(trimRegex, '$1').replace(trailingPointRegExp, EMPTY);\n}\n\nfunction roundNumber(formatOptions) {\n var number = formatOptions.number;\n var format = formatOptions.format;\n var decimalIndex = format.indexOf(POINT);\n\n if (decimalIndex !== -1) {\n var zeroIndex = format.lastIndexOf(ZERO) - decimalIndex;\n var sharpIndex = format.lastIndexOf(SHARP) - decimalIndex;\n var hasZero = zeroIndex > -1;\n var hasSharp = sharpIndex > -1;\n var fraction = number.toString().split(\"e\");\n\n if (fraction[1]) {\n fraction = round(number, Math.abs(fraction[1]));\n } else {\n fraction = fraction[0];\n }\n fraction = fraction.split(POINT)[1] || EMPTY;\n\n var precision = fraction.length;\n var trailingZeros = -1;\n\n if (!hasZero && !hasSharp) {\n formatOptions.format = format.substring(0, decimalIndex) + format.substring(decimalIndex + 1);\n decimalIndex = -1;\n precision = 0;\n } else if (hasZero && zeroIndex > sharpIndex) {\n precision = zeroIndex;\n } else if (sharpIndex > zeroIndex) {\n if (hasSharp && precision > sharpIndex) {\n precision = sharpIndex;\n } else if (hasZero && precision < zeroIndex) {\n precision = zeroIndex;\n }\n\n trailingZeros = hasZero ? zeroIndex : 0;\n }\n\n if (precision > -1) {\n number = round(number, precision);\n if (trailingZeros > -1) {\n number = trimTrailingZeros(number, trailingZeros);\n }\n }\n } else {\n number = round(number);\n }\n\n if (formatOptions.negative && (number * -1) >= 0 && !formatOptions.negativeZero) {\n formatOptions.negative = false;\n }\n\n formatOptions.number = number;\n formatOptions.decimalIndex = decimalIndex;\n}\n\nfunction isConstantFormat(format) {\n return format.indexOf(SHARP) === -1 && format.indexOf(ZERO) === -1;\n}\n\nfunction setValueSpecificFormat(formatOptions) {\n var number = formatOptions.number;\n var format = formatOptions.format;\n format = format.split(LIST_SEPARATOR);\n if ((formatOptions.negative || formatOptions.negativeZero) && format[1]) {\n format = format[1];\n formatOptions.hasNegativeFormat = true;\n } else if (number === 0) {\n var zeroFormat = format[2];\n format = zeroFormat || format[0];\n if (zeroFormat && isConstantFormat(zeroFormat)) {\n formatOptions.constant = zeroFormat;\n }\n } else {\n format = format[0];\n }\n\n formatOptions.format = format;\n}\n\nfunction setGroupOptions(formatOptions) {\n formatOptions.hasGroup = formatOptions.format.indexOf(GROUP_SEPARATOR) > -1;\n if (formatOptions.hasGroup) {\n formatOptions.format = formatOptions.format.replace(commaRegExp, EMPTY);\n }\n}\n\nfunction placeholderIndex(index1, index2, start) {\n var index;\n if (index1 === -1 && index2 !== -1) {\n index = index2;\n } else if (index1 !== -1 && index2 === -1) {\n index = index1;\n } else {\n index = start ? Math.min(index1, index2) : Math.max(index1, index2);\n }\n return index;\n}\n\nfunction setPlaceholderIndices(formatOptions) {\n var format = formatOptions.format;\n var sharpIndex = format.indexOf(SHARP);\n var zeroIndex = format.indexOf(ZERO);\n\n var start = placeholderIndex(sharpIndex, zeroIndex, true);\n\n sharpIndex = format.lastIndexOf(SHARP);\n zeroIndex = format.lastIndexOf(ZERO);\n\n var end = placeholderIndex(sharpIndex, zeroIndex);\n\n if (start === format.length) {\n end = start;\n }\n\n formatOptions.start = start;\n formatOptions.end = end;\n formatOptions.lastZeroIndex = zeroIndex;\n}\n\nfunction replaceStyleSymbols(number, style, symbol) {\n var result = number;\n if (style === CURRENCY || style === PERCENT) {\n result = EMPTY;\n for (var idx = 0, length = number.length; idx < length; idx++) {\n var ch = number.charAt(idx);\n result += (ch === CURRENCY_PLACEHOLDER || ch === PERCENT_PLACEHOLDER) ? symbol : ch;\n }\n }\n return result;\n}\n\nfunction replacePlaceHolders(formatOptions, info) {\n var start = formatOptions.start;\n var end = formatOptions.end;\n var negative = formatOptions.negative;\n var negativeZero = formatOptions.negativeZero;\n var format = formatOptions.format;\n var decimalIndex = formatOptions.decimalIndex;\n var lastZeroIndex = formatOptions.lastZeroIndex;\n var hasNegativeFormat = formatOptions.hasNegativeFormat;\n var hasGroup = formatOptions.hasGroup;\n var number = formatOptions.number;\n var value = number.toString().split(POINT);\n var length = format.length;\n var integer = value[0];\n var fraction = value[1] || EMPTY;\n var integerLength = integer.length;\n var replacement = EMPTY;\n\n number = format.substring(0, start);\n\n if ((negative || negativeZero) && !hasNegativeFormat) {\n number += \"-\";\n }\n\n for (var idx = start; idx < length; idx++) {\n var ch = format.charAt(idx);\n\n if (decimalIndex === -1) {\n if (end - idx < integerLength) {\n\n number += integer;\n break;\n }\n } else {\n if (lastZeroIndex !== -1 && lastZeroIndex < idx) {\n replacement = EMPTY;\n }\n\n if ((decimalIndex - idx) <= integerLength && decimalIndex - idx > -1) {\n number += integer;\n idx = decimalIndex;\n }\n\n if (decimalIndex === idx) {\n number += (fraction ? info.numbers.symbols.decimal : EMPTY) + fraction;\n idx += end - decimalIndex + 1;\n continue;\n }\n }\n\n if (ch === ZERO) {\n number += ch;\n replacement = ch;\n } else if (ch === SHARP) {\n number += replacement;\n }\n }\n\n if (hasGroup) {\n number = groupInteger(number, start + (negative && !hasNegativeFormat ? 1 : 0), Math.max(end, (integerLength + start)), info.numbers.decimal, info);\n }\n\n if (end >= start) {\n number += format.substring(end + 1);\n }\n\n return number;\n}\n\nfunction applyCustomFormat(formatOptions, info) {\n var number = formatOptions.number;\n if (formatOptions.start !== -1) {\n number = replacePlaceHolders(formatOptions, info);\n number = replaceStyleSymbols(number, formatOptions.style, formatOptions.symbol);\n number = replaceLiterals(number, formatOptions.literals);\n }\n\n return number;\n}\n\nexport default function customNumberFormat(number, format, info) {\n var formatOptions = {\n negative: number < 0,\n number: Math.abs(number),\n negativeZero: isNegativeZero(number),\n format: format\n };\n\n setValueSpecificFormat(formatOptions);\n\n if (formatOptions.constant) {\n return formatOptions.constant;\n }\n\n setFormatLiterals(formatOptions);\n setStyleOptions(formatOptions, info);\n setGroupOptions(formatOptions);\n roundNumber(formatOptions);\n setPlaceholderIndices(formatOptions);\n\n return applyCustomFormat(formatOptions, info);\n}","import { CURRENCY, ACCOUNTING, DECIMAL, PERCENT, SCIENTIFIC } from '../common/constants';\nimport isString from '../common/is-string';\n\nvar standardFormatRegExp = /^(n|c|p|e|a)(\\d*)$/i;\n\nfunction standardFormatOptions(format) {\n var formatAndPrecision = standardFormatRegExp.exec(format);\n\n if (formatAndPrecision) {\n var options = {\n style: DECIMAL\n };\n\n var style = formatAndPrecision[1].toLowerCase();\n\n if (style === \"c\") {\n options.style = CURRENCY;\n } else if (style === \"a\") {\n options.style = ACCOUNTING;\n } else if (style === \"p\") {\n options.style = PERCENT;\n } else if (style === \"e\") {\n options.style = SCIENTIFIC;\n }\n\n if (formatAndPrecision[2]) {\n options.minimumFractionDigits = options.maximumFractionDigits = parseInt(formatAndPrecision[2], 10);\n }\n\n return options;\n }\n}\n\nexport default function formatOptions(format) {\n var options;\n if (isString(format)) {\n options = standardFormatOptions(format);\n } else {\n options = format;\n }\n\n return options;\n}","import { localeInfo } from '../cldr';\nimport { DECIMAL, DEFAULT_LOCALE, NUMBER_PLACEHOLDER, EMPTY } from '../common/constants';\nimport standardNumberFormat from './standard-number-format';\nimport customNumberFormat from './custom-number-format';\nimport formatOptions from './format-options';\n\nexport default function formatNumber(number, format, locale) {\n if ( format === void 0 ) format = NUMBER_PLACEHOLDER;\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n\n if (number === undefined || number === null) {\n return EMPTY;\n }\n\n if (!isFinite(number)) {\n return String(number);\n }\n\n var info = localeInfo(locale);\n var options = formatOptions(format);\n\n var result;\n if (options) {\n var style = options.style || DECIMAL;\n result = standardNumberFormat(number, Object.assign({}, info.numbers[style], options), info);\n } else {\n result = customNumberFormat(number, format, info);\n }\n\n return result;\n}\n","export default function isNumber(value) {\n return typeof value === \"number\";\n}","import { localeInfo, localeCurrency, currencyDisplays } from '../cldr';\nimport { PERCENT, NUMBER_PLACEHOLDER, CURRENCY_PLACEHOLDER, DEFAULT_LOCALE, EMPTY, POINT } from '../common/constants';\nimport { setStyleOptions, setFormatLiterals } from './utils';\nimport isNumber from '../common/is-number';\nimport isCurrencyStyle from './is-currency-style';\nimport formatOptions from './format-options';\nimport isString from '../common/is-string';\n\nvar exponentRegExp = /[eE][\\-+]?[0-9]+/;\nvar nonBreakingSpaceRegExp = /\\u00A0/g;\n\nfunction cleanNegativePattern(number, patterns) {\n if (patterns.length > 1) {\n var parts = (patterns[1] || EMPTY).replace(CURRENCY_PLACEHOLDER, EMPTY).split(NUMBER_PLACEHOLDER);\n if (number.indexOf(parts[0]) > -1 && number.indexOf(parts[1]) > -1) {\n return number.replace(parts[0], EMPTY).replace(parts[1], EMPTY);\n }\n }\n}\n\nfunction cleanCurrencyNumber(value, info, format) {\n var options = formatOptions(format) || {};\n var isCurrency = isCurrencyStyle(options.style);\n var number = value;\n var negative;\n\n var currency = options.currency || localeCurrency(info, isCurrency);\n\n if (currency) {\n var displays = currencyDisplays(info, currency, isCurrency);\n if (displays) {\n for (var idx = 0; idx < displays.length; idx++) {\n var display = displays[idx];\n if (number.includes(display)) {\n number = number.replace(display, EMPTY);\n isCurrency = true;\n break;\n }\n }\n }\n\n if (isCurrency) {\n var cleanNumber = cleanNegativePattern(number, info.numbers.currency.patterns) ||\n cleanNegativePattern(number, info.numbers.accounting.patterns);\n\n if (cleanNumber) {\n negative = true;\n number = cleanNumber;\n }\n\n }\n }\n\n return {\n number: number,\n negative: negative\n };\n}\n\nfunction cleanLiterals(number, formatOptions) {\n var literals = formatOptions.literals;\n var result = number;\n\n if (literals) {\n for (var idx = 0; idx < literals.length; idx++) {\n result = result.replace(literals[idx], EMPTY);\n }\n }\n\n return result;\n}\n\nexport default function parseNumber(value, locale, format) {\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n if ( format === void 0 ) format = {};\n\n if (!value && value !== 0) {\n return null;\n }\n\n if (isNumber(value)) {\n return value;\n }\n\n var info = localeInfo(locale);\n var symbols = info.numbers.symbols;\n\n var number = value.toString();\n var formatOptions = format || {};\n var isPercent;\n\n if (isString(format)) {\n formatOptions = { format: format };\n setFormatLiterals(formatOptions);\n number = cleanLiterals(number, formatOptions);\n\n setStyleOptions(formatOptions, info);\n }\n\n if (formatOptions.style === PERCENT || number.indexOf(symbols.percentSign) > -1) {\n number = number.replace(symbols.percentSign, EMPTY);\n isPercent = true;\n }\n\n if (exponentRegExp.test(number)) {\n number = parseFloat(number.replace(symbols.decimal, POINT));\n return isNaN(number) ? null : number;\n }\n\n var ref = cleanCurrencyNumber(number, info, formatOptions);\n var negativeCurrency = ref.negative;\n var currencyNumber = ref.number;\n number = String(currencyNumber).trim();\n\n var negativeSignIndex = number.indexOf(\"-\");\n if (negativeSignIndex > 0) {\n return null;\n }\n\n var isNegative = negativeSignIndex > -1;\n\n isNegative = negativeCurrency !== undefined ? negativeCurrency : isNegative;\n\n number = number.replace(\"-\", EMPTY)\n .replace(nonBreakingSpaceRegExp, \" \")\n .split(symbols.group.replace(nonBreakingSpaceRegExp, \" \")).join(EMPTY)\n .replace(symbols.decimal, POINT);\n\n number = parseFloat(number);\n\n if (isNaN(number)) {\n number = null;\n } else if (isNegative) {\n number *= -1;\n }\n\n if (number && isPercent) {\n number /= 100;\n }\n\n return number;\n}\n","var formatRegExp = /\\{(\\d+)}/g;\n\nexport default function formatString(format) {\n var values = arguments;\n\n return format.replace(formatRegExp, function (match, index) {\n var value = values[parseInt(index, 10) + 1];\n\n return value;\n });\n}","import formatString from '../common/format-string';\nimport isString from '../common/is-string';\nimport { EMPTY } from '../common/constants';\n\nvar REMOVAL_PENALTY = 120;\nvar ADDITION_PENALTY = 20;\nvar LENGHT_DELTA = [ 2, 1, 5, 3, 4 ];\nvar LONG_LESS_PENALTY_DELTA = -2;\nvar SHORT_LESS_PENALTY_DELTA = -1;\nvar SHORT_MORE_PENALTY_DELTA = 1;\nvar LONG_MORE_PENALTY_DELTA = 2;\n\nvar PENALTIES = {};\nPENALTIES[LONG_LESS_PENALTY_DELTA.toString()] = 8;\nPENALTIES[SHORT_LESS_PENALTY_DELTA.toString()] = 6;\nPENALTIES[LONG_MORE_PENALTY_DELTA.toString()] = 6;\nPENALTIES[SHORT_MORE_PENALTY_DELTA.toString()] = 3;\n\nvar VALUE_FORMAT_LENGTH = {\n numeric: 1,\n \"2-digit\": 2,\n short: 3,\n long: 4,\n narrow: 5\n};\n\nvar TIME_SPECIFIERS_REGEX = /[hHmsSzZoOvVxX]/;\n\nfunction getHourSpecifier(options) {\n return options.hour12 ? \"h\" : \"H\";\n}\n\nvar DATE_OPTIONS_MAP = [ {\n key: \"era\",\n specifier: \"G\"\n}, {\n key: \"year\",\n specifier: \"y\"\n}, {\n key: \"month\",\n specifier: \"M\"\n}, {\n key: \"day\",\n specifier: \"d\"\n}, {\n key: \"weekday\",\n specifier: \"E\"\n}, {\n key: \"hour\",\n getSpecifier: getHourSpecifier\n}, {\n key: \"minute\",\n specifier: \"m\"\n}, {\n key: \"second\",\n specifier: \"s\"\n}, {\n key: \"timeZoneName\",\n specifier: \"z\"\n} ];\n\nvar STAND_ALONE_SPECIFIERS = {\n e: 'c',\n E: 'c',\n M: 'L',\n Q: 'q'\n};\n\nvar specifiersRegex = {};\nvar resolvedFormats = {};\n\nfunction getSpecifierRegex(specifier) {\n if (!specifiersRegex[specifier]) {\n specifiersRegex[specifier] = new RegExp(specifier + \"+\");\n }\n return specifiersRegex[specifier];\n}\n\nfunction skeletonSpecifiers(skeleton) {\n var result = [];\n var current = skeleton.charAt(0);\n var specifier = current;\n for (var idx = 1; idx < skeleton.length; idx++) {\n var character = skeleton.charAt(idx);\n if (character === specifier) {\n current += character;\n } else {\n result.push(current);\n current = specifier = character;\n }\n }\n\n result.push(current);\n\n return result;\n}\n\nfunction findBestMatch(specifiers, availableFormats) {\n var specifiersLength = specifiers.length;\n var maxScore = -Number.MAX_VALUE;\n var bestMatches, result;\n for (var format in availableFormats) {\n var matches = [];\n var currentFormat = format.replace(\"v\", \"z\");\n var score = 0;\n for (var idx = 0; idx < specifiersLength; idx++) {\n var specifier = specifiers[idx];\n var specifierRegex = getSpecifierRegex(specifier[0]);\n var match = (specifierRegex.exec(currentFormat) || [])[0];\n\n if (!match) {\n score -= REMOVAL_PENALTY;\n } else {\n currentFormat = currentFormat.replace(match, EMPTY);\n if (match.length !== specifier.length) {\n var delta = Math.max(Math.min(LENGHT_DELTA[match.length] - LENGHT_DELTA[specifier.length], 2), -2);\n score -= PENALTIES[delta];\n }\n }\n\n matches.push(match);\n\n if (score < maxScore) {\n break;\n }\n }\n\n if (currentFormat.length) {\n score -= skeletonSpecifiers(currentFormat).length * ADDITION_PENALTY;\n }\n\n if (score > maxScore) {\n maxScore = score;\n bestMatches = matches;\n result = availableFormats[format];\n }\n }\n\n result = result.replace(\"v\", \"z\");\n\n for (var idx$1 = 0; idx$1 < specifiersLength; idx$1++) {\n var bestMatch = bestMatches[idx$1];\n if (bestMatch && bestMatch !== specifiers[idx$1]) {\n var matchSpecifier = bestMatches[idx$1][0];\n result = result.replace(getSpecifierRegex(matchSpecifier), specifiers[idx$1]);\n if (STAND_ALONE_SPECIFIERS[matchSpecifier]) {\n result = result.replace(getSpecifierRegex(STAND_ALONE_SPECIFIERS[matchSpecifier]), specifiers[idx$1]);\n }\n }\n }\n\n return result;\n}\n\nfunction cacheFormat(skeleton, format, locale) {\n if (!resolvedFormats[locale]) {\n resolvedFormats[locale] = {};\n }\n resolvedFormats[locale][skeleton] = format;\n}\n\n\nfunction skeletonFormat(skeleton, info) {\n var availableFormats = info.calendar.dateTimeFormats.availableFormats;\n if (availableFormats[skeleton]) {\n return availableFormats[skeleton];\n }\n if (resolvedFormats[info.name] && resolvedFormats[info.name][skeleton]) {\n return resolvedFormats[info.name][skeleton];\n }\n var timeStartIndex = skeleton.search(TIME_SPECIFIERS_REGEX);\n var result;\n if (timeStartIndex > 0) {\n var dateSkeleton = skeleton.substr(0, timeStartIndex);\n var timeSkeleton = skeleton.substr(timeStartIndex);\n\n result = formatString(info.calendar.dateTimeFormats.short, //should be deterimed based on specifiers\n availableFormats[timeSkeleton] || findBestMatch(skeletonSpecifiers(timeSkeleton), availableFormats),\n availableFormats[dateSkeleton] || findBestMatch(skeletonSpecifiers(dateSkeleton), availableFormats));\n } else {\n result = findBestMatch(skeletonSpecifiers(skeleton), availableFormats);\n }\n\n cacheFormat(skeleton, result, info.name);\n return result;\n}\n\nfunction skeletonFromOptions(options) {\n var result = [];\n for (var idx = 0; idx < DATE_OPTIONS_MAP.length; idx++) {\n var option = DATE_OPTIONS_MAP[idx];\n var field = option.key;\n var value = options[field];\n if (value) {\n var spcifier = option.specifier || option.getSpecifier(options);\n result.push(spcifier.repeat(VALUE_FORMAT_LENGTH[value]));\n }\n }\n\n return result.join(EMPTY);\n}\n\nexport default function datePattern(format, info) {\n var calendar = info.calendar;\n var result;\n if (isString(format)) {\n if (calendar.patterns[format]) {\n result = calendar.patterns[format];\n } else {\n result = format;\n }\n } else if (format) {\n if (format.pattern) {\n return format.pattern;\n }\n\n var skeleton = format.skeleton;\n if (!skeleton) {\n if (format.datetime) {\n result = formatString(calendar.dateTimeFormats[format.datetime], calendar.timeFormats[format.datetime], calendar.dateFormats[format.datetime]);\n } else if (format.date) {\n result = calendar.dateFormats[format.date];\n } else if (format.time) {\n result = calendar.timeFormats[format.time];\n } else {\n skeleton = skeletonFromOptions(format);\n }\n }\n\n if (skeleton) {\n result = skeletonFormat(skeleton, info);\n }\n }\n\n if (!result) {\n result = calendar.patterns.d;\n }\n\n return result;\n}\n","export default function dateNameType(formatLength) {\n var nameType;\n if (formatLength <= 3) {\n nameType = \"abbreviated\";\n } else if (formatLength === 4) {\n nameType = \"wide\";\n } else if (formatLength === 5) {\n nameType = \"narrow\";\n } else if (formatLength === 6) {\n nameType = \"short\";\n }\n\n return nameType;\n}","import dateFormatNames from '../cldr/date-format-names';\nimport dateNameType from './date-name-type';\n\nexport default function formatNames(locale, type, formatLength, standAlone, lower) {\n return dateFormatNames(locale, {\n type: type,\n nameType: dateNameType(formatLength),\n standAlone: standAlone,\n lower: lower\n });\n}","function isFunction(fun) {\n return typeof(fun) === 'function';\n}\n\nexport default function isDate(value) {\n return Boolean(value) && isFunction(value.getTime) && isFunction(value.getMonth);\n}\n","var MONTH = 'month';\nvar HOUR = 'hour';\nvar ZONE = 'zone';\nvar WEEKDAY = 'weekday';\nvar QUARTER = 'quarter';\n\nvar DATE_FIELD_MAP = {\n 'G': 'era',\n 'y': 'year',\n 'q': QUARTER,\n 'Q': QUARTER,\n 'M': MONTH,\n 'L': MONTH,\n 'd': 'day',\n 'E': WEEKDAY,\n 'c': WEEKDAY,\n 'e': WEEKDAY,\n 'h': HOUR,\n 'H': HOUR,\n 'k': HOUR,\n 'K': HOUR,\n 'm': 'minute',\n 's': 'second',\n 'S': 'millisecond',\n 'a': 'dayperiod',\n 'x': ZONE,\n 'X': ZONE,\n 'z': ZONE,\n 'Z': ZONE\n};\n\nvar dateFormatRegExp = /d{1,2}|E{1,6}|e{1,6}|c{3,6}|c{1}|M{1,5}|L{1,5}|y{1,4}|H{1,2}|h{1,2}|k{1,2}|K{1,2}|m{1,2}|a{1,5}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|x{1,5}|X{1,5}|G{1,5}|q{1,5}|Q{1,5}|\"[^\"]*\"|'[^']*'/g;\n\nexport { dateFormatRegExp, DATE_FIELD_MAP };","import { localeInfo, firstDay } from '../cldr';\nimport { DEFAULT_LOCALE, EMPTY } from '../common/constants';\nimport formatString from '../common/format-string';\nimport datePattern from './date-pattern';\nimport formatNames from './format-names';\nimport pad from '../common/pad';\nimport isDate from '../common/is-date';\nimport { dateFormatRegExp } from './constants';\n\nfunction formatDayOfWeekIndex(day, formatLength, localeInfo) {\n var firstDayIndex = firstDay(localeInfo);\n var dayIndex;\n if (day < firstDayIndex) {\n dayIndex = 7 - firstDayIndex + day;\n } else {\n dayIndex = day - firstDayIndex;\n }\n\n return dayIndex + 1;\n}\n\nfunction formatMonth(month, formatLength, info, standAlone) {\n if (formatLength <= 2) {\n return pad(month + 1, formatLength);\n }\n return formatNames(info, \"months\", formatLength, standAlone)[month];\n}\n\nfunction formatQuarter(date, formatLength, info, standAlone) {\n var quarter = Math.floor(date.getMonth() / 3);\n if (formatLength < 3) {\n return quarter + 1;\n }\n\n return formatNames(info, \"quarters\", formatLength, standAlone)[quarter];\n}\n\n\nfunction formatTimeZone(date, info, options) {\n var shortHours = options.shortHours;\n var optionalMinutes = options.optionalMinutes;\n var separator = options.separator;\n var localizedName = options.localizedName;\n var zZeroOffset = options.zZeroOffset;\n var offset = date.getTimezoneOffset() / 60;\n if (offset === 0 && zZeroOffset) {\n return \"Z\";\n }\n var sign = offset <= 0 ? \"+\" : \"-\";\n var hoursMinutes = Math.abs(offset).toString().split(\".\");\n var minutes = hoursMinutes[1] || 0;\n var result = sign + (shortHours ? hoursMinutes[0] : pad(hoursMinutes[0], 2));\n if (minutes || !optionalMinutes) {\n result += (separator ? \":\" : EMPTY) + pad(minutes, 2);\n }\n\n if (localizedName) {\n var localizedFormat = offset === 0 ? info.calendar.gmtZeroFormat : info.calendar.gmtFormat;\n result = formatString(localizedFormat, result);\n }\n\n return result;\n}\n\nfunction formatDayOfWeek(date, formatLength, info, standAlone) {\n var result;\n if (formatLength < 3) {\n result = formatDayOfWeekIndex(date.getDay(), formatLength, info);\n } else {\n result = formatNames(info, \"days\", formatLength, standAlone)[date.getDay()];\n }\n return result;\n}\n\nvar formatters = {};\n\nformatters.d = function(date, formatLength) {\n return pad(date.getDate(), formatLength);\n};\n\nformatters.E = function(date, formatLength, info) {\n return formatNames(info, \"days\", formatLength)[date.getDay()];\n};\n\nformatters.M = function(date, formatLength, info) {\n return formatMonth(date.getMonth(), formatLength, info, false);\n};\n\nformatters.L = function(date, formatLength, info) {\n return formatMonth(date.getMonth(), formatLength, info, true);\n};\n\nformatters.y = function(date, formatLength) {\n var year = date.getFullYear();\n if (formatLength === 2) {\n year = year % 100;\n }\n return pad(year, formatLength);\n};\n\nformatters.h = function(date, formatLength) {\n var hours = date.getHours() % 12 || 12;\n return pad(hours, formatLength);\n};\n\nformatters.H = function(date, formatLength) {\n return pad(date.getHours(), formatLength);\n};\n\nformatters.k = function(date, formatLength) {\n return pad(date.getHours() || 24, formatLength);\n};\n\nformatters.K = function(date, formatLength) {\n return pad(date.getHours() % 12, formatLength);\n};\n\nformatters.m = function(date, formatLength) {\n return pad(date.getMinutes(), formatLength);\n};\n\nformatters.s = function(date, formatLength) {\n return pad(date.getSeconds(), formatLength);\n};\n\nformatters.S = function(date, formatLength) {\n var milliseconds = date.getMilliseconds();\n var result;\n if (milliseconds !== 0) {\n result = pad(String(milliseconds / 1000).split(\".\")[1].substr(0, formatLength), formatLength, true);\n } else {\n result = pad(EMPTY, formatLength);\n }\n return result;\n};\n\nformatters.a = function(date, formatLength, info) {\n return formatNames(info, \"dayPeriods\", formatLength)[date.getHours() < 12 ? \"am\" : \"pm\"];\n};\n\nformatters.z = function(date, formatLength, info) {\n return formatTimeZone(date, info, {\n shortHours: formatLength < 4,\n optionalMinutes: formatLength < 4,\n separator: true,\n localizedName: true\n });\n};\n\nformatters.Z = function(date, formatLength, info) {\n return formatTimeZone(date, info, {\n separator: formatLength > 3,\n localizedName: formatLength === 4,\n zZeroOffset: formatLength === 5\n });\n};\n\nformatters.x = function(date, formatLength, info) {\n return formatTimeZone(date, info, {\n optionalMinutes: formatLength === 1,\n separator: formatLength === 3 || formatLength === 5\n });\n};\n\nformatters.X = function(date, formatLength, info) {\n return formatTimeZone(date, info, {\n optionalMinutes: formatLength === 1,\n separator: formatLength === 3 || formatLength === 5,\n zZeroOffset: true\n });\n};\n\nformatters.G = function(date, formatLength, info) {\n var era = date.getFullYear() >= 0 ? 1 : 0;\n return formatNames(info, \"eras\", formatLength)[era];\n};\n\nformatters.e = formatDayOfWeek;\n\nformatters.c = function(date, formatLength, info) {\n return formatDayOfWeek(date, formatLength, info, true);\n};\n\nformatters.q = function(date, formatLength, info) {\n return formatQuarter(date, formatLength, info, true);\n};\n\nformatters.Q = formatQuarter;\n\nexport default function formatDate(date, format, locale) {\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n\n if (!isDate(date)) {\n if (date === undefined || date === null) {\n return EMPTY;\n }\n return date;\n }\n\n var info = localeInfo(locale);\n var pattern = datePattern(format, info);\n\n return pattern.replace(dateFormatRegExp, function(match) {\n var formatLength = match.length;\n var result;\n\n if (match.includes(\"'\") || match.includes(\"\\\"\")) {\n result = match.slice(1, formatLength - 1);\n } else {\n result = formatters[match[0]](date, formatLength, info);\n }\n\n return result;\n });\n}\n","export function convertTimeZone(date, fromOffset, toOffset) {\n var fromLocalOffset = date.getTimezoneOffset();\n\n var offsetDate = new Date(date.getTime() + (fromOffset - toOffset) * 60000);\n\n var toLocalOffset = offsetDate.getTimezoneOffset();\n\n return new Date(offsetDate.getTime() + (toLocalOffset - fromLocalOffset) * 60000);\n}\n\nexport function adjustDST(date, hours) {\n if (!hours && date.getHours() === 23) {\n date.setHours(date.getHours() + 2);\n }\n}","import { adjustDST, convertTimeZone } from './time-utils';\nimport { localeInfo } from '../cldr';\nimport { DEFAULT_LOCALE, EMPTY } from '../common/constants';\nimport { errors } from '../errors';\nimport formatNames from './format-names';\nimport datePattern from './date-pattern';\nimport round from '../common/round';\nimport isDate from '../common/is-date';\n\nvar timeZoneOffsetRegExp = /([+|\\-]\\d{1,2})(:?)(\\d{2})?/;\nvar dateRegExp = /^\\/Date\\((.*?)\\)\\/$/;\nvar offsetRegExp = /[+-]\\d*/;\nvar numberRegExp = {\n 2: /^\\d{1,2}/,\n 3: /^\\d{1,3}/,\n 4: /^\\d{4}/\n};\nvar numberRegex = /\\d+/;\nvar PLACEHOLDER = \"{0}\";\n\nvar leadingSpacesRegex = /^ */;\nvar trailingSpacesRegex = / *$/;\n\nvar standardDateFormats = [\n \"yyyy/MM/dd HH:mm:ss\",\n \"yyyy/MM/dd HH:mm\",\n \"yyyy/MM/dd\",\n \"E MMM dd yyyy HH:mm:ss\",\n \"yyyy-MM-ddTHH:mm:ss.SSSSSSSXXX\",\n \"yyyy-MM-ddTHH:mm:ss.SSSXXX\",\n \"yyyy-MM-ddTHH:mm:ss.SSXXX\",\n \"yyyy-MM-ddTHH:mm:ssXXX\",\n \"yyyy-MM-ddTHH:mm:ss.SSSSSSS\",\n \"yyyy-MM-ddTHH:mm:ss.SSS\",\n \"yyyy-MM-ddTHH:mmXXX\",\n \"yyyy-MM-ddTHH:mmX\",\n \"yyyy-MM-ddTHH:mm:ss\",\n \"yyyy-MM-ddTHH:mm\",\n \"yyyy-MM-dd HH:mm:ss\",\n \"yyyy-MM-dd HH:mm\",\n \"yyyy-MM-dd\",\n \"HH:mm:ss\",\n \"HH:mm\"\n];\nvar FORMATS_SEQUENCE = [ \"G\", \"g\", \"F\", \"Y\", \"y\", \"M\", \"m\", \"D\", \"d\", \"y\", \"T\", \"t\" ];\nvar TWO_DIGIT_YEAR_MAX = 2029;\n\nfunction outOfRange(value, start, end) {\n return !(value >= start && value <= end);\n}\n\nfunction lookAhead(match, state) {\n var format = state.format;\n var idx = state.idx;\n var i = 0;\n while (format[idx] === match) {\n i++;\n idx++;\n }\n if (i > 0) {\n idx -= 1;\n }\n state.idx = idx;\n return i;\n}\n\nfunction getNumber(size, state) {\n var regex = size ? (numberRegExp[size] || new RegExp('^\\\\d{1,' + size + '}')) : numberRegex,\n match = state.value.substr(state.valueIdx, size).match(regex);\n\n if (match) {\n match = match[0];\n state.valueIdx += match.length;\n return parseInt(match, 10);\n }\n return null;\n}\n\nfunction getIndexByName(names, state, lower) {\n var i = 0,\n length = names.length,\n name, nameLength,\n matchLength = 0,\n matchIdx = 0,\n subValue;\n\n for (; i < length; i++) {\n name = names[i];\n nameLength = name.length;\n subValue = state.value.substr(state.valueIdx, nameLength);\n\n if (lower) {\n subValue = subValue.toLowerCase();\n }\n\n if (subValue === name && nameLength > matchLength) {\n matchLength = nameLength;\n matchIdx = i;\n }\n }\n\n if (matchLength) {\n state.valueIdx += matchLength;\n return matchIdx + 1;\n }\n\n return null;\n}\n\nfunction checkLiteral(state) {\n var result = false;\n if (state.value.charAt(state.valueIdx) === state.format[state.idx]) {\n state.valueIdx++;\n result = true;\n }\n return result;\n}\n\nfunction calendarGmtFormats(calendar) {\n var gmtFormat = calendar.gmtFormat;\n var gmtZeroFormat = calendar.gmtZeroFormat;\n if (!gmtFormat) {\n throw errors.NoGMTInfo.error();\n }\n\n return [ gmtFormat.replace(PLACEHOLDER, EMPTY).toLowerCase(), gmtZeroFormat.replace(PLACEHOLDER, EMPTY).toLowerCase() ];\n}\n\nfunction parseTimeZoneOffset(state, info, options) {\n var shortHours = options.shortHours;\n var noSeparator = options.noSeparator;\n var optionalMinutes = options.optionalMinutes;\n var localizedName = options.localizedName;\n var zLiteral = options.zLiteral;\n state.UTC = true;\n\n if (zLiteral && state.value.charAt(state.valueIdx) === \"Z\") {\n state.valueIdx++;\n return false;\n }\n\n if (localizedName && !getIndexByName(calendarGmtFormats(info.calendar), state, true)) {\n return true;\n }\n\n var matches = timeZoneOffsetRegExp.exec(state.value.substr(state.valueIdx, 6));\n if (!matches) {\n return !localizedName;\n }\n\n var hoursMatch = matches[1];\n var minutesMatch = matches[3];\n var hoursOffset = parseInt(hoursMatch, 10);\n var separator = matches[2];\n var minutesOffset = parseInt(minutesMatch, 10);\n\n if (isNaN(hoursOffset) || (!shortHours && hoursMatch.length !== 3) || (!optionalMinutes && isNaN(minutesOffset)) || (noSeparator && separator)) {\n return true;\n }\n\n if (isNaN(minutesOffset)) {\n minutesOffset = null;\n }\n\n if (outOfRange(hoursOffset, -12, 13) || (minutesOffset && outOfRange(minutesOffset, 0, 59))) {\n return true;\n }\n\n state.valueIdx += matches[0].length;\n state.hoursOffset = hoursOffset;\n state.minutesOffset = minutesOffset;\n}\n\nfunction parseMonth(ch, state, info) {\n var count = lookAhead(ch, state);\n var names = formatNames(info, \"months\", count, ch === \"L\", true);\n\n var month = count < 3 ? getNumber(2, state) : getIndexByName(names, state, true);\n\n if (month === null || outOfRange(month, 1, 12)) {\n return true;\n }\n state.month = month - 1;\n}\n\nfunction parseDayOfWeek(ch, state, info) {\n var count = lookAhead(ch, state);\n var names = formatNames(info, \"days\", count, ch === \"c\", true);\n var dayOfWeek = count < 3 ? getNumber(1, state) : getIndexByName(names, state, true);\n if ((!dayOfWeek && dayOfWeek !== 0) || outOfRange(dayOfWeek, 1, 7)) {\n return true;\n }\n}\n\nvar parsers = {};\n\nparsers.d = function(state) {\n lookAhead(\"d\", state);\n var day = getNumber(2, state);\n\n if (day === null || outOfRange(day, 1, 31)) {\n return true;\n }\n\n if (state.day === null) {\n state.day = day;\n }\n};\n\nparsers.E = function(state, info) {\n var count = lookAhead(\"E\", state);\n //validate if it matches the day?\n var dayOfWeek = getIndexByName(formatNames(info, \"days\", count, false, true), state, true);\n if (dayOfWeek === null) {\n return true;\n }\n};\n\nparsers.M = function(state, info) {\n return parseMonth(\"M\", state, info);\n};\n\nparsers.L = function(state, info) {\n return parseMonth(\"L\", state, info);\n};\n\nparsers.y = function(state) {\n var count = lookAhead(\"y\", state);\n var year = getNumber(count === 1 ? undefined : count, state);\n\n if (year === null) {\n return true;\n }\n\n if (count === 2) {\n var currentYear = new Date().getFullYear();\n year = (currentYear - currentYear % 100) + year;\n if (year > TWO_DIGIT_YEAR_MAX) {\n year -= 100;\n }\n }\n\n state.year = year;\n};\n\nparsers.h = function(state) {\n lookAhead(\"h\", state);\n\n var hours = getNumber(2, state);\n if (hours === 12) {\n hours = 0;\n }\n\n if (hours === null || outOfRange(hours, 0, 11)) {\n return true;\n }\n\n state.hours = hours;\n};\n\nparsers.K = function(state) {\n lookAhead(\"K\", state);\n\n var hours = getNumber(2, state);\n\n if (hours === null || outOfRange(hours, 0, 11)) {\n return true;\n }\n\n state.hours = hours;\n};\n\nparsers.a = function(state, info) {\n var count = lookAhead(\"a\", state);\n var periodFormats = formatNames(info, \"dayPeriods\", count, false, true);\n\n var pmHour = getIndexByName([ periodFormats.pm ], state, true);\n if (!pmHour && !getIndexByName([ periodFormats.am ], state, true)) {\n return true;\n }\n\n state.pmHour = pmHour;\n};\n\nparsers.H = function(state) {\n lookAhead(\"H\", state);\n var hours = getNumber(2, state);\n if (hours === null || outOfRange(hours, 0, 23)) {\n return true;\n }\n state.hours = hours;\n};\n\nparsers.k = function(state) {\n lookAhead(\"k\", state);\n\n var hours = getNumber(2, state);\n\n if (hours === null || outOfRange(hours, 1, 24)) {\n return true;\n }\n\n state.hours = hours === 24 ? 0 : hours;\n};\n\nparsers.m = function(state) {\n lookAhead(\"m\", state);\n var minutes = getNumber(2, state);\n\n if (minutes === null || outOfRange(minutes, 0, 59)) {\n return true;\n }\n\n state.minutes = minutes;\n};\n\nparsers.s = function(state) {\n lookAhead(\"s\", state);\n var seconds = getNumber(2, state);\n if (seconds === null || outOfRange(seconds, 0, 59)) {\n return true;\n }\n state.seconds = seconds;\n};\n\nparsers.S = function(state) {\n var count = lookAhead(\"S\", state);\n var match = state.value.substr(state.valueIdx, count);\n var milliseconds = null;\n\n if (!isNaN(parseInt(match, 10))) {\n milliseconds = parseFloat(\"0.\" + match, 10);\n milliseconds = round(milliseconds, 3);\n milliseconds *= 1000;\n state.valueIdx += count;\n }\n\n if (milliseconds === null || outOfRange(milliseconds, 0, 999)) {\n return true;\n }\n\n state.milliseconds = milliseconds;\n};\n\nparsers.z = function(state, info) {\n var count = lookAhead(\"z\", state);\n\n var shortFormat = count < 4;\n\n var invalid = parseTimeZoneOffset(state, info, {\n shortHours: shortFormat,\n optionalMinutes: shortFormat,\n localizedName: true\n });\n\n if (invalid) {\n return invalid;\n }\n};\n\nparsers.Z = function(state, info) {\n var count = lookAhead(\"Z\", state);\n\n var invalid = parseTimeZoneOffset(state, info, {\n noSeparator: count < 4,\n zLiteral: count === 5,\n localizedName: count === 4\n });\n\n if (invalid) {\n return invalid;\n }\n};\n\nparsers.x = function(state, info) {\n var count = lookAhead(\"x\", state);\n\n var invalid = parseTimeZoneOffset(state, info, {\n noSeparator: count !== 3 && count !== 5,\n optionalMinutes: count === 1\n });\n if (invalid) {\n return invalid;\n }\n};\n\nparsers.X = function(state, info) {\n var count = lookAhead(\"X\", state);\n\n var invalid = parseTimeZoneOffset(state, info, {\n noSeparator: count !== 3 && count !== 5,\n optionalMinutes: count === 1,\n zLiteral: true\n });\n if (invalid) {\n return invalid;\n }\n};\n\nparsers.G = function(state, info) {\n var count = lookAhead(\"G\", state);\n var eras = formatNames(info, \"eras\", count, false, true);\n var era = getIndexByName([ eras[0], eras[1] ], state, true);\n\n if (era === null) {\n return true;\n }\n};\n\nparsers.e = function(state, info) {\n return parseDayOfWeek(\"e\", state, info);\n};\n\nparsers.c = function(state, info) {\n return parseDayOfWeek(\"c\", state, info);\n};\n\nfunction createDate(state) {\n var year = state.year;\n var month = state.month;\n var day = state.day;\n var hours = state.hours;\n var minutes = state.minutes;\n var seconds = state.seconds;\n var milliseconds = state.milliseconds;\n var pmHour = state.pmHour;\n var UTC = state.UTC;\n var hoursOffset = state.hoursOffset;\n var minutesOffset = state.minutesOffset;\n var hasTime = hours !== null || minutes !== null || seconds || null;\n var date = new Date();\n var result;\n\n if (year === null && month === null && day === null && hasTime) {\n year = date.getFullYear();\n month = date.getMonth();\n day = date.getDate();\n } else {\n if (year === null) {\n year = date.getFullYear();\n }\n\n if (day === null) {\n day = 1;\n }\n }\n\n if (pmHour && hours < 12) {\n hours += 12;\n }\n\n if (UTC) {\n if (hoursOffset) {\n hours += -hoursOffset;\n }\n\n if (minutesOffset) {\n minutes += -minutesOffset * (hoursOffset < 0 ? -1 : 1);\n }\n\n result = new Date(Date.UTC(year, month, day, hours, minutes, seconds, milliseconds));\n } else {\n result = new Date(year, month, day, hours, minutes, seconds, milliseconds);\n adjustDST(result, hours);\n }\n\n if (year < 100) {\n result.setFullYear(year);\n }\n\n if (result.getDate() !== day && UTC === undefined) {\n return null;\n }\n\n return result;\n}\n\nfunction addFormatSpaces(value, format) {\n var leadingSpaces = leadingSpacesRegex.exec(format)[0];\n var trailingSpaces = trailingSpacesRegex.exec(format)[0];\n\n return (\"\" + leadingSpaces + value + trailingSpaces);\n}\n\nfunction parseExact(value, format, info) {\n var pattern = datePattern(format, info).split(EMPTY);\n\n var state = {\n format: pattern,\n idx: 0,\n value: addFormatSpaces(value, format),\n valueIdx: 0,\n year: null,\n month: null,\n day: null,\n hours: null,\n minutes: null,\n seconds: null,\n milliseconds: null\n };\n var length = pattern.length;\n var literal = false;\n\n for (; state.idx < length; state.idx++) {\n var ch = pattern[state.idx];\n\n if (literal) {\n if (ch === \"'\") {\n literal = false;\n }\n\n checkLiteral(state);\n } else {\n if (parsers[ch]) {\n var invalid = parsers[ch](state, info);\n if (invalid) {\n return null;\n }\n } else if (ch === \"'\") {\n literal = true;\n checkLiteral(state);\n } else if (!checkLiteral(state)) {\n return null;\n }\n }\n }\n\n if (state.valueIdx < value.length) {\n return null;\n }\n\n return createDate(state) || null;\n}\n\nfunction parseMicrosoftDateOffset(offset) {\n var sign = offset.substr(0, 1) === \"-\" ? -1 : 1;\n\n var result = offset.substring(1);\n result = (parseInt(result.substr(0, 2), 10) * 60) + parseInt(result.substring(2), 10);\n\n return sign * result;\n}\n\nfunction parseMicrosoftDateFormat(value) {\n if (value && value.indexOf(\"/D\") === 0) {\n var date = dateRegExp.exec(value);\n if (date) {\n date = date[1];\n var tzoffset = offsetRegExp.exec(date.substring(1));\n\n date = new Date(parseInt(date, 10));\n\n if (tzoffset) {\n tzoffset = parseMicrosoftDateOffset(tzoffset[0]);\n date = convertTimeZone(date, date.getTimezoneOffset(), 0);\n date = convertTimeZone(date, 0, -1 * tzoffset);\n }\n\n return date;\n }\n }\n}\n\nfunction defaultFormats(calendar) {\n var formats = [];\n var patterns = calendar.patterns;\n var length = FORMATS_SEQUENCE.length;\n\n for (var idx = 0; idx < length; idx++) {\n formats.push(patterns[FORMATS_SEQUENCE[idx]]);\n }\n\n return formats.concat(standardDateFormats);\n}\n\nexport default function parseDate(value, formats, locale) {\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n\n if (!value) {\n return null;\n }\n\n if (isDate(value)) {\n return value;\n }\n\n var parseValue = String(value).trim();\n var date = parseMicrosoftDateFormat(parseValue);\n if (date) {\n return date;\n }\n\n var info = localeInfo(locale);\n var parseFormats = formats || defaultFormats(info.calendar);\n parseFormats = Array.isArray(parseFormats) ? parseFormats : [ parseFormats ];\n\n var length = parseFormats.length;\n\n for (var idx = 0; idx < length; idx++) {\n date = parseExact(parseValue, parseFormats[idx], info);\n if (date) {\n return date;\n }\n }\n\n return date;\n}\n","import { DEFAULT_LOCALE } from '../common/constants';\nimport isNumber from '../common/is-number';\nimport datePattern from './date-pattern';\nimport dateNameType from './date-name-type';\nimport { dateFormatRegExp, DATE_FIELD_MAP } from './constants';\nimport { localeInfo } from '../cldr';\n\nvar NAME_TYPES = {\n month: {\n type: 'months',\n minLength: 3,\n standAlone: 'L'\n },\n\n quarter: {\n type: 'quarters',\n minLength: 3,\n standAlone: 'q'\n },\n\n weekday: {\n type: 'days',\n minLength: {\n E: 0,\n c: 3,\n e: 3\n },\n standAlone: 'c'\n },\n\n dayperiod: {\n type: 'dayPeriods',\n minLength: 0\n },\n\n era: {\n type: 'eras',\n minLength: 0\n }\n};\n\nvar LITERAL = 'literal';\n\nfunction addLiteral(parts, value) {\n var lastPart = parts[parts.length - 1];\n if (lastPart && lastPart.type === LITERAL) {\n lastPart.pattern += value;\n } else {\n parts.push({\n type: LITERAL,\n pattern: value\n });\n }\n}\n\nfunction isHour12(pattern) {\n return pattern === 'h' || pattern === 'K';\n}\n\nexport default function splitDateFormat(format, locale) {\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n\n var info = localeInfo(locale);\n var pattern = datePattern(format, info);\n var parts = [];\n var lastIndex = dateFormatRegExp.lastIndex = 0;\n var match = dateFormatRegExp.exec(pattern);\n\n while (match) {\n var value = match[0];\n\n if (lastIndex < match.index) {\n addLiteral(parts, pattern.substring(lastIndex, match.index));\n }\n\n if (value.startsWith('\"') || value.startsWith(\"'\")) {\n addLiteral(parts, value);\n } else {\n var specifier = value[0];\n var type = DATE_FIELD_MAP[specifier];\n var part = {\n type: type,\n pattern: value\n };\n\n if (type === 'hour') {\n part.hour12 = isHour12(value);\n }\n\n var names = NAME_TYPES[type];\n\n if (names) {\n var minLength = isNumber(names.minLength) ? names.minLength : names.minLength[specifier];\n var patternLength = value.length;\n\n if (patternLength >= minLength) {\n part.names = {\n type: names.type,\n nameType: dateNameType(patternLength),\n standAlone: names.standAlone === specifier\n };\n }\n }\n\n parts.push(part);\n }\n\n lastIndex = dateFormatRegExp.lastIndex;\n match = dateFormatRegExp.exec(pattern);\n }\n\n if (lastIndex < pattern.length) {\n addLiteral(parts, pattern.substring(lastIndex));\n }\n\n return parts;\n}\n","import { formatDate } from './dates';\nimport { formatNumber } from './numbers';\nimport { EMPTY } from './common/constants';\nimport isDate from './common/is-date';\nimport isNumber from './common/is-number';\n\nvar formatRegExp = /\\{(\\d+)(:[^\\}]+)?\\}/g;\n\nexport function toString(value, format, locale) {\n if (format) {\n if (isDate(value)) {\n return formatDate(value, format, locale);\n } else if (isNumber(value)) {\n return formatNumber(value, format, locale);\n }\n }\n\n return value !== undefined && value !== null ? value : EMPTY;\n}\n\nexport function format(format, values, locale) {\n return format.replace(formatRegExp, function(match, index, placeholderFormat) {\n var value = values[parseInt(index, 10)];\n\n return toString(value, placeholderFormat ? placeholderFormat.substring(1) : EMPTY, locale);\n });\n}\n","import * as coreIntl from '@telerik/kendo-intl';\n/**\n * A service which provides internationalization methods\n * and is bound to a specific locale.\n */\nvar IntlService = /** @class */ (function () {\n /**\n * Creates a new instance of the internationalization service.\n *\n * @param locale - The locale that will be used by the internationalization methods.\n */\n function IntlService(locale) {\n this.locale = locale;\n if (locale === '' && process.env.NODE_ENV !== 'production') {\n throw 'Locale should not be empty string';\n }\n }\n /**\n * Formats a string with placeholders such as\n * `Total amount {0:c}`.\n *\n * @param format - The format string.\n * @param values - One or more values to output in the format string placeholders.\n * @return - The formatted string.\n */\n IntlService.prototype.format = function (format) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n /* The following code retains backward compatibility with the old API */\n if (values.length === 1 && Array.isArray(values[0])) {\n return coreIntl.format(format, values[0], this.locale);\n }\n return coreIntl.format(format, values, this.locale);\n };\n /**\n * Converts a `Date` object to a string based on the specified format.\n * If no format is provided, the default short date format is used.\n *\n * @param value - The date which will be formatted.\n * @param format - The format string or options.\n * @return - The formatted date.\n */\n IntlService.prototype.formatDate = function (value, format) {\n return coreIntl.formatDate(value, format, this.locale);\n };\n /**\n * Converts an object to a string based on the specified format.\n *\n * @param value - The value which will be formatted.\n * @param format - The format to use.\n * @return - The formatted object.\n */\n IntlService.prototype.toString = function (value, format) {\n return coreIntl.toString(value, format, this.locale);\n };\n /**\n * Converts a string to a `Number`.\n *\n * @param value - The string which will be parsed.\n * @param format - The format string or options.\n * @return - The parsed number.\n */\n IntlService.prototype.parseNumber = function (value, format) {\n return coreIntl.parseNumber(value, this.locale, format);\n };\n /**\n * Converts a string to a `Date` object based on the specified format.\n *\n * @param value - The string which will be converted.\n * @param format - The format strings or options.\n * @return - The parsed date.\n */\n IntlService.prototype.parseDate = function (value, format) {\n return coreIntl.parseDate(value, format, this.locale);\n };\n /**\n * Converts a `Number` to a string based on the specified format.\n *\n * @param value - The number which will be formatted.\n * @param format - The format string or options.\n * @return - The formatted number.\n */\n IntlService.prototype.formatNumber = function (value, format) {\n return coreIntl.formatNumber(value, format, this.locale);\n };\n /**\n * Returns a localized date field name based on specific `dateFieldName` options.\n *\n * @param options - The detailed configuration for the desired date field name.\n * @returns - The localized date field name from the current locale based on the option.\n */\n IntlService.prototype.dateFieldName = function (options) {\n return coreIntl.dateFieldName(options, this.locale);\n };\n /**\n * Returns the day names from the current locale based on the option.\n *\n * @param options - The detailed configuration for the desired date format.\n * @return - The day names from the current locale based on the option.\n */\n IntlService.prototype.dateFormatNames = function (options) {\n return coreIntl.dateFormatNames(this.locale, options);\n };\n /**\n * Splits the date format into objects which contain\n * information about each part of the pattern.\n *\n * @param format - The format string or options.\n * @returns - The date format parts.\n */\n IntlService.prototype.splitDateFormat = function (format) {\n return coreIntl.splitDateFormat(format, this.locale);\n };\n /**\n * Returns the number symbols from the current locale.\n *\n * @return - The number symbols from the current locale.\n */\n IntlService.prototype.numberSymbols = function () {\n return coreIntl.numberSymbols(this.locale);\n };\n /**\n * Returns the first day index, starting from Sunday.\n *\n * @return - The index of the first day of the week (0 == Sunday).\n */\n IntlService.prototype.firstDay = function () {\n return coreIntl.firstDay(this.locale);\n };\n return IntlService;\n}());\nexport { IntlService };\n","var _Draggable;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport KendoDraggable from '@telerik/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * Represents the default `Draggable` component.\n */\n\nvar Draggable = (_Draggable = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n this.draggable = new KendoDraggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!gh ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_Draggable, \"setup\", !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n}), _defineProperty(_Draggable, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _Draggable);\nexport { Draggable };","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","import { FIELD_REGEX } from './constants';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template) {\n return undefined;\n }\n var scopedSlot = gh ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n // @ts-ignore\n if (typeof template === 'string' && scopedSlot) {\n // @ts-ignore\n return { type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || typeof template === 'object' ||\n (typeof template === 'function' && template.component)) {\n return { type: 'component', render: template, listeners: listeners };\n }\n return { type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (gh) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render(h, defaultRendering, defaultSlots, props, events);\n }\n return template.render(h, defaultRendering, props, events, defaultSlots);\n }\n else {\n return h(template.render, componentOptions, gh ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \" + packageMetadata.name + \"\\n\";\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \" + packageMetadata.licensingDocsUrl + \" for more information.\\n\";\n console.warn(message);\n }\n}\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-intl',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1641561032,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as aVue from 'vue';\nvar allVue = aVue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar provide = allVue.provide;\nimport { IntlService } from './IntlService';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * A Vue component which provides an internationalization service.\n * Expects a locale string as a property of the component.\n */\n\nvar IntlProvider = {\n props: {\n locale: String\n },\n data: function data() {\n return this.getChildContext();\n },\n // @ts-ignore\n setup: function setup(props) {\n var v3 = !!gh;\n var intlService = ref(new IntlService(props.locale));\n provide('kendoIntlService', intlService);\n return {\n v3: v3\n };\n },\n watch: {\n locale: function locale(newLocale) {\n this.$data.kendoIntlService.locale = newLocale;\n }\n },\n provide: function provide() {\n return {\n kendoIntlService: this.$data.kendoIntlService\n };\n },\n methods: {\n /**\n * Returns an internationalization service.\n * The method is suitable for overriding when you\n * implement custom internationalization behavior.\n */\n getIntlService: function getIntlService() {\n return new IntlService(this.$props.locale);\n },\n\n /**\n * @hidden\n */\n getChildContext: function getChildContext() {\n return {\n kendoIntlService: this.getIntlService()\n };\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n\n /**\n * @hidden\n */\n // @ts-ignore\n render: function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", [defaultSlot]);\n }\n};\nvar IntlProviderVue3 = IntlProvider;\nexport { IntlProvider, IntlProviderVue3 };","import { IntlProvider, IntlProviderVue3 } from './IntlProvider';\nimport { IntlService } from './IntlService';\nexport { IntlProvider, IntlProviderVue3, IntlService };\n// Automatic installation if Vue has been added to the global scope.\nvar vue = 'Vue';\nif (typeof window !== 'undefined' && window[vue] && window[vue].component) {\n window[vue].component('kendo-intl-provider', IntlProvider);\n}\n","/**\n * @hidden\n */\nexport var messages = Object.create({});\n","import { messages } from './messages';\n/**\n * A service which provides localization methods.\n */\nvar LocalizationService = /** @class */ (function () {\n function LocalizationService(language) {\n this.language = language;\n if (language === '' && process.env.NODE_ENV !== 'production') {\n throw 'Language should not be an empty string';\n }\n }\n /**\n * Provides a string based on a key for the current language.\n * When no string for the current language is available under this key,\n * the `defaultValue` is returned.\n *\n * @param key - The key which identifies the string for the current language.\n * @param defaultValue - The default value which will be returned when no string\n * for the current language is available under the key.\n * @return - The string for the current language.\n */\n LocalizationService.prototype.toLanguageString = function (key, defaultValue) {\n if (this.language &&\n messages[this.language] &&\n messages[this.language].hasOwnProperty(key)) {\n return messages[this.language][key];\n }\n else if (Object.keys(this)[0] &&\n messages[Object.values(this)[0]] &&\n messages[Object.values(this)[0]].hasOwnProperty(key)) {\n return messages[Object.values(this)[0]][key];\n }\n else {\n return defaultValue;\n }\n };\n return LocalizationService;\n}());\nexport { LocalizationService };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar provide = allVue.provide;\nimport { LocalizationService } from './LocalizationService';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * A Vue component which provides a localization service.\n * Expects a language string as a property of the component.\n */\n\nvar LocalizationProvider = {\n props: {\n language: String\n },\n data: function data() {\n return this.getChildContext();\n },\n watch: {\n language: function language(newLanguage) {\n this.$data.kendoLocalizationService.language = newLanguage;\n }\n },\n // @ts-ignore\n setup: function setup(props) {\n var v3 = !!gh;\n var localizationService = ref(new LocalizationService(props.language));\n provide('kendoLocalizationService', localizationService);\n return {\n v3: v3\n };\n },\n provide: function provide() {\n return {\n kendoLocalizationService: this.$data.kendoLocalizationService\n };\n },\n methods: {\n /**\n * Returns a localization service.\n * The method is suitable for overriding when you\n * implement custom localization behavior.\n */\n getLocalizationService: function getLocalizationService() {\n return new LocalizationService(this.$props.language);\n },\n\n /**\n * @hidden\n */\n getChildContext: function getChildContext() {\n return {\n kendoLocalizationService: this.getLocalizationService()\n };\n }\n },\n\n /**\n * @hidden\n */\n // @ts-ignore\n render: function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", [defaultSlot]);\n }\n};\nvar LocalizationProviderVue3 = LocalizationProvider;\nexport { LocalizationProvider, LocalizationProviderVue3 };","import { loadMessages } from './loadMessages';\nimport { LocalizationProvider, LocalizationProviderVue3 } from './LocalizationProvider';\nimport { LocalizationService } from './LocalizationService';\nexport { loadMessages, LocalizationProvider, LocalizationProviderVue3, LocalizationService };\n// Automatic installation if Vue has been added to the global scope.\nvar vue = 'Vue';\nif (typeof window !== 'undefined' && window[vue] && window[vue].component) {\n window[vue].component('kendo-localization-provider', LocalizationProvider);\n}\n","import { IntlService } from './Intl/IntlService';\nimport { LocalizationService } from './Localization/LocalizationService';\n/**\n * Provides an internationalization service.\n * When the passed component is a direct or indirect child of\n * `IntlProvider`, the returned service uses the locale of the provider.\n * Otherwise, uses `en` as a default locale.\n * To handle locale changes, call the method on each `render`.\n *\n * @param componentClass - The Vue component class that will use the internationalization service.\n */\nexport function provideIntlService(component) {\n if (!component && process.env.NODE_ENV !== 'production') {\n throw \"Passed component - \" + component + \" is invalid.\";\n }\n var intlServiceFromContext = component.kendoIntlService;\n return (intlServiceFromContext &&\n Object.keys(intlServiceFromContext).some(function (item) { return item === 'locale'; }))\n ? intlServiceFromContext : new IntlService('en');\n}\n/**\n * Provides a localization service.\n * When the passed component is a direct or indirect child of\n * `LocalizationProvider`, the returned service uses the language of the provider.\n * To handle locale changes, call the method on each `render`.\n *\n * @param componentClass - The Vue component class that will use the internationalization service.\n */\nexport function provideLocalizationService(component) {\n if (!component && process.env.NODE_ENV !== 'production') {\n throw \"Passed component - \" + component + \" is invalid.\";\n }\n var localizationServiceFromContext = component.kendoLocalizationService;\n return (localizationServiceFromContext &&\n Object.keys(localizationServiceFromContext).some(function (item) { return item === 'language'; }))\n ? localizationServiceFromContext : new LocalizationService();\n}\n","var _Draggable;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport KendoDraggable from '@telerik/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * Represents the default `Draggable` component.\n */\n\nvar Draggable = (_Draggable = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n this.draggable = new KendoDraggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!gh ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_Draggable, \"setup\", !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n}), _defineProperty(_Draggable, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _Draggable);\nexport { Draggable };","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","import { FIELD_REGEX } from './constants';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template) {\n return undefined;\n }\n var scopedSlot = gh ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n // @ts-ignore\n if (typeof template === 'string' && scopedSlot) {\n // @ts-ignore\n return { type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || typeof template === 'object' ||\n (typeof template === 'function' && template.component)) {\n return { type: 'component', render: template, listeners: listeners };\n }\n return { type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (gh) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render(h, defaultRendering, defaultSlots, props, events);\n }\n return template.render(h, defaultRendering, props, events, defaultSlots);\n }\n else {\n return h(template.render, componentOptions, gh ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","var _a;\n/**\n * @hidden\n */\nexport var labelsOptional = 'labels.optional';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[labelsOptional] = '(Optional)',\n _a);\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \" + packageMetadata.name + \"\\n\";\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \" + packageMetadata.licensingDocsUrl + \" for more information.\\n\";\n console.warn(message);\n }\n}\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-labels',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1641561186,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { labelsOptional, messages } from './messages';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { packageMetadata } from './package-metadata';\n/**\n * Represents the default `Label` component.\n */\n\nvar Label = {\n name: 'KendoLabel',\n props: {\n id: String,\n editorId: String,\n editorRef: String,\n editorValid: {\n type: Boolean,\n default: undefined\n },\n editorDisabled: Boolean,\n optional: Boolean\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n labelClassName: function labelClassName() {\n return {\n 'k-label': true,\n 'k-label-empty': !this.defaultSlots,\n 'k-text-error': this.$props.editorValid === false,\n 'k-text-disabled': this.$props.editorDisabled === true\n };\n }\n },\n methods: {\n onLabelClick: function onLabelClick(e) {\n if (this.$props.editorRef && this.$props.editorRef.current && !this.$props.editorDisabled) {\n if (this.$props.editorRef.current.focus) {\n e.preventDefault();\n this.$props.editorRef.current.focus();\n }\n\n var editorActionElement = this.$props.editorRef.current.actionElement;\n\n if (editorActionElement) {\n e.preventDefault();\n editorActionElement.click();\n }\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n this.defaultSlots = getDefaultSlots(this);\n var ls = provideLocalizationService(this);\n var _a = this.$props,\n id = _a.id,\n editorId = _a.editorId,\n optional = _a.optional;\n var localizedOptional = optional ? ls.toLanguageString(labelsOptional, messages[labelsOptional]) : '';\n var optionalElement = localizedOptional && h(\"span\", {\n \"class\": 'k-label-optional'\n }, [localizedOptional]);\n return h(\"label\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n \"for\": editorId\n },\n \"for\": editorId,\n onClick: this.onLabelClick,\n on: this.v3 ? undefined : {\n \"click\": this.onLabelClick\n },\n \"class\": this.labelClassName\n }, [this.defaultSlots, optionalElement]);\n }\n};\nvar LabelVue3 = Label;\nexport { Label, LabelVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { packageMetadata } from './package-metadata';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\n/**\n * Represents the default `Error` component.\n */\n\nvar Error = {\n name: 'KendoError',\n props: {\n id: String,\n direction: {\n type: String,\n default: 'start',\n validator: function validator(value) {\n return ['start', 'end'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n errorClassName: function errorClassName() {\n return {\n 'k-form-error': true,\n 'k-text-start': this.$props.direction === 'start',\n 'k-text-end': this.$props.direction === 'end'\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n role: 'alert'\n },\n role: 'alert',\n \"class\": this.errorClassName\n }, [defaultSlots]);\n }\n};\nvar ErrorVue3 = Error;\nexport { Error, ErrorVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { packageMetadata } from './package-metadata';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\n/**\n * Represents the default `Hint` component.\n */\n\nvar Hint = {\n name: 'KendoHint',\n props: {\n id: String,\n direction: {\n type: String,\n default: 'start',\n validator: function validator(value) {\n return ['start', 'end'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n hintClassName: function hintClassName() {\n return {\n 'k-form-hint': true,\n 'k-text-start': this.$props.direction === 'start',\n 'k-text-end': this.$props.direction === 'end'\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id\n },\n \"class\": this.hintClassName\n }, [defaultSlots]);\n }\n};\nvar HintVue3 = Hint;\nexport { Hint, HintVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { labelsOptional, messages } from './messages';\nimport { packageMetadata } from './package-metadata';\n/**\n * Represents the default `FloatingLabel` component.\n */\n\nvar FloatingLabel = {\n name: 'KendoFloatingLabel',\n props: {\n label: String,\n editorId: String,\n editorValue: [String, Boolean, Number],\n editorPlaceholder: String,\n editorValid: {\n type: Boolean,\n default: undefined\n },\n editorDisabled: Boolean,\n id: String,\n optional: Boolean\n },\n data: function data() {\n return {\n focused: false\n };\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n spanClassNames: function spanClassNames() {\n return {\n 'k-textbox-container': true,\n 'k-state-focused': this.focused,\n 'k-state-empty': !this.$props.editorPlaceholder && !this.$props.editorValue && this.$props.editorValue !== 0,\n 'k-text-disabled': this.$props.editorDisabled,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n },\n labelClassNames: function labelClassNames() {\n return {\n 'k-label': true,\n 'k-text-error': this.$props.editorValid === false,\n 'k-text-disabled': this.$props.editorDisabled\n };\n }\n },\n methods: {\n handleFocus: function handleFocus() {\n this.focused = true;\n },\n handleBlur: function handleBlur() {\n this.focused = false;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var _a = this.$props,\n label = _a.label,\n editorId = _a.editorId,\n id = _a.id,\n optional = _a.optional;\n var ls = provideLocalizationService(this);\n var localizedOptional = optional ? ls.toLanguageString(labelsOptional, messages[labelsOptional]) : '';\n var optionalElement = localizedOptional && h(\"span\", {\n \"class\": 'k-label-optional'\n }, [localizedOptional]);\n return h(\"span\", {\n \"class\": this.spanClassNames,\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus,\n \"focusout\": this.handleBlur\n },\n onFocusout: this.handleBlur,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [defaultSlots, label ? editorId ? h(\"label\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n \"for\": editorId\n },\n \"for\": editorId,\n \"class\": this.labelClassNames\n }, [label, optionalElement]) : h(\"span\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id\n },\n \"class\": this.labelClassNames\n }, [label, optionalElement]) : null]);\n }\n};\nvar FloatingLabelVue3 = FloatingLabel;\nexport { FloatingLabel, FloatingLabelVue3 };","var _Draggable;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport KendoDraggable from '@telerik/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * Represents the default `Draggable` component.\n */\n\nvar Draggable = (_Draggable = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n this.draggable = new KendoDraggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!gh ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_Draggable, \"setup\", !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n}), _defineProperty(_Draggable, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _Draggable);\nexport { Draggable };","/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg)\n ? classNames.apply(void 0, arg) : typeof arg === 'object'\n ? Object\n .keys(arg)\n .map(function (key, idx) { return arg[idx] || (arg[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ')\n : arg;\n })\n .filter(function (arg) { return !!arg; })\n .join(' ');\n};\n","/* tslint:disable:no-bitwise */\n/**\n * @hidden\n */\nvar guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\nexport { guid };\n","/**\n * @hidden\n */\nvar Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\nexport { Keys };\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport var focusFirstFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll('input, [tabindex]:not([tabindex=\"-1\"])');\n if (elements.length && elements[0].focus) {\n elements[0].focus();\n }\n }\n};\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","import { FIELD_REGEX } from './constants';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n return Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template) {\n return undefined;\n }\n var scopedSlot = gh ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n // @ts-ignore\n if (typeof template === 'string' && scopedSlot) {\n // @ts-ignore\n return { type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || typeof template === 'object' ||\n (typeof template === 'function' && template.component)) {\n return { type: 'component', render: template, listeners: listeners };\n }\n return { type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (gh) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render(h, defaultRendering, defaultSlots, props, events);\n }\n return template.render(h, defaultRendering, props, events, defaultSlots);\n }\n else {\n return h(template.render, componentOptions, gh ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","import { canUseDOM } from './canUseDOM';\n/**\n * @hidden\n */\nexport function isRtl(element) {\n return Boolean(canUseDOM && element && getComputedStyle(element).direction === 'rtl');\n}\n/**\n * @hidden\n */\nexport function getDir(element, initialDir) {\n if (!initialDir && canUseDOM && element) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(element).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n return rtlCandidate;\n }\n }\n return initialDir;\n}\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \" + packageMetadata.name + \"\\n\";\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \" + packageMetadata.licensingDocsUrl + \" for more information.\\n\";\n console.warn(message);\n }\n}\n","// @ts-ignore\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * Represents the default `TabStripNavigationItem` component.\n */\n\nvar TabStripNavigationItem = {\n name: 'KendoTabStripNavigationItem',\n // @ts-ignore\n emits: {\n select: null\n },\n props: {\n active: Boolean,\n disabled: Boolean,\n index: Number,\n title: {\n type: String,\n default: 'Untitled'\n },\n titleRender: [String, Function, Object],\n first: {\n type: Boolean,\n default: undefined\n },\n last: {\n type: Boolean,\n default: undefined\n }\n },\n computed: {\n itemClasses: {\n get: function get() {\n var _a;\n\n var _b = this.$props,\n active = _b.active,\n disabled = _b.disabled,\n first = _b.first,\n last = _b.last;\n return _a = {}, _a['k-first'] = first, _a['k-last'] = last, _a['k-item'] = true, _a['k-state-disabled'] = disabled, _a['k-state-active'] = active, _a;\n }\n }\n },\n methods: {\n onClick: function onClick() {\n if (!this.$props.disabled) {\n this.$emit('select', this.$props.index);\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n active = _a.active,\n _b = _a.title,\n title = _b === void 0 ? 'Untitled' : _b;\n var titleRender = this.$props.titleRender;\n var titleElement = getTemplate.call(this, {\n h: h,\n template: titleRender,\n defaultRendering: title,\n additionalProps: this.$props,\n additionalListeners: {\n select: this.onClick\n }\n });\n return h(\"li\", {\n \"aria-selected\": active,\n attrs: this.v3 ? undefined : {\n \"aria-selected\": active,\n role: 'tab'\n },\n role: 'tab',\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick\n },\n \"class\": this.itemClasses\n }, [h(\"span\", {\n \"class\": \"k-link\"\n }, [titleElement])]);\n }\n};\nvar TabStripNavigationItemVue3 = TabStripNavigationItem;\nexport { TabStripNavigationItem, TabStripNavigationItemVue3 };","export var avatarShape;\n\n(function (avatarShape) {\n avatarShape[\"CIRCLE\"] = \"circle\";\n avatarShape[\"SQUARE\"] = \"square\";\n avatarShape[\"ROUNDED\"] = \"rounded\";\n avatarShape[\"RECTANGLE\"] = \"rectangle\";\n})(avatarShape || (avatarShape = {}));\n\nexport var avatarType;\n\n(function (avatarType) {\n avatarType[\"TEXT\"] = \"text\";\n avatarType[\"IMAGE\"] = \"image\";\n avatarType[\"ICON\"] = \"icon\";\n})(avatarType || (avatarType = {}));\n\nexport var avatarSize;\n\n(function (avatarSize) {\n avatarSize[\"SMALL\"] = \"small\";\n avatarSize[\"MEDIUM\"] = \"medium\";\n avatarSize[\"LARGE\"] = \"large\";\n})(avatarSize || (avatarSize = {}));\n\nexport var avatarFill;\n\n(function (avatarFill) {\n avatarFill[\"SOLID\"] = \"solid\";\n avatarFill[\"OUTLINE\"] = \"outline\";\n})(avatarFill || (avatarFill = {}));\n\nexport var avatarThemeColor;\n\n(function (avatarThemeColor) {\n avatarThemeColor[\"PRIMARY\"] = \"primary\";\n avatarThemeColor[\"SECONDARY\"] = \"secondary\";\n avatarThemeColor[\"TERTIARY\"] = \"tertiary\";\n avatarThemeColor[\"INFO\"] = \"info\";\n avatarThemeColor[\"SUCCESS\"] = \"success\";\n avatarThemeColor[\"WARNING\"] = \"warning\";\n avatarThemeColor[\"ERROR\"] = \"error\";\n avatarThemeColor[\"DARK\"] = \"dark\";\n avatarThemeColor[\"LIGHT\"] = \"light\";\n avatarThemeColor[\"INVERSE\"] = \"inverse\";\n avatarThemeColor[\"INHERIT\"] = \"inherit\";\n})(avatarThemeColor || (avatarThemeColor = {}));\n\nexport var cardOrientation;\n\n(function (cardOrientation) {\n cardOrientation[\"HORIZONTAL\"] = \"horizontal\";\n cardOrientation[\"VERTICAL\"] = \"vertical\";\n})(cardOrientation || (cardOrientation = {}));\n\nexport var cardType;\n\n(function (cardType) {\n cardType[\"DEFAULT\"] = \"default\";\n cardType[\"primary\"] = \"primary\";\n cardType[\"INFO\"] = \"info\";\n cardType[\"SUCCESS\"] = \"success\";\n cardType[\"WARNING\"] = \"warning\";\n cardType[\"ERROR\"] = \"error\";\n})(cardType || (cardType = {}));\n\nexport var cardActionsLayout;\n\n(function (cardActionsLayout) {\n cardActionsLayout[\"START\"] = \"start\";\n cardActionsLayout[\"CENTER\"] = \"center\";\n cardActionsLayout[\"END\"] = \"end\";\n cardActionsLayout[\"STRETCHED\"] = \"stretched\";\n})(cardActionsLayout || (cardActionsLayout = {}));","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { TabStripNavigationItem } from './TabStripNavigationItem';\n/**\n * @hidden\n */\n\nvar times = function times(count) {\n return Array.apply(null, Array(count));\n};\n/**\n * Represents the default `TabStripNavigation` component.\n */\n\n\nvar TabStripNavigation = {\n name: 'KendoTabStripNavigation',\n // @ts-ignore\n emits: {\n select: null,\n keydown: null\n },\n props: {\n tabs: Array,\n selected: Number,\n tabIndex: Number,\n tabPosition: String\n },\n computed: {\n wrapperNavClasses: {\n get: function get() {\n return {\n 'k-tabstrip-items-wrapper': true,\n 'k-hstack': this.$props.tabPosition === 'top' || this.$props.tabPosition === 'bottom',\n 'k-vstack': this.$props.tabPosition === 'left' || this.$props.tabPosition === 'right'\n };\n }\n },\n navClasses: {\n get: function get() {\n return {\n 'k-tabstrip-items': true,\n 'k-reset': true\n };\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n tabs = _a.tabs,\n selected = _a.selected;\n var tabsCount = tabs.length;\n\n var renderTabs = function renderTabs() {\n return times(tabsCount).map(function (_, index, array) {\n return (// @ts-ignore function children\n h(TabStripNavigationItem, {\n key: index,\n active: selected === index,\n attrs: this.v3 ? undefined : {\n active: selected === index,\n disabled: tabs[index].disabled,\n index: index,\n title: tabs[index].title,\n titleRender: tabs[index].titleRender,\n first: index === 0,\n last: index === array.length - 1\n },\n disabled: tabs[index].disabled,\n index: index,\n title: tabs[index].title,\n titleRender: tabs[index].titleRender,\n first: index === 0,\n last: index === array.length - 1,\n onSelect: this.onSelect,\n on: this.v3 ? undefined : {\n \"select\": this.onSelect\n }\n })\n );\n }, this);\n };\n\n return h(\"div\", {\n \"class\": this.wrapperNavClasses\n }, [h(\"ul\", {\n \"class\": this.navClasses,\n role: 'tablist',\n attrs: this.v3 ? undefined : {\n role: 'tablist',\n tabIndex: this.$props.tabIndex\n },\n tabIndex: this.$props.tabIndex,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown\n }\n }, [renderTabs.call(this)])]);\n },\n methods: {\n onKeyDown: function onKeyDown(e) {\n this.$emit('keydown', e);\n },\n onSelect: function onSelect(idx) {\n this.$emit('select', idx);\n }\n }\n};\nvar TabStripNavigationVue3 = TabStripNavigation;\nexport { TabStripNavigation, TabStripNavigationVue3 };","export var getTabs = function (curTabs, children) {\n var that = this;\n var foundTabs = [];\n children.forEach(function (child) {\n if (that.v3 && child.children && child.children.length) {\n foundTabs = getTabs.call(that, curTabs, child.children);\n }\n if (child && child.tag && child.tag.toLowerCase().indexOf('tab') !== -1 ||\n child.type && child.type.name && child.type.name.toLowerCase().indexOf('kendotabstriptab') !== -1) {\n foundTabs.push(child);\n }\n });\n return foundTabs;\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { Fade } from '@progress/kendo-vue-animation';\nimport { classNames, guid, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { getTabs } from './utils';\n/**\n * Represents the default `TabStripContent` component.\n */\n\nvar TabStripContent = {\n name: 'KendoTabStripContent',\n props: {\n showAll: Boolean,\n animation: Boolean,\n tabs: Array,\n selected: Number\n },\n created: function created() {\n this.contentId = guid();\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n tabs = _a.tabs,\n selected = _a.selected,\n showAll = _a.showAll;\n var selectedTab = tabs && typeof selected === 'number' && tabs[selected];\n var defaultSlots = getDefaultSlots(this);\n var innerTabs = getTabs.call(this, [], defaultSlots);\n var tabStyles = selected < innerTabs.length && selected > -1;\n var contentClasses = classNames({\n 'k-content': tabStyles\n }, {\n 'k-state-active': tabStyles\n }, selectedTab && selectedTab.contentClassName);\n\n var renderChild = function renderChild(tab, idx) {\n var _this = this;\n\n var visible = idx === this.$props.selected;\n var animationStyle = {\n position: 'initial',\n display: visible ? undefined : 'none'\n };\n return (// @ts-ignore function children\n h(Fade, {\n appear: this.v3 ? true : visible,\n attrs: this.v3 ? undefined : {\n appear: this.v3 ? true : visible,\n enter: this.$props.animation,\n exit: this.$props.keepTabsMounted\n },\n key: idx,\n enter: this.$props.animation,\n exit: this.$props.keepTabsMounted,\n style: animationStyle\n }, this.v3 ? function () {\n return [h(\"div\", {\n role: 'tabpanel',\n attrs: _this.v3 ? undefined : {\n role: 'tabpanel',\n \"aria-expanded\": true,\n id: String(_this.contentId + idx)\n },\n \"aria-expanded\": true,\n id: String(_this.contentId + idx),\n key: idx\n }, [tab])];\n } : [h(\"div\", {\n role: 'tabpanel',\n attrs: _this.v3 ? undefined : {\n role: 'tabpanel',\n \"aria-expanded\": true,\n id: String(_this.contentId + idx)\n },\n \"aria-expanded\": true,\n id: String(_this.contentId + idx),\n key: idx\n }, [tab])])\n );\n };\n\n var renderContent = function renderContent() {\n return showAll && innerTabs.map(function (tab, idx) {\n return renderChild.call(this, tab, idx);\n }, this);\n };\n\n return h(\"div\", {\n \"class\": contentClasses,\n style: this.$props.style\n }, [renderContent.call(this)]);\n }\n};\nvar TabStripContentVue3 = TabStripContent;\nexport { TabStripContent, TabStripContentVue3 };","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-layout',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1641561261,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { TabStripNavigation } from './TabStripNavigation';\nimport { TabStripContent } from './TabStripContent';\nimport { Keys, classNames, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * Represents the default `TabStrip` component.\n */\n\nvar TabStrip = {\n name: 'KendoTabStrip',\n // @ts-ignore\n emits: {\n select: null\n },\n props: {\n animation: {\n type: Boolean,\n default: true\n },\n selected: Number,\n tabContentStyle: Object,\n tabPosition: {\n type: String,\n default: 'top'\n },\n tabIndex: Number,\n dir: String\n },\n data: function data() {\n return {\n currentShowAll: true,\n currentTabs: []\n };\n },\n provide: function provide() {\n return {\n addRenderTitle: this.addRenderTitle,\n addTab: this.addTab,\n removeTab: this.removeTab\n };\n },\n created: function created() {\n var _a;\n\n var _this = this;\n\n this.keyBinding = (_a = {}, _a[Keys.left] = function () {\n return _this.prevNavigatableTab();\n }, _a[Keys.right] = function () {\n return _this.nextNavigatableTab();\n }, _a[Keys.down] = function () {\n return _this.nextNavigatableTab();\n }, _a[Keys.up] = function () {\n return _this.prevNavigatableTab();\n }, _a[Keys.home] = function () {\n return 0;\n }, _a[Keys.end] = function () {\n return _this.currentTabs.length - 1;\n }, _a);\n validatePackage(packageMetadata);\n },\n watch: {\n selected: function selected(_prevIndex, _nextIndex) {\n if (this.$props.animation) {\n this.currentShowAll = false;\n this.$nextTick(function () {\n this.currentShowAll = true;\n });\n }\n }\n },\n methods: {\n addRenderTitle: function addRenderTitle(currentId, titleTemplate) {\n var indexToUpdate = this.currentTabs.findIndex(function (e) {\n return e.id === currentId;\n });\n\n if (this.v3) {\n this.currentTabs[indexToUpdate].titleRender = titleTemplate;\n } else {\n this.currentTabs[indexToUpdate] = __assign(__assign({}, this.currentTabs[indexToUpdate]), {\n titleRender: titleTemplate\n });\n }\n },\n addTab: function addTab(newTab) {\n this.currentTabs.push(newTab);\n },\n removeTab: function removeTab(currentId) {\n var indexToRemove = this.currentTabs.findIndex(function (e) {\n return e.id === currentId;\n });\n this.currentTabs.splice(indexToRemove, 1);\n },\n onSelect: function onSelect(index) {\n if (this.$props.selected !== index) {\n this.$emit('select', {\n selected: index\n });\n }\n },\n onKeyDown: function onKeyDown(event) {\n var handler;\n\n switch (event.keyCode) {\n case Keys.left:\n handler = this.keyBinding[this.invertKeys(Keys.left, Keys.right)];\n break;\n\n case Keys.right:\n handler = this.keyBinding[this.invertKeys(Keys.right, Keys.left)];\n break;\n\n case Keys.up:\n handler = this.keyBinding[Keys.up];\n break;\n\n case Keys.down:\n handler = this.keyBinding[Keys.down];\n break;\n\n case Keys.home:\n handler = this.keyBinding[Keys.home];\n break;\n\n case Keys.end:\n handler = this.keyBinding[Keys.end];\n break;\n\n default:\n break;\n }\n\n if (handler) {\n event.preventDefault();\n this.onSelect(handler());\n }\n },\n invertKeys: function invertKeys(original, inverted) {\n var rtl = this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n return rtl ? inverted : original;\n },\n firstNavigatableTab: function firstNavigatableTab() {\n var length = this.currentTabs.length;\n\n if (length) {\n for (var i = 0; i < length; i++) {\n if (!this.currentTabs[i].disabled) {\n return i;\n }\n }\n }\n },\n lastNavigatableTab: function lastNavigatableTab() {\n var length = this.currentTabs.length;\n\n if (length) {\n for (var i = length - 1; i > 0; i--) {\n if (!this.currentTabs[i].disabled) {\n return i;\n }\n }\n }\n },\n prevNavigatableTab: function prevNavigatableTab() {\n var length = this.currentTabs.length;\n var selected = this.$props.selected;\n var index = selected ? selected - 1 : -1;\n\n if (index < 0) {\n return this.lastNavigatableTab();\n }\n\n if (length) {\n for (var i = index; i > -1; i--) {\n if (!this.currentTabs[i].disabled) {\n return i;\n }\n\n if (i === 0) {\n return this.lastNavigatableTab();\n }\n }\n }\n },\n nextNavigatableTab: function nextNavigatableTab() {\n var length = this.currentTabs.length;\n var selected = this.$props.selected;\n var index = selected ? selected + 1 : 1;\n\n if (index >= length) {\n return this.firstNavigatableTab();\n }\n\n if (length) {\n for (var i = index; i < length; i++) {\n if (!this.currentTabs[i].disabled) {\n return i;\n }\n\n if (i + 1 === length) {\n return this.firstNavigatableTab();\n }\n }\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _a;\n\n var h = gh || createElement;\n\n var tabProps = __assign({}, this.$props);\n\n var tabPosition = tabProps.tabPosition,\n _b = tabProps.tabIndex,\n tabIndex = _b === void 0 ? 0 : _b;\n var bottom = tabPosition === 'bottom';\n var componentClasses = classNames('k-widget', 'k-header', 'k-floatwrap', 'k-tabstrip', (_a = {}, _a['k-tabstrip-left'] = tabPosition === 'left', _a['k-tabstrip-right'] = tabPosition === 'right', _a['k-tabstrip-bottom'] = tabPosition === 'bottom', _a['k-tabstrip-top'] = tabPosition === 'top', _a));\n\n var renderContent = function renderContent(currentTabProps) {\n var selected = currentTabProps.selected,\n tabContentStyle = currentTabProps.tabContentStyle;\n var defaultSlots = getDefaultSlots(this);\n var tabContentProps = {\n index: selected,\n animation: this.$props.animation,\n tabs: this.currentTabs,\n selected: selected,\n tabContentStyle: tabContentStyle,\n showAll: this.currentShowAll\n };\n return h(TabStripContent, __assign(__assign({}, tabContentProps), {\n attrs: this.v3 ? undefined : __assign({}, tabContentProps)\n }), this.v3 ? function () {\n return defaultSlots;\n } : [defaultSlots]);\n };\n\n return h(\"div\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n },\n \"class\": componentClasses\n }, [!bottom && // @ts-ignore function children\n h(TabStripNavigation, {\n tabs: this.currentTabs,\n attrs: this.v3 ? undefined : {\n tabs: this.currentTabs,\n selected: tabProps.selected,\n tabContentStyle: tabProps.tabContentStyle,\n tabIndex: tabIndex\n },\n selected: tabProps.selected,\n tabContentStyle: tabProps.tabContentStyle,\n onSelect: this.onSelect,\n on: this.v3 ? undefined : {\n \"select\": this.onSelect,\n \"keydown\": this.onKeyDown\n },\n onKeydown: this.onKeyDown,\n tabIndex: tabIndex\n }), renderContent.call(this, tabProps), bottom && // @ts-ignore function children\n h(TabStripNavigation, {\n tabs: this.currentTabs,\n attrs: this.v3 ? undefined : {\n tabs: this.currentTabs,\n selected: tabProps.selected,\n tabContentStyle: tabProps.tabContentStyle,\n tabIndex: tabIndex\n },\n selected: tabProps.selected,\n tabContentStyle: tabProps.tabContentStyle,\n onSelect: this.onSelect,\n on: this.v3 ? undefined : {\n \"select\": this.onSelect,\n \"keydown\": this.onKeyDown\n },\n onKeydown: this.onKeyDown,\n tabIndex: tabIndex\n })]);\n }\n};\nvar TabStripVue3 = TabStrip;\nexport { TabStrip, TabStripVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { guid, getDefaultSlots, templateRendering, getListeners } from '@progress/kendo-vue-common';\n/**\n * Represents the default `TabStripTab` component.\n */\n\nvar TabStripTab = {\n name: 'KendoTabStripTab',\n props: {\n disabled: Boolean,\n contentClassName: String,\n title: String,\n titleRender: [String, Function, Object]\n },\n inject: {\n addRenderTitle: {\n default: null\n },\n addTab: {\n default: null\n },\n removeTab: {\n default: null\n }\n },\n created: function created() {\n this.tabId = guid();\n this.addTab({\n title: this.$props.title,\n id: this.tabId,\n disabled: this.$props.disabled,\n contentClassName: this.$props.contentClassName\n });\n },\n destroyed: !!gh ? undefined : function () {\n this.removeTab(this.tabId);\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.removeTab(this.tabId);\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var titleRender = this.$props.titleRender ? templateRendering.call(this, this.$props.titleRender, getListeners.call(this)) : null;\n\n if (titleRender) {\n this.addRenderTitle(this.tabId, titleRender);\n }\n\n return h(\"div\", [getDefaultSlots(this)]);\n }\n};\nvar TabStripTabVue3 = TabStripTab;\nexport { TabStripTab, TabStripTabVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { cardType } from './interfaces/Enums';\nimport { cardOrientation } from './interfaces/Enums';\nimport { packageMetadata } from '../package-metadata';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\n/**\n * Represents the default `Card` component.\n */\n\nvar Card = {\n name: 'KendoCard',\n props: {\n dir: String,\n type: {\n type: String,\n default: cardType.DEFAULT,\n validator: function validator(value) {\n return ['default', 'primary', 'info', 'success', 'warning', 'error'].includes(value);\n }\n },\n orientation: {\n type: String,\n default: cardOrientation.VERTICAL,\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n\n var orientationClass = this.$props.orientation !== cardOrientation.HORIZONTAL ? 'vertical' : 'horizontal';\n return _a = {\n 'k-card': true\n }, _a[\"k-card-\" + this.$props.type] = this.$props.type !== cardType.DEFAULT, _a[\"k-card-\" + orientationClass] = true, _a;\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n },\n \"class\": this.wrapperClass\n }, [defaultSlots]);\n }\n};\nvar CardVue3 = Card;\nexport { Card, CardVue3 };","var _a;\n/**\n * @hidden\n */\nexport var optionalText = 'stepper.optionalText';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[optionalText] = '(Optional)',\n _a);\n","var _Draggable;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport KendoDraggable from '@telerik/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * Represents the default `Draggable` component.\n */\n\nvar Draggable = (_Draggable = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n this.draggable = new KendoDraggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!gh ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_Draggable, \"setup\", !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n}), _defineProperty(_Draggable, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _Draggable);\nexport { Draggable };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `CardHeader` component.\n */\n\nvar CardHeader = {\n name: 'KendoCardHeader',\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-card-header'\n }, [defaultSlots]);\n }\n};\nvar CardHeaderVue3 = CardHeader;\nexport { CardHeader, CardHeaderVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `CardTitle` component.\n */\n\nvar CardTitle = {\n name: 'KendoCardTitle',\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-card-title'\n }, [defaultSlots]);\n }\n};\nvar CardTitleVue3 = CardTitle;\nexport { CardTitle, CardTitleVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `CardBody` component.\n */\n\nvar CardBody = {\n name: 'KendoCardBody',\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-card-body'\n }, [defaultSlots]);\n }\n};\nvar CardBodyVue3 = CardBody;\nexport { CardBody, CardBodyVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { cardActionsLayout, cardOrientation } from './interfaces/Enums';\n/**\n * Represents the default `CardActions` component.\n */\n\nvar CardActions = {\n name: 'KendoCardActions',\n props: {\n layout: {\n type: String,\n default: cardActionsLayout.START,\n validator: function validator(value) {\n return ['stretched', 'start', 'center', 'end'].includes(value);\n }\n },\n orientation: {\n type: String,\n default: cardOrientation.HORIZONTAL,\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n\n return _a = {\n 'k-card-actions': true\n }, _a[\"k-card-actions-\" + this.$props.layout] = true, _a[\"k-card-actions-\" + (this.$props.orientation !== cardOrientation.HORIZONTAL ? 'vertical' : 'k-card-horizontal')] = true, _a;\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": this.wrapperClass\n }, [defaultSlots]);\n }\n};\nvar CardActionsVue3 = CardActions;\nexport { CardActions, CardActionsVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `CardImage` component.\n */\n\nvar CardImage = {\n name: 'KendoCardImage',\n props: {\n src: String\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"img\", {\n \"class\": 'k-card-image',\n src: this.$props.src,\n attrs: this.v3 ? undefined : {\n src: this.$props.src\n }\n });\n }\n};\nvar CardImageVue3 = CardImage;\nexport { CardImage, CardImageVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `CardSubtitle` component.\n */\n\nvar CardSubtitle = {\n name: 'KendoCardSubtitle',\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-card-subtitle'\n }, [defaultSlots]);\n }\n};\nvar CardSubtitleVue3 = CardSubtitle;\nexport { CardSubtitle, CardSubtitleVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `CardFooter` component.\n */\n\nvar CardFooter = {\n name: 'KendoCardFooter',\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-card-footer'\n }, [defaultSlots]);\n }\n};\nvar CardFooterVue3 = CardFooter;\nexport { CardFooter, CardFooterVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { avatarType, avatarShape, avatarSize, avatarFill, avatarThemeColor } from './interfaces/Enums';\nimport { packageMetadata } from '../package-metadata';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\n/**\n * Represents the default `Avatar` component.\n */\n\nvar Avatar = {\n name: 'KendoAvatar',\n props: {\n shape: {\n type: String,\n default: avatarShape.SQUARE,\n validator: function validator(value) {\n return ['circle', 'square', 'rounded', 'rectangle'].includes(value);\n }\n },\n type: {\n type: String,\n default: avatarType.TEXT,\n validator: function validator(value) {\n return ['text', 'image', 'icon'].includes(value);\n }\n },\n fill: {\n type: String,\n default: avatarFill.SOLID,\n validator: function validator(value) {\n return ['solid', 'outline'].includes(value);\n }\n },\n size: {\n type: String,\n default: avatarSize.MEDIUM,\n validator: function validator(value) {\n return ['small', 'medium', 'large'].includes(value);\n }\n },\n themeColor: {\n type: String,\n default: avatarThemeColor.PRIMARY,\n validator: function validator(value) {\n return ['primary', 'secondary', 'tertiary', 'info', 'success', 'warning', 'error', 'dark', 'light', 'inverse', 'inherit'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n\n return _a = {\n 'k-avatar': true\n }, _a[\"k-avatar-\" + this.$props.fill] = true, _a[\"k-avatar-\" + this.$props.shape] = true, _a[\"k-avatar-\" + this.$props.themeColor] = true, _a['k-avatar-bordered'] = this.$props.border, _a['k-avatar-sm'] = this.$props.size === 'small', _a['k-avatar-md'] = this.$props.size === 'medium', _a['k-avatar-lg'] = this.$props.size === 'large', _a;\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": this.wrapperClass\n }, [h(\"span\", {\n \"class\": \"k-avatar-\" + this.$props.type\n }, [defaultSlots])]);\n }\n};\nvar AvatarVue3 = Avatar;\nexport { Avatar, AvatarVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getTabIndex, getDefaultSlots } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length\n\nvar DrawerItem = {\n name: 'KendoDrawerItem',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n index: Number,\n text: String,\n icon: String,\n separator: Boolean,\n selected: Boolean,\n disabled: Boolean,\n targetItem: [Object, Array]\n },\n inject: {\n kendoDrawer: {\n default: null\n }\n },\n computed: {\n itemClassNames: function itemClassNames() {\n var _a = this.$props,\n disabled = _a.disabled,\n selected = _a.selected;\n return {\n 'k-drawer-item': true,\n 'k-state-selected': selected,\n 'k-state-disabled': disabled\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n text = _a.text,\n icon = _a.icon,\n separator = _a.separator,\n disabled = _a.disabled,\n selected = _a.selected,\n tabIndex = _a.tabIndex;\n var _b = this.kendoDrawer,\n expanded = _b.expanded,\n mini = _b.mini,\n item = _b.item;\n return separator ? h(\"li\", {\n \"class\": 'k-drawer-item k-drawer-separator',\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }) : h(\"li\", {\n \"class\": this.itemClassNames,\n role: \"option\",\n attrs: this.v3 ? undefined : {\n role: \"option\",\n \"aria-selected\": selected,\n \"aria-disabled\": disabled,\n tabIndex: getTabIndex(tabIndex, disabled)\n },\n \"aria-selected\": selected,\n \"aria-disabled\": disabled,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n },\n tabIndex: getTabIndex(tabIndex, disabled)\n }, [!item ? [icon && h(\"span\", {\n \"class\": 'k-icon ' + icon\n }), !expanded && mini ? null : h(\"span\", {\n \"class\": 'k-item-text'\n }, [text])] : defaultSlot]);\n },\n methods: {\n focus: function focus(e) {\n if (this.$el) {\n this.$el.focus(e);\n }\n },\n handleClick: function handleClick() {\n if (!this.disabled) {\n var handle = {\n element: this.$el,\n focus: this.focus,\n props: __assign(__assign({}, this.$props), this.$attrs)\n };\n this.$emit('click', handle, this.$props.index);\n }\n }\n }\n};\nvar DrawerItemVue3 = DrawerItem;\nexport { DrawerItem, DrawerItemVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { DrawerItem } from './DrawerItem';\nimport { getDefaultSlots, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\n\nvar DEFAULT_EXPANDED_WIDTH = 240;\n/**\n * @hidden\n */\n\nvar DEFAULT_MINI_WIDTH = 50;\n/**\n * @hidden\n */\n\nvar DEFAULT_ANIMATION = {\n type: 'slide',\n duration: 200\n};\n/**\n * @hidden\n */\n\nvar NO_ANIMATION = {\n type: 'slide',\n duration: 0\n}; // tslint:enable:max-line-length\n\nvar DrawerNavigation = {\n name: 'KendoDrawerNavigation',\n props: {\n item: [Object],\n tabIndex: Number\n },\n inject: {\n kendoDrawer: {\n default: null\n }\n },\n computed: {\n navigationClassNames: function navigationClassNames() {\n var position = this.kendoDrawer.position;\n return {\n 'k-widget k-drawer': true,\n 'k-drawer-start': position === 'start',\n 'k-drawer-end': position === 'end'\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.kendoDrawer,\n animation = _a.animation,\n expanded = _a.expanded,\n mode = _a.mode,\n position = _a.position,\n mini = _a.mini,\n dir = _a.dir,\n width = _a.width,\n miniWidth = _a.miniWidth,\n items = _a.items;\n var customSettings = typeof animation !== 'boolean' ? animation : animation === false ? NO_ANIMATION : DEFAULT_ANIMATION;\n var navWidth = width ? width : DEFAULT_EXPANDED_WIDTH;\n var navMiniWidth = miniWidth ? miniWidth : DEFAULT_MINI_WIDTH;\n var expandPush = {\n opacity: 1,\n flexBasis: navWidth + 'px',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var expandOverlay = {\n opacity: 1,\n transform: 'translateX(0px)',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapsePush = {\n opacity: !mini ? 0 : 1,\n flexBasis: !mini ? 0 : navMiniWidth + 'px',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapseOverlay = {\n opacity: 0,\n transform: 'translateX(-100%)',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapseOverlayRtl = {\n opacity: 0,\n transform: 'translateX(100%)',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapseOverlayMini = {\n transform: 'translateX(0%)',\n WebkitTransitionDuration: (customSettings && customSettings.duration) + 'ms',\n transitionDuration: (customSettings && customSettings.duration) + 'ms'\n };\n var drawerAnimation = expanded ? mode === 'push' ? expandPush : expandOverlay : mode === 'push' ? collapsePush : dir === 'ltr' && position === 'start' || dir === 'rtl' && position === 'end' ? mini ? collapseOverlayMini : collapseOverlay : mini ? collapseOverlayMini : collapseOverlayRtl;\n var drawerItems = items && h(\"ul\", {\n \"class\": 'k-drawer-items',\n role: \"listbox\",\n attrs: this.v3 ? undefined : {\n role: \"listbox\",\n title: \"drawer-list\",\n \"aria-expanded\": expanded\n },\n title: \"drawer-list\",\n \"aria-expanded\": expanded\n }, [items.map(function (element, index) {\n var item = this.$props.item;\n\n if (item && !item.type && !item.render) {\n item = templateRendering.call(this, this.$props.item, getListeners.call(this));\n }\n\n var itemDefaultRendering = // @ts-ignore\n h(DrawerItem, {\n key: index,\n index: index,\n attrs: this.v3 ? undefined : {\n index: index,\n text: element.text,\n icon: element.icon,\n separator: element.separator,\n selected: element.selected,\n targetItem: element.targetItem\n },\n onClick: this.onSelect,\n on: this.v3 ? undefined : {\n \"click\": this.onSelect\n },\n text: element.text,\n icon: element.icon,\n separator: element.separator,\n selected: element.selected,\n targetItem: element.targetItem\n });\n var itemRendering = getTemplate.call(this, {\n h: h,\n template: item,\n defaultRendering: itemDefaultRendering,\n additionalProps: __assign(__assign({}, element), {\n index: index\n }),\n additionalListeners: {\n click: this.onSelect\n }\n });\n return itemRendering;\n }, this)]);\n var drawerNavigation = h(\"div\", {\n style: drawerAnimation,\n \"class\": this.navigationClassNames\n }, [h(\"div\", {\n \"class\": 'k-drawer-wrapper',\n style: !expanded && mini && mode === 'overlay' ? {\n width: navMiniWidth + 'px'\n } : {\n width: navWidth + 'px'\n }\n }, [drawerItems || defaultSlot])]);\n return drawerNavigation;\n },\n methods: {\n focus: function focus(e) {\n if (this.$el) {\n this.$el.focus(e);\n }\n },\n onSelect: function onSelect(e, index) {\n this.$emit('select', e, index);\n }\n }\n};\nvar DrawerNavigationVue3 = DrawerNavigation;\nexport { DrawerNavigation, DrawerNavigationVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { DrawerNavigation } from './DrawerNavigation';\nimport { getDir, validatePackage, getDefaultSlots, templateRendering, getListeners } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata'; // tslint:enable:max-line-length\n\nvar Drawer = {\n name: 'KendoDrawer',\n props: {\n animation: {\n type: [Object, Boolean],\n default: true\n },\n expanded: {\n type: Boolean,\n default: false\n },\n dir: {\n type: String,\n default: 'ltr'\n },\n item: [String, Object, Function],\n mode: {\n type: String,\n default: 'overlay',\n validator: function validator(value) {\n return ['overlay', 'push'].includes(value);\n }\n },\n position: {\n type: String,\n default: 'start',\n validator: function validator(value) {\n return ['start', 'end'].includes(value);\n }\n },\n items: Array,\n mini: {\n type: Boolean,\n default: false\n },\n tabIndex: Number,\n width: {\n type: Number,\n default: 240\n },\n miniWidth: {\n type: Number,\n default: 50\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n data: function data() {\n var _a = this.$props,\n expanded = _a.expanded,\n mode = _a.mode,\n position = _a.position,\n animation = _a.animation,\n mini = _a.mini,\n width = _a.width,\n miniWidth = _a.miniWidth,\n items = _a.items,\n item = _a.item;\n var itemRender = item ? templateRendering.call(this, item, getListeners.call(this)) : undefined;\n return {\n currentDir: 'ltr',\n drawer: {\n expanded: expanded,\n mode: mode,\n dir: this.currentDir,\n position: position,\n animation: animation,\n mini: mini,\n width: width,\n miniWidth: miniWidth,\n items: items,\n item: itemRender\n }\n };\n },\n mounted: function mounted() {\n this.currentDir = getDir(this.$el, this.$props.dir);\n },\n updated: function updated() {\n var _a = this.$props,\n expanded = _a.expanded,\n mode = _a.mode,\n position = _a.position,\n animation = _a.animation,\n mini = _a.mini,\n width = _a.width,\n miniWidth = _a.miniWidth,\n items = _a.items,\n item = _a.item;\n var itemRender = item ? templateRendering.call(this, item, getListeners.call(this)) : undefined;\n this.drawer.expanded = expanded;\n this.drawer.mode = mode;\n this.drawer.dir = this.currentDir;\n this.drawer.position = position;\n this.drawer.animation = animation;\n this.drawer.mini = mini;\n this.drawer.width = width;\n this.drawer.miniWidth = miniWidth;\n this.drawer.items = items;\n this.drawer.item = itemRender;\n },\n provide: function provide() {\n return {\n kendoDrawer: this.drawer\n };\n },\n computed: {\n drawerClassNames: function drawerClassNames() {\n var _a = this.$props,\n expanded = _a.expanded,\n mode = _a.mode,\n mini = _a.mini;\n return {\n 'k-drawer-container': true,\n 'k-drawer-expanded': expanded,\n 'k-drawer-overlay': mode === 'overlay',\n 'k-drawer-push': mode === 'push',\n 'k-drawer-mini': mini\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n items = _a.items,\n tabIndex = _a.tabIndex,\n mode = _a.mode,\n expanded = _a.expanded,\n item = _a.item;\n var itemRender = item ? templateRendering.call(this, item, getListeners.call(this)) : undefined;\n return h(\"div\", {\n \"class\": this.drawerClassNames,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir,\n tabIndex: tabIndex\n },\n tabIndex: tabIndex\n }, [mode === 'overlay' && expanded && h(\"div\", {\n \"class\": \"k-overlay\",\n onClick: this.onOverlayClick,\n on: this.v3 ? undefined : {\n \"click\": this.onOverlayClick\n }\n }), items && // @ts-ignore\n h(DrawerNavigation, {\n onSelect: this.handleSelect,\n on: this.v3 ? undefined : {\n \"select\": this.handleSelect\n },\n item: itemRender,\n attrs: this.v3 ? undefined : {\n item: itemRender\n }\n }), defaultSlot]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n handleSelect: function handleSelect(itemTarget, itemIndex) {\n if (this.$props.items) {\n this.$emit('select', {\n itemTarget: itemTarget,\n itemIndex: itemIndex,\n component: this\n });\n }\n },\n onOverlayClick: function onOverlayClick(e) {\n this.$emit('overlayclick', e);\n }\n }\n};\nvar DrawerVue3 = Drawer;\nexport { Drawer, DrawerVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length\n\nvar DrawerContent = {\n name: 'KendoDrawerContent',\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-drawer-content'\n }, [defaultSlot]);\n }\n};\nvar DrawerContentVue3 = DrawerContent;\nexport { DrawerContent, DrawerContentVue3 };","/**\n * @hidden\n */\nexport var DEFAULT_ANIMATION_DURATION = 400;\n/**\n * @hidden\n */\nexport var NO_ANIMATION = 0;\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { focusFirstFocusableChild, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from './contants';\nimport { messages, optionalText } from './messages'; // tslint:enable:max-line-length\n\nvar Step = {\n name: 'KendoStep',\n props: {\n current: Boolean,\n disabled: Boolean,\n icon: String,\n index: Number,\n isValid: Boolean,\n focused: Boolean,\n label: String,\n optional: Boolean,\n tabIndex: {\n type: Number,\n default: 0\n },\n text: String,\n animationDuration: [Boolean, Number],\n isVertical: Boolean,\n item: [String, Object, Boolean, Function],\n linear: Boolean,\n mode: String,\n numOfSteps: Number,\n value: Number,\n successIcon: String,\n errorIcon: String\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n computed: {\n itemClassNames: function itemClassNames() {\n var _a = this.$props,\n current = _a.current,\n disabled = _a.disabled,\n focused = _a.focused,\n index = _a.index,\n isValid = _a.isValid,\n optional = _a.optional;\n return {\n 'k-step': true,\n 'k-step-first': index === 0,\n 'k-step-last': this.numOfSteps && index === this.numOfSteps - 1,\n 'k-step-done': index < this.value,\n 'k-step-current': current,\n 'k-step-optional': optional,\n 'k-step-disabled': disabled,\n 'k-step-focus': focused,\n 'k-step-error': isValid !== undefined && !isValid,\n 'k-step-success': isValid\n };\n },\n itemStyles: function itemStyles() {\n var index = this.$props.index;\n var allowClick = !this.linear || index === this.value - 1 || index === this.value || index === this.value + 1;\n return {\n maxWidth: !this.isVertical ? \"calc(100% / \" + this.numOfSteps + \")\" : undefined,\n pointerEvents: !allowClick ? 'none' : undefined\n };\n }\n },\n watch: {\n focused: function focused(newValue) {\n this.aElement = this.$refs.aElement;\n\n if (this.aElement && newValue) {\n this.aElement.focus();\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var _a = this.$props,\n current = _a.current,\n disabled = _a.disabled,\n focused = _a.focused,\n icon = _a.icon,\n index = _a.index,\n isValid = _a.isValid,\n label = _a.label,\n optional = _a.optional,\n tabIndex = _a.tabIndex,\n text = _a.text,\n animationDuration = _a.animationDuration,\n item = _a.item,\n linear = _a.linear,\n mode = _a.mode,\n value = _a.value,\n successIcon = _a.successIcon,\n errorIcon = _a.errorIcon;\n var allowClick = !linear || index === value - 1 || index === value || index === value + 1;\n var isInLabel = mode === 'labels' || Boolean(icon) && Boolean(label);\n var localizationService = provideLocalizationService(this);\n\n var localizeMessage = function localizeMessage(message) {\n return localizationService.toLanguageString(message, messages[message]);\n };\n\n var optionalMessage = localizeMessage(optionalText);\n var progressAnimation = typeof animationDuration === 'number' ? animationDuration : animationDuration !== false ? DEFAULT_ANIMATION_DURATION : NO_ANIMATION;\n var validationIconClasses = isValid ? successIcon ? \"\" + successIcon : 'k-icon k-i-check' : errorIcon ? \"\" + errorIcon : 'k-icon k-i-warning';\n var validationIcons = h(\"span\", {\n \"class\": 'k-step-indicator-icon ' + validationIconClasses,\n \"aria-hidden\": \"true\",\n attrs: this.v3 ? undefined : {\n \"aria-hidden\": \"true\"\n }\n });\n\n var stepIndicator = function stepIndicator() {\n return mode !== 'labels' ? h(\"span\", {\n \"class\": \"k-step-indicator\",\n \"aria-hidden\": true,\n attrs: this.v3 ? undefined : {\n \"aria-hidden\": true\n },\n style: {\n transitionDuration: progressAnimation + 'ms'\n }\n }, [icon ? !isInLabel && isValid !== undefined ? validationIcons : h(\"span\", {\n \"class\": \"k-step-indicator-icon k-icon \" + icon\n }) : isValid !== undefined ? validationIcons : h(\"span\", {\n \"class\": \"k-step-indicator-text\"\n }, [text ? text : index + 1])]) : null;\n };\n\n var stepLabel = function stepLabel() {\n return h(\"span\", {\n \"class\": \"k-step-label\"\n }, [label && h(\"span\", {\n \"class\": \"k-step-text\"\n }, [label]), isInLabel && isValid !== undefined && validationIcons, optional && h(\"span\", {\n \"class\": \"k-step-label-optional\"\n }, [optionalMessage])]);\n };\n\n return h(\"li\", {\n \"class\": this.itemClassNames,\n style: this.itemStyles\n }, [h(\"a\", {\n ref: \"aElement\",\n \"class\": \"k-step-link\",\n title: label ? label : undefined,\n attrs: this.v3 ? undefined : {\n title: label ? label : undefined,\n tabIndex: focused ? tabIndex : -1,\n \"aria-current\": current ? 'step' : undefined,\n \"aria-disabled\": disabled || !allowClick || undefined,\n \"aria-invalid\": isValid !== undefined && !isValid || undefined\n },\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"focusin\": this.handleFocus\n },\n onFocusin: this.handleFocus,\n tabIndex: focused ? tabIndex : -1,\n \"aria-current\": current ? 'step' : undefined,\n \"aria-disabled\": disabled || !allowClick || undefined,\n \"aria-invalid\": isValid !== undefined && !isValid || undefined\n }, [!item ? [stepIndicator.call(this), stepLabel.call(this)] : defaultSlots])]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n },\n handleClick: function handleClick(event) {\n if (!this.disabled) {\n this.$emit('change', {\n event: event,\n value: this.index,\n component: this\n });\n }\n },\n handleFocus: function handleFocus(event) {\n if (!this.disabled) {\n this.$emit('focus', event);\n }\n }\n }\n};\nvar StepVue3 = Step;\nexport { Step, StepVue3 };","/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg)\n ? classNames.apply(void 0, arg) : typeof arg === 'object'\n ? Object\n .keys(arg)\n .map(function (key, idx) { return arg[idx] || (arg[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ')\n : arg;\n })\n .filter(function (arg) { return !!arg; })\n .join(' ');\n};\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","import { FIELD_REGEX } from './constants';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n return Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template) {\n return undefined;\n }\n var scopedSlot = gh ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n // @ts-ignore\n if (typeof template === 'string' && scopedSlot) {\n // @ts-ignore\n return { type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || typeof template === 'object' ||\n (typeof template === 'function' && template.component)) {\n return { type: 'component', render: template, listeners: listeners };\n }\n return { type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (gh) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render(h, defaultRendering, defaultSlots, props, events);\n }\n return template.render(h, defaultRendering, props, events, defaultSlots);\n }\n else {\n return h(template.render, componentOptions, gh ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","import { canUseDOM } from './canUseDOM';\n/**\n * @hidden\n */\nexport function isRtl(element) {\n return Boolean(canUseDOM && element && getComputedStyle(element).direction === 'rtl');\n}\n/**\n * @hidden\n */\nexport function getDir(element, initialDir) {\n if (!initialDir && canUseDOM && element) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(element).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n return rtlCandidate;\n }\n }\n return initialDir;\n}\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \" + packageMetadata.name + \"\\n\";\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \" + packageMetadata.licensingDocsUrl + \" for more information.\\n\";\n console.warn(message);\n }\n}\n","/**\n * @hidden\n */\nexport var MIN_RATIO = 0.00001;\n/**\n * @hidden\n */\nexport var LABEL_DECIMALS = 3;\n/**\n * @hidden\n */\nexport var DEFAULT_ANIMATION_DURATION = 400;\n/**\n * @hidden\n */\nexport var NO_ANIMATION = 0;\n","import { LABEL_DECIMALS, MIN_RATIO } from './constants';\n/**\n * @hidden\n */\nexport var truncateNumber = function (value) {\n var numberParts = value.toString().split('.');\n return numberParts.length === 1 ? \"\" + numberParts[0] : numberParts[0] + \".\" + numberParts[1].substr(0, LABEL_DECIMALS);\n};\n/**\n * @hidden\n */\nexport var calculatePercentage = function (min, max, value) {\n var onePercent = Math.abs((max - min) / 100);\n return Math.abs((value - min) / onePercent);\n};\n/**\n * @hidden\n */\nexport var updateProgress = function (progressRef, progressWrapRef, percentage, isVertical) {\n var progressPercentage = Math.max(percentage, 0.01);\n var progressWrapPercentage = (100 / progressPercentage) * 100;\n if (progressRef && progressWrapRef) {\n progressRef.style.width = !isVertical ? progressPercentage + \"%\" : '100%';\n progressWrapRef.style.width = !isVertical ? progressWrapPercentage + \"%\" : '100%';\n progressRef.style.height = isVertical ? progressPercentage + \"%\" : '100%';\n progressWrapRef.style.height = isVertical ? progressWrapPercentage + \"%\" : '100%';\n }\n};\n/**\n * @hidden\n */\nexport var calculateRatio = function (min, max, value) {\n return Math.max((value - min) / (max - min), MIN_RATIO);\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-progressbars',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1641561239,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { animate, cancelAnimation } from '@progress/kendo-vue-animation';\nimport { classNames, isRtl, getTabIndex, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';\nimport { calculatePercentage, updateProgress, truncateNumber } from '../common/utils';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from '../common/constants';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata'; // tslint:enable:max-line-length\n\nvar ProgressBar = {\n name: 'KendoProgressBar',\n props: {\n animation: {\n type: [Boolean, Object],\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n reverse: {\n type: Boolean,\n default: false\n },\n label: String,\n labelRender: [String, Object, Function],\n labelVisible: {\n type: Boolean,\n default: true\n },\n labelPlacement: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['start', 'center', 'end'].includes(value);\n }\n },\n dir: {\n type: String,\n default: undefined\n },\n max: {\n type: Number,\n default: 100\n },\n min: {\n type: Number,\n default: 0\n },\n value: {\n type: Number,\n default: 0\n },\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n tabIndex: Number,\n emptyStyle: Object,\n emptyClassName: String,\n progressStyle: Object,\n progressClassName: String\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentDir = this.$props.dir;\n },\n mounted: function mounted() {\n this._progressStatus = this.v3 ? this.progressStatusRef : this.$refs.progressStatus;\n this._progressStatusWrap = this.v3 ? this.progressStatusWrapRef : this.$refs.progressStatusWrap;\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : isRtl(this.$el) ? 'rtl' : 'ltr';\n this.animationFrame = animate({\n duration: this.animationDuration,\n onStart: this.handleStart,\n onUpdate: this.handleUpdate,\n onEnd: this.handleEnd\n });\n },\n destroyed: !!gh ? undefined : function () {\n cancelAnimation(this.animationFrame);\n },\n // @ts-ignore\n unmounted: function unmounted() {\n cancelAnimation(this.animationFrame);\n },\n data: function data() {\n return {\n currentDir: undefined\n };\n },\n watch: {\n value: function value(_newValue, oldValue) {\n this.prevValue = oldValue;\n this.animationFrame = animate({\n duration: this.animationDuration,\n onStart: this.handleStart,\n onUpdate: this.handleUpdate,\n onEnd: this.handleEnd\n });\n }\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a = this.$props,\n disabled = _a.disabled,\n reverse = _a.reverse,\n orientation = _a.orientation,\n value = _a.value;\n var isVertical = orientation === 'vertical';\n var indeterminateProp = value === null;\n return {\n 'k-widget k-progressbar': true,\n 'k-progressbar-horizontal': !isVertical,\n 'k-progressbar-vertical': isVertical,\n 'k-progressbar-reverse': reverse,\n 'k-progressbar-indeterminate': indeterminateProp,\n 'k-state-disabled': disabled\n };\n },\n isVertical: function isVertical() {\n return this.orientation === 'vertical';\n },\n animationDuration: function animationDuration() {\n var animation = this.$props.animation;\n return typeof animation !== 'boolean' && animation !== undefined ? animation.duration : animation ? DEFAULT_ANIMATION_DURATION : NO_ANIMATION;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n labelVisible = _a.labelVisible,\n labelPlacement = _a.labelPlacement,\n max = _a.max,\n min = _a.min,\n tabIndex = _a.tabIndex,\n emptyStyle = _a.emptyStyle,\n emptyClassName = _a.emptyClassName,\n progressStyle = _a.progressStyle,\n progressClassName = _a.progressClassName;\n var value = this.$props.value || 0;\n var indeterminateProp = this.$props.value === null;\n var formattedLabel = truncateNumber(value);\n var labelProps = {\n value: value\n };\n var label = this.$props.labelRender ? templateRendering.call(this, this.$props.labelRender, getListeners.call(this)) : undefined;\n var labelDefaultRendering = h('span', {\n 'class': 'k-progress-status'\n }, formattedLabel);\n var toggleButtonRendering = getTemplate.call(this, {\n h: h,\n template: label,\n defaultRendering: labelDefaultRendering,\n additionalProps: labelProps\n });\n var renderLabel = labelVisible ? this.$props.label ? h(\"span\", {\n \"class\": 'k-progress-status'\n }, [this.$props.label]) : toggleButtonRendering : undefined;\n var positionClasses = classNames('k-progress-status-wrap', {\n 'k-progress-start': labelPlacement === 'start',\n 'k-progress-center': labelPlacement === 'center',\n 'k-progress-end': labelPlacement === 'end' || labelPlacement === undefined\n });\n return h(\"div\", {\n \"class\": this.wrapperClass,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir,\n tabindex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled\n },\n tabindex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled\n }, [h(\"span\", {\n \"class\": positionClasses + (emptyClassName ? ' ' + emptyClassName : ''),\n style: emptyStyle\n }, [renderLabel]), h(\"div\", {\n \"class\": 'k-state-selected',\n style: progressStyle,\n ref: this.v3 ? function (el) {\n _this.progressStatusRef = el;\n } : 'progressStatus'\n }, [h(\"span\", {\n \"class\": positionClasses + (progressClassName ? ' ' + progressClassName : ''),\n ref: this.v3 ? function (el) {\n _this.progressStatusWrapRef = el;\n } : 'progressStatusWrap'\n }, [renderLabel])])]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n progressStatusElement: function progressStatusElement() {\n return this._progressStatus;\n },\n progressStatusWrapElement: function progressStatusWrapElement() {\n return this._progressStatusWrap;\n },\n handleStart: function handleStart() {\n var percentage = calculatePercentage(this.min, this.max, this.prevValue);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n },\n handleUpdate: function handleUpdate(progress) {\n var percentage = calculatePercentage(this.min, this.max, this.prevValue + (this.value - this.prevValue) * progress);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n },\n handleEnd: function handleEnd() {\n var percentage = calculatePercentage(this.min, this.max, this.value);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n }\n }\n};\nvar ProgressBarVue3 = ProgressBar;\nexport { ProgressBar, ProgressBarVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { focusFirstFocusableChild, Keys, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { Step } from './Step';\nimport { ProgressBar } from '@progress/kendo-vue-progressbars';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from './contants';\nimport { validatePackage, isRtl, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata'; // tslint:enable:max-line-length\n\nvar Stepper = {\n name: 'KendoStepper',\n model: {\n event: 'changemodel'\n },\n props: {\n animationDuration: {\n type: [Boolean, Number],\n default: 400\n },\n dir: String,\n disabled: Boolean,\n item: {\n type: [String, Object, Function, Boolean],\n default: undefined\n },\n items: Array,\n linear: Boolean,\n mode: {\n type: String,\n default: 'steps',\n validator: function validator(value) {\n return ['steps', 'labels'].includes(value);\n }\n },\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n value: {\n type: Number,\n default: 0\n },\n modelValue: Number,\n successIcon: String,\n errorIcon: String\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.focusedIdx = this.computedValue !== undefined ? this.computedValue : 0;\n },\n mounted: function mounted() {\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : isRtl(this.$el) ? 'rtl' : 'ltr';\n },\n data: function data() {\n return {\n currentDir: 'ltr',\n focusedIdx: 0,\n stepper: {}\n };\n },\n watch: {\n value: function value(newValue) {\n this.focusedIdx = newValue;\n }\n },\n computed: {\n computedValue: function computedValue() {\n return this.$props.modelValue !== undefined ? this.$props.modelValue : this.$props.value;\n },\n isVertical: function isVertical() {\n return this.$props.orientation === 'vertical';\n },\n numOfSteps: function numOfSteps() {\n var items = this.$props.items;\n return items ? items.length : 0;\n },\n stepperClasses: function stepperClasses() {\n return {\n 'k-stepper': true,\n 'k-stepper-linear': this.$props.linear\n };\n },\n stepperStyles: function stepperStyles() {\n return {\n display: 'grid',\n gridTemplateColumns: !this.isVertical ? 'repeat(' + this.numOfSteps * 2 + ', 1fr)' : undefined,\n gridTemplateRows: this.isVertical ? 'repeat(' + this.numOfSteps * 4 + ', 1fr)' : undefined\n };\n },\n listClasses: function listClasses() {\n return {\n 'k-step-list': true,\n 'k-step-list-horizontal': !this.isVertical,\n 'k-step-list-vertical': this.isVertical\n };\n },\n listStyles: function listStyles() {\n return {\n gridColumnStart: !this.isVertical ? 1 : '',\n gridColumnEnd: !this.isVertical ? -1 : '',\n gridRowStart: this.isVertical ? 1 : '',\n gridRowEnd: this.isVertical ? -1 : ''\n };\n },\n progressbarStyles: function progressbarStyles() {\n return {\n gridColumnStart: !this.isVertical ? 2 : '',\n gridColumnEnd: !this.isVertical ? this.numOfSteps * 2 : '',\n gridRowStart: this.isVertical ? 2 : '',\n gridRowEnd: this.isVertical ? this.numOfSteps * 4 - 2 : ''\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n animationDuration = _a.animationDuration,\n disabled = _a.disabled,\n items = _a.items,\n orientation = _a.orientation;\n var value = this.computedValue;\n var animation = typeof animationDuration === 'number' ? animationDuration : animationDuration !== false ? DEFAULT_ANIMATION_DURATION : NO_ANIMATION;\n var steps = items && items.map(function (element, index) {\n var step = this.$props.item ? templateRendering.call(this, this.$props.item, getListeners.call(this)) : undefined;\n var stepDefaultRendering = // @ts-ignore\n h(Step, {\n key: index,\n index: index,\n attrs: this.v3 ? undefined : {\n index: index,\n disabled: disabled || element.disabled,\n focused: index === this.focusedIdx,\n current: index === value,\n icon: element.icon,\n label: element.label,\n optional: element.optional,\n text: element.text,\n isValid: element.isValid,\n tabIndex: element.tabIndex,\n animationDuration: this.animationDuration,\n isVertical: this.isVertical,\n item: this.item,\n linear: this.linear,\n mode: this.mode,\n numOfSteps: this.numOfSteps,\n value: value,\n successIcon: this.successIcon,\n errorIcon: this.errorIcon\n },\n disabled: disabled || element.disabled,\n focused: index === this.focusedIdx,\n current: index === value,\n onChange: this.handleChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleChange,\n \"focus\": this.handleFocus\n },\n onFocus: this.handleFocus,\n \"class\": element.class,\n style: element.style,\n icon: element.icon,\n label: element.label,\n optional: element.optional,\n text: element.text,\n isValid: element.isValid,\n tabIndex: element.tabIndex,\n animationDuration: this.animationDuration,\n isVertical: this.isVertical,\n item: this.item,\n linear: this.linear,\n mode: this.mode,\n numOfSteps: this.numOfSteps,\n value: value,\n successIcon: this.successIcon,\n errorIcon: this.errorIcon\n });\n var stepRendering = getTemplate.call(this, {\n h: h,\n template: step,\n defaultRendering: stepDefaultRendering,\n additionalProps: __assign(__assign({}, element), {\n disabled: disabled || element.disabled,\n focused: index === this.focusedIdx,\n current: index === value,\n value: value\n }),\n additionalListeners: {\n change: this.handleChange,\n focus: this.handleFocus\n }\n });\n return stepRendering;\n }, this);\n return h(\"nav\", {\n \"class\": this.stepperClasses,\n style: this.stepperStyles,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir\n },\n onKeydown: this.handleKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleKeyDown\n }\n }, [h(\"ol\", {\n \"class\": this.listClasses,\n style: this.listStyles\n }, [steps ? steps : defaultSlot]), // @ts-ignore\n h(ProgressBar, {\n style: this.progressbarStyles,\n animation: {\n duration: animation\n },\n attrs: this.v3 ? undefined : {\n animation: {\n duration: animation\n },\n \"aria-hidden\": true,\n max: this.numOfSteps - 1,\n labelVisible: false,\n orientation: orientation,\n reverse: orientation === 'vertical',\n value: value,\n disabled: disabled,\n tabIndex: -1\n },\n \"aria-hidden\": true,\n max: this.numOfSteps - 1,\n labelVisible: false,\n orientation: orientation,\n reverse: orientation === 'vertical',\n value: value,\n disabled: disabled,\n tabIndex: -1\n })]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n },\n dispatchChangeEvent: function dispatchChangeEvent(event, val) {\n var prevIdx = val === this.computedValue - 1;\n var currIdx = val === this.computedValue;\n var nextIdx = val === this.computedValue + 1;\n var allowClick = !this.linear || prevIdx || currIdx || nextIdx;\n\n if (this.computedValue !== val && !this.disabled && allowClick) {\n this.focusedIdx = val;\n this.$emit('change', {\n component: this,\n event: event,\n value: val\n });\n this.$emit('changemodel', val);\n this.$emit('update:modelValue', val);\n }\n },\n handleChange: function handleChange(event) {\n var currentValue = event.value;\n this.dispatchChangeEvent(event, currentValue);\n },\n handleFocus: function handleFocus(event) {\n if (!this.disabled) {\n this.$emit('focus', event, undefined);\n }\n },\n handleEnter: function handleEnter(event) {\n var newEvent = {\n component: this,\n event: event,\n value: this.focusedIdx\n };\n this.dispatchChangeEvent(newEvent, this.focusedIdx);\n },\n handleKeyDown: function handleKeyDown(event) {\n var isCurrentRtl = this.currentDir === 'rtl';\n var currIndex = this.focusedIdx;\n var maxNavIndex = this.items.length - 1;\n\n switch (event.keyCode) {\n case Keys.left:\n event.preventDefault();\n\n if (!isCurrentRtl && currIndex > 0) {\n this.focusedIdx = currIndex - 1;\n }\n\n if (isCurrentRtl && currIndex < maxNavIndex) {\n this.focusedIdx = currIndex + 1;\n }\n\n break;\n\n case Keys.right:\n event.preventDefault();\n\n if (!isCurrentRtl && currIndex < maxNavIndex) {\n this.focusedIdx = currIndex + 1;\n }\n\n if (isCurrentRtl && currIndex > 0) {\n this.focusedIdx = currIndex - 1;\n }\n\n break;\n\n case Keys.up:\n event.preventDefault();\n\n if (!isCurrentRtl && currIndex > 0) {\n this.focusedIdx = currIndex - 1;\n }\n\n if (isCurrentRtl && currIndex > 0) {\n this.focusedIdx = currIndex - 1;\n }\n\n break;\n\n case Keys.down:\n event.preventDefault();\n\n if (!isCurrentRtl && currIndex < maxNavIndex) {\n this.focusedIdx = currIndex + 1;\n }\n\n if (isCurrentRtl && currIndex < maxNavIndex) {\n this.focusedIdx = currIndex + 1;\n }\n\n break;\n\n case Keys.home:\n event.preventDefault();\n this.focusedIdx = 0;\n break;\n\n case Keys.end:\n event.preventDefault();\n this.focusedIdx = maxNavIndex;\n break;\n\n case Keys.space:\n case Keys.enter:\n event.preventDefault();\n\n if (!this.items[currIndex].disabled) {\n this.handleEnter(event);\n }\n\n break;\n\n default:\n }\n }\n }\n};\nvar StepperVue3 = Stepper;\nexport { Stepper, StepperVue3 };","/**\n * @hidden\n */\nexport var EMPTY_ID = '';\n/**\n * @hidden\n */\nexport var ZERO_LEVEL_ZERO_ITEM_ID = '0';\n/**\n * @hidden\n */\nexport var SEPARATOR = '_';\n/**\n * @hidden\n */\nexport function getItemById(itemId, items) {\n if (isIdZeroLevel(itemId)) {\n return items[Number(itemId)];\n }\n else {\n var rootParentItem = items[Number(getRootParentId(itemId))];\n return rootParentItem.items ?\n getItemById(getIdWithoutRootParentId(itemId), rootParentItem.items) : undefined;\n }\n}\n/**\n * @hidden\n */\nexport function getRootParentId(itemId) {\n return isIdEmptyOrZeroLevel(itemId) ? itemId : itemId.split(SEPARATOR)[0];\n}\n/**\n * @hidden\n */\nexport function getIdWithoutRootParentId(itemId) {\n if (isIdEmptyOrZeroLevel(itemId)) {\n return itemId;\n }\n else {\n var firstSeparatorIndex = itemId.indexOf(SEPARATOR);\n return itemId.substring(firstSeparatorIndex + 1);\n }\n}\n/**\n * @hidden\n */\nexport function getFirstChildId(itemId) {\n return createId('0', itemId);\n}\n/**\n * @hidden\n */\nexport function shouldOpenItem(itemId, lastItemIdToBeOpened) {\n if (lastItemIdToBeOpened.indexOf(itemId) === 0) {\n return lastItemIdToBeOpened.length === itemId.length ||\n lastItemIdToBeOpened.charAt(itemId.length) === SEPARATOR;\n }\n else {\n return false;\n }\n}\n/**\n * @hidden\n */\nexport function createId(childId, parentId) {\n return parentId ? parentId + SEPARATOR + childId : childId;\n}\n/**\n * @hidden\n */\nexport function getDirectParentId(itemId) {\n var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);\n return lastSeparatorIndex < 0 ? EMPTY_ID : itemId.substring(0, lastSeparatorIndex);\n}\n/**\n * @hidden\n */\nexport function isIdEmptyOrZeroLevel(itemId) {\n return itemId === EMPTY_ID || itemId.indexOf(SEPARATOR) < 0;\n}\n/**\n * @hidden\n */\nexport function isIdZeroLevel(itemId) {\n return itemId !== EMPTY_ID && itemId.indexOf(SEPARATOR) < 0;\n}\n/**\n * @hidden\n */\nexport function isIdFirstLevel(itemId) {\n return getSeparatorOccurances(itemId) === 1;\n}\n/**\n * @hidden\n */\nexport function isFirstItemFromSiblings(itemId) {\n return getShortId(itemId) === ZERO_LEVEL_ZERO_ITEM_ID;\n}\n/**\n * @hidden\n */\nexport function getShortId(itemId) {\n var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);\n return lastSeparatorIndex < 0 ? itemId : itemId.substring(lastSeparatorIndex + 1);\n}\n/**\n * @hidden\n */\nexport function getDirectSiblingIdForLevelZero(next, shortItemId, siblingsCount) {\n if (!isIdZeroLevel(shortItemId)) {\n return shortItemId;\n }\n return next ?\n Number(shortItemId) < siblingsCount - 1 ? (Number(shortItemId) + 1).toString() : '0' :\n Number(shortItemId) > 0 ? (Number(shortItemId) - 1).toString() : (siblingsCount - 1).toString();\n}\nfunction getSeparatorOccurances(itemId) {\n return itemId.split(SEPARATOR).length - 1;\n}\n","import { templateRendering, getListeners } from '@progress/kendo-vue-common';\nimport { createId, ZERO_LEVEL_ZERO_ITEM_ID } from './itemsIdsUtils';\n/**\n * @hidden\n */\nexport function prepareInputItemsForInternalWork(models) {\n if (models && models.length > 0) {\n return {\n items: convertInputModelsToInternalOnesHelper.call(this, models),\n inputItems: models\n };\n }\n else {\n return { items: [], inputItems: [] };\n }\n}\nfunction copyInputItemWithoutChildren(inputModel) {\n var result = {};\n var text = inputModel.text, url = inputModel.url, icon = inputModel.icon, disabled = inputModel.disabled, cssClass = inputModel.cssClass, cssStyle = inputModel.cssStyle, render = inputModel.render, linkRender = inputModel.linkRender, contentRender = inputModel.contentRender, data = inputModel.data;\n if (text !== undefined) {\n result.text = text;\n }\n if (url !== undefined) {\n result.url = url;\n }\n if (icon !== undefined) {\n result.icon = icon;\n }\n if (disabled !== undefined) {\n result.disabled = disabled;\n }\n if (cssClass !== undefined) {\n result.cssClass = cssClass;\n }\n if (cssStyle !== undefined) {\n result.cssStyle = cssStyle;\n }\n if (render !== undefined) {\n result.render = templateRendering.call(this, render, getListeners.call(this));\n }\n if (linkRender !== undefined) {\n result.linkRender = templateRendering.call(this, linkRender, getListeners.call(this));\n }\n if (contentRender !== undefined) {\n result.contentRender = templateRendering.call(this, contentRender, getListeners.call(this));\n }\n if (data !== undefined) {\n result.data = data;\n }\n return result;\n}\nfunction convertInputModelsToInternalOnesHelper(inputModels, parentId) {\n var result = [];\n for (var index = 0; index < inputModels.length; index++) {\n var inputModel = inputModels[index];\n var internalModel = copyInputItemWithoutChildren.call(this, inputModel);\n internalModel.id = createId(index.toString(), parentId);\n internalModel.isLastFromSiblings = index === inputModels.length - 1;\n internalModel.items = copyOrCreateModelChildren.call(this, inputModel, internalModel);\n result.push(internalModel);\n }\n return result;\n}\nfunction copyOrCreateModelChildren(inputModel, internalModel) {\n if (inputModel.contentRender) {\n return [{\n contentParentItemId: internalModel.id,\n id: createId(ZERO_LEVEL_ZERO_ITEM_ID, internalModel.id),\n isLastFromSiblings: true,\n contentRender: templateRendering.call(this, inputModel.contentRender, getListeners.call(this)),\n items: []\n }];\n }\n else if (inputModel.items) {\n return convertInputModelsToInternalOnesHelper.call(this, inputModel.items, internalModel.id);\n }\n else {\n return [];\n }\n}\n","import { Keys } from '@progress/kendo-vue-common';\nimport { getFirstChildId, isIdZeroLevel, getRootParentId, isIdFirstLevel, getDirectParentId, getShortId, createId, getDirectSiblingIdForLevelZero, getItemById as getItemByIdUtil } from './itemsIdsUtils';\nvar NO_WHITESPACE_REGEX = /\\S/;\n/**\n * @hidden\n * Returns the `itemId` (string) for applicable key codes even when the id has not changed.\n * For key codes that are not applicable, returns `undefined`.\n */\nexport function getNewItemIdUponKeyboardNavigation(sourceItems, sourceItemId, keyCode, key, isMenuVertical, isDirectionRightToLeft) {\n var sourceItem = getItemById();\n switch (keyCode) {\n case Keys.left:\n return getIdUponLeftKey();\n case Keys.right:\n return getIdUponRightKey();\n case Keys.up:\n return getIdUponUpKey();\n case Keys.down:\n return getIdUponDownKey();\n case Keys.enter:\n case Keys.space:\n return getIdUponEnterAndSpaceKeys();\n case Keys.home:\n return getIdUponHomeKey();\n case Keys.end:\n return getIdUponEndKey();\n case Keys.esc:\n return getIdUponEscKey();\n default:\n return isSearchableKey() ? getIdUponSearchByChar() : sourceItemId;\n }\n function getIdUponLeftKey() {\n if (isMenuVertical) {\n return isDirectionRightToLeft ? getIdUponRightKeyForVerticalMenu() : getIdUponLeftKeyForVerticalMenu();\n }\n else {\n return isDirectionRightToLeft ?\n getIdUponRightKeyForHorizontalMenu() : getIdUponLeftKeyForHorizontalMenu();\n }\n }\n function getIdUponRightKey() {\n if (isMenuVertical) {\n return isDirectionRightToLeft ? getIdUponLeftKeyForVerticalMenu() : getIdUponRightKeyForVerticalMenu();\n }\n else {\n return isDirectionRightToLeft ?\n getIdUponLeftKeyForHorizontalMenu() : getIdUponRightKeyForHorizontalMenu();\n }\n }\n function getIdUponDownKey() {\n if (isMenuVertical) {\n return getNextSiblingId();\n }\n else {\n if (isIdZeroLevel(sourceItemId)) {\n return getFirstChildIdForEnabledItemOrGetSameId();\n }\n else {\n return getNextSiblingId();\n }\n }\n }\n function getIdUponUpKey() {\n if (isMenuVertical) {\n return getPrevSiblingId();\n }\n else {\n if (isIdZeroLevel(sourceItemId)) {\n return getLastChildIdForEnabledItemOrGetSameId();\n }\n else {\n return getPrevSiblingId();\n }\n }\n }\n function getIdUponEnterAndSpaceKeys() {\n if (sourceItem.disabled) {\n return sourceItemId;\n }\n else {\n return hasChildren() ? getFirstChildId(sourceItemId) : getRootParentId(sourceItemId);\n }\n }\n function getIdUponHomeKey() {\n return getSiblings()[0].id;\n }\n function getIdUponEndKey() {\n var siblings = getSiblings();\n return siblings[siblings.length - 1].id;\n }\n function getIdUponEscKey() {\n return isIdZeroLevel(sourceItemId) ? sourceItemId : getDirectParentId(sourceItemId);\n }\n function getIdUponSearchByChar() {\n var searchChar = key.toLowerCase();\n var siblings = getSiblings();\n var currentItemIndex = Number(getShortId(sourceItemId));\n var itemsToSearch = siblings.slice(currentItemIndex + 1).concat(siblings.slice(0, currentItemIndex + 1));\n var matchedSibling = itemsToSearch.find(function (item) {\n return (item.text || '').toLowerCase().startsWith(searchChar);\n });\n return matchedSibling ? matchedSibling.id : sourceItemId;\n }\n // #region Left Key Internals\n function getIdUponLeftKeyForHorizontalMenu() {\n if (isIdZeroLevel(sourceItemId)) {\n return getPrevSiblingId();\n }\n else if (isIdFirstLevel(sourceItemId)) {\n return getFirstChildIdForEnabledItemOrGetSameId(getPrevSiblingId(getRootParentId(sourceItemId)));\n }\n else {\n return getDirectParentId(sourceItemId);\n }\n }\n function getIdUponLeftKeyForVerticalMenu() {\n if (isIdZeroLevel(sourceItemId)) {\n return getLastChildIdForEnabledItemOrGetSameId();\n }\n else {\n return getDirectParentId(sourceItemId);\n }\n }\n // #endregion\n // #region Right Key Internals\n function getIdUponRightKeyForHorizontalMenu() {\n if (isIdZeroLevel(sourceItemId)) {\n return getNextSiblingId();\n }\n else {\n return getFirstChildIdForEnabledItemOrGetSameId(hasChildren() ? sourceItemId : getNextSiblingId(getRootParentId(sourceItemId)));\n }\n }\n function getIdUponRightKeyForVerticalMenu() {\n return getFirstChildIdForEnabledItemOrGetSameId(isIdZeroLevel(sourceItemId) || hasChildren() ?\n sourceItemId : getNextSiblingId(getRootParentId(sourceItemId)));\n }\n // #endregion\n // #region Utils\n function getFirstChildIdForEnabledItemOrGetSameId(itemId) {\n return getFirstOrLastChildIdForEnabledItemOrGetSameId(true, itemId);\n }\n function getLastChildIdForEnabledItemOrGetSameId(itemId) {\n return getFirstOrLastChildIdForEnabledItemOrGetSameId(false, itemId);\n }\n function isSearchableKey() {\n return key.length === 1 && NO_WHITESPACE_REGEX.test(key);\n }\n function getItemById(itemId, items) {\n if (itemId === undefined) {\n itemId = sourceItemId;\n }\n if (items === undefined) {\n items = sourceItems;\n }\n return getItemByIdUtil(itemId, items);\n }\n function hasChildren(itemId) {\n return getItemById(itemId).items.length > 0;\n }\n function getPrevSiblingId(itemId) {\n return getSiblingId(false, itemId);\n }\n function getNextSiblingId(itemId) {\n return getSiblingId(true, itemId);\n }\n function getLastChildId(itemId) {\n var itemChildren = getItemById(itemId).items;\n return itemChildren[itemChildren.length - 1].id;\n }\n function getSiblings() {\n return isIdZeroLevel(sourceItemId) ?\n sourceItems : getItemById(getDirectParentId(sourceItemId), sourceItems).items;\n }\n function getFirstOrLastChildIdForEnabledItemOrGetSameId(getFirstChild, itemId) {\n if (itemId === undefined) {\n itemId = sourceItemId;\n }\n var item = getItemById(itemId);\n if (hasChildren(itemId) && !item.disabled) {\n return getFirstChild ? getFirstChildId(itemId) : getLastChildId(itemId);\n }\n else {\n return itemId;\n }\n }\n function getSiblingId(next, itemId) {\n if (itemId === undefined) {\n itemId = sourceItemId;\n }\n if (isIdZeroLevel(itemId)) {\n return getDirectSiblingIdForLevelZero(next, itemId, sourceItems.length);\n }\n else {\n var directParentId = getDirectParentId(itemId);\n var shortId = getShortId(itemId);\n var siblingsCount = getItemById(directParentId).items.length;\n return createId(getDirectSiblingIdForLevelZero(next, shortId, siblingsCount), directParentId);\n }\n }\n // #endregion\n}\n","/**\n * @hidden\n */\nexport function getHoverOpenDelay(props) {\n if (props.hoverOpenDelay !== undefined) {\n return props.hoverOpenDelay;\n }\n else {\n return props.openOnClick ? 0 : 100;\n }\n}\n/**\n * @hidden\n */\nexport function getHoverCloseDelay(props) {\n return props.hoverCloseDelay !== undefined ? props.hoverCloseDelay : 100;\n}\n","/**\n * @hidden\n */\nvar POPUP_ALIGN = {\n vertical: 'top',\n horizontal: 'left'\n};\n/**\n * @hidden\n */\nvar POPUP_ALIGN_RTL = {\n vertical: 'top',\n horizontal: 'right'\n};\n/**\n * @hidden\n */\nvar VERTICAL_COLLISION = {\n vertical: 'flip',\n horizontal: 'fit'\n};\n/**\n * @hidden\n */\nvar HORIZONTAL_COLLISION = {\n vertical: 'fit',\n horizontal: 'flip'\n};\n/**\n * @hidden\n */\nexport var POPUP_SETTINGS_RTL = {\n downward: {\n anchorAlign: {\n vertical: 'bottom',\n horizontal: 'right'\n },\n popupAlign: POPUP_ALIGN_RTL,\n collision: VERTICAL_COLLISION\n },\n leftward: {\n anchorAlign: {\n vertical: 'top',\n horizontal: 'left'\n },\n popupAlign: POPUP_ALIGN_RTL,\n collision: HORIZONTAL_COLLISION\n }\n};\n/**\n * @hidden\n */\nexport var POPUP_SETTINGS = {\n downward: {\n anchorAlign: {\n vertical: 'bottom',\n horizontal: 'left'\n },\n popupAlign: POPUP_ALIGN,\n collision: VERTICAL_COLLISION\n },\n rightward: {\n anchorAlign: {\n vertical: 'top',\n horizontal: 'right'\n },\n popupAlign: POPUP_ALIGN,\n collision: HORIZONTAL_COLLISION\n }\n};\n","import { POPUP_SETTINGS, POPUP_SETTINGS_RTL } from '../consts';\nimport { isIdZeroLevel } from './itemsIdsUtils';\n/**\n * @hidden\n */\nexport function getPopupSettings(itemId, isMenuVertical, isDirectionRightToLeft) {\n var childrenPosition = getChildrenPosition(itemId, isMenuVertical, isDirectionRightToLeft);\n if (isDirectionRightToLeft) {\n return childrenPosition === 'downward' ? POPUP_SETTINGS_RTL.downward : POPUP_SETTINGS_RTL.leftward;\n }\n else {\n return childrenPosition === 'downward' ? POPUP_SETTINGS.downward : POPUP_SETTINGS.rightward;\n }\n}\n/**\n * @hidden\n */\nexport function getChildrenPosition(itemId, isMenuVertical, isDirectionRightToLeft) {\n if (isIdZeroLevel(itemId)) {\n if (isMenuVertical) {\n return isDirectionRightToLeft ? 'leftward' : 'rightward';\n }\n else {\n return 'downward';\n }\n }\n else {\n return isDirectionRightToLeft ? 'leftward' : 'rightward';\n }\n}\n/**\n * @hidden\n */\nexport function convertBoolDirectionToString(isDirectionRightToLeft) {\n return isDirectionRightToLeft ? 'rtl' : 'ltr';\n}\n/**\n * @hidden\n */\nexport function getDOMElementId(menuGuid, itemId) {\n return menuGuid + \"_\" + itemId;\n}\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length\n\nvar MenuItemLink = {\n name: 'KendoMenuItemLink',\n props: {\n opened: Boolean,\n url: String\n },\n computed: {\n menuItemClassName: function menuItemClassName() {\n return {\n 'k-link': true,\n 'k-menu-link': true,\n 'k-state-active': this.$props.opened\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n\n if (this.$props.url) {\n return h(\"a\", {\n \"class\": this.menuItemClassName,\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\",\n href: this.$props.url,\n tabIndex: -1\n },\n href: this.$props.url,\n tabIndex: -1\n }, [defaultSlot]);\n } else {\n return h(\"span\", {\n \"class\": this.menuItemClassName,\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [defaultSlot]);\n }\n }\n};\nvar MenuItemLinkVue3 = MenuItemLink;\nexport { MenuItemLink, MenuItemLinkVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getChildrenPosition } from '../utils/misc';\n/**\n * @hidden\n */\n\nexport var downArrowClass = 'k-i-arrow-60-down';\n/**\n * @hidden\n */\n\nexport var rightArrowClass = 'k-i-arrow-60-right';\n/**\n * @hidden\n */\n\nexport var leftArrowClass = 'k-i-arrow-60-left'; // tslint:enable:max-line-length\n\nvar MenuItemArrow = {\n name: 'KendoMenuItemArrow',\n props: {\n itemId: String,\n dir: String,\n verticalMenu: Boolean\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"span\", {\n \"class\": this.getArrowClassName(),\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n });\n },\n methods: {\n getArrowClassName: function getArrowClassName() {\n var _a;\n\n var childrenPosition = getChildrenPosition(this.$props.itemId, this.$props.verticalMenu === true, this.$props.dir === 'rtl');\n return _a = {\n 'k-icon': true,\n 'k-menu-expand-arrow': true\n }, _a[downArrowClass] = childrenPosition === 'downward', _a[rightArrowClass] = childrenPosition === 'rightward', _a[leftArrowClass] = childrenPosition === 'leftward', _a;\n }\n }\n};\nvar MenuItemArrowVue3 = MenuItemArrow;\nexport { MenuItemArrow, MenuItemArrowVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { classNames, guid, getTemplate } from '@progress/kendo-vue-common';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { shouldOpenItem, isFirstItemFromSiblings } from '../utils/itemsIdsUtils';\nimport { getPopupSettings, convertBoolDirectionToString, getDOMElementId } from '../utils/misc';\nimport { MenuItemLink } from './MenuItemLink';\nimport { MenuItemInternalsList } from './MenuItemInternalsList';\nimport { MenuItemArrow } from './MenuItemArrow'; // tslint:enable:max-line-length\n\nvar MenuItemInternal = {\n name: 'KendoMenuItemInternal',\n // @ts-ignore\n emits: {\n 'keydown': null,\n 'mouseover': null,\n 'mouseleave': null,\n 'blur': null,\n 'focus': null,\n 'click': null,\n 'mousedown': null\n },\n props: {\n item: Object,\n focusedItemId: String,\n lastItemIdToBeOpened: String,\n tabbableItemId: String,\n itemRender: [String, Object, Function],\n linkRender: [String, Object, Function],\n isMenuVertical: Boolean,\n isDirectionRightToLeft: Boolean,\n menuGuid: String,\n originalItemNeeded: Function\n },\n created: function created() {\n this.itemElement = null;\n this.prevFocusedItemId = this.$props.focusedItemId;\n this.isFirstRender = true;\n this._anchor = guid();\n },\n data: function data() {\n return {\n opened: false\n };\n },\n mounted: function mounted() {\n this.itemElement = this.v3 ? this.kendoAnchorRef : this.$refs[this._anchor];\n var focusedItemId = this.$props.focusedItemId;\n var currentItemId = this.$props.item.id; // If the menu item component has been just mounted due to\n // keyboard navigation and it is the selected one.\n\n if (focusedItemId && focusedItemId === currentItemId && this.itemElement) {\n this.itemElement.focus();\n }\n\n this.isFirstRender = false;\n },\n watch: {\n focusedItemId: function focusedItemId(_, oldValue) {\n this.prevFocusedItemId = oldValue;\n }\n },\n updated: function updated() {\n var focusedItemId = this.$props.focusedItemId;\n var currentItemId = this.$props.item.id;\n\n if (focusedItemId) {\n // If the item has been navigated to via the keyboard navigation\n // (Clicking and focusing an item also come here).\n if (this.prevFocusedItemId !== focusedItemId && focusedItemId === currentItemId // No need to focus the wrapping menu item DOM element\n // when a child DOM element was clicked.\n && !this.itemElement.contains(document.activeElement)) {\n this.itemElement.focus();\n }\n } else if (document.activeElement === this.itemElement) {\n this.itemElement.blur();\n }\n },\n computed: {\n currentItemRender: function currentItemRender() {\n return this.$props.item.render || this.$props.itemRender;\n },\n currentLinkRender: function currentLinkRender() {\n return this.$props.item.linkRender || this.$props.linkRender;\n },\n contentRender: function contentRender() {\n return this.$props.item.contentParentItemId ? this.$props.item.contentRender : null;\n },\n currentOpened: function currentOpened() {\n var props = this.$props;\n return props.item.items.length > 0 && shouldOpenItem(props.item.id, props.lastItemIdToBeOpened) && // HACK: Wait for the second render because otherwise the scenario of\n // popup inside popup throws an error (for example, hover of item with id '0_0').\n !this.isFirstRender;\n },\n popupClassName: function popupClassName() {\n return classNames({\n 'k-menu-popup': true,\n 'k-rtl': this.$props.isDirectionRightToLeft\n });\n },\n menuItemClassName: function menuItemClassName() {\n var _a;\n\n var item = this.$props.item;\n return _a = {\n 'k-item': true,\n 'k-menu-item': true,\n 'k-first': isFirstItemFromSiblings(item.id),\n 'k-last': item.isLastFromSiblings,\n 'k-state-disabled': item.disabled\n }, _a[item.cssClass ? item.cssClass : ''] = item.cssClass, _a;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var item = this.$props.item;\n var itemId = item.id;\n\n var renderContent = function renderContent() {\n var parentItemId = this.$props.item.contentParentItemId;\n\n var contentRender = function contentRender(args) {\n return getTemplate.call(this, {\n h: h,\n template: this.contentRender,\n additionalProps: args\n });\n };\n\n return h(\"div\", {\n \"class\": \"k-content\",\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [contentRender.call(this, {\n item: this.handleOriginalItemNeeded(parentItemId),\n itemId: parentItemId\n })]);\n };\n\n var renderMenuIconIfApplicable = function renderMenuIconIfApplicable() {\n return this.$props.item.icon ? h(\"span\", {\n \"class\": \"k-icon k-i-\" + this.$props.item.icon,\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n key: \"0\"\n }) : null;\n };\n\n var renderArrowIfApplicable = function renderArrowIfApplicable() {\n return this.$props.item.items.length > 0 ? // @ts-ignore\n h(MenuItemArrow, {\n itemId: this.$props.item.id,\n attrs: this.v3 ? undefined : {\n itemId: this.$props.item.id,\n verticalMenu: this.$props.isMenuVertical,\n dir: convertBoolDirectionToString(this.$props.isDirectionRightToLeft)\n },\n verticalMenu: this.$props.isMenuVertical,\n dir: convertBoolDirectionToString(this.$props.isDirectionRightToLeft),\n key: \"2\"\n }) : null;\n };\n\n var originalItem = this.$props.originalItemNeeded(item.id);\n\n var renderMenuItemLink = function renderMenuItemLink() {\n var _this2 = this;\n\n var defaultItemRender = item.text;\n var textOrItemRender = getTemplate.call(this, {\n h: h,\n template: this.currentItemRender,\n defaultRendering: defaultItemRender,\n additionalProps: {\n item: originalItem,\n itemId: item.id,\n key: '1'\n }\n });\n var defaultLink = // @ts-ignore function children\n h(MenuItemLink, {\n url: item.url,\n attrs: this.v3 ? undefined : {\n url: item.url,\n opened: this.currentOpened\n },\n opened: this.currentOpened\n }, this.v3 ? function () {\n return [[renderMenuIconIfApplicable.call(_this2), textOrItemRender, renderArrowIfApplicable.call(_this2)]];\n } : [[renderMenuIconIfApplicable.call(_this2), textOrItemRender, renderArrowIfApplicable.call(_this2)]]);\n return getTemplate.call(this, {\n h: h,\n template: this.currentLinkRender,\n defaultRendering: defaultLink,\n additionalProps: {\n item: originalItem,\n itemId: item.id,\n opened: this.currentOpened,\n dir: convertBoolDirectionToString(this.$props.isDirectionRightToLeft)\n }\n });\n };\n\n var renderPopupIfOpened = function renderPopupIfOpened() {\n var _this3 = this;\n\n var _a = getPopupSettings(itemId, this.$props.isMenuVertical, this.$props.isDirectionRightToLeft),\n anchorAlign = _a.anchorAlign,\n popupAlign = _a.popupAlign,\n collision = _a.collision;\n\n return (// @ts-ignore function children\n h(Popup, {\n anchor: this._anchor,\n attrs: this.v3 ? undefined : {\n anchor: this._anchor,\n show: this.currentOpened,\n popupClass: this.popupClassName,\n anchorAlign: anchorAlign,\n popupAlign: popupAlign,\n collision: collision,\n animate: false\n },\n show: this.currentOpened,\n popupClass: this.popupClassName,\n anchorAlign: anchorAlign,\n popupAlign: popupAlign,\n collision: collision,\n animate: false,\n key: \"1\"\n }, this.v3 ? function () {\n return [// @ts-ignore\n h(MenuItemInternalsList, {\n parentItemId: itemId,\n attrs: _this3.v3 ? undefined : {\n parentItemId: itemId,\n items: _this3.$props.item.items,\n menuGuid: _this3.$props.menuGuid,\n focusedItemId: _this3.$props.focusedItemId,\n lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,\n tabbableItemId: _this3.$props.tabbableItemId,\n itemRender: _this3.$props.itemRender,\n linkRender: _this3.$props.linkRender,\n isMenuVertical: _this3.$props.isMenuVertical,\n isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,\n originalItemNeeded: _this3.handleOriginalItemNeeded\n },\n items: _this3.$props.item.items,\n menuGuid: _this3.$props.menuGuid,\n focusedItemId: _this3.$props.focusedItemId,\n lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,\n tabbableItemId: _this3.$props.tabbableItemId,\n itemRender: _this3.$props.itemRender,\n linkRender: _this3.$props.linkRender,\n isMenuVertical: _this3.$props.isMenuVertical,\n isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,\n \"class\": \"k-group k-menu-group k-reset\",\n onMouseover: _this3.handleItemMouseOver,\n on: _this3.v3 ? undefined : {\n \"mouseover\": _this3.handleItemMouseOver,\n \"mouseleave\": _this3.handleItemMouseLeave,\n \"mousedown\": _this3.handleMouseDown,\n \"blur\": _this3.handleItemMouseBlur,\n \"focus\": _this3.handleItemMouseFocus,\n \"click\": _this3.handleClick,\n \"keydown\": _this3.handleKeyDown\n },\n onMouseleave: _this3.handleItemMouseLeave,\n onMousedown: _this3.handleMouseDown,\n onBlur: _this3.handleItemMouseBlur,\n onFocus: _this3.handleItemMouseFocus,\n onClick: _this3.handleClick,\n onKeydown: _this3.handleKeyDown,\n originalItemNeeded: _this3.handleOriginalItemNeeded\n })];\n } : [h(MenuItemInternalsList, {\n parentItemId: itemId,\n attrs: _this3.v3 ? undefined : {\n parentItemId: itemId,\n items: _this3.$props.item.items,\n menuGuid: _this3.$props.menuGuid,\n focusedItemId: _this3.$props.focusedItemId,\n lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,\n tabbableItemId: _this3.$props.tabbableItemId,\n itemRender: _this3.$props.itemRender,\n linkRender: _this3.$props.linkRender,\n isMenuVertical: _this3.$props.isMenuVertical,\n isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,\n originalItemNeeded: _this3.handleOriginalItemNeeded\n },\n items: _this3.$props.item.items,\n menuGuid: _this3.$props.menuGuid,\n focusedItemId: _this3.$props.focusedItemId,\n lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,\n tabbableItemId: _this3.$props.tabbableItemId,\n itemRender: _this3.$props.itemRender,\n linkRender: _this3.$props.linkRender,\n isMenuVertical: _this3.$props.isMenuVertical,\n isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,\n \"class\": \"k-group k-menu-group k-reset\",\n onMouseover: _this3.handleItemMouseOver,\n on: _this3.v3 ? undefined : {\n \"mouseover\": _this3.handleItemMouseOver,\n \"mouseleave\": _this3.handleItemMouseLeave,\n \"mousedown\": _this3.handleMouseDown,\n \"blur\": _this3.handleItemMouseBlur,\n \"focus\": _this3.handleItemMouseFocus,\n \"click\": _this3.handleClick,\n \"keydown\": _this3.handleKeyDown\n },\n onMouseleave: _this3.handleItemMouseLeave,\n onMousedown: _this3.handleMouseDown,\n onBlur: _this3.handleItemMouseBlur,\n onFocus: _this3.handleItemMouseFocus,\n onClick: _this3.handleClick,\n onKeydown: _this3.handleKeyDown,\n originalItemNeeded: _this3.handleOriginalItemNeeded\n })])\n );\n };\n\n return h(\"li\", {\n \"class\": this.menuItemClassName,\n style: item.cssStyle,\n tabIndex: itemId === this.$props.tabbableItemId ? 0 : -1,\n attrs: this.v3 ? undefined : {\n tabIndex: itemId === this.$props.tabbableItemId ? 0 : -1,\n role: \"menuitem\",\n \"aria-disabled\": item.disabled ? true : undefined,\n \"aria-haspopup\": item.items.length > 0 ? true : undefined,\n \"aria-expanded\": item.items.length > 0 ? this.currentOpened : undefined,\n \"aria-label\": item.text,\n \"aria-owns\": this.currentOpened ? getDOMElementId(this.$props.menuGuid, itemId) : undefined\n },\n onMouseover: this.onMouseOver,\n on: this.v3 ? undefined : {\n \"mouseover\": this.onMouseOver,\n \"mouseleave\": this.onMouseLeave,\n \"mousedown\": function mousedown(event) {\n return _this.handleMouseDown(event);\n },\n \"focusout\": function focusout() {\n return _this.handleBlur(itemId);\n },\n \"focusin\": function focusin() {\n return _this.handleFocus(itemId);\n },\n \"click\": function click(event) {\n return _this.handleClick(event, itemId);\n },\n \"keydown\": this.handleKeyDown\n },\n onMouseleave: this.onMouseLeave,\n onMousedown: function mousedown(event) {\n return _this.handleMouseDown(event);\n },\n onFocusout: function focusout() {\n return _this.handleBlur(itemId);\n },\n onFocusin: function focusin() {\n return _this.handleFocus(itemId);\n },\n onClick: function click(event) {\n return _this.handleClick(event, itemId);\n },\n onKeydown: this.handleKeyDown,\n role: \"menuitem\",\n \"aria-disabled\": item.disabled ? true : undefined,\n \"aria-haspopup\": item.items.length > 0 ? true : undefined,\n \"aria-expanded\": item.items.length > 0 ? this.currentOpened : undefined,\n \"aria-label\": item.text,\n \"aria-owns\": this.currentOpened ? getDOMElementId(this.$props.menuGuid, itemId) : undefined,\n ref: this.v3 ? function (el) {\n _this.kendoAnchorRef = el;\n } : this._anchor,\n key: \"0\"\n }, [this.contentRender ? renderContent.call(this) : renderMenuItemLink.call(this), renderPopupIfOpened.call(this)]);\n },\n methods: {\n handleKeyDown: function handleKeyDown(event) {\n this.$emit('keydown', event);\n },\n handleItemMouseOver: function handleItemMouseOver(event) {\n this.$emit('mouseover', event);\n },\n handleItemMouseLeave: function handleItemMouseLeave(event) {\n this.$emit('mouseleave', event);\n },\n handleItemMouseBlur: function handleItemMouseBlur(event) {\n this.$emit('blur', event);\n },\n handleItemMouseFocus: function handleItemMouseFocus(event) {\n this.$emit('focus', event);\n },\n handleClick: function handleClick(event, itemId) {\n this.$emit('click', event, itemId);\n },\n handleBlur: function handleBlur(itemId) {\n this.$emit('blur', itemId);\n },\n handleFocus: function handleFocus(itemId) {\n this.$emit('focus', itemId);\n },\n handleMouseDown: function handleMouseDown(event) {\n this.$emit('mousedown', event);\n },\n handleOriginalItemNeeded: function handleOriginalItemNeeded(event) {\n return this.$props.originalItemNeeded(event);\n },\n onMouseOver: function onMouseOver(event) {\n this.$emit('mouseover', this.$props.item.id);\n event.stopPropagation();\n },\n onMouseLeave: function onMouseLeave(event) {\n this.$emit('mouseleave', this.$props.item.id);\n event.stopPropagation();\n }\n }\n};\nvar MenuItemInternalVue3 = MenuItemInternal;\nexport { MenuItemInternal, MenuItemInternalVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { MenuItemInternal } from './MenuItemInternal';\nimport { getDOMElementId } from './../utils/misc'; // tslint:enable:max-line-length\n\nvar MenuItemInternalsList = {\n name: 'KendoMenuItemInternalsList',\n // @ts-ignore\n emits: {\n 'keydown': null,\n 'mouseover': null,\n 'mouseleave': null,\n 'blur': null,\n 'focus': null,\n 'click': null,\n 'mousedown': null\n },\n props: {\n items: Array,\n parentItemId: {\n type: String,\n default: undefined\n },\n focusedItemId: String,\n lastItemIdToBeOpened: String,\n tabbableItemId: String,\n itemRender: [String, Object, Function],\n linkRender: [String, Object, Function],\n isMenuVertical: Boolean,\n isDirectionRightToLeft: Boolean,\n menuGuid: String,\n originalItemNeeded: Function\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var parentItemId = this.$props.parentItemId;\n\n var renderChildItems = function renderChildItems() {\n return this.$props.items.length > 0 ? this.$props.items.map(function (item, index) {\n return (// @ts-ignore\n h(MenuItemInternal, {\n item: item,\n attrs: this.v3 ? undefined : {\n item: item,\n isMenuVertical: this.$props.isMenuVertical,\n isDirectionRightToLeft: this.$props.isDirectionRightToLeft,\n focusedItemId: this.$props.focusedItemId,\n lastItemIdToBeOpened: this.$props.lastItemIdToBeOpened,\n tabbableItemId: this.$props.tabbableItemId,\n itemRender: this.$props.itemRender,\n linkRender: this.$props.linkRender,\n menuGuid: this.$props.menuGuid,\n originalItemNeeded: this.handleOriginalItemNeeded\n },\n isMenuVertical: this.$props.isMenuVertical,\n isDirectionRightToLeft: this.$props.isDirectionRightToLeft,\n focusedItemId: this.$props.focusedItemId,\n lastItemIdToBeOpened: this.$props.lastItemIdToBeOpened,\n tabbableItemId: this.$props.tabbableItemId,\n itemRender: this.$props.itemRender,\n linkRender: this.$props.linkRender,\n menuGuid: this.$props.menuGuid,\n onMouseover: this.handleItemMouseOver,\n on: this.v3 ? undefined : {\n \"mouseover\": this.handleItemMouseOver,\n \"mouseleave\": this.handleItemMouseLeave,\n \"mousedown\": this.handleItemMouseDown,\n \"keydown\": this.handleKeyDown,\n \"blur\": this.handleItemMouseBlur,\n \"focus\": this.handleItemMouseFocus,\n \"click\": this.handleItemMouseClick\n },\n onMouseleave: this.handleItemMouseLeave,\n onMousedown: this.handleItemMouseDown,\n onKeydown: this.handleKeyDown,\n onBlur: this.handleItemMouseBlur,\n onFocus: this.handleItemMouseFocus,\n onClick: this.handleItemMouseClick,\n originalItemNeeded: this.handleOriginalItemNeeded,\n key: index\n })\n );\n }, this) : null;\n };\n\n return h(\"ul\", {\n role: parentItemId !== undefined ? 'menu' : 'menubar',\n attrs: this.v3 ? undefined : {\n role: parentItemId !== undefined ? 'menu' : 'menubar',\n id: parentItemId !== undefined ? getDOMElementId(this.$props.menuGuid, parentItemId) : undefined\n },\n id: parentItemId !== undefined ? getDOMElementId(this.$props.menuGuid, parentItemId) : undefined,\n onMouseover: this.onMouseOver,\n on: this.v3 ? undefined : {\n \"mouseover\": this.onMouseOver,\n \"mouseleave\": this.onMouseLeave\n },\n onMouseleave: this.onMouseLeave\n }, [renderChildItems.call(this)]);\n },\n methods: {\n handleKeyDown: function handleKeyDown(event) {\n this.$emit('keydown', event);\n },\n handleOriginalItemNeeded: function handleOriginalItemNeeded(event) {\n return this.$props.originalItemNeeded(event);\n },\n handleItemMouseOver: function handleItemMouseOver(event) {\n this.$emit('mouseover', event);\n },\n handleItemMouseLeave: function handleItemMouseLeave(event) {\n this.$emit('mouseleave', event);\n },\n handleItemMouseDown: function handleItemMouseDown(event) {\n this.$emit('mousedown', event);\n },\n handleItemMouseBlur: function handleItemMouseBlur(event) {\n this.$emit('blur', event);\n },\n handleItemMouseFocus: function handleItemMouseFocus(event) {\n this.$emit('focus', event);\n },\n handleItemMouseClick: function handleItemMouseClick(event, itemId) {\n this.$emit('click', event, itemId);\n },\n onMouseOver: function onMouseOver(event) {\n if (this.$props.parentItemId !== undefined) {\n this.$emit('mouseover', this.$props.parentItemId);\n event.stopPropagation();\n }\n },\n onMouseLeave: function onMouseLeave(event) {\n if (this.$props.parentItemId !== undefined) {\n this.$emit('mouseleave', this.$props.parentItemId);\n event.stopPropagation();\n }\n }\n }\n};\nvar MenuItemInternalsListVue3 = MenuItemInternalsList;\nexport { MenuItemInternalsList, MenuItemInternalsListVue3 };","/**\n * @hidden\n */\nvar DirectionHolder = /** @class */ (function () {\n function DirectionHolder() {\n // The phase changes in the following sequence:\n // NotInitialized -> Initialized -> NewValueReceived.\n this.phase = 'Initialized';\n }\n DirectionHolder.prototype.getIsDirectionRightToLeft = function () {\n return this.isDirectionRightToLeft;\n };\n DirectionHolder.prototype.setIsDirectionRightToLeft = function (value) {\n this.phase = this.phase === 'NotInitialized' ? 'Initialized' : 'NewValueReceived';\n this.previousIsDirectionRightToLeft = this.isDirectionRightToLeft;\n this.isDirectionRightToLeft = value;\n };\n DirectionHolder.prototype.hasDirectionChanged = function () {\n return this.phase === 'NewValueReceived' ?\n this.previousIsDirectionRightToLeft !== this.isDirectionRightToLeft : false;\n };\n return DirectionHolder;\n}());\nexport { DirectionHolder };\n","/**\n * @hidden\n */\nvar MouseOverHandler = /** @class */ (function () {\n function MouseOverHandler(openOnClick, resetMenu, openItem) {\n this.openOnClick = openOnClick;\n this.resetMenu = resetMenu;\n this.openItem = openItem;\n this.openOnClick = openOnClick;\n this.isMouseOverEnabled = openOnClick ? false : true;\n }\n Object.defineProperty(MouseOverHandler.prototype, \"OpenOnClick\", {\n set: function (value) {\n if (Boolean(value) !== Boolean(this.openOnClick)) {\n this.mouseDown = false;\n this.isMouseOverEnabled = value ? false : true;\n }\n this.openOnClick = value;\n },\n enumerable: false,\n configurable: true\n });\n MouseOverHandler.prototype.handleItemSelectedViaKeyboard = function () {\n if (this.openOnClick) {\n this.isMouseOverEnabled = false;\n this.resetMenu();\n }\n };\n Object.defineProperty(MouseOverHandler.prototype, \"IsMouseOverEnabled\", {\n get: function () {\n return this.isMouseOverEnabled;\n },\n enumerable: false,\n configurable: true\n });\n MouseOverHandler.prototype.handleItemMouseDown = function () {\n this.mouseDown = true;\n };\n MouseOverHandler.prototype.handleItemFocus = function () {\n // Keep opening on mouse over upon tabbing\n // and keyboard navigation. However, discard the event\n // upon click because a cycle occurs and the item does not open.\n if (this.openOnClick && !this.mouseDown) {\n this.isMouseOverEnabled = true;\n }\n this.mouseDown = false;\n };\n MouseOverHandler.prototype.handleItemClick = function (itemId, clickedItemIsWithDefaultClose) {\n if (this.openOnClick) {\n if (this.isMouseOverEnabled) {\n if (clickedItemIsWithDefaultClose) {\n this.isMouseOverEnabled = false;\n this.resetMenu();\n }\n }\n else {\n this.isMouseOverEnabled = true;\n this.openItem(itemId);\n }\n }\n };\n return MouseOverHandler;\n}());\nexport { MouseOverHandler };\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { templateRendering, getListeners } from '@progress/kendo-vue-common';\nimport { Keys, guid, validatePackage } from '@progress/kendo-vue-common';\nimport { getDirectParentId, isIdEmptyOrZeroLevel, EMPTY_ID, ZERO_LEVEL_ZERO_ITEM_ID, getRootParentId, getItemById } from '../utils/itemsIdsUtils';\nimport { prepareInputItemsForInternalWork } from '../utils/prepareInputItemsForInternalWork';\nimport { getNewItemIdUponKeyboardNavigation } from '../utils/getNewItemIdUponKeyboardNavigation';\nimport { getHoverOpenDelay, getHoverCloseDelay } from '../utils/hoverDelay';\nimport { MenuItemInternalsList } from './MenuItemInternalsList';\nimport { DirectionHolder } from '../utils/DirectionHolder';\nimport { MouseOverHandler } from '../utils/MouseOverHandler';\nimport { packageMetadata } from '../../package-metadata'; // tslint:enable:max-line-length\n\nvar Menu = {\n name: 'KendoMenu',\n props: {\n vertical: {\n type: Boolean,\n default: false\n },\n items: Array,\n dir: String,\n hoverOpenDelay: {\n type: Number,\n default: undefined\n },\n hoverCloseDelay: {\n type: Number,\n default: undefined\n },\n openOnClick: Boolean,\n itemRender: [String, Object, Function],\n linkRender: [String, Object, Function],\n customCloseItemIds: Array\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.mouseOverHandler = new MouseOverHandler(this.$props.openOnClick, this.reset, this.onItemMouseOver); // private itemHoverRequest: any;\n // private itemLeaveRequest: any;\n // private menuWrapperEl: any;\n\n this.guid = guid();\n this.directionHolder = new DirectionHolder();\n this.inputItems = [];\n this.currentItems = []; // private mouseOverHandler: MouseOverHandler;\n },\n mounted: function mounted() {\n this.isFirstRender = false;\n },\n updated: function updated() {\n // Reset the Menu upon big UI changes\n // to avoid misleading the user and to\n // keep the component consistent.\n // if (Boolean(prevProps.vertical) !== Boolean(this.$props.vertical) ||\n // this.directionHolder.hasDirectionChanged()) {\n // this.reset();\n // }\n this.mouseOverHandler.OpenOnClick = this.$props.openOnClick;\n },\n destroyed: !!gh ? undefined : function () {\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n },\n data: function data() {\n return {\n focusedItemId: EMPTY_ID,\n hoveredItemId: EMPTY_ID,\n tabbableItemId: ZERO_LEVEL_ZERO_ITEM_ID,\n isFirstRender: true\n };\n },\n computed: {\n menuClassName: function menuClassName() {\n return {\n 'k-widget': true,\n 'k-reset': true,\n 'k-header': true,\n 'k-menu': true,\n 'k-menu-horizontal': !this.$props.vertical,\n 'k-menu-vertical': this.$props.vertical\n };\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n this.prepareItems();\n\n if (!this.isFirstRender) {\n this.directionHolder.setIsDirectionRightToLeft(this.checkIsDirectionRightToLeft());\n }\n\n var lastItemIdToBeOpened = this.hoveredItemId ? this.hoveredItemId : this.focusedItemId ? getDirectParentId(this.focusedItemId) : EMPTY_ID;\n return h(\"div\", {\n \"class\": this.getMenuWrapperClassName(),\n ref: function ref(el) {\n return _this.menuWrapperEl = el;\n }\n }, [// @ts-ignore\n h(MenuItemInternalsList, {\n \"class\": this.menuClassName,\n \"aria-orientation\": this.$props.vertical ? 'vertical' : undefined,\n attrs: this.v3 ? undefined : {\n \"aria-orientation\": this.$props.vertical ? 'vertical' : undefined,\n items: this.currentItems,\n isMenuVertical: this.$props.vertical,\n isDirectionRightToLeft: this.directionHolder.getIsDirectionRightToLeft(),\n focusedItemId: this.focusedItemId,\n lastItemIdToBeOpened: lastItemIdToBeOpened,\n tabbableItemId: this.tabbableItemId,\n itemRender: templateRendering.call(this, this.$props.itemRender, getListeners.call(this)),\n linkRender: templateRendering.call(this, this.$props.linkRender, getListeners.call(this)),\n menuGuid: this.guid,\n originalItemNeeded: this.getInputItem\n },\n items: this.currentItems,\n isMenuVertical: this.$props.vertical,\n isDirectionRightToLeft: this.directionHolder.getIsDirectionRightToLeft(),\n focusedItemId: this.focusedItemId,\n lastItemIdToBeOpened: lastItemIdToBeOpened,\n tabbableItemId: this.tabbableItemId,\n itemRender: templateRendering.call(this, this.$props.itemRender, getListeners.call(this)),\n linkRender: templateRendering.call(this, this.$props.linkRender, getListeners.call(this)),\n menuGuid: this.guid,\n onMouseleave: this.onItemMouseLeave,\n on: this.v3 ? undefined : {\n \"mouseleave\": this.onItemMouseLeave,\n \"mouseover\": this.onItemMouseOver,\n \"mousedown\": this.onItemMouseDown,\n \"keydown\": this.onKeyDown,\n \"focus\": this.onItemFocus,\n \"click\": this.onItemClick,\n \"blur\": this.onItemBlur\n },\n onMouseover: this.onItemMouseOver,\n onMousedown: this.onItemMouseDown,\n onKeydown: this.onKeyDown,\n onFocus: this.onItemFocus,\n onClick: this.onItemClick,\n onBlur: this.onItemBlur,\n originalItemNeeded: this.getInputItem\n })]);\n },\n methods: {\n reset: function reset() {\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n this.focusedItemId = EMPTY_ID;\n this.hoveredItemId = EMPTY_ID;\n this.tabbableItemId = ZERO_LEVEL_ZERO_ITEM_ID;\n },\n onKeyDown: function onKeyDown(event) {\n // The focusedItemId may be empty when contentRender is used.\n // For example, content with input.\n if (this.focusedItemId !== EMPTY_ID) {\n var currentItem = getItemById(this.focusedItemId, this.currentItems);\n var newItemId = getNewItemIdUponKeyboardNavigation(this.currentItems, currentItem.id, event.keyCode, event.key, this.$props.vertical, this.directionHolder.getIsDirectionRightToLeft());\n\n if (currentItem.id !== newItemId) {\n event.preventDefault();\n this.setFocusedItemId(newItemId);\n }\n\n if ((event.keyCode === Keys.enter || event.keyCode === Keys.space) && !currentItem.disabled) {\n this.mouseOverHandler.handleItemSelectedViaKeyboard();\n this.dispatchSelectEventIfWired(event, currentItem.id);\n\n if (!event.defaultPrevented && currentItem.items.length === 0 && currentItem.url) {\n window.location.assign(currentItem.url);\n }\n }\n }\n },\n onItemMouseOver: function onItemMouseOver(itemId) {\n if (this.mouseOverHandler.IsMouseOverEnabled) {\n // The `over` event can get fired even without actually leaving the item.\n // For example, move the mouse little by little over the item content.\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n var that_1 = this;\n this.itemHoverRequest = window.setTimeout(function () {\n that_1.setHoveredItemId(itemId);\n that_1.itemHoverRequest = null;\n }, getHoverOpenDelay(__assign({}, this.$props)));\n }\n },\n onItemMouseLeave: function onItemMouseLeave(itemId) {\n if (this.mouseOverHandler.IsMouseOverEnabled && this.isItemWithDefaultClose(itemId)) {\n // Both the `leave` and `hover` requests are cleared\n // to be defensive and consistent with the `over` handler.\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n var that_2 = this;\n this.itemLeaveRequest = window.setTimeout(function () {\n that_2.setHoveredItemId(EMPTY_ID);\n that_2.itemLeaveRequest = null;\n }, getHoverCloseDelay(__assign({}, this.$props)));\n }\n },\n onItemMouseDown: function onItemMouseDown() {\n this.mouseOverHandler.handleItemMouseDown();\n },\n onItemFocus: function onItemFocus(itemId) {\n this.setFocusedItemId(itemId);\n this.mouseOverHandler.handleItemFocus();\n },\n onItemClick: function onItemClick(event, itemId) {\n var item = getItemById(itemId, this.currentItems);\n\n if (!item.disabled) {\n this.setFocusedItemId(itemId);\n this.mouseOverHandler.handleItemClick(itemId, this.isItemWithDefaultClose(itemId));\n this.dispatchSelectEventIfWired(event, itemId);\n\n if (!event.defaultPrevented && item.url) {\n window.location.assign(item.url);\n }\n }\n },\n onItemBlur: function onItemBlur(itemId) {\n if (this.isItemWithDefaultClose(itemId)) {\n this.setFocusedItemId(EMPTY_ID);\n }\n },\n getInputItem: function getInputItem(itemId) {\n return getItemById(itemId, this.inputItems);\n },\n setFocusedItemId: function setFocusedItemId(focusedItemId) {\n var tabbableItemId = focusedItemId === EMPTY_ID ? this.tabbableItemId : getRootParentId(focusedItemId);\n var hoveredItemId = focusedItemId === EMPTY_ID || isIdEmptyOrZeroLevel(this.hoveredItemId) && isIdEmptyOrZeroLevel(focusedItemId) ? this.hoveredItemId : EMPTY_ID;\n this.hoveredItemId = hoveredItemId;\n this.focusedItemId = focusedItemId;\n this.tabbableItemId = tabbableItemId;\n },\n setHoveredItemId: function setHoveredItemId(hoveredItemId) {\n if (isIdEmptyOrZeroLevel(hoveredItemId) && isIdEmptyOrZeroLevel(this.focusedItemId)) {\n this.hoveredItemId = hoveredItemId;\n } else {\n this.hoveredItemId = hoveredItemId;\n this.focusedItemId = EMPTY_ID;\n this.tabbableItemId = ZERO_LEVEL_ZERO_ITEM_ID;\n }\n },\n getMenuWrapperClassName: function getMenuWrapperClassName() {\n return {\n 'k-rtl': this.directionHolder.getIsDirectionRightToLeft()\n };\n },\n clearItemHoverAndLeaveRequestsIfApplicable: function clearItemHoverAndLeaveRequestsIfApplicable() {\n if (this.itemHoverRequest) {\n clearTimeout(this.itemHoverRequest);\n this.itemHoverRequest = null;\n }\n\n if (this.itemLeaveRequest) {\n clearTimeout(this.itemLeaveRequest);\n this.itemLeaveRequest = null;\n }\n },\n isItemWithDefaultClose: function isItemWithDefaultClose(itemId) {\n return !this.$props.customCloseItemIds || this.$props.customCloseItemIds.indexOf(itemId) === -1;\n },\n checkIsDirectionRightToLeft: function checkIsDirectionRightToLeft() {\n return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.menuWrapperEl && getComputedStyle(this.menuWrapperEl).direction === 'rtl';\n },\n prepareItems: function prepareItems() {\n var _a = prepareInputItemsForInternalWork.call(this, this.$props.items),\n items = _a.items,\n inputItems = _a.inputItems;\n\n this.currentItems = items;\n this.inputItems = inputItems;\n },\n dispatchSelectEventIfWired: function dispatchSelectEventIfWired(event, itemId) {\n this.$emit('select', {\n event: event,\n compontent: this,\n item: this.getInputItem(itemId),\n itemId: itemId\n });\n }\n }\n};\nvar MenuVue3 = Menu;\nexport { Menu, MenuVue3 };","var _Draggable;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport KendoDraggable from '@telerik/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * Represents the default `Draggable` component.\n */\n\nvar Draggable = (_Draggable = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n this.draggable = new KendoDraggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!gh ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_Draggable, \"setup\", !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n}), _defineProperty(_Draggable, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _Draggable);\nexport { Draggable };","import { parents, siblingContainer } from '@progress/kendo-popup-common';\n/**\n * @hidden\n */\n\nexport var eitherRect = function eitherRect(rect, offset) {\n if (!rect) {\n return {\n height: 0,\n left: offset.left,\n top: offset.top,\n width: 0\n };\n }\n\n return rect;\n};\n/**\n * @hidden\n */\n\nexport var replaceOffset = function replaceOffset(rect, offset) {\n if (!offset) {\n return rect;\n }\n\n var result = {\n height: rect.height,\n left: offset.left,\n top: offset.top,\n width: rect.width\n };\n return result;\n};\n/**\n * @hidden\n */\n\nexport var removeStackingOffset = function removeStackingOffset(rect, stackingOffset) {\n if (!stackingOffset) {\n return rect;\n }\n\n var result = {\n height: rect.height,\n left: rect.left - stackingOffset.left,\n top: rect.top - stackingOffset.top,\n width: rect.width\n };\n return result;\n};\n/**\n * @hidden\n */\n\nexport var isDifferentOffset = function isDifferentOffset(oldOffset, newOffset) {\n var oldLeft = oldOffset.left,\n oldTop = oldOffset.top;\n var newLeft = newOffset.left,\n newTop = newOffset.top;\n return Math.abs(oldLeft - newLeft) >= 1 || Math.abs(oldTop - newTop) >= 1;\n};\n/**\n * @hidden\n */\n\nexport var isDocumentAvailable = function isDocumentAvailable() {\n return typeof document !== 'undefined' && !!document.body;\n};\n/**\n * @hidden\n */\n\nexport var isWindowAvailable = function isWindowAvailable() {\n return typeof window !== 'undefined';\n};\n/**\n * @hidden\n */\n\nexport var hasBoundingRect = function hasBoundingRect(elem) {\n return !!elem.getBoundingClientRect;\n};\n/**\n * @hidden\n */\n\nexport var OVERFLOW_REGEXP = /auto|scroll/;\n/**\n * @hidden\n */\n\nvar overflowStyle = function overflowStyle(element) {\n var styles = window.getComputedStyle(element);\n return \"\" + styles.overflow + styles.overflowX + styles.overflowY;\n};\n/**\n * @hidden\n */\n\n\nexport var scrollableParents = function scrollableParents(element) {\n var parentElements = [];\n\n if (!isDocumentAvailable() || !isWindowAvailable()) {\n return parentElements;\n }\n\n var parent = element.parentElement;\n\n while (parent) {\n if (OVERFLOW_REGEXP.test(overflowStyle(parent))) {\n parentElements.push(parent);\n }\n\n parent = parent.parentElement;\n }\n\n parentElements.push(window);\n return parentElements;\n};\n/**\n * @hidden\n */\n\nexport var FRAME_DURATION = 1000 / 60; // 1000ms divided by 60fps\n\n/**\n * @hidden\n */\n\nexport var hasRelativeStackingContext = function hasRelativeStackingContext() {\n if (!isDocumentAvailable()) {\n return false;\n }\n\n var top = 10;\n var parent = document.createElement('div');\n parent.style.transform = 'matrix(10, 0, 0, 10, 0, 0)';\n parent.innerHTML = \"
child
\";\n document.body.appendChild(parent);\n\n if (parent && parent.firstChild) {\n var firstChild = parent.firstChild;\n firstChild.style.position = 'fixed';\n firstChild.style.top = top + \"px\";\n }\n\n var isDifferent = parent.children[0].getBoundingClientRect().top !== top;\n document.body.removeChild(parent);\n return isDifferent;\n};\n/**\n * @hidden\n */\n\nexport var HAS_RELATIVE_STACKING_CONTEXT = hasRelativeStackingContext();\n/**\n * @hidden\n */\n\nexport var zIndex = function zIndex(anchor, container) {\n if (!anchor || !isDocumentAvailable() || !isWindowAvailable()) {\n return null;\n }\n\n var sibling = siblingContainer(anchor, container);\n\n if (!sibling) {\n return null;\n }\n\n var result = [anchor].concat(parents(anchor, sibling)).reduce(function (index, p) {\n var zIndexStyle = p.style.zIndex || window.getComputedStyle(p).zIndex;\n var current = parseInt(zIndexStyle, 10);\n return current > index ? current : index;\n }, 0);\n return result ? result + 1 : null;\n};\n/**\n * @hidden\n */\n\nexport var CollisionType = {\n fit: 'fit',\n flip: 'flip'\n};\n/**\n * @hidden\n */\n\nexport var AlignPoint = {\n left: 'left',\n center: 'center',\n right: 'right',\n bottom: 'bottom',\n top: 'top'\n};\n/**\n * @hidden\n */\n\nexport var throttle = function throttle(func, wait, options) {\n if (options === void 0) {\n options = {};\n }\n\n var timeout, context, args, result;\n var previous = 0;\n options = options || {};\n\n var later = function later() {\n previous = options.leading === false ? 0 : new Date().getTime();\n timeout = null;\n result = func.apply(context, args);\n\n if (!timeout) {\n context = args = null;\n }\n };\n\n var throttled = function throttled() {\n var now = new Date().getTime();\n\n if (!previous && options.leading === false) {\n previous = now;\n }\n\n var remaining = wait - (now - previous); // @ts-ignore\n\n context = this;\n args = arguments;\n\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n previous = now;\n result = func.apply(context, args);\n\n if (!timeout) {\n context = args = null;\n }\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n\n return result;\n };\n\n return throttled;\n};","import { eitherRect, removeStackingOffset } from '../util';\n/**\n * @hidden\n */\nvar AlignService = /** @class */ (function () {\n function AlignService(_dom) {\n this._dom = _dom;\n }\n AlignService.prototype.alignElement = function (settings) {\n var anchor = settings.anchor, element = settings.element, anchorAlign = settings.anchorAlign, elementAlign = settings.elementAlign, offset = settings.offset;\n var fixedMode = !this._dom.hasOffsetParent(element);\n var anchorRect = fixedMode ?\n this.absoluteRect(anchor, element, offset) :\n this.relativeRect(anchor, element, offset);\n return this._dom.align({\n anchorAlign: anchorAlign,\n anchorRect: anchorRect,\n elementAlign: elementAlign,\n elementRect: this._dom.offset(element)\n });\n };\n AlignService.prototype.absoluteRect = function (anchor, element, offset) {\n var dom = this._dom;\n var rect = eitherRect(dom.offset(anchor), offset);\n var stackingOffset = dom.stackingElementOffset(element);\n var removedOffset = removeStackingOffset(rect, stackingOffset);\n var stackingScroll = dom.stackingElementScroll(element);\n var withScroll = dom.addScroll(removedOffset, stackingScroll);\n var scrollPosition = this.elementScrollPosition(anchor, element);\n var result = dom.removeScroll(withScroll, scrollPosition);\n result.left += window.scrollX || window.pageXOffset;\n result.top += window.scrollY || window.pageYOffset;\n return result;\n };\n AlignService.prototype.elementScrollPosition = function (anchor, element) {\n return anchor ? { x: 0, y: 0 } : this._dom.scrollPosition(element);\n };\n AlignService.prototype.relativeRect = function (anchor, element, offset) {\n return eitherRect(this._dom.position(anchor, element), offset);\n };\n return AlignService;\n}());\nexport { AlignService };\n","import { align, applyLocationOffset, boundingOffset, getWindowViewPort, isBodyOffset, offset, positionWithScroll, restrictToView, addScroll, removeScroll, scrollPosition, siblingContainer } from '@progress/kendo-popup-common';\nimport { isDocumentAvailable, isWindowAvailable, HAS_RELATIVE_STACKING_CONTEXT, scrollableParents, zIndex } from '../util';\n/**\n * @hidden\n */\nvar DOMService = /** @class */ (function () {\n function DOMService() {\n }\n DOMService.prototype.addOffset = function (current, addition) {\n return {\n left: current.left + addition.left,\n top: current.top + addition.top\n };\n };\n DOMService.prototype.align = function (settings) {\n return align(settings);\n };\n DOMService.prototype.boundingOffset = function (el) {\n return boundingOffset(el);\n };\n DOMService.prototype.getWindow = function () {\n return isWindowAvailable() ? window : null;\n };\n DOMService.prototype.isBodyOffset = function (el) {\n return isBodyOffset(el);\n };\n DOMService.prototype.hasOffsetParent = function (el) {\n if (!el) {\n return false;\n }\n var offsetParentEl = el.offsetParent;\n return offsetParentEl &&\n !(offsetParentEl.nodeName === 'BODY' &&\n window.getComputedStyle(offsetParentEl).position === 'static');\n };\n DOMService.prototype.offset = function (el) {\n if (!el) {\n return null;\n }\n return offset(el);\n };\n DOMService.prototype.staticOffset = function (element) {\n if (!element) {\n return null;\n }\n var _a = element.style, left = _a.left, top = _a.top;\n element.style.left = '0px';\n element.style.top = '0px';\n var currentOffset = offset(element);\n element.style.left = left;\n element.style.top = top;\n return currentOffset;\n };\n DOMService.prototype.position = function (element, popup) {\n if (!element || !popup) {\n return null;\n }\n var parentSibling = siblingContainer(element, popup);\n return positionWithScroll(element, parentSibling);\n };\n DOMService.prototype.relativeOffset = function (el, currentLocation) {\n return applyLocationOffset(this.offset(el), currentLocation, this.isBodyOffset(el));\n };\n DOMService.prototype.addScroll = function (rect, scroll) {\n return addScroll(rect, scroll);\n };\n DOMService.prototype.removeScroll = function (rect, scroll) {\n return removeScroll(rect, scroll);\n };\n DOMService.prototype.restrictToView = function (settings) {\n return restrictToView(settings);\n };\n DOMService.prototype.scrollPosition = function (el) {\n return scrollPosition(el);\n };\n DOMService.prototype.scrollableParents = function (el) {\n return scrollableParents(el);\n };\n DOMService.prototype.stackingElementOffset = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return null;\n }\n return offset(relativeContextElement);\n };\n DOMService.prototype.stackingElementScroll = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return { x: 0, y: 0 };\n }\n return {\n x: relativeContextElement.scrollLeft,\n y: relativeContextElement.scrollTop\n };\n };\n DOMService.prototype.stackingElementViewPort = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return null;\n }\n return {\n height: relativeContextElement.scrollHeight,\n width: relativeContextElement.scrollWidth\n };\n };\n DOMService.prototype.getRelativeContextElement = function (el) {\n if (!el || !HAS_RELATIVE_STACKING_CONTEXT) {\n return null;\n }\n var parent = el.parentElement;\n while (parent) {\n if (window.getComputedStyle(parent).transform !== 'none') {\n return parent;\n }\n parent = parent.parentElement;\n }\n return null;\n };\n DOMService.prototype.useRelativePosition = function (el) {\n return !!this.getRelativeContextElement(el);\n };\n DOMService.prototype.windowViewPort = function (el) {\n return getWindowViewPort(el);\n };\n DOMService.prototype.zIndex = function (anchor, container) {\n return zIndex(anchor, container);\n };\n DOMService.prototype.zoomLevel = function () {\n if (!isDocumentAvailable() || !isWindowAvailable()) {\n return 1;\n }\n return parseFloat((document.documentElement.clientWidth / window.innerWidth).toFixed(2));\n };\n DOMService.prototype.isZoomed = function () {\n return this.zoomLevel() > 1;\n };\n return DOMService;\n}());\nexport { DOMService };\n","import { eitherRect, replaceOffset } from '../util';\n/**\n * @hidden\n */\nvar PositionService = /** @class */ (function () {\n function PositionService(_dom) {\n this._dom = _dom;\n }\n PositionService.prototype.positionElement = function (settings) {\n var anchor = settings.anchor, currentLocation = settings.currentLocation, element = settings.element, anchorAlign = settings.anchorAlign, elementAlign = settings.elementAlign, collisions = settings.collisions;\n var dom = this._dom;\n var viewPort = settings.viewPort || dom.stackingElementViewPort(element) || dom.windowViewPort(element);\n var anchorRect = eitherRect(dom.offset(anchor), currentLocation);\n var initialElementRect = replaceOffset(dom.staticOffset(element), currentLocation);\n var elementRect = this.elementRect(element, initialElementRect);\n var result = dom.restrictToView({\n anchorAlign: anchorAlign,\n anchorRect: anchorRect,\n collisions: collisions,\n elementAlign: elementAlign,\n elementRect: elementRect,\n viewPort: viewPort\n });\n return {\n flipped: result.flipped,\n offset: dom.addOffset(initialElementRect, result.offset)\n };\n };\n PositionService.prototype.elementRect = function (element, rect) {\n return this._dom.removeScroll(rect, this._dom.scrollPosition(element));\n };\n return PositionService;\n}());\nexport { PositionService };\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","import { FIELD_REGEX } from './constants';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template) {\n return undefined;\n }\n var scopedSlot = gh ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n // @ts-ignore\n if (typeof template === 'string' && scopedSlot) {\n // @ts-ignore\n return { type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || typeof template === 'object' ||\n (typeof template === 'function' && template.component)) {\n return { type: 'component', render: template, listeners: listeners };\n }\n return { type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (gh) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render(h, defaultRendering, defaultSlots, props, events);\n }\n return template.render(h, defaultRendering, props, events, defaultSlots);\n }\n else {\n return h(template.render, componentOptions, gh ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \" + packageMetadata.name + \"\\n\";\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \" + packageMetadata.licensingDocsUrl + \" for more information.\\n\";\n console.warn(message);\n }\n}\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-popup',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1641561009,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Slide } from '@progress/kendo-vue-animation';\nimport { CollisionType, AlignPoint, throttle, FRAME_DURATION, isWindowAvailable } from './util';\nimport { AlignService } from './services/alignService';\nimport { DOMService } from './services/domService';\nimport { PositionService } from './services/positionService';\nimport { canUseDOM, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nvar DEFAULT_OFFSET = {\n left: -1000,\n top: 0\n};\nvar ANIMATION_CONTAINER = 'k-animation-container';\nvar ANIMATION_CONTAINER_SHOWN = 'k-animation-container-shown';\nvar K_POPUP = 'k-popup';\n/**\n * Represents the default `Animation` component.\n */\n\nvar Popup = {\n name: 'Popup',\n props: {\n appendTo: {\n type: String,\n default: ''\n },\n anchor: {\n type: String,\n default: ''\n },\n className: String,\n id: String,\n popupClass: String,\n collision: {\n type: Object,\n default: function _default() {\n return {\n horizontal: CollisionType.fit,\n vertical: CollisionType.flip\n };\n }\n },\n anchorAlign: {\n type: Object,\n default: function _default() {\n return {\n horizontal: AlignPoint.left,\n vertical: AlignPoint.bottom\n };\n }\n },\n popupAlign: {\n type: Object,\n default: function _default() {\n return {\n horizontal: AlignPoint.left,\n vertical: AlignPoint.top\n };\n }\n },\n offset: {\n type: Object,\n default: function _default() {\n return DEFAULT_OFFSET;\n }\n },\n show: {\n type: Boolean,\n default: false\n },\n animate: {\n type: [Boolean, Object],\n default: function _default() {\n return true;\n }\n },\n direction: {\n type: String,\n default: 'down'\n },\n transition: {\n type: String,\n default: 'expand'\n }\n },\n data: function data() {\n return {\n hasMounted: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.mountedAppendTo = undefined;\n this.mountedAnchor = undefined;\n this._initiallyMountedContent = undefined;\n this._flipped = false;\n this._offsetTop = 0;\n this._offsetLeft = -1000;\n this._exitingAnimation = false;\n this._prevShow = false;\n this._prevShow = this.$props.show;\n this._domService = new DOMService();\n this._alignService = new AlignService(this._domService);\n this._positionService = new PositionService(this._domService);\n this.reposition = throttle(this.reposition.bind(this), FRAME_DURATION);\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (canUseDOM) {\n this.mountedAppendTo = this.$props.appendTo ? this.getParentRef(this.$props.appendTo) : document.body;\n this.mountedAnchor = this.$props.anchor ? this.getParentRef(this.$props.anchor) : document.body;\n }\n\n this._parentElement = this.$el.parentElement;\n this._initiallyMountedContent = this.$el.cloneNode(true);\n this.hasMounted = true;\n this.mountedAppendTo.appendChild(this.$el);\n },\n updated: function updated() {\n this._prevShow = this.$props.show;\n },\n destroyed: !!gh ? undefined : function () {\n this.detachRepositionHandlers();\n },\n beforeDestroy: !!gh ? undefined : function () {\n if (this._parentElement) {\n this._parentElement.appendChild(this.$el);\n }\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.detachRepositionHandlers();\n },\n // @ts-ignore\n beforeUnmount: function beforeUnmount() {\n if (this._parentElement) {\n this._parentElement.appendChild(this.$el);\n }\n },\n methods: {\n onOpened: function onOpened() {\n var element = this.$el;\n\n if (this.$props.show) {\n element.classList.add(ANIMATION_CONTAINER_SHOWN);\n }\n\n this.attachRepositionHandlers(element);\n this.$emit('open', {\n target: this\n });\n },\n onClosing: function onClosing() {\n if (!this.$props.show) {\n var element = this.$el;\n element.classList.remove(ANIMATION_CONTAINER_SHOWN);\n }\n\n this.detachRepositionHandlers();\n },\n onClosed: function onClosed() {\n if (this._exitingAnimation) {\n this._exitingAnimation = false;\n this.$forceUpdate();\n }\n\n this.$emit('close', {\n target: this\n });\n },\n transitionDuration: function transitionDuration() {\n var animate = this.$props.animate;\n var transitionEnterDuration = 0;\n var transitionExitDuration = 0;\n\n if (animate) {\n if (animate === true) {\n // Inherit the default duration of the Animation component.\n transitionEnterDuration = transitionExitDuration = undefined;\n } else {\n transitionEnterDuration = animate.openDuration;\n transitionExitDuration = animate.closeDuration;\n }\n }\n\n return {\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration\n };\n },\n getParentRef: function getParentRef(anchor) {\n // @ts-ignore\n var parent = this.$parent;\n\n while (!parent.$refs[anchor]) {\n // @ts-ignore\n if (parent && parent.kendoAnchorRef) {\n // @ts-ignore\n return parent.kendoAnchorRef;\n } // @ts-ignore\n\n\n parent = parent.$parent;\n\n if (!parent && canUseDOM) {\n return document.body;\n }\n } // @ts-ignore\n\n\n return parent.$refs[anchor].$el || parent.$refs[anchor];\n },\n position: function position(settings, element, anchor) {\n var anchorAlign = settings.anchorAlign,\n popupAlign = settings.popupAlign,\n collision = settings.collision,\n offset = settings.offset;\n var anchorElement = anchor ? this.v3 ? this.mountedAnchor : this.getParentRef(anchor) : document.body;\n\n var alignedOffset = this._alignService.alignElement({\n anchor: anchor ? anchorElement : undefined,\n element: element,\n elementAlign: popupAlign,\n anchorAlign: anchorAlign,\n offset: offset\n });\n\n var result = this._positionService.positionElement({\n anchor: anchorElement,\n anchorAlign: anchorAlign,\n collisions: collision,\n element: element,\n currentLocation: alignedOffset,\n elementAlign: popupAlign\n });\n\n return result;\n },\n calculatePosition: function calculatePosition($props, appendToElement) {\n if (!appendToElement || !isWindowAvailable() || !canUseDOM) {\n return {\n flipped: false,\n offset: $props.offset\n };\n }\n\n var defaultSlot = getDefaultSlots(this);\n var root = document.createElement('div');\n var contentElement = this.$el && this.$el.firstChild ? this.$el.firstChild.firstChild ? this.$el.firstChild.firstChild.cloneNode(true) : null : null;\n var divWrapper = contentElement && contentElement.getBoundingClientRect ? contentElement : this._initiallyMountedContent;\n\n if (divWrapper) {\n root.appendChild(divWrapper);\n } else {\n // @ts-ignore\n var internalClass = this.v3 ? defaultSlot && defaultSlot[0].props ? defaultSlot[0].props.class : '' : defaultSlot && defaultSlot[0].data ? defaultSlot[0].data.staticClass : ''; // @ts-ignore\n\n var domClass = this.v3 ? this.$props.popupClass ? this.$props.popupClass : '' : defaultSlot && defaultSlot[0].data ? defaultSlot[0].data.class : '';\n root.innerHTML = \"
\\t\\n
\\n
\\n
\\t\\n
\\t\\n
\";\n }\n\n appendToElement.appendChild(root);\n\n if (root && root.firstChild) {\n var firstChild = root.firstChild;\n firstChild.style.position = 'absolute';\n firstChild.style.visibility = 'hidden';\n firstChild.style.display = 'block';\n firstChild.style.left = '-1000';\n firstChild.style.top = '0';\n var inlineStyles = this.v3 ? defaultSlot && defaultSlot[0].props ? defaultSlot[0].props.style : {} : defaultSlot[0].data ? defaultSlot[0].data.style : {};\n\n if (inlineStyles) {\n for (var _i = 0, _a = Object.entries(inlineStyles); _i < _a.length; _i++) {\n var _b = _a[_i],\n key = _b[0],\n value = _b[1];\n firstChild.style[key] = value;\n }\n }\n }\n\n var newPosition = this.position($props, root.firstChild, this.$props.anchor);\n root.parentNode.removeChild(root);\n return newPosition;\n },\n attachRepositionHandlers: function attachRepositionHandlers(element) {\n var _this = this;\n\n this.detachRepositionHandlers();\n this._scrollableParents = this._domService.scrollableParents(this.$props.anchor ? this.mountedAnchor : element);\n\n this._scrollableParents.map(function (p) {\n return p.addEventListener('scroll', _this.reposition);\n });\n\n window.addEventListener('resize', this.reposition);\n },\n detachRepositionHandlers: function detachRepositionHandlers() {\n var _this = this;\n\n if (this._scrollableParents) {\n this._scrollableParents.map(function (p) {\n return p.removeEventListener('scroll', _this.reposition);\n });\n\n this._scrollableParents = undefined;\n }\n\n window.removeEventListener('resize', this.reposition);\n },\n reposition: function reposition() {\n this.$forceUpdate();\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n className = _a.className,\n popupClass = _a.popupClass,\n show = _a.show,\n id = _a.id;\n var defaultSlots = getDefaultSlots(this);\n var defaultSlot = this.v3 ? defaultSlots : show ? defaultSlots : null;\n var defaultAppentTo = isWindowAvailable() ? this.$props.appendTo ? this.mountedAppendTo || this.getParentRef(this.$props.appendTo) : document.body : undefined;\n\n if (this.$props.show) {\n var newPosition = this.calculatePosition(this.$props, defaultAppentTo);\n this._offsetLeft = newPosition.offset.left;\n this._offsetTop = newPosition.offset.top;\n this._flipped = !!newPosition.flipped;\n }\n\n var direction = this._flipped ? 'up' : 'down';\n\n var _b = this.transitionDuration(),\n transitionEnterDuration = _b.transitionEnterDuration,\n transitionExitDuration = _b.transitionExitDuration;\n\n this._exitingAnimation = this._exitingAnimation || this._prevShow && !show;\n\n if (!this.hasMounted) {\n return h(\"div\", {\n style: {\n display: 'none'\n },\n \"class\": className\n }, [h(\"div\", {\n \"class\": [popupClass, K_POPUP]\n }, [defaultSlots])]);\n }\n\n if (show || this._exitingAnimation && defaultAppentTo) {\n var popup = // @ts-ignore function children\n h(Slide, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n componentChildClassName: [popupClass, K_POPUP],\n className: className,\n direction: direction,\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration,\n appear: show\n },\n componentChildClassName: [popupClass, K_POPUP],\n className: className,\n onEntered: this.onOpened,\n on: this.v3 ? undefined : {\n \"entered\": this.onOpened,\n \"exiting\": this.onClosing,\n \"exited\": this.onClosed\n },\n onExiting: this.onClosing,\n onExited: this.onClosed,\n direction: direction,\n style: {\n position: 'absolute',\n top: this._offsetTop + 'px',\n left: this._offsetLeft + 'px'\n },\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration,\n appear: show\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot]);\n return popup;\n }\n\n return null;\n }\n};\nvar PopupVue3 = Popup;\nexport { Popup, PopupVue3 };","/**\n * @hidden\n */\nexport var isObject = function (value) {\n return typeof value === 'object';\n};\n","import { isObject } from './isObject';\n/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg)\n ? classNames.apply(void 0, arg) : isObject(arg)\n ? Object\n .keys(arg)\n .map(function (key, idx) { return arg[idx] || (arg[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ')\n : arg;\n })\n .filter(function (arg) { return !!arg; })\n .join(' ');\n};\n","/* tslint:disable:no-bitwise */\n/**\n * @hidden\n */\nvar guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\nexport { guid };\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getRef(comp, refName, customRef) {\n return comp.v3 ? comp[\"\".concat(refName, \"Ref\")] : comp.$refs[\"\".concat(customRef || refName)];\n}\n/**\n * @hidden\n */\nexport function setRef(comp, refName, customRef) {\n return (comp.v3 ? function (el) {\n comp[\"\".concat(refName, \"Ref\")] = el;\n } : customRef || refName);\n}\n","import { Keys } from './keys';\nvar FOCUSABLE_SELECTOR = 'input, [tabindex]:not([tabindex=\"-1\"])';\n/**\n * @hidden\n */\nexport var firstFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[0].focus) {\n return elements[0];\n }\n }\n return undefined;\n};\n/**\n * @hidden\n */\nexport var lastFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[elements.length - 1].focus) {\n return elements[elements.length - 1];\n }\n }\n return undefined;\n};\n/**\n * @hidden\n */\nexport var focusFirstFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[0].focus) {\n elements[0].focus();\n }\n }\n};\n/**\n * @hidden\n */\nexport var focusLastFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[elements.length - 1].focus) {\n elements[elements.length - 1].focus();\n }\n }\n};\n/**\n * @hidden\n */\nexport var focusContainer = function (e, containerElement) {\n var focusState = true;\n if (e.keyCode !== Keys.enter && e.target === containerElement) {\n return false;\n }\n if (e.keyCode === Keys.enter && e.target === containerElement) {\n focusState = true;\n setTimeout(function () {\n focusFirstFocusableChild(containerElement);\n }, 1);\n }\n else if (e.keyCode === Keys.esc) {\n focusState = false;\n containerElement.focus();\n }\n else if (e.keyCode === Keys.tab) {\n var firstChild = firstFocusableChild(containerElement);\n var lastChild = lastFocusableChild(containerElement);\n if (lastChild && !e.shiftKey && e.target === lastChild) {\n e.preventDefault();\n firstChild.focus();\n }\n if (firstChild && e.shiftKey && e.target === firstChild) {\n e.preventDefault();\n lastChild.focus();\n }\n }\n return focusState;\n};\n","var _DraggableVue;\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return (typeof key === \"undefined\" ? \"undefined\" : _typeof(key)) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if ((typeof input === \"undefined\" ? \"undefined\" : _typeof(input)) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if ((typeof res === \"undefined\" ? \"undefined\" : _typeof(res)) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport * as d from '@progress/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * @hidden\n */\nvar DraggableVue2 = (_DraggableVue = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n var draggable = d;\n var dp = typeof draggable !== 'undefined' && draggable.Draggable ? draggable : draggable.default;\n this.draggable = new dp.Draggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!isV3 ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_DraggableVue, \"setup\", !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n}), _defineProperty(_DraggableVue, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _DraggableVue);\n/**\n * @hidden\n */\nvar Draggable = DraggableVue2;\nexport { Draggable, DraggableVue2 };","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","import { FIELD_REGEX } from './constants/main';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants/main';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n return Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nimport { isObject } from './isObject';\nvar allVue = Vue;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nexport var templateDefinition = {\n type: [String, Function, Object, Boolean],\n default: function () {\n return undefined;\n }\n};\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template && template !== false) {\n return undefined;\n }\n if (template.kt) {\n return template;\n }\n var scopedSlot = isV3 ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n if (typeof template === 'string' && scopedSlot) {\n return { kt: true, type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || isObject(template) ||\n (typeof template === 'function' && template.component)) {\n return { kt: true, type: 'component', render: template, listeners: listeners };\n }\n return { kt: true, type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template || (template && template.render === true)) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (isV3) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return isV3\n ? slotTemplate\n : slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render ? template.render(h, defaultRendering, defaultSlots, props, events) : undefined;\n }\n return template.render ? template.render(h, defaultRendering, props, events, defaultSlots) : undefined;\n }\n else {\n return h(template.render, componentOptions, isV3 ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","import * as l from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n var licensing = l;\n var ls = typeof licensing !== 'undefined' && licensing.validatePackage\n ? licensing\n : licensing.default;\n if (ls && ls.validatePackage) {\n ls.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \".concat(packageMetadata.name, \"\\n\");\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \".concat(packageMetadata.licensingDocsUrl, \" for more information.\\n\");\n console.warn(message);\n }\n}\n","/**\n * @hidden\n */\nvar getDocument = function () { return typeof document !== 'undefined' ? document : {}; };\n/**\n * @hidden\n */\nvar BrowserSupportService = /** @class */ (function () {\n function BrowserSupportService() {\n }\n Object.defineProperty(BrowserSupportService.prototype, \"scrollbarWidth\", {\n get: function () {\n var document = getDocument();\n if (!this.scrollbar && document && document.createElement) {\n var div = document.createElement('div');\n div.style.cssText = 'overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block';\n div.innerHTML = ' ';\n document.body.appendChild(div);\n this.scrollbar = div.offsetWidth - div.scrollWidth;\n document.body.removeChild(div);\n }\n return this.scrollbar;\n },\n enumerable: false,\n configurable: true\n });\n return BrowserSupportService;\n}());\nexport { BrowserSupportService };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SIZE_CLASSES } from './constants';\n/**\n * @hidden\n */\nvar FontIconVue2 = {\n name: 'KendoFontIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n name: String,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n title: String,\n tabIndex: Number\n },\n computed: {\n fontClassNames: function fontClassNames() {\n var _a;\n var _b = this.$props,\n name = _b.name,\n flip = _b.flip,\n size = _b.size,\n themeColor = _b.themeColor;\n return _a = {\n 'k-icon': true\n }, _a['k-i-' + name] = name, _a['k-color-' + themeColor] = themeColor, _a['k-flip-h'] = flip === 'horizontal' || flip === 'both', _a['k-flip-v'] = flip === 'vertical' || flip === 'both', _a[SIZE_CLASSES[size]] = size, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n id = _a.id,\n title = _a.title,\n tabIndex = _a.tabIndex,\n ariaLabel = _a.ariaLabel;\n return h(\"span\", {\n \"class\": this.fontClassNames,\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n title: title,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex,\n role: \"presentation\"\n },\n title: title,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex,\n role: \"presentation\",\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n });\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar FontIcon = FontIconVue2;\nexport { FontIcon, FontIconVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SIZE_CLASSES } from './constants';\nimport { getDefaultSlots } from '../defaultSlots';\n/**\n * @hidden\n */\nvar SvgIconVue2 = {\n name: 'KendoSvgIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n icon: Object,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n title: String,\n viewBox: {\n type: String,\n default: '0 0 24 24'\n },\n tabIndex: Number\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n var _b = this.$props,\n name = _b.name,\n flip = _b.flip,\n size = _b.size,\n themeColor = _b.themeColor;\n return _a = {\n 'k-svg-icon': true\n }, _a['k-color-' + themeColor] = themeColor, _a['k-svg-i-' + name] = name, _a['k-flip-h'] = flip === 'horizontal' || flip === 'both', _a['k-flip-v'] = flip === 'vertical' || flip === 'both', _a[SIZE_CLASSES[size]] = size, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n svgClassName = _a.svgClassName,\n icon = _a.icon,\n id = _a.id,\n tabIndex = _a.tabIndex,\n svgStyle = _a.svgStyle,\n viewBox = _a.viewBox,\n title = _a.title,\n ariaLabel = _a.ariaLabel;\n var innerHTML = icon ? icon.content : undefined;\n var attrs = {\n id: id,\n title: title,\n 'aria-hidden': true,\n tabIndex: tabIndex,\n ariaLabel: ariaLabel,\n focusable: 'false',\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: icon ? icon.viewBox : viewBox\n };\n var svg = h('svg', __assign(__assign({}, attrs), {\n attrs: this.v3 ? undefined : attrs,\n domProps: this.v3 ? undefined : {\n innerHTML: innerHTML\n },\n innerHTML: innerHTML,\n 'class': svgClassName,\n style: svgStyle\n }), [icon ? undefined : defaultSlot]);\n return h(\"span\", {\n \"class\": this.wrapperClass,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n }, [svg]);\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar SvgIcon = SvgIconVue2;\nexport { SvgIcon, SvgIconVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { FontIcon } from './FontIcon';\nimport { SvgIcon } from './SvgIcon';\n/**\n * @hidden\n */\nvar IconVue2 = {\n name: 'KendoIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n inject: {\n kendoIcons: {\n default: {\n type: 'svg',\n icons: {}\n }\n }\n },\n props: {\n name: String,\n icon: Object,\n title: String,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n viewBox: {\n type: String,\n default: '0 0 24 24'\n },\n tabIndex: Number\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n name = _a.name,\n icon = _a.icon,\n themeColor = _a.themeColor,\n size = _a.size,\n flip = _a.flip,\n id = _a.id,\n viewBox = _a.viewBox,\n tabIndex = _a.tabIndex,\n title = _a.title,\n ariaLabel = _a.ariaLabel;\n var svg = name && this.kendoIcons && this.kendoIcons.icons && this.kendoIcons.icons[name] || icon;\n var renderSVG = this.kendoIcons && this.kendoIcons.type === 'svg' && svg !== undefined;\n var newSize = this.kendoIcons && this.kendoIcons.size ? this.kendoIcons.size : size;\n var newFlip = this.kendoIcons && this.kendoIcons.flip ? this.kendoIcons.flip : flip;\n var resolvedName = name || (icon && icon.name ? icon.name : undefined);\n var commonProps = {\n themeColor: themeColor,\n size: newSize,\n flip: newFlip,\n id: id,\n tabIndex: tabIndex,\n title: title,\n ariaLabel: ariaLabel\n };\n var fontIcon = h(FontIcon, __assign(__assign({}, commonProps), {\n name: resolvedName,\n attrs: this.v3 ? undefined : __assign(__assign({}, commonProps), {\n name: resolvedName\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n 'click': this.handleClick\n }\n }));\n var svgIcon = h(SvgIcon, __assign(__assign({}, commonProps), {\n icon: svg,\n viewBox: viewBox,\n attrs: this.v3 ? undefined : __assign(__assign({}, commonProps), {\n icon: svg,\n viewBox: viewBox\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n 'click': this.handleClick\n }\n }));\n return renderSVG ? svgIcon : fontIcon;\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar Icon = IconVue2;\nexport { Icon, IconVue2 };","import { canUseDOM } from '@progress/kendo-vue-common';\nvar arrowWidth = 10;\nvar arrowHeight = 10;\n/**\n * @hidden\n */\nexport var getLeftPosition = function getLeftPosition(left, elementWidth, targetElement, anchorElement, position) {\n switch (position) {\n case 'bottom':\n return anchorElement === 'pointer' ? left - elementWidth / 2 : targetElement.left - elementWidth / 2 + targetElement.width / 2;\n case 'left':\n return anchorElement === 'pointer' ? left - elementWidth - arrowWidth : targetElement.left - elementWidth - arrowWidth;\n case 'right':\n return anchorElement === 'pointer' ? left + arrowWidth : targetElement.right + arrowWidth;\n case 'top':\n return anchorElement === 'pointer' ? left - elementWidth / 2 : targetElement.left - elementWidth / 2 + targetElement.width / 2;\n default:\n if (anchorElement === 'pointer') {\n return canUseDOM && left < window.screen.availWidth / 2 ? left - arrowWidth : left - elementWidth + arrowWidth;\n } else {\n return canUseDOM && left < window.screen.availWidth / 2 ? targetElement.left : targetElement.right - elementWidth;\n }\n }\n};\n/**\n * @hidden\n */\nexport var getTopPosition = function getTopPosition(top, targetElement, elementHeight, anchorElement, position) {\n switch (position) {\n case 'bottom':\n return anchorElement === 'pointer' ? top + arrowHeight : targetElement.bottom + arrowHeight;\n case 'left':\n return anchorElement === 'pointer' ? top - elementHeight / 2 : targetElement.top - elementHeight / 2 + targetElement.height / 2;\n case 'right':\n return anchorElement === 'pointer' ? top - elementHeight / 2 : targetElement.top - elementHeight / 2 + targetElement.height / 2;\n case 'top':\n return anchorElement === 'pointer' ? top - elementHeight - arrowHeight : targetElement.top - elementHeight - arrowHeight;\n default:\n if (anchorElement === 'pointer') {\n return canUseDOM && top < window.innerHeight / 2 ? top + arrowWidth : top - elementHeight - arrowWidth;\n } else {\n return canUseDOM && top < window.innerHeight / 2 ? targetElement.bottom + arrowHeight : targetElement.top - elementHeight - arrowHeight;\n }\n }\n};\n/**\n * @hidden\n */\nexport var getDomRect = function getDomRect(currentTarget) {\n if (currentTarget !== null) {\n return currentTarget.getBoundingClientRect();\n }\n return document.body.getBoundingClientRect();\n};\n/**\n * @hidden\n */\nexport var toolTipSelectors = ['k-tooltip-content', 'k-animation-container', 'k-tooltip', 'k-tooltip-title', 'k-tooltip k-tooltip-closable', 'k-icon k-i-x', 'k-svg-icon k-svg-i-x'];\n/**\n * @hidden\n */\nexport var isTooltipElement = function isTooltipElement(element) {\n if (element === null) {\n return false;\n }\n var node = element;\n while (node) {\n if (node !== null && node.classList && node.classList.contains('k-tooltip')) {\n return true;\n }\n node.parentNode !== null ? node = node.parentNode : node = false;\n }\n return toolTipSelectors.filter(function (t) {\n return t === element.className;\n }).length > 0;\n};","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-tooltip',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052965,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, validatePackage, getDefaultSlots, getListeners, templateRendering, getTemplate, setRef, getRef, canUseDOM, guid } from '@progress/kendo-vue-common';\nimport { getLeftPosition, getTopPosition, getDomRect, isTooltipElement } from './utils';\nimport { packageMetadata } from './package-metadata';\nvar DEFAULT_TOOLTIP_ZINDEX = 100;\nvar ARIAIDSUFFIX = '_tb_active';\n/**\n * @hidden\n */\nvar TooltipVue2 = {\n name: 'KendoTooltip',\n inheritAttrs: false,\n props: {\n showCallout: {\n type: Boolean,\n default: true\n },\n setCalloutOnPositionAuto: {\n type: String,\n default: undefined\n },\n anchorElement: {\n type: String,\n default: 'pointer',\n validator: function validator(value) {\n return ['pointer', 'target'].includes(value);\n }\n },\n content: [String, Object, Function],\n filter: Function,\n openDelay: {\n type: Number,\n default: 400\n },\n open: {\n type: Boolean,\n default: undefined\n },\n position: {\n type: String,\n default: 'auto',\n validator: function validator(value) {\n return ['right', 'left', 'top', 'bottom', 'auto'].includes(value);\n }\n },\n updatePosition: {\n type: Function,\n default: undefined\n },\n updateInterval: Number,\n className: String,\n wrapperStyle: Object,\n tooltipClassName: String,\n tooltipStyle: Object,\n targetElement: {\n type: undefined\n },\n parentTitle: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n top: 0,\n left: 0,\n currentTargetElement: null,\n currentOpen: false,\n title: ''\n };\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n return _a = {\n 'k-animation-container': true,\n 'k-animation-container-fixed': true,\n 'k-animation-container-shown': true\n }, _a[this.$props.className] = true, _a;\n },\n computedTarget: function computedTarget() {\n return this.targetElement !== undefined ? this.targetElement : this.currentTargetElement;\n },\n computedOpen: function computedOpen() {\n return this.open !== undefined ? this.open : this.currentOpen;\n }\n },\n inject: {\n kCurrentZIndex: {\n default: null\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.top = 0;\n this.left = 0;\n this.willOpen = false;\n },\n mounted: function mounted() {\n this.element = getRef(this, 'element');\n if (document) {\n document.body.addEventListener('mousemove', this.handleBodyMousemove);\n }\n },\n destroyed: !!isV3 ? undefined : function () {\n this.destroyElement();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.destroyElement();\n },\n updated: function updated() {\n if (this.$props.open && this.$props.targetElement) {\n this.showToolTip({\n target: this.$props.targetElement\n });\n }\n this.element = getRef(this, 'element');\n if (!this.element) {\n return;\n }\n this.resetPosition();\n if (this.computedTarget) {\n var appendToElement = this.$props.appendTo ? this.$props.appendTo : this.computedTarget.ownerDocument.body;\n if (this.element.parentElement !== appendToElement) {\n this.computedTarget.ownerDocument.body.append(this.element);\n }\n }\n this.callout = this.v3 ? this.calloutRef : this.$refs.callout;\n if (!this.callout) {\n return;\n }\n this.callout.className = this.calloutClassName();\n if (this.$props.position === 'auto' && canUseDOM) {\n this.left < window.screen.availWidth / 2 ? this.callout.style.left = this.$props.setCalloutOnPositionAuto || '25%' : this.callout.style.left = this.$props.setCalloutOnPositionAuto || '75%';\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var currentZIndex = this.getCurrentZIndex();\n var content = this.$props.content ? templateRendering.call(this, this.$props.content, getListeners.call(this)) : undefined;\n var contentDefaultRendering = this.title;\n var ariaId = guid() + ARIAIDSUFFIX;\n if (this.computedTarget) {\n if (this.computedTarget.hasAttribute('id')) {\n ariaId = this.computedTarget.getAttribute('id') + ARIAIDSUFFIX;\n }\n this.computedTarget.setAttribute('aria-describedby', ariaId);\n }\n var contentRendering = getTemplate.call(this, {\n h: h,\n template: content,\n defaultRendering: contentDefaultRendering,\n additionalProps: {\n title: this.title,\n target: this.computedTarget\n }\n });\n var innerToolTip = this.computedOpen && h(\"div\", {\n \"class\": classNames('k-tooltip', this.$props.tooltipClassName),\n role: 'tooltip',\n attrs: this.v3 ? undefined : {\n role: 'tooltip',\n id: ariaId\n },\n id: ariaId,\n style: __assign({\n position: 'relative'\n }, this.$props.tooltipStyle)\n }, [h(\"div\", {\n \"class\": \"k-tooltip-content\"\n }, [contentRendering]), this.$props.showCallout && h(\"div\", {\n ref: setRef(this, 'callout')\n })]);\n var tooltip = this.computedTarget && this.title && this.computedTarget.ownerDocument && h(\"div\", {\n ref: setRef(this, 'element'),\n \"class\": this.wrapperClass,\n style: __assign({\n zIndex: currentZIndex\n }, this.$props.wrapperStyle),\n tabindex: 0,\n attrs: this.v3 ? undefined : {\n tabindex: 0\n }\n }, [h(\"div\", {\n \"class\": \"k-child-animation-container\"\n }, [innerToolTip])]);\n if (defaultSlot) {\n return h(\"div\", {\n onMouseover: this.handleMouseOver,\n on: this.v3 ? undefined : {\n \"mouseover\": this.handleMouseOver,\n \"mouseout\": this.handleMouseOut\n },\n onMouseout: this.handleMouseOut\n }, [tooltip, defaultSlot]);\n } else {\n return tooltip;\n }\n },\n methods: {\n destroyElement: function destroyElement() {\n clearTimeout(this.openTimeoutId);\n clearInterval(this.updateIntervalId);\n if (document) {\n document.body.removeEventListener('mousemove', this.handleBodyMousemove);\n }\n if (this.element) {\n this.element.remove();\n }\n },\n handleMouseOut: function handleMouseOut(event) {\n var currentDocument = this.computedTarget ? this.computedTarget.ownerDocument : document;\n var element = currentDocument && currentDocument.elementFromPoint(event.clientX, event.clientY);\n this.willOpen = false;\n if (isTooltipElement(element) || this.computedTarget !== event.target) {\n return;\n }\n if (this.$props.open) {\n return;\n }\n clearInterval(this.updateIntervalId);\n this.onClose(event);\n },\n handleMouseOver: function handleMouseOver(event) {\n var target = event.target;\n if (!this.isVisible(target) || isTooltipElement(target) || target === this.computedTarget) {\n return;\n }\n this.showToolTip(event);\n },\n handleBodyMousemove: function handleBodyMousemove(event) {\n this.top = event.clientY;\n this.left = event.clientX;\n },\n onClose: function onClose(event) {\n this.$emit('close', {\n event: event,\n component: this\n });\n this.computedTarget.removeAttribute('aria-describedby');\n this.currentTargetElement = null;\n this.currentOpen = false;\n this.title = '';\n },\n showToolTip: function showToolTip(event) {\n var _this = this;\n clearTimeout(this.openTimeoutId);\n clearInterval(this.updateIntervalId);\n if (event.target.hasChildNodes()) {\n event.target.childNodes.forEach(function (childElement) {\n if (childElement.nodeName === 'title') {\n event.target.titleExpando = childElement.innerHTML;\n childElement.remove();\n }\n });\n }\n var target = this.computedTarget || event.target;\n var titleResult = this.getTitle(target);\n if (!titleResult.title) {\n if (this.computedOpen) {\n this.onClose(event);\n }\n return;\n }\n if (titleResult.element) {\n titleResult.element.titleExpando = titleResult.title;\n titleResult.element.title = '';\n }\n this.willOpen = true;\n if (!this.$props.openDelay) {\n this.currentTargetElement = target;\n this.currentOpen = true;\n this.title = titleResult.title;\n this.setUpdateInterval();\n } else {\n if (canUseDOM) {\n this.openTimeoutId = window.setTimeout(function () {\n if (_this.willOpen) {\n _this.currentTargetElement = target;\n _this.currentOpen = true;\n _this.title = titleResult.title;\n _this.setUpdateInterval();\n }\n }, this.$props.openDelay);\n }\n }\n if (this.title !== titleResult.title) {\n this.$emit('open', {\n event: event,\n compoponent: this\n });\n }\n },\n setUpdateInterval: function setUpdateInterval() {\n if (this.$props.updateInterval) {\n this.updateIntervalId = setInterval(this.onIntervalUpdate, this.$props.updateInterval);\n }\n },\n onIntervalUpdate: function onIntervalUpdate() {\n var target = this.computedTarget;\n if (!target) {\n return;\n }\n if (target.parentElement === null) {\n // Getting element from previous target coordinates will cause reflow which is performance hit.\n // Also remount case can be avoided easily\n this.onClose({\n target: target\n });\n } else {\n this.showToolTip({\n target: target\n });\n }\n },\n resetPosition: function resetPosition() {\n if (this.element) {\n var position = this.setPosition(this.element);\n if (this.$props.updatePosition) {\n position = this.$props.updatePosition({\n element: this.element,\n targetElement: this.computedTarget,\n mouseTop: this.top,\n mouseLeft: this.left,\n anchorElement: this.$props.anchorElement,\n position: this.$props.position,\n target: this,\n defaultPosition: position\n });\n }\n this.element.style.left = position.left + 'px';\n this.element.style.top = position.top + 'px';\n }\n },\n isVisible: function isVisible(element) {\n return !this.$props.filter || this.$props.filter(element);\n },\n setPosition: function setPosition(element) {\n var target = this.parentTitle ? this.getTitle(this.computedTarget).element : this.computedTarget;\n var domRect = getDomRect(target);\n var left = getLeftPosition(this.left, element.offsetWidth, domRect, this.$props.anchorElement, this.$props.position);\n var top = getTopPosition(this.top, domRect, element.offsetHeight, this.$props.anchorElement, this.$props.position);\n return {\n left: left,\n top: top\n };\n },\n getTitle: function getTitle(element) {\n while (element) {\n if (element.getAttribute('title') !== null || element.titleExpando) {\n var title = element.getAttribute('title') || element.titleExpando;\n return {\n title: title,\n element: element\n };\n }\n element = this.$props.parentTitle && element.parentElement || null;\n }\n return {\n title: '',\n element: element\n };\n },\n calloutClassName: function calloutClassName() {\n switch (this.$props.position) {\n case 'bottom':\n return 'k-callout k-callout-n';\n case 'left':\n return 'k-callout k-callout-e';\n case 'right':\n return 'k-callout k-callout-w';\n case 'top':\n return 'k-callout k-callout-s';\n default:\n return canUseDOM && this.top < window.innerHeight / 2 ? 'k-callout k-callout-n' : 'k-callout k-callout-s';\n }\n },\n getCurrentZIndex: function getCurrentZIndex() {\n return this.kCurrentZIndex ? this.kCurrentZIndex : DEFAULT_TOOLTIP_ZINDEX;\n }\n }\n};\n/**\n * @hidden\n */\nvar Tooltip = TooltipVue2;\nexport { Tooltip, TooltipVue2 };","/**\n * Lists the possible states of a file.\n */\nexport var UploadFileStatus;\n(function (UploadFileStatus) {\n /**\n * Indicates that the file upload process has failed.\n */\n UploadFileStatus[UploadFileStatus[\"UploadFailed\"] = 0] = \"UploadFailed\";\n /**\n * An initially selected fake file without a set state.\n */\n UploadFileStatus[UploadFileStatus[\"Initial\"] = 1] = \"Initial\";\n /**\n * The file is selected.\n */\n UploadFileStatus[UploadFileStatus[\"Selected\"] = 2] = \"Selected\";\n /**\n * The file is in the process of uploading.\n */\n UploadFileStatus[UploadFileStatus[\"Uploading\"] = 3] = \"Uploading\";\n /**\n * The file is successfully uploaded.\n */\n UploadFileStatus[UploadFileStatus[\"Uploaded\"] = 4] = \"Uploaded\";\n /**\n * The remove process has failed.\n */\n UploadFileStatus[UploadFileStatus[\"RemoveFailed\"] = 5] = \"RemoveFailed\";\n /**\n * The file is in the process of removing.\n */\n UploadFileStatus[UploadFileStatus[\"Removing\"] = 6] = \"Removing\";\n})(UploadFileStatus || (UploadFileStatus = {}));\n","var _a;\n/**\n * @hidden\n */\nexport var cancel = 'upload.cancel';\n/**\n * @hidden\n */\nexport var clearSelectedFiles = 'upload.clearSelectedFiles';\n/**\n * @hidden\n */\nexport var dropFilesHere = 'upload.dropFilesHere';\n/**\n * @hidden\n */\nexport var headerStatusUploaded = 'upload.headerStatusUploaded';\n/**\n * @hidden\n */\nexport var headerStatusUploading = 'upload.headerStatusUploading';\n/**\n * @hidden\n */\nexport var invalidFileExtension = 'upload.invalidFileExtension';\n/**\n * @hidden\n */\nexport var invalidFiles = 'upload.invalidFiles';\n/**\n * @hidden\n */\nexport var invalidMaxFileSize = 'upload.invalidMaxFileSize';\n/**\n * @hidden\n */\nexport var invalidMinFileSize = 'upload.invalidMinFileSize';\n/**\n * @hidden\n */\nexport var remove = 'upload.remove';\n/**\n * @hidden\n */\nexport var retry = 'upload.retry';\n/**\n * @hidden\n */\nexport var select = 'upload.select';\n/**\n * @hidden\n */\nexport var selectTitle = 'upload.selectTitle';\n/**\n * @hidden\n */\nexport var selectNoFilesTitle = 'upload.selectNoFilesTitle';\n/**\n * @hidden\n */\nexport var uploadSelectedFiles = 'upload.uploadSelectedFiles';\n/**\n * @hidden\n */\nexport var total = 'upload.total';\n/**\n * @hidden\n */\nexport var files = 'upload.files';\n/**\n * @hidden\n */\nexport var statusUploaded = 'upload.statusUploaded';\n/**\n * @hidden\n */\nexport var statusUploadFailed = 'upload.statusUploadFailed';\n/**\n * @hidden\n */\nexport var dropZoneHint = 'upload.dropZoneHint';\n/**\n * @hidden\n */\nexport var dropZoneNote = 'upload.dropZoneNote';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[cancel] = 'Cancel',\n _a[clearSelectedFiles] = 'Clear',\n _a[dropFilesHere] = 'Drop files here to upload',\n _a[headerStatusUploaded] = 'Done',\n _a[headerStatusUploading] = 'Uploading...',\n _a[invalidFileExtension] = 'File type not allowed.',\n _a[invalidFiles] = 'Invalid file(s). Please check file upload requirements.',\n _a[invalidMaxFileSize] = 'File size too large.',\n _a[invalidMinFileSize] = 'File size too small.',\n _a[remove] = 'Remove',\n _a[retry] = 'Retry',\n _a[select] = 'Select files...',\n _a[selectTitle] = 'Press to select more files',\n _a[selectNoFilesTitle] = 'No files selected',\n _a[uploadSelectedFiles] = 'Upload',\n _a[total] = 'Total',\n _a[files] = 'files',\n _a[statusUploaded] = 'File(s) successfully uploaded.',\n _a[statusUploadFailed] = 'File(s) failed to upload.',\n _a[dropZoneHint] = 'Drag and drop files here to upload.',\n _a[dropZoneNote] = 'Only JPEG and PNG files are allowed.',\n _a);\n","/**\n * @hidden\n */\nexport var FOCUS_ACTION;\n(function (FOCUS_ACTION) {\n FOCUS_ACTION[\"next\"] = \"next\";\n FOCUS_ACTION[\"prev\"] = \"prev\";\n FOCUS_ACTION[\"current\"] = \"current\";\n FOCUS_ACTION[\"reset\"] = \"reset\";\n})(FOCUS_ACTION || (FOCUS_ACTION = {}));\n/**\n * @hidden\n */\nexport var focusReducer = function focusReducer(state, action) {\n var currentIndex = action.items.findIndex(function (i) {\n return i === state;\n });\n switch (action.type) {\n case FOCUS_ACTION.next:\n return currentIndex === action.items.length - 1 ? state : action.items[currentIndex + 1];\n case FOCUS_ACTION.prev:\n return currentIndex === 0 ? state : action.items[currentIndex - 1];\n case FOCUS_ACTION.current:\n return action.payload;\n case FOCUS_ACTION.reset:\n return null;\n default:\n return state;\n }\n};","/**\n * @hidden\n */\nvar outerHeight = function (element) {\n if (!element) {\n return 0;\n }\n var wnd = element.ownerDocument.defaultView;\n var computedStyles = wnd.getComputedStyle(element);\n var marginTop = parseFloat(computedStyles.marginTop);\n var marginBottom = parseFloat(computedStyles.marginBottom);\n return element.offsetHeight + marginTop + marginBottom;\n};\n/**\n * @hidden\n */\nvar outerWidth = function (element) {\n if (!element) {\n return 0;\n }\n var wnd = element.ownerDocument.defaultView;\n var computedStyles = wnd.getComputedStyle(element);\n var marginLeft = parseFloat(computedStyles.marginLeft);\n var marginRight = parseFloat(computedStyles.marginRight);\n return element.offsetWidth + marginLeft + marginRight;\n};\n/**\n * @hidden\n */\nvar styles = {\n 'animation-container': 'k-animation-container',\n 'animation-container-relative': 'k-animation-container-relative',\n 'animation-container-fixed': 'k-animation-container-fixed',\n 'push-right-enter': 'k-push-right-enter',\n 'push-right-appear': 'k-push-right-appear',\n 'push-right-enter-active': 'k-push-right-enter-active',\n 'push-right-appear-active': 'k-push-right-appear-active',\n 'push-right-exit': 'k-push-right-exit',\n 'push-right-exit-active': 'k-push-right-exit-active',\n 'push-left-enter': 'k-push-left-enter',\n 'push-left-appear': 'k-push-left-appear',\n 'push-left-enter-active': 'k-push-left-enter-active',\n 'push-left-appear-active': 'k-push-left-appear-active',\n 'push-left-exit': 'k-push-left-exit',\n 'push-left-exit-active': 'k-push-left-exit-active',\n 'push-down-enter': 'k-push-down-enter',\n 'push-down-appear': 'k-push-down-appear',\n 'push-down-enter-active': 'k-push-down-enter-active',\n 'push-down-appear-active': 'k-push-down-appear-active',\n 'push-down-exit': 'k-push-down-exit',\n 'push-down-exit-active': 'k-push-down-exit-active',\n 'push-up-enter': 'k-push-up-enter',\n 'push-up-appear': 'k-push-up-appear',\n 'push-up-enter-active': 'k-push-up-enter-active',\n 'push-up-appear-active': 'k-push-up-appear-active',\n 'push-up-exit': 'k-push-up-exit',\n 'push-up-exit-active': 'k-push-up-exit-active',\n 'expand': 'k-expand',\n 'expand-vertical-enter': 'k-expand-vertical-enter',\n 'expand-vertical-appear': 'k-expand-vertical-appear',\n 'expand-vertical-enter-active': 'k-expand-vertical-enter-active',\n 'expand-vertical-appear-active': 'k-expand-vertical-appear-active',\n 'expand-vertical-exit': 'k-expand-vertical-exit',\n 'expand-vertical-exit-active': 'k-expand-vertical-exit-active',\n 'expand-horizontal-enter': 'k-expand-horizontal-enter',\n 'expand-horizontal-appear': 'k-expand-horizontal-appear',\n 'expand-horizontal-enter-active': 'k-expand-horizontal-enter-active',\n 'expand-horizontal-appear-active': 'k-expand-horizontal-appear-active',\n 'expand-horizontal-exit': 'k-expand-horizontal-exit',\n 'expand-horizontal-exit-active': 'k-expand-horizontal-exit-active',\n 'child-animation-container': 'k-child-animation-container',\n 'fade-enter': 'k-fade-enter',\n 'fade-appear': 'k-fade-appear',\n 'fade-enter-active': 'k-fade-enter-active',\n 'fade-appear-active': 'k-fade-appear-active',\n 'fade-exit': 'k-fade-exit',\n 'fade-exit-active': 'k-fade-exit-active',\n 'zoom-in-enter': 'k-zoom-in-enter',\n 'zoom-in-appear': 'k-zoom-in-appear',\n 'zoom-in-enter-active': 'k-zoom-in-enter-active',\n 'zoom-in-appear-active': 'k-zoom-in-appear-active',\n 'zoom-in-exit': 'k-zoom-in-exit',\n 'zoom-in-exit-active': 'k-zoom-in-exit-active',\n 'zoom-out-enter': 'k-zoom-out-enter',\n 'zoom-out-appear': 'k-zoom-out-appear',\n 'zoom-out-enter-active': 'k-zoom-out-enter-active',\n 'zoom-out-appear-active': 'k-zoom-out-appear-active',\n 'zoom-out-exit': 'k-zoom-out-exit',\n 'zoom-out-exit-active': 'k-zoom-out-exit-active',\n 'slide-in-appear': 'k-slide-in-appear',\n 'centered': 'k-centered',\n 'slide-in-appear-active': 'k-slide-in-appear-active',\n 'slide-down-enter': 'k-slide-down-enter',\n 'slide-down-appear': 'k-slide-down-appear',\n 'slide-down-enter-active': 'k-slide-down-enter-active',\n 'slide-down-appear-active': 'k-slide-down-appear-active',\n 'slide-down-exit': 'k-slide-down-exit',\n 'slide-down-exit-active': 'k-slide-down-exit-active',\n 'slide-up-enter': 'k-slide-up-enter',\n 'slide-up-appear': 'k-slide-up-appear',\n 'slide-up-enter-active': 'k-slide-up-enter-active',\n 'slide-up-appear-active': 'k-slide-up-appear-active',\n 'slide-up-exit': 'k-slide-up-exit',\n 'slide-up-exit-active': 'k-slide-up-exit-active',\n 'slide-right-enter': 'k-slide-right-enter',\n 'slide-right-appear': 'k-slide-right-appear',\n 'slide-right-enter-active': 'k-slide-right-enter-active',\n 'slide-right-appear-active': 'k-slide-right-appear-active',\n 'slide-right-exit': 'k-slide-right-exit',\n 'slide-right-exit-active': 'k-slide-right-exit-active',\n 'slide-left-enter': 'k-slide-left-enter',\n 'slide-left-appear': 'k-slide-left-appear',\n 'slide-left-enter-active': 'k-slide-left-enter-active',\n 'slide-left-appear-active': 'k-slide-left-appear-active',\n 'slide-left-exit': 'k-slide-left-exit',\n 'slide-left-exit-active': 'k-slide-left-exit-active',\n 'reveal-vertical-enter': 'k-reveal-vertical-enter',\n 'reveal-vertical-appear': 'k-reveal-vertical-appear',\n 'reveal-vertical-enter-active': 'k-reveal-vertical-enter-active',\n 'reveal-vertical-appear-active': 'k-reveal-vertical-appear-active',\n 'reveal-vertical-exit': 'k-reveal-vertical-exit',\n 'reveal-vertical-exit-active': 'k-reveal-vertical-exit-active',\n 'reveal-horizontal-enter': 'k-reveal-horizontal-enter',\n 'reveal-horizontal-appear': 'k-reveal-horizontal-appear',\n 'reveal-horizontal-enter-active': 'k-reveal-horizontal-enter-active',\n 'reveal-horizontal-appear-active': 'k-reveal-horizontal-appear-active',\n 'reveal-horizontal-exit': 'k-reveal-horizontal-exit',\n 'reveal-horizontal-exit-active': 'k-reveal-horizontal-exit-active'\n};\n/**\n * @hidden\n */\nexport default {\n outerHeight: outerHeight,\n outerWidth: outerWidth,\n styles: styles\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar Transition = allVue.Transition;\nimport util from './util';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar AnimationChildVue2 = {\n props: {\n in: Boolean,\n transitionName: {\n type: String,\n required: true\n },\n transitionStyle: Object,\n componentChildClassName: [Array],\n className: String,\n appear: {\n type: Boolean,\n default: true\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: Number,\n transitionExitDuration: Number,\n mountOnEnter: Boolean,\n unmountOnExit: Boolean,\n animationEnteringStyle: Object,\n animationEnteredStyle: Object,\n animationExitingStyle: Object,\n animationExitedStyle: Object\n },\n created: function created() {\n this.animationStep = '';\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var elementRef = ref(null);\n return {\n v3: v3,\n elementRef: elementRef\n };\n },\n mounted: function mounted() {\n this._element = this.v3 ? this.elementRef || null : this.$refs.element || null;\n },\n computed: {\n element: {\n get: function get() {\n return this._element;\n }\n }\n },\n methods: {\n onBeforeEnter: function onBeforeEnter(e) {\n this.$emit('beforeenter', {\n animatedElement: e,\n target: this\n });\n },\n onEnter: function onEnter(e) {\n this.animationStep = 'entering';\n this.$emit('entering', {\n animatedElement: e,\n target: this\n });\n },\n onAfterEnter: function onAfterEnter(e) {\n this.animationStep = 'entered';\n this.$emit('entered', {\n animatedElement: e,\n target: this\n });\n },\n onBeforeLeave: function onBeforeLeave(e) {\n this.$emit('exit', {\n animatedElement: e,\n target: this\n });\n },\n onLeave: function onLeave(e) {\n this.animationStep = 'exiting';\n this.$emit('exiting', {\n animatedElement: e,\n target: this\n });\n },\n onAfterLeave: function onAfterLeave(e) {\n this.animationStep = 'exited';\n this.$emit('exited', {\n animatedElement: e,\n target: this\n });\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n appear = _a.appear,\n enter = _a.enter,\n exit = _a.exit,\n transitionName = _a.transitionName,\n transitionEnterDuration = _a.transitionEnterDuration,\n transitionExitDuration = _a.transitionExitDuration,\n className = _a.className,\n componentChildClassName = _a.componentChildClassName,\n mountOnEnter = _a.mountOnEnter,\n unmountOnExit = _a.unmountOnExit,\n animationEnteringStyle = _a.animationEnteringStyle,\n animationEnteredStyle = _a.animationEnteredStyle,\n animationExitingStyle = _a.animationExitingStyle,\n animationExitedStyle = _a.animationExitedStyle,\n other = __rest(_a, [\"appear\", \"enter\", \"exit\", \"transitionName\", \"transitionEnterDuration\", \"transitionExitDuration\", \"className\", \"componentChildClassName\", \"mountOnEnter\", \"unmountOnExit\", \"animationEnteringStyle\", \"animationEnteredStyle\", \"animationExitingStyle\", \"animationExitedStyle\"]);\n var defaultSlot = getDefaultSlots(this);\n var hasChildren = this.v3 ? appear : !!defaultSlot;\n var transitionTag = this.v3 ? Transition : 'transition';\n var childAnimationContainerClassNames = [componentChildClassName, styles['child-animation-container']];\n var enterDuration = enter ? transitionEnterDuration : 0;\n var exitDuration = exit ? transitionExitDuration : 0;\n var defaultStyle = __assign({\n transitionDelay: '0ms',\n transitionDuration: hasChildren ? \"\".concat(enterDuration, \"ms\") : \"\".concat(exitDuration, \"ms\")\n }, this.$props.transitionStyle);\n var animationStyle = {\n entering: __assign({\n transitionDuration: \"\".concat(enterDuration, \"ms\")\n }, animationEnteringStyle),\n entered: __assign({}, animationEnteredStyle),\n exiting: __assign({\n transitionDuration: \"\".concat(exitDuration, \"ms\")\n }, animationExitingStyle),\n exited: __assign({}, animationExitedStyle)\n };\n var childElementStyles = [defaultStyle, animationStyle[this.animationStep]];\n var duration = {\n enter: enterDuration,\n leave: exitDuration\n };\n var rendererChildren = [hasChildren ? h('div', {\n style: childElementStyles,\n 'class': childAnimationContainerClassNames,\n ref: this.v3 ? function (el) {\n _this.elementRef = el;\n } : 'element'\n }, [defaultSlot]) : null];\n return h(transitionTag, {\n duration: duration,\n attrs: this.v3 ? null : {\n duration: duration,\n name: transitionName,\n appear: appear,\n appearClass: styles[\"\".concat(transitionName, \"-appear\")] || \"\".concat(transitionName, \"-appear\"),\n appearToClass: styles[\"\".concat(transitionName, \"-appear-active\")] || \"\".concat(transitionName, \"-appear-active\"),\n enterClass: styles[\"\".concat(transitionName, \"-enter\")] || \"\".concat(transitionName, \"-enter\"),\n enterToClass: styles[\"\".concat(transitionName, \"-enter-active\")] || \"\".concat(transitionName, \"-enter-active\"),\n leaveClass: styles[\"\".concat(transitionName, \"-exit\")] || \"\".concat(transitionName, \"-exit\"),\n leaveToClass: styles[\"\".concat(transitionName, \"-exit-active\")] || \"\".concat(transitionName, \"-exit-active\")\n },\n name: transitionName,\n appear: appear,\n appearFromClass: styles[\"\".concat(transitionName, \"-appear\")] || \"\".concat(transitionName, \"-appear\"),\n enterFromClass: styles[\"\".concat(transitionName, \"-enter\")] || \"\".concat(transitionName, \"-enter\"),\n leaveFromClass: styles[\"\".concat(transitionName, \"-exit\")] || \"\".concat(transitionName, \"-exit\"),\n appearToClass: styles[\"\".concat(transitionName, \"-appear-active\")] || \"\".concat(transitionName, \"-appear-active\"),\n enterToClass: styles[\"\".concat(transitionName, \"-enter-active\")] || \"\".concat(transitionName, \"-enter-active\"),\n leaveToClass: styles[\"\".concat(transitionName, \"-exit-active\")] || \"\".concat(transitionName, \"-exit-active\"),\n onBeforeEnter: this.onBeforeEnter,\n on: this.v3 ? null : {\n 'beforeEnter': this.onBeforeEnter,\n 'enter': this.onEnter,\n 'afterEnter': this.onAfterEnter,\n 'beforeLeave': this.onBeforeLeave,\n 'leave': this.onLeave,\n 'afterLeave': this.onAfterLeave\n },\n onEnter: this.onEnter,\n onAfterEnter: this.onAfterEnter,\n onBeforeLeave: this.onBeforeLeave,\n onLeave: this.onLeave,\n onAfterLeave: this.onAfterLeave\n }, this.v3 ? function () {\n return rendererChildren;\n } : rendererChildren);\n }\n};\n/**\n * @hidden\n */\nvar AnimationChild = AnimationChildVue2;\nexport { AnimationChild, AnimationChildVue2 };","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-animation',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1706639460,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { AnimationChild } from './AnimationChild';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar AnimationVue2 = {\n props: {\n componentChildStyle: Object,\n childFactory: Object,\n className: String,\n tag: String,\n id: String,\n animationEnteringStyle: Object,\n animationExitingStyle: Object,\n componentChildClassName: [Array],\n transitionName: {\n type: String,\n required: true\n },\n appear: {\n type: Boolean,\n default: true\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number\n },\n transitionExitDuration: {\n type: Number\n }\n },\n methods: {\n onEntering: function onEntering(e) {\n this.$emit('entering', e);\n },\n onEnter: function onEnter(e) {\n this.$emit('enter', e);\n },\n onEntered: function onEntered(e) {\n this.$emit('entered', e);\n },\n onExit: function onExit(e) {\n this.$emit('exit', e);\n },\n onExiting: function onExiting(e) {\n this.$emit('exiting', e);\n },\n onExited: function onExited(e) {\n this.$emit('exited', e);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n id = _a.id,\n tag = _a.tag,\n role = _a.role,\n className = _a.className,\n childFactory = _a.childFactory,\n stackChildren = _a.stackChildren,\n componentChildStyle = _a.componentChildStyle,\n componentChildClassName = _a.componentChildClassName,\n other = __rest(_a, [\"id\", \"tag\", \"role\", \"className\", \"childFactory\", \"stackChildren\", \"componentChildStyle\", \"componentChildClassName\"]);\n var parentDivClass = [styles['animation-container'], styles['animation-container-relative'], className];\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n role: role\n },\n \"class\": parentDivClass,\n role: role\n }, [\n // @ts-ignore function children\n h(AnimationChild, {\n key: 'some',\n style: componentChildStyle,\n appear: this.$props.appear,\n attrs: this.v3 ? undefined : {\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionName: this.$props.transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n animationEnteringStyle: this.$props.animationEnteringStyle,\n animationExitingStyle: this.$props.animationExitingStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionName: this.$props.transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n onBeforeenter: this.onEnter,\n on: this.v3 ? undefined : {\n \"beforeenter\": this.onEnter,\n \"entering\": this.onEntering,\n \"entered\": this.onEntered,\n \"exit\": this.onExit,\n \"exiting\": this.onExiting,\n \"exited\": this.onExited\n },\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited,\n animationEnteringStyle: this.$props.animationEnteringStyle,\n animationExitingStyle: this.$props.animationExitingStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])]);\n }\n};\n/**\n * @hidden\n */\nvar Animation = AnimationVue2;\nexport { Animation, AnimationVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar FadeVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: false\n },\n transitionEnterDuration: {\n type: Number,\n default: 500\n },\n transitionExitDuration: {\n type: Number,\n default: 500\n },\n componentChildStyle: Object,\n childFactory: Object,\n className: String,\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: \"fade\",\n attrs: this.v3 ? undefined : {\n transitionName: \"fade\",\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n componentChildStyle: this.$props.componentChildStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n componentChildStyle: this.$props.componentChildStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Fade = FadeVue2;\nexport { Fade, FadeVue2 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ExpandVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'vertical'\n },\n componentChildStyle: Object,\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n direction = _a.direction,\n other = __rest(_a, [\"direction\"]);\n var transitionName = \"expand-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n componentChildStyle: this.$props.componentChildStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n componentChildStyle: this.$props.componentChildStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Expand = ExpandVue2;\nexport { Expand, ExpandVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar EXITING_ANIMATION_STYLE = {\n position: 'absolute',\n top: '0',\n left: '0'\n};\n/**\n * @hidden\n */\nvar PushVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n componentChildStyle: Object,\n className: String,\n direction: {\n type: String,\n default: 'right'\n },\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var transitionName = \"push-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n componentChildStyle: this.$props.componentChildStyle,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n componentChildStyle: this.$props.componentChildStyle,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Push = PushVue2;\nexport { Push, PushVue2 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar SlideVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n componentChildClassName: [Array],\n childFactory: Object,\n componentChildStyle: Object,\n className: String,\n direction: {\n type: String,\n default: 'down'\n },\n tag: String,\n id: String,\n role: String\n },\n methods: {\n onEntering: function onEntering(e) {\n this.$emit('entering', e);\n },\n onEnter: function onEnter(e) {\n this.$emit('enter', e);\n },\n onEntered: function onEntered(e) {\n this.$emit('entered', e);\n },\n onExit: function onExit(e) {\n this.$emit('exit', e);\n },\n onExiting: function onExiting(e) {\n this.$emit('exiting', e);\n },\n onExited: function onExited(e) {\n this.$emit('exited', e);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n direction = _a.direction,\n id = _a.id,\n other = __rest(_a, [\"direction\", \"id\"]);\n var transitionName = \"slide-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n transitionName: transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n componentChildStyle: this.$props.componentChildStyle,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n transitionName: transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n componentChildStyle: this.$props.componentChildStyle,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n onEnter: this.onEnter,\n on: this.v3 ? undefined : {\n \"enter\": this.onEnter,\n \"entering\": this.onEntering,\n \"entered\": this.onEntered,\n \"exit\": this.onExit,\n \"exiting\": this.onExiting,\n \"exited\": this.onExited\n },\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Slide = SlideVue2;\nexport { Slide, SlideVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar EXITING_ANIMATION_STYLE = {\n position: 'absolute',\n top: '0',\n left: '0'\n};\n/**\n * @hidden\n */\nvar ZoomVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n stackChildren: {\n type: Boolean,\n default: false\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'out'\n },\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var transitionName = \"zoom-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Zoom = ZoomVue2;\nexport { Zoom, ZoomVue2 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport util from './util';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar noop = function noop() {};\n/**\n * @hidden\n */\nvar RevealVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n componentChildStyle: Object,\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'vertical'\n },\n tag: String,\n id: String\n },\n data: function data() {\n return {\n maxHeight: '',\n maxWidth: ''\n };\n },\n methods: {\n componentWillEnter: function componentWillEnter(event) {\n var onEnter = this.$props.onEnter;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onEnter) {\n onEnter.call(undefined, event);\n }\n });\n },\n componentIsEntering: function componentIsEntering(event) {\n var onEntering = this.$props.onEntering;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onEntering) {\n onEntering.call(undefined, event);\n }\n });\n },\n componentWillExit: function componentWillExit(event) {\n var onExit = this.$props.onExit;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onExit) {\n onExit.call(undefined, event);\n }\n });\n },\n updateContainerDimensions: function updateContainerDimensions(node, done) {\n if (done === void 0) {\n done = noop;\n }\n var content = node ? node.firstElementChild : null;\n if (content) {\n var newHeight = util.outerHeight(content);\n var newWidth = util.outerWidth(content);\n this.$data.maxHeight = newHeight;\n this.$data.maxWidth = newWidth;\n done();\n }\n }\n },\n computed: {\n animationEnteringStyle: {\n get: function get() {\n var maxOffset;\n if (this.$props.direction === 'vertical') {\n maxOffset = {\n maxHeight: this.maxHeight ? \"\".concat(this.maxHeight, \"px\") : null\n };\n } else {\n maxOffset = {\n maxWidth: this.maxWidth ? \"\".concat(this.maxWidth, \"px\") : null\n };\n }\n return {\n maxHeight: maxOffset.maxHeight,\n maxWidth: maxOffset.maxWidth\n };\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n direction = _a.direction,\n childFactory = _a.childFactory,\n other = __rest(_a, [\"direction\", \"childFactory\"]);\n var transitionName = \"reveal-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n appear: this.$props.appear,\n attrs: this.v3 ? undefined : {\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n componentChildStyle: this.$props.componentChildStyle,\n animationEnteringStyle: this.animationEnteringStyle,\n transitionName: transitionName\n },\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n onEnter: this.componentWillEnter,\n on: this.v3 ? undefined : {\n \"enter\": this.componentWillEnter,\n \"entering\": this.componentIsEntering,\n \"exit\": this.componentWillExit\n },\n onEntering: this.componentIsEntering,\n onExit: this.componentWillExit,\n componentChildStyle: this.$props.componentChildStyle,\n animationEnteringStyle: this.animationEnteringStyle,\n transitionName: transitionName\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Reveal = RevealVue2;\nexport { Reveal, RevealVue2 };","/**\n * @hidden\n */\nexport var animate = function animate(transition, offset, animationFrame) {\n if (offset === void 0) {\n offset = 0;\n }\n if (animationFrame === void 0) {\n animationFrame = 0;\n }\n var duration = transition.duration;\n var start;\n var progress;\n var skip = offset && 1 - offset;\n if (transition.onStart) {\n transition.onStart();\n }\n var frame = function frame(timestamp) {\n if (!start) {\n start = timestamp;\n }\n progress = timestamp - start + 1;\n var rate = progress / duration + skip;\n if (rate <= 1) {\n if (transition.onUpdate) {\n transition.onUpdate(rate);\n }\n animationFrame = window.requestAnimationFrame(frame);\n offset = rate;\n } else {\n if (transition.onEnd) {\n transition.onEnd(1);\n }\n offset = 0;\n }\n };\n animationFrame = window.requestAnimationFrame(frame);\n return animationFrame;\n};\n/**\n * @hidden\n */\nexport var cancelAnimation = function cancelAnimation(animationFrame) {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n};","/**\n * @hidden\n */\nexport var MIN_RATIO = 0.00001;\n/**\n * @hidden\n */\nexport var LABEL_DECIMALS = 3;\n/**\n * @hidden\n */\nexport var DEFAULT_ANIMATION_DURATION = 400;\n/**\n * @hidden\n */\nexport var NO_ANIMATION = 0;\n","import { LABEL_DECIMALS, MIN_RATIO } from './constants';\n/**\n * @hidden\n */\nexport var truncateNumber = function (value) {\n var numberParts = value.toString().split('.');\n return numberParts.length === 1 ? \"\".concat(numberParts[0]) : \"\".concat(numberParts[0], \".\").concat(numberParts[1].substr(0, LABEL_DECIMALS));\n};\n/**\n * @hidden\n */\nexport var calculatePercentage = function (min, max, value) {\n var onePercent = Math.abs((max - min) / 100);\n return Math.abs((value - min) / onePercent);\n};\n/**\n * @hidden\n */\nexport var updateProgress = function (progressRef, progressWrapRef, percentage, isVertical) {\n var progressPercentage = Math.max(percentage, 0.01);\n var progressWrapPercentage = (100 / progressPercentage) * 100;\n if (progressRef && progressWrapRef) {\n progressRef.style.width = !isVertical ? \"\".concat(progressPercentage, \"%\") : '100%';\n progressWrapRef.style.width = !isVertical ? \"\".concat(progressWrapPercentage, \"%\") : '100%';\n progressRef.style.height = isVertical ? \"\".concat(progressPercentage, \"%\") : '100%';\n progressWrapRef.style.height = isVertical ? \"\".concat(progressWrapPercentage, \"%\") : '100%';\n }\n};\n/**\n * @hidden\n */\nexport var calculateRatio = function (min, max, value) {\n return Math.max((value - min) / (max - min), MIN_RATIO);\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-progressbars',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1706639622,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { animate, cancelAnimation } from '@progress/kendo-vue-animation';\nimport { classNames, isRtl, getTabIndex, templateRendering, getListeners, getTemplate, setRef, getRef } from '@progress/kendo-vue-common';\nimport { calculatePercentage, updateProgress, truncateNumber } from '../common/utils';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from '../common/constants';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ProgressBarVue2 = {\n name: 'KendoProgressBar',\n props: {\n animation: {\n type: [Boolean, Object],\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n reverse: {\n type: Boolean,\n default: false\n },\n label: String,\n labelRender: [String, Object, Function],\n labelVisible: {\n type: Boolean,\n default: true\n },\n labelPlacement: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['start', 'center', 'end'].includes(value);\n }\n },\n dir: {\n type: String,\n default: undefined\n },\n max: {\n type: Number,\n default: 100\n },\n min: {\n type: Number,\n default: 0\n },\n value: {\n type: Number,\n default: 0\n },\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n tabIndex: Number,\n emptyStyle: Object,\n emptyClassName: String,\n progressStyle: Object,\n progressClassName: String,\n ariaLabel: String\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentDir = this.$props.dir;\n },\n mounted: function mounted() {\n this._progressStatus = getRef(this, 'progressStatus');\n this._progressStatusWrap = getRef(this, 'progressStatusWrap');\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : isRtl(this.$el) ? 'rtl' : 'ltr';\n this.animationFrame = animate({\n duration: this.animationDuration,\n onStart: this.handleStart,\n onUpdate: this.handleUpdate,\n onEnd: this.handleEnd\n });\n },\n destroyed: !!isV3 ? undefined : function () {\n cancelAnimation(this.animationFrame);\n },\n // @ts-ignore\n unmounted: function unmounted() {\n cancelAnimation(this.animationFrame);\n },\n data: function data() {\n return {\n currentDir: undefined\n };\n },\n watch: {\n value: function value(_newValue, oldValue) {\n this.prevValue = oldValue;\n this.animationFrame = animate({\n duration: this.animationDuration,\n onStart: this.handleStart,\n onUpdate: this.handleUpdate,\n onEnd: this.handleEnd\n });\n }\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a = this.$props,\n disabled = _a.disabled,\n reverse = _a.reverse,\n orientation = _a.orientation,\n value = _a.value;\n var isVertical = orientation === 'vertical';\n var indeterminateProp = value === null;\n return {\n 'k-progressbar': true,\n 'k-progressbar-horizontal': !isVertical,\n 'k-progressbar-vertical': isVertical,\n 'k-progressbar-reverse': reverse,\n 'k-progressbar-indeterminate': indeterminateProp,\n 'k-disabled': disabled\n };\n },\n isVertical: function isVertical() {\n return this.orientation === 'vertical';\n },\n animationDuration: function animationDuration() {\n var animation = this.$props.animation;\n return typeof animation !== 'boolean' && animation !== undefined ? animation.duration : animation ? DEFAULT_ANIMATION_DURATION : NO_ANIMATION;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n labelVisible = _a.labelVisible,\n labelPlacement = _a.labelPlacement,\n max = _a.max,\n min = _a.min,\n tabIndex = _a.tabIndex,\n emptyStyle = _a.emptyStyle,\n emptyClassName = _a.emptyClassName,\n progressStyle = _a.progressStyle,\n progressClassName = _a.progressClassName;\n var value = this.$props.value || 0;\n var indeterminateProp = this.$props.value === null;\n var formattedLabel = truncateNumber(value);\n var labelProps = {\n value: value\n };\n var label = this.$props.labelRender ? templateRendering.call(this, this.$props.labelRender, getListeners.call(this)) : undefined;\n var labelDefaultRendering = h('span', {\n 'class': 'k-progress-status'\n }, formattedLabel);\n var toggleButtonRendering = getTemplate.call(this, {\n h: h,\n template: label,\n defaultRendering: labelDefaultRendering,\n additionalProps: labelProps\n });\n var renderLabel = labelVisible ? this.$props.label ? h(\"span\", {\n \"class\": 'k-progress-status'\n }, [this.$props.label]) : toggleButtonRendering : undefined;\n var positionClasses = classNames('k-progress-status-wrap', {\n 'k-progress-start': labelPlacement === 'start',\n 'k-progress-center': labelPlacement === 'center',\n 'k-progress-end': labelPlacement === 'end' || labelPlacement === undefined\n });\n return h(\"div\", {\n \"class\": this.wrapperClass,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir,\n tabindex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled,\n \"aria-label\": this.$props.ariaLabel\n },\n tabindex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled,\n \"aria-label\": this.$props.ariaLabel\n }, [h(\"span\", {\n \"class\": positionClasses + (emptyClassName ? ' ' + emptyClassName : ''),\n style: emptyStyle\n }, [renderLabel]), h(\"div\", {\n \"class\": 'k-progressbar-value k-selected',\n style: progressStyle,\n ref: setRef(this, 'progressStatus')\n }, [h(\"span\", {\n \"class\": positionClasses + (progressClassName ? ' ' + progressClassName : ''),\n ref: setRef(this, 'progressStatusWrap')\n }, [renderLabel])])]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n progressStatusElement: function progressStatusElement() {\n return this._progressStatus;\n },\n progressStatusWrapElement: function progressStatusWrapElement() {\n return this._progressStatusWrap;\n },\n handleStart: function handleStart() {\n var percentage = calculatePercentage(this.min, this.max, this.prevValue);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n },\n handleUpdate: function handleUpdate(progress) {\n var percentage = calculatePercentage(this.min, this.max, this.prevValue + (this.value - this.prevValue) * progress);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n },\n handleEnd: function handleEnd() {\n var percentage = calculatePercentage(this.min, this.max, this.value);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n }\n }\n};\n/**\n * @hidden\n */\nvar ProgressBar = ProgressBarVue2;\nexport { ProgressBar, ProgressBarVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDir, getTabIndex } from '@progress/kendo-vue-common';\nimport { calculateRatio } from '../common/utils';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ChunkProgressBarVue2 = {\n name: 'KendoChunkProgressBar',\n props: {\n chunkCount: {\n type: Number,\n default: 5\n },\n ariaLabel: String,\n disabled: Boolean,\n reverse: {\n type: Boolean,\n default: false\n },\n max: {\n type: Number,\n default: 100\n },\n min: {\n type: Number,\n default: 0\n },\n value: {\n type: Number,\n default: 0\n },\n tabIndex: Number,\n emptyStyle: Object,\n emptyClassName: String,\n progressStyle: Object,\n progressClassName: String,\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n data: function data() {\n return {\n currentDir: undefined\n };\n },\n mounted: function mounted() {\n this.currentDir = getDir(this.$el, this.$props.dir);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n chunkCount = _a.chunkCount,\n disabled = _a.disabled,\n orientation = _a.orientation,\n min = _a.min,\n max = _a.max,\n reverse = _a.reverse,\n tabIndex = _a.tabIndex,\n emptyStyle = _a.emptyStyle,\n emptyClassName = _a.emptyClassName,\n progressStyle = _a.progressStyle,\n progressClassName = _a.progressClassName;\n var value = this.$props.value;\n var indeterminateProp = this.$props.value === null;\n var isVertical = orientation === 'vertical';\n var renderChunks = function renderChunks(count) {\n var chunks = [];\n var chunkSizePercentage = 100 / count + '%';\n var progressRatio = calculateRatio(min, max, value);\n var completedChunksCount = Math.floor(progressRatio * count);\n var completedChunks = Array(count).fill(false);\n var reverseCompletedChunks = isVertical && !reverse || !isVertical && reverse;\n for (var i = 0; i < completedChunksCount; i++) {\n completedChunks[i] = true;\n }\n for (var i = 0; i < count; ++i) {\n var isComplete = completedChunks[i];\n var classes = isComplete ? progressClassName : emptyClassName;\n var layoutStyles = {\n width: !isVertical ? chunkSizePercentage : undefined,\n height: isVertical ? chunkSizePercentage : undefined\n };\n var styles = isComplete ? progressStyle : emptyStyle;\n var mergedStyles = __assign(__assign({}, layoutStyles), styles);\n chunks.push(h(\"li\", {\n key: i,\n \"class\": classNames('k-progressbar-chunk', {\n 'k-first': i === 0,\n 'k-last': i === count - 1,\n 'k-selected': isComplete\n }, classes),\n style: mergedStyles\n }));\n }\n return chunks;\n };\n return h(\"div\", {\n \"class\": classNames('k-progressbar', 'k-chunk-progressbar', {\n 'k-progressbar-horizontal': !isVertical,\n 'k-progressbar-vertical': isVertical,\n 'k-progressbar-reverse': reverse,\n 'k-progressbar-indeterminate': indeterminateProp,\n 'k-disabled': disabled\n }),\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir,\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-label\": this.$props.ariaLabel,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled\n },\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-label\": this.$props.ariaLabel,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled\n }, [h(\"ul\", {\n \"class\": 'k-progressbar-chunks k-reset'\n }, [renderChunks.call(this, chunkCount)])]);\n },\n methods: {\n focusElement: function focusElement() {\n if (this.$el) {\n this.$el.focus();\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar ChunkProgressBar = ChunkProgressBarVue2;\nexport { ChunkProgressBar, ChunkProgressBarVue2 };","import { UploadFileStatus } from '../interfaces/UploadFileStatus';\nimport { guid } from '@progress/kendo-vue-common';\nvar ampRegExp = /&/g;\nvar ltRegExp = //g;\nvar htmlEncode = function (value) {\n return ('' + value).replace(ampRegExp, '&')\n .replace(ltRegExp, '<')\n .replace(gtRegExp, '>')\n .replace(quoteRegExp, '"')\n .replace(aposRegExp, ''');\n};\nvar getFileExtension = function (fileName) {\n var rFileExtension = /\\.([^\\.]+)$/;\n var matches = fileName.match(rFileExtension);\n return matches ? matches[0] : '';\n};\nvar getFileInfo = function (rawFile) {\n var fileName = rawFile.name;\n var fileSize = rawFile.size;\n return {\n extension: getFileExtension(fileName),\n name: htmlEncode(fileName),\n getRawFile: function () { return rawFile; },\n size: fileSize,\n status: UploadFileStatus.Selected,\n progress: 0,\n uid: ''\n };\n};\nvar getAllFileInfo = function (rawFiles) {\n var allFileInfo = new Array();\n var i;\n for (i = 0; i < rawFiles.length; i++) {\n allFileInfo.push(getFileInfo(rawFiles[i]));\n }\n return allFileInfo;\n};\nvar fileHasValidationErrors = function (file) {\n if (file.validationErrors && file.validationErrors.length > 0) {\n return true;\n }\n return false;\n};\nvar filesHaveValidationErrors = function (files) {\n for (var _i = 0, files_1 = files; _i < files_1.length; _i++) {\n var file = files_1[_i];\n if (fileHasValidationErrors(file)) {\n return true;\n }\n }\n return false;\n};\nvar getTotalFilesSizeMessage = function (files) {\n var totalSize = 0;\n var i;\n if (typeof files[0].size === 'number') {\n for (i = 0; i < files.length; i++) {\n if (files[i].size) {\n totalSize += (files[i].size || 0);\n }\n }\n }\n else {\n return '';\n }\n totalSize /= 1024;\n if (totalSize < 1024) {\n return totalSize.toFixed(2) + ' KB';\n }\n else {\n return (totalSize / 1024).toFixed(2) + ' MB';\n }\n};\nvar assignGuidToFiles = function (files, batchFiles) {\n var uid = guid();\n return files.map(function (file) {\n file.uid = batchFiles ? uid : guid();\n return file;\n });\n};\nvar getFileStatus = function (currentFiles) {\n var isUploading = false;\n var isUploaded = false;\n var isUploadFailed = false;\n var isUploadValidationFailed = false;\n var checkFilesStatus = function (files) {\n files.forEach(function (file) {\n if (file.status === UploadFileStatus.Uploading) {\n isUploading = true;\n }\n if (file.status === UploadFileStatus.Uploaded) {\n isUploaded = true;\n }\n if (file.status === UploadFileStatus.UploadFailed) {\n isUploadFailed = true;\n }\n if (fileHasValidationErrors(file)) {\n isUploadValidationFailed = true;\n }\n });\n };\n if (Array.isArray(currentFiles)) {\n checkFilesStatus(currentFiles);\n }\n else {\n Object.keys(currentFiles).forEach(function (key) {\n checkFilesStatus(currentFiles[key]);\n });\n }\n return [isUploading, isUploaded, isUploadFailed, isUploadValidationFailed];\n};\n/**\n * @hidden\n */\nexport default {\n fileHasValidationErrors: fileHasValidationErrors,\n filesHaveValidationErrors: filesHaveValidationErrors,\n getTotalFilesSizeMessage: getTotalFilesSizeMessage,\n getAllFileInfo: getAllFileInfo,\n getFileInfo: getFileInfo,\n getFileExtension: getFileExtension,\n htmlEncode: htmlEncode,\n assignGuidToFiles: assignGuidToFiles,\n getFileStatus: getFileStatus\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-buttons',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1706639537,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","/**\n * @hidden\n */\nvar styles = {\n button: 'k-button',\n 'flat': 'k-flat',\n 'outline': 'k-outline',\n 'clear': 'k-button-clear',\n 'primary': 'k-primary',\n 'state-selected': 'k-selected',\n 'button-icon': 'k-button-icon',\n 'button-icontext': 'k-button-icontext',\n 'state-disabled': 'k-disabled',\n 'group-start': 'k-group-start',\n 'group-end': 'k-group-end',\n 'button-group': 'k-button-group',\n 'button-group-stretched': 'k-button-group-stretched',\n 'ltr': 'k-ltr',\n 'rtl': 'k-rtl'\n};\nvar notInternalButton = ':not(.k-dropdownlist > .k-button):not(.k-colorpicker > .k-button)';\n/**\n * @hidden\n */\nexport var internalButtons = '.k-dropdownlist > .k-button,.k-colorpicker > .k-button';\n/**\n * @hidden\n */\nexport var toolbarButtons = [\n 'button' + notInternalButton,\n '.k-button-group > button',\n '.k-dropdownlist',\n '.k-colorpicker'\n];\n/**\n * @hidden\n */\nexport default {\n styles: styles\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDefaultSlots, validatePackage, kendoThemeMaps, Icon } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar ButtonVue2 = {\n name: 'KendoButton',\n // @ts-ignore\n emits: {\n click: null,\n mousedown: null,\n mouseup: null,\n pointerdown: null,\n pointerup: null,\n focus: null,\n blur: null,\n keypress: null,\n keydown: null\n },\n props: {\n ariaLabel: String,\n title: String,\n dir: String,\n selected: {\n type: Boolean,\n default: undefined\n },\n togglable: {\n type: Boolean,\n default: false\n },\n icon: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n svgIcon: Object,\n iconClass: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n imageUrl: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n imageAlt: String,\n disabled: {\n type: Boolean,\n default: undefined\n },\n size: {\n type: String,\n default: 'medium'\n },\n shape: {\n type: String\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid'\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base'\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentActive = this.$props.togglable === true && this.$props.selected === true;\n this._activeTemp = undefined;\n },\n data: function data() {\n return {\n currentActive: null\n };\n },\n computed: {\n computedSelected: function computedSelected() {\n return this._activeTemp !== undefined ? this._activeTemp : this.$props.selected !== undefined ? this.$props.selected : this.currentActive;\n },\n buttonClasses: function buttonClasses() {\n var _a;\n var _b = this.$props,\n disabled = _b.disabled,\n icon = _b.icon,\n iconClass = _b.iconClass,\n imageUrl = _b.imageUrl,\n dir = _b.dir,\n svgIcon = _b.svgIcon,\n size = _b.size,\n shape = _b.shape,\n rounded = _b.rounded,\n fillMode = _b.fillMode,\n themeColor = _b.themeColor;\n var hasIcon = svgIcon !== undefined || icon !== undefined || iconClass !== undefined || imageUrl !== undefined;\n var defaultSlot = getDefaultSlots(this);\n var hasChildren = defaultSlot;\n return _a = {}, _a[styles.button] = true, _a[\"k-button-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-button-\".concat(shape)] = shape && shape !== 'rectangle', _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-icon-button'] = !hasChildren && hasIcon, _a['k-disabled'] = disabled, _a['k-selected'] = this.computedSelected, _a['k-rtl'] = dir === 'rtl', _a[\"k-button-\".concat(fillMode)] = fillMode, _a[\"k-button-\".concat(fillMode, \"-\").concat(themeColor)] = fillMode && themeColor, _a;\n }\n },\n updated: function updated() {\n if (this.$props.togglable && this.$props.selected !== undefined && this.$props.selected !== this.currentActive) {\n this.currentActive = this.$props.selected;\n }\n },\n methods: {\n focus: function focus(e) {\n this.$el.focus(e);\n },\n toggleIfApplicable: function toggleIfApplicable() {\n if (!this.disabled && this.$props.togglable && this.$props.selected === undefined) {\n var active = !this.currentActive;\n this._activeTemp = active;\n this.currentActive = active;\n this._activeTemp = undefined;\n }\n },\n handleClick: function handleClick(event) {\n this.toggleIfApplicable();\n if (!this.disabled) {\n this.$emit('click', event);\n }\n },\n handleMouseDown: function handleMouseDown(event) {\n if (!this.disabled) {\n this.$emit('mousedown', event);\n }\n },\n handlePointerDown: function handlePointerDown(event) {\n if (!this.disabled) {\n this.$emit('pointerdown', event);\n }\n },\n handleMouseUp: function handleMouseUp(event) {\n if (!this.disabled) {\n this.$emit('mouseup', event);\n }\n },\n handlePointerUp: function handlePointerUp(event) {\n if (!this.disabled) {\n this.$emit('pointerup', event);\n }\n },\n handleFocus: function handleFocus(event) {\n if (!this.disabled) {\n this.$emit('focus', event);\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.disabled) {\n this.$emit('blur', event);\n }\n },\n handleKeypress: function handleKeypress(event) {\n if (!this.disabled) {\n this.$emit('keypress', event);\n }\n },\n handleKeydown: function handleKeydown(event) {\n if (!this.disabled) {\n this.$emit('keydown', event);\n }\n },\n handleContextmenu: function handleContextmenu(event) {\n if (!this.disabled) {\n this.$emit('contextmenu', event);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n togglable = _a.togglable,\n icon = _a.icon,\n svgIcon = _a.svgIcon,\n iconClass = _a.iconClass,\n imageUrl = _a.imageUrl,\n imageAlt = _a.imageAlt;\n var defaultSlot = getDefaultSlots(this);\n var iconElement = function iconElement() {\n if (imageUrl) {\n return h(\"img\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\",\n alt: imageAlt,\n src: imageUrl\n },\n \"class\": 'k-image',\n alt: imageAlt,\n src: imageUrl\n });\n } else if (icon || svgIcon) {\n var iconClasses = classNames('k-button-icon', iconClass);\n return h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n icon: svgIcon,\n \"class\": iconClasses\n });\n } else if (iconClass) {\n return h(\"span\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n \"class\": iconClass\n });\n }\n return null;\n };\n return h(\"button\", {\n \"class\": this.buttonClasses,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseup\": this.handleMouseUp,\n \"pointerdown\": this.handlePointerDown,\n \"pointerup\": this.handlePointerUp,\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"keypress\": this.handleKeypress,\n \"keydown\": this.handleKeydown,\n \"contextmenu\": this.handleContextmenu\n },\n onMousedown: this.handleMouseDown,\n onMouseup: this.handleMouseUp,\n onPointerdown: this.handlePointerDown,\n onPointerup: this.handlePointerUp,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeypress: this.handleKeypress,\n onKeydown: this.handleKeydown,\n onContextmenu: this.handleContextmenu,\n title: this.title,\n attrs: this.v3 ? undefined : {\n title: this.title,\n \"aria-label\": this.ariaLabel,\n \"aria-disabled\": this.$props.disabled || undefined,\n \"aria-pressed\": togglable ? this.currentActive ? true : false : undefined\n },\n \"aria-label\": this.ariaLabel,\n \"aria-disabled\": this.$props.disabled || undefined,\n \"aria-pressed\": togglable ? this.currentActive ? true : false : undefined\n }, [iconElement.call(this), defaultSlot && h(\"span\", {\n \"class\": \"k-button-text\"\n }, [defaultSlot])]);\n }\n};\n/**\n * @hidden\n */\nvar Button = ButtonVue2;\nexport { Button, ButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ButtonWrapVue2 = {\n name: 'KendoButtonWrap',\n props: {},\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return defaultSlot[0];\n }\n};\n/**\n * @hidden\n */\nvar ButtonWrap = ButtonWrapVue2;\nexport { ButtonWrap, ButtonWrapVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { ButtonWrap } from './ButtonWrap';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar ButtonGroupVue2 = {\n name: 'KendoButtonGroup',\n props: {\n disabled: {\n type: Boolean,\n default: undefined\n },\n width: String,\n dir: {\n type: String,\n default: function _default() {\n return undefined;\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var renderButton = function renderButton(child, index, isLast, isRtl) {\n var _a;\n var className = classNames((_a = {}, _a[styles['state-disabled']] = this.$props.disabled, _a[styles['group-start']] = isRtl ? isLast : index === 0, _a[styles['group-end']] = isRtl ? index === 0 : isLast, _a));\n return h(ButtonWrap, {\n class: className,\n attrs: this.v3 ? undefined : {\n 'aria-disabled': this.$props.disabled\n },\n 'aria-disabled': this.$props.disabled\n }, this.v3 ? function () {\n return [child];\n } : [child]);\n };\n var mapButtons = function mapButtons(children) {\n var _this = this;\n var count = children.length;\n var rtl = this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n return children.map(function (child, index) {\n if (_this.isValidButton(child)) {\n return renderButton.call(_this, child, index, index === count - 1, rtl);\n }\n return child;\n });\n };\n var groupClasses = classNames([styles['button-group']], (_a = {}, _a['k-disabled'] = this.$props.disabled, _a[styles['button-group-stretched']] = !!this.$props.width, _a));\n return h(\"div\", {\n style: {\n width: this.width\n },\n dir: this.$props.dir\n // Accessibility properties\n ,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir,\n role: 'group',\n \"aria-disabled\": this.$props.disabled\n },\n role: 'group',\n \"aria-disabled\": this.$props.disabled,\n \"class\": groupClasses\n }, [mapButtons.call(this, defaultSlot)]);\n },\n methods: {\n isValidButton: function isValidButton(child) {\n return child && child.tag && child.tag.toLowerCase().indexOf('button') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('button') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('kendobutton') !== -1;\n }\n }\n};\n/**\n * @hidden\n */\nvar ButtonGroup = ButtonGroupVue2;\nexport { ButtonGroup, ButtonGroupVue2 };","/**\n * @hidden\n */\nexport var DATA_ACTION;\n(function (DATA_ACTION) {\n DATA_ACTION[\"remove\"] = \"remove\";\n DATA_ACTION[\"add\"] = \"add\";\n DATA_ACTION[\"reorder\"] = \"reorder\";\n})(DATA_ACTION || (DATA_ACTION = {}));\n/**\n * @hidden\n */\nexport var dataReducer = function dataReducer(state, action) {\n switch (action.type) {\n case DATA_ACTION.add:\n // TODO v2\n break;\n case DATA_ACTION.remove:\n return state.filter(function (i) {\n return i[action.valueField] !== action.payload;\n });\n case DATA_ACTION.reorder:\n // TODO v2\n break;\n default:\n return state;\n }\n};","var __spreadArray = this && this.__spreadArray || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/**\n * @hidden\n */\nexport var SELECTION_TYPE;\n(function (SELECTION_TYPE) {\n SELECTION_TYPE[\"single\"] = \"single\";\n SELECTION_TYPE[\"multiple\"] = \"multiple\";\n SELECTION_TYPE[\"none\"] = \"none\";\n})(SELECTION_TYPE || (SELECTION_TYPE = {}));\n/**\n * @hidden\n */\nexport var SELECTION_ACTION;\n(function (SELECTION_ACTION) {\n SELECTION_ACTION[\"toggle\"] = \"toggle\";\n SELECTION_ACTION[\"remove\"] = \"remove\";\n})(SELECTION_ACTION || (SELECTION_ACTION = {}));\n/**\n * @hidden\n */\nexport var selectionReducer = function selectionReducer(state, action) {\n switch (action.selection) {\n case SELECTION_TYPE.single:\n switch (action.type) {\n case SELECTION_ACTION.toggle:\n {\n if (!Array.isArray(state) || state === null) {\n return action.payload === state ? null : action.payload;\n }\n throw new Error('State cannot be an array in single selection');\n }\n case SELECTION_ACTION.remove:\n {\n return action.payload === state ? null : state;\n }\n default:\n return state;\n }\n case SELECTION_TYPE.multiple:\n switch (action.type) {\n case SELECTION_ACTION.toggle:\n {\n if (Array.isArray(state)) {\n return state.some(function (i) {\n return i === action.payload;\n }) ? state.filter(function (i) {\n return i !== action.payload;\n }) : __spreadArray(__spreadArray([], state, true), [action.payload], false);\n }\n if (state === null) {\n return [action.payload];\n }\n throw new Error('State cannot be non-array in multiple selection');\n }\n case SELECTION_ACTION.remove:\n {\n if (Array.isArray(state)) {\n return state.some(function (i) {\n return i === action.payload;\n }) ? state.filter(function (i) {\n return i !== action.payload;\n }) : __spreadArray(__spreadArray([], state, true), [action.payload], false);\n }\n return state;\n }\n default:\n return state;\n }\n case SELECTION_TYPE.none:\n return null;\n default:\n return state;\n }\n};","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, getTabIndex, Keys, noop, validatePackage, kendoThemeMaps, setRef, getRef, templateRendering, getListeners, getTemplate, Icon, getIconName } from '@progress/kendo-vue-common';\nimport { checkIcon, xCircleIcon } from '@progress/kendo-svg-icons';\nimport { FOCUS_ACTION } from './focus-reducer';\nimport { DATA_ACTION } from './data-reducer';\nimport { SELECTION_ACTION } from './selection-reducer';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ChipVue2 = {\n name: 'KendoVueChip',\n props: {\n id: String,\n text: String,\n avatar: {\n type: [String, Function, Object],\n default: function _default() {\n return undefined;\n }\n },\n value: [String, Object],\n dir: {\n type: String,\n default: function _default() {\n return 'ltr';\n }\n },\n removable: {\n type: Boolean,\n default: false\n },\n removeIcon: {\n type: String,\n default: function _default() {\n return 'x-circle';\n }\n },\n removeSvgIcon: {\n type: Object,\n default: function _default() {\n return xCircleIcon;\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n icon: String,\n svgIcon: Object,\n selectedIcon: {\n type: String,\n default: function _default() {\n return 'check';\n }\n },\n selectedSvgIcon: {\n type: Object,\n default: function _default() {\n return checkIcon;\n }\n },\n look: {\n type: String,\n default: function _default() {\n return 'solid';\n }\n },\n size: {\n type: String,\n default: 'medium'\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'outline', 'solid'].includes(value);\n }\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base',\n validator: function validator(value) {\n return [null, 'base', 'error', 'info', 'success', 'warning'].includes(value);\n }\n },\n dataItem: Object,\n selected: Boolean,\n ariaDescribedBy: String,\n role: {\n type: String,\n default: 'button'\n }\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'keydown': null,\n 'blur': null,\n 'focus': null,\n 'remove': null\n },\n inject: {\n kendoSelection: {\n default: {\n value: null\n }\n },\n kendoFocused: {\n default: {\n value: null\n }\n },\n kendoDataItems: {\n default: null\n },\n handleDispatchDataItems: {\n default: noop\n },\n handleDispatchSelection: {\n default: noop\n },\n handleDispatchFocus: {\n default: noop\n }\n },\n created: function created() {\n this.currentDir = undefined;\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.chip = getRef(this, 'chip');\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n },\n updated: function updated() {\n if (this.kendoFocused.value === this.$props.value && this.$el) {\n this.$el.focus();\n }\n },\n computed: {\n currentSelected: function currentSelected() {\n var _this = this;\n return this.$props.selected || (Array.isArray(this.kendoSelection.value) ? this.kendoSelection.value.some(function (i) {\n return i === _this.$props.value;\n }) : this.kendoSelection.value === this.$props.value);\n },\n chipLabelClass: function chipLabelClass() {\n return {\n 'k-chip-label': true,\n 'k-text-ellipsis': true\n };\n }\n },\n methods: {\n computedFocused: function computedFocused() {\n return this.kendoFocused.value === this.$props.value;\n },\n handleClick: function handleClick(event) {\n if (this.handleDispatchSelection) {\n this.handleDispatchSelection({\n type: SELECTION_ACTION.toggle,\n payload: this.$props.value,\n event: event\n });\n }\n this.$emit('click', {\n target: this.target,\n event: event\n });\n },\n handleRemove: function handleRemove(event) {\n event.stopPropagation();\n if (!this.$props.removable) {\n return;\n }\n if (this.handleDispatchFocus) {\n this.handleDispatchDataItems({\n type: DATA_ACTION.remove,\n payload: this.$props.value,\n event: event\n });\n this.handleDispatchFocus({\n type: FOCUS_ACTION.reset,\n payload: this.$props.value,\n event: event\n });\n this.handleDispatchSelection({\n type: SELECTION_ACTION.remove,\n payload: this.$props.value,\n event: event\n });\n }\n this.$emit('remove', {\n target: this.target,\n event: event\n });\n },\n handleKeyDown: function handleKeyDown(event) {\n switch (event.keyCode) {\n case Keys.left:\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n type: FOCUS_ACTION.prev,\n payload: this.$props.value,\n event: event\n });\n }\n break;\n case Keys.right:\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n type: FOCUS_ACTION.next,\n payload: this.$props.value,\n event: event\n });\n }\n break;\n case Keys.enter:\n if (this.handleDispatchFocus) {\n this.handleDispatchSelection({\n type: SELECTION_ACTION.toggle,\n payload: this.$props.value,\n event: event\n });\n }\n break;\n case Keys.delete:\n this.handleRemove(event);\n break;\n default:\n break;\n }\n this.$emit('keydown', {\n target: this.target,\n event: event\n });\n },\n handleFocus: function handleFocus(event) {\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n payload: this.$props.value,\n type: FOCUS_ACTION.current,\n event: event\n });\n }\n this.$emit('focus', {\n target: this.target,\n event: event\n });\n },\n handleBlur: function handleBlur(event) {\n this.$emit('blur', {\n target: this.target,\n event: event\n });\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var chipRef = ref(null);\n return {\n v3: v3,\n chipRef: chipRef\n };\n },\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var _b = this.$props,\n size = _b.size,\n rounded = _b.rounded,\n themeColor = _b.themeColor,\n fillMode = _b.fillMode,\n look = _b.look,\n avatar = _b.avatar,\n icon = _b.icon,\n svgIcon = _b.svgIcon,\n selectedIcon = _b.selectedIcon,\n selectedSvgIcon = _b.selectedSvgIcon,\n removeIcon = _b.removeIcon,\n removeSvgIcon = _b.removeSvgIcon;\n var avatarTemplate = templateRendering.call(this, avatar, getListeners.call(this));\n var avatarDefaultRendering = avatar ? h(\"div\", {\n \"class\": \"k-chip-avatar k-avatar k-rounded-\".concat(avatar.rounded || 'medium', \" k-avatar-\").concat(kendoThemeMaps.sizeMap[size] || size, \" k-avatar-solid k-avatar-solid-primary\"),\n style: avatar.style\n }, [h(\"span\", {\n \"class\": \"k-avatar-image\"\n }, [h(\"img\", {\n src: avatar.imageUrl,\n attrs: this.v3 ? undefined : {\n src: avatar.imageUrl,\n alt: avatar.imageAlt\n },\n alt: avatar.imageAlt\n })])]) : null;\n var avatarRender = getTemplate.call(this, {\n h: h,\n template: avatarTemplate\n });\n return h(\"div\", {\n role: this.$props.role,\n attrs: this.v3 ? undefined : {\n role: this.$props.role,\n id: this.$props.value,\n dir: this.currentDir,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"aria-pressed\": this.$props.role === 'button' ? this.currentSelected : undefined,\n \"aria-selected\": this.$props.role === 'option' ? this.currentSelected : undefined,\n \"aria-disabled\": this.$props.disabled,\n \"aria-describedby\": this.$props.ariaDescribedBy\n },\n id: this.$props.value,\n ref: setRef(this, 'chip'),\n dir: this.currentDir,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"class\": classNames('k-chip', (_a = {\n 'k-rtl': this.currentDir === 'rtl',\n 'k-disabled': this.$props.disabled,\n 'k-selected': this.currentSelected,\n 'k-focus': this.computedFocused()\n }, _a[\"k-chip-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a[\"k-chip-\".concat(fillMode)] = fillMode, _a[\"k-chip-\".concat(fillMode, \"-\").concat(themeColor)] = Boolean(fillMode && themeColor), _a['k-chip-outline'] = look === 'outline' || look === 'outlined', _a['k-chip-solid'] = look === 'solid' || look === 'filled', _a)),\n \"aria-pressed\": this.$props.role === 'button' ? this.currentSelected : undefined,\n \"aria-selected\": this.$props.role === 'option' ? this.currentSelected : undefined,\n \"aria-disabled\": this.$props.disabled,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n onFocus: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"click\": this.handleClick,\n \"keydown\": this.handleKeyDown\n },\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n onKeydown: this.handleKeyDown\n }, [this.currentSelected && (selectedIcon || selectedSvgIcon) && h(Icon, {\n name: getIconName(selectedIcon),\n attrs: this.v3 ? undefined : {\n name: getIconName(selectedIcon),\n icon: selectedSvgIcon,\n size: 'small'\n },\n icon: selectedSvgIcon,\n size: 'small'\n }), (icon || svgIcon) && h(Icon, {\n name: getIconName(icon),\n attrs: this.v3 ? undefined : {\n name: getIconName(icon),\n icon: svgIcon,\n size: 'small'\n },\n icon: svgIcon,\n size: 'small'\n }), avatar ? avatar.imageUrl ? avatarDefaultRendering : avatarRender : null, h(\"span\", {\n \"class\": 'k-chip-content'\n }, [this.$props.text && h(\"span\", {\n \"aria-label\": this.$props.text,\n attrs: this.v3 ? undefined : {\n \"aria-label\": this.$props.text\n },\n \"class\": this.chipLabelClass\n }, [this.$props.text])]), this.$props.removable && h(\"span\", {\n \"class\": \"k-chip-actions\"\n }, [h(\"span\", {\n \"class\": \"k-chip-action k-chip-remove-action\"\n }, [h(Icon, {\n name: getIconName(removeIcon),\n attrs: this.v3 ? undefined : {\n name: getIconName(removeIcon),\n icon: removeSvgIcon,\n size: 'small'\n },\n icon: removeSvgIcon,\n size: 'small',\n onClick: this.handleRemove,\n on: this.v3 ? undefined : {\n \"click\": this.handleRemove\n }\n })])])]);\n }\n};\n/**\n * @hidden\n */\nvar Chip = ChipVue2;\nexport { Chip, ChipVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { getTabIndex, classNames, getListeners, templateRendering, getTemplate, validatePackage, kendoThemeMaps, setRef } from '@progress/kendo-vue-common';\nimport { selectionReducer } from './selection-reducer';\nimport { focusReducer } from './focus-reducer';\nimport { dataReducer } from './data-reducer';\nimport { Chip } from './Chip';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ChipListVue2 = {\n name: 'KendoVueChipList',\n inheritAttrs: false,\n props: {\n id: String,\n tabIndex: Number,\n dataItems: Array,\n defaultDataItems: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n value: [Object, Array, String, Number],\n defaultValue: {\n type: [Object, Array, String, Number],\n default: function _default() {\n return null;\n }\n },\n size: {\n type: String,\n default: 'medium'\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'outline', 'solid'].includes(value);\n }\n },\n selection: {\n type: String,\n default: function _default() {\n return 'none';\n }\n },\n textField: {\n type: String,\n default: function _default() {\n return 'text';\n }\n },\n valueField: {\n type: String,\n default: function _default() {\n return 'value';\n }\n },\n avatarField: {\n type: String,\n default: function _default() {\n return 'avatar';\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n dir: {\n type: String,\n default: function _default() {\n return 'ltr';\n }\n },\n chip: [String, Function, Object],\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n provide: function provide() {\n return {\n kendoSelection: this.currentValue,\n kendoFocused: this.currentFocused,\n kendoDataItems: this.computedDataItems,\n handleDispatchDataItems: this.handleDispatchDataItems,\n handleDispatchSelection: this.handleDispatchSelection,\n handleDispatchFocus: this.handleDispatchFocus\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentDataItems = this.$props.dataItems || this.$props.defaultDataItems;\n this.currentValue.value = this.$props.value || this.$props.defaultValue;\n },\n data: function data() {\n return {\n currentDataItems: [],\n currentDir: 'ltr',\n isRtl: false,\n currentFocused: {\n value: false\n },\n currentValue: {\n value: null\n }\n };\n },\n mounted: function mounted() {\n this.chipList = this.v3 ? this.chipListRef : this.$refs.chipList;\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n this.isRtl = this.currentDir === 'rtl';\n },\n computed: {\n computedDataItems: function computedDataItems() {\n return this.$props.dataItems || this.currentDataItems;\n },\n computedValue: function computedValue() {\n return this.$props.value || this.currentValue.value;\n },\n items: function items() {\n return this.computedDataItems.reduce(this.itemsReducer, []);\n }\n },\n methods: {\n handleDispatchSelection: function handleDispatchSelection(action) {\n var newState = selectionReducer(this.computedValue, __assign(__assign({}, action), {\n selection: this.$props.selection,\n state: this.computedValue\n }));\n this.handleChange(newState, action.event);\n this.currentValue.value = newState;\n },\n handleDispatchFocus: function handleDispatchFocus(action) {\n var newState = focusReducer(action.payload, __assign(__assign({}, action), {\n items: this.items\n }));\n this.currentFocused.value = newState;\n },\n handleDispatchDataItems: function handleDispatchDataItems(action) {\n var newState = dataReducer(this.computedDataItems, __assign(__assign({}, action), {\n state: this.computedDataItems,\n valueField: this.$props.valueField\n }));\n this.handleDataChange(newState, action.event);\n this.currentDataItems = newState;\n },\n handleChange: function handleChange(newValue, event) {\n if (this.$el) {\n this.$emit('change', {\n value: newValue,\n target: this.$el,\n event: event\n });\n }\n },\n handleDataChange: function handleDataChange(newData, event) {\n if (this.$el) {\n this.$emit('datachange', {\n value: newData,\n target: this.$el,\n event: event\n });\n }\n },\n itemsReducer: function itemsReducer(acc, current) {\n acc.push(current[this.$props.valueField || this.$props.valueField]);\n return acc;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var chipListRef = ref(null);\n return {\n v3: v3,\n chipListRef: chipListRef\n };\n },\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var size = this.$props.size;\n return h(\"div\", {\n ref: setRef(this, 'chipList'),\n role: 'listbox',\n attrs: this.v3 ? undefined : {\n role: 'listbox',\n id: this.$props.id,\n dir: this.currentDir,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-orientation\": 'horizontal',\n \"aria-multiselectable\": this.$props.selection === 'multiple' ? true : undefined\n },\n id: this.$props.id,\n dir: this.currentDir,\n style: this.$attrs.style,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"class\": classNames('k-chip-list', (_a = {}, _a[\"k-chip-list-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a['k-rtl'] = this.currentDir === 'rtl', _a['k-selection-single'] = this.$props.selection === 'single', _a['k-selection-multiple'] = this.$props.selection === 'multiple', _a['k-disabled'] = this.$props.disabled, _a)),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-orientation\": 'horizontal',\n \"aria-multiselectable\": this.$props.selection === 'multiple' ? true : undefined\n }, [this.computedDataItems.map(function (item) {\n var chipTemplate = templateRendering.call(this, this.$props.chip, getListeners.call(this));\n var chipDefaultRendering =\n // @ts-ignore function children\n h(Chip, {\n role: 'option',\n attrs: this.v3 ? undefined : {\n role: 'option',\n dataItem: item,\n text: item[this.$props.textField],\n value: item[this.$props.valueField],\n avatar: item[this.$props.avatarField],\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode\n },\n dataItem: item,\n key: item[this.$props.valueField],\n text: item[this.$props.textField],\n value: item[this.$props.valueField],\n avatar: item[this.$props.avatarField],\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode\n });\n return getTemplate.call(this, {\n h: h,\n template: chipTemplate,\n defaultRendering: chipDefaultRendering,\n additionalProps: {\n dataItem: item,\n key: item[this.$props.valueField],\n text: item[this.$props.textField],\n value: item[this.$props.valueField],\n size: this.$props.size\n }\n });\n }, this)]);\n }\n};\n/**\n * @hidden\n */\nvar ChipList = ChipListVue2;\nexport { ChipList, ChipListVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, getRef, getTabIndex, getTemplate, Icon, setRef } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar FloatingActionButtonItemVue2 = {\n name: 'KendoVueFloatingActionButtonItem',\n props: {\n disabled: Boolean,\n focused: Boolean,\n index: Number,\n icon: String,\n item: [String, Function, Object],\n dataItem: Object,\n text: String,\n tabIndex: Number,\n customProp: [String, Function, Object]\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'down': null\n },\n mounted: function mounted() {\n this.element = getRef(this, 'element');\n },\n computed: {\n itemClassNames: function itemClassNames() {\n return classNames('k-fab-item', {\n 'k-focus': this.focused,\n 'k-disabled': this.disabled\n });\n }\n },\n methods: {\n handleClick: function handleClick(event) {\n if (this.$props.index !== undefined && !this.$props.disabled) {\n this.$emit('click', event, this.$props.index);\n }\n },\n focusElement: function focusElement() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n onDown: function onDown(event) {\n this.$emit('down', event);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var elementRef = ref(null);\n return {\n v3: v3,\n elementRef: elementRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n id = _a.id,\n tabIndex = _a.tabIndex,\n dataItem = _a.dataItem;\n var text = dataItem.text,\n icon = dataItem.icon,\n svgIcon = dataItem.svgIcon;\n var item;\n var itemDefaultRendering = h(\"li\", {\n ref: setRef(this, 'element'),\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: 'menuitem',\n tabindex: getTabIndex(tabIndex, disabled),\n \"aria-disabled\": disabled,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton item\")\n },\n \"class\": this.itemClassNames,\n role: 'menuitem',\n tabindex: getTabIndex(tabIndex, disabled),\n \"aria-disabled\": disabled,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton item\"),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.onDown,\n \"pointerdown\": this.onDown\n },\n onMousedown: this.onDown,\n onPointerdown: this.onDown\n }, [text && h(\"span\", {\n \"class\": \"k-fab-item-text\"\n }, [text]), (svgIcon || icon) && h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n icon: svgIcon,\n \"class\": \"k-fab-item-icon\"\n })]);\n item = getTemplate.call(this, {\n h: h,\n template: this.$props.item,\n defaultRendering: itemDefaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n click: this.handleClick\n }\n });\n return item;\n }\n};\n/**\n * @hidden\n */\nvar FloatingActionButtonItem = FloatingActionButtonItemVue2;\nexport { FloatingActionButtonItem, FloatingActionButtonItemVue2 };","/**\n * @hidden\n */\nexport var DEFAULT_OFFSET = '16px';\n/**\n * @hidden\n */\nexport var toStringValues = function (val) {\n if (typeof val === 'number') {\n return val + 'px';\n }\n return val;\n};\n/**\n * @hidden\n */\nexport var getAnchorAlign = function (fabAlign, rtl) {\n var align = { horizontal: (rtl ? 'right' : 'left'), vertical: 'bottom' };\n if (fabAlign.horizontal === 'end') {\n align.horizontal = rtl ? 'left' : 'right';\n }\n return align;\n};\n/**\n * @hidden\n */\nexport var getPopupAlign = function (fabAlign, rtl) {\n var align = { horizontal: (rtl ? 'right' : 'left'), vertical: 'top' };\n if (fabAlign.horizontal === 'end') {\n align.horizontal = rtl ? 'left' : 'right';\n }\n return align;\n};\n/**\n * @hidden\n */\nexport var getTextDirectionClass = function (rtl, hAlign) {\n var al = hAlign === 'end' ? 'end' : 'start';\n var directions = {\n rtl: { end: 'k-text-left', start: 'k-text-right' },\n ltr: { start: 'k-text-left', end: 'k-text-right' }\n };\n return directions[rtl][al];\n};\n/**\n * @hidden\n */\nexport var position = function (ref, align, alignOffset, isRtl) {\n var horizontal = align.horizontal;\n var vertical = align.vertical;\n if (ref) {\n var xFab = alignOffset && alignOffset.x !== undefined ?\n toStringValues(alignOffset.x) :\n DEFAULT_OFFSET;\n var xCenterFab = alignOffset && alignOffset.x !== undefined ?\n \"calc(50% + \".concat(toStringValues(alignOffset.x), \")\") :\n '50%';\n var yFab = alignOffset && alignOffset.y !== undefined ?\n toStringValues(alignOffset.y) :\n DEFAULT_OFFSET;\n var yCenterFab = alignOffset && alignOffset.y !== undefined ?\n \"calc(50% + \".concat(toStringValues(alignOffset.y), \")\") :\n '50%';\n ref.style.setProperty(horizontalPosition(align, isRtl), horizontal === 'center' ? xCenterFab : xFab);\n ref.style.setProperty(verticalPosition(align), vertical === 'middle' ? yCenterFab : yFab);\n if (isRtl) {\n if ((vertical === 'top' || vertical === 'bottom') && horizontal === 'start') {\n ref.style.setProperty('left', 'unset');\n }\n if (vertical === 'middle' && horizontal === 'end') {\n ref.style.setProperty('right', 'unset');\n }\n if (vertical === 'middle' && horizontal === 'start') {\n ref.style.setProperty('left', 'unset');\n }\n }\n }\n};\nvar horizontalPosition = function (align, isRtl) {\n var horizontal = align.horizontal;\n return {\n end: isRtl ? 'left' : 'right',\n center: 'left',\n start: isRtl ? 'right' : 'left'\n }[horizontal || 'end'];\n};\nvar verticalPosition = function (align) {\n return {\n top: 'top',\n middle: 'top',\n bottom: 'bottom'\n }[align.vertical || 'bottom'];\n};\n","import { parents, siblingContainer } from '@progress/kendo-popup-common';\n/**\n * @hidden\n */\nexport var eitherRect = function eitherRect(rect, offset) {\n if (!rect) {\n return {\n height: 0,\n left: offset.left,\n top: offset.top,\n width: 0\n };\n }\n return rect;\n};\n/**\n * @hidden\n */\nexport var replaceOffset = function replaceOffset(rect, offset) {\n if (!offset) {\n return rect;\n }\n var result = {\n height: rect.height,\n left: offset.left,\n top: offset.top,\n width: rect.width\n };\n return result;\n};\n/**\n * @hidden\n */\nexport var removeStackingOffset = function removeStackingOffset(rect, stackingOffset) {\n if (!stackingOffset) {\n return rect;\n }\n var result = {\n height: rect.height,\n left: rect.left - stackingOffset.left,\n top: rect.top - stackingOffset.top,\n width: rect.width\n };\n return result;\n};\n/**\n * @hidden\n */\nexport var isDifferentOffset = function isDifferentOffset(oldOffset, newOffset) {\n var oldLeft = oldOffset.left,\n oldTop = oldOffset.top;\n var newLeft = newOffset.left,\n newTop = newOffset.top;\n return Math.abs(oldLeft - newLeft) >= 1 || Math.abs(oldTop - newTop) >= 1;\n};\n/**\n * @hidden\n */\nexport var isDocumentAvailable = function isDocumentAvailable() {\n return typeof document !== 'undefined' && !!document.body;\n};\n/**\n * @hidden\n */\nexport var isWindowAvailable = function isWindowAvailable() {\n return typeof window !== 'undefined';\n};\n/**\n * @hidden\n */\nexport var hasBoundingRect = function hasBoundingRect(elem) {\n return !!elem.getBoundingClientRect;\n};\n/**\n * @hidden\n */\nexport var OVERFLOW_REGEXP = /auto|scroll/;\n/**\n * @hidden\n */\nvar overflowStyle = function overflowStyle(element) {\n var styles = window.getComputedStyle(element);\n return \"\".concat(styles.overflow).concat(styles.overflowX).concat(styles.overflowY);\n};\n/**\n * @hidden\n */\nexport var scrollableParents = function scrollableParents(element) {\n var parentElements = [];\n if (!isDocumentAvailable() || !isWindowAvailable()) {\n return parentElements;\n }\n var parent = element.parentElement;\n while (parent) {\n if (OVERFLOW_REGEXP.test(overflowStyle(parent))) {\n parentElements.push(parent);\n }\n parent = parent.parentElement;\n }\n parentElements.push(window);\n return parentElements;\n};\n/**\n * @hidden\n */\nexport var FRAME_DURATION = 1000 / 60; // 1000ms divided by 60fps\n/**\n * @hidden\n */\nexport var hasRelativeStackingContext = function hasRelativeStackingContext() {\n if (!isDocumentAvailable()) {\n return false;\n }\n var top = 10;\n var parent = document.createElement('div');\n parent.style.transform = 'matrix(10, 0, 0, 10, 0, 0)';\n parent.innerHTML = \"
child
\";\n document.body.appendChild(parent);\n if (parent && parent.firstChild) {\n var firstChild = parent.firstChild;\n firstChild.style.position = 'fixed';\n firstChild.style.top = \"\".concat(top, \"px\");\n }\n var isDifferent = parent.children[0].getBoundingClientRect().top !== top;\n document.body.removeChild(parent);\n return isDifferent;\n};\n/**\n * @hidden\n */\nexport var HAS_RELATIVE_STACKING_CONTEXT = hasRelativeStackingContext();\n/**\n * @hidden\n */\nexport var zIndex = function zIndex(anchor, container) {\n if (!anchor || !isDocumentAvailable() || !isWindowAvailable()) {\n return null;\n }\n var sibling = siblingContainer(anchor, container);\n if (!sibling) {\n return null;\n }\n var result = [anchor].concat(parents(anchor, sibling)).reduce(function (index, p) {\n var zIndexStyle = p.style.zIndex || window.getComputedStyle(p).zIndex;\n var current = parseInt(zIndexStyle, 10);\n return current > index ? current : index;\n }, 0);\n return result ? result + 1 : null;\n};\n/**\n * @hidden\n */\nexport var CollisionType = {\n fit: 'fit',\n flip: 'flip'\n};\n/**\n * @hidden\n */\nexport var AlignPoint = {\n left: 'left',\n center: 'center',\n right: 'right',\n bottom: 'bottom',\n top: 'top'\n};\n/**\n * @hidden\n */\nexport var throttle = function throttle(func, wait, options) {\n if (options === void 0) {\n options = {};\n }\n var timeout, context, args, result;\n var previous = 0;\n options = options || {};\n var later = function later() {\n previous = options.leading === false ? 0 : new Date().getTime();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n };\n var throttled = function throttled() {\n var now = new Date().getTime();\n if (!previous && options.leading === false) {\n previous = now;\n }\n var remaining = wait - (now - previous);\n // @ts-ignore\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n return throttled;\n};","import { eitherRect, removeStackingOffset } from '../util';\n/**\n * @hidden\n */\nvar AlignService = /** @class */ (function () {\n function AlignService(_dom) {\n this._dom = _dom;\n }\n AlignService.prototype.alignElement = function (settings) {\n var anchor = settings.anchor, element = settings.element, anchorAlign = settings.anchorAlign, elementAlign = settings.elementAlign, offset = settings.offset;\n var fixedMode = !this._dom.hasOffsetParent(element);\n var anchorRect = fixedMode ?\n this.absoluteRect(anchor, element, offset) :\n this.relativeRect(anchor, element, offset);\n return this._dom.align({\n anchorAlign: anchorAlign,\n anchorRect: anchorRect,\n elementAlign: elementAlign,\n elementRect: this._dom.offset(element)\n });\n };\n AlignService.prototype.absoluteRect = function (anchor, element, offset) {\n var dom = this._dom;\n var rect = eitherRect(dom.offset(anchor), offset);\n var stackingOffset = dom.stackingElementOffset(element);\n var removedOffset = removeStackingOffset(rect, stackingOffset);\n var stackingScroll = dom.stackingElementScroll(element);\n var withScroll = dom.addScroll(removedOffset, stackingScroll);\n var scrollPosition = this.elementScrollPosition(anchor, element);\n var result = dom.removeScroll(withScroll, scrollPosition);\n result.left += window.scrollX || window.pageXOffset;\n result.top += window.scrollY || window.pageYOffset;\n return result;\n };\n AlignService.prototype.elementScrollPosition = function (anchor, element) {\n return anchor ? { x: 0, y: 0 } : this._dom.scrollPosition(element);\n };\n AlignService.prototype.relativeRect = function (anchor, element, offset) {\n return eitherRect(this._dom.position(anchor, element), offset);\n };\n return AlignService;\n}());\nexport { AlignService };\n","import { align, applyLocationOffset, boundingOffset, getWindowViewPort, isBodyOffset, offset, positionWithScroll, restrictToView, addScroll, removeScroll, scrollPosition, siblingContainer } from '@progress/kendo-popup-common';\nimport { isDocumentAvailable, isWindowAvailable, HAS_RELATIVE_STACKING_CONTEXT, scrollableParents, zIndex } from '../util';\n/**\n * @hidden\n */\nvar DOMService = /** @class */ (function () {\n function DOMService() {\n }\n DOMService.prototype.addOffset = function (current, addition) {\n return {\n left: current.left + addition.left,\n top: current.top + addition.top\n };\n };\n DOMService.prototype.align = function (settings) {\n return align(settings);\n };\n DOMService.prototype.boundingOffset = function (el) {\n return boundingOffset(el);\n };\n DOMService.prototype.getWindow = function () {\n return isWindowAvailable() ? window : null;\n };\n DOMService.prototype.isBodyOffset = function (el) {\n return isBodyOffset(el);\n };\n DOMService.prototype.hasOffsetParent = function (el) {\n if (!el) {\n return false;\n }\n var offsetParentEl = el.offsetParent;\n return offsetParentEl &&\n !(offsetParentEl.nodeName === 'BODY' &&\n window.getComputedStyle(offsetParentEl).position === 'static');\n };\n DOMService.prototype.offset = function (el) {\n if (!el) {\n return null;\n }\n return offset(el);\n };\n DOMService.prototype.staticOffset = function (element) {\n if (!element) {\n return null;\n }\n var _a = element.style, left = _a.left, top = _a.top;\n element.style.left = '0px';\n element.style.top = '0px';\n var currentOffset = offset(element);\n element.style.left = left;\n element.style.top = top;\n return currentOffset;\n };\n DOMService.prototype.position = function (element, popup) {\n if (!element || !popup) {\n return null;\n }\n var parentSibling = siblingContainer(element, popup);\n return positionWithScroll(element, parentSibling);\n };\n DOMService.prototype.relativeOffset = function (el, currentLocation) {\n return applyLocationOffset(this.offset(el), currentLocation, this.isBodyOffset(el));\n };\n DOMService.prototype.addScroll = function (rect, scroll) {\n return addScroll(rect, scroll);\n };\n DOMService.prototype.removeScroll = function (rect, scroll) {\n return removeScroll(rect, scroll);\n };\n DOMService.prototype.restrictToView = function (settings) {\n return restrictToView(settings);\n };\n DOMService.prototype.scrollPosition = function (el) {\n return scrollPosition(el);\n };\n DOMService.prototype.scrollableParents = function (el) {\n return scrollableParents(el);\n };\n DOMService.prototype.stackingElementOffset = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return null;\n }\n return offset(relativeContextElement);\n };\n DOMService.prototype.stackingElementScroll = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return { x: 0, y: 0 };\n }\n return {\n x: relativeContextElement.scrollLeft,\n y: relativeContextElement.scrollTop\n };\n };\n DOMService.prototype.stackingElementViewPort = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return null;\n }\n return {\n height: relativeContextElement.scrollHeight,\n width: relativeContextElement.scrollWidth\n };\n };\n DOMService.prototype.getRelativeContextElement = function (el) {\n if (!el || !HAS_RELATIVE_STACKING_CONTEXT) {\n return null;\n }\n var parent = el.parentElement;\n while (parent) {\n if (window.getComputedStyle(parent).transform !== 'none') {\n return parent;\n }\n parent = parent.parentElement;\n }\n return null;\n };\n DOMService.prototype.useRelativePosition = function (el) {\n return !!this.getRelativeContextElement(el);\n };\n DOMService.prototype.windowViewPort = function (el) {\n return getWindowViewPort(el);\n };\n DOMService.prototype.zIndex = function (anchor, container) {\n return zIndex(anchor, container);\n };\n DOMService.prototype.zoomLevel = function () {\n if (!isDocumentAvailable() || !isWindowAvailable()) {\n return 1;\n }\n return parseFloat((document.documentElement.clientWidth / window.innerWidth).toFixed(2));\n };\n DOMService.prototype.isZoomed = function () {\n return this.zoomLevel() > 1;\n };\n return DOMService;\n}());\nexport { DOMService };\n","import { eitherRect, replaceOffset } from '../util';\n/**\n * @hidden\n */\nvar PositionService = /** @class */ (function () {\n function PositionService(_dom) {\n this._dom = _dom;\n }\n PositionService.prototype.positionElement = function (settings) {\n var anchor = settings.anchor, currentLocation = settings.currentLocation, element = settings.element, anchorAlign = settings.anchorAlign, elementAlign = settings.elementAlign, collisions = settings.collisions;\n var dom = this._dom;\n var viewPort = settings.viewPort || dom.stackingElementViewPort(element) || dom.windowViewPort(element);\n var anchorRect = eitherRect(dom.offset(anchor), currentLocation);\n var initialElementRect = replaceOffset(dom.staticOffset(element), currentLocation);\n var elementRect = this.elementRect(element, initialElementRect);\n var result = dom.restrictToView({\n anchorAlign: anchorAlign,\n anchorRect: anchorRect,\n collisions: collisions,\n elementAlign: elementAlign,\n elementRect: elementRect,\n viewPort: viewPort\n });\n return {\n flipped: result.flipped,\n offset: dom.addOffset(initialElementRect, result.offset)\n };\n };\n PositionService.prototype.elementRect = function (element, rect) {\n return this._dom.removeScroll(rect, this._dom.scrollPosition(element));\n };\n return PositionService;\n}());\nexport { PositionService };\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-popup',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1706639471,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Slide } from '@progress/kendo-vue-animation';\nimport { CollisionType, AlignPoint, throttle, FRAME_DURATION, isWindowAvailable } from './util';\nimport { AlignService } from './services/alignService';\nimport { DOMService } from './services/domService';\nimport { PositionService } from './services/positionService';\nimport { canUseDOM, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nvar DEFAULT_POPUP_ZINDEX = 100;\nvar ZINDEX_POPUP_STEP = 1;\nvar DEFAULT_OFFSET = {\n left: -1000,\n top: 0\n};\nvar ANIMATION_CONTAINER = 'k-animation-container';\nvar ANIMATION_CONTAINER_SHOWN = 'k-animation-container-shown';\nvar K_POPUP = 'k-popup';\n/**\n * @hidden\n */\nvar PopupVue2 = {\n name: 'Popup',\n props: {\n appendTo: {\n type: String,\n default: ''\n },\n anchor: {\n type: String,\n default: ''\n },\n className: String,\n id: String,\n popupClass: String,\n collision: {\n type: Object,\n default: function _default() {\n return {\n horizontal: CollisionType.fit,\n vertical: CollisionType.flip\n };\n }\n },\n anchorAlign: {\n type: Object,\n default: function _default() {\n return {\n horizontal: AlignPoint.left,\n vertical: AlignPoint.bottom\n };\n }\n },\n popupAlign: {\n type: Object,\n default: function _default() {\n return {\n horizontal: AlignPoint.left,\n vertical: AlignPoint.top\n };\n }\n },\n offset: {\n type: Object,\n default: function _default() {\n return DEFAULT_OFFSET;\n }\n },\n show: {\n type: Boolean,\n default: false\n },\n animate: {\n type: [Boolean, Object],\n default: function _default() {\n return true;\n }\n },\n direction: {\n type: String,\n default: 'down'\n },\n transition: {\n type: String,\n default: 'expand'\n }\n },\n inject: {\n kCurrentZIndex: {\n default: null\n }\n },\n data: function data() {\n return {\n hasMounted: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.mountedAppendTo = undefined;\n this.mountedAnchor = undefined;\n this._clonedElement = undefined;\n this._flipped = false;\n this._offsetTop = 0;\n this._offsetLeft = -1000;\n this._exitingAnimation = false;\n this._prevShow = false;\n this._prevShow = this.$props.show;\n this._domService = new DOMService();\n this._alignService = new AlignService(this._domService);\n this._positionService = new PositionService(this._domService);\n this.reposition = throttle(this.reposition.bind(this), FRAME_DURATION);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (canUseDOM) {\n this.mountedAppendTo = this.appendTo ? this.getParentRef(this.appendTo) : document.body;\n this.mountedAnchor = this.anchor ? this.getParentRef(this.anchor, true) : document.body;\n }\n this._parentElement = this.$el.parentElement;\n this._clonedElement = this.$el.cloneNode(true);\n this.hasMounted = true;\n this.mountedAppendTo.appendChild(this.$el);\n },\n updated: function updated() {\n this._prevShow = this.$props.show;\n },\n destroyed: !!isV3 ? undefined : function () {\n this.detachRepositionHandlers();\n },\n beforeDestroy: !!isV3 ? undefined : function () {\n if (this._parentElement) {\n this._parentElement.appendChild(this.$el);\n }\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.detachRepositionHandlers();\n },\n // @ts-ignore\n beforeUnmount: function beforeUnmount() {\n if (this._parentElement) {\n this._parentElement.appendChild(this.$el);\n }\n },\n methods: {\n onOpened: function onOpened() {\n var element = this.$el;\n if (this.$props.show) {\n element.classList.add(ANIMATION_CONTAINER_SHOWN);\n }\n this.attachRepositionHandlers(element);\n this.$emit('open', {\n target: this\n });\n },\n onClosing: function onClosing() {\n if (!this.$props.show) {\n var element = this.$el;\n element.classList.remove(ANIMATION_CONTAINER_SHOWN);\n }\n this.detachRepositionHandlers();\n },\n onClosed: function onClosed() {\n if (this._exitingAnimation) {\n this._exitingAnimation = false;\n this.$forceUpdate();\n }\n this.$emit('close', {\n target: this\n });\n },\n transitionDuration: function transitionDuration() {\n var animate = this.$props.animate;\n var transitionEnterDuration = 0;\n var transitionExitDuration = 0;\n if (animate) {\n if (animate === true) {\n // Inherit the default duration of the Animation component.\n transitionEnterDuration = transitionExitDuration = undefined;\n } else {\n transitionEnterDuration = animate.openDuration;\n transitionExitDuration = animate.closeDuration;\n }\n }\n return {\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration\n };\n },\n getParentRef: function getParentRef(anchor, isAnchor) {\n // @ts-ignore\n var parent = this.$parent;\n while (!parent.$refs[anchor]) {\n // @ts-ignore\n if (parent && parent.kendoAnchorRef && isAnchor) {\n // @ts-ignore\n return parent.kendoAnchorRef;\n }\n // @ts-ignore\n parent = parent.$parent;\n if (!parent && canUseDOM) {\n return document.getElementById(anchor) || document.body;\n }\n }\n // @ts-ignore\n return parent.$refs[anchor].$el || parent.$refs[anchor];\n },\n position: function position(settings, element, anchor) {\n var anchorAlign = settings.anchorAlign,\n popupAlign = settings.popupAlign,\n collision = settings.collision,\n offset = settings.offset;\n var anchorElement = anchor ? this.v3 ? this.mountedAnchor : this.getParentRef(anchor, true) : document.body;\n var alignedOffset = this._alignService.alignElement({\n anchor: anchor ? anchorElement : undefined,\n element: element,\n elementAlign: popupAlign,\n anchorAlign: anchorAlign,\n offset: offset\n });\n var result = this._positionService.positionElement({\n anchor: anchorElement,\n anchorAlign: anchorAlign,\n collisions: collision,\n element: element,\n currentLocation: alignedOffset,\n elementAlign: popupAlign\n });\n return result;\n },\n calculatePosition: function calculatePosition($props, appendToElement) {\n if (!appendToElement || !isWindowAvailable() || !canUseDOM) {\n return {\n flipped: false,\n offset: $props.offset\n };\n }\n var defaultSlot = getDefaultSlots(this);\n var root = document.createElement('div');\n var contentElement = this.$el && this.$el.firstChild ? this.$el.firstChild.firstChild ? this.$el.firstChild.firstChild.cloneNode(true) : null : null;\n var divWrapper = contentElement && contentElement.getBoundingClientRect ? contentElement : this._clonedElement;\n if (divWrapper) {\n root.appendChild(divWrapper);\n } else {\n // @ts-ignore\n var internalClass = this.v3 ? defaultSlot && defaultSlot[0].props ? defaultSlot[0].props.class : '' : defaultSlot && defaultSlot[0].data ? defaultSlot[0].data.staticClass : '';\n // @ts-ignore\n var domClass = this.v3 ? this.$props.popupClass ? this.$props.popupClass : '' : defaultSlot && defaultSlot[0].data ? defaultSlot[0].data.class : '';\n root.innerHTML = \"
\\t\\n
\\n
\\n
\\t\\n
\\t\\n
\");\n }\n appendToElement.appendChild(root);\n if (root && root.firstChild) {\n var firstChild = root.firstChild;\n firstChild.style.position = 'absolute';\n firstChild.style.visibility = 'hidden';\n firstChild.style.display = 'block';\n firstChild.style.left = '-1000';\n firstChild.style.top = '0';\n var inlineStyles = this.v3 ? defaultSlot && defaultSlot[0].props ? defaultSlot[0].props.style : {} : defaultSlot[0].data ? defaultSlot[0].data.style : {};\n if (inlineStyles) {\n for (var _i = 0, _a = Object.entries(inlineStyles); _i < _a.length; _i++) {\n var _b = _a[_i],\n key = _b[0],\n value = _b[1];\n firstChild.style[key] = value;\n }\n }\n }\n var newPosition = this.position($props, root.firstChild, this.$props.anchor);\n root.parentNode.removeChild(root);\n return newPosition;\n },\n attachRepositionHandlers: function attachRepositionHandlers(element) {\n var _this = this;\n this.detachRepositionHandlers();\n this._scrollableParents = this._domService.scrollableParents(this.$props.anchor ? this.mountedAnchor : element);\n this._scrollableParents.map(function (p) {\n return p.addEventListener('scroll', _this.reposition);\n });\n window.addEventListener('resize', this.reposition);\n },\n detachRepositionHandlers: function detachRepositionHandlers() {\n var _this = this;\n if (this._scrollableParents) {\n this._scrollableParents.map(function (p) {\n return p.removeEventListener('scroll', _this.reposition);\n });\n this._scrollableParents = undefined;\n }\n window.removeEventListener('resize', this.reposition);\n },\n reposition: function reposition() {\n this._clonedElement = this.$el.cloneNode(true);\n this.$forceUpdate();\n },\n getCurrentZIndex: function getCurrentZIndex() {\n return this.kCurrentZIndex ? this.kCurrentZIndex + ZINDEX_POPUP_STEP : DEFAULT_POPUP_ZINDEX;\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n className = _a.className,\n popupClass = _a.popupClass,\n show = _a.show,\n id = _a.id;\n var defaultSlots = getDefaultSlots(this);\n var defaultSlot = this.v3 ? defaultSlots : show ? defaultSlots : null;\n var defaultAppentTo = isWindowAvailable() ? this.$props.appendTo ? this.mountedAppendTo || this.getParentRef(this.$props.appendTo) : document.body : undefined;\n if (this.$props.show) {\n var newPosition = this.calculatePosition(this.$props, defaultAppentTo);\n this._offsetLeft = newPosition.offset.left;\n this._offsetTop = newPosition.offset.top;\n this._flipped = !!newPosition.flipped;\n }\n var direction = this.$props.direction === 'down' ? this._flipped ? 'up' : 'down' : this._flipped ? 'down' : 'up';\n var _b = this.transitionDuration(),\n transitionEnterDuration = _b.transitionEnterDuration,\n transitionExitDuration = _b.transitionExitDuration;\n var currentZIndex = this.getCurrentZIndex();\n this._exitingAnimation = this._exitingAnimation || this._prevShow && !show;\n if (!this.hasMounted) {\n return h(\"div\", {\n style: {\n display: 'none'\n },\n \"class\": className\n }, [h(\"div\", {\n \"class\": [popupClass, K_POPUP]\n }, [defaultSlots])]);\n }\n if (show || this._exitingAnimation && defaultAppentTo) {\n var popup =\n // @ts-ignore function children\n h(Slide, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: this.appendTo ? '' : 'region',\n componentChildClassName: [popupClass, K_POPUP],\n className: className,\n direction: direction,\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration,\n appear: show\n },\n role: this.appendTo ? '' : 'region',\n componentChildClassName: [popupClass, K_POPUP],\n className: className,\n onEntered: this.onOpened,\n on: this.v3 ? undefined : {\n \"entered\": this.onOpened,\n \"exiting\": this.onClosing,\n \"exited\": this.onClosed\n },\n onExiting: this.onClosing,\n onExited: this.onClosed,\n direction: direction,\n style: {\n zIndex: currentZIndex,\n position: 'absolute',\n top: this._offsetTop + 'px',\n left: this._offsetLeft + 'px'\n },\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration,\n appear: show\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot]);\n return popup;\n }\n return null;\n }\n};\n/**\n * @hidden\n */\nvar Popup = PopupVue2;\nexport { Popup, PopupVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, guid, Keys, getTabIndex, templateRendering, getListeners, validatePackage, canUseDOM, kendoThemeMaps, setRef, getRef, Icon } from '@progress/kendo-vue-common';\nimport { FloatingActionButtonItem } from './FloatingActionButtonItem';\nimport { packageMetadata } from '../package-metadata';\nimport { position, getAnchorAlign, getPopupAlign, getTextDirectionClass } from './utils';\nimport { Popup } from '@progress/kendo-vue-popup';\n/**\n * @hidden\n */\nvar FloatingActionButtonVue2 = {\n name: 'KendoVueFloatingActionButton',\n props: {\n id: String,\n dir: String,\n tabIndex: Number,\n accessKey: String,\n disabled: Boolean,\n icon: String,\n svgIcon: Object,\n iconClass: String,\n items: [Object, Array],\n item: [String, Function, Object],\n text: String,\n alignOffset: Object,\n opened: {\n type: Boolean,\n default: undefined\n },\n align: {\n type: Object,\n default: function _default() {\n return {\n vertical: 'bottom',\n horizontal: 'end'\n };\n }\n },\n positionMode: {\n type: String,\n default: function _default() {\n return 'fixed';\n }\n },\n popupSettings: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n shape: {\n type: String,\n default: function _default() {\n return 'rectangle';\n }\n },\n rounded: {\n type: String,\n default: 'full'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'link', 'outline', 'solid'].includes(value);\n }\n },\n size: {\n type: String,\n default: function _default() {\n return 'medium';\n }\n },\n themeColor: {\n type: String,\n default: function _default() {\n return 'primary';\n }\n }\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'mousedown': null,\n 'mouseup': null,\n 'open': null,\n 'close': null,\n 'itemclick': null,\n 'focus': null,\n 'blur': null,\n 'keydown': null\n },\n data: function data() {\n return {\n currentOpened: false,\n currentFocused: false,\n focusedIndex: -1,\n currentDir: 'ltr',\n isRtl: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.element = undefined;\n this._anchor = guid();\n this.listId = guid();\n this.buttonId = guid();\n },\n mounted: function mounted() {\n this.element = this.v3 ? this.kendoAnchorRef : this.$refs[this._anchor];\n this.list = getRef(this, 'list');\n this.popup = getRef(this, 'popup');\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n this.isRtl = this.currentDir === 'rtl';\n if (this.opened !== undefined) {\n position(this.$el, this.$props.align, this.$props.alignOffset, this.isRtl);\n }\n },\n updated: function updated() {\n position(this.$el, this.$props.align, this.$props.alignOffset, this.isRtl);\n if (this.currentFocused && this.element) {\n this.element.focus();\n }\n },\n computed: {\n buttonClassNames: function buttonClassNames() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n icon = _b.icon,\n shape = _b.shape,\n themeColor = _b.themeColor,\n fillMode = _b.fillMode,\n rounded = _b.rounded;\n return _a = {\n 'k-fab': true\n }, _a[\"k-fab-\".concat(shape || 'rectangle')] = shape !== null, _a[\"k-fab-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a[\"k-fab-\".concat(fillMode)] = fillMode, _a[\"k-fab-\".concat(fillMode, \"-\").concat(themeColor)] = fillMode && themeColor, _a['k-disabled'] = this.$props.disabled, _a['k-focus'] = this.currentFocused, _a[\"k-\".concat(this.$props.align.vertical, \"-\").concat(this.$props.align.horizontal)] = true, _a;\n },\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n rootClassNames: function rootClassNames() {\n return classNames({\n 'k-pos-absolute': this.$props.positionMode === 'absolute',\n 'k-pos-fixed': this.$props.positionMode === 'fixed'\n });\n }\n },\n methods: {\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, isOpen) {\n if (!this.$props.items) {\n return;\n }\n this.$emit(isOpen ? 'open' : 'close', {\n event: dispatchedEvent,\n isOpened: !isOpen\n });\n },\n handleClick: function handleClick(event) {\n if (!event.target || this.$props.disabled) {\n return;\n }\n if (!this.$props.items) {\n this.$emit('click', event, undefined);\n } else {\n var currentOpenToggled = !this.computedOpened;\n this.currentOpened = currentOpenToggled;\n this.currentFocused = true;\n this.focusedIndex = currentOpenToggled ? 0 : -1;\n this.dispatchPopupEvent(event, !this.computedOpened);\n }\n },\n handleFocus: function handleFocus(event) {\n this.currentFocused = true;\n this.focusedIndex = this.computedOpened ? 0 : -1;\n this.$emit('focus', event, undefined);\n },\n handleBlur: function handleBlur(event) {\n this.currentFocused = false;\n this.currentOpened = false;\n this.focusedIndex = -1;\n this.$emit('blur', event, undefined);\n var fireCloseEvent = this.computedOpened;\n if (fireCloseEvent) {\n this.dispatchPopupEvent(event, false);\n }\n },\n handleMouseDown: function handleMouseDown(event) {\n event.preventDefault();\n this.$emit('mousedown', event);\n },\n handleMouseUp: function handleMouseUp(event) {\n this.$emit('mouseup', event);\n },\n dispatchItemClickEvent: function dispatchItemClickEvent(dispatchedEvent, index) {\n if (!this.$props.items) {\n return;\n }\n if (!this.$props.items[index].disabled) {\n this.$emit('itemclick', dispatchedEvent, {\n itemProps: this.$props.items[index],\n itemIndex: index\n });\n }\n },\n handleItemClick: function handleItemClick(event, clickedItemIndex) {\n if (!event.target || !this.$props.items) {\n return;\n }\n this.focusedIndex = clickedItemIndex;\n this.currentOpened = false;\n this.dispatchItemClickEvent(event, clickedItemIndex);\n this.dispatchPopupEvent(event, false);\n },\n handleItemDown: function handleItemDown(event) {\n if (canUseDOM && document.activeElement === this.element) {\n event.preventDefault();\n }\n },\n handleKeyDown: function handleKeyDown(event) {\n var currIndex = this.focusedIndex;\n var maxNavIndex = this.$props.items ? this.$props.items.length - 1 : -1;\n var isAtBottom = this.$props.align.vertical === 'bottom';\n switch (event.keyCode) {\n case Keys.enter:\n case Keys.space:\n if (currIndex >= 0) {\n this.dispatchItemClickEvent(event, currIndex);\n }\n event.preventDefault();\n this.currentOpened = !this.currentOpened;\n this.focusedIndex = !this.currentOpened ? 0 : -1;\n break;\n case Keys.esc:\n event.preventDefault();\n this.currentOpened = false;\n this.focusedIndex = -1;\n break;\n case Keys.home:\n event.preventDefault();\n this.focusedIndex = 0;\n break;\n case Keys.end:\n event.preventDefault();\n this.focusedIndex = maxNavIndex;\n break;\n case Keys.down:\n case Keys.right:\n event.preventDefault();\n if (currIndex < maxNavIndex && !isAtBottom) {\n this.focusedIndex = currIndex + 1;\n }\n if (currIndex > 0 && isAtBottom) {\n this.focusedIndex = currIndex - 1;\n }\n break;\n case Keys.up:\n case Keys.left:\n event.preventDefault();\n if (currIndex > 0 && !isAtBottom) {\n this.focusedIndex = currIndex - 1;\n }\n if (currIndex < maxNavIndex && isAtBottom) {\n this.focusedIndex = currIndex + 1;\n }\n break;\n default:\n break;\n }\n this.$emit('keydown', event, undefined);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var chipRef = ref(null);\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n chipRef: chipRef,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this2 = this;\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n align = _a.align,\n disabled = _a.disabled,\n icon = _a.icon,\n svgIcon = _a.svgIcon,\n iconClass = _a.iconClass,\n id = _a.id,\n items = _a.items,\n text = _a.text,\n tabIndex = _a.tabIndex,\n accessKey = _a.accessKey,\n popupSettings = _a.popupSettings;\n var item = templateRendering.call(this, this.$props.item, getListeners.call(this));\n var fabItems = function fabItems() {\n return items && items.map(function (element, index) {\n return (\n // @ts-ignore function children\n h(FloatingActionButtonItem, {\n key: index,\n index: index,\n attrs: this.v3 ? undefined : {\n index: index,\n id: \"\".concat(this.listId, \"-\").concat(index),\n disabled: disabled || element.disabled,\n focused: this.focusedIndex === index,\n dataItem: element,\n item: item\n },\n id: \"\".concat(this.listId, \"-\").concat(index),\n disabled: disabled || element.disabled,\n focused: this.focusedIndex === index,\n dataItem: element,\n item: item,\n \"class\": classNames(element.className, getTextDirectionClass(this.currentDir || 'ltr', align.horizontal)),\n onClick: this.handleItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleItemClick,\n \"down\": this.handleItemDown\n },\n onDown: this.handleItemDown\n })\n );\n }, this);\n };\n var isIconFab = icon && !text;\n var fabWidth = this.element ? this.element.offsetWidth : 0;\n var iconWidth = 32;\n var spacing = fabWidth / 2 - iconWidth / 2;\n return h(\"div\", {\n \"class\": this.rootClassNames\n }, [h(\"button\", {\n ref: this.v3 ? function (el) {\n _this.kendoAnchorRef = el;\n } : this._anchor,\n id: id || this.buttonId,\n attrs: this.v3 ? undefined : {\n id: id || this.buttonId,\n role: items ? 'menubutton' : 'button',\n type: 'button',\n \"aria-disabled\": disabled,\n \"aria-expanded\": items ? this.computedOpened : undefined,\n \"aria-haspopup\": items ? true : false,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton\"),\n \"aria-owns\": items ? this.listId : undefined,\n \"aria-activedescendant\": this.focusedIndex >= 0 && items ? \"\".concat(this.listId, \"-\").concat(this.focusedIndex) : undefined,\n tabindex: getTabIndex(tabIndex, disabled),\n accesskey: accessKey,\n dir: this.currentDir,\n disabled: disabled\n },\n role: items ? 'menubutton' : 'button',\n type: 'button',\n \"aria-disabled\": disabled,\n \"aria-expanded\": items ? this.computedOpened : undefined,\n \"aria-haspopup\": items ? true : false,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton\"),\n \"aria-owns\": items ? this.listId : undefined,\n \"aria-activedescendant\": this.focusedIndex >= 0 && items ? \"\".concat(this.listId, \"-\").concat(this.focusedIndex) : undefined,\n tabindex: getTabIndex(tabIndex, disabled),\n accesskey: accessKey,\n dir: this.currentDir,\n disabled: disabled,\n \"class\": this.buttonClassNames,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseup\": this.handleMouseUp,\n \"focusin\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"keydown\": this.handleKeyDown\n },\n onMousedown: this.handleMouseDown,\n onMouseup: this.handleMouseUp,\n onFocusin: this.handleFocus,\n onBlur: this.handleBlur,\n onKeydown: this.handleKeyDown\n }, [icon || svgIcon ? h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n icon: svgIcon,\n \"class\": 'k-fab-icon'\n }) : iconClass ? h(Icon, {\n \"class\": iconClass\n }) : null, text && h(\"span\", {\n \"class\": \"k-fab-text\"\n }, [text])]),\n // @ts-ignore function children\n h(Popup, {\n ref: setRef(this, 'popup'),\n show: this.computedOpened,\n attrs: this.v3 ? undefined : {\n show: this.computedOpened,\n anchor: this._anchor,\n animate: popupSettings.animate,\n popupClass: classNames('k-popup-transparent k-fab-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(align, this.isRtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(align, this.isRtl)\n },\n anchor: this._anchor,\n animate: popupSettings.animate,\n popupClass: classNames('k-popup-transparent k-fab-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(align, this.isRtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(align, this.isRtl),\n style: {\n boxShadow: 'none'\n }\n }, this.v3 ? function () {\n return [h(\"ul\", {\n ref: setRef(_this2, 'list'),\n role: 'menu',\n attrs: _this2.v3 ? undefined : {\n role: 'menu',\n \"aria-labelledby\": id,\n id: _this2.listId\n },\n \"aria-labelledby\": id,\n id: _this2.listId,\n \"class\": classNames('k-fab-items', {\n 'k-fab-items-bottom': align.vertical !== 'bottom',\n 'k-fab-items-top': align.vertical === 'bottom'\n }),\n style: {\n paddingLeft: isIconFab ? spacing + 'px' : undefined,\n paddingRight: isIconFab ? spacing + 'px' : undefined\n }\n }, [fabItems.call(_this2)])];\n } : [h(\"ul\", {\n ref: setRef(_this2, 'list'),\n role: 'menu',\n attrs: _this2.v3 ? undefined : {\n role: 'menu',\n \"aria-labelledby\": id,\n id: _this2.listId\n },\n \"aria-labelledby\": id,\n id: _this2.listId,\n \"class\": classNames('k-fab-items', {\n 'k-fab-items-bottom': align.vertical !== 'bottom',\n 'k-fab-items-top': align.vertical === 'bottom'\n }),\n style: {\n paddingLeft: isIconFab ? spacing + 'px' : undefined,\n paddingRight: isIconFab ? spacing + 'px' : undefined\n }\n }, [fabItems.call(_this2)])])]);\n }\n};\n/**\n * @hidden\n */\nvar FloatingActionButton = FloatingActionButtonVue2;\nexport { FloatingActionButton, FloatingActionButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getTemplate, Icon } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ButtonItemVue2 = {\n name: 'KendoButtonItem',\n // @ts-ignore\n emits: {\n click: null,\n down: null\n },\n props: {\n focused: Boolean,\n index: Number,\n item: Object,\n render: [String, Object, Function],\n dataItem: [String, Object],\n id: String,\n textField: String\n },\n computed: {\n wrapperClass: function wrapperClass() {\n return {\n 'k-item': true,\n 'k-focus': this.$props.focused\n };\n },\n innerClass: function innerClass() {\n var dataItem = this.$props.dataItem;\n return {\n 'k-link k-menu-link': true,\n 'k-selected': dataItem.selected,\n 'k-disabled': dataItem.disabled\n };\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event, this.$props.index);\n },\n onDown: function onDown(event) {\n this.$emit('down', event, this.$props.index);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n dataItem = _a.dataItem,\n id = _a.id,\n render = _a.render;\n var renderContent = function renderContent() {\n var _a = this.$props,\n textField = _a.textField,\n index = _a.index;\n var text = dataItem.text !== undefined ? dataItem.text : textField ? dataItem[textField] : dataItem;\n var itemContent = h(\"span\", {\n tabindex: -1,\n attrs: this.v3 ? undefined : {\n tabindex: -1\n },\n \"class\": this.innerClass,\n key: \"icon\"\n }, [dataItem.icon || dataItem.svgIcon ? h(Icon, {\n name: dataItem.icon,\n attrs: this.v3 ? undefined : {\n name: dataItem.icon,\n icon: dataItem.svgIcon\n },\n icon: dataItem.svgIcon,\n \"class\": dataItem.iconClass\n }) : dataItem.iconClass && h(\"span\", {\n \"class\": dataItem.iconClass,\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }), dataItem.imageUrl && h(\"img\", {\n \"class\": \"k-icon\",\n alt: \"\",\n attrs: this.v3 ? undefined : {\n alt: \"\",\n src: dataItem.imageUrl,\n role: \"presentation\"\n },\n src: dataItem.imageUrl,\n role: \"presentation\",\n key: \"image\"\n }), text && h(\"span\", {\n \"class\": \"k-menu-link-text\"\n }, [text])]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.dataItem.render || render,\n defaultRendering: itemContent,\n additionalProps: {\n item: dataItem,\n itemIndex: index,\n innerClass: this.innerClass,\n focused: this.focused\n }\n });\n };\n var item = h(\"li\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: \"menuitem\",\n \"aria-disabled\": dataItem.disabled || undefined\n },\n \"class\": this.wrapperClass,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick,\n \"mousedown\": this.onDown,\n \"pointerdown\": this.onDown\n },\n onMousedown: this.onDown,\n onPointerdown: this.onDown,\n role: \"menuitem\",\n \"aria-disabled\": dataItem.disabled || undefined\n }, [renderContent.call(this)]);\n return item;\n }\n};\n/**\n * @hidden\n */\nvar ButtonItem = ButtonItemVue2;\nexport { ButtonItem, ButtonItemVue2 };","import { Keys } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar navigate = function (focusedIndex, keyCode, altKey, total) {\n if (altKey) {\n return focusedIndex;\n }\n switch (keyCode) {\n case Keys.enter:\n case Keys.space:\n case Keys.esc:\n return -1;\n case Keys.up:\n case Keys.left:\n return Math.max(0, focusedIndex - 1);\n case Keys.down:\n case Keys.right:\n return Math.min(total - 1, focusedIndex + 1);\n default:\n return focusedIndex;\n }\n};\nexport default navigate;\n","/**\n * @hidden\n */\nexport function getAnchorAlign(isDirectionRightToLeft) {\n var align = { horizontal: 'left', vertical: 'bottom' };\n if (isDirectionRightToLeft) {\n align.horizontal = 'right';\n }\n return align;\n}\n/**\n * @hidden\n */\nexport function getPopupAlign(isDirectionRightToLeft) {\n var align = { horizontal: 'left', vertical: 'top' };\n if (isDirectionRightToLeft) {\n align.horizontal = 'right';\n }\n return align;\n}\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { Button as KendoButton } from '../Button';\nimport { classNames, guid, Keys, kendoThemeMaps, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { ButtonItem } from './ButtonItem';\nimport navigation from './utils/navigation';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { getAnchorAlign, getPopupAlign } from './utils/popup';\nimport { validatePackage, templateRendering, getListeners, canUseDOM } from '@progress/kendo-vue-common';\nimport { caretAltDownIcon } from '@progress/kendo-svg-icons';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar SplitButtonVue2 = {\n name: 'KendoSplitButton',\n // @ts-ignore\n emits: {\n focus: null,\n blur: null,\n buttonclick: null,\n itemclick: null,\n open: null,\n close: null\n },\n props: {\n accessKey: String,\n ariaLabel: String,\n text: String,\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n textField: String,\n tabIndex: Number,\n disabled: Boolean,\n icon: String,\n svgIcon: Object,\n size: {\n type: String,\n default: 'medium'\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'link', 'outline', 'solid'].includes(value);\n }\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base',\n validator: function validator(value) {\n return [null, 'base', 'dark', 'error', 'info', 'inverse', 'inverse', 'light', 'primary', 'secondary', 'success', 'tertiary', 'warning'].includes(value);\n }\n },\n opened: {\n type: Boolean,\n default: undefined\n },\n iconClass: String,\n imageUrl: String,\n popupSettings: Object,\n itemRender: [String, Function, Object],\n item: [String, Function, Object],\n look: String,\n className: String,\n buttonClass: String,\n dir: String\n },\n data: function data() {\n return {\n focused: false,\n focusedIndex: -1,\n currentOpened: false\n };\n },\n created: function created() {\n this._blurTimeout = null;\n this._anchor = guid();\n this.mainButton = null;\n this.guid = guid();\n this.buttonsData = [];\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.mainButton = this.$refs[this._anchor];\n // If this.$props.opened is true during the initial render, the popup is not aligned.\n if (this.$props.dir === undefined && this.isRtl() || this.computedOpened) {\n this.$forceUpdate();\n }\n },\n updated: function updated() {\n if (this.focused && this.element()) {\n this.mainButton = this.$refs[this._anchor];\n this.mainButton.focus();\n }\n },\n computed: {\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n wrapperClass: function wrapperClass() {\n return {\n 'k-split-button': true,\n 'k-button-group': true,\n 'k-focus': this.focused\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this3 = this;\n var _this = this;\n var h = gh || createElement;\n this.buttonsData = this.$props.items;\n var rtl = this.isRtl();\n var dir = rtl ? 'rtl' : undefined;\n var _a = this.$props,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled;\n var defaultSlot = getDefaultSlots(this);\n var renderChildItems = function renderChildItems() {\n var _a = this.$props,\n item = _a.item,\n itemRender = _a.itemRender,\n textField = _a.textField;\n return this.buttonsData.length > 0 ? this.buttonsData.map(function (dataItem, index) {\n var currentDataItem = typeof dataItem !== 'string' ? __assign(__assign({}, dataItem), {\n render: templateRendering.call(this, dataItem.render, getListeners.call(this))\n }) : dataItem;\n return (\n // @ts-ignore\n h(ButtonItem, {\n \"class\": \"k-menu-item\",\n role: \"menuitem\",\n attrs: this.v3 ? undefined : {\n role: \"menuitem\",\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n },\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n onClick: this.onItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.onItemClick,\n \"down\": this.onItemDown\n },\n onDown: this.onItemDown,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n key: index,\n index: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n })\n );\n }, this) : null;\n };\n var renderPopup = function renderPopup() {\n var _this2 = this;\n var _a = this.$props,\n _b = _a.popupSettings,\n popupSettings = _b === void 0 ? {} : _b,\n size = _a.size;\n return (\n // @ts-ignore function children\n h(Popup, {\n anchor: this._anchor,\n attrs: this.v3 ? undefined : {\n anchor: this._anchor,\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl)\n },\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl),\n style: rtl ? {\n direction: 'rtl'\n } : undefined\n }, this.v3 ? function () {\n return [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this2.v3 ? undefined : {\n role: \"menu\",\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n },\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n }, [renderChildItems.call(_this2)])];\n } : [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this2.v3 ? undefined : {\n role: \"menu\",\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n },\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n }, [renderChildItems.call(_this2)])])\n );\n };\n return h(\"div\", {\n \"class\": this.wrapperClass,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focusin\": this.onFocus,\n \"focusout\": this.onBlur\n },\n onFocusin: this.onFocus,\n onFocusout: this.onBlur,\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n }\n }, [\n // @ts-ignore function children\n h(KendoButton, {\n size: this.$props.size,\n attrs: this.v3 ? undefined : {\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n dir: dir,\n id: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" splitbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n },\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n onClick: function onClick(event) {\n return _this.onItemClick(event, -1);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(event) {\n return _this.onItemClick(event, -1);\n }\n },\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n \"class\": this.$props.buttonClass,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n dir: dir,\n id: this._anchor,\n ref: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" splitbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n }, this.v3 ? function () {\n return [_this3.$props.text, defaultSlot];\n } : [_this3.$props.text, defaultSlot]),\n // @ts-ignore\n h(KendoButton, {\n svgIcon: caretAltDownIcon,\n attrs: this.v3 ? undefined : {\n svgIcon: caretAltDownIcon,\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n icon: \"caret-alt-down\",\n disabled: disabled || undefined,\n tabIndex: -1,\n look: this.$props.look,\n dir: dir,\n \"aria-label\": \"menu toggling button\"\n },\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n icon: \"caret-alt-down\",\n disabled: disabled || undefined,\n tabIndex: -1,\n look: this.$props.look,\n onClick: this.onSplitPartClick,\n on: this.v3 ? undefined : {\n \"click\": this.onSplitPartClick,\n \"mousedown\": this.onDownSplitPart,\n \"pointerdown\": this.onDownSplitPart\n },\n onMousedown: this.onDownSplitPart,\n onPointerdown: this.onDownSplitPart,\n dir: dir,\n \"aria-label\": \"menu toggling button\"\n }), renderPopup.call(this)]);\n },\n methods: {\n element: function element() {\n return this.mainButton;\n },\n onKeyDown: function onKeyDown(event) {\n if (event.altKey) {\n if (!this.computedOpened && event.keyCode === Keys.down) {\n this.dispatchPopupEvent(event, true);\n this.focusedIndex = 0;\n this.currentOpened = true;\n } else if (this.computedOpened && event.keyCode === Keys.up) {\n this.dispatchPopupEvent(event, false);\n this.focusedIndex = -1;\n this.currentOpened = false;\n }\n return;\n }\n var newState = undefined;\n if (event.keyCode === Keys.enter || event.keyCode === Keys.space) {\n // Prevent default because otherwise when an item is selected\n // click on the default button gets emitted which opens the popup again.\n event.preventDefault();\n this.dispatchClickEvent(event, this.focusedIndex);\n if (this.focusedIndex !== undefined && this.focusedIndex >= 0) {\n newState = {\n focusedIndex: this.computedOpened ? -1 : 0,\n currentOpened: !this.computedOpened\n };\n this.dispatchPopupEvent(event, newState.currentOpened);\n }\n } else if (this.computedOpened && event.keyCode === Keys.esc) {\n newState = {\n focusedIndex: -1,\n currentOpened: false\n };\n this.dispatchPopupEvent(event, newState.currentOpened);\n }\n if (this.computedOpened) {\n var newFocused = navigation(this.focusedIndex, event.keyCode, event.altKey, this.buttonsData.length);\n if (newFocused !== this.focusedIndex) {\n newState = newState || {};\n // @ts-ignore\n newState.focusedIndex = newFocused;\n }\n var arrowKey = event.keyCode === Keys.up || event.keyCode === Keys.down || event.keyCode === Keys.left || event.keyCode === Keys.right;\n if (!event.altKey && arrowKey) {\n // Needed to notify the parent listeners that event is handled.\n event.preventDefault();\n }\n }\n if (newState) {\n this.focusedIndex = newState.focusedIndex;\n this.focused = newState.focused;\n if (newState.currentOpened !== undefined) {\n this.currentOpened = newState.currentOpened;\n }\n }\n },\n onFocus: function onFocus(event) {\n if (!this.focused) {\n this.$emit('focus', event, this, undefined);\n this.focused = true;\n }\n this.focusedIndex = -1;\n clearTimeout(this._blurTimeout);\n },\n onItemClick: function onItemClick(event, clickedItemIndex) {\n var opened = this.computedOpened;\n if (opened) {\n this.focusedIndex = 0;\n this.currentOpened = false;\n }\n this.dispatchClickEvent(event, clickedItemIndex);\n if (opened) {\n this.dispatchPopupEvent(event, false);\n }\n },\n onBlur: function onBlur(event) {\n clearTimeout(this._blurTimeout);\n this.createBlurTimeout(event);\n },\n createBlurTimeout: function createBlurTimeout(event) {\n var _this = this;\n var that = this;\n this._blurTimeout = setTimeout(function () {\n if (canUseDOM && document.activeElement !== that.mainButton) {\n that.focused = false;\n that.focusedIndex = -1;\n that.$emit('blur', event, _this, undefined);\n var fireCloseEvent = that.computedOpened;\n if (fireCloseEvent) {\n that.currentOpened = false;\n that.dispatchPopupEvent(event, false);\n }\n }\n }, 200);\n },\n dispatchClickEvent: function dispatchClickEvent(dispatchedEvent, clickedItemIndex) {\n if (!this.isItemDisabled(clickedItemIndex)) {\n if (clickedItemIndex === -1) {\n this.$emit('buttonclick', dispatchedEvent, this, undefined);\n } else {\n this.$emit('itemclick', {\n event: dispatchedEvent,\n component: this,\n item: this.buttonsData[clickedItemIndex],\n itemIndex: clickedItemIndex\n });\n }\n }\n },\n onSplitPartClick: function onSplitPartClick(event) {\n if (this.buttonsData.length) {\n var toOpen = !this.computedOpened;\n this.dispatchPopupEvent(event, toOpen);\n this.focusedIndex = toOpen ? 0 : -1;\n this.currentOpened = toOpen;\n this.focused = true;\n }\n },\n onDownSplitPart: function onDownSplitPart(event) {\n event.preventDefault();\n if (this.element() && document.activeElement !== this.element()) {\n // @ts-ignore\n this.element().focus();\n }\n },\n onItemDown: function onItemDown(event) {\n if (document.activeElement === this.element()) {\n event.preventDefault();\n }\n },\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, open) {\n this.$emit(open ? 'open' : 'close', dispatchedEvent, this, undefined);\n },\n isItemDisabled: function isItemDisabled(index) {\n return this.buttonsData[index] ? this.buttonsData[index].disabled : this.$props.disabled;\n },\n isRtl: function isRtl() {\n return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : !!this.$el && getComputedStyle(this.$el).direction === 'rtl';\n }\n }\n};\n/**\n * @hidden\n */\nvar SplitButton = SplitButtonVue2;\nexport { SplitButton, SplitButtonVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { Button as KendoButton } from '../Button';\nimport { classNames, guid, Keys, kendoThemeMaps, getDefaultSlots } from '@progress/kendo-vue-common';\nimport navigation from './utils/navigation';\nimport { ButtonItem } from './ButtonItem';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { getAnchorAlign, getPopupAlign } from './utils/popup';\nimport { validatePackage, templateRendering, getListeners, canUseDOM } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar DropDownButtonVue2 = {\n name: 'KendoDropDownButton',\n // @ts-ignore\n emits: {\n focus: null,\n blur: null,\n itemclick: null,\n open: null,\n close: null\n },\n props: {\n accessKey: String,\n primary: Boolean,\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n ariaLabel: String,\n text: String,\n textField: String,\n tabIndex: Number,\n disabled: Boolean,\n icon: String,\n svgIcon: Object,\n iconClass: String,\n imageUrl: String,\n popupSettings: Object,\n itemRender: [String, Object, Function],\n item: Function,\n size: {\n type: String,\n default: 'medium'\n },\n shape: {\n type: String,\n default: 'rectangle',\n validator: function validator(value) {\n return [null, 'rectangle', 'square'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'link', 'outline', 'solid'].includes(value);\n }\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base',\n validator: function validator(value) {\n return [null, 'base', 'dark', 'error', 'info', 'inverse', 'inverse', 'light', 'primary', 'secondary', 'success', 'tertiary', 'warning'].includes(value);\n }\n },\n opened: {\n type: Boolean,\n default: undefined\n },\n look: {\n type: String,\n validator: function validator(value) {\n return ['default', 'flat', 'outline'].includes(value);\n }\n },\n buttonClass: String,\n dir: String\n },\n created: function created() {\n this._blurTimeout = null;\n this._anchor = guid();\n this.wrapper = null;\n this.mainButton = null;\n this.guid = guid();\n this.buttonsData = [];\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.mainButton = this.$refs[this._anchor];\n // If this.$props.opened is true during the initial render, the popup is not aligned.\n if (this.$props.dir === undefined && this.isRtl() || this.computedOpened) {\n this.$forceUpdate();\n }\n },\n updated: function updated() {\n if (this.focused && this.element()) {\n this.mainButton = this.$refs[this._anchor];\n this.mainButton.focus();\n }\n },\n data: function data() {\n return {\n currentOpened: false,\n focused: false,\n focusedIndex: -1\n };\n },\n computed: {\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n wrapperClass: function wrapperClass() {\n return {\n 'k-dropdown-button': true,\n 'k-focus': this.focused\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this2 = this;\n var h = gh || createElement;\n var rtl = this.isRtl();\n var dir = rtl ? 'rtl' : undefined;\n var _a = this.$props,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled;\n var defaultSlot = getDefaultSlots(this);\n this.buttonsData = this.$props.items;\n var renderChildItems = function renderChildItems() {\n var _a = this.$props,\n item = _a.item,\n itemRender = _a.itemRender,\n textField = _a.textField;\n return this.buttonsData.length > 0 ? this.buttonsData.map(function (dataItem, index) {\n var currentDataItem = typeof dataItem !== 'string' ? __assign(__assign({}, dataItem), {\n render: templateRendering.call(this, dataItem.render, getListeners.call(this))\n }) : dataItem;\n return (\n // @ts-ignore\n h(ButtonItem, {\n \"class\": \"k-menu-item\",\n dataItem: currentDataItem,\n attrs: this.v3 ? undefined : {\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n },\n textField: textField,\n focused: this.focusedIndex === index,\n onClick: this.onItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.onItemClick,\n \"down\": this.onItemDown\n },\n onDown: this.onItemDown,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n key: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n })\n );\n }, this) : null;\n };\n var renderPopup = function renderPopup() {\n var _this = this;\n var _a = this.$props,\n _b = _a.popupSettings,\n popupSettings = _b === void 0 ? {} : _b,\n size = _a.size;\n return (\n // @ts-ignore function children\n h(Popup, {\n anchor: this._anchor,\n attrs: this.v3 ? undefined : {\n anchor: this._anchor,\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl)\n },\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl),\n style: rtl ? {\n direction: 'rtl'\n } : undefined\n }, this.v3 ? function () {\n return [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this.v3 ? undefined : {\n role: \"menu\",\n id: _this.guid\n },\n id: _this.guid\n }, [renderChildItems.call(_this)])];\n } : [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this.v3 ? undefined : {\n role: \"menu\",\n id: _this.guid\n },\n id: _this.guid\n }, [renderChildItems.call(_this)])])\n );\n };\n return h(\"div\", {\n \"class\": this.wrapperClass,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focusin\": this.onFocus,\n \"focusout\": this.onBlur\n },\n onFocusin: this.onFocus,\n onFocusout: this.onBlur,\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n }\n }, [\n // @ts-ignore function children\n h(KendoButton, {\n size: this.$props.size,\n attrs: this.v3 ? undefined : {\n size: this.$props.size,\n shape: this.$props.shape,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n primary: this.$props.primary,\n dir: dir,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" dropdownbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n },\n shape: this.$props.shape,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n onClick: this.onClickMainButton,\n on: this.v3 ? undefined : {\n \"click\": this.onClickMainButton,\n \"mousedown\": this.mouseDown\n },\n onMousedown: this.mouseDown,\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n \"class\": this.$props.buttonClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n primary: this.$props.primary,\n dir: dir,\n ref: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" dropdownbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n }, this.v3 ? function () {\n return [_this2.$props.text, defaultSlot];\n } : [_this2.$props.text, defaultSlot]), renderPopup.call(this)]);\n },\n methods: {\n element: function element() {\n return this.mainButton;\n },\n onKeyDown: function onKeyDown(event) {\n if (event.altKey) {\n if (!this.computedOpened && event.keyCode === Keys.down) {\n this.dispatchPopupEvent(event, true);\n this.focusedIndex = 0;\n this.currentOpened = true;\n } else if (this.computedOpened && event.keyCode === Keys.up) {\n this.dispatchPopupEvent(event, false);\n this.focusedIndex = -1;\n this.currentOpened = false;\n }\n return;\n }\n if (event.keyCode === Keys.enter || event.keyCode === Keys.space) {\n if (this.focusedIndex !== undefined && this.focusedIndex >= 0) {\n this.dispatchClickEvent(event, this.focusedIndex);\n }\n // Prevent default because otherwise when an item is selected\n // click on the default button gets emitted which opens the popup again.\n event.preventDefault();\n this.focusedIndex = this.computedOpened ? -1 : 0, this.currentOpened = !this.computedOpened;\n this.dispatchPopupEvent(event, this.currentOpened);\n } else if (this.computedOpened && event.keyCode === Keys.esc) {\n this.focusedIndex = -1;\n this.currentOpened = false;\n this.dispatchPopupEvent(event, this.currentOpened);\n }\n if (this.computedOpened) {\n var newFocused = navigation(this.focusedIndex, event.keyCode, event.altKey, this.buttonsData.length);\n this.focusedIndex = newFocused;\n var arrowKey = event.keyCode === Keys.up || event.keyCode === Keys.down || event.keyCode === Keys.left || event.keyCode === Keys.right;\n if (!event.altKey && arrowKey) {\n // Needed to notify the parent listeners that event is handled.\n event.preventDefault();\n }\n }\n },\n onFocus: function onFocus(event) {\n if (!this.focused) {\n this.focused = true;\n this.$emit('focus', event, this, undefined);\n }\n this.focusedIndex = this.computedOpened ? 0 : -1;\n clearTimeout(this._blurTimeout);\n },\n onBlur: function onBlur(event) {\n clearTimeout(this._blurTimeout);\n this.createBlurTimeout(event);\n },\n createBlurTimeout: function createBlurTimeout(event) {\n var that = this;\n this._blurTimeout = setTimeout(function () {\n if (canUseDOM && document.activeElement !== that.$el) {\n that.focused = false;\n that.focusedIndex = -1;\n that.$emit('blur', event, that, undefined);\n var fireCloseEvent = that.computedOpened;\n if (fireCloseEvent) {\n that.currentOpened = false;\n that.dispatchPopupEvent(event, false);\n }\n }\n }, 200);\n },\n onItemClick: function onItemClick(event, clickedItemIndex) {\n this.focusedIndex = -1;\n this.currentOpened = false;\n this.dispatchClickEvent(event, clickedItemIndex);\n this.dispatchPopupEvent(event, false);\n },\n onItemDown: function onItemDown(event) {\n if (document.activeElement === this.element()) {\n event.preventDefault();\n }\n },\n mouseDown: function mouseDown(event) {\n event.preventDefault();\n },\n dispatchClickEvent: function dispatchClickEvent(dispatchedEvent, index) {\n if (!this.isItemDisabled(index)) {\n this.$emit('itemclick', {\n event: dispatchedEvent,\n item: this.buttonsData[index],\n itemIndex: index\n });\n }\n },\n onClickMainButton: function onClickMainButton(event) {\n if (!this.buttonsData.length) {\n return;\n }\n var toOpen = !this.computedOpened;\n this.currentOpened = toOpen;\n this.focused = true;\n this.focusedIndex = toOpen ? 0 : -1;\n this.dispatchPopupEvent(event, toOpen);\n },\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, open) {\n this.$emit(open ? 'open' : 'close', dispatchedEvent, this, undefined);\n },\n isItemDisabled: function isItemDisabled(index) {\n return this.buttonsData[index] ? this.buttonsData[index].disabled : this.$props.disabled;\n },\n isRtl: function isRtl() {\n return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : !!this.$el && getComputedStyle(this.$el).direction === 'rtl';\n }\n }\n};\n/**\n * @hidden\n */\nvar DropDownButton = DropDownButtonVue2;\nexport { DropDownButton, DropDownButtonVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Keys, validatePackage, getDefaultSlots, kendoThemeMaps } from '@progress/kendo-vue-common';\nimport { toolbarButtons, internalButtons } from './../util';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ToolbarVue2 = {\n name: 'KendoToolbar',\n props: {\n tabIndex: {\n type: Number,\n default: 0\n },\n dir: String,\n keyboardNavigation: {\n type: Boolean,\n default: true\n },\n buttons: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n ariaLabel: String\n },\n created: function created() {\n this.offsetHeight = 0;\n this.offsetWidth = 0;\n this.currentButtons = [];\n this.focusedSelector = this.selectors.map(function (s) {\n return s + ':focus';\n }).join(',');\n validatePackage(packageMetadata);\n },\n computed: {\n selectors: function selectors() {\n return this.$props.buttons || toolbarButtons;\n },\n wrapperClass: function wrapperClass() {\n var _a;\n var size = this.$props.size;\n return _a = {\n 'k-toolbar': true\n }, _a[\"k-toolbar-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a;\n }\n },\n mounted: function mounted() {\n window.addEventListener('resize', this.onWindowResize);\n var element = this.$el;\n if (element) {\n this.offsetWidth = element.offsetWidth;\n this.offsetHeight = element.offsetHeight;\n if (this.$props.keyboardNavigation !== false) {\n this.currentButtons = this.getCurrentButtons();\n this.setTabIndex(0);\n }\n }\n },\n updated: function updated() {\n var element = this.$el;\n if (!element || this.$props.keyboardNavigation === false) {\n return;\n }\n this.currentButtons = this.getCurrentButtons();\n this.setTabIndex(this.focusedIndex());\n },\n destroyed: !!isV3 ? undefined : function () {\n window.removeEventListener('resize', this.onWindowResize);\n this.currentButtons.length = 0;\n },\n // @ts-ignore\n unmounted: function unmounted() {\n window.removeEventListener('resize', this.onWindowResize);\n this.currentButtons.length = 0;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": this.wrapperClass,\n role: \"toolbar\",\n attrs: this.v3 ? undefined : {\n role: \"toolbar\",\n dir: this.$props.dir,\n \"aria-label\": this.$props.ariaLabel\n },\n dir: this.$props.dir,\n \"aria-label\": this.$props.ariaLabel,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown\n }\n }, [defaultSlot]);\n },\n methods: {\n getCurrentButtons: function getCurrentButtons() {\n return this.$el && this.$el.querySelectorAll ? Array.from(this.$el.querySelectorAll(this.selectors.join(','))) : [];\n },\n getInternalButtons: function getInternalButtons() {\n return this.$el && this.$el.querySelectorAll ? Array.from(this.$el.querySelectorAll(internalButtons)) : [];\n },\n focusedIndex: function focusedIndex() {\n var focused = this.$el && this.$el.querySelector && this.$el.querySelector(this.focusedSelector);\n return Math.max(0, this.currentButtons.findIndex(function (e) {\n return e === focused;\n }));\n },\n setTabIndex: function setTabIndex(focusedIndex) {\n var tabIndex = this.$props.tabIndex;\n this.currentButtons.forEach(function (button, index) {\n button.tabIndex = index === focusedIndex ? tabIndex : -1;\n });\n this.getInternalButtons().forEach(function (button) {\n button.tabIndex = -1;\n });\n },\n onKeyDown: function onKeyDown(event) {\n if (this.$props.keyboardNavigation === false) {\n return;\n }\n var target = event.target;\n var arrowKey = event.keyCode === Keys.left || event.keyCode === Keys.right;\n if (!arrowKey || event.defaultPrevented || this.currentButtons.findIndex(function (b) {\n return b === target;\n }) === -1) {\n return;\n }\n var focusedIndex = this.focusedIndex();\n if (event.keyCode === Keys.left) {\n this.focusButton(focusedIndex, focusedIndex - 1);\n } else {\n this.focusButton(focusedIndex, focusedIndex + 1);\n }\n },\n focusButton: function focusButton(prevIndex, index) {\n var tabIndex = this.$props.tabIndex;\n var button = this.currentButtons[index];\n if (button) {\n button.tabIndex = tabIndex;\n button.focus();\n var prevButton = this.currentButtons[prevIndex];\n if (prevButton) {\n prevButton.tabIndex = -1;\n }\n }\n },\n onWindowResize: function onWindowResize(event) {\n var element = this.$el;\n if (!element) {\n return;\n }\n var offsetWidth = element.offsetWidth;\n var offsetHeight = element.offsetHeight;\n if (this.offsetWidth !== offsetWidth || this.offsetHeight !== offsetHeight) {\n this.offsetWidth = offsetWidth;\n this.offsetHeight = offsetHeight;\n var newSizes = {\n offsetWidth: this.offsetWidth,\n offsetHeight: this.offsetHeight\n };\n this.$emit('resize', __assign(__assign({\n target: this\n }, newSizes), {\n nativeEvent: event\n }));\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar Toolbar = ToolbarVue2;\nexport { Toolbar, ToolbarVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ToolbarItemVue2 = {\n name: 'KendoToolbarItem',\n methods: {\n element: function element() {\n return this.$el;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-toolbar-item'\n }, [defaultSlot]);\n }\n};\n/**\n * @hidden\n */\nvar ToolbarItem = ToolbarItemVue2;\nexport { ToolbarItem, ToolbarItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nvar ToolbarSeparatorVue2 = {\n name: 'KendoToolbarItem',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"div\", {\n \"class\": \"k-separator\"\n });\n }\n};\n/**\n * Represents the [Kendo UI for Vue ToolbarSeparator component]({% slug overview_toolbar %}). A separator element for the sub-elements of the Toolbar.\n *\n * ```jsx\n * \n * ```\n */\nvar ToolbarSeparator = ToolbarSeparatorVue2;\nexport { ToolbarSeparator, ToolbarSeparatorVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nvar ToolbarSpacerVue2 = {\n name: 'KendoToolbarItem',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"span\", {\n \"class\": \"k-spacer\"\n });\n }\n};\n/**\n * Represents the [Kendo UI for Vue ToolbarSpacer component]({% slug overview_toolbar %}). A spacer element for the sub-elements of the Toolbar.\n *\n * ```jsx\n * \n * ```\n */\nvar ToolbarSpacer = ToolbarSpacerVue2;\nexport { ToolbarSpacer, ToolbarSpacerVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames } from '@progress/kendo-vue-common';\nimport { Button as KButton } from '@progress/kendo-vue-buttons';\nimport { UploadFileStatus } from './interfaces/UploadFileStatus';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, cancel, retry, remove } from './messages/main';\n/**\n * @hidden\n */\nvar UploadListActionButtonVue2 = {\n name: 'KendoVueUploadListActionButton',\n props: {\n progress: Number,\n uid: String,\n status: Number,\n async: Object,\n disabled: Boolean,\n files: Array\n },\n // @ts-ignore\n emits: {\n 'cancel': null,\n 'retry': null,\n 'remove': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n retryFocused: false,\n actionFocused: false\n };\n },\n methods: {\n actionButtonTitle: function actionButtonTitle(status, localizationService) {\n if (status === UploadFileStatus.Uploading) {\n return localizationService.toLanguageString(cancel, messages[cancel]);\n }\n return localizationService.toLanguageString(remove, messages[remove]);\n },\n retryButtonTitle: function retryButtonTitle(localizationService) {\n return localizationService.toLanguageString(retry, messages[retry]);\n },\n buttonClassNames: function buttonClassNames(type) {\n return classNames(this.actionFocused && type === 'action' || this.retryFocused && type === 'retry' ? 'k-focus' : '');\n },\n onRetryFocus: function onRetryFocus() {\n this.retryFocused = true;\n },\n onRetryBlur: function onRetryBlur() {\n this.retryFocused = false;\n },\n onActionFocus: function onActionFocus() {\n this.actionFocused = true;\n },\n onActionBlur: function onActionBlur() {\n this.actionFocused = false;\n },\n onActionClick: function onActionClick() {\n var _a = this.$props,\n status = _a.status,\n uid = _a.uid,\n disabled = _a.disabled;\n if (disabled || status === UploadFileStatus.Removing) {\n return;\n }\n if (status === UploadFileStatus.Uploading) {\n this.$emit('cancel', uid);\n } else {\n this.$emit('remove', uid);\n }\n },\n onRetryClick: function onRetryClick() {\n var _a = this.$props,\n uid = _a.uid,\n disabled = _a.disabled;\n if (disabled) {\n return;\n }\n this.$emit('retry', uid);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n status = _a.status,\n progress = _a.progress;\n var isRetryVisible = status === UploadFileStatus.UploadFailed;\n var isProgressVisible = status === UploadFileStatus.Uploading;\n var isActionHidden = (status === UploadFileStatus.Uploaded || status === UploadFileStatus.Initial) && !this.$props.async.removeUrl;\n var localizationService = provideLocalizationService(this);\n var percent = '%';\n return h(\"div\", {\n \"class\": 'k-upload-actions'\n }, [isProgressVisible ? h(\"span\", {\n \"class\": 'k-upload-pct'\n }, [progress, percent]) : undefined, isRetryVisible ?\n // @ts-ignore\n h(KButton, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n tabindex: -1,\n disabled: this.disabled,\n icon: 'arrow-rotate-cw-small'\n // svgIcon={isProgressVisible ? denyIcon : xIcon}\n ,\n iconClass: 'k-retry',\n ariaLabel: this.retryButtonTitle(localizationService),\n title: this.retryButtonTitle(localizationService)\n },\n tabindex: -1,\n disabled: this.disabled,\n \"class\": this.buttonClassNames('retry'),\n icon: 'arrow-rotate-cw-small',\n iconClass: 'k-retry',\n ariaLabel: this.retryButtonTitle(localizationService),\n title: this.retryButtonTitle(localizationService),\n onFocus: this.onRetryFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.onRetryFocus,\n \"blur\": this.onRetryBlur,\n \"click\": this.onRetryClick\n },\n onBlur: this.onRetryBlur,\n onClick: this.onRetryClick\n }) : undefined, !isActionHidden ?\n // @ts-ignore\n h(KButton, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n fillMode: 'flat',\n tabindex: -1,\n disabled: this.disabled,\n icon: isProgressVisible ? 'deny' : 'x'\n // svgIcon={isProgressVisible ? denyIcon : xIcon}\n ,\n ariaLabel: this.actionButtonTitle(status, localizationService),\n title: this.actionButtonTitle(status, localizationService)\n },\n fillMode: 'flat',\n tabindex: -1,\n disabled: this.disabled,\n \"class\": this.buttonClassNames('action'),\n onFocus: this.onActionFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.onActionFocus,\n \"blur\": this.onActionBlur,\n \"click\": this.onActionClick\n },\n onBlur: this.onActionBlur,\n onClick: this.onActionClick,\n icon: isProgressVisible ? 'deny' : 'x',\n ariaLabel: this.actionButtonTitle(status, localizationService),\n title: this.actionButtonTitle(status, localizationService)\n }) : undefined]);\n }\n};\n/**\n * @hidden\n */\nvar UploadListActionButton = UploadListActionButtonVue2;\nexport { UploadListActionButton, UploadListActionButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames, Icon } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { ProgressBar } from '@progress/kendo-vue-progressbars';\nimport { messages, statusUploaded, statusUploadFailed } from './messages/main';\nimport utils from './utils/utils';\nimport { UploadListActionButton } from './UploadListActionButton';\nimport { fileAudioIcon, fileConfigIcon, fileDataIcon, fileIcon, fileImageIcon, filePdfIcon, filePresentationIcon, fileProgrammingIcon, fileTxtIcon, fileVideoIcon, fileZipIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar UploadListSingleItemVue2 = {\n name: 'KendoVueUploadListSingleItem',\n props: {\n files: Array,\n disabled: Boolean,\n async: Object\n },\n // @ts-ignore\n emits: {\n 'cancel': null,\n 'retry': null,\n 'remove': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onRemove: function onRemove(uid) {\n this.$emit('remove', uid);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n },\n getFileExtension: function getFileExtension(file) {\n return file.extension ? file.extension.substring(1) : '';\n },\n getFileValidationMessage: function getFileValidationMessage(file, isUploadFailed) {\n var localizationService = provideLocalizationService(this);\n var validationMessage = '';\n if (isUploadFailed) {\n validationMessage = localizationService.toLanguageString(statusUploadFailed, messages[statusUploadFailed]);\n } else if (file.validationErrors && file.validationErrors.length > 0) {\n var messageKey = \"upload.\".concat(file.validationErrors[0]);\n validationMessage = localizationService.toLanguageString(messageKey, messages[messageKey]);\n }\n return validationMessage;\n },\n getFileExtensionName: function getFileExtensionName(file) {\n switch (file.extension) {\n case '.png':\n case '.jpg':\n case '.jpeg':\n case '.tiff':\n case '.bmp':\n case '.gif':\n return 'file-image';\n case '.mp3':\n case '.mp4':\n case '.wav':\n return 'file-audio';\n case '.mkv':\n case '.webm':\n case '.flv':\n case '.gifv':\n case '.avi':\n case '.wmv':\n return 'file-video';\n case '.txt':\n return 'file-txt';\n case '.pdf':\n return 'file-pdf';\n case '.ppt':\n case '.pptx':\n return 'file-presentation';\n case '.csv':\n case '.xls':\n case '.xlsx':\n return 'file-data';\n case '.html':\n case '.css':\n case '.js':\n case '.ts':\n return 'file-programming';\n case '.exe':\n return 'file-config';\n case '.zip':\n case '.rar':\n return 'file-zip';\n default:\n return 'file';\n }\n },\n getFileExtensionSVG: function getFileExtensionSVG(file) {\n switch (file.extension) {\n case '.png':\n case '.jpg':\n case '.jpeg':\n case '.tiff':\n case '.bmp':\n case '.gif':\n return fileImageIcon;\n case '.mp3':\n case '.mp4':\n case '.wav':\n return fileAudioIcon;\n case '.mkv':\n case '.webm':\n case '.flv':\n case '.gifv':\n case '.avi':\n case '.wmv':\n return fileVideoIcon;\n case '.txt':\n return fileTxtIcon;\n case '.pdf':\n return filePdfIcon;\n case '.ppt':\n case '.pptx':\n return filePresentationIcon;\n case '.csv':\n case '.xls':\n case '.xlsx':\n return fileDataIcon;\n case '.html':\n case '.css':\n case '.js':\n case '.ts':\n return fileProgrammingIcon;\n case '.exe':\n return fileConfigIcon;\n case '.zip':\n case '.rar':\n return fileZipIcon;\n default:\n return fileIcon;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n files = _a.files,\n disabled = _a.disabled,\n async = _a.async;\n var file = files[0];\n var itemClassName = classNames('k-file-single');\n var _b = utils.getFileStatus([file]),\n isUploaded = _b[1],\n isUploadFailed = _b[2],\n isUploadValidationFailed = _b[3];\n var showProgressBar = !isUploadValidationFailed && !isUploaded && !isUploadFailed;\n var renderValidationError = function renderValidationError(currentFile, isCurrentUploadFailed) {\n return h(\"span\", {\n \"class\": 'k-file-info',\n key: '2'\n }, [h(\"span\", {\n \"class\": 'k-file-name',\n title: currentFile.name,\n attrs: this.v3 ? undefined : {\n title: currentFile.name\n }\n }, [currentFile.name]), h(\"span\", {\n \"class\": 'k-file-validation-message'\n }, [this.getFileValidationMessage(currentFile, isCurrentUploadFailed)])]);\n };\n var renderFileDetails = function renderFileDetails(currentFile) {\n var localizationService = provideLocalizationService(this);\n var successMessage = localizationService.toLanguageString(statusUploaded, messages[statusUploaded]);\n return h(\"span\", {\n \"class\": 'k-file-info',\n key: '2'\n }, [h(\"span\", {\n \"class\": 'k-file-name',\n title: currentFile.name,\n attrs: this.v3 ? undefined : {\n title: currentFile.name\n }\n }, [currentFile.name]), currentFile.progress !== 100 ? h(\"span\", {\n \"class\": 'k-file-size'\n }, [utils.getTotalFilesSizeMessage([currentFile])]) : h(\"span\", {\n \"class\": 'k-file-validation-message'\n }, [successMessage])]);\n };\n return h(\"div\", {\n \"class\": itemClassName\n }, [showProgressBar && h(ProgressBar, {\n value: file.progress || 0,\n attrs: this.v3 ? undefined : {\n value: file.progress || 0,\n labelVisible: false\n },\n labelVisible: false\n }), h(\"span\", {\n \"class\": 'k-file-icon-wrapper',\n key: '1'\n }, [h(Icon, {\n name: this.getFileExtensionName(file),\n attrs: this.v3 ? undefined : {\n name: this.getFileExtensionName(file),\n icon: this.getFileExtensionSVG(file),\n size: 'xxxlarge'\n },\n icon: this.getFileExtensionSVG(file),\n size: 'xxxlarge',\n \"class\": 'k-file-icon'\n }), h(\"span\", {\n \"class\": 'k-file-state'\n })]), isUploadValidationFailed || isUploadFailed ? renderValidationError.call(this, file, isUploadFailed) : renderFileDetails.call(this, file),\n // @ts-ignore function children\n h(UploadListActionButton, {\n uid: file.uid,\n attrs: this.v3 ? undefined : {\n uid: file.uid,\n status: file.status,\n progress: file.progress,\n files: files,\n disabled: disabled,\n async: async\n },\n status: file.status,\n progress: file.progress,\n files: files,\n disabled: disabled,\n async: async,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry\n },\n onRemove: this.onRemove,\n onRetry: this.onRetry\n })]);\n }\n};\n/**\n * @hidden\n */\nvar UploadListSingleItem = UploadListSingleItemVue2;\nexport { UploadListSingleItem, UploadListSingleItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames, Icon } from '@progress/kendo-vue-common';\nimport utils from './utils/utils';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, total, files as filesM, statusUploadFailed, statusUploaded } from './messages/main';\nimport { UploadListActionButton } from './UploadListActionButton';\nimport { ProgressBar } from '@progress/kendo-vue-progressbars';\nimport { copyIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar UploadListMultiItemVue2 = {\n name: 'KendoVueUploadListMultiItem',\n props: {\n files: Array,\n disabled: Boolean,\n async: Object\n },\n // @ts-ignore\n emits: {\n 'cancel': null,\n 'retry': null,\n 'remove': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onRemove: function onRemove(uid) {\n this.$emit('remove', uid);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n },\n getFileValidationMessage: function getFileValidationMessage(file) {\n var localizationService = provideLocalizationService(this);\n var validationMessage = '';\n if (file.validationErrors && file.validationErrors.length > 0) {\n var messageKey = \"upload.\".concat(file.validationErrors[0]);\n validationMessage = localizationService.toLanguageString(messageKey, messages[messageKey]);\n }\n return validationMessage;\n },\n progress: function progress() {\n var files = this.$props.files;\n var sum = 0;\n files.forEach(function (file) {\n sum += file.progress || 0;\n });\n return sum / files.length;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n files = _a.files,\n disabled = _a.disabled,\n async = _a.async;\n var itemClassName = classNames('k-file-multiple');\n var _b = utils.getFileStatus(files),\n isUploaded = _b[1],\n isUploadFailed = _b[2],\n isUploadValidationFailed = _b[3];\n var localizationService = provideLocalizationService(this);\n var totalMessage = localizationService.toLanguageString(total, messages[total]);\n var filesMessage = localizationService.toLanguageString(filesM, messages[filesM]);\n var uploadFailedMessage = localizationService.toLanguageString(statusUploadFailed, messages[statusUploadFailed]);\n var successMessage = localizationService.toLanguageString(statusUploaded, messages[statusUploaded]);\n var progress = this.progress();\n var showProgressBar = !isUploadValidationFailed && !isUploaded && !isUploadFailed;\n var mapFiles = function mapFiles() {\n return files.map(function (file) {\n return h(\"span\", {\n key: file.name,\n \"class\": 'k-file-info'\n }, [h(\"span\", {\n \"class\": 'k-file-name',\n title: file.name,\n attrs: this.v3 ? undefined : {\n title: file.name\n }\n }, [file.name]), utils.fileHasValidationErrors(file) ? h(\"span\", {\n \"class\": 'k-file-validation-message'\n }, [this.getFileValidationMessage(file)]) : h(\"span\", {\n key: \"\".concat(file.name, \"-size\"),\n \"class\": 'k-file-size'\n }, [utils.getTotalFilesSizeMessage([file])])]);\n }, this);\n };\n return h(\"div\", {\n \"class\": itemClassName\n }, [showProgressBar && h(ProgressBar, {\n value: progress || 0,\n attrs: this.v3 ? undefined : {\n value: progress || 0,\n labelVisible: false\n },\n labelVisible: false\n }), h(\"span\", {\n \"class\": 'k-file-icon-wrapper'\n }, [h(Icon, {\n name: 'copy',\n attrs: this.v3 ? undefined : {\n name: 'copy',\n icon: copyIcon,\n size: 'xxxlarge'\n },\n icon: copyIcon,\n size: 'xxxlarge',\n \"class\": 'k-file-icon'\n })]), h(\"span\", {\n \"class\": \"k-multiple-files-wrapper\"\n }, [mapFiles.call(this), !isUploadFailed ? progress !== 100 ? h(\"span\", {\n \"class\": 'k-file-summary'\n }, [\"\".concat(totalMessage, \": \").concat(files.length, \" \").concat(filesMessage, \", \").concat(utils.getTotalFilesSizeMessage(files))]) : h(\"span\", {\n \"class\": 'k-file-summary k-text-success'\n }, [\"\".concat(files.length, \" \").concat(successMessage)]) : h(\"span\", {\n \"class\": 'k-file-validation-message'\n }, [\"\".concat(files.length, \" \").concat(uploadFailedMessage)])]),\n // @ts-ignore function children\n h(UploadListActionButton, {\n uid: files[0].uid,\n attrs: this.v3 ? undefined : {\n uid: files[0].uid,\n status: files[0].status,\n progress: progress,\n files: files,\n disabled: disabled,\n async: async\n },\n status: files[0].status,\n progress: progress,\n files: files,\n disabled: disabled,\n async: async,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry\n },\n onRemove: this.onRemove,\n onRetry: this.onRetry\n })]);\n }\n};\n/**\n * @hidden\n */\nvar UploadListMultiItem = UploadListMultiItemVue2;\nexport { UploadListMultiItem, UploadListMultiItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { canUseDOM, classNames, getTemplate, setRef } from '@progress/kendo-vue-common';\nimport { UploadFileStatus } from './interfaces/UploadFileStatus';\nimport { UploadListSingleItem } from './UploadListSingleItem';\nimport { UploadListMultiItem } from './UploadListMultiItem';\nimport utils from './utils/utils';\n/**\n * @hidden\n */\nvar UploadListGroupVue2 = {\n name: 'KendoVueUploadListGroup',\n props: {\n files: Array,\n async: Object,\n disabled: Boolean,\n navigationIndex: Number,\n list: [String, Function, Object],\n index: Number\n },\n // @ts-ignore\n emits: {\n 'cancel': null,\n 'click': null,\n 'retry': null,\n 'remove': null\n },\n mounted: function mounted() {\n this._element = this.v3 ? this.elementRef : this.$refs.element;\n },\n updated: function updated() {\n var _a = this.$props,\n navigationIndex = _a.navigationIndex,\n index = _a.index;\n if (navigationIndex === index && this._element && canUseDOM && document.activeElement !== this._element) {\n this._element.focus();\n }\n },\n methods: {\n onClick: function onClick() {\n this.$emit('click', this.$props.index);\n },\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onRemove: function onRemove(uid) {\n this.$emit('remove', uid);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var elementRef = ref(null);\n return {\n v3: v3,\n elementRef: elementRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n files = _a.files,\n async = _a.async,\n disabled = _a.disabled,\n navigationIndex = _a.navigationIndex,\n index = _a.index,\n list = _a.list;\n var firstFile = files[0];\n var isFileSuccess = firstFile.status === UploadFileStatus.Uploaded || firstFile.status === UploadFileStatus.Initial;\n var validationErrors = utils.filesHaveValidationErrors(files);\n var actionFailed = firstFile.status === UploadFileStatus.UploadFailed || firstFile.status === UploadFileStatus.RemoveFailed;\n var liClassName = classNames('k-file', {\n 'k-file-invalid': validationErrors,\n 'k-file-error': actionFailed,\n 'k-file-progress': firstFile.status === UploadFileStatus.Uploading,\n 'k-file-success': isFileSuccess,\n 'k-focus': navigationIndex === index\n });\n var itemComponent;\n var defaultItemRendering = files.length === 1 ?\n // @ts-ignore\n h(UploadListSingleItem, {\n files: files,\n attrs: this.v3 ? undefined : {\n files: files,\n async: async,\n disabled: disabled\n },\n async: async,\n disabled: disabled,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry\n },\n onRemove: this.onRemove,\n onRetry: this.onRetry\n }) :\n // @ts-ignore\n h(UploadListMultiItem, {\n files: files,\n attrs: this.v3 ? undefined : {\n files: files,\n async: async,\n disabled: disabled\n },\n async: async,\n disabled: disabled,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry\n },\n onRemove: this.onRemove,\n onRetry: this.onRetry\n });\n itemComponent = getTemplate.call(this, {\n h: h,\n template: this.$props.list,\n defaultRendering: defaultItemRendering,\n additionalProps: this.$props,\n additionalListeners: {\n retry: this.onRetry,\n remove: this.onRemove,\n cancel: this.onCancel\n }\n });\n return h(\"li\", {\n ref: setRef(this, 'element'),\n \"class\": liClassName,\n \"data-uid\": firstFile.uid,\n attrs: this.v3 ? undefined : {\n \"data-uid\": firstFile.uid,\n tabindex: -1\n },\n tabindex: -1,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick\n }\n }, [itemComponent]);\n }\n};\n/**\n * @hidden\n */\nvar UploadListGroup = UploadListGroupVue2;\nexport { UploadListGroup, UploadListGroupVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames } from '@progress/kendo-vue-common';\nimport { UploadListGroup } from './UploadListGroup';\n/**\n * @hidden\n */\nvar UploadListVue2 = {\n name: 'KendoVueUploadList',\n props: {\n groupedFiles: Object,\n async: Object,\n disabled: Boolean,\n navigationIndex: {\n type: Number,\n default: undefined\n },\n list: [String, Function, Object]\n },\n // @ts-ignore\n emits: {\n 'cancel': null,\n 'click': null,\n 'retry': null,\n 'remove': null\n },\n methods: {\n onClick: function onClick(navIndex) {\n this.$emit('click', navIndex);\n },\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onRemove: function onRemove(uid) {\n this.$emit('remove', uid);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n groupedFiles = _a.groupedFiles,\n navigationIndex = _a.navigationIndex,\n async = _a.async,\n disabled = _a.disabled,\n list = _a.list;\n var ulClassName = classNames('k-upload-files', 'k-reset');\n return h(\"ul\", {\n \"class\": ulClassName\n }, [Object.keys(groupedFiles).map(function (key, index) {\n var files = groupedFiles[key];\n return (\n // @ts-ignore function children\n h(UploadListGroup, {\n key: key,\n files: files,\n attrs: this.v3 ? undefined : {\n files: files,\n index: index,\n navigationIndex: navigationIndex,\n async: async,\n disabled: disabled,\n list: list\n },\n index: index,\n navigationIndex: navigationIndex,\n async: async,\n disabled: disabled,\n list: list,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"click\": this.onClick,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry\n },\n onClick: this.onClick,\n onRemove: this.onRemove,\n onRetry: this.onRetry\n })\n );\n }, this)]);\n }\n};\n/**\n * @hidden\n */\nvar UploadList = UploadListVue2;\nexport { UploadList, UploadListVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { Button } from '@progress/kendo-vue-buttons';\nimport { messages, clearSelectedFiles, uploadSelectedFiles } from './messages/main';\n/**\n * @hidden\n */\nvar UploadActionButtonsVue2 = {\n name: 'KendoVueUploadActionButtons',\n props: {\n disabled: Boolean,\n navigationIndex: Number,\n clearButtonIndex: Number,\n uploadButtonIndex: Number,\n actionsLayout: String\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n emits: {\n 'clear': null,\n 'click': null,\n 'upload': null\n },\n created: function created() {\n this._prevNavigationIndex = undefined;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var uploadElementRef = ref(null);\n var clearElementRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n uploadElementRef: uploadElementRef,\n clearElementRef: clearElementRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n mounted: function mounted() {\n this._clearElement = this.v3 ? this.clearElementRef : this.$refs.clearElement;\n this._uploadElement = this.v3 ? this.uploadElementRef : this.$refs.uploadElement;\n },\n watch: {\n navigationIndex: function navigationIndex(_newNavigationIndex, oldNavigationIndex) {\n this._prevNavigationIndex = oldNavigationIndex;\n }\n },\n updated: function updated() {\n var _a = this.$props,\n navigationIndex = _a.navigationIndex,\n clearButtonIndex = _a.clearButtonIndex,\n uploadButtonIndex = _a.uploadButtonIndex;\n if (navigationIndex !== this._prevNavigationIndex) {\n if (navigationIndex === clearButtonIndex && this._clearElement) {\n this._clearElement.focus();\n }\n if (navigationIndex === uploadButtonIndex && this._uploadElement) {\n this._uploadElement.focus();\n }\n }\n },\n methods: {\n onClearClick: function onClearClick() {\n if (this.$props.disabled) {\n return;\n }\n this.$emit('clear');\n },\n onUploadClick: function onUploadClick() {\n if (this.$props.disabled) {\n return;\n }\n this.$emit('click', this.$props.uploadButtonIndex);\n this.$emit('upload');\n }\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n navigationIndex = _a.navigationIndex,\n clearButtonIndex = _a.clearButtonIndex,\n uploadButtonIndex = _a.uploadButtonIndex,\n actionsLayout = _a.actionsLayout;\n var localizationService = provideLocalizationService(this);\n var wrapperClasses = classNames('k-actions', {\n 'k-actions-start': actionsLayout === 'start',\n 'k-actions-center': actionsLayout === 'center',\n 'k-actions-end': actionsLayout === 'end',\n 'k-actions-stretched': actionsLayout === 'stretched'\n });\n var clearButtonClasses = classNames('k-clear-selected', navigationIndex === clearButtonIndex ? 'k-focus' : '');\n var uploadButtonClasses = classNames('k-upload-selected', navigationIndex === uploadButtonIndex ? 'k-focus' : '');\n return h(\"div\", {\n \"class\": wrapperClasses\n }, [\n // @ts-ignore function children\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n disabled: disabled,\n tabIndex: -1\n },\n ref: this.v3 ? function (el) {\n _this.clearElementRef = el;\n } : 'clearElement',\n disabled: disabled,\n \"class\": clearButtonClasses,\n tabIndex: -1,\n onClick: this.onClearClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClearClick\n }\n }, this.v3 ? function () {\n return [localizationService.toLanguageString(clearSelectedFiles, messages[clearSelectedFiles])];\n } : [localizationService.toLanguageString(clearSelectedFiles, messages[clearSelectedFiles])]),\n // @ts-ignore function children\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n disabled: disabled,\n themeColor: 'primary',\n tabIndex: -1\n },\n ref: this.v3 ? function (el) {\n _this.uploadElementRef = el;\n } : 'uploadElement',\n disabled: disabled,\n themeColor: 'primary',\n \"class\": uploadButtonClasses,\n tabIndex: -1,\n onClick: this.onUploadClick,\n on: this.v3 ? undefined : {\n \"click\": this.onUploadClick\n }\n }, this.v3 ? function () {\n return [localizationService.toLanguageString(uploadSelectedFiles, messages[uploadSelectedFiles])];\n } : [localizationService.toLanguageString(uploadSelectedFiles, messages[uploadSelectedFiles])])]);\n }\n};\n/**\n * @hidden\n */\nvar UploadActionButtons = UploadActionButtonsVue2;\nexport { UploadActionButtons, UploadActionButtonsVue2 };","// @ts-ignore\nimport { setRef } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { selectTitle, selectNoFilesTitle, select, messages } from './messages/main';\nvar CHROME_REGEX = /(chrome)[ \\/]([\\w.]+)/i;\nvar SAFARI_REGEX = /(webkit)[ \\/]([\\w.]+)/i;\n/**\n * @hidden\n */\nvar UploadInputVue2 = {\n name: 'KendoVueUploadInput',\n props: {\n async: Object,\n id: String,\n multiple: {\n type: Boolean,\n default: undefined\n },\n disabled: {\n type: Boolean,\n default: undefined\n },\n accept: {\n type: String,\n default: undefined\n },\n hasFiles: {\n type: Boolean,\n default: false\n },\n ariaLabelledBy: {\n type: String,\n default: undefined\n },\n ariaDescribedBy: {\n type: String,\n default: undefined\n }\n },\n // @ts-ignore\n emits: {\n 'mousedown': null,\n 'add': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n mounted: function mounted() {\n this._input = this.v3 ? this.inputRef : this.$refs.input;\n },\n methods: {\n onMouseDown: function onMouseDown(e) {\n this.$emit('mousedown', e);\n },\n onAdd: function onAdd() {\n var ua = navigator.userAgent;\n var input = this._input;\n if (input) {\n if (input.files) {\n this.$emit('add', input.files);\n }\n /*\n Chrome and Internet Explorer do not trigger a `change` event\n when a file with the same name is selected a number of consecutive times.\n As a workaround, clear the input value after handling the file.\n */\n if (!(!ua.match(CHROME_REGEX) && ua.match(SAFARI_REGEX))) {\n input.type = '';\n input.type = 'file';\n }\n }\n },\n actionElement: function actionElement() {\n return this._input;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n multiple = _a.multiple,\n async = _a.async,\n disabled = _a.disabled,\n accept = _a.accept,\n hasFiles = _a.hasFiles,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy;\n var localizationService = provideLocalizationService(this);\n var message = hasFiles ? selectTitle : selectNoFilesTitle;\n var selectMessage = localizationService.toLanguageString(message, messages[message]);\n var selectLabel = localizationService.toLanguageString(select, messages[select]);\n return h(\"input\", {\n ref: setRef(this, 'input'),\n id: this.id,\n attrs: this.v3 ? undefined : {\n id: this.id,\n autocomplete: 'off',\n name: async.saveField,\n accept: accept,\n type: 'file',\n tabindex: -1,\n multiple: multiple,\n disabled: disabled,\n title: selectMessage,\n \"aria-label\": ariaLabelledBy !== undefined ? undefined : selectLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n },\n \"class\": 'k-hidden',\n autocomplete: 'off',\n name: async.saveField,\n accept: accept,\n type: 'file',\n tabindex: -1,\n multiple: multiple,\n disabled: disabled,\n onChange: this.onAdd,\n on: this.v3 ? undefined : {\n \"change\": this.onAdd,\n \"mousedown\": this.onMouseDown\n },\n onMousedown: this.onMouseDown,\n title: selectMessage,\n \"aria-label\": ariaLabelledBy !== undefined ? undefined : selectLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n });\n }\n};\n/**\n * @hidden\n */\nvar UploadInput = UploadInputVue2;\nexport { UploadInput, UploadInputVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames, guid, setRef } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, select } from './messages/main';\nimport { UploadInput } from './UploadInput';\nimport { Button } from '@progress/kendo-vue-buttons';\n/**\n * @hidden\n */\nvar UploadAddButtonVue2 = {\n name: 'KendoVueUploadAddButton',\n props: {\n addButtonIndex: Number,\n navigationIndex: Number,\n notFocusedIndex: Number,\n tabIndex: Number,\n async: Object,\n multiple: Boolean,\n disabled: Boolean,\n accept: String,\n id: String\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n emits: {\n 'add': null,\n 'click': null\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var elementRef = ref(null);\n var uploadInputRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n elementRef: elementRef,\n uploadInputRef: uploadInputRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n created: function created() {\n this.uploadInputId = guid();\n },\n mounted: function mounted() {\n this.element = this.v3 ? this.elementRef : this.$refs.element;\n this.uploadInput = this.v3 ? this.uploadInputRef : this.$refs.uploadInput;\n },\n watch: {\n navigationIndex: function navigationIndex(_newNavigationIndex, oldNavigationIndex) {\n this._prevNavigationIndex = oldNavigationIndex;\n }\n },\n updated: function updated() {\n var _a = this.$props,\n navigationIndex = _a.navigationIndex,\n addButtonIndex = _a.addButtonIndex,\n notFocusedIndex = _a.notFocusedIndex;\n if (navigationIndex !== this._prevNavigationIndex && this._prevNavigationIndex !== notFocusedIndex && navigationIndex === addButtonIndex && this.element) {\n this.element.focus();\n }\n },\n methods: {\n focus: function focus() {\n if (this.element) {\n this.element.focus();\n }\n },\n onClick: function onClick() {\n if (this.actionElement()) {\n this.actionElement().click();\n }\n this.$emit('click', this.$props.addButtonIndex);\n },\n onAdd: function onAdd(files) {\n this.$emit('add', files);\n },\n onInputMouseDown: function onInputMouseDown(e) {\n if (this.element) {\n e.preventDefault();\n this.element.focus();\n }\n },\n actionElement: function actionElement() {\n if (this.uploadInput) {\n return this.uploadInput.actionElement();\n }\n }\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n navigationIndex = _a.navigationIndex,\n addButtonIndex = _a.addButtonIndex,\n tabIndex = _a.tabIndex,\n id = _a.id,\n async = _a.async,\n multiple = _a.multiple,\n disabled = _a.disabled,\n accept = _a.accept;\n var localizationService = provideLocalizationService(this);\n var selectMessage = localizationService.toLanguageString(select, messages[select]);\n var buttonClassName = classNames('k-upload-button', navigationIndex === addButtonIndex ? 'k-focus' : '');\n return h(\"div\", {\n \"class\": \"k-upload-button-wrap\"\n }, [\n // @ts-ignore function children\n h(Button, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: 'button',\n type: \"button\",\n disabled: disabled,\n ariaLabel: selectMessage,\n tabindex: tabIndex\n },\n ref: setRef(this, 'element'),\n role: 'button',\n type: \"button\",\n disabled: disabled,\n ariaLabel: selectMessage,\n \"class\": buttonClassName,\n tabindex: tabIndex,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick\n }\n }, this.v3 ? function () {\n return [selectMessage];\n } : [selectMessage]),\n // @ts-ignore function children\n h(UploadInput, {\n id: this.uploadInputId,\n attrs: this.v3 ? undefined : {\n id: this.uploadInputId,\n async: async,\n multiple: multiple,\n disabled: disabled,\n accept: accept\n },\n async: async,\n multiple: multiple,\n disabled: disabled,\n accept: accept,\n onMousedown: this.onInputMouseDown,\n on: this.v3 ? undefined : {\n \"mousedown\": this.onInputMouseDown,\n \"add\": this.onAdd\n },\n onAdd: this.onAdd,\n ref: this.v3 ? function (el) {\n _this.uploadInputRef = el;\n } : 'uploadInput'\n })]);\n }\n};\n/**\n * @hidden\n */\nvar UploadAddButton = UploadAddButtonVue2;\nexport { UploadAddButton, UploadAddButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar inject = allVue.inject;\nimport { classNames, Icon } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, headerStatusUploading, headerStatusUploaded } from './messages/main';\nimport { checkIcon, exclamationCircleIcon, uploadIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar UploadStatusVue2 = {\n props: {\n isUploading: Boolean,\n isUploaded: Boolean,\n isUploadFailed: Boolean\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n isUploading = _a.isUploading,\n isUploaded = _a.isUploaded,\n isUploadFailed = _a.isUploadFailed;\n var statusText = '';\n var localizationService = provideLocalizationService(this);\n if (isUploading) {\n statusText = localizationService.toLanguageString(headerStatusUploading, messages[headerStatusUploading]);\n } else if (isUploaded || isUploadFailed) {\n statusText = localizationService.toLanguageString(headerStatusUploaded, messages[headerStatusUploaded]);\n }\n return h(\"div\", {\n \"class\": classNames('k-upload-status')\n }, [h(Icon, {\n name: !isUploading && !isUploadFailed && isUploaded ? 'check' : !isUploading && isUploadFailed ? 'exclamation-circle' : isUploading ? 'upload' : '',\n attrs: this.v3 ? undefined : {\n name: !isUploading && !isUploadFailed && isUploaded ? 'check' : !isUploading && isUploadFailed ? 'exclamation-circle' : isUploading ? 'upload' : '',\n icon: !isUploading && !isUploadFailed && isUploaded ? checkIcon : !isUploading && isUploadFailed ? exclamationCircleIcon : isUploading ? uploadIcon : {}\n },\n icon: !isUploading && !isUploadFailed && isUploaded ? checkIcon : !isUploading && isUploadFailed ? exclamationCircleIcon : isUploading ? uploadIcon : {}\n }), statusText]);\n }\n};\n/**\n * @hidden\n */\nvar UploadStatus = UploadStatusVue2;\nexport { UploadStatus, UploadStatusVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames } from '@progress/kendo-vue-common';\nimport { UploadAddButton } from './UploadAddButton';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, dropFilesHere } from './messages/main';\nimport utils from './utils/utils';\nimport { UploadStatus } from './UploadStatus';\n/**\n * @hidden\n */\nvar TIME_TO_CHECK_DRAG = 100;\n/**\n * @hidden\n */\nvar UploadDropZoneVue2 = {\n name: 'KendoVueUploadDropZone',\n props: {\n addButtonIndex: Number,\n async: Object,\n multiple: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n showFileList: Boolean,\n showActionButtons: Boolean,\n actionsLayout: {\n type: String,\n default: function _default() {\n return 'end';\n }\n },\n tabIndex: Number,\n accept: String,\n groupedFiles: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n navigationIndex: Number,\n notFocusedIndex: Number,\n list: [String, Function, Object],\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n fileGroup: Object\n },\n // @ts-ignore\n emits: {\n 'add': null,\n 'click': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n currentDocumentActive: false,\n currentElementActive: false\n };\n },\n created: function created() {\n this.currentElementActive = false;\n },\n mounted: function mounted() {\n this.uploadAddButton = this.v3 ? this.uploadAddButtonRef : this.$refs.uploadAddButton;\n document.addEventListener('dragenter', this.onDocumentDragEnter);\n document.addEventListener('dragover', this.onDocumentDragOver);\n },\n destroyed: !!isV3 ? undefined : function () {\n document.removeEventListener('dragenter', this.onDocumentDragEnter);\n document.removeEventListener('dragover', this.onDocumentDragOver);\n },\n // @ts-ignore\n unmounted: function unmounted() {\n document.removeEventListener('dragenter', this.onDocumentDragEnter);\n document.removeEventListener('dragover', this.onDocumentDragOver);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var uploadAddButtonRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n uploadAddButtonRef: uploadAddButtonRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n computed: {\n dropZoneClasses: function dropZoneClasses() {\n return {\n 'k-dropzone': true,\n 'k-upload-dropzone': true,\n 'k-active': this.currentDocumentActive,\n 'k-hover': this.currentElementActive\n };\n }\n },\n methods: {\n actionElement: function actionElement() {\n if (this.uploadAddButton) {\n return this.uploadAddButton.uploadInput;\n }\n },\n focus: function focus() {\n if (this.uploadAddButton) {\n return this.uploadAddButton.focus();\n }\n },\n onDocumentDragEnter: function onDocumentDragEnter() {\n var _this = this;\n if (!this.currentDocumentActive) {\n this.currentDocumentActive = true;\n var documentInterval = function documentInterval() {\n if (_this.isDragOver(_this._lastDocumentDragOver)) {\n _this.currentDocumentActive = false;\n clearInterval(_this._documentInterval);\n _this._documentInterval = null;\n _this._lastDocumentDragOver = null;\n }\n };\n this._documentInterval = setInterval(documentInterval, TIME_TO_CHECK_DRAG);\n }\n },\n onDocumentDragOver: function onDocumentDragOver() {\n this._lastDocumentDragOver = new Date();\n },\n onElementDragEnter: function onElementDragEnter() {\n var _this = this;\n if (!this.currentElementActive) {\n this.currentElementActive = true;\n var elementInterval = function elementInterval() {\n if (_this.isDragOver(_this._lastElementDragOver)) {\n _this.currentElementActive = false;\n clearInterval(_this._elementInterval);\n _this._elementInterval = null;\n _this._lastElementDragOver = null;\n }\n };\n this._elementInterval = setInterval(elementInterval, TIME_TO_CHECK_DRAG);\n }\n },\n onElementDragOver: function onElementDragOver(event) {\n event.preventDefault();\n this._lastElementDragOver = new Date();\n },\n onDrop: function onDrop(event) {\n event.preventDefault();\n var droppedFiles = event.dataTransfer.files;\n if (droppedFiles.length > 0 && !this.$props.disabled) {\n this.$emit('add', droppedFiles);\n }\n },\n isDragOver: function isDragOver(prevDate) {\n return new Date().getTime() - (prevDate || new Date()).getTime() > TIME_TO_CHECK_DRAG;\n },\n onClick: function onClick(eventIndex) {\n this.$emit('click', eventIndex);\n },\n onAdd: function onAdd(files) {\n this.$emit('add', files);\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n multiple = _a.multiple,\n disabled = _a.disabled,\n tabIndex = _a.tabIndex,\n fileGroup = _a.fileGroup,\n accept = _a.accept,\n navigationIndex = _a.navigationIndex,\n notFocusedIndex = _a.notFocusedIndex,\n id = _a.id,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy;\n var localizationService = provideLocalizationService(this);\n var dropFilesMessage = localizationService.toLanguageString(dropFilesHere, messages[dropFilesHere]);\n var _b = utils.getFileStatus(fileGroup),\n isUploading = _b[0],\n isUploaded = _b[1],\n isUploadFailed = _b[2],\n isUploadValidationFailed = _b[3];\n var dropZoneClassName = classNames('k-dropzone-hint', {\n // Unsure about that, since it hides the \"Drop Files Message\" when we remove all uploaded components.\n // 'k-hidden': this.isDragged && !this.elementActive\n });\n var addButtonComponent = function addButtonComponent() {\n var _this = this;\n return (\n // @ts-ignore function children\n h(UploadAddButton, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n accept: accept,\n async: this.async,\n addButtonIndex: this.addButtonIndex,\n navigationIndex: navigationIndex,\n notFocusedIndex: notFocusedIndex,\n tabIndex: tabIndex,\n multiple: multiple,\n disabled: disabled\n },\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n ref: this.v3 ? function (el) {\n _this.uploadAddButtonRef = el;\n } : 'uploadAddButton',\n accept: accept,\n async: this.async,\n addButtonIndex: this.addButtonIndex,\n navigationIndex: navigationIndex,\n notFocusedIndex: notFocusedIndex,\n tabIndex: tabIndex,\n multiple: multiple,\n disabled: disabled,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick,\n \"add\": this.onAdd\n },\n onAdd: this.onAdd\n })\n );\n };\n return h(\"div\", {\n \"class\": this.dropZoneClasses,\n onDrop: this.onDrop,\n on: this.v3 ? undefined : {\n \"drop\": this.onDrop,\n \"dragenter\": this.onElementDragEnter,\n \"dragover\": this.onElementDragOver\n },\n onDragenter: this.onElementDragEnter,\n onDragover: this.onElementDragOver\n }, [addButtonComponent.call(this), isUploading || isUploaded || isUploadFailed || isUploadValidationFailed ?\n // @ts-ignore function children\n h(UploadStatus, {\n isUploading: isUploading,\n attrs: this.v3 ? undefined : {\n isUploading: isUploading,\n isUploaded: isUploaded,\n isUploadFailed: isUploadFailed\n },\n isUploaded: isUploaded,\n isUploadFailed: isUploadFailed\n }) : h(\"div\", {\n \"class\": dropZoneClassName\n }, [dropFilesMessage])]);\n }\n};\n/**\n * @hidden\n */\nvar UploadDropZone = UploadDropZoneVue2;\nexport { UploadDropZone, UploadDropZoneVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, setRef } from '@progress/kendo-vue-common';\nimport { UploadList } from './UploadList';\nimport { UploadActionButtons } from './UploadActionButtons';\nimport { UploadDropZone } from './UploadDropZone';\nvar ADD_BUTTON_NAV_INDEX = -1;\n/**\n * @hidden\n */\nvar UploadUIVue2 = {\n name: 'KendoVueUploadUI',\n props: {\n async: Object,\n className: String,\n multiple: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n showFileList: Boolean,\n showActionButtons: Boolean,\n actionsLayout: {\n type: String,\n default: function _default() {\n return 'end';\n }\n },\n tabIndex: Number,\n accept: String,\n groupedFiles: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n navigationIndex: Number,\n notFocusedIndex: Number,\n list: [String, Function, Object],\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n computed: {\n groupsCount: function groupsCount() {\n return Object.keys(this.$props.groupedFiles).length;\n },\n lastGroupIndex: function lastGroupIndex() {\n return this.groupsCount - 1;\n },\n addButtonIndex: function addButtonIndex() {\n return ADD_BUTTON_NAV_INDEX;\n },\n clearButtonIndex: function clearButtonIndex() {\n return this.lastGroupIndex + 1;\n },\n uploadButtonIndex: function uploadButtonIndex() {\n return this.lastGroupIndex + 2;\n },\n isRtl: function isRtl() {\n return this._container && getComputedStyle(this._container).direction === 'rtl' || false;\n }\n },\n methods: {\n actionElement: function actionElement() {\n if (this.uploadDropZone) {\n return this.uploadDropZone.actionElement();\n }\n },\n focus: function focus() {\n if (this.uploadDropZone) {\n return this.uploadDropZone.focus();\n }\n },\n onAdd: function onAdd(files) {\n this.$emit('add', files);\n },\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n },\n onClear: function onClear() {\n this.$emit('clear');\n },\n onUpload: function onUpload() {\n this.$emit('upload');\n },\n onRemove: function onRemove(uid) {\n this.$emit('remove', uid);\n },\n onKeyDown: function onKeyDown(event) {\n this.$emit('keydown', event, this.isRtl);\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.$emit('blur', event);\n },\n onClick: function onClick(navIndex) {\n this.$emit('click', navIndex);\n }\n },\n // @ts-ignore\n emits: {\n 'add': null,\n 'retry': null,\n 'cancel': null,\n 'clear': null,\n 'upload': null,\n 'remove': null,\n 'keydown': null,\n 'click': null,\n 'focus': null,\n 'blur': null\n },\n mounted: function mounted() {\n this._container = this.v3 ? this.containerRef : this.$refs.container;\n this.uploadDropZone = this.v3 ? this.uploadDropZoneRef : this.$refs.uploadDropZone;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var containerRef = ref(null);\n var uploadDropZoneRef = ref(null);\n return {\n v3: v3,\n containerRef: containerRef,\n uploadDropZoneRef: uploadDropZoneRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n multiple = _a.multiple,\n disabled = _a.disabled,\n tabIndex = _a.tabIndex,\n accept = _a.accept,\n showFileList = _a.showFileList,\n groupedFiles = _a.groupedFiles,\n navigationIndex = _a.navigationIndex,\n showActionButtons = _a.showActionButtons,\n actionsLayout = _a.actionsLayout,\n notFocusedIndex = _a.notFocusedIndex,\n list = _a.list,\n id = _a.id,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy,\n async = _a.async;\n var className = classNames('k-upload', 'k-upload-async', this.$props.className, disabled ? 'k-disabled' : '');\n return h(\"div\", {\n ref: setRef(this, 'container'),\n \"class\": className,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focus\": this.onFocus,\n \"blur\": this.onBlur\n },\n onFocus: this.onFocus,\n onBlur: this.onBlur\n }, [\n // @ts-ignore function children\n h(UploadDropZone, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n accept: accept,\n async: async,\n addButtonIndex: this.addButtonIndex,\n navigationIndex: navigationIndex,\n notFocusedIndex: notFocusedIndex,\n tabIndex: tabIndex,\n multiple: multiple,\n fileGroup: groupedFiles,\n disabled: disabled\n },\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n ref: this.v3 ? function (el) {\n _this.uploadDropZoneRef = el;\n } : 'uploadDropZone',\n accept: accept,\n async: async,\n addButtonIndex: this.addButtonIndex,\n navigationIndex: navigationIndex,\n notFocusedIndex: notFocusedIndex,\n tabIndex: tabIndex,\n multiple: multiple,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick,\n \"add\": this.onAdd\n },\n onAdd: this.onAdd,\n fileGroup: groupedFiles,\n disabled: disabled\n }), showFileList ?\n // @ts-ignore function children\n h(UploadList, {\n groupedFiles: groupedFiles,\n attrs: this.v3 ? undefined : {\n groupedFiles: groupedFiles,\n disabled: disabled,\n async: async,\n navigationIndex: navigationIndex,\n list: list\n },\n disabled: disabled,\n async: async,\n navigationIndex: navigationIndex,\n list: list,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry,\n \"click\": this.onClick\n },\n onRemove: this.onRemove,\n onRetry: this.onRetry,\n onClick: this.onClick\n }) : undefined, showActionButtons ?\n // @ts-ignore function children\n h(UploadActionButtons, {\n disabled: disabled,\n attrs: this.v3 ? undefined : {\n disabled: disabled,\n navigationIndex: navigationIndex,\n clearButtonIndex: this.clearButtonIndex,\n uploadButtonIndex: this.uploadButtonIndex,\n actionsLayout: actionsLayout\n },\n navigationIndex: navigationIndex,\n clearButtonIndex: this.clearButtonIndex,\n uploadButtonIndex: this.uploadButtonIndex,\n actionsLayout: actionsLayout,\n onUpload: this.onUpload,\n on: this.v3 ? undefined : {\n \"upload\": this.onUpload,\n \"clear\": this.onClear,\n \"click\": this.onClick\n },\n onClear: this.onClear,\n onClick: this.onClick\n }) : undefined]);\n }\n};\n/**\n * @hidden\n */\nvar UploadUI = UploadUIVue2;\nexport { UploadUI, UploadUIVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { Keys, canUseDOM } from '@progress/kendo-vue-common';\nimport { UploadUI } from './UploadUI';\n/**\n * @hidden\n */\nvar NOT_FOCUSED_INDEX = -2;\n/**\n * @hidden\n */\nvar DEFAULT_INDEX = -1;\n/**\n * @hidden\n */\nvar UploadNavigationVue2 = {\n name: 'KendoVueUploadNavigation',\n props: {\n async: Object,\n className: String,\n multiple: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n showFileList: Boolean,\n showActionButtons: Boolean,\n actionsLayout: {\n type: String,\n default: function _default() {\n return 'end';\n }\n },\n tabIndex: Number,\n accept: String,\n groupedFiles: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n notFocusedIndex: Number,\n list: [String, Function, Object],\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n // @ts-ignore\n emits: {\n 'add': null,\n 'cancel': null,\n 'clear': null,\n 'upload': null,\n 'retry': null,\n 'remove': null\n },\n data: function data() {\n return {\n currentNavIndex: NOT_FOCUSED_INDEX\n };\n },\n updated: function updated() {\n // const prevGroupLength = Object.keys(prevProps.groupedFiles).length;\n // const groupLength = Object.keys(this.$props.groupedFiles).length;\n // if (prevGroupLength > groupLength && this.navIndex > DEFAULT_INDEX) {\n // this.navIndex = this.navIndex - (prevGroupLength - groupLength);\n // }\n },\n methods: {\n actionElement: function actionElement() {\n if (this._uploadUI) {\n return this._uploadUI.actionElement();\n }\n },\n navIndex: function navIndex(_navIndex) {\n if (_navIndex === undefined) {\n return this.currentNavIndex;\n }\n var prevNavIndex = this.navIndex;\n this.currentNavIndex = _navIndex;\n if (_navIndex !== prevNavIndex) {\n this.$forceUpdate();\n }\n },\n focus: function focus() {\n if (this._uploadUI) {\n this._uploadUI.focus();\n }\n },\n onKeyDown: function onKeyDown(event, isRtl) {\n var _a;\n var navIndex = this.navIndex();\n var groupKeys = Object.keys(this.$props.groupedFiles);\n var maxFileIndex = groupKeys.length - 1;\n var maxNavIndex = this.$props.autoUpload || groupKeys.length === 0 ? maxFileIndex : maxFileIndex + 1;\n var cancelButtonIndex = maxFileIndex + 1;\n var uploadButtonIndex = cancelButtonIndex + 1;\n var prevIndex = navIndex === NOT_FOCUSED_INDEX ? DEFAULT_INDEX : navIndex;\n var nextIndex = navIndex;\n switch (event.keyCode) {\n case Keys.up:\n event.preventDefault();\n if (navIndex > -1) {\n nextIndex = prevIndex - 1;\n }\n break;\n case Keys.down:\n event.preventDefault();\n if (navIndex < maxNavIndex) {\n nextIndex = prevIndex + 1;\n }\n break;\n case Keys.left:\n event.preventDefault();\n if (isRtl) {\n if (navIndex === cancelButtonIndex) {\n nextIndex = prevIndex + 1;\n }\n } else {\n if (navIndex === uploadButtonIndex) {\n nextIndex = prevIndex - 1;\n }\n }\n break;\n case Keys.right:\n event.preventDefault();\n if (isRtl) {\n if (navIndex === uploadButtonIndex) {\n nextIndex = prevIndex - 1;\n }\n } else {\n if (navIndex === cancelButtonIndex) {\n nextIndex = prevIndex + 1;\n }\n }\n break;\n case Keys.enter:\n if (navIndex === DEFAULT_INDEX || navIndex === NOT_FOCUSED_INDEX) {\n if (this.actionElement()) {\n if (canUseDOM && ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.className.indexOf('k-upload-button')) === -1) {\n this.actionElement().$el.click();\n }\n }\n }\n if (navIndex >= 0 && navIndex <= maxFileIndex) {\n this.onRetry(groupKeys[navIndex]);\n }\n break;\n case Keys.space:\n event.preventDefault();\n if (navIndex === DEFAULT_INDEX || navIndex === NOT_FOCUSED_INDEX) {\n if (this.actionElement()) {\n this.actionElement().$el.click();\n }\n }\n break;\n case Keys.tab:\n nextIndex = NOT_FOCUSED_INDEX;\n break;\n case Keys.delete:\n if (navIndex >= 0 && navIndex <= maxFileIndex) {\n nextIndex = prevIndex - 1;\n this.onRemove(groupKeys[navIndex]);\n }\n break;\n case Keys.esc:\n if (navIndex >= 0 && navIndex <= maxFileIndex) {\n nextIndex = prevIndex - 1;\n this.onCancel(groupKeys[navIndex]);\n }\n break;\n default:\n }\n this.navIndex(nextIndex);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n },\n onClear: function onClear() {\n this.navIndex(DEFAULT_INDEX);\n this.$emit('clear');\n },\n onUpload: function onUpload() {\n this.navIndex(DEFAULT_INDEX);\n this.$emit('upload');\n },\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onRemove: function onRemove(uid) {\n this.navIndex(this.navIndex() > DEFAULT_INDEX ? this.navIndex() - 1 : DEFAULT_INDEX);\n this.$emit('remove', uid);\n },\n onAdd: function onAdd(files) {\n this.navIndex(DEFAULT_INDEX);\n this.$emit('add', files);\n },\n onClick: function onClick(navIndex) {\n this.navIndex(navIndex);\n },\n onFocus: function onFocus() {\n if (this._blurTimeout) {\n clearTimeout(this._blurTimeout);\n this._blurTimeout = undefined;\n }\n },\n onBlurTimeout: function onBlurTimeout() {\n this.navIndex(NOT_FOCUSED_INDEX);\n this._blurTimeout = undefined;\n },\n onBlur: function onBlur() {\n clearTimeout(this._blurTimeout);\n this._blurTimeout = window.setTimeout(this.onBlurTimeout);\n }\n },\n mounted: function mounted() {\n this._uploadUI = this.v3 ? this.uploadUIRef : this.$refs.uploadUI;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var uploadUIRef = ref(null);\n return {\n v3: v3,\n uploadUIRef: uploadUIRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n multiple = _a.multiple,\n disabled = _a.disabled,\n showFileList = _a.showFileList,\n showActionButtons = _a.showActionButtons,\n actionsLayout = _a.actionsLayout,\n tabIndex = _a.tabIndex,\n accept = _a.accept,\n groupedFiles = _a.groupedFiles,\n list = _a.list,\n id = _a.id,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy,\n async = _a.async;\n return (\n // @ts-ignore function children\n h(UploadUI, {\n ref: this.v3 ? function (el) {\n _this.uploadUIRef = el;\n } : 'uploadUI',\n \"class\": this.$props.className,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"add\": this.onAdd,\n \"clear\": this.onClear,\n \"upload\": this.onUpload,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry,\n \"cancel\": this.onCancel,\n \"click\": this.onClick,\n \"focus\": this.onFocus,\n \"blur\": this.onBlur\n },\n navigationIndex: this.currentNavIndex,\n attrs: this.v3 ? undefined : {\n navigationIndex: this.currentNavIndex,\n notFocusedIndex: NOT_FOCUSED_INDEX,\n multiple: multiple,\n disabled: disabled,\n showFileList: showFileList,\n showActionButtons: showActionButtons,\n actionsLayout: actionsLayout,\n tabIndex: tabIndex,\n accept: accept,\n groupedFiles: groupedFiles,\n list: list,\n id: id,\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n async: async\n },\n notFocusedIndex: NOT_FOCUSED_INDEX,\n onAdd: this.onAdd,\n onClear: this.onClear,\n onUpload: this.onUpload,\n onRemove: this.onRemove,\n onRetry: this.onRetry,\n onCancel: this.onCancel,\n onClick: this.onClick,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n multiple: multiple,\n disabled: disabled,\n showFileList: showFileList,\n showActionButtons: showActionButtons,\n actionsLayout: actionsLayout,\n tabIndex: tabIndex,\n accept: accept,\n groupedFiles: groupedFiles,\n list: list,\n id: id,\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n async: async\n })\n );\n }\n};\n/**\n * @hidden\n */\nvar UploadNavigation = UploadNavigationVue2;\nexport { UploadNavigation, UploadNavigationVue2 };","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { UploadFileStatus } from '../interfaces/UploadFileStatus';\nvar copyState = function (state) {\n return (state || []).map(function (file) {\n return __assign({}, file);\n });\n};\nvar add = function (file, filesState) {\n filesState.push(file);\n};\nvar addMany = function (fileList, filesState) {\n fileList.forEach(function (file) { return add(file, filesState); });\n};\nvar groupFilesByUid = function (files) {\n var fileGroup = {};\n files.forEach(function (file) {\n if (fileGroup[file.uid]) {\n fileGroup[file.uid].push(file);\n }\n else {\n fileGroup[file.uid] = [file];\n }\n });\n return fileGroup;\n};\nvar filesForUpload = function (files) {\n var notUploadedGroups = {};\n groupForEach(files, function (currentFiles, uid) {\n var currentFilesValid = true;\n currentFiles.forEach(function (file) {\n if (file.status !== UploadFileStatus.Selected ||\n (file.validationErrors && file.validationErrors.length > 0)) {\n currentFilesValid = false;\n }\n });\n if (currentFilesValid) {\n notUploadedGroups[uid] = currentFiles;\n }\n });\n return notUploadedGroups;\n};\nvar setFilesStatus = function (filesGroup, status) {\n groupForEach(filesGroup, function (currentFiles) {\n currentFiles.forEach(function (file) {\n file.status = status;\n });\n });\n};\nvar flatFileGroup = function (fileGroup) {\n var transformed = [];\n groupForEach(fileGroup, function (currentFiles) {\n transformed.push.apply(transformed, currentFiles);\n });\n return transformed;\n};\nvar groupForEach = function (fileGroup, callBack) {\n Object.keys(fileGroup).forEach(function (uidKey) {\n callBack(fileGroup[uidKey], uidKey);\n });\n};\n/**\n * @hidden\n */\nexport default {\n copyState: copyState,\n addMany: addMany,\n add: add,\n groupFilesByUid: groupFilesByUid,\n filesForUpload: filesForUpload,\n setFilesStatus: setFilesStatus,\n flatFileGroup: flatFileGroup,\n groupForEach: groupForEach\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar populateClientFormData = function (data, clientData) {\n Object.keys(clientData).forEach(function (key) {\n data.append(key, clientData[key]);\n });\n};\nvar populateUploadFormData = function (files, saveField, clientData) {\n var data = new FormData();\n populateClientFormData(data, clientData);\n files.forEach(function (file) {\n var rawFile = file.getRawFile ? file.getRawFile() : '';\n if (rawFile) {\n data.append(saveField, rawFile, file.name);\n }\n else {\n data.append(saveField, rawFile);\n }\n });\n return data;\n};\nvar populateRemoveFormData = function (fileNames, removeField, clientData) {\n var data = new FormData();\n populateClientFormData(data, clientData);\n fileNames.forEach(function (fileName) {\n data.append(removeField, fileName);\n });\n return data;\n};\nvar populateRequestOptions = function (headers, async) {\n return {\n headers: headers,\n responseType: async.responseType,\n withCredentials: async.withCredentials\n };\n};\nvar cloneRequestHeaders = function (headers) {\n var cloned = {};\n Object.keys(headers).forEach(function (key) {\n cloned[key] = headers[key];\n });\n return cloned;\n};\nvar convertAxiosResponse = function (event) {\n var data = event.data, config = event.config, others = __rest(event, [\"data\", \"config\"]);\n return __assign({ response: data }, others);\n};\n/**\n * @hidden\n */\nexport default {\n populateClientFormData: populateClientFormData,\n populateUploadFormData: populateUploadFormData,\n populateRemoveFormData: populateRemoveFormData,\n populateRequestOptions: populateRequestOptions,\n cloneRequestHeaders: cloneRequestHeaders,\n convertAxiosResponse: convertAxiosResponse\n};\n","var INVALIDMAXFILESIZE = 'invalidMaxFileSize';\nvar INVALIDMINFILESIZE = 'invalidMinFileSize';\nvar INVALIDFILEEXTENSION = 'invalidFileExtension';\nvar validateFileExtension = function (file, allowedExtensions) {\n if (allowedExtensions.length > 0) {\n if (allowedExtensions.indexOf((file.extension || '').toLowerCase()) < 0) {\n file.validationErrors = file.validationErrors || [];\n if (file.validationErrors.indexOf(INVALIDFILEEXTENSION) < 0) {\n file.validationErrors.push(INVALIDFILEEXTENSION);\n }\n }\n }\n};\nvar validateFileSize = function (file, minFileSize, maxFileSize) {\n if (minFileSize !== 0 && (file.size || 0) < minFileSize) {\n file.validationErrors = file.validationErrors || [];\n if (file.validationErrors.indexOf(INVALIDMINFILESIZE) < 0) {\n file.validationErrors.push(INVALIDMINFILESIZE);\n }\n }\n if (maxFileSize !== 0 && (file.size || 0) > maxFileSize) {\n file.validationErrors = file.validationErrors || [];\n if (file.validationErrors.indexOf(INVALIDMAXFILESIZE) < 0) {\n file.validationErrors.push(INVALIDMAXFILESIZE);\n }\n }\n};\nvar parseAllowedExtensions = function (extensions) {\n var allowedExtensions = extensions.map(function (ext) {\n var parsedExt = (ext.substring(0, 1) === '.') ? ext : ('.' + ext);\n return parsedExt.toLowerCase();\n });\n return allowedExtensions;\n};\nvar validateFiles = function (files, restrictionInfo, validateFile) {\n var allowedExtensions = parseAllowedExtensions(restrictionInfo.allowedExtensions || []);\n var maxFileSize = restrictionInfo.maxFileSize || 0;\n var minFileSize = restrictionInfo.minFileSize || 0;\n var i;\n for (i = 0; i < files.length; i++) {\n validateFileExtension(files[i], allowedExtensions);\n validateFileSize(files[i], minFileSize, maxFileSize);\n if (validateFile) {\n validateFile(files[i]);\n }\n }\n};\n/**\n * @hidden\n */\nexport default {\n validateFiles: validateFiles\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-upload',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1706640195,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { getListeners, getTabIndex, templateRendering, validatePackage } from '@progress/kendo-vue-common';\nimport { UploadFileStatus } from './interfaces/UploadFileStatus';\nimport { UploadNavigation } from './UploadNavigation';\nimport axios from 'axios';\nimport utils from './utils/utils';\nimport stateUtils from './utils/stateUtils';\nimport connectionUtils from './utils/connectionUtils';\nimport validationUtils from './utils/validationUtils';\nimport { packageMetadata } from './package-metadata';\n/**\n * @hidden\n */\nvar UploadVue2 = {\n name: 'KendoVueUpload',\n props: {\n autoUpload: {\n type: Boolean,\n default: true\n },\n batch: {\n type: Boolean,\n default: false\n },\n withCredentials: {\n type: Boolean,\n default: true\n },\n saveField: {\n type: String,\n default: function _default() {\n return 'files';\n }\n },\n saveHeaders: {\n type: [String, Function, Object],\n default: function _default() {\n return {};\n }\n },\n saveMethod: {\n type: String,\n default: function _default() {\n return 'POST';\n }\n },\n saveUrl: {\n type: [String, Function],\n default: function _default() {\n return '';\n }\n },\n responseType: {\n type: String,\n default: function _default() {\n return 'json';\n }\n },\n removeField: {\n type: String,\n default: function _default() {\n return 'fileNames';\n }\n },\n removeHeaders: {\n type: [String, Function, Object],\n default: function _default() {\n return {};\n }\n },\n removeMethod: {\n type: String,\n default: function _default() {\n return 'POST';\n }\n },\n removeUrl: {\n type: [String, Function],\n default: function _default() {\n return '';\n }\n },\n multiple: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n showFileList: {\n type: Boolean,\n default: true\n },\n showActionButtons: {\n type: Boolean,\n default: true\n },\n actionsLayout: {\n type: String,\n default: function _default() {\n return 'end';\n }\n },\n tabIndex: Number,\n accept: String,\n list: [String, Function, Object],\n restrictions: {\n type: Object,\n default: function _default() {\n return {\n allowedExtensions: [],\n maxFileSize: 0,\n minFileSize: 0\n };\n }\n },\n validateFile: Function,\n files: Array,\n defaultFiles: Array\n },\n // @ts-ignore\n emits: {\n 'add': null,\n 'beforeremove': null,\n 'beforeupload': null,\n 'cancel': null,\n 'statuschange': null,\n 'progress': null,\n 'remove': null\n },\n created: function created() {\n this._httpSubscriptions = {};\n validatePackage(packageMetadata);\n if (this.$props.defaultFiles) {\n this.currentFiles = this.$props.defaultFiles;\n }\n },\n data: function data() {\n return {\n currentFiles: []\n };\n },\n computed: {\n computedAsync: function computedAsync() {\n var _a = this.$props,\n autoUpload = _a.autoUpload,\n batch = _a.batch,\n removeField = _a.removeField,\n removeHeaders = _a.removeHeaders,\n removeMethod = _a.removeMethod,\n removeUrl = _a.removeUrl,\n responseType = _a.responseType,\n saveField = _a.saveField,\n saveHeaders = _a.saveHeaders,\n saveMethod = _a.saveMethod,\n saveUrl = _a.saveUrl,\n withCredentials = _a.withCredentials;\n return {\n autoUpload: autoUpload,\n batch: batch,\n removeField: removeField,\n removeHeaders: removeHeaders,\n removeMethod: removeMethod,\n removeUrl: removeUrl,\n responseType: responseType,\n saveField: saveField,\n saveHeaders: saveHeaders,\n saveMethod: saveMethod,\n saveUrl: saveUrl,\n withCredentials: withCredentials\n };\n },\n computedFiles: function computedFiles() {\n var files = this.isControlled ? this.$props.files : this.currentFiles;\n return files || [];\n },\n isControlled: function isControlled() {\n return !this.$props.defaultFiles;\n },\n isCustomSave: function isCustomSave() {\n return this.$props.saveUrl && typeof this.$props.saveUrl === 'function';\n },\n isCustomRemove: function isCustomRemove() {\n return this.$props.removeUrl && typeof this.$props.removeUrl === 'function';\n },\n fileStateCopy: function fileStateCopy() {\n return stateUtils.copyState(this.computedFiles);\n },\n actionElement: function actionElement() {\n if (this._uploadNavigation) {\n return this._uploadNavigation.actionElement;\n }\n }\n },\n mounted: function mounted() {\n this._uploadNavigation = this.v3 ? this.uploadNavigationRef : this.$refs.uploadNavigation;\n },\n methods: {\n focus: function focus() {\n if (this._uploadNavigation) {\n this._uploadNavigation.focus();\n }\n },\n uploadFiles: function uploadFiles(filesForUpload) {\n var _this = this;\n var async = this.computedAsync;\n stateUtils.setFilesStatus(filesForUpload, UploadFileStatus.Uploading);\n stateUtils.groupForEach(filesForUpload, function (currentFiles, uid) {\n var headers = connectionUtils.cloneRequestHeaders(async.saveHeaders || {});\n var additionalData = {};\n var eventData = {\n target: _this,\n files: currentFiles,\n headers: headers,\n additionalData: additionalData\n };\n _this.$emit('beforeupload', eventData);\n var requestOptions = connectionUtils.populateRequestOptions(eventData.headers, _this.computedAsync);\n var formData = connectionUtils.populateUploadFormData(currentFiles, async.saveField, eventData.additionalData);\n if (_this.isCustomSave) {\n _this.$props.saveUrl(currentFiles, {\n formData: formData,\n requestOptions: requestOptions\n }, _this.onUploadProgress).then(function (event) {\n return _this.onUploadSuccess(event.uid);\n }).catch(function (event) {\n return _this.onUploadError(event.uid);\n });\n } else {\n var cancelTokenSource = axios.CancelToken.source();\n _this._httpSubscriptions[uid] = cancelTokenSource;\n axios(__assign(__assign({\n method: async.saveMethod,\n url: async.saveUrl,\n data: formData,\n cancelToken: cancelTokenSource.token\n }, requestOptions), {\n onUploadProgress: function onUploadProgress(event) {\n return _this.onUploadProgress(uid, event);\n }\n })).then(function (event) {\n return _this.onUploadSuccess(uid, event);\n }).catch(function (event) {\n return _this.onUploadError(uid, event);\n });\n }\n });\n },\n removeFiles: function removeFiles(filesForRemove) {\n var _this = this;\n var async = this.computedAsync;\n stateUtils.groupForEach(filesForRemove, function (currentFiles, uid) {\n var headers = connectionUtils.cloneRequestHeaders(async.removeHeaders || {});\n var additionalData = {};\n var eventData = {\n target: _this,\n files: currentFiles,\n headers: headers,\n additionalData: additionalData\n };\n _this.$emit('beforeremove', eventData);\n var fileNames = currentFiles.map(function (file) {\n return file.name;\n });\n var requestOptions = connectionUtils.populateRequestOptions(eventData.headers, _this.computedAsync);\n var formData = connectionUtils.populateRemoveFormData(fileNames, async.removeField, eventData.additionalData);\n if (_this.isCustomRemove) {\n _this.$props.removeUrl(currentFiles, {\n formData: formData,\n requestOptions: requestOptions\n }).then(function (event) {\n return _this.onRemoveSuccess(event.uid);\n }).catch(function (event) {\n return _this.onRemoveError(event.uid);\n });\n } else {\n axios(__assign({\n method: async.removeMethod,\n url: async.removeUrl,\n data: formData\n }, requestOptions)).then(function (event) {\n return _this.onRemoveSuccess(uid, event);\n }).catch(function (event) {\n return _this.onRemoveError(uid, event);\n });\n }\n });\n },\n onUpload: function onUpload() {\n var _this = this;\n var newState = this.fileStateCopy;\n var groupedFiles = stateUtils.groupFilesByUid(newState);\n var filesForUpload = stateUtils.filesForUpload(groupedFiles);\n this.uploadFiles(filesForUpload);\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: stateUtils.flatFileGroup(filesForUpload)\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n },\n onAdd: function onAdd(files) {\n var _this = this;\n // The problem when removing rawFile is that there is no reliable way of preserving it internally.\n // For example, uid + filename - the filename can be changed at any moment.\n var selectedFiles = utils.getAllFileInfo(files);\n var newState;\n selectedFiles = utils.assignGuidToFiles(selectedFiles, this.computedAsync.batch);\n validationUtils.validateFiles(selectedFiles, this.$props.restrictions, this.validateFile);\n if (!this.$props.multiple) {\n newState = [];\n } else {\n newState = this.fileStateCopy;\n }\n stateUtils.addMany(selectedFiles, newState);\n if (this.computedAsync.autoUpload) {\n var groupedFiles = stateUtils.groupFilesByUid(newState);\n this.uploadFiles(stateUtils.filesForUpload(groupedFiles));\n }\n var onAddEvent = function onAddEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: selectedFiles\n };\n _this.$emit('add', eventData);\n };\n if (this.isControlled) {\n onAddEvent();\n } else {\n this.currentFiles = newState;\n onAddEvent();\n }\n },\n onUploadProgress: function onUploadProgress(uid, event) {\n var _this = this;\n var percentComplete = event.total ? Math.round(100 * event.loaded / event.total) : 0;\n var newState = this.fileStateCopy;\n var filesWithProgress = newState.filter(function (file) {\n return file.uid === uid;\n });\n if (!filesWithProgress.length) {\n return;\n }\n filesWithProgress.forEach(function (file) {\n file.progress = percentComplete;\n });\n var onProgressEvent = function onProgressEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: filesWithProgress\n };\n _this.$emit('progress', eventData);\n };\n if (this.isControlled) {\n onProgressEvent();\n } else {\n this.currentFiles = newState;\n onProgressEvent();\n }\n },\n onUploadSuccess: function onUploadSuccess(uid, event) {\n var _this = this;\n var newState = this.fileStateCopy;\n var successFiles = newState.filter(function (file) {\n return file.uid === uid;\n });\n successFiles.forEach(function (file) {\n file.status = UploadFileStatus.Uploaded;\n });\n delete this._httpSubscriptions[uid];\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: successFiles,\n response: event ? connectionUtils.convertAxiosResponse(event) : undefined\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n },\n onUploadError: function onUploadError(uid, event) {\n var _this = this;\n var newState = this.fileStateCopy;\n var failedFiles = newState.filter(function (file) {\n return file.uid === uid;\n });\n failedFiles.forEach(function (file) {\n file.status = UploadFileStatus.UploadFailed;\n });\n delete this._httpSubscriptions[uid];\n if (!failedFiles.length) {\n return;\n }\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: failedFiles,\n response: event ? connectionUtils.convertAxiosResponse(event) : undefined\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n },\n onRemove: function onRemove(uid) {\n var _a;\n var _this = this;\n var newState = this.fileStateCopy;\n var filesForRemove = newState.filter(function (file) {\n return file.uid === uid;\n });\n var filesToKeep = newState.filter(function (file) {\n return file.uid !== uid;\n });\n var remoteRemoveStatuses = [UploadFileStatus.Uploaded, UploadFileStatus.Initial, UploadFileStatus.RemoveFailed];\n if (filesForRemove[0] && remoteRemoveStatuses.indexOf(filesForRemove[0].status) > -1) {\n var fileGroup = (_a = {}, _a[uid] = filesForRemove, _a);\n stateUtils.setFilesStatus(fileGroup, UploadFileStatus.Removing);\n this.removeFiles(fileGroup);\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: filesForRemove\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n } else {\n var onRemoveEvent = function onRemoveEvent() {\n var eventData = {\n target: _this,\n newState: filesToKeep,\n affectedFiles: filesForRemove\n };\n _this.$emit('remove', eventData);\n };\n if (this.isControlled) {\n onRemoveEvent();\n } else {\n this.currentFiles = filesToKeep;\n onRemoveEvent();\n }\n }\n },\n onRemoveSuccess: function onRemoveSuccess(uid, event) {\n var _this = this;\n var newState = this.fileStateCopy;\n var filesForRemove = newState.filter(function (file) {\n return file.uid === uid;\n });\n var filesToKeep = newState.filter(function (file) {\n return file.uid !== uid;\n });\n var onRemoveEvent = function onRemoveEvent() {\n var eventData = {\n target: _this,\n newState: filesToKeep,\n affectedFiles: filesForRemove,\n response: event ? connectionUtils.convertAxiosResponse(event) : undefined\n };\n _this.$emit('remove', eventData);\n };\n if (this.isControlled) {\n onRemoveEvent();\n } else {\n this.currentFiles = filesToKeep;\n onRemoveEvent();\n }\n },\n onRemoveError: function onRemoveError(uid, event) {\n var _this = this;\n var newState = this.fileStateCopy;\n var failedFiles = newState.filter(function (file) {\n return file.uid === uid;\n });\n failedFiles.forEach(function (file) {\n file.status = UploadFileStatus.RemoveFailed;\n });\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: failedFiles,\n response: event ? connectionUtils.convertAxiosResponse(event) : undefined\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n },\n onRetry: function onRetry(uid) {\n var _this = this;\n var newState = this.fileStateCopy;\n var filesForRetry = stateUtils.groupFilesByUid(newState.filter(function (file) {\n return file.uid === uid;\n }));\n stateUtils.setFilesStatus(filesForRetry, UploadFileStatus.Uploading);\n this.uploadFiles(filesForRetry);\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: stateUtils.flatFileGroup(filesForRetry)\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n },\n onCancel: function onCancel(uid) {\n var _this = this;\n var newState = this.fileStateCopy;\n var filesToKeep = newState.filter(function (file) {\n return file.uid !== uid;\n });\n var filesForRemove = newState.filter(function (file) {\n return file.uid === uid;\n });\n if (this._httpSubscriptions[uid]) {\n this._httpSubscriptions[uid].cancel();\n delete this._httpSubscriptions[uid];\n }\n var eventData = {\n target: this,\n uid: uid\n };\n this.$emit('cancel', eventData);\n var onRemoveEvent = function onRemoveEvent() {\n var remEventData = {\n target: _this,\n newState: filesToKeep,\n affectedFiles: filesForRemove\n };\n _this.$emit('remove', remEventData);\n };\n if (this.isControlled) {\n onRemoveEvent();\n } else {\n this.currentFiles = newState;\n onRemoveEvent();\n }\n },\n onClear: function onClear() {\n var _this = this;\n if (!this.computedFiles.length) {\n return;\n }\n Object.keys(this._httpSubscriptions).forEach(function (key) {\n _this._httpSubscriptions[key].cancel();\n });\n this._httpSubscriptions = {};\n var onRemoveEvent = function onRemoveEvent() {\n var eventData = {\n target: _this,\n newState: [],\n affectedFiles: _this.fileStateCopy\n };\n _this.$emit('remove', eventData);\n };\n if (this.isControlled) {\n onRemoveEvent();\n } else {\n this.currentFiles = [];\n onRemoveEvent();\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n showFileList = _a.showFileList,\n autoUpload = _a.autoUpload,\n showActionButtons = _a.showActionButtons,\n actionsLayout = _a.actionsLayout,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled,\n batch = _a.batch,\n withCredentials = _a.withCredentials,\n saveField = _a.saveField,\n saveHeaders = _a.saveHeaders,\n saveMethod = _a.saveMethod,\n saveUrl = _a.saveUrl,\n responseType = _a.responseType,\n removeField = _a.removeField,\n removeHeaders = _a.removeHeaders,\n removeMethod = _a.removeMethod,\n removeUrl = _a.removeUrl,\n multiple = _a.multiple,\n accept = _a.accept,\n restrictions = _a.restrictions,\n files = _a.files,\n defaultFiles = _a.defaultFiles;\n var list = templateRendering.call(this, this.$props.list, getListeners.call(this));\n var groupedFiles = stateUtils.groupFilesByUid(this.computedFiles);\n var filesForUpload = stateUtils.filesForUpload(groupedFiles);\n return (\n // @ts-ignore function children\n h(UploadNavigation, {\n groupedFiles: groupedFiles,\n attrs: this.v3 ? undefined : {\n groupedFiles: groupedFiles,\n className: this.$props.className,\n showFileList: showFileList && !!Object.keys(groupedFiles).length,\n showActionButtons: showActionButtons && !autoUpload && !!Object.keys(filesForUpload).length,\n actionsLayout: actionsLayout,\n disabled: disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n multiple: multiple,\n accept: accept,\n list: list,\n restrictions: restrictions,\n files: files,\n defaultFiles: defaultFiles,\n async: this.computedAsync\n },\n className: this.$props.className,\n showFileList: showFileList && !!Object.keys(groupedFiles).length,\n showActionButtons: showActionButtons && !autoUpload && !!Object.keys(filesForUpload).length,\n actionsLayout: actionsLayout,\n disabled: disabled,\n onAdd: this.onAdd,\n on: this.v3 ? undefined : {\n \"add\": this.onAdd,\n \"remove\": this.onRemove,\n \"clear\": this.onClear,\n \"upload\": this.onUpload,\n \"retry\": this.onRetry,\n \"cancel\": this.onCancel\n },\n onRemove: this.onRemove,\n onClear: this.onClear,\n onUpload: this.onUpload,\n onRetry: this.onRetry,\n onCancel: this.onCancel,\n tabIndex: getTabIndex(tabIndex, disabled),\n ref: this.v3 ? function (el) {\n _this.uploadNavigationRef = el;\n } : 'uploadNavigation',\n multiple: multiple,\n accept: accept,\n list: list,\n restrictions: restrictions,\n files: files,\n defaultFiles: defaultFiles,\n async: this.computedAsync\n })\n );\n }\n};\n/**\n * @hidden\n */\nvar Upload = UploadVue2;\nexport { Upload, UploadVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames, getListeners, getTabIndex, getTemplate, Icon, setRef, templateRendering, validatePackage } from '@progress/kendo-vue-common';\nimport { dropZoneHint, dropZoneNote, messages } from './messages/main';\nimport { uploadIcon } from '@progress/kendo-svg-icons';\nimport { packageMetadata } from './package-metadata';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\n/**\n * @hidden\n */\nvar TIME_TO_CHECK_DRAG = 100;\n/**\n * @hidden\n */\nvar ExternalDropZoneVue2 = {\n name: 'KendoVueExternalDropZone',\n props: {\n id: String,\n tabIndex: Number,\n innerStyle: Object,\n uploadRef: [String, Function, Object],\n disabled: Boolean,\n customHint: [String, Function, Object],\n customNote: [String, Function, Object]\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.elementInterval = null;\n this.elementActive = false;\n this.lastElementDragOverRef = null;\n },\n data: function data() {\n return {\n overDropZone: false\n };\n },\n mounted: function mounted() {\n this.externalDropZone = this.v3 ? this.externalDropZoneRef : this.$refs.externalDropZone;\n },\n methods: {\n focus: function focus() {\n if (this.externalDropZone && this.externalDropZone.focus) {\n this.externalDropZone.focus();\n }\n },\n isDragOver: function isDragOver(prevDate) {\n return new Date().getTime() - (prevDate || new Date()).getTime() > TIME_TO_CHECK_DRAG;\n },\n handleOnDrop: function handleOnDrop(event) {\n event.preventDefault();\n var droppedFiles = event.dataTransfer.files;\n var refToUpload = this.$parent.$refs[this.$props.uploadRef];\n if (droppedFiles.length > 0 && !this.$props.disabled && refToUpload) {\n if (refToUpload.onAdd) {\n event.preventDefault();\n refToUpload.onAdd(droppedFiles);\n }\n }\n },\n handleOnElementDragEnter: function handleOnElementDragEnter() {\n var _this = this;\n this.elementActive = true;\n var locElementInterval = function locElementInterval() {\n if (_this.isDragOver(_this.lastElementDragOver)) {\n _this.overDropZone = false;\n _this.elementActive = false;\n clearInterval(_this.elementInterval);\n _this.elementInterval = null;\n _this.lastElementDragOver = null;\n }\n };\n this.elementInterval = setInterval(locElementInterval, TIME_TO_CHECK_DRAG);\n },\n handleOnElementDragOver: function handleOnElementDragOver(event) {\n event.preventDefault();\n this.lastElementDragOver = new Date();\n this.overDropZone = true;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var externalDropZoneRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n externalDropZoneRef: externalDropZoneRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n customNote = _a.customNote,\n customHint = _a.customHint;\n var localizationService = provideLocalizationService(this);\n var localizedHint = localizationService.toLanguageString(dropZoneHint, messages[dropZoneHint]);\n var localizedNote = localizationService.toLanguageString(dropZoneNote, messages[dropZoneNote]);\n var hintTemplate = templateRendering.call(this, customHint, getListeners.call(this));\n var noteTemplate = templateRendering.call(this, customNote, getListeners.call(this));\n var hintElement;\n var hintElementDefaultRendering = h(\"span\", [localizedHint]);\n hintElement = getTemplate.call(this, {\n h: h,\n template: hintTemplate,\n defaultRendering: hintElementDefaultRendering\n });\n var noteElement;\n var noteElementDefaultRendering = h(\"span\", [localizedNote]);\n noteElement = getTemplate.call(this, {\n h: h,\n template: noteTemplate,\n defaultRendering: noteElementDefaultRendering\n });\n return h(\"div\", {\n ref: setRef(this, 'externalDropZone'),\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined)\n },\n \"class\": classNames('k-external-dropzone', {\n 'k-external-dropzone-hover': this.overDropZone,\n 'k-disabled': this.$props.disabled\n }, this.$props.className),\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n onDrop: this.handleOnDrop,\n on: this.v3 ? undefined : {\n \"drop\": this.handleOnDrop,\n \"dragenter\": this.handleOnElementDragEnter,\n \"dragover\": this.handleOnElementDragOver\n },\n onDragenter: this.handleOnElementDragEnter,\n onDragover: this.handleOnElementDragOver\n }, [h(\"div\", {\n style: this.$props.innerStyle,\n \"class\": 'k-dropzone-inner'\n }, [h(Icon, {\n name: 'upload',\n attrs: this.v3 ? undefined : {\n name: 'upload',\n icon: uploadIcon,\n size: 'xxxlarge'\n },\n icon: uploadIcon,\n \"class\": 'k-dropzone-icon',\n size: 'xxxlarge'\n }), h(\"span\", {\n \"class\": 'k-dropzone-hint'\n }, [hintElement]), h(\"span\", {\n \"class\": 'k-dropzone-note'\n }, [noteElement])]), h(\"div\", {\n \"class\": 'k-upload'\n })]);\n }\n};\n/**\n * @hidden\n */\nvar ExternalDropZone = ExternalDropZoneVue2;\nexport { ExternalDropZone, ExternalDropZoneVue2 };","var proxy = function (a, b) { return function (e) { return b(a(e)); }; };\n\nvar bind = function (el, event, callback) { return el.addEventListener && el.addEventListener(event, callback); };\n\nvar unbind = function (el, event, callback) { return el && el.removeEventListener && el.removeEventListener(event, callback); };\n\nvar noop = function () { /* empty */ };\n\nvar preventDefault = function (e) { return e.preventDefault(); };\n\nvar touchRegExp = /touch/;\n\n// 300ms is the usual mouse interval;\n// // However, an underpowered mobile device under a heavy load may queue mouse events for a longer period.\nvar IGNORE_MOUSE_TIMEOUT = 2000;\n\nfunction normalizeEvent(e) {\n if (e.type.match(touchRegExp)) {\n return {\n pageX: e.changedTouches[0].pageX,\n pageY: e.changedTouches[0].pageY,\n clientX: e.changedTouches[0].clientX,\n clientY: e.changedTouches[0].clientY,\n type: e.type,\n originalEvent: e,\n isTouch: true\n };\n }\n\n return {\n pageX: e.pageX,\n pageY: e.pageY,\n clientX: e.clientX,\n clientY: e.clientY,\n offsetX: e.offsetX,\n offsetY: e.offsetY,\n type: e.type,\n ctrlKey: e.ctrlKey,\n shiftKey: e.shiftKey,\n altKey: e.altKey,\n originalEvent: e\n };\n}\n\nexport var Draggable = function Draggable(ref) {\n var this$1 = this;\n var press = ref.press; if ( press === void 0 ) press = noop;\n var drag = ref.drag; if ( drag === void 0 ) drag = noop;\n var release = ref.release; if ( release === void 0 ) release = noop;\n var mouseOnly = ref.mouseOnly; if ( mouseOnly === void 0 ) mouseOnly = false;\n\n this._pressHandler = proxy(normalizeEvent, press);\n this._dragHandler = proxy(normalizeEvent, drag);\n this._releaseHandler = proxy(normalizeEvent, release);\n this._ignoreMouse = false;\n this._mouseOnly = mouseOnly;\n\n this._touchstart = function (e) {\n if (e.touches.length === 1) {\n this$1._pressHandler(e);\n }\n };\n\n this._touchmove = function (e) {\n if (e.touches.length === 1) {\n this$1._dragHandler(e);\n }\n };\n\n this._touchend = function (e) {\n // the last finger has been lifted, and the user is not doing gesture.\n // there might be a better way to handle this.\n if (e.touches.length === 0 && e.changedTouches.length === 1) {\n this$1._releaseHandler(e);\n this$1._ignoreMouse = true;\n setTimeout(this$1._restoreMouse, IGNORE_MOUSE_TIMEOUT);\n }\n };\n\n this._restoreMouse = function () {\n this$1._ignoreMouse = false;\n };\n\n this._mousedown = function (e) {\n var which = e.which;\n\n if ((which && which > 1) || this$1._ignoreMouse) {\n return;\n }\n\n bind(document, \"mousemove\", this$1._mousemove);\n bind(document, \"mouseup\", this$1._mouseup);\n this$1._pressHandler(e);\n };\n\n this._mousemove = function (e) {\n this$1._dragHandler(e);\n };\n\n this._mouseup = function (e) {\n unbind(document, \"mousemove\", this$1._mousemove);\n unbind(document, \"mouseup\", this$1._mouseup);\n this$1._releaseHandler(e);\n };\n\n this._pointerdown = function (e) {\n if (e.isPrimary && e.button === 0) {\n bind(document, \"pointermove\", this$1._pointermove);\n bind(document, \"pointerup\", this$1._pointerup);\n bind(document, \"pointercancel\", this$1._pointerup);\n bind(document, \"contextmenu\", preventDefault);\n\n this$1._pressHandler(e);\n }\n };\n\n this._pointermove = function (e) {\n if (e.isPrimary) {\n this$1._dragHandler(e);\n }\n };\n\n this._pointerup = function (e) {\n if (e.isPrimary) {\n unbind(document, \"pointermove\", this$1._pointermove);\n unbind(document, \"pointerup\", this$1._pointerup);\n unbind(document, \"pointercancel\", this$1._pointerup);\n unbind(document, \"contextmenu\", preventDefault);\n\n this$1._releaseHandler(e);\n }\n };\n};\n\nDraggable.supportPointerEvent = function supportPointerEvent () {\n return (typeof window !== 'undefined') && window.PointerEvent;\n};\n\nDraggable.prototype.bindTo = function bindTo (element) {\n if (element === this._element) {\n return;\n }\n\n if (this._element) {\n this._unbindFromCurrent();\n }\n\n this._element = element;\n this._bindToCurrent();\n};\n\nDraggable.prototype._bindToCurrent = function _bindToCurrent () {\n var element = this._element;\n\n if (this._usePointers()) {\n bind(element, \"pointerdown\", this._pointerdown);\n return;\n }\n\n bind(element, \"mousedown\", this._mousedown);\n\n if (!this._mouseOnly) {\n bind(element, \"touchstart\", this._touchstart);\n bind(element, \"touchmove\", this._touchmove);\n bind(element, \"touchend\", this._touchend);\n }\n};\n\nDraggable.prototype._unbindFromCurrent = function _unbindFromCurrent () {\n var element = this._element;\n\n if (this._usePointers()) {\n unbind(element, \"pointerdown\", this._pointerdown);\n unbind(document, \"pointermove\", this._pointermove);\n unbind(document, \"pointerup\", this._pointerup);\n unbind(document, \"contextmenu\", preventDefault);\n unbind(document, \"pointercancel\", this._pointerup);\n return;\n }\n\n unbind(element, \"mousedown\", this._mousedown);\n\n if (!this._mouseOnly) {\n unbind(element, \"touchstart\", this._touchstart);\n unbind(element, \"touchmove\", this._touchmove);\n unbind(element, \"touchend\", this._touchend);\n }\n};\n\nDraggable.prototype._usePointers = function _usePointers () {\n return !this._mouseOnly && Draggable.supportPointerEvent();\n};\n\nDraggable.prototype.update = function update (ref) {\n var press = ref.press; if ( press === void 0 ) press = noop;\n var drag = ref.drag; if ( drag === void 0 ) drag = noop;\n var release = ref.release; if ( release === void 0 ) release = noop;\n var mouseOnly = ref.mouseOnly; if ( mouseOnly === void 0 ) mouseOnly = false;\n\n this._pressHandler = proxy(normalizeEvent, press);\n this._dragHandler = proxy(normalizeEvent, drag);\n this._releaseHandler = proxy(normalizeEvent, release);\n this._mouseOnly = mouseOnly;\n};\n\nDraggable.prototype.destroy = function destroy () {\n this._unbindFromCurrent();\n this._element = null;\n};\n\n// Re-export as \"default\" field to address a bug\n// where the ES Module is imported by CommonJS code.\n//\n// See https://github.com/telerik/kendo-angular/issues/1314\nDraggable.default = Draggable;\n\n// Rollup won't output exports['default'] otherwise\nexport default Draggable;\n\n","/**\n* @vue/reactivity v3.5.12\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.12\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isSymbol, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= ~1;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= ~1;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= ~1;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n queuePostRenderEffect(mountToTarget, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const disabled = isTeleportDisabled(vnode.props);\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getInnerChild$1(oldChild);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode)) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n hydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= ~256;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate