From 459bdf6849f7b0f576e62cbe43ae7fe46a80a0f3 Mon Sep 17 00:00:00 2001 From: acelaya Date: Wed, 17 Apr 2024 07:51:09 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20preview-env=20from=20@=20shlin?= =?UTF-8?q?kio/shlink-web-client@7e43f67629e503e7203e9617498e7564c3cc908e?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- feature/fixes/asset-manifest.json | 13 - feature/fixes/assets/index-BJbgQlbl.js | 1032 +++++++++++++++++ feature/fixes/assets/index-CRq0OH9C.css | 6 + feature/fixes/index.html | 92 +- feature/fixes/manifest.json | 146 +-- feature/fixes/service-worker.js | 2 + feature/fixes/static/css/main.09af7d82.css | 9 - .../fixes/static/css/main.09af7d82.css.map | 1 - feature/fixes/static/js/main.e2e6f040.js | 3 - .../static/js/main.e2e6f040.js.LICENSE.txt | 149 --- feature/fixes/static/js/main.e2e6f040.js.map | 1 - 11 files changed, 1132 insertions(+), 322 deletions(-) delete mode 100644 feature/fixes/asset-manifest.json create mode 100644 feature/fixes/assets/index-BJbgQlbl.js create mode 100644 feature/fixes/assets/index-CRq0OH9C.css create mode 100644 feature/fixes/service-worker.js delete mode 100644 feature/fixes/static/css/main.09af7d82.css delete mode 100644 feature/fixes/static/css/main.09af7d82.css.map delete mode 100644 feature/fixes/static/js/main.e2e6f040.js delete mode 100644 feature/fixes/static/js/main.e2e6f040.js.LICENSE.txt delete mode 100644 feature/fixes/static/js/main.e2e6f040.js.map diff --git a/feature/fixes/asset-manifest.json b/feature/fixes/asset-manifest.json deleted file mode 100644 index 2672f02a..00000000 --- a/feature/fixes/asset-manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "files": { - "main.css": "/shlink-web-client/feature/fixes/static/css/main.09af7d82.css", - "main.js": "/shlink-web-client/feature/fixes/static/js/main.e2e6f040.js", - "index.html": "/shlink-web-client/feature/fixes/index.html", - "main.09af7d82.css.map": "/shlink-web-client/feature/fixes/static/css/main.09af7d82.css.map", - "main.e2e6f040.js.map": "/shlink-web-client/feature/fixes/static/js/main.e2e6f040.js.map" - }, - "entrypoints": [ - "static/css/main.09af7d82.css", - "static/js/main.e2e6f040.js" - ] -} \ No newline at end of file diff --git a/feature/fixes/assets/index-BJbgQlbl.js b/feature/fixes/assets/index-BJbgQlbl.js new file mode 100644 index 00000000..4f4dc7b8 --- /dev/null +++ b/feature/fixes/assets/index-BJbgQlbl.js @@ -0,0 +1,1032 @@ +var IW=Object.defineProperty;var DW=(e,t,n)=>t in e?IW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Jl=(e,t,n)=>(DW(e,typeof t!="symbol"?t+"":t,n),n);function FW(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var Zs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function at(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function BW(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var z$={exports:{}},j0={},V$={exports:{}},st={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Sp=Symbol.for("react.element"),UW=Symbol.for("react.portal"),zW=Symbol.for("react.fragment"),VW=Symbol.for("react.strict_mode"),WW=Symbol.for("react.profiler"),HW=Symbol.for("react.provider"),GW=Symbol.for("react.context"),qW=Symbol.for("react.forward_ref"),KW=Symbol.for("react.suspense"),YW=Symbol.for("react.memo"),ZW=Symbol.for("react.lazy"),qj=Symbol.iterator;function XW(e){return e===null||typeof e!="object"?null:(e=qj&&e[qj]||e["@@iterator"],typeof e=="function"?e:null)}var W$={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},H$=Object.assign,G$={};function Wc(e,t,n){this.props=e,this.context=t,this.refs=G$,this.updater=n||W$}Wc.prototype.isReactComponent={};Wc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Wc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function q$(){}q$.prototype=Wc.prototype;function aE(e,t,n){this.props=e,this.context=t,this.refs=G$,this.updater=n||W$}var sE=aE.prototype=new q$;sE.constructor=aE;H$(sE,Wc.prototype);sE.isPureReactComponent=!0;var Kj=Array.isArray,K$=Object.prototype.hasOwnProperty,lE={current:null},Y$={key:!0,ref:!0,__self:!0,__source:!0};function Z$(e,t,n){var r,i={},o=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(o=""+t.key),t)K$.call(t,r)&&!Y$.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1>>1,ee=Z[H];if(0>>1;Hi(ie,B))aei(fe,ie)?(Z[H]=fe,Z[ae]=B,H=ae):(Z[H]=ie,Z[te]=B,H=te);else if(aei(fe,B))Z[H]=fe,Z[ae]=B,H=ae;else break e}}return z}function i(Z,z){var B=Z.sortIndex-z.sortIndex;return B!==0?B:Z.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],u=[],f=1,d=null,h=3,v=!1,g=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(Z){for(var z=n(u);z!==null;){if(z.callback===null)r(u);else if(z.startTime<=Z)r(u),z.sortIndex=z.expirationTime,t(l,z);else break;z=n(u)}}function O(Z){if(y=!1,w(Z),!g)if(n(l)!==null)g=!0,Q(E);else{var z=n(u);z!==null&&ne(O,z.startTime-Z)}}function E(Z,z){g=!1,y&&(y=!1,_(A),A=-1),v=!0;var B=h;try{for(w(z),d=n(l);d!==null&&(!(d.expirationTime>z)||Z&&!I());){var H=d.callback;if(typeof H=="function"){d.callback=null,h=d.priorityLevel;var ee=H(d.expirationTime<=z);z=e.unstable_now(),typeof ee=="function"?d.callback=ee:d===n(l)&&r(l),w(z)}else r(l);d=n(l)}if(d!==null)var K=!0;else{var te=n(u);te!==null&&ne(O,te.startTime-z),K=!1}return K}finally{d=null,h=B,v=!1}}var P=!1,T=null,A=-1,D=5,k=-1;function I(){return!(e.unstable_now()-kZ||125H?(Z.sortIndex=B,t(u,Z),n(l)===null&&Z===n(u)&&(y?(_(A),A=-1):y=!0,ne(O,B-H))):(Z.sortIndex=ee,t(l,Z),g||v||(g=!0,Q(E))),Z},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(Z){var z=h;return function(){var B=h;h=z;try{return Z.apply(this,arguments)}finally{h=B}}}})(eI);J$.exports=eI;var lH=J$.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var tI=R,Fr=lH;function Se(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Tx=Object.prototype.hasOwnProperty,uH=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Zj={},Xj={};function cH(e){return Tx.call(Xj,e)?!0:Tx.call(Zj,e)?!1:uH.test(e)?Xj[e]=!0:(Zj[e]=!0,!1)}function fH(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function dH(e,t,n,r){if(t===null||typeof t>"u"||fH(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function dr(e,t,n,r,i,o,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=a}var Un={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Un[e]=new dr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Un[t]=new dr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Un[e]=new dr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Un[e]=new dr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Un[e]=new dr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Un[e]=new dr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Un[e]=new dr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Un[e]=new dr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Un[e]=new dr(e,5,!1,e.toLowerCase(),null,!1,!1)});var cE=/[\-:]([a-z])/g;function fE(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(cE,fE);Un[t]=new dr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(cE,fE);Un[t]=new dr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(cE,fE);Un[t]=new dr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Un[e]=new dr(e,1,!1,e.toLowerCase(),null,!1,!1)});Un.xlinkHref=new dr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Un[e]=new dr(e,1,!1,e.toLowerCase(),null,!0,!0)});function dE(e,t,n,r){var i=Un.hasOwnProperty(t)?Un[t]:null;(i!==null?i.type!==0:r||!(2s||i[a]!==o[s]){var l=` +`+i[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{U1=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ud(e):""}function hH(e){switch(e.tag){case 5:return ud(e.type);case 16:return ud("Lazy");case 13:return ud("Suspense");case 19:return ud("SuspenseList");case 0:case 2:case 15:return e=z1(e.type,!1),e;case 11:return e=z1(e.type.render,!1),e;case 1:return e=z1(e.type,!0),e;default:return""}}function Nx(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case xu:return"Fragment";case _u:return"Portal";case jx:return"Profiler";case hE:return"StrictMode";case Ax:return"Suspense";case kx:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case iI:return(e.displayName||"Context")+".Consumer";case rI:return(e._context.displayName||"Context")+".Provider";case pE:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case mE:return t=e.displayName||null,t!==null?t:Nx(e.type)||"Memo";case Sa:t=e._payload,e=e._init;try{return Nx(e(t))}catch{}}return null}function pH(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Nx(t);case 8:return t===hE?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Qa(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function aI(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function mH(e){var t=aI(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(a){r=""+a,o.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Nm(e){e._valueTracker||(e._valueTracker=mH(e))}function sI(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=aI(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function lg(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Mx(e,t){var n=t.checked;return Ht({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Jj(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Qa(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function lI(e,t){t=t.checked,t!=null&&dE(e,"checked",t,!1)}function Rx(e,t){lI(e,t);var n=Qa(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Lx(e,t.type,n):t.hasOwnProperty("defaultValue")&&Lx(e,t.type,Qa(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function eA(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Lx(e,t,n){(t!=="number"||lg(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var cd=Array.isArray;function Uu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Mm.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function eh(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var wd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},vH=["Webkit","ms","Moz","O"];Object.keys(wd).forEach(function(e){vH.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),wd[t]=wd[e]})});function dI(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||wd.hasOwnProperty(e)&&wd[e]?(""+t).trim():t+"px"}function hI(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=dI(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var gH=Ht({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Dx(e,t){if(t){if(gH[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Se(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Se(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Se(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Se(62))}}function Fx(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Bx=null;function vE(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ux=null,zu=null,Vu=null;function rA(e){if(e=Pp(e)){if(typeof Ux!="function")throw Error(Se(280));var t=e.stateNode;t&&(t=R0(t),Ux(e.stateNode,e.type,t))}}function pI(e){zu?Vu?Vu.push(e):Vu=[e]:zu=e}function mI(){if(zu){var e=zu,t=Vu;if(Vu=zu=null,rA(e),t)for(e=0;e>>=0,e===0?32:31-(TH(e)/jH|0)|0}var Rm=64,Lm=4194304;function fd(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function dg(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~i;s!==0?r=fd(s):(o&=a,o!==0&&(r=fd(o)))}else a=n&~i,a!==0?r=fd(a):o!==0&&(r=fd(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Op(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ii(t),e[t]=n}function MH(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Od),dA=" ",hA=!1;function LI(e,t){switch(e){case"keyup":return sG.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $I(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var wu=!1;function uG(e,t){switch(e){case"compositionend":return $I(t);case"keypress":return t.which!==32?null:(hA=!0,dA);case"textInput":return e=t.data,e===dA&&hA?null:e;default:return null}}function cG(e,t){if(wu)return e==="compositionend"||!OE&&LI(e,t)?(e=MI(),Iv=xE=Aa=null,wu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=gA(n)}}function BI(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?BI(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function UI(){for(var e=window,t=lg();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=lg(e.document)}return t}function EE(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function bG(e){var t=UI(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&BI(n.ownerDocument.documentElement,n)){if(r!==null&&EE(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=yA(n,o);var a=yA(n,r);i&&a&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Su=null,qx=null,Pd=null,Kx=!1;function bA(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Kx||Su==null||Su!==lg(r)||(r=Su,"selectionStart"in r&&EE(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Pd&&ah(Pd,r)||(Pd=r,r=mg(qx,"onSelect"),0Pu||(e.current=ew[Pu],ew[Pu]=null,Pu--)}function Ot(e,t){Pu++,ew[Pu]=e.current,e.current=t}var Ja={},Kn=fs(Ja),yr=fs(!1),yl=Ja;function ec(e,t){var n=e.type.contextTypes;if(!n)return Ja;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function br(e){return e=e.childContextTypes,e!=null}function gg(){Nt(yr),Nt(Kn)}function PA(e,t,n){if(Kn.current!==Ja)throw Error(Se(168));Ot(Kn,t),Ot(yr,n)}function ZI(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Se(108,pH(e)||"Unknown",i));return Ht({},n,r)}function yg(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ja,yl=Kn.current,Ot(Kn,e),Ot(yr,yr.current),!0}function CA(e,t,n){var r=e.stateNode;if(!r)throw Error(Se(169));n?(e=ZI(e,t,yl),r.__reactInternalMemoizedMergedChildContext=e,Nt(yr),Nt(Kn),Ot(Kn,e)):Nt(yr),Ot(yr,n)}var Ro=null,L0=!1,n_=!1;function XI(e){Ro===null?Ro=[e]:Ro.push(e)}function kG(e){L0=!0,XI(e)}function ds(){if(!n_&&Ro!==null){n_=!0;var e=0,t=vt;try{var n=Ro;for(vt=1;e>=a,i-=a,Lo=1<<32-Ii(t)+i|n<A?(D=T,T=null):D=T.sibling;var k=h(_,T,w[A],O);if(k===null){T===null&&(T=D);break}e&&T&&k.alternate===null&&t(_,T),b=o(k,b,A),P===null?E=k:P.sibling=k,P=k,T=D}if(A===w.length)return n(_,T),Lt&&Is(_,A),E;if(T===null){for(;AA?(D=T,T=null):D=T.sibling;var I=h(_,T,k.value,O);if(I===null){T===null&&(T=D);break}e&&T&&I.alternate===null&&t(_,T),b=o(I,b,A),P===null?E=I:P.sibling=I,P=I,T=D}if(k.done)return n(_,T),Lt&&Is(_,A),E;if(T===null){for(;!k.done;A++,k=w.next())k=d(_,k.value,O),k!==null&&(b=o(k,b,A),P===null?E=k:P.sibling=k,P=k);return Lt&&Is(_,A),E}for(T=r(_,T);!k.done;A++,k=w.next())k=v(T,_,A,k.value,O),k!==null&&(e&&k.alternate!==null&&T.delete(k.key===null?A:k.key),b=o(k,b,A),P===null?E=k:P.sibling=k,P=k);return e&&T.forEach(function(F){return t(_,F)}),Lt&&Is(_,A),E}function x(_,b,w,O){if(typeof w=="object"&&w!==null&&w.type===xu&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case km:e:{for(var E=w.key,P=b;P!==null;){if(P.key===E){if(E=w.type,E===xu){if(P.tag===7){n(_,P.sibling),b=i(P,w.props.children),b.return=_,_=b;break e}}else if(P.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Sa&&RA(E)===P.type){n(_,P.sibling),b=i(P,w.props),b.ref=Vf(_,P,w),b.return=_,_=b;break e}n(_,P);break}else t(_,P);P=P.sibling}w.type===xu?(b=ul(w.props.children,_.mode,O,w.key),b.return=_,_=b):(O=Hv(w.type,w.key,w.props,null,_.mode,O),O.ref=Vf(_,b,w),O.return=_,_=O)}return a(_);case _u:e:{for(P=w.key;b!==null;){if(b.key===P)if(b.tag===4&&b.stateNode.containerInfo===w.containerInfo&&b.stateNode.implementation===w.implementation){n(_,b.sibling),b=i(b,w.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else t(_,b);b=b.sibling}b=c_(w,_.mode,O),b.return=_,_=b}return a(_);case Sa:return P=w._init,x(_,b,P(w._payload),O)}if(cd(w))return g(_,b,w,O);if(Df(w))return y(_,b,w,O);zm(_,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,w),b.return=_,_=b):(n(_,b),b=u_(w,_.mode,O),b.return=_,_=b),a(_)):n(_,b)}return x}var nc=o6(!0),a6=o6(!1),Cp={},fo=fs(Cp),ch=fs(Cp),fh=fs(Cp);function Js(e){if(e===Cp)throw Error(Se(174));return e}function RE(e,t){switch(Ot(fh,t),Ot(ch,e),Ot(fo,Cp),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ix(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ix(t,e)}Nt(fo),Ot(fo,t)}function rc(){Nt(fo),Nt(ch),Nt(fh)}function s6(e){Js(fh.current);var t=Js(fo.current),n=Ix(t,e.type);t!==n&&(Ot(ch,e),Ot(fo,n))}function LE(e){ch.current===e&&(Nt(fo),Nt(ch))}var Ut=fs(0);function Og(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var r_=[];function $E(){for(var e=0;en?n:4,e(!0);var r=i_.transition;i_.transition={};try{e(!1),t()}finally{vt=n,i_.transition=r}}function S6(){return pi().memoizedState}function LG(e,t,n){var r=Ha(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},O6(e))E6(t,n);else if(n=t6(e,t,n,r),n!==null){var i=sr();Di(n,e,r,i),P6(n,t,r)}}function $G(e,t,n){var r=Ha(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(O6(e))E6(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var a=t.lastRenderedState,s=o(a,n);if(i.hasEagerState=!0,i.eagerState=s,Ui(s,a)){var l=t.interleaved;l===null?(i.next=i,NE(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=t6(e,t,i,r),n!==null&&(i=sr(),Di(n,e,r,i),P6(n,t,r))}}function O6(e){var t=e.alternate;return e===Vt||t!==null&&t===Vt}function E6(e,t){Cd=Eg=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function P6(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,yE(e,n)}}var Pg={readContext:hi,useCallback:zn,useContext:zn,useEffect:zn,useImperativeHandle:zn,useInsertionEffect:zn,useLayoutEffect:zn,useMemo:zn,useReducer:zn,useRef:zn,useState:zn,useDebugValue:zn,useDeferredValue:zn,useTransition:zn,useMutableSource:zn,useSyncExternalStore:zn,useId:zn,unstable_isNewReconciler:!1},IG={readContext:hi,useCallback:function(e,t){return no().memoizedState=[e,t===void 0?null:t],e},useContext:hi,useEffect:$A,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Uv(4194308,4,y6.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Uv(4194308,4,e,t)},useInsertionEffect:function(e,t){return Uv(4,2,e,t)},useMemo:function(e,t){var n=no();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=no();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=LG.bind(null,Vt,e),[r.memoizedState,e]},useRef:function(e){var t=no();return e={current:e},t.memoizedState=e},useState:LA,useDebugValue:UE,useDeferredValue:function(e){return no().memoizedState=e},useTransition:function(){var e=LA(!1),t=e[0];return e=RG.bind(null,e[1]),no().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Vt,i=no();if(Lt){if(n===void 0)throw Error(Se(407));n=n()}else{if(n=t(),Cn===null)throw Error(Se(349));_l&30||c6(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,$A(d6.bind(null,r,o,e),[e]),r.flags|=2048,ph(9,f6.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=no(),t=Cn.identifierPrefix;if(Lt){var n=$o,r=Lo;n=(r&~(1<<32-Ii(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=dh++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[oo]=t,e[uh]=r,L6(e,t,!1,!1),t.stateNode=e;e:{switch(a=Fx(n,r),n){case"dialog":Ct("cancel",e),Ct("close",e),i=r;break;case"iframe":case"object":case"embed":Ct("load",e),i=r;break;case"video":case"audio":for(i=0;ioc&&(t.flags|=128,r=!0,Wf(o,!1),t.lanes=4194304)}else{if(!r)if(e=Og(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Wf(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!Lt)return Vn(t),null}else 2*tn()-o.renderingStartTime>oc&&n!==1073741824&&(t.flags|=128,r=!0,Wf(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(n=o.last,n!==null?n.sibling=a:t.child=a,o.last=a)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=tn(),t.sibling=null,n=Ut.current,Ot(Ut,r?n&1|2:n&1),t):(Vn(t),null);case 22:case 23:return qE(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Nr&1073741824&&(Vn(t),t.subtreeFlags&6&&(t.flags|=8192)):Vn(t),null;case 24:return null;case 25:return null}throw Error(Se(156,t.tag))}function HG(e,t){switch(CE(t),t.tag){case 1:return br(t.type)&&gg(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return rc(),Nt(yr),Nt(Kn),$E(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return LE(t),null;case 13:if(Nt(Ut),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Se(340));tc()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Nt(Ut),null;case 4:return rc(),null;case 10:return kE(t.type._context),null;case 22:case 23:return qE(),null;case 24:return null;default:return null}}var Wm=!1,Hn=!1,GG=typeof WeakSet=="function"?WeakSet:Set,$e=null;function Au(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){qt(e,t,r)}else n.current=null}function dw(e,t,n){try{n()}catch(r){qt(e,t,r)}}var HA=!1;function qG(e,t){if(Yx=hg,e=UI(),EE(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,u=0,f=0,d=e,h=null;t:for(;;){for(var v;d!==n||i!==0&&d.nodeType!==3||(s=a+i),d!==o||r!==0&&d.nodeType!==3||(l=a+r),d.nodeType===3&&(a+=d.nodeValue.length),(v=d.firstChild)!==null;)h=d,d=v;for(;;){if(d===e)break t;if(h===n&&++u===i&&(s=a),h===o&&++f===r&&(l=a),(v=d.nextSibling)!==null)break;d=h,h=d.parentNode}d=v}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Zx={focusedElem:e,selectionRange:n},hg=!1,$e=t;$e!==null;)if(t=$e,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,$e=e;else for(;$e!==null;){t=$e;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var y=g.memoizedProps,x=g.memoizedState,_=t.stateNode,b=_.getSnapshotBeforeUpdate(t.elementType===t.type?y:Ti(t.type,y),x);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Se(163))}}catch(O){qt(t,t.return,O)}if(e=t.sibling,e!==null){e.return=t.return,$e=e;break}$e=t.return}return g=HA,HA=!1,g}function Td(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&dw(t,n,o)}i=i.next}while(i!==r)}}function D0(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function hw(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function D6(e){var t=e.alternate;t!==null&&(e.alternate=null,D6(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[oo],delete t[uh],delete t[Jx],delete t[jG],delete t[AG])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function F6(e){return e.tag===5||e.tag===3||e.tag===4}function GA(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||F6(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function pw(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=vg));else if(r!==4&&(e=e.child,e!==null))for(pw(e,t,n),e=e.sibling;e!==null;)pw(e,t,n),e=e.sibling}function mw(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(mw(e,t,n),e=e.sibling;e!==null;)mw(e,t,n),e=e.sibling}var Fn=null,ji=!1;function pa(e,t,n){for(n=n.child;n!==null;)B6(e,t,n),n=n.sibling}function B6(e,t,n){if(co&&typeof co.onCommitFiberUnmount=="function")try{co.onCommitFiberUnmount(A0,n)}catch{}switch(n.tag){case 5:Hn||Au(n,t);case 6:var r=Fn,i=ji;Fn=null,pa(e,t,n),Fn=r,ji=i,Fn!==null&&(ji?(e=Fn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Fn.removeChild(n.stateNode));break;case 18:Fn!==null&&(ji?(e=Fn,n=n.stateNode,e.nodeType===8?t_(e.parentNode,n):e.nodeType===1&&t_(e,n),ih(e)):t_(Fn,n.stateNode));break;case 4:r=Fn,i=ji,Fn=n.stateNode.containerInfo,ji=!0,pa(e,t,n),Fn=r,ji=i;break;case 0:case 11:case 14:case 15:if(!Hn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,a=o.destroy;o=o.tag,a!==void 0&&(o&2||o&4)&&dw(n,t,a),i=i.next}while(i!==r)}pa(e,t,n);break;case 1:if(!Hn&&(Au(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){qt(n,t,s)}pa(e,t,n);break;case 21:pa(e,t,n);break;case 22:n.mode&1?(Hn=(r=Hn)||n.memoizedState!==null,pa(e,t,n),Hn=r):pa(e,t,n);break;default:pa(e,t,n)}}function qA(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new GG),t.forEach(function(r){var i=nq.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Pi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=a),r&=~o}if(r=i,r=tn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*YG(r/1960))-r,10e?16:e,ka===null)var r=!1;else{if(e=ka,ka=null,jg=0,ft&6)throw Error(Se(331));var i=ft;for(ft|=4,$e=e.current;$e!==null;){var o=$e,a=o.child;if($e.flags&16){var s=o.deletions;if(s!==null){for(var l=0;ltn()-HE?ll(e,0):WE|=n),_r(e,t)}function K6(e,t){t===0&&(e.mode&1?(t=Lm,Lm<<=1,!(Lm&130023424)&&(Lm=4194304)):t=1);var n=sr();e=Go(e,t),e!==null&&(Op(e,t,n),_r(e,n))}function tq(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),K6(e,n)}function nq(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Se(314))}r!==null&&r.delete(t),K6(e,n)}var Y6;Y6=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||yr.current)vr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return vr=!1,VG(e,t,n);vr=!!(e.flags&131072)}else vr=!1,Lt&&t.flags&1048576&&QI(t,_g,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;zv(e,t),e=t.pendingProps;var i=ec(t,Kn.current);Hu(t,n),i=DE(null,t,r,e,i,n);var o=FE();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,br(r)?(o=!0,yg(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,ME(t),i.updater=$0,t.stateNode=i,i._reactInternals=t,ow(t,r,e,n),t=lw(null,t,r,!0,o,n)):(t.tag=0,Lt&&o&&PE(t),tr(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(zv(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=iq(r),e=Ti(r,e),i){case 0:t=sw(null,t,r,e,n);break e;case 1:t=zA(null,t,r,e,n);break e;case 11:t=BA(null,t,r,e,n);break e;case 14:t=UA(null,t,r,Ti(r.type,e),n);break e}throw Error(Se(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),sw(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),zA(e,t,r,i,n);case 3:e:{if(N6(t),e===null)throw Error(Se(387));r=t.pendingProps,o=t.memoizedState,i=o.element,n6(e,t),Sg(t,r,null,n);var a=t.memoizedState;if(r=a.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=ic(Error(Se(423)),t),t=VA(e,t,r,n,i);break e}else if(r!==i){i=ic(Error(Se(424)),t),t=VA(e,t,r,n,i);break e}else for(Lr=za(t.stateNode.containerInfo.firstChild),Ir=t,Lt=!0,Ni=null,n=a6(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(tc(),r===i){t=qo(e,t,n);break e}tr(e,t,r,n)}t=t.child}return t;case 5:return s6(t),e===null&&nw(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,a=i.children,Xx(r,i)?a=null:o!==null&&Xx(r,o)&&(t.flags|=32),k6(e,t),tr(e,t,a,n),t.child;case 6:return e===null&&nw(t),null;case 13:return M6(e,t,n);case 4:return RE(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=nc(t,null,r,n):tr(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),BA(e,t,r,i,n);case 7:return tr(e,t,t.pendingProps,n),t.child;case 8:return tr(e,t,t.pendingProps.children,n),t.child;case 12:return tr(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,a=i.value,Ot(xg,r._currentValue),r._currentValue=a,o!==null)if(Ui(o.value,a)){if(o.children===i.children&&!yr.current){t=qo(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){a=o.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Bo(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var f=u.pending;f===null?l.next=l:(l.next=f.next,f.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),rw(o.return,n,t),s.lanes|=n;break}l=l.next}}else if(o.tag===10)a=o.type===t.type?null:o.child;else if(o.tag===18){if(a=o.return,a===null)throw Error(Se(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),rw(a,n,t),a=o.sibling}else a=o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}tr(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Hu(t,n),i=hi(i),r=r(i),t.flags|=1,tr(e,t,r,n),t.child;case 14:return r=t.type,i=Ti(r,t.pendingProps),i=Ti(r.type,i),UA(e,t,r,i,n);case 15:return j6(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),zv(e,t),t.tag=1,br(r)?(e=!0,yg(t)):e=!1,Hu(t,n),i6(t,r,i),ow(t,r,i,n),lw(null,t,r,!0,e,n);case 19:return R6(e,t,n);case 22:return A6(e,t,n)}throw Error(Se(156,t.tag))};function Z6(e,t){return wI(e,t)}function rq(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function li(e,t,n,r){return new rq(e,t,n,r)}function YE(e){return e=e.prototype,!(!e||!e.isReactComponent)}function iq(e){if(typeof e=="function")return YE(e)?1:0;if(e!=null){if(e=e.$$typeof,e===pE)return 11;if(e===mE)return 14}return 2}function Ga(e,t){var n=e.alternate;return n===null?(n=li(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Hv(e,t,n,r,i,o){var a=2;if(r=e,typeof e=="function")YE(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case xu:return ul(n.children,i,o,t);case hE:a=8,i|=8;break;case jx:return e=li(12,n,t,i|2),e.elementType=jx,e.lanes=o,e;case Ax:return e=li(13,n,t,i),e.elementType=Ax,e.lanes=o,e;case kx:return e=li(19,n,t,i),e.elementType=kx,e.lanes=o,e;case oI:return B0(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rI:a=10;break e;case iI:a=9;break e;case pE:a=11;break e;case mE:a=14;break e;case Sa:a=16,r=null;break e}throw Error(Se(130,e==null?e:typeof e,""))}return t=li(a,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function ul(e,t,n,r){return e=li(7,e,r,t),e.lanes=n,e}function B0(e,t,n,r){return e=li(22,e,r,t),e.elementType=oI,e.lanes=n,e.stateNode={isHidden:!1},e}function u_(e,t,n){return e=li(6,e,null,t),e.lanes=n,e}function c_(e,t,n){return t=li(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function oq(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=W1(0),this.expirationTimes=W1(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=W1(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function ZE(e,t,n,r,i,o,a,s,l){return e=new oq(e,t,n,s,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=li(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ME(o),e}function aq(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(eD)}catch(e){console.error(e)}}eD(),Q$.exports=Vr;var H0=Q$.exports;const el=at(H0);var tD,tk=H0;tD=tk.createRoot,tk.hydrateRoot;var fq={};/** + * @license React + * use-sync-external-store-with-selector.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Tp=R;function dq(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var hq=typeof Object.is=="function"?Object.is:dq,pq=Tp.useSyncExternalStore,mq=Tp.useRef,vq=Tp.useEffect,gq=Tp.useMemo,yq=Tp.useDebugValue;fq.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=mq(null);if(o.current===null){var a={hasValue:!1,value:null};o.current=a}else a=o.current;o=gq(function(){function l(v){if(!u){if(u=!0,f=v,v=r(v),i!==void 0&&a.hasValue){var g=a.value;if(i(g,v))return d=g}return d=v}if(g=d,hq(f,v))return g;var y=r(v);return i!==void 0&&i(g,y)?g:(f=v,d=y)}var u=!1,f,d,h=n===void 0?null:n;return[function(){return l(t())},h===null?void 0:function(){return l(h())}]},[t,n,r,i]);var s=pq(e,o[0],o[1]);return vq(function(){a.hasValue=!0,a.value=s},[s]),yq(s),s};var pt="default"in Cx?V:Cx,nk=Symbol.for("react-redux-context"),rk=typeof globalThis<"u"?globalThis:{};function bq(){if(!pt.createContext)return{};const e=rk[nk]??(rk[nk]=new Map);let t=e.get(pt.createContext);return t||(t=pt.createContext(null),e.set(pt.createContext,t)),t}var nD=bq(),_q=()=>{throw new Error("uSES not initialized!")},xq=Symbol.for("react.element"),wq=Symbol.for("react.portal"),Sq=Symbol.for("react.fragment"),Oq=Symbol.for("react.strict_mode"),Eq=Symbol.for("react.profiler"),Pq=Symbol.for("react.provider"),Cq=Symbol.for("react.context"),Tq=Symbol.for("react.server_context"),rD=Symbol.for("react.forward_ref"),jq=Symbol.for("react.suspense"),Aq=Symbol.for("react.suspense_list"),eP=Symbol.for("react.memo"),kq=Symbol.for("react.lazy"),Nq=rD,Mq=eP;function Rq(e){if(typeof e=="object"&&e!==null){const t=e.$$typeof;switch(t){case xq:{const n=e.type;switch(n){case Sq:case Eq:case Oq:case jq:case Aq:return n;default:{const r=n&&n.$$typeof;switch(r){case Tq:case Cq:case rD:case kq:case eP:case Pq:return r;default:return t}}}}case wq:return t}}}function Lq(e){return Rq(e)===eP}function $q(e,t,n,r,{areStatesEqual:i,areOwnPropsEqual:o,areStatePropsEqual:a}){let s=!1,l,u,f,d,h;function v(b,w){return l=b,u=w,f=e(l,u),d=t(r,u),h=n(f,d,u),s=!0,h}function g(){return f=e(l,u),t.dependsOnOwnProps&&(d=t(r,u)),h=n(f,d,u),h}function y(){return e.dependsOnOwnProps&&(f=e(l,u)),t.dependsOnOwnProps&&(d=t(r,u)),h=n(f,d,u),h}function x(){const b=e(l,u),w=!a(b,f);return f=b,w&&(h=n(f,d,u)),h}function _(b,w){const O=!o(w,u),E=!i(b,l,w,u);return l=b,u=w,O&&E?g():O?y():E?x():h}return function(w,O){return s?_(w,O):v(w,O)}}function Iq(e,{initMapStateToProps:t,initMapDispatchToProps:n,initMergeProps:r,...i}){const o=t(e,i),a=n(e,i),s=r(e,i);return $q(o,a,s,e,i)}function Dq(e,t){const n={};for(const r in e){const i=e[r];typeof i=="function"&&(n[r]=(...o)=>t(i(...o)))}return n}function _w(e){return function(n){const r=e(n);function i(){return r}return i.dependsOnOwnProps=!1,i}}function ik(e){return e.dependsOnOwnProps?!!e.dependsOnOwnProps:e.length!==1}function iD(e,t){return function(r,{displayName:i}){const o=function(s,l){return o.dependsOnOwnProps?o.mapToProps(s,l):o.mapToProps(s,void 0)};return o.dependsOnOwnProps=!0,o.mapToProps=function(s,l){o.mapToProps=e,o.dependsOnOwnProps=ik(e);let u=o(s,l);return typeof u=="function"&&(o.mapToProps=u,o.dependsOnOwnProps=ik(u),u=o(s,l)),u},o}}function tP(e,t){return(n,r)=>{throw new Error(`Invalid value of type ${typeof e} for ${t} argument when connecting component ${r.wrappedComponentName}.`)}}function Fq(e){return e&&typeof e=="object"?_w(t=>Dq(e,t)):e?typeof e=="function"?iD(e):tP(e,"mapDispatchToProps"):_w(t=>({dispatch:t}))}function Bq(e){return e?typeof e=="function"?iD(e):tP(e,"mapStateToProps"):_w(()=>({}))}function Uq(e,t,n){return{...n,...e,...t}}function zq(e){return function(n,{displayName:r,areMergedPropsEqual:i}){let o=!1,a;return function(l,u,f){const d=e(l,u,f);return o?i(d,a)||(a=d):(o=!0,a=d),a}}}function Vq(e){return e?typeof e=="function"?zq(e):tP(e,"mergeProps"):()=>Uq}function Wq(e){e()}function Hq(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Wq(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var ok={notify(){},get:()=>[]};function oD(e,t){let n,r=ok,i=0,o=!1;function a(y){f();const x=r.subscribe(y);let _=!1;return()=>{_||(_=!0,x(),d())}}function s(){r.notify()}function l(){g.onStateChange&&g.onStateChange()}function u(){return o}function f(){i++,n||(n=t?t.addNestedSub(l):e.subscribe(l),r=Hq())}function d(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=ok)}function h(){o||(o=!0,f())}function v(){o&&(o=!1,d())}const g={addNestedSub:a,notifyNestedSubs:s,handleChangeWrapper:l,isSubscribed:u,trySubscribe:h,tryUnsubscribe:v,getListeners:()=>r};return g}var Gq=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Ng=Gq?pt.useLayoutEffect:pt.useEffect;function ak(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function f_(e,t){if(ak(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{sD=e},nK=[null,null];function rK(e,t,n){Ng(()=>e(...t),n)}function iK(e,t,n,r,i,o){e.current=r,n.current=!1,i.current&&(i.current=null,o())}function oK(e,t,n,r,i,o,a,s,l,u,f){if(!e)return()=>{};let d=!1,h=null;const v=()=>{if(d||!s.current)return;const y=t.getState();let x,_;try{x=r(y,i.current)}catch(b){_=b,h=b}_||(h=null),x===o.current?a.current||u():(o.current=x,l.current=x,a.current=!0,f())};return n.onStateChange=v,n.trySubscribe(),v(),()=>{if(d=!0,n.tryUnsubscribe(),n.onStateChange=null,h)throw h}}function aK(e,t){return e===t}function sK(e,t,n,{pure:r,areStatesEqual:i=aK,areOwnPropsEqual:o=f_,areStatePropsEqual:a=f_,areMergedPropsEqual:s=f_,forwardRef:l=!1,context:u=nD}={}){const f=u,d=Bq(e),h=Fq(t),v=Vq(n),g=!!e;return x=>{const _=x.displayName||x.name||"Component",b=`Connect(${_})`,w={shouldHandleStateChanges:g,displayName:b,wrappedComponentName:_,WrappedComponent:x,initMapStateToProps:d,initMapDispatchToProps:h,initMergeProps:v,areStatesEqual:i,areStatePropsEqual:a,areOwnPropsEqual:o,areMergedPropsEqual:s};function O(T){const[A,D,k]=pt.useMemo(()=>{const{reactReduxForwardedRef:Y,...oe}=T;return[T.context,Y,oe]},[T]),I=pt.useMemo(()=>{let Y=f;return A!=null&&A.Consumer,Y},[A,f]),F=pt.useContext(I),q=!!T.store&&!!T.store.getState&&!!T.store.dispatch,W=!!F&&!!F.store,X=q?T.store:F.store,Q=W?F.getServerState:X.getState,ne=pt.useMemo(()=>Iq(X.dispatch,w),[X]),[Z,z]=pt.useMemo(()=>{if(!g)return nK;const Y=oD(X,q?void 0:F.subscription),oe=Y.notifyNestedSubs.bind(Y);return[Y,oe]},[X,q,F]),B=pt.useMemo(()=>q?F:{...F,subscription:Z},[q,F,Z]),H=pt.useRef(),ee=pt.useRef(k),K=pt.useRef(),te=pt.useRef(!1);pt.useRef(!1);const ie=pt.useRef(!1),ae=pt.useRef();Ng(()=>(ie.current=!0,()=>{ie.current=!1}),[]);const fe=pt.useMemo(()=>()=>K.current&&k===ee.current?K.current:ne(X.getState(),k),[X,k]),j=pt.useMemo(()=>oe=>Z?oK(g,X,Z,ne,ee,H,te,ie,K,z,oe):()=>{},[Z]);rK(iK,[ee,H,te,k,K,z]);let N;try{N=sD(j,fe,Q?()=>ne(Q(),k):fe)}catch(Y){throw ae.current&&(Y.message+=` +The error may be correlated with this previous error: +${ae.current.stack} + +`),Y}Ng(()=>{ae.current=void 0,K.current=void 0,H.current=N});const U=pt.useMemo(()=>pt.createElement(x,{...N,ref:D}),[D,x,N]);return pt.useMemo(()=>g?pt.createElement(I.Provider,{value:B},U):U,[I,U,B])}const P=pt.memo(O);if(P.WrappedComponent=x,P.displayName=O.displayName=b,l){const A=pt.forwardRef(function(k,I){return pt.createElement(P,{...k,reactReduxForwardedRef:I})});return A.displayName=b,A.WrappedComponent=x,xw(A,x)}return xw(P,x)}}var lD=sK;function lK({store:e,context:t,children:n,serverState:r,stabilityCheck:i="once",identityFunctionCheck:o="once"}){const a=pt.useMemo(()=>{const u=oD(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,identityFunctionCheck:o}},[e,r,i,o]),s=pt.useMemo(()=>e.getState(),[e]);Ng(()=>{const{subscription:u}=a;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),s!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[a,s]);const l=t||nD;return pt.createElement(l.Provider,{value:a},n)}var uD=lK;tK(R.useSyncExternalStore);/** + * @remix-run/router v1.15.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function vh(){return vh=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function cD(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function cK(){return Math.random().toString(36).substr(2,8)}function fk(e,t){return{usr:e.state,key:e.key,idx:t}}function ww(e,t,n,r){return n===void 0&&(n=null),vh({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?qc(t):t,{state:n,key:t&&t.key||r||cK()})}function Mg(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function qc(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function fK(e,t,n,r){r===void 0&&(r={});let{window:i=document.defaultView,v5Compat:o=!1}=r,a=i.history,s=Na.Pop,l=null,u=f();u==null&&(u=0,a.replaceState(vh({},a.state,{idx:u}),""));function f(){return(a.state||{idx:null}).idx}function d(){s=Na.Pop;let x=f(),_=x==null?null:x-u;u=x,l&&l({action:s,location:y.location,delta:_})}function h(x,_){s=Na.Push;let b=ww(y.location,x,_);n&&n(b,x),u=f()+1;let w=fk(b,u),O=y.createHref(b);try{a.pushState(w,"",O)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;i.location.assign(O)}o&&l&&l({action:s,location:y.location,delta:1})}function v(x,_){s=Na.Replace;let b=ww(y.location,x,_);n&&n(b,x),u=f();let w=fk(b,u),O=y.createHref(b);a.replaceState(w,"",O),o&&l&&l({action:s,location:y.location,delta:0})}function g(x){let _=i.location.origin!=="null"?i.location.origin:i.location.href,b=typeof x=="string"?x:Mg(x);return b=b.replace(/ $/,"%20"),Wt(_,"No window.location.(origin|href) available to create URL for href: "+b),new URL(b,_)}let y={get action(){return s},get location(){return e(i,a)},listen(x){if(l)throw new Error("A history only accepts one active listener");return i.addEventListener(ck,d),l=x,()=>{i.removeEventListener(ck,d),l=null}},createHref(x){return t(i,x)},createURL:g,encodeLocation(x){let _=g(x);return{pathname:_.pathname,search:_.search,hash:_.hash}},push:h,replace:v,go(x){return a.go(x)}};return y}var dk;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(dk||(dk={}));function dK(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?qc(t):t,i=ac(r.pathname||"/",n);if(i==null)return null;let o=fD(e);hK(o);let a=null;for(let s=0;a==null&&s{let l={relativePath:s===void 0?o.path||"":s,caseSensitive:o.caseSensitive===!0,childrenIndex:a,route:o};l.relativePath.startsWith("/")&&(Wt(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=qa([r,l.relativePath]),f=n.concat(l);o.children&&o.children.length>0&&(Wt(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),fD(o.children,t,f,u)),!(o.path==null&&!o.index)&&t.push({path:u,score:_K(u,o.index),routesMeta:f})};return e.forEach((o,a)=>{var s;if(o.path===""||!((s=o.path)!=null&&s.includes("?")))i(o,a);else for(let l of dD(o.path))i(o,a,l)}),t}function dD(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),o=n.replace(/\?$/,"");if(r.length===0)return i?[o,""]:[o];let a=dD(r.join("/")),s=[];return s.push(...a.map(l=>l===""?o:[o,l].join("/"))),i&&s.push(...a),s.map(l=>e.startsWith("/")&&l===""?"/":l)}function hK(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:xK(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const pK=/^:[\w-]+$/,mK=3,vK=2,gK=1,yK=10,bK=-2,hk=e=>e==="*";function _K(e,t){let n=e.split("/"),r=n.length;return n.some(hk)&&(r+=bK),t&&(r+=vK),n.filter(i=>!hk(i)).reduce((i,o)=>i+(pK.test(o)?mK:o===""?gK:yK),r)}function xK(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function wK(e,t){let{routesMeta:n}=e,r={},i="/",o=[];for(let a=0;a{let{paramName:h,isOptional:v}=f;if(h==="*"){let y=s[d]||"";a=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const g=s[d];return v&&!g?u[h]=void 0:u[h]=(g||"").replace(/%2F/g,"/"),u},{}),pathname:o,pathnameBase:a,pattern:e}}function SK(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),cD(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,l)=>(r.push({paramName:s,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function OK(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return cD(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function ac(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function EK(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?qc(e):e;return{pathname:n?n.startsWith("/")?n:PK(n,t):t,search:jK(r),hash:AK(i)}}function PK(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function d_(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function CK(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function nP(e,t){let n=CK(e);return t?n.map((r,i)=>i===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function rP(e,t,n,r){r===void 0&&(r=!1);let i;typeof e=="string"?i=qc(e):(i=vh({},e),Wt(!i.pathname||!i.pathname.includes("?"),d_("?","pathname","search",i)),Wt(!i.pathname||!i.pathname.includes("#"),d_("#","pathname","hash",i)),Wt(!i.search||!i.search.includes("#"),d_("#","search","hash",i)));let o=e===""||i.pathname==="",a=o?"/":i.pathname,s;if(a==null)s=n;else{let d=t.length-1;if(!r&&a.startsWith("..")){let h=a.split("/");for(;h[0]==="..";)h.shift(),d-=1;i.pathname=h.join("/")}s=d>=0?t[d]:"/"}let l=EK(i,s),u=a&&a!=="/"&&a.endsWith("/"),f=(o||a===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||f)&&(l.pathname+="/"),l}const qa=e=>e.join("/").replace(/\/\/+/g,"/"),TK=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),jK=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,AK=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function kK(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const hD=["post","put","patch","delete"];new Set(hD);const NK=["get",...hD];new Set(NK);/** + * React Router v6.22.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function gh(){return gh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),R.useCallback(function(u,f){if(f===void 0&&(f={}),!s.current)return;if(typeof u=="number"){r.go(u);return}let d=rP(u,JSON.parse(a),o,f.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:qa([t,d.pathname])),(f.replace?r.replace:r.push)(d,f.state,f)},[t,r,a,o,e])}function Kc(){let{matches:e}=R.useContext(oa),t=e[e.length-1];return t?t.params:{}}function K0(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=R.useContext(ia),{matches:i}=R.useContext(oa),{pathname:o}=hr(),a=JSON.stringify(nP(i,r.v7_relativeSplatPath));return R.useMemo(()=>rP(e,JSON.parse(a),o,n==="path"),[e,a,o,n])}function LK(e,t){return $K(e,t)}function $K(e,t,n,r){Il()||Wt(!1);let{navigator:i}=R.useContext(ia),{matches:o}=R.useContext(oa),a=o[o.length-1],s=a?a.params:{};a&&a.pathname;let l=a?a.pathnameBase:"/";a&&a.route;let u=hr(),f;if(t){var d;let x=typeof t=="string"?qc(t):t;l==="/"||(d=x.pathname)!=null&&d.startsWith(l)||Wt(!1),f=x}else f=u;let h=f.pathname||"/",v=h;if(l!=="/"){let x=l.replace(/^\//,"").split("/");v="/"+h.replace(/^\//,"").split("/").slice(x.length).join("/")}let g=dK(e,{pathname:v}),y=UK(g&&g.map(x=>Object.assign({},x,{params:Object.assign({},s,x.params),pathname:qa([l,i.encodeLocation?i.encodeLocation(x.pathname).pathname:x.pathname]),pathnameBase:x.pathnameBase==="/"?l:qa([l,i.encodeLocation?i.encodeLocation(x.pathnameBase).pathname:x.pathnameBase])})),o,n,r);return t&&y?R.createElement(q0.Provider,{value:{location:gh({pathname:"/",search:"",hash:"",state:null,key:"default"},f),navigationType:Na.Pop}},y):y}function IK(){let e=HK(),t=kK(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return R.createElement(R.Fragment,null,R.createElement("h2",null,"Unexpected Application Error!"),R.createElement("h3",{style:{fontStyle:"italic"}},t),n?R.createElement("pre",{style:i},n):null,null)}const DK=R.createElement(IK,null);class FK extends R.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?R.createElement(oa.Provider,{value:this.props.routeContext},R.createElement(mD.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function BK(e){let{routeContext:t,match:n,children:r}=e,i=R.useContext(G0);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),R.createElement(oa.Provider,{value:t},r)}function UK(e,t,n,r){var i;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var o;if((o=n)!=null&&o.errors)e=n.matches;else return null}let a=e,s=(i=n)==null?void 0:i.errors;if(s!=null){let f=a.findIndex(d=>d.route.id&&(s==null?void 0:s[d.route.id]));f>=0||Wt(!1),a=a.slice(0,Math.min(a.length,f+1))}let l=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let f=0;f=0?a=a.slice(0,u+1):a=[a[0]];break}}}return a.reduceRight((f,d,h)=>{let v,g=!1,y=null,x=null;n&&(v=s&&d.route.id?s[d.route.id]:void 0,y=d.route.errorElement||DK,l&&(u<0&&h===0?(qK("route-fallback",!1),g=!0,x=null):u===h&&(g=!0,x=d.route.hydrateFallbackElement||null)));let _=t.concat(a.slice(0,h+1)),b=()=>{let w;return v?w=y:g?w=x:d.route.Component?w=R.createElement(d.route.Component,null):d.route.element?w=d.route.element:w=f,R.createElement(BK,{match:d,routeContext:{outlet:f,matches:_,isDataRoute:n!=null},children:w})};return n&&(d.route.ErrorBoundary||d.route.errorElement||h===0)?R.createElement(FK,{location:n.location,revalidation:n.revalidation,component:y,error:v,children:b(),routeContext:{outlet:null,matches:_,isDataRoute:!0}}):b()},null)}var gD=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(gD||{}),Rg=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Rg||{});function zK(e){let t=R.useContext(G0);return t||Wt(!1),t}function VK(e){let t=R.useContext(pD);return t||Wt(!1),t}function WK(e){let t=R.useContext(oa);return t||Wt(!1),t}function yD(e){let t=WK(),n=t.matches[t.matches.length-1];return n.route.id||Wt(!1),n.route.id}function HK(){var e;let t=R.useContext(mD),n=VK(Rg.UseRouteError),r=yD(Rg.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function GK(){let{router:e}=zK(gD.UseNavigateStable),t=yD(Rg.UseNavigateStable),n=R.useRef(!1);return vD(()=>{n.current=!0}),R.useCallback(function(i,o){o===void 0&&(o={}),n.current&&(typeof i=="number"?e.navigate(i):e.navigate(i,gh({fromRouteId:t},o)))},[e,t])}const pk={};function qK(e,t,n){!t&&!pk[e]&&(pk[e]=!0)}function iP(e){let{to:t,replace:n,state:r,relative:i}=e;Il()||Wt(!1);let{future:o,static:a}=R.useContext(ia),{matches:s}=R.useContext(oa),{pathname:l}=hr(),u=wo(),f=rP(t,nP(s,o.v7_relativeSplatPath),l,i==="path"),d=JSON.stringify(f);return R.useEffect(()=>u(JSON.parse(d),{replace:n,state:r,relative:i}),[u,d,i,n,r]),null}function lt(e){Wt(!1)}function KK(e){let{basename:t="/",children:n=null,location:r,navigationType:i=Na.Pop,navigator:o,static:a=!1,future:s}=e;Il()&&Wt(!1);let l=t.replace(/^\/*/,"/"),u=R.useMemo(()=>({basename:l,navigator:o,static:a,future:gh({v7_relativeSplatPath:!1},s)}),[l,s,o,a]);typeof r=="string"&&(r=qc(r));let{pathname:f="/",search:d="",hash:h="",state:v=null,key:g="default"}=r,y=R.useMemo(()=>{let x=ac(f,l);return x==null?null:{location:{pathname:x,search:d,hash:h,state:v,key:g},navigationType:i}},[l,f,d,h,v,g,i]);return y==null?null:R.createElement(ia.Provider,{value:u},R.createElement(q0.Provider,{children:n,value:y}))}function Y0(e){let{children:t,location:n}=e;return LK(Ow(t),n)}new Promise(()=>{});function Ow(e,t){t===void 0&&(t=[]);let n=[];return R.Children.forEach(e,(r,i)=>{if(!R.isValidElement(r))return;let o=[...t,i];if(r.type===R.Fragment){n.push.apply(n,Ow(r.props.children,o));return}r.type!==lt&&Wt(!1),!r.props.index||!r.props.children||Wt(!1);let a={id:r.props.id||o.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(a.children=Ow(r.props.children,o)),n.push(a)}),n}/** + * React Router DOM v6.22.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Lg(){return Lg=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function YK(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function ZK(e,t){return e.button===0&&(!t||t==="_self")&&!YK(e)}const XK=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],QK=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],JK="6";try{window.__reactRouterVersion=JK}catch{}const eY=R.createContext({isTransitioning:!1}),tY="startTransition",mk=Cx[tY];function _D(e){let{basename:t,children:n,future:r,window:i}=e,o=R.useRef();o.current==null&&(o.current=uK({window:i,v5Compat:!0}));let a=o.current,[s,l]=R.useState({action:a.action,location:a.location}),{v7_startTransition:u}=r||{},f=R.useCallback(d=>{u&&mk?mk(()=>l(d)):l(d)},[l,u]);return R.useLayoutEffect(()=>a.listen(f),[a,f]),R.createElement(KK,{basename:t,children:n,location:s.location,navigationType:s.action,navigator:a,future:r})}const nY=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",rY=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Pt=R.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:o,replace:a,state:s,target:l,to:u,preventScrollReset:f,unstable_viewTransition:d}=t,h=bD(t,XK),{basename:v}=R.useContext(ia),g,y=!1;if(typeof u=="string"&&rY.test(u)&&(g=u,nY))try{let w=new URL(window.location.href),O=u.startsWith("//")?new URL(w.protocol+u):new URL(u),E=ac(O.pathname,v);O.origin===w.origin&&E!=null?u=E+O.search+O.hash:y=!0}catch{}let x=MK(u,{relative:i}),_=oY(u,{replace:a,state:s,target:l,preventScrollReset:f,relative:i,unstable_viewTransition:d});function b(w){r&&r(w),w.defaultPrevented||_(w)}return R.createElement("a",Lg({},h,{href:g||x,onClick:y||o?r:b,ref:n,target:l}))}),xD=R.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:i=!1,className:o="",end:a=!1,style:s,to:l,unstable_viewTransition:u,children:f}=t,d=bD(t,QK),h=K0(l,{relative:d.relative}),v=hr(),g=R.useContext(pD),{navigator:y,basename:x}=R.useContext(ia),_=g!=null&&aY(h)&&u===!0,b=y.encodeLocation?y.encodeLocation(h).pathname:h.pathname,w=v.pathname,O=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;i||(w=w.toLowerCase(),O=O?O.toLowerCase():null,b=b.toLowerCase()),O&&x&&(O=ac(O,x)||O);const E=b!=="/"&&b.endsWith("/")?b.length-1:b.length;let P=w===b||!a&&w.startsWith(b)&&w.charAt(E)==="/",T=O!=null&&(O===b||!a&&O.startsWith(b)&&O.charAt(b.length)==="/"),A={isActive:P,isPending:T,isTransitioning:_},D=P?r:void 0,k;typeof o=="function"?k=o(A):k=[o,P?"active":null,T?"pending":null,_?"transitioning":null].filter(Boolean).join(" ");let I=typeof s=="function"?s(A):s;return R.createElement(Pt,Lg({},d,{"aria-current":D,className:k,ref:n,style:I,to:l,unstable_viewTransition:u}),typeof f=="function"?f(A):f)});var Ew;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Ew||(Ew={}));var vk;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(vk||(vk={}));function iY(e){let t=R.useContext(G0);return t||Wt(!1),t}function oY(e,t){let{target:n,replace:r,state:i,preventScrollReset:o,relative:a,unstable_viewTransition:s}=t===void 0?{}:t,l=wo(),u=hr(),f=K0(e,{relative:a});return R.useCallback(d=>{if(ZK(d,n)){d.preventDefault();let h=r!==void 0?r:Mg(u)===Mg(f);l(e,{replace:h,state:i,preventScrollReset:o,relative:a,unstable_viewTransition:s})}},[u,l,f,r,i,n,e,o,a,s])}function aY(e,t){t===void 0&&(t={});let n=R.useContext(eY);n==null&&Wt(!1);let{basename:r}=iY(Ew.useViewTransitionState),i=K0(e,{relative:t.relative});if(!n.isTransitioning)return!1;let o=ac(n.currentLocation.pathname,r)||n.currentLocation.pathname,a=ac(n.nextLocation.pathname,r)||n.nextLocation.pathname;return Sw(i.pathname,a)!=null||Sw(i.pathname,o)!=null}const sY="shlink-web-client",lY="A React-based progressive web application for shlink",uY="/shlink-web-client/feature/fixes",cY="https://github.com/shlinkio/shlink-web-client",fY="MIT",dY="module",hY={lint:"npm run lint:css && npm run lint:js","lint:css":"stylelint src/*.scss src/**/*.scss","lint:js":"eslint --ext .js,.ts,.tsx src test","lint:fix":"npm run lint:css:fix && npm run lint:js:fix","lint:css:fix":"npm run lint:css -- --fix","lint:js:fix":"npm run lint:js -- --fix",types:"tsc",start:"vite serve --host=0.0.0.0",preview:"vite preview --host=0.0.0.0",build:"npm run types && vite build && node scripts/replace-version.mjs","build:dist":"npm run build && node scripts/create-dist-file.mjs",test:"vitest run --run","test:watch":"vitest --watch","test:ci":"npm run test -- --coverage","test:verbose":"npm run test -- --verbose"},pY={"@fortawesome/fontawesome-free":"^6.5.2","@fortawesome/fontawesome-svg-core":"^6.5.2","@fortawesome/free-brands-svg-icons":"^6.5.2","@fortawesome/free-regular-svg-icons":"^6.5.2","@fortawesome/free-solid-svg-icons":"^6.5.2","@fortawesome/react-fontawesome":"^0.2.0","@json2csv/plainjs":"^7.0.6","@reduxjs/toolkit":"^2.2.3","@shlinkio/data-manipulation":"^1.0.3","@shlinkio/shlink-frontend-kit":"^0.5.1","@shlinkio/shlink-js-sdk":"^1.1.0","@shlinkio/shlink-web-component":"^0.6.2",bootstrap:"5.2.3",bottlejs:"^2.0.1",clsx:"^2.1.0","compare-versions":"^6.1.0",csvtojson:"^2.0.10","date-fns":"^3.6.0",react:"^18.2.0","react-dom":"^18.2.0","react-external-link":"^2.2.0","react-redux":"^9.1.0","react-router-dom":"^6.22.3",reactstrap:"^9.2.2","redux-localstorage-simple":"^2.5.1",uuid:"^9.0.1","workbox-core":"^7.0.0","workbox-expiration":"^7.0.0","workbox-precaching":"^7.0.0","workbox-routing":"^7.0.0","workbox-strategies":"^7.0.0"},mY={"@shlinkio/eslint-config-js-coding-standard":"~2.4.1","@shlinkio/stylelint-config-css-coding-standard":"~1.1.1","@testing-library/jest-dom":"^6.4.2","@testing-library/react":"^14.2.2","@testing-library/user-event":"^14.5.2","@total-typescript/shoehorn":"^0.1.2","@types/react":"^18.2.74","@types/react-dom":"^18.2.24","@types/uuid":"^9.0.8","@typescript-eslint/eslint-plugin":"^7.5.0","@typescript-eslint/parser":"^7.5.0","@vitejs/plugin-react":"^4.2.1","@vitest/coverage-v8":"^1.4.0","adm-zip":"^0.5.12","axe-core":"^4.9.0",chalk:"^5.3.0",eslint:"^8.57.0",history:"^5.3.0",jsdom:"^24.0.0",sass:"^1.74.1",stylelint:"^15.11.0",typescript:"^5.4.4",vite:"^5.2.8","vite-plugin-pwa":"^0.19.8",vitest:"^1.2.2"},vY=[">0.2%","not dead","not ie <= 11","not op_mini all"],$g={name:sY,description:lY,private:!1,homepage:uY,repository:cY,license:fY,type:dY,scripts:hY,dependencies:pY,devDependencies:mY,browserslist:vY};var zi,go=".",wD="function",SD="string",OD="__global__",oP="Provider",gY=0,aP=Array.prototype.slice,yY=function(t,n){var r=t[n];if(r===void 0&&zi.config.strict)throw new Error("Bottle was unable to resolve a service. `"+n+"` is undefined.");return r},Z0=function(t){var n;return this.nested[t]||(n=zi.pop(),this.nested[t]=n,this.factory(t,function(){return n.container})),this.nested[t]},ED=function(t){return t.split(go).reduce(yY,this)},bY=function(t,n,r,i){var o={configurable:!0,enumerable:!0};return t.length?o.get=function(){var s=0,l=function(f){if(f)throw f;t[s]&&t[s++](r,l)};return l(),r}:(o.value=r,o.writable=!0),Object.defineProperty(i,n,o),i[n]},_Y=function(t,n){var r,i;return typeof t===wD&&(n=t,t=OD),r=t.split(go),i=r.shift(),r.length?Z0.call(this,i).middleware(r.join(go),n):(this.middlewares[i]||(this.middlewares[i]=[]),this.middlewares[i].push(n)),this},xY=function(t,n){return n(t)},gk=function(t,n){return(t[n]||[]).concat(t.__global__||[])},wY=function(t,n){var r,i,o,a,s;return this.id,o=this.container,a=this.decorators,s=this.middlewares,r=t+oP,i=Object.create(null),i[r]={configurable:!0,enumerable:!0,get:function(){var u=new n;return delete o[r],o[r]=u,u}},i[t]={configurable:!0,enumerable:!0,get:function(){var u=o[r],f;return u&&(f=gk(a,t).reduce(xY,u.$get(o)),delete o[r],delete o[t]),f===void 0?f:bY(gk(s,t),t,f,o)}},Object.defineProperties(o,i),this},PD=function(t,n){var r,i;return r=t.split(go),this.providerMap[t]&&r.length===1&&!this.container[t+oP]?console.error(t+" provider already instantiated."):(this.originalProviders[t]=n,this.providerMap[t]=!0,i=r.shift(),r.length?(Z0.call(this,i).provider(r.join(go),n),this):wY.call(this,i,n))},sP=function(t,n){return PD.call(this,t,function(){this.$get=n})},CD=function(t,n,r){var i=arguments.length>3?aP.call(arguments,3):[],o=this;return sP.call(this,t,function(){var s=n,l=i.map(ED,o.container);return r?new(n.bind.apply(n,[null].concat(l))):s.apply(null,l)})},SY=function(t,n){return CD.apply(this,[t,n,!0].concat(aP.call(arguments,2)))},OY=function(t,n){return CD.apply(this,[t,n,!1].concat(aP.call(arguments,2)))},TD=function(t,n){Object.defineProperty(this,t,{configurable:!0,enumerable:!0,value:n,writable:!0})},jD=function(t,n){var r=t[n];return r||(r={},TD.call(t,n,r)),r},EY=function(t,n){var r;return r=t.split(go),t=r.pop(),TD.call(r.reduce(jD,this.container),t,n),this},PY=function(t,n){Object.defineProperty(this,t,{configurable:!1,enumerable:!0,value:n,writable:!1})},CY=function(t,n){var r=t.split(go);return t=r.pop(),PY.call(r.reduce(jD,this.container),t,n),this},AD=function(t,n){var r,i;return typeof t===wD&&(n=t,t=OD),r=t.split(go),i=r.shift(),r.length?Z0.call(this,i).decorator(r.join(go),n):(this.decorators[i]||(this.decorators[i]=[]),this.decorators[i].push(n)),this},TY=function(t){return this.deferred.push(t),this},jY=function(t){return(t||[]).map(ED,this.container)},AY=function(t,n){return sP.call(this,t,function(i){return{instance:n.bind(n,i)}})},kY=function(t){return!/^\$(?:decorator|register|list)$|Provider$/.test(t)},lP=function(t){return Object.keys(t||this.container||{}).filter(kY)},Ig={},NY=function(t){var n;return typeof t===SD?(n=Ig[t],n||(Ig[t]=n=new zi,n.constant("BOTTLE_NAME",t)),n):new zi},MY=function(t){typeof t===SD?delete Ig[t]:Ig={}},kD=function(t){var n=t.$value===void 0?t:t.$value;return this[t.$type||"service"].apply(this,[t.$name,n].concat(t.$inject||[]))},yk=function(t){delete this.providerMap[t],delete this.container[t],delete this.container[t+oP]},RY=function(t){var n=this.originalProviders,r=Array.isArray(t);Object.keys(this.originalProviders).forEach(function(o){if(!(r&&t.indexOf(o)===-1)){var a=o.split(go);a.length>1&&a.forEach(yk,Z0.call(this,a[0])),yk.call(this,o),this.provider(o,n[o])}},this)},LY=function(t){return this.deferred.forEach(function(r){r(t)}),this};zi=function e(t){if(!(this instanceof e))return e.pop(t);this.id=gY++,this.decorators={},this.middlewares={},this.nested={},this.providerMap={},this.originalProviders={},this.deferred=[],this.container={$decorator:AD.bind(this),$register:kD.bind(this),$list:lP.bind(this)}};zi.prototype={constant:CY,decorator:AD,defer:TY,digest:jY,factory:sP,instanceFactory:AY,list:lP,middleware:_Y,provider:PD,resetProviders:RY,register:kD,resolve:LY,service:SY,serviceFactory:OY,value:EY};zi.pop=NY;zi.clear=MY;zi.list=lP;zi.config={strict:!1};const ND=zi;var $Y=Object.defineProperty,IY=(e,t,n)=>t in e?$Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DY=(e,t,n)=>(IY(e,typeof t!="symbol"?t+"":t,n),n);const FY=(e,t)=>`${e}/rest/v${t}`,BY=e=>e.dir?`${e.field}-${e.dir}`:void 0,UY=({orderBy:e={},excludeMaxVisitsReached:t,excludePastValidUntil:n,...r})=>({...r,excludeMaxVisitsReached:t===!0?"true":void 0,excludePastValidUntil:n===!0?"true":void 0,orderBy:BY(e)}),zY=(e,t)=>{const[n,r]=e.split("://");if(!r)throw new Error(`It is not possible to determine authority on "${e}" for replacement`);const[,...i]=r.split("/"),o=i.length?`/${i.join("/")}`:"";return`${n}://${t}${o}`},VY=(e={})=>{const t=Object.entries(e).flatMap(([n,r])=>r==null?[]:Array.isArray(r)?r.map(i=>[`${n}[]`,i]):[[n,r]]);return new URLSearchParams(t).toString()};class WY{constructor(t,n){DY(this,"apiVersion"),this.httpClient=t,this.serverInfo=n,this.apiVersion=3}async listShortUrls(t={}){return this.performRequest({url:"/short-urls",query:UY(t)}).then(({shortUrls:n})=>n)}async createShortUrl(t){const n=Object.entries(t).reduce((r,[i,o])=>(o&&(r[i]=o),r),{});return this.performRequest({url:"/short-urls",method:"POST",body:n})}async getShortUrl(t,n){return this.performRequest({url:`/short-urls/${t}`,query:{domain:n}})}async deleteShortUrl(t,n){return this.performEmptyRequest({url:`/short-urls/${t}`,method:"DELETE",query:{domain:n}})}async updateShortUrl(t,n,r){return this.performRequest({url:`/short-urls/${t}`,method:"PATCH",query:{domain:n},body:r})}async getShortUrlRedirectRules(t,n){return this.performRequest({url:`/short-urls/${t}/redirect-rules`,method:"GET",query:{domain:n}})}async setShortUrlRedirectRules(t,n,r){return this.performRequest({url:`/short-urls/${t}/redirect-rules`,method:"POST",query:{domain:n},body:r})}async getVisitsOverview(){return this.performRequest({url:"/visits"}).then(({visits:t})=>t)}async getShortUrlVisits(t,n){return this.performVisitsRequest({url:`/short-urls/${t}/visits`,query:n})}async getTagVisits(t,n){return this.performVisitsRequest({url:`/tags/${t}/visits`,query:n})}async getDomainVisits(t,n){return this.performVisitsRequest({url:`/domains/${t}/visits`,query:n})}async getOrphanVisits(t){return this.performVisitsRequest({url:"/visits/orphan",query:t})}async getNonOrphanVisits(t){return this.performVisitsRequest({url:"/visits/non-orphan",query:t})}async performVisitsRequest(t){return this.performRequest(t).then(({visits:n})=>n)}async deleteShortUrlVisits(t,n){const r=n?{domain:n}:void 0;return this.performRequest({method:"DELETE",url:`/short-urls/${t}/visits`,query:r})}async deleteOrphanVisits(){return this.performRequest({method:"DELETE",url:"/visits/orphan"})}async listTags(){return this.performRequest({url:"/tags",query:{withStats:"true"}}).then(({tags:t})=>t)}async tagsStats(){return this.performRequest({url:"/tags/stats"}).then(({tags:t})=>t)}async deleteTags(t){return this.performEmptyRequest({url:"/tags",method:"DELETE",query:{tags:t}}).then(()=>({tags:t}))}async editTag(t,n){return this.performEmptyRequest({url:"/tags",method:"PUT",body:{oldName:t,newName:n}}).then(()=>({oldName:t,newName:n}))}async listDomains(){return this.performRequest({url:"/domains"}).then(({domains:t})=>t)}async editDomainRedirects(t){return this.performRequest({url:"/domains/redirects",method:"PATCH",body:t})}async health(t){return this.performRequest({url:"/health",domain:t})}async mercureInfo(){return this.performRequest({url:"/mercure-info"})}async performRequest(t){return this.httpClient.jsonRequest(...this.toFetchParams(t))}async performEmptyRequest(t){return this.httpClient.emptyRequest(...this.toFetchParams(t))}toFetchParams({url:t,method:n="GET",query:r={},body:i,domain:o}){const a=VY(r),s=a?`?${a}`:"",l=o?zY(this.serverInfo.baseUrl,o):this.serverInfo.baseUrl;return[`${FY(l,this.apiVersion)}${t}${s}`,{method:n,body:i&&JSON.stringify(i),headers:{"X-Api-Key":this.serverInfo.apiKey}}]}}const MD=e=>!!(e!=null&&e.url)&&!!(e!=null&&e.apiKey),kd=e=>!!(e!=null&&e.id),uP=e=>!!(e!=null&&e.version),HY=e=>!!(e!=null&&e.serverNotFound),GY=e=>kd(e)?e.id:"",qY=({id:e,autoConnect:t,...n})=>n,bk={},KY=e=>typeof e=="function",YY=e=>{const{selectedServer:t}=e();if(!MD(t))throw new Error("There's no selected server or it is not found");return t},ZY=e=>t=>{const{url:n,apiKey:r}=KY(t)?YY(t):t,i=`${r}_${n}`,o=bk[i]??new WY(e,{apiKey:r,baseUrl:n});return bk[i]=o,o},XY=e=>{e.serviceFactory("buildShlinkApiClient",ZY,"HttpClient")};var RD={prefix:"fas",iconName:"trash-can",icon:[448,512,[61460,"trash-alt"],"f2ed","M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm96 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16z"]},QY={prefix:"fas",iconName:"calendar-days",icon:[448,512,["calendar-alt"],"f073","M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H336zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z"]},JY=QY,eZ={prefix:"fas",iconName:"circle-minus",icon:[512,512,["minus-circle"],"f056","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"]},cP=eZ,tZ={prefix:"fas",iconName:"file-csv",icon:[512,512,[],"f6dd","M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM200 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zm133.1 0H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H333.1c-7.2 0-13.1 5.9-13.1 13.1c0 5.2 3 9.9 7.8 12l37.4 16.6c16.3 7.2 26.8 23.4 26.8 41.2c0 24.9-20.2 45.1-45.1 45.1H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h42.9c7.2 0 13.1-5.9 13.1-13.1c0-5.2-3-9.9-7.8-12l-37.4-16.6c-16.3-7.2-26.8-23.4-26.8-41.2c0-24.9 20.2-45.1 45.1-45.1zm98.9 0c8.8 0 16 7.2 16 16v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16z"]},nZ={prefix:"fas",iconName:"pencil",icon:[512,512,[9999,61504,"pencil-alt"],"f303","M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1v32c0 8.8 7.2 16 16 16h32zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"]},LD=nZ,$D={prefix:"fas",iconName:"circle-notch",icon:[512,512,[],"f1ce","M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z"]},rZ={prefix:"fas",iconName:"bars",icon:[448,512,["navicon"],"f0c9","M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"]},ID={prefix:"fas",iconName:"list",icon:[512,512,["list-squares"],"f03a","M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"]},iZ={prefix:"fas",iconName:"circle-dot",icon:[512,512,[128280,"dot-circle"],"f192","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"]},oZ=iZ,aZ={prefix:"fas",iconName:"pen-to-square",icon:[512,512,["edit"],"f044","M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"]},fP=aZ,sZ={prefix:"fas",iconName:"plug",icon:[384,512,[128268],"f1e6","M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8C297 398 352 333.4 352 256V224c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z"]},lZ={prefix:"fas",iconName:"globe",icon:[512,512,[127760],"f0ac","M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64H348.7c2.2 20.4 3.3 41.8 3.3 64zm28.8-64H503.9c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0H18.6C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192H131.2c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6H344.3c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352H135.3zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6H493.4z"]},uZ={prefix:"fas",iconName:"ban",icon:[512,512,[128683,"cancel"],"f05e","M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"]},_k={prefix:"fas",iconName:"server",icon:[512,512,[],"f233","M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"]},cZ={prefix:"fas",iconName:"file-arrow-up",icon:[384,512,["file-upload"],"f574","M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 408c0 13.3-10.7 24-24 24s-24-10.7-24-24V305.9l-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31V408z"]},fZ=cZ,dZ={prefix:"fas",iconName:"map-location-dot",icon:[576,512,["map-marked-alt"],"f5a0","M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152V422.8c0 9.8-6 18.6-15.1 22.3L416 503V200.4zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6V451.8L32.9 502.7C17.1 509 0 497.4 0 480.4V209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77V504.3L192 449.4V255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"]},Pw=dZ,hZ={prefix:"fas",iconName:"caret-up",icon:[320,512,[],"f0d8","M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z"]},pZ={prefix:"fas",iconName:"palette",icon:[512,512,[127912],"f53f","M512 256c0 .9 0 1.8 0 2.7c-.4 36.5-33.6 61.3-70.1 61.3H344c-26.5 0-48 21.5-48 48c0 3.4 .4 6.7 1 9.9c2.1 10.2 6.5 20 10.8 29.9c6.1 13.8 12.1 27.5 12.1 42c0 31.8-21.6 60.7-53.4 62c-3.5 .1-7 .2-10.6 .2C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"]},mZ={prefix:"fas",iconName:"arrow-down-wide-short",icon:[576,512,["sort-amount-asc","sort-amount-down"],"f160","M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 480c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320z"]},vZ=mZ,dP={prefix:"fas",iconName:"chart-pie",icon:[576,512,["pie-chart"],"f200","M304 240V16.6c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16H304zM32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4V288L412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272zm526.4 16c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288H558.4z"]},X0={prefix:"fas",iconName:"chart-line",icon:[512,512,["line-chart"],"f201","M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z"]},DD={prefix:"fas",iconName:"tags",icon:[512,512,[],"f02c","M345 39.1L472.8 168.4c52.4 53 52.4 138.2 0 191.2L360.8 472.9c-9.3 9.4-24.5 9.5-33.9 .2s-9.5-24.5-.2-33.9L438.6 325.9c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6 .2-33.9s24.6-9.2 33.9 .2zM0 229.5V80C0 53.5 21.5 32 48 32H197.5c17 0 33.3 6.7 45.3 18.7l168 168c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0l-168-168C6.7 262.7 0 246.5 0 229.5zM144 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},xk={prefix:"fas",iconName:"calendar-xmark",icon:[448,512,["calendar-times"],"f273","M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM305 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z"]},gZ={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"]},yZ={prefix:"fas",iconName:"arrow-left",icon:[448,512,[8592],"f060","M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"]},bZ={prefix:"fas",iconName:"up-right-from-square",icon:[512,512,["external-link-alt"],"f35d","M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"]},_Z=bZ,xZ={prefix:"fas",iconName:"tag",icon:[448,512,[127991],"f02b","M0 80V229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},wZ={prefix:"fas",iconName:"circle-info",icon:[512,512,["info-circle"],"f05a","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},hP=wZ,SZ={prefix:"fas",iconName:"arrow-rotate-left",icon:[512,512,[8634,"arrow-left-rotate","arrow-rotate-back","arrow-rotate-backward","undo"],"f0e2","M125.7 160H176c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32v51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z"]},OZ=SZ,EZ={prefix:"fas",iconName:"grip-vertical",icon:[320,512,[],"f58e","M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z"]},PZ={prefix:"fas",iconName:"caret-down",icon:[320,512,[],"f0d7","M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"]},CZ={prefix:"fas",iconName:"ellipsis-vertical",icon:[128,512,["ellipsis-v"],"f142","M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z"]},TZ=CZ,jZ={prefix:"fas",iconName:"house",icon:[576,512,[127968,63498,63500,"home","home-alt","home-lg-alt"],"f015","M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"]},AZ=jZ,kZ={prefix:"fas",iconName:"arrow-up-wide-short",icon:[576,512,["sort-amount-up"],"f161","M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 480h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32z"]},NZ=kZ,MZ={prefix:"fas",iconName:"file-arrow-down",icon:[384,512,["file-download"],"f56d","M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 232V334.1l31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31V232c0-13.3 10.7-24 24-24s24 10.7 24 24z"]},FD=MZ,RZ={prefix:"fas",iconName:"sun",icon:[512,512,[9728],"f185","M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"]},LZ={prefix:"fas",iconName:"arrow-down",icon:[384,512,[8595],"f063","M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"]},$Z={prefix:"fas",iconName:"link",icon:[640,512,[128279,"chain"],"f0c1","M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"]},IZ={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"]},DZ=IZ,FZ={prefix:"fas",iconName:"chevron-down",icon:[512,512,[],"f078","M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]},BZ={prefix:"fas",iconName:"arrow-up",icon:[384,512,[8593],"f062","M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z"]},jp={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"]},UZ={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},Cw=UZ,zZ={prefix:"fas",iconName:"chevron-right",icon:[320,512,[9002],"f054","M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"]},VZ={prefix:"fas",iconName:"rotate",icon:[512,512,[128260,"sync-alt"],"f2f1","M142.9 142.9c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5c0 0 0 0 0 0H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5c7.7-21.8 20.2-42.3 37.8-59.8zM16 312v7.6 .7V440c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l41.6-41.6c87.6 86.5 228.7 86.2 315.8-1c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.2 62.2-162.7 62.5-225.3 1L185 329c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H48.4h-.7H40c-13.3 0-24 10.7-24 24z"]},WZ=VZ,wk={prefix:"fas",iconName:"robot",icon:[640,512,[129302],"f544","M320 0c17.7 0 32 14.3 32 32V96H472c39.8 0 72 32.2 72 72V440c0 39.8-32.2 72-72 72H168c-39.8 0-72-32.2-72-72V168c0-39.8 32.2-72 72-72H288V32c0-17.7 14.3-32 32-32zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H400zM264 256a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm152 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM48 224H64V416H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V224h16z"]},BD={prefix:"fas",iconName:"gears",icon:[640,512,["cogs"],"f085","M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8h-.7c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"]},HZ=BD,GZ={prefix:"fas",iconName:"qrcode",icon:[448,512,[],"f029","M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zM64 96v64h64V96H64zM0 336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336zm64 16v64h64V352H64zM304 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm80 64H320v64h64V96zM256 304c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V304zM368 480a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm64 0a16 16 0 1 1 0-32 16 16 0 1 1 0 32z"]},qZ={prefix:"fas",iconName:"moon",icon:[384,512,[127769,9214],"f186","M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"]},KZ={prefix:"fas",iconName:"link-slash",icon:[640,512,["chain-broken","chain-slash","unlink"],"f127","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l90.5-90.5c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114l-96 96-31.9-25C430.9 239.6 420.1 175.1 377 132c-52.2-52.3-134.5-56.2-191.3-11.7L38.8 5.1zM239 162c30.1-14.9 67.7-9.9 92.8 15.3c20 20 27.5 48.3 21.7 74.5L239 162zM116.6 187.9L60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l61.8-61.8-50.6-39.9zM220.9 270c-2.1 39.8 12.2 80.1 42.2 110c38.9 38.9 94.4 51 143.6 36.3L220.9 270z"]},YZ={prefix:"fas",iconName:"desktop",icon:[576,512,[128421,61704,"desktop-alt"],"f390","M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V288H64V64H512z"]},yh={prefix:"fas",iconName:"check",icon:[448,512,[10003,10004],"f00c","M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"]},ZZ={prefix:"fas",iconName:"arrows-split-up-and-left",icon:[512,512,[],"e4bc","M246.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L352 109.3V384c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c-70.7 0-128-57.3-128-128c0-35.3-28.7-64-64-64H109.3l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 256H224c23.3 0 45.2 6.2 64 17.1V109.3l-41.4 41.4z"]},XZ={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},QZ=XZ;function Sk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Le(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1;i--){var o=n[i],a=(o.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(a)>-1&&(r=o)}return Mt.head.insertBefore(t,r),e}}var SX="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Sh(){for(var e=12,t="";e-- >0;)t+=SX[Math.random()*62|0];return t}function Yc(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function bP(e){return e.classList?Yc(e.classList):(e.getAttribute("class")||"").split(" ").filter(function(t){return t})}function QD(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function OX(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,'="').concat(QD(e[n]),'" ')},"").trim()}function Q0(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n].trim(),";")},"")}function _P(e){return e.size!==ao.size||e.x!==ao.x||e.y!==ao.y||e.rotate!==ao.rotate||e.flipX||e.flipY}function EX(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,i={transform:"translate(".concat(n/2," 256)")},o="translate(".concat(t.x*32,", ").concat(t.y*32,") "),a="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),s="rotate(".concat(t.rotate," 0 0)"),l={transform:"".concat(o," ").concat(a," ").concat(s)},u={transform:"translate(".concat(r/2*-1," -256)")};return{outer:i,inner:l,path:u}}function PX(e){var t=e.transform,n=e.width,r=n===void 0?jw:n,i=e.height,o=i===void 0?jw:i,a=e.startCentered,s=a===void 0?!1:a,l="";return s&&HD?l+="translate(".concat(t.x/ma-r/2,"em, ").concat(t.y/ma-o/2,"em) "):s?l+="translate(calc(-50% + ".concat(t.x/ma,"em), calc(-50% + ").concat(t.y/ma,"em)) "):l+="translate(".concat(t.x/ma,"em, ").concat(t.y/ma,"em) "),l+="scale(".concat(t.size/ma*(t.flipX?-1:1),", ").concat(t.size/ma*(t.flipY?-1:1),") "),l+="rotate(".concat(t.rotate,"deg) "),l}var CX=`:root, :host { + --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid"; + --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular"; + --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light"; + --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin"; + --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; + --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; + --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; +} + +svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { + overflow: visible; + box-sizing: content-box; +} + +.svg-inline--fa { + display: var(--fa-display, inline-block); + height: 1em; + overflow: visible; + vertical-align: -0.125em; +} +.svg-inline--fa.fa-2xs { + vertical-align: 0.1em; +} +.svg-inline--fa.fa-xs { + vertical-align: 0em; +} +.svg-inline--fa.fa-sm { + vertical-align: -0.0714285705em; +} +.svg-inline--fa.fa-lg { + vertical-align: -0.2em; +} +.svg-inline--fa.fa-xl { + vertical-align: -0.25em; +} +.svg-inline--fa.fa-2xl { + vertical-align: -0.3125em; +} +.svg-inline--fa.fa-pull-left { + margin-right: var(--fa-pull-margin, 0.3em); + width: auto; +} +.svg-inline--fa.fa-pull-right { + margin-left: var(--fa-pull-margin, 0.3em); + width: auto; +} +.svg-inline--fa.fa-li { + width: var(--fa-li-width, 2em); + top: 0.25em; +} +.svg-inline--fa.fa-fw { + width: var(--fa-fw-width, 1.25em); +} + +.fa-layers svg.svg-inline--fa { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; +} + +.fa-layers-counter, .fa-layers-text { + display: inline-block; + position: absolute; + text-align: center; +} + +.fa-layers { + display: inline-block; + height: 1em; + position: relative; + text-align: center; + vertical-align: -0.125em; + width: 1em; +} +.fa-layers svg.svg-inline--fa { + -webkit-transform-origin: center center; + transform-origin: center center; +} + +.fa-layers-text { + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + -webkit-transform-origin: center center; + transform-origin: center center; +} + +.fa-layers-counter { + background-color: var(--fa-counter-background-color, #ff253a); + border-radius: var(--fa-counter-border-radius, 1em); + box-sizing: border-box; + color: var(--fa-inverse, #fff); + line-height: var(--fa-counter-line-height, 1); + max-width: var(--fa-counter-max-width, 5em); + min-width: var(--fa-counter-min-width, 1.5em); + overflow: hidden; + padding: var(--fa-counter-padding, 0.25em 0.5em); + right: var(--fa-right, 0); + text-overflow: ellipsis; + top: var(--fa-top, 0); + -webkit-transform: scale(var(--fa-counter-scale, 0.25)); + transform: scale(var(--fa-counter-scale, 0.25)); + -webkit-transform-origin: top right; + transform-origin: top right; +} + +.fa-layers-bottom-right { + bottom: var(--fa-bottom, 0); + right: var(--fa-right, 0); + top: auto; + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: bottom right; + transform-origin: bottom right; +} + +.fa-layers-bottom-left { + bottom: var(--fa-bottom, 0); + left: var(--fa-left, 0); + right: auto; + top: auto; + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: bottom left; + transform-origin: bottom left; +} + +.fa-layers-top-right { + top: var(--fa-top, 0); + right: var(--fa-right, 0); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: top right; + transform-origin: top right; +} + +.fa-layers-top-left { + left: var(--fa-left, 0); + right: auto; + top: var(--fa-top, 0); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: top left; + transform-origin: top left; +} + +.fa-1x { + font-size: 1em; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-6x { + font-size: 6em; +} + +.fa-7x { + font-size: 7em; +} + +.fa-8x { + font-size: 8em; +} + +.fa-9x { + font-size: 9em; +} + +.fa-10x { + font-size: 10em; +} + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; +} + +.fa-xs { + font-size: 0.75em; + line-height: 0.0833333337em; + vertical-align: 0.125em; +} + +.fa-sm { + font-size: 0.875em; + line-height: 0.0714285718em; + vertical-align: 0.0535714295em; +} + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; +} + +.fa-xl { + font-size: 1.5em; + line-height: 0.0416666682em; + vertical-align: -0.125em; +} + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; +} + +.fa-fw { + text-align: center; + width: 1.25em; +} + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; +} +.fa-ul > li { + position: relative; +} + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; +} + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); +} + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); +} + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); +} + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); +} + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin-reverse { + --fa-animation-direction: reverse; +} + +.fa-pulse, +.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); +} + +@media (prefers-reduced-motion: reduce) { + .fa-beat, +.fa-bounce, +.fa-fade, +.fa-beat-fade, +.fa-flip, +.fa-pulse, +.fa-shake, +.fa-spin, +.fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + -webkit-transition-delay: 0s; + transition-delay: 0s; + -webkit-transition-duration: 0s; + transition-duration: 0s; + } +} +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); + } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); + } +} +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); + } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); + } +} +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } +} +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } +} +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); + } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); + } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); + } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); + } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); + } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); + } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); + } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); + } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); + } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); + } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } +} +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); + } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); + } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); + } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); + } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); + } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); + } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); + } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); + } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.fa-rotate-90 { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +.fa-rotate-180 { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} + +.fa-rotate-270 { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); +} + +.fa-flip-horizontal { + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +.fa-flip-vertical { + -webkit-transform: scale(1, -1); + transform: scale(1, -1); +} + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); +} + +.fa-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, 0)); + transform: rotate(var(--fa-rotate-angle, 0)); +} + +.fa-stack { + display: inline-block; + vertical-align: middle; + height: 2em; + position: relative; + width: 2.5em; +} + +.fa-stack-1x, +.fa-stack-2x { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; + z-index: var(--fa-stack-z-index, auto); +} + +.svg-inline--fa.fa-stack-1x { + height: 1em; + width: 1.25em; +} +.svg-inline--fa.fa-stack-2x { + height: 2em; + width: 2.5em; +} + +.fa-inverse { + color: var(--fa-inverse, #fff); +} + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.svg-inline--fa .fa-primary { + fill: var(--fa-primary-color, currentColor); + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa .fa-secondary { + fill: var(--fa-secondary-color, currentColor); + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-primary { + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-secondary { + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa mask .fa-primary, +.svg-inline--fa mask .fa-secondary { + fill: black; +} + +.fad.fa-inverse, +.fa-duotone.fa-inverse { + color: var(--fa-inverse, #fff); +}`;function JD(){var e=GD,t=qD,n=Fe.cssPrefix,r=Fe.replacementClass,i=CX;if(n!==e||r!==t){var o=new RegExp("\\.".concat(e,"\\-"),"g"),a=new RegExp("\\--".concat(e,"\\-"),"g"),s=new RegExp("\\.".concat(t),"g");i=i.replace(o,".".concat(n,"-")).replace(a,"--".concat(n,"-")).replace(s,".".concat(r))}return i}var Ak=!1;function h_(){Fe.autoAddCss&&!Ak&&(wX(JD()),Ak=!0)}var TX={mixout:function(){return{dom:{css:JD,insertCss:h_}}},hooks:function(){return{beforeDOMElementCreation:function(){h_()},beforeI2svg:function(){h_()}}}},Yo=es||{};Yo[Ko]||(Yo[Ko]={});Yo[Ko].styles||(Yo[Ko].styles={});Yo[Ko].hooks||(Yo[Ko].hooks={});Yo[Ko].shims||(Yo[Ko].shims=[]);var Li=Yo[Ko],e5=[],jX=function e(){Mt.removeEventListener("DOMContentLoaded",e),Fg=1,e5.map(function(t){return t()})},Fg=!1;aa&&(Fg=(Mt.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(Mt.readyState),Fg||Mt.addEventListener("DOMContentLoaded",jX));function AX(e){aa&&(Fg?setTimeout(e,0):e5.push(e))}function Np(e){var t=e.tag,n=e.attributes,r=n===void 0?{}:n,i=e.children,o=i===void 0?[]:i;return typeof e=="string"?QD(e):"<".concat(t," ").concat(OX(r),">").concat(o.map(Np).join(""),"")}function kk(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var kX=function(t,n){return function(r,i,o,a){return t.call(n,r,i,o,a)}},p_=function(t,n,r,i){var o=Object.keys(t),a=o.length,s=i!==void 0?kX(n,i):n,l,u,f;for(r===void 0?(l=1,f=t[o[0]]):(l=0,f=r);l=55296&&i<=56319&&n=55296&&r<=56319&&n>t+1&&(i=e.charCodeAt(t+1),i>=56320&&i<=57343)?(r-55296)*1024+i-56320+65536:r}function Nk(e){return Object.keys(e).reduce(function(t,n){var r=e[n],i=!!r.icon;return i?t[r.iconName]=r.icon:t[n]=r,t},{})}function Nw(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.skipHooks,i=r===void 0?!1:r,o=Nk(t);typeof Li.hooks.addPack=="function"&&!i?Li.hooks.addPack(e,Nk(t)):Li.styles[e]=Le(Le({},Li.styles[e]||{}),o),e==="fas"&&Nw("fa",t)}var Jm,ev,tv,Nu=Li.styles,RX=Li.shims,LX=(Jm={},vn(Jm,At,Object.values(xh[At])),vn(Jm,Kt,Object.values(xh[Kt])),Jm),xP=null,t5={},n5={},r5={},i5={},o5={},$X=(ev={},vn(ev,At,Object.keys(bh[At])),vn(ev,Kt,Object.keys(bh[Kt])),ev);function IX(e){return~gX.indexOf(e)}function DX(e,t){var n=t.split("-"),r=n[0],i=n.slice(1).join("-");return r===e&&i!==""&&!IX(i)?i:null}var a5=function(){var t=function(o){return p_(Nu,function(a,s,l){return a[l]=p_(s,o,{}),a},{})};t5=t(function(i,o,a){if(o[3]&&(i[o[3]]=a),o[2]){var s=o[2].filter(function(l){return typeof l=="number"});s.forEach(function(l){i[l.toString(16)]=a})}return i}),n5=t(function(i,o,a){if(i[a]=a,o[2]){var s=o[2].filter(function(l){return typeof l=="string"});s.forEach(function(l){i[l]=a})}return i}),o5=t(function(i,o,a){var s=o[2];return i[a]=a,s.forEach(function(l){i[l]=a}),i});var n="far"in Nu||Fe.autoFetchSvg,r=p_(RX,function(i,o){var a=o[0],s=o[1],l=o[2];return s==="far"&&!n&&(s="fas"),typeof a=="string"&&(i.names[a]={prefix:s,iconName:l}),typeof a=="number"&&(i.unicodes[a.toString(16)]={prefix:s,iconName:l}),i},{names:{},unicodes:{}});r5=r.names,i5=r.unicodes,xP=J0(Fe.styleDefault,{family:Fe.familyDefault})};xX(function(e){xP=J0(e.styleDefault,{family:Fe.familyDefault})});a5();function wP(e,t){return(t5[e]||{})[t]}function FX(e,t){return(n5[e]||{})[t]}function nl(e,t){return(o5[e]||{})[t]}function s5(e){return r5[e]||{prefix:null,iconName:null}}function BX(e){var t=i5[e],n=wP("fas",e);return t||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}function ts(){return xP}var SP=function(){return{prefix:null,iconName:null,rest:[]}};function J0(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.family,r=n===void 0?At:n,i=bh[r][e],o=_h[r][e]||_h[r][i],a=e in Li.styles?e:null;return o||a||null}var Mk=(tv={},vn(tv,At,Object.keys(xh[At])),vn(tv,Kt,Object.keys(xh[Kt])),tv);function eb(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.skipLookups,i=r===void 0?!1:r,o=(t={},vn(t,At,"".concat(Fe.cssPrefix,"-").concat(At)),vn(t,Kt,"".concat(Fe.cssPrefix,"-").concat(Kt)),t),a=null,s=At;(e.includes(o[At])||e.some(function(u){return Mk[At].includes(u)}))&&(s=At),(e.includes(o[Kt])||e.some(function(u){return Mk[Kt].includes(u)}))&&(s=Kt);var l=e.reduce(function(u,f){var d=DX(Fe.cssPrefix,f);if(Nu[f]?(f=LX[s].includes(f)?fX[s][f]:f,a=f,u.prefix=f):$X[s].indexOf(f)>-1?(a=f,u.prefix=J0(f,{family:s})):d?u.iconName=d:f!==Fe.replacementClass&&f!==o[At]&&f!==o[Kt]&&u.rest.push(f),!i&&u.prefix&&u.iconName){var h=a==="fa"?s5(u.iconName):{},v=nl(u.prefix,u.iconName);h.prefix&&(a=null),u.iconName=h.iconName||v||u.iconName,u.prefix=h.prefix||u.prefix,u.prefix==="far"&&!Nu.far&&Nu.fas&&!Fe.autoFetchSvg&&(u.prefix="fas")}return u},SP());return(e.includes("fa-brands")||e.includes("fab"))&&(l.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(l.prefix="fad"),!l.prefix&&s===Kt&&(Nu.fass||Fe.autoFetchSvg)&&(l.prefix="fass",l.iconName=nl(l.prefix,l.iconName)||l.iconName),(l.prefix==="fa"||a==="fa")&&(l.prefix=ts()||"fas"),l}var UX=function(){function e(){JZ(this,e),this.definitions={}}return eX(e,[{key:"add",value:function(){for(var n=this,r=arguments.length,i=new Array(r),o=0;o0&&f.forEach(function(d){typeof d=="string"&&(n[s][d]=u)}),n[s][l]=u}),n}}]),e}(),Rk=[],Mu={},qu={},zX=Object.keys(qu);function VX(e,t){var n=t.mixoutsTo;return Rk=e,Mu={},Object.keys(qu).forEach(function(r){zX.indexOf(r)===-1&&delete qu[r]}),Rk.forEach(function(r){var i=r.mixout?r.mixout():{};if(Object.keys(i).forEach(function(a){typeof i[a]=="function"&&(n[a]=i[a]),Dg(i[a])==="object"&&Object.keys(i[a]).forEach(function(s){n[a]||(n[a]={}),n[a][s]=i[a][s]})}),r.hooks){var o=r.hooks();Object.keys(o).forEach(function(a){Mu[a]||(Mu[a]=[]),Mu[a].push(o[a])})}r.provides&&r.provides(qu)}),n}function Mw(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i1?t-1:0),r=1;r0&&arguments[0]!==void 0?arguments[0]:{};return aa?(Ol("beforeI2svg",t),Zo("pseudoElements2svg",t),Zo("i2svg",t)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot;Fe.autoReplaceSvg===!1&&(Fe.autoReplaceSvg=!0),Fe.observeMutations=!0,AX(function(){qX({autoReplaceSvgRoot:n}),Ol("watch",t)})}},GX={icon:function(t){if(t===null)return null;if(Dg(t)==="object"&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:nl(t.prefix,t.iconName)||t.iconName};if(Array.isArray(t)&&t.length===2){var n=t[1].indexOf("fa-")===0?t[1].slice(3):t[1],r=J0(t[0]);return{prefix:r,iconName:nl(r,n)||n}}if(typeof t=="string"&&(t.indexOf("".concat(Fe.cssPrefix,"-"))>-1||t.match(dX))){var i=eb(t.split(" "),{skipLookups:!0});return{prefix:i.prefix||ts(),iconName:nl(i.prefix,i.iconName)||i.iconName}}if(typeof t=="string"){var o=ts();return{prefix:o,iconName:nl(o,t)||t}}}},Hr={noAuto:WX,config:Fe,dom:HX,parse:GX,library:l5,findIconDefinition:Rw,toHtml:Np},qX=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot,r=n===void 0?Mt:n;(Object.keys(Li.styles).length>0||Fe.autoFetchSvg)&&aa&&Fe.autoReplaceSvg&&Hr.dom.i2svg({node:r})};function tb(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(r){return Np(r)})}}),Object.defineProperty(e,"node",{get:function(){if(aa){var r=Mt.createElement("div");return r.innerHTML=e.html,r.children}}}),e}function KX(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,o=e.styles,a=e.transform;if(_P(a)&&n.found&&!r.found){var s=n.width,l=n.height,u={x:s/l/2,y:.5};i.style=Q0(Le(Le({},o),{},{"transform-origin":"".concat(u.x+a.x/16,"em ").concat(u.y+a.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}function YX(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,o=e.symbol,a=o===!0?"".concat(t,"-").concat(Fe.cssPrefix,"-").concat(n):o;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:Le(Le({},i),{},{id:a}),children:r}]}]}function OP(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,o=e.iconName,a=e.transform,s=e.symbol,l=e.title,u=e.maskId,f=e.titleId,d=e.extra,h=e.watchable,v=h===void 0?!1:h,g=r.found?r:n,y=g.width,x=g.height,_=i==="fak",b=[Fe.replacementClass,o?"".concat(Fe.cssPrefix,"-").concat(o):""].filter(function(D){return d.classes.indexOf(D)===-1}).filter(function(D){return D!==""||!!D}).concat(d.classes).join(" "),w={children:[],attributes:Le(Le({},d.attributes),{},{"data-prefix":i,"data-icon":o,class:b,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(y," ").concat(x)})},O=_&&!~d.classes.indexOf("fa-fw")?{width:"".concat(y/x*16*.0625,"em")}:{};v&&(w.attributes[Sl]=""),l&&(w.children.push({tag:"title",attributes:{id:w.attributes["aria-labelledby"]||"title-".concat(f||Sh())},children:[l]}),delete w.attributes.title);var E=Le(Le({},w),{},{prefix:i,iconName:o,main:n,mask:r,maskId:u,transform:a,symbol:s,styles:Le(Le({},O),d.styles)}),P=r.found&&n.found?Zo("generateAbstractMask",E)||{children:[],attributes:{}}:Zo("generateAbstractIcon",E)||{children:[],attributes:{}},T=P.children,A=P.attributes;return E.children=T,E.attributes=A,s?YX(E):KX(E)}function Lk(e){var t=e.content,n=e.width,r=e.height,i=e.transform,o=e.title,a=e.extra,s=e.watchable,l=s===void 0?!1:s,u=Le(Le(Le({},a.attributes),o?{title:o}:{}),{},{class:a.classes.join(" ")});l&&(u[Sl]="");var f=Le({},a.styles);_P(i)&&(f.transform=PX({transform:i,startCentered:!0,width:n,height:r}),f["-webkit-transform"]=f.transform);var d=Q0(f);d.length>0&&(u.style=d);var h=[];return h.push({tag:"span",attributes:u,children:[t]}),o&&h.push({tag:"span",attributes:{class:"sr-only"},children:[o]}),h}function ZX(e){var t=e.content,n=e.title,r=e.extra,i=Le(Le(Le({},r.attributes),n?{title:n}:{}),{},{class:r.classes.join(" ")}),o=Q0(r.styles);o.length>0&&(i.style=o);var a=[];return a.push({tag:"span",attributes:i,children:[t]}),n&&a.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),a}var m_=Li.styles;function Lw(e){var t=e[0],n=e[1],r=e.slice(4),i=pP(r,1),o=i[0],a=null;return Array.isArray(o)?a={tag:"g",attributes:{class:"".concat(Fe.cssPrefix,"-").concat(tl.GROUP)},children:[{tag:"path",attributes:{class:"".concat(Fe.cssPrefix,"-").concat(tl.SECONDARY),fill:"currentColor",d:o[0]}},{tag:"path",attributes:{class:"".concat(Fe.cssPrefix,"-").concat(tl.PRIMARY),fill:"currentColor",d:o[1]}}]}:a={tag:"path",attributes:{fill:"currentColor",d:o}},{found:!0,width:t,height:n,icon:a}}var XX={found:!1,width:512,height:512};function QX(e,t){!KD&&!Fe.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(t,'" is missing.'))}function $w(e,t){var n=t;return t==="fa"&&Fe.styleDefault!==null&&(t=ts()),new Promise(function(r,i){if(Zo("missingIconAbstract"),n==="fa"){var o=s5(e)||{};e=o.iconName||e,t=o.prefix||t}if(e&&t&&m_[t]&&m_[t][e]){var a=m_[t][e];return r(Lw(a))}QX(e,t),r(Le(Le({},XX),{},{icon:Fe.showMissingIcons&&e?Zo("missingIconAbstract")||{}:{}}))})}var $k=function(){},Iw=Fe.measurePerformance&&qm&&qm.mark&&qm.measure?qm:{mark:$k,measure:$k},hd='FA "6.5.2"',JX=function(t){return Iw.mark("".concat(hd," ").concat(t," begins")),function(){return u5(t)}},u5=function(t){Iw.mark("".concat(hd," ").concat(t," ends")),Iw.measure("".concat(hd," ").concat(t),"".concat(hd," ").concat(t," begins"),"".concat(hd," ").concat(t," ends"))},EP={begin:JX,end:u5},Gv=function(){};function Ik(e){var t=e.getAttribute?e.getAttribute(Sl):null;return typeof t=="string"}function eQ(e){var t=e.getAttribute?e.getAttribute(vP):null,n=e.getAttribute?e.getAttribute(gP):null;return t&&n}function tQ(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(Fe.replacementClass)}function nQ(){if(Fe.autoReplaceSvg===!0)return qv.replace;var e=qv[Fe.autoReplaceSvg];return e||qv.replace}function rQ(e){return Mt.createElementNS("http://www.w3.org/2000/svg",e)}function iQ(e){return Mt.createElement(e)}function c5(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.ceFn,r=n===void 0?e.tag==="svg"?rQ:iQ:n;if(typeof e=="string")return Mt.createTextNode(e);var i=r(e.tag);Object.keys(e.attributes||[]).forEach(function(a){i.setAttribute(a,e.attributes[a])});var o=e.children||[];return o.forEach(function(a){i.appendChild(c5(a,{ceFn:r}))}),i}function oQ(e){var t=" ".concat(e.outerHTML," ");return t="".concat(t,"Font Awesome fontawesome.com "),t}var qv={replace:function(t){var n=t[0];if(n.parentNode)if(t[1].forEach(function(i){n.parentNode.insertBefore(c5(i),n)}),n.getAttribute(Sl)===null&&Fe.keepOriginalSource){var r=Mt.createComment(oQ(n));n.parentNode.replaceChild(r,n)}else n.remove()},nest:function(t){var n=t[0],r=t[1];if(~bP(n).indexOf(Fe.replacementClass))return qv.replace(t);var i=new RegExp("".concat(Fe.cssPrefix,"-.*"));if(delete r[0].attributes.id,r[0].attributes.class){var o=r[0].attributes.class.split(" ").reduce(function(s,l){return l===Fe.replacementClass||l.match(i)?s.toSvg.push(l):s.toNode.push(l),s},{toNode:[],toSvg:[]});r[0].attributes.class=o.toSvg.join(" "),o.toNode.length===0?n.removeAttribute("class"):n.setAttribute("class",o.toNode.join(" "))}var a=r.map(function(s){return Np(s)}).join(` +`);n.setAttribute(Sl,""),n.innerHTML=a}};function Dk(e){e()}function f5(e,t){var n=typeof t=="function"?t:Gv;if(e.length===0)n();else{var r=Dk;Fe.mutateApproach===uX&&(r=es.requestAnimationFrame||Dk),r(function(){var i=nQ(),o=EP.begin("mutate");e.map(i),o(),n()})}}var PP=!1;function d5(){PP=!0}function Dw(){PP=!1}var Bg=null;function Fk(e){if(Tk&&Fe.observeMutations){var t=e.treeCallback,n=t===void 0?Gv:t,r=e.nodeCallback,i=r===void 0?Gv:r,o=e.pseudoElementsCallback,a=o===void 0?Gv:o,s=e.observeMutationsRoot,l=s===void 0?Mt:s;Bg=new Tk(function(u){if(!PP){var f=ts();Yc(u).forEach(function(d){if(d.type==="childList"&&d.addedNodes.length>0&&!Ik(d.addedNodes[0])&&(Fe.searchPseudoElements&&a(d.target),n(d.target)),d.type==="attributes"&&d.target.parentNode&&Fe.searchPseudoElements&&a(d.target.parentNode),d.type==="attributes"&&Ik(d.target)&&~vX.indexOf(d.attributeName))if(d.attributeName==="class"&&eQ(d.target)){var h=eb(bP(d.target)),v=h.prefix,g=h.iconName;d.target.setAttribute(vP,v||f),g&&d.target.setAttribute(gP,g)}else tQ(d.target)&&i(d.target)})}}),aa&&Bg.observe(l,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function aQ(){Bg&&Bg.disconnect()}function sQ(e){var t=e.getAttribute("style"),n=[];return t&&(n=t.split(";").reduce(function(r,i){var o=i.split(":"),a=o[0],s=o.slice(1);return a&&s.length>0&&(r[a]=s.join(":").trim()),r},{})),n}function lQ(e){var t=e.getAttribute("data-prefix"),n=e.getAttribute("data-icon"),r=e.innerText!==void 0?e.innerText.trim():"",i=eb(bP(e));return i.prefix||(i.prefix=ts()),t&&n&&(i.prefix=t,i.iconName=n),i.iconName&&i.prefix||(i.prefix&&r.length>0&&(i.iconName=FX(i.prefix,e.innerText)||wP(i.prefix,kw(e.innerText))),!i.iconName&&Fe.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data)),i}function uQ(e){var t=Yc(e.attributes).reduce(function(i,o){return i.name!=="class"&&i.name!=="style"&&(i[o.name]=o.value),i},{}),n=e.getAttribute("title"),r=e.getAttribute("data-fa-title-id");return Fe.autoA11y&&(n?t["aria-labelledby"]="".concat(Fe.replacementClass,"-title-").concat(r||Sh()):(t["aria-hidden"]="true",t.focusable="false")),t}function cQ(){return{iconName:null,title:null,titleId:null,prefix:null,transform:ao,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function Bk(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},n=lQ(e),r=n.iconName,i=n.prefix,o=n.rest,a=uQ(e),s=Mw("parseNodeAttributes",{},e),l=t.styleParser?sQ(e):[];return Le({iconName:r,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:i,transform:ao,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:o,styles:l,attributes:a}},s)}var fQ=Li.styles;function h5(e){var t=Fe.autoReplaceSvg==="nest"?Bk(e,{styleParser:!1}):Bk(e);return~t.extra.classes.indexOf(YD)?Zo("generateLayersText",e,t):Zo("generateSvgReplacementMutation",e,t)}var ns=new Set;yP.map(function(e){ns.add("fa-".concat(e))});Object.keys(bh[At]).map(ns.add.bind(ns));Object.keys(bh[Kt]).map(ns.add.bind(ns));ns=Ap(ns);function Uk(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!aa)return Promise.resolve();var n=Mt.documentElement.classList,r=function(d){return n.add("".concat(jk,"-").concat(d))},i=function(d){return n.remove("".concat(jk,"-").concat(d))},o=Fe.autoFetchSvg?ns:yP.map(function(f){return"fa-".concat(f)}).concat(Object.keys(fQ));o.includes("fa")||o.push("fa");var a=[".".concat(YD,":not([").concat(Sl,"])")].concat(o.map(function(f){return".".concat(f,":not([").concat(Sl,"])")})).join(", ");if(a.length===0)return Promise.resolve();var s=[];try{s=Yc(e.querySelectorAll(a))}catch{}if(s.length>0)r("pending"),i("complete");else return Promise.resolve();var l=EP.begin("onTree"),u=s.reduce(function(f,d){try{var h=h5(d);h&&f.push(h)}catch(v){KD||v.name==="MissingIcon"&&console.error(v)}return f},[]);return new Promise(function(f,d){Promise.all(u).then(function(h){f5(h,function(){r("active"),r("complete"),i("pending"),typeof t=="function"&&t(),l(),f()})}).catch(function(h){l(),d(h)})})}function dQ(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;h5(e).then(function(n){n&&f5([n],t)})}function hQ(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=(t||{}).icon?t:Rw(t||{}),i=n.mask;return i&&(i=(i||{}).icon?i:Rw(i||{})),e(r,Le(Le({},n),{},{mask:i}))}}var pQ=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.transform,i=r===void 0?ao:r,o=n.symbol,a=o===void 0?!1:o,s=n.mask,l=s===void 0?null:s,u=n.maskId,f=u===void 0?null:u,d=n.title,h=d===void 0?null:d,v=n.titleId,g=v===void 0?null:v,y=n.classes,x=y===void 0?[]:y,_=n.attributes,b=_===void 0?{}:_,w=n.styles,O=w===void 0?{}:w;if(t){var E=t.prefix,P=t.iconName,T=t.icon;return tb(Le({type:"icon"},t),function(){return Ol("beforeDOMElementCreation",{iconDefinition:t,params:n}),Fe.autoA11y&&(h?b["aria-labelledby"]="".concat(Fe.replacementClass,"-title-").concat(g||Sh()):(b["aria-hidden"]="true",b.focusable="false")),OP({icons:{main:Lw(T),mask:l?Lw(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:E,iconName:P,transform:Le(Le({},ao),i),symbol:a,title:h,maskId:f,titleId:g,extra:{attributes:b,styles:O,classes:x}})})}},mQ={mixout:function(){return{icon:hQ(pQ)}},hooks:function(){return{mutationObserverCallbacks:function(n){return n.treeCallback=Uk,n.nodeCallback=dQ,n}}},provides:function(t){t.i2svg=function(n){var r=n.node,i=r===void 0?Mt:r,o=n.callback,a=o===void 0?function(){}:o;return Uk(i,a)},t.generateSvgReplacementMutation=function(n,r){var i=r.iconName,o=r.title,a=r.titleId,s=r.prefix,l=r.transform,u=r.symbol,f=r.mask,d=r.maskId,h=r.extra;return new Promise(function(v,g){Promise.all([$w(i,s),f.iconName?$w(f.iconName,f.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(y){var x=pP(y,2),_=x[0],b=x[1];v([n,OP({icons:{main:_,mask:b},prefix:s,iconName:i,transform:l,symbol:u,maskId:d,title:o,titleId:a,extra:h,watchable:!0})])}).catch(g)})},t.generateAbstractIcon=function(n){var r=n.children,i=n.attributes,o=n.main,a=n.transform,s=n.styles,l=Q0(s);l.length>0&&(i.style=l);var u;return _P(a)&&(u=Zo("generateAbstractTransformGrouping",{main:o,transform:a,containerWidth:o.width,iconWidth:o.width})),r.push(u||o.icon),{children:r,attributes:i}}}},vQ={mixout:function(){return{layer:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.classes,o=i===void 0?[]:i;return tb({type:"layer"},function(){Ol("beforeDOMElementCreation",{assembler:n,params:r});var a=[];return n(function(s){Array.isArray(s)?s.map(function(l){a=a.concat(l.abstract)}):a=a.concat(s.abstract)}),[{tag:"span",attributes:{class:["".concat(Fe.cssPrefix,"-layers")].concat(Ap(o)).join(" ")},children:a}]})}}}},gQ={mixout:function(){return{counter:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.title,o=i===void 0?null:i,a=r.classes,s=a===void 0?[]:a,l=r.attributes,u=l===void 0?{}:l,f=r.styles,d=f===void 0?{}:f;return tb({type:"counter",content:n},function(){return Ol("beforeDOMElementCreation",{content:n,params:r}),ZX({content:n.toString(),title:o,extra:{attributes:u,styles:d,classes:["".concat(Fe.cssPrefix,"-layers-counter")].concat(Ap(s))}})})}}}},yQ={mixout:function(){return{text:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.transform,o=i===void 0?ao:i,a=r.title,s=a===void 0?null:a,l=r.classes,u=l===void 0?[]:l,f=r.attributes,d=f===void 0?{}:f,h=r.styles,v=h===void 0?{}:h;return tb({type:"text",content:n},function(){return Ol("beforeDOMElementCreation",{content:n,params:r}),Lk({content:n,transform:Le(Le({},ao),o),title:s,extra:{attributes:d,styles:v,classes:["".concat(Fe.cssPrefix,"-layers-text")].concat(Ap(u))}})})}}},provides:function(t){t.generateLayersText=function(n,r){var i=r.title,o=r.transform,a=r.extra,s=null,l=null;if(HD){var u=parseInt(getComputedStyle(n).fontSize,10),f=n.getBoundingClientRect();s=f.width/u,l=f.height/u}return Fe.autoA11y&&!i&&(a.attributes["aria-hidden"]="true"),Promise.resolve([n,Lk({content:n.innerHTML,width:s,height:l,transform:o,title:i,extra:a,watchable:!0})])}}},bQ=new RegExp('"',"ug"),zk=[1105920,1112319];function _Q(e){var t=e.replace(bQ,""),n=MX(t,0),r=n>=zk[0]&&n<=zk[1],i=t.length===2?t[0]===t[1]:!1;return{value:kw(i?t[0]:t),isSecondary:r||i}}function Vk(e,t){var n="".concat(lX).concat(t.replace(":","-"));return new Promise(function(r,i){if(e.getAttribute(n)!==null)return r();var o=Yc(e.children),a=o.filter(function(T){return T.getAttribute(Aw)===t})[0],s=es.getComputedStyle(e,t),l=s.getPropertyValue("font-family").match(hX),u=s.getPropertyValue("font-weight"),f=s.getPropertyValue("content");if(a&&!l)return e.removeChild(a),r();if(l&&f!=="none"&&f!==""){var d=s.getPropertyValue("content"),h=~["Sharp"].indexOf(l[2])?Kt:At,v=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(l[2])?_h[h][l[2].toLowerCase()]:pX[h][u],g=_Q(d),y=g.value,x=g.isSecondary,_=l[0].startsWith("FontAwesome"),b=wP(v,y),w=b;if(_){var O=BX(y);O.iconName&&O.prefix&&(b=O.iconName,v=O.prefix)}if(b&&!x&&(!a||a.getAttribute(vP)!==v||a.getAttribute(gP)!==w)){e.setAttribute(n,w),a&&e.removeChild(a);var E=cQ(),P=E.extra;P.attributes[Aw]=t,$w(b,v).then(function(T){var A=OP(Le(Le({},E),{},{icons:{main:T,mask:SP()},prefix:v,iconName:w,extra:P,watchable:!0})),D=Mt.createElementNS("http://www.w3.org/2000/svg","svg");t==="::before"?e.insertBefore(D,e.firstChild):e.appendChild(D),D.outerHTML=A.map(function(k){return Np(k)}).join(` +`),e.removeAttribute(n),r()}).catch(i)}else r()}else r()})}function xQ(e){return Promise.all([Vk(e,"::before"),Vk(e,"::after")])}function wQ(e){return e.parentNode!==document.head&&!~cX.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(Aw)&&(!e.parentNode||e.parentNode.tagName!=="svg")}function Wk(e){if(aa)return new Promise(function(t,n){var r=Yc(e.querySelectorAll("*")).filter(wQ).map(xQ),i=EP.begin("searchPseudoElements");d5(),Promise.all(r).then(function(){i(),Dw(),t()}).catch(function(){i(),Dw(),n()})})}var SQ={hooks:function(){return{mutationObserverCallbacks:function(n){return n.pseudoElementsCallback=Wk,n}}},provides:function(t){t.pseudoElements2svg=function(n){var r=n.node,i=r===void 0?Mt:r;Fe.searchPseudoElements&&Wk(i)}}},Hk=!1,OQ={mixout:function(){return{dom:{unwatch:function(){d5(),Hk=!0}}}},hooks:function(){return{bootstrap:function(){Fk(Mw("mutationObserverCallbacks",{}))},noAuto:function(){aQ()},watch:function(n){var r=n.observeMutationsRoot;Hk?Dw():Fk(Mw("mutationObserverCallbacks",{observeMutationsRoot:r}))}}}},Gk=function(t){var n={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t.toLowerCase().split(" ").reduce(function(r,i){var o=i.toLowerCase().split("-"),a=o[0],s=o.slice(1).join("-");if(a&&s==="h")return r.flipX=!0,r;if(a&&s==="v")return r.flipY=!0,r;if(s=parseFloat(s),isNaN(s))return r;switch(a){case"grow":r.size=r.size+s;break;case"shrink":r.size=r.size-s;break;case"left":r.x=r.x-s;break;case"right":r.x=r.x+s;break;case"up":r.y=r.y-s;break;case"down":r.y=r.y+s;break;case"rotate":r.rotate=r.rotate+s;break}return r},n)},EQ={mixout:function(){return{parse:{transform:function(n){return Gk(n)}}}},hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-transform");return i&&(n.transform=Gk(i)),n}}},provides:function(t){t.generateAbstractTransformGrouping=function(n){var r=n.main,i=n.transform,o=n.containerWidth,a=n.iconWidth,s={transform:"translate(".concat(o/2," 256)")},l="translate(".concat(i.x*32,", ").concat(i.y*32,") "),u="scale(".concat(i.size/16*(i.flipX?-1:1),", ").concat(i.size/16*(i.flipY?-1:1),") "),f="rotate(".concat(i.rotate," 0 0)"),d={transform:"".concat(l," ").concat(u," ").concat(f)},h={transform:"translate(".concat(a/2*-1," -256)")},v={outer:s,inner:d,path:h};return{tag:"g",attributes:Le({},v.outer),children:[{tag:"g",attributes:Le({},v.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:Le(Le({},r.icon.attributes),v.path)}]}]}}}},v_={x:0,y:0,width:"100%",height:"100%"};function qk(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function PQ(e){return e.tag==="g"?e.children:[e]}var CQ={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-mask"),o=i?eb(i.split(" ").map(function(a){return a.trim()})):SP();return o.prefix||(o.prefix=ts()),n.mask=o,n.maskId=r.getAttribute("data-fa-mask-id"),n}}},provides:function(t){t.generateAbstractMask=function(n){var r=n.children,i=n.attributes,o=n.main,a=n.mask,s=n.maskId,l=n.transform,u=o.width,f=o.icon,d=a.width,h=a.icon,v=EX({transform:l,containerWidth:d,iconWidth:u}),g={tag:"rect",attributes:Le(Le({},v_),{},{fill:"white"})},y=f.children?{children:f.children.map(qk)}:{},x={tag:"g",attributes:Le({},v.inner),children:[qk(Le({tag:f.tag,attributes:Le(Le({},f.attributes),v.path)},y))]},_={tag:"g",attributes:Le({},v.outer),children:[x]},b="mask-".concat(s||Sh()),w="clip-".concat(s||Sh()),O={tag:"mask",attributes:Le(Le({},v_),{},{id:b,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[g,_]},E={tag:"defs",children:[{tag:"clipPath",attributes:{id:w},children:PQ(h)},O]};return r.push(E,{tag:"rect",attributes:Le({fill:"currentColor","clip-path":"url(#".concat(w,")"),mask:"url(#".concat(b,")")},v_)}),{children:r,attributes:i}}}},TQ={provides:function(t){var n=!1;es.matchMedia&&(n=es.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){var r=[],i={fill:"currentColor"},o={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};r.push({tag:"path",attributes:Le(Le({},i),{},{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"})});var a=Le(Le({},o),{},{attributeName:"opacity"}),s={tag:"circle",attributes:Le(Le({},i),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||s.children.push({tag:"animate",attributes:Le(Le({},o),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:Le(Le({},a),{},{values:"1;0;1;1;0;1;"})}),r.push(s),r.push({tag:"path",attributes:Le(Le({},i),{},{opacity:"1",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"}),children:n?[]:[{tag:"animate",attributes:Le(Le({},a),{},{values:"1;0;0;0;0;1;"})}]}),n||r.push({tag:"path",attributes:Le(Le({},i),{},{opacity:"0",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"}),children:[{tag:"animate",attributes:Le(Le({},a),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:r}}}},jQ={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-symbol"),o=i===null?!1:i===""?!0:i;return n.symbol=o,n}}}},AQ=[TX,mQ,vQ,gQ,yQ,SQ,OQ,EQ,CQ,TQ,jQ];VX(AQ,{mixoutsTo:Hr});Hr.noAuto;Hr.config;Hr.library;Hr.dom;var Fw=Hr.parse;Hr.findIconDefinition;Hr.toHtml;var kQ=Hr.icon;Hr.layer;Hr.text;Hr.counter;var p5={exports:{}},NQ="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",MQ=NQ,RQ=MQ;function m5(){}function v5(){}v5.resetWarningCache=m5;var LQ=function(){function e(r,i,o,a,s,l){if(l!==RQ){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:v5,resetWarningCache:m5};return n.PropTypes=n,n};p5.exports=LQ();var $Q=p5.exports;const $=at($Q);function Kk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ma(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function DQ(e,t){if(e==null)return{};var n=IQ(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Bw(e){return FQ(e)||BQ(e)||UQ(e)||zQ()}function FQ(e){if(Array.isArray(e))return Uw(e)}function BQ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function UQ(e,t){if(e){if(typeof e=="string")return Uw(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Uw(e,t)}}function Uw(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{};if(typeof t=="string")return t;var r=(t.children||[]).map(function(l){return y5(e,l)}),i=Object.keys(t.attributes||{}).reduce(function(l,u){var f=t.attributes[u];switch(u){case"class":l.attrs.className=f,delete t.attributes.class;break;case"style":l.attrs.style=qQ(f);break;default:u.indexOf("aria-")===0||u.indexOf("data-")===0?l.attrs[u.toLowerCase()]=f:l.attrs[g5(u)]=f}return l},{attrs:{}}),o=n.style,a=o===void 0?{}:o,s=DQ(n,HQ);return i.attrs.style=Ma(Ma({},i.attrs.style),a),e.apply(void 0,[t.tag,Ma(Ma({},i.attrs),s)].concat(Bw(r)))}var b5=!1;try{b5=!0}catch{}function KQ(){if(!b5&&console&&typeof console.error=="function"){var e;(e=console).error.apply(e,arguments)}}function Yk(e){if(e&&Ug(e)==="object"&&e.prefix&&e.iconName&&e.icon)return e;if(Fw.icon)return Fw.icon(e);if(e===null)return null;if(e&&Ug(e)==="object"&&e.prefix&&e.iconName)return e;if(Array.isArray(e)&&e.length===2)return{prefix:e[0],iconName:e[1]};if(typeof e=="string")return{prefix:"fas",iconName:e}}function g_(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?Ru({},e,t):{}}var je=V.forwardRef(function(e,t){var n=e.icon,r=e.mask,i=e.symbol,o=e.className,a=e.title,s=e.titleId,l=e.maskId,u=Yk(n),f=g_("classes",[].concat(Bw(VQ(e)),Bw(o.split(" ")))),d=g_("transform",typeof e.transform=="string"?Fw.transform(e.transform):e.transform),h=g_("mask",Yk(r)),v=kQ(u,Ma(Ma(Ma(Ma({},f),d),h),{},{symbol:i,title:a,titleId:s,maskId:l}));if(!v)return KQ("Could not find icon",u),null;var g=v.abstract,y={ref:t};return Object.keys(e).forEach(function(x){je.defaultProps.hasOwnProperty(x)||(y[x]=e[x])}),YQ(g[0],y)});je.displayName="FontAwesomeIcon";je.propTypes={beat:$.bool,border:$.bool,beatFade:$.bool,bounce:$.bool,className:$.string,fade:$.bool,flash:$.bool,mask:$.oneOfType([$.object,$.array,$.string]),maskId:$.string,fixedWidth:$.bool,inverse:$.bool,flip:$.oneOf([!0,!1,"horizontal","vertical","both"]),icon:$.oneOfType([$.object,$.array,$.string]),listItem:$.bool,pull:$.oneOf(["right","left"]),pulse:$.bool,rotation:$.oneOf([0,90,180,270]),shake:$.bool,size:$.oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:$.bool,spinPulse:$.bool,spinReverse:$.bool,symbol:$.oneOfType([$.bool,$.string]),title:$.string,titleId:$.string,transform:$.oneOfType([$.string,$.object]),swapOpacity:$.bool};je.defaultProps={border:!1,className:"",mask:null,maskId:null,fixedWidth:!1,inverse:!1,flip:!1,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:"",titleId:null,transform:null,swapOpacity:!1};var YQ=y5.bind(null,V.createElement);function _5(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t0?"".concat(e,"px"):null}function QQ(){return document.body.clientWidth0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tJ;return t?e.split(" ").map(function(n){return t[n]||n}).join(" "):e}function hs(e,t){var n={};return Object.keys(e).forEach(function(r){t.indexOf(r)===-1&&(n[r]=e[r])}),n}function S5(e,t){for(var n=Array.isArray(t)?t:[t],r=n.length,i,o={};r>0;)r-=1,i=n[r],o[i]=e[i];return o}var Zk={};function zw(e){Zk[e]||(typeof console<"u"&&console.error(e),Zk[e]=!0)}function O5(e,t){return function(r,i,o){r[i]!==null&&typeof r[i]<"u"&&zw('"'.concat(i,'" property of "').concat(o,`" has been deprecated. +`).concat(t));for(var a=arguments.length,s=new Array(a>3?a-3:0),l=3;l"u"?"undefined":lc(window))==="object"&&window.Element||function(){};function CP(e,t,n){if(!(e[t]instanceof nJ))return new Error("Invalid prop `"+t+"` supplied to `"+n+"`. Expected prop to be an instance of Element. Validation failed.")}var uc=$.oneOfType([$.string,$.func,CP,$.shape({current:$.any})]),ot=$.oneOfType([$.func,$.string,$.shape({$$typeof:$.symbol,render:$.func}),$.arrayOf($.oneOfType([$.func,$.string,$.shape({$$typeof:$.symbol,render:$.func})]))]),zg={Fade:150,Collapse:350,Modal:300,Carousel:600,Offcanvas:300},Vg=["in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","onEnter","onEntering","onEntered","onExit","onExiting","onExited"],nv={ENTERING:"entering",ENTERED:"entered",EXITING:"exiting",EXITED:"exited"},mt={esc:27,space:32,enter:13,tab:9,up:38,down:40,home:36,end:35,n:78,p:80},rJ=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],TP=!!(typeof window<"u"&&window.document&&window.document.createElement);function iJ(e){return e&&lc(e)==="object"?"current"in e:!1}function E5(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}function Vw(e){var t=lc(e);return e!=null&&(t==="object"||t==="function")}function Xk(e){var t=lc(e),n=NaN;if(t==="number")return e;if(t==="symbol"||t==="object"&&E5(e)==="[object Symbol]")return n;if(Vw(e)){var r=typeof e.valueOf=="function"?e.valueOf():e;e=Vw(r)?"".concat(r):r}if(t!=="string")return e===0?e:+e;e=e.replace(/^\s+|\s+$/g,"");var i=/^0b[01]+$/i.test(e);return i||/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),i?2:8):/^[-+]0x[0-9a-f]+$/i.test(e)?n:+e}function oJ(e){if(!Vw(e))return!1;var t=E5(e);return t==="[object Function]"||t==="[object AsyncFunction]"||t==="[object GeneratorFunction]"||t==="[object Proxy]"}function aJ(e){if(iJ(e))return e.current;if(oJ(e))return e();if(typeof e=="string"&&TP){var t=document.querySelectorAll(e);if(t.length||(t=document.querySelectorAll("#".concat(e))),!t.length)throw new Error("The target '".concat(e,"' could not be identified in the dom, tip: check spelling"));return t}return e}function Qk(e){return e===null?!1:Array.isArray(e)||TP&&typeof e.length=="number"}function Oh(e,t){var n=aJ(e);return t?Qk(n)?n:n===null?[]:[n]:Qk(n)?n[0]:n}var sJ=["a[href]","area[href]","input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","object","embed","[tabindex]:not(.modal):not(.offcanvas)","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'],lJ=["className","cssModule","noGutters","tag","widths"];function Ww(){return Ww=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function cJ(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var fJ=["xs","sm","md","lg","xl","xxl"],tu=$.oneOfType([$.number,$.string]),dJ={tag:ot,noGutters:O5($.bool,"Please use Bootstrap 5 gutter utility classes. https://getbootstrap.com/docs/5.0/layout/gutters/"),className:$.string,cssModule:$.object,xs:tu,sm:tu,md:tu,lg:tu,xl:tu,xxl:tu,widths:$.array};function nr(e){var t=e.className,n=e.cssModule,r=e.noGutters,i=e.tag,o=i===void 0?"div":i,a=e.widths,s=a===void 0?fJ:a,l=uJ(e,lJ),u=[];s.forEach(function(d,h){var v=e[d];if(delete l[d],!!v){var g=!h;u.push(g?"row-cols-".concat(v):"row-cols-".concat(d,"-").concat(v))}});var f=Ue(Ge(t,r?"gx-0":null,"row",u),n);return V.createElement(o,Ww({},l,{className:f}))}nr.propTypes=dJ;var hJ=["expand","className","cssModule","light","dark","fixed","sticky","color","container","tag","children"];function Hw(){return Hw=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function mJ(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var vJ={children:$.node,className:$.string,color:$.string,container:$.oneOfType([$.bool,$.string]),cssModule:$.object,dark:$.bool,expand:$.oneOfType([$.bool,$.string]),fixed:$.string,light:$.bool,role:$.string,sticky:$.string,tag:ot},gJ=function(t){return t===!1?!1:t===!0||t==="xs"?"navbar-expand":"navbar-expand-".concat(t)};function P5(e){var t,n=e.expand,r=n===void 0?!1:n,i=e.className,o=e.cssModule,a=e.light,s=e.dark,l=e.fixed,u=e.sticky,f=e.color,d=e.container,h=d===void 0?"fluid":d,v=e.tag,g=v===void 0?"nav":v,y=e.children,x=pJ(e,hJ),_=Ue(Ge(i,"navbar",gJ(r),(t={"navbar-light":a,"navbar-dark":s},y_(t,"bg-".concat(f),f),y_(t,"fixed-".concat(l),l),y_(t,"sticky-".concat(u),u),t)),o),b=h&&h===!0?"container":"container-".concat(h);return V.createElement(g,Hw({},x,{className:_}),h?V.createElement("div",{className:b},y):y)}P5.propTypes=vJ;var yJ=["className","cssModule","tag"];function Gw(){return Gw=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _J(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var xJ={className:$.string,cssModule:$.object,tag:ot};function C5(e){var t=e.className,n=e.cssModule,r=e.tag,i=r===void 0?"a":r,o=bJ(e,yJ),a=Ue(Ge(t,"navbar-brand"),n);return V.createElement(i,Gw({},o,{className:a}))}C5.propTypes=xJ;var wJ=["className","cssModule","children","tag"];function qw(){return qw=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function PJ(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var CJ={className:$.string,cssModule:$.object,tag:ot,type:$.string,children:$.node};function T5(e){var t=e.className,n=e.cssModule,r=e.children,i=e.tag,o=i===void 0?"button":i,a=EJ(e,wJ),s=Ue(Ge(t,"navbar-toggler"),n);return V.createElement(o,qw({"aria-label":"Toggle navigation"},SJ({type:"button"},a),{className:s}),r||V.createElement("span",{className:Ue("navbar-toggler-icon",n)}))}T5.propTypes=CJ;var TJ=["className","cssModule","tabs","pills","vertical","horizontal","justified","fill","navbar","card","tag"];function Kw(){return Kw=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function AJ(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var kJ={card:$.bool,className:$.string,cssModule:$.object,fill:$.bool,horizontal:$.oneOf(["center","end"]),justified:$.bool,navbar:$.bool,pills:$.bool,tabs:$.bool,tag:ot,vertical:$.oneOfType([$.bool,$.string])},NJ=function(t){return t===!1?!1:t===!0||t==="xs"?"flex-column":"flex-".concat(t,"-column")};function jP(e){var t=e.className,n=e.cssModule,r=e.tabs,i=e.pills,o=e.vertical,a=o===void 0?!1:o,s=e.horizontal,l=e.justified,u=e.fill,f=e.navbar,d=e.card,h=e.tag,v=h===void 0?"ul":h,g=jJ(e,TJ),y=Ue(Ge(t,f?"navbar-nav":"nav",s?"justify-content-".concat(s):!1,NJ(a),{"nav-tabs":r,"card-header-tabs":d&&r,"nav-pills":i,"card-header-pills":d&&i,"nav-justified":l,"nav-fill":u}),n);return V.createElement(v,Kw({},g,{className:y}))}jP.propTypes=kJ;var MJ=["className","cssModule","active","tag"];function Yw(){return Yw=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function LJ(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var $J={active:$.bool,className:$.string,cssModule:$.object,tag:ot};function AP(e){var t=e.className,n=e.cssModule,r=e.active,i=e.tag,o=i===void 0?"li":i,a=RJ(e,MJ),s=Ue(Ge(t,"nav-item",r?"active":!1),n);return V.createElement(o,Yw({},a,{className:s}))}AP.propTypes=$J;function Zw(e){"@babel/helpers - typeof";return Zw=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zw(e)}var IJ=["className","cssModule","active","tag","innerRef"];function Xw(){return Xw=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function FJ(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function BJ(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function e3(e,t){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Wg(e){return Wg=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Wg(e)}var GJ={active:$.bool,className:$.string,cssModule:$.object,disabled:$.bool,href:$.any,innerRef:$.oneOfType([$.object,$.func,$.string]),onClick:$.func,tag:ot},A5=function(e){zJ(n,e);var t=VJ(n);function n(r){var i;return BJ(this,n),i=t.call(this,r),i.onClick=i.onClick.bind(j5(i)),i}return UJ(n,[{key:"onClick",value:function(i){if(this.props.disabled){i.preventDefault();return}this.props.href==="#"&&i.preventDefault(),this.props.onClick&&this.props.onClick(i)}},{key:"render",value:function(){var i=this.props,o=i.className,a=i.cssModule,s=i.active,l=i.tag,u=l===void 0?"a":l,f=i.innerRef,d=DJ(i,IJ),h=Ue(Ge(o,"nav-link",{disabled:d.disabled,active:s}),a);return V.createElement(u,Xw({},d,{ref:f,onClick:this.onClick,className:h}))}}]),n}(V.Component);A5.propTypes=GJ;const k5=A5;var qJ=["className","cssModule","variant","innerRef"];function Jw(){return Jw=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function XJ(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var QJ={active:$.bool,"aria-label":$.string,onClick:$.func,variant:$.oneOf(["white"]),className:$.string,cssModule:$.object,innerRef:$.oneOfType([$.object,$.string,$.func])};function N5(e){var t=e.className;e.cssModule;var n=e.variant,r=e.innerRef,i=ZJ(e,qJ),o=Ue(Ge(t,"btn-close",n&&"btn-close-".concat(n)));return V.createElement("button",Jw({ref:r,type:"button",className:o},KJ({"aria-label":"close"},i)))}N5.propTypes=QJ;var JJ=["active","aria-label","block","className","close","cssModule","color","outline","size","tag","innerRef"];function e2(){return e2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function tee(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var nee={active:$.bool,"aria-label":$.string,block:$.bool,children:$.node,className:$.string,cssModule:$.object,close:$.bool,color:$.string,disabled:$.bool,innerRef:$.oneOfType([$.object,$.func,$.string]),onClick:$.func,outline:$.bool,size:$.string,tag:ot};function Ye(e){var t=R.useCallback(function(b){if(e.disabled){b.preventDefault();return}if(e.onClick)return e.onClick(b)},[e.onClick,e.disabled]),n=e.active,r=e["aria-label"],i=e.block,o=e.className,a=e.close,s=e.cssModule,l=e.color,u=l===void 0?"secondary":l,f=e.outline,d=e.size,h=e.tag,v=h===void 0?"button":h,g=e.innerRef,y=eee(e,JJ);if(a)return V.createElement(N5,y);var x="btn".concat(f?"-outline":"","-").concat(u),_=Ue(Ge(o,"btn",x,d?"btn-".concat(d):!1,i?"d-block w-100":!1,{active:n,disabled:e.disabled}),s);return y.href&&v==="button"&&(v="a"),V.createElement(v,e2({type:v==="button"&&y.onClick?"button":void 0},y,{className:_,ref:g,onClick:t,"aria-label":r}))}Ye.propTypes=nee;var M5=R.createContext(),R5=R.createContext();function n3(e){var t=e.children,n=R.useState(null),r=n[0],i=n[1],o=R.useRef(!1);R.useEffect(function(){return function(){o.current=!0}},[]);var a=R.useCallback(function(s){o.current||i(s)},[]);return R.createElement(M5.Provider,{value:r},R.createElement(R5.Provider,{value:a},t))}var L5=function(t){return Array.isArray(t)?t[0]:t},$5=function(t){if(typeof t=="function"){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i"u")return!1;var t=Br(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function mee(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!fi(o)||!yo(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(a){var s=i[a];s===!1?o.removeAttribute(a):o.setAttribute(a,s===!0?"":s)}))})}function vee(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],o=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),s=a.reduce(function(l,u){return l[u]="",l},{});!fi(i)||!yo(i)||(Object.assign(i.style,s),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const gee={name:"applyStyles",enabled:!0,phase:"write",fn:mee,effect:vee,requires:["computeStyles"]};function ho(e){return e.split("-")[0]}var cl=Math.max,Hg=Math.min,fc=Math.round;function n2(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function F5(){return!/^((?!chrome|android).)*safari/i.test(n2())}function dc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,o=1;t&&fi(e)&&(i=e.offsetWidth>0&&fc(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&fc(r.height)/e.offsetHeight||1);var a=El(e)?Br(e):window,s=a.visualViewport,l=!F5()&&n,u=(r.left+(l&&s?s.offsetLeft:0))/i,f=(r.top+(l&&s?s.offsetTop:0))/o,d=r.width/i,h=r.height/o;return{width:d,height:h,top:f,right:u+d,bottom:f+h,left:u,x:u,y:f}}function MP(e){var t=dc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function B5(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&NP(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Xo(e){return Br(e).getComputedStyle(e)}function yee(e){return["table","td","th"].indexOf(yo(e))>=0}function ps(e){return((El(e)?e.ownerDocument:e.document)||window.document).documentElement}function nb(e){return yo(e)==="html"?e:e.assignedSlot||e.parentNode||(NP(e)?e.host:null)||ps(e)}function a3(e){return!fi(e)||Xo(e).position==="fixed"?null:e.offsetParent}function bee(e){var t=/firefox/i.test(n2()),n=/Trident/i.test(n2());if(n&&fi(e)){var r=Xo(e);if(r.position==="fixed")return null}var i=nb(e);for(NP(i)&&(i=i.host);fi(i)&&["html","body"].indexOf(yo(i))<0;){var o=Xo(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function Rp(e){for(var t=Br(e),n=a3(e);n&&yee(n)&&Xo(n).position==="static";)n=a3(n);return n&&(yo(n)==="html"||yo(n)==="body"&&Xo(n).position==="static")?t:n||bee(e)||t}function RP(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Rd(e,t,n){return cl(e,Hg(t,n))}function _ee(e,t,n){var r=Rd(e,t,n);return r>n?n:r}function U5(){return{top:0,right:0,bottom:0,left:0}}function z5(e){return Object.assign({},U5(),e)}function V5(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var xee=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,z5(typeof t!="number"?t:V5(t,Mp))};function wee(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,s=ho(n.placement),l=RP(s),u=[wr,vi].indexOf(s)>=0,f=u?"height":"width";if(!(!o||!a)){var d=xee(i.padding,n),h=MP(o),v=l==="y"?xr:wr,g=l==="y"?mi:vi,y=n.rects.reference[f]+n.rects.reference[l]-a[l]-n.rects.popper[f],x=a[l]-n.rects.reference[l],_=Rp(o),b=_?l==="y"?_.clientHeight||0:_.clientWidth||0:0,w=y/2-x/2,O=d[v],E=b-h[f]-d[g],P=b/2-h[f]/2+w,T=Rd(O,P,E),A=l;n.modifiersData[r]=(t={},t[A]=T,t.centerOffset=T-P,t)}}function See(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||B5(t.elements.popper,i)&&(t.elements.arrow=i))}const Oee={name:"arrow",enabled:!0,phase:"main",fn:wee,effect:See,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function hc(e){return e.split("-")[1]}var Eee={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Pee(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:fc(n*i)/i||0,y:fc(r*i)/i||0}}function s3(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,u=e.adaptive,f=e.roundOffsets,d=e.isFixed,h=a.x,v=h===void 0?0:h,g=a.y,y=g===void 0?0:g,x=typeof f=="function"?f({x:v,y}):{x:v,y};v=x.x,y=x.y;var _=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),w=wr,O=xr,E=window;if(u){var P=Rp(n),T="clientHeight",A="clientWidth";if(P===Br(n)&&(P=ps(n),Xo(P).position!=="static"&&s==="absolute"&&(T="scrollHeight",A="scrollWidth")),P=P,i===xr||(i===wr||i===vi)&&o===Eh){O=mi;var D=d&&P===E&&E.visualViewport?E.visualViewport.height:P[T];y-=D-r.height,y*=l?1:-1}if(i===wr||(i===xr||i===mi)&&o===Eh){w=vi;var k=d&&P===E&&E.visualViewport?E.visualViewport.width:P[A];v-=k-r.width,v*=l?1:-1}}var I=Object.assign({position:s},u&&Eee),F=f===!0?Pee({x:v,y},Br(n)):{x:v,y};if(v=F.x,y=F.y,l){var q;return Object.assign({},I,(q={},q[O]=b?"0":"",q[w]=_?"0":"",q.transform=(E.devicePixelRatio||1)<=1?"translate("+v+"px, "+y+"px)":"translate3d("+v+"px, "+y+"px, 0)",q))}return Object.assign({},I,(t={},t[O]=b?y+"px":"",t[w]=_?v+"px":"",t.transform="",t))}function Cee(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,o=n.adaptive,a=o===void 0?!0:o,s=n.roundOffsets,l=s===void 0?!0:s,u={placement:ho(t.placement),variation:hc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,s3(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,s3(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Tee={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Cee,data:{}};var rv={passive:!0};function jee(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,o=i===void 0?!0:i,a=r.resize,s=a===void 0?!0:a,l=Br(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&u.forEach(function(f){f.addEventListener("scroll",n.update,rv)}),s&&l.addEventListener("resize",n.update,rv),function(){o&&u.forEach(function(f){f.removeEventListener("scroll",n.update,rv)}),s&&l.removeEventListener("resize",n.update,rv)}}const Aee={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:jee,data:{}};var kee={left:"right",right:"left",bottom:"top",top:"bottom"};function Kv(e){return e.replace(/left|right|bottom|top/g,function(t){return kee[t]})}var Nee={start:"end",end:"start"};function l3(e){return e.replace(/start|end/g,function(t){return Nee[t]})}function LP(e){var t=Br(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function $P(e){return dc(ps(e)).left+LP(e).scrollLeft}function Mee(e,t){var n=Br(e),r=ps(e),i=n.visualViewport,o=r.clientWidth,a=r.clientHeight,s=0,l=0;if(i){o=i.width,a=i.height;var u=F5();(u||!u&&t==="fixed")&&(s=i.offsetLeft,l=i.offsetTop)}return{width:o,height:a,x:s+$P(e),y:l}}function Ree(e){var t,n=ps(e),r=LP(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=cl(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=cl(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),s=-r.scrollLeft+$P(e),l=-r.scrollTop;return Xo(i||n).direction==="rtl"&&(s+=cl(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:s,y:l}}function IP(e){var t=Xo(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function W5(e){return["html","body","#document"].indexOf(yo(e))>=0?e.ownerDocument.body:fi(e)&&IP(e)?e:W5(nb(e))}function Ld(e,t){var n;t===void 0&&(t=[]);var r=W5(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=Br(r),a=i?[o].concat(o.visualViewport||[],IP(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(Ld(nb(a)))}function r2(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Lee(e,t){var n=dc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function u3(e,t,n){return t===I5?r2(Mee(e,n)):El(t)?Lee(t,n):r2(Ree(ps(e)))}function $ee(e){var t=Ld(nb(e)),n=["absolute","fixed"].indexOf(Xo(e).position)>=0,r=n&&fi(e)?Rp(e):e;return El(r)?t.filter(function(i){return El(i)&&B5(i,r)&&yo(i)!=="body"}):[]}function Iee(e,t,n,r){var i=t==="clippingParents"?$ee(e):[].concat(t),o=[].concat(i,[n]),a=o[0],s=o.reduce(function(l,u){var f=u3(e,u,r);return l.top=cl(f.top,l.top),l.right=Hg(f.right,l.right),l.bottom=Hg(f.bottom,l.bottom),l.left=cl(f.left,l.left),l},u3(e,a,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function H5(e){var t=e.reference,n=e.element,r=e.placement,i=r?ho(r):null,o=r?hc(r):null,a=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,l;switch(i){case xr:l={x:a,y:t.y-n.height};break;case mi:l={x:a,y:t.y+t.height};break;case vi:l={x:t.x+t.width,y:s};break;case wr:l={x:t.x-n.width,y:s};break;default:l={x:t.x,y:t.y}}var u=i?RP(i):null;if(u!=null){var f=u==="y"?"height":"width";switch(o){case cc:l[u]=l[u]-(t[f]/2-n[f]/2);break;case Eh:l[u]=l[u]+(t[f]/2-n[f]/2);break}}return l}function Ph(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,o=n.strategy,a=o===void 0?e.strategy:o,s=n.boundary,l=s===void 0?ree:s,u=n.rootBoundary,f=u===void 0?I5:u,d=n.elementContext,h=d===void 0?Gf:d,v=n.altBoundary,g=v===void 0?!1:v,y=n.padding,x=y===void 0?0:y,_=z5(typeof x!="number"?x:V5(x,Mp)),b=h===Gf?iee:Gf,w=e.rects.popper,O=e.elements[g?b:h],E=Iee(El(O)?O:O.contextElement||ps(e.elements.popper),l,f,a),P=dc(e.elements.reference),T=H5({reference:P,element:w,strategy:"absolute",placement:i}),A=r2(Object.assign({},w,T)),D=h===Gf?A:P,k={top:E.top-D.top+_.top,bottom:D.bottom-E.bottom+_.bottom,left:E.left-D.left+_.left,right:D.right-E.right+_.right},I=e.modifiersData.offset;if(h===Gf&&I){var F=I[i];Object.keys(k).forEach(function(q){var W=[vi,mi].indexOf(q)>=0?1:-1,X=[xr,mi].indexOf(q)>=0?"y":"x";k[q]+=F[X]*W})}return k}function Dee(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,a=n.padding,s=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?D5:l,f=hc(r),d=f?s?o3:o3.filter(function(g){return hc(g)===f}):Mp,h=d.filter(function(g){return u.indexOf(g)>=0});h.length===0&&(h=d);var v=h.reduce(function(g,y){return g[y]=Ph(e,{placement:y,boundary:i,rootBoundary:o,padding:a})[ho(y)],g},{});return Object.keys(v).sort(function(g,y){return v[g]-v[y]})}function Fee(e){if(ho(e)===kP)return[];var t=Kv(e);return[l3(e),t,l3(t)]}function Bee(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,a=n.altAxis,s=a===void 0?!0:a,l=n.fallbackPlacements,u=n.padding,f=n.boundary,d=n.rootBoundary,h=n.altBoundary,v=n.flipVariations,g=v===void 0?!0:v,y=n.allowedAutoPlacements,x=t.options.placement,_=ho(x),b=_===x,w=l||(b||!g?[Kv(x)]:Fee(x)),O=[x].concat(w).reduce(function(te,ie){return te.concat(ho(ie)===kP?Dee(t,{placement:ie,boundary:f,rootBoundary:d,padding:u,flipVariations:g,allowedAutoPlacements:y}):ie)},[]),E=t.rects.reference,P=t.rects.popper,T=new Map,A=!0,D=O[0],k=0;k=0,X=W?"width":"height",Q=Ph(t,{placement:I,boundary:f,rootBoundary:d,altBoundary:h,padding:u}),ne=W?q?vi:wr:q?mi:xr;E[X]>P[X]&&(ne=Kv(ne));var Z=Kv(ne),z=[];if(o&&z.push(Q[F]<=0),s&&z.push(Q[ne]<=0,Q[Z]<=0),z.every(function(te){return te})){D=I,A=!1;break}T.set(I,z)}if(A)for(var B=g?3:1,H=function(ie){var ae=O.find(function(fe){var j=T.get(fe);if(j)return j.slice(0,ie).every(function(N){return N})});if(ae)return D=ae,"break"},ee=B;ee>0;ee--){var K=H(ee);if(K==="break")break}t.placement!==D&&(t.modifiersData[r]._skip=!0,t.placement=D,t.reset=!0)}}const Uee={name:"flip",enabled:!0,phase:"main",fn:Bee,requiresIfExists:["offset"],data:{_skip:!1}};function c3(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function f3(e){return[xr,vi,mi,wr].some(function(t){return e[t]>=0})}function zee(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=Ph(t,{elementContext:"reference"}),s=Ph(t,{altBoundary:!0}),l=c3(a,r),u=c3(s,i,o),f=f3(l),d=f3(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:f,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":d})}const Vee={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:zee};function Wee(e,t,n){var r=ho(e),i=[wr,xr].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],s=o[1];return a=a||0,s=(s||0)*i,[wr,vi].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}function Hee(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=i===void 0?[0,0]:i,a=D5.reduce(function(f,d){return f[d]=Wee(d,t.rects,o),f},{}),s=a[t.placement],l=s.x,u=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=a}const Gee={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Hee};function qee(e){var t=e.state,n=e.name;t.modifiersData[n]=H5({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Kee={name:"popperOffsets",enabled:!0,phase:"read",fn:qee,data:{}};function Yee(e){return e==="x"?"y":"x"}function Zee(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=i===void 0?!0:i,a=n.altAxis,s=a===void 0?!1:a,l=n.boundary,u=n.rootBoundary,f=n.altBoundary,d=n.padding,h=n.tether,v=h===void 0?!0:h,g=n.tetherOffset,y=g===void 0?0:g,x=Ph(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:f}),_=ho(t.placement),b=hc(t.placement),w=!b,O=RP(_),E=Yee(O),P=t.modifiersData.popperOffsets,T=t.rects.reference,A=t.rects.popper,D=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,k=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),I=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,F={x:0,y:0};if(P){if(o){var q,W=O==="y"?xr:wr,X=O==="y"?mi:vi,Q=O==="y"?"height":"width",ne=P[O],Z=ne+x[W],z=ne-x[X],B=v?-A[Q]/2:0,H=b===cc?T[Q]:A[Q],ee=b===cc?-A[Q]:-T[Q],K=t.elements.arrow,te=v&&K?MP(K):{width:0,height:0},ie=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:U5(),ae=ie[W],fe=ie[X],j=Rd(0,T[Q],te[Q]),N=w?T[Q]/2-B-j-ae-k.mainAxis:H-j-ae-k.mainAxis,U=w?-T[Q]/2+B+j+fe+k.mainAxis:ee+j+fe+k.mainAxis,J=t.elements.arrow&&Rp(t.elements.arrow),Y=J?O==="y"?J.clientTop||0:J.clientLeft||0:0,oe=(q=I==null?void 0:I[O])!=null?q:0,he=ne+N-oe-Y,Oe=ne+U-oe,se=Rd(v?Hg(Z,he):Z,ne,v?cl(z,Oe):z);P[O]=se,F[O]=se-ne}if(s){var pe,me=O==="x"?xr:wr,xe=O==="x"?mi:vi,Te=P[E],Ce=E==="y"?"height":"width",Ae=Te+x[me],le=Te-x[xe],ce=[xr,wr].indexOf(_)!==-1,ye=(pe=I==null?void 0:I[E])!=null?pe:0,ge=ce?Ae:Te-T[Ce]-A[Ce]-ye+k.altAxis,we=ce?Te+T[Ce]+A[Ce]-ye-k.altAxis:le,ke=v&&ce?_ee(ge,Te,we):Rd(v?ge:Ae,Te,v?we:le);P[E]=ke,F[E]=ke-Te}t.modifiersData[r]=F}}const Xee={name:"preventOverflow",enabled:!0,phase:"main",fn:Zee,requiresIfExists:["offset"]};function Qee(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Jee(e){return e===Br(e)||!fi(e)?LP(e):Qee(e)}function ete(e){var t=e.getBoundingClientRect(),n=fc(t.width)/e.offsetWidth||1,r=fc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function tte(e,t,n){n===void 0&&(n=!1);var r=fi(t),i=fi(t)&&ete(t),o=ps(t),a=dc(e,i,n),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((yo(t)!=="body"||IP(o))&&(s=Jee(t)),fi(t)?(l=dc(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=$P(o))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function nte(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(s){if(!n.has(s)){var l=t.get(s);l&&i(l)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),r}function rte(e){var t=nte(e);return pee.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function ite(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function ote(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var d3={placement:"bottom",modifiers:[],strategy:"absolute"};function h3(){for(var e=arguments.length,t=new Array(e),n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Pte(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function Cte(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p3(e,t){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Gg(e){return Gg=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Gg(e)}var Mte={a11y:$.bool,disabled:$.bool,direction:$.oneOf(["up","down","start","end","left","right"]),group:$.bool,isOpen:$.bool,nav:$.bool,active:$.bool,size:$.string,tag:ot,toggle:$.func,children:$.node,className:$.string,cssModule:$.object,dropup:$.bool,inNavbar:$.bool,setActiveFromChild:$.bool,menuRole:$.oneOf(["listbox","menu"])},Rte={a11y:!0,isOpen:!1,direction:"down",nav:!1,active:!1,inNavbar:!1,setActiveFromChild:!1},Lte=[mt.space,mt.enter,mt.up,mt.down,mt.end,mt.home],rb=function(e){jte(n,e);var t=Ate(n);function n(r){var i;return Cte(this,n),i=t.call(this,r),i.addEvents=i.addEvents.bind(ya(i)),i.handleDocumentClick=i.handleDocumentClick.bind(ya(i)),i.handleKeyDown=i.handleKeyDown.bind(ya(i)),i.removeEvents=i.removeEvents.bind(ya(i)),i.toggle=i.toggle.bind(ya(i)),i.handleMenuRef=i.handleMenuRef.bind(ya(i)),i.handleToggleRef=i.handleToggleRef.bind(ya(i)),i.containerRef=V.createRef(),i.menuRef=V.createRef(),i.toggleRef=V.createRef(),i}return Tte(n,[{key:"componentDidMount",value:function(){this.handleProps()}},{key:"componentDidUpdate",value:function(i){this.props.isOpen!==i.isOpen&&this.handleProps()}},{key:"componentWillUnmount",value:function(){this.removeEvents()}},{key:"handleMenuRef",value:function(i){this.menuRef.current=i}},{key:"handleToggleRef",value:function(i){this.toggleRef.current=i}},{key:"handleDocumentClick",value:function(i){if(!(i&&(i.which===3||i.type==="keyup"&&i.which!==mt.tab))){var o=this.getContainer(),a=this.getMenu(),s=this.getToggle();if(s){var l=s.contains(i.target),u=a&&a.contains(i.target)&&a!==i.target,f=!1;o&&(f=o.classList.contains("input-group")&&o.classList.contains("dropdown")&&i.target.tagName==="INPUT"),!((l&&!f||u)&&(i.type!=="keyup"||i.which===mt.tab))&&this.toggle(i)}}}},{key:"handleKeyDown",value:function(i){var o=this,a=i.target.getAttribute("role")==="menuitem"||i.target.getAttribute("role")==="option",s=this.getMenuCtrl()===i.target,l=mt.tab===i.which;if(!(/input|textarea/i.test(i.target.tagName)||l&&!this.props.a11y||l&&!(a||s))&&((Lte.indexOf(i.which)!==-1||i.which>=48&&i.which<=90)&&i.preventDefault(),!this.props.disabled)){if(s)if([mt.space,mt.enter,mt.up,mt.down].indexOf(i.which)>-1)this.props.isOpen||this.toggle(i),setTimeout(function(){var b;return(b=o.getMenuItems()[0])===null||b===void 0?void 0:b.focus()});else if(this.props.isOpen&&l){var u;i.preventDefault(),(u=this.getMenuItems()[0])===null||u===void 0||u.focus()}else this.props.isOpen&&i.which===mt.esc&&this.toggle(i);if(this.props.isOpen&&a){if([mt.tab,mt.esc].indexOf(i.which)>-1)this.toggle(i),this.getMenuCtrl().focus();else if([mt.space,mt.enter].indexOf(i.which)>-1)i.target.click(),this.getMenuCtrl().focus();else if([mt.down,mt.up].indexOf(i.which)>-1||[mt.n,mt.p].indexOf(i.which)>-1&&i.ctrlKey){var f=this.getMenuItems(),d=f.indexOf(i.target);mt.up===i.which||mt.p===i.which&&i.ctrlKey?d=d!==0?d-1:f.length-1:(mt.down===i.which||mt.n===i.which&&i.ctrlKey)&&(d=d===f.length-1?0:d+1),f[d].focus()}else if(mt.end===i.which){var h=this.getMenuItems();h[h.length-1].focus()}else if(mt.home===i.which){var v=this.getMenuItems();v[0].focus()}else if(i.which>=48&&i.which<=90)for(var g=this.getMenuItems(),y=String.fromCharCode(i.which).toLowerCase(),x=0;x=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Dte(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function Fte(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function m3(e,t){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function qg(e){return qg=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},qg(e)}var Hte={children:$.node,active:$.bool,disabled:$.bool,divider:$.bool,tag:ot,header:$.bool,onClick:$.func,className:$.string,cssModule:$.object,toggle:$.bool,text:$.bool},DP=function(e){Ute(n,e);var t=zte(n);function n(r){var i;return Fte(this,n),i=t.call(this,r),i.onClick=i.onClick.bind(c2(i)),i.getTabIndex=i.getTabIndex.bind(c2(i)),i}return Bte(n,[{key:"onClick",value:function(i){var o,a=this.props,s=a.disabled,l=a.header,u=a.divider,f=a.text;if(s||l||u||f){i.preventDefault();return}this.props.onClick&&this.props.onClick(i),(!((o=this.props.toggle)!==null&&o!==void 0)||o)&&this.context.toggle(i)}},{key:"getRole",value:function(){return this.context.menuRole==="listbox"?"option":"menuitem"}},{key:"getTabIndex",value:function(){var i=this.props,o=i.disabled,a=i.header,s=i.divider,l=i.text;return o||a||s||l?"-1":"0"}},{key:"render",value:function(){var i=this.getTabIndex(),o=i>-1?this.getRole():void 0,a=hs(this.props,["toggle"]),s=a.className,l=a.cssModule,u=a.divider,f=a.tag,d=f===void 0?"button":f,h=a.header,v=a.active,g=a.text,y=Ite(a,$te),x=Ue(Ge(s,{disabled:y.disabled,"dropdown-item":!u&&!h&&!g,active:v,"dropdown-header":h,"dropdown-divider":u,"dropdown-item-text":g}),l);return d==="button"&&(h?d="h6":u?d="div":y.href?d="a":g&&(d="span")),V.createElement(d,l2({type:d==="button"&&(y.onClick||this.props.toggle)?"button":void 0},y,{tabIndex:i,role:o,className:x,onClick:this.onClick}))}}]),n}(V.Component);DP.propTypes=Hte;DP.contextType=Ch;const Ne=DP;function f2(e){"@babel/helpers - typeof";return f2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f2(e)}var Gte=["className","cssModule","dark","end","right","tag","flip","modifiers","persist","strategy","container","updateOnSelect"];function Kg(){return Kg=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ene(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function tne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g3(e,t){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Yg(e){return Yg=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Yg(e)}var lne={tag:ot,children:$.node.isRequired,dark:$.bool,end:$.bool,flip:$.bool,modifiers:$.array,className:$.string,cssModule:$.object,style:$.object,persist:$.bool,strategy:$.string,container:uc,updateOnSelect:$.bool,right:O5($.bool,'Please use "end" instead.')},une={up:"top",left:"left",right:"right",start:"left",end:"right",down:"bottom"},FP=function(e){rne(n,e);var t=ine(n);function n(){return tne(this,n),t.apply(this,arguments)}return nne(n,[{key:"getRole",value:function(){return this.context.menuRole==="listbox"?"listbox":"menu"}},{key:"render",value:function(){var i=this,o=this.props,a=o.className,s=o.cssModule,l=o.dark,u=o.end,f=o.right,d=o.tag,h=d===void 0?"div":d,v=o.flip,g=v===void 0?!0:v,y=o.modifiers,x=y===void 0?[]:y,_=o.persist,b=o.strategy,w=o.container,O=o.updateOnSelect,E=Jte(o,Gte),P=Ue(Ge(a,"dropdown-menu",{"dropdown-menu-dark":l,"dropdown-menu-end":u||f,show:this.context.isOpen}),s),T=h;if(_||this.context.isOpen&&!this.context.inNavbar){var A=une[this.context.direction]||"bottom",D=u||f?"end":"start",k="".concat(A,"-").concat(D),I=[].concat(Kte(x),[{name:"flip",enabled:!!g}]),F={};_&&(F.display="block",F.visibility=this.context.isOpen?"visible":"hidden");var q=V.createElement(G5,{placement:k,modifiers:I,strategy:b},function(X){var Q=X.ref,ne=X.style,Z=X.placement,z=X.update,B=b_(b_(b_({},i.props.style),F),ne),H=function(K){Q(K);var te=i.context.onMenuRef;te&&te(K)};return V.createElement(T,Kg({tabIndex:"-1",role:i.getRole(),ref:H},E,{style:B,"aria-hidden":!i.context.isOpen,className:P,"data-popper-placement":Z,onClick:function(){return O&&z()}}))});return w?el.createPortal(q,Oh(w)):q}var W=this.context.onMenuRef;return V.createElement(T,Kg({tabIndex:"-1",role:this.getRole()},E,{ref:W,"aria-hidden":!this.context.isOpen,className:P,"data-popper-placement":E.placement,"data-bs-popper":"static"}))}}]),n}(V.Component);FP.propTypes=lne;FP.contextType=Ch;const Zc=FP;function p2(e){"@babel/helpers - typeof";return p2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p2(e)}var cne=["className","color","cssModule","caret","split","nav","tag","innerRef"];function m2(){return m2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function hne(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function pne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function y3(e,t){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zg(e){return Zg=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Zg(e)}var _ne={caret:$.bool,color:$.string,children:$.node,className:$.string,cssModule:$.object,disabled:$.bool,onClick:$.func,"aria-haspopup":$.bool,split:$.bool,tag:ot,nav:$.bool,innerRef:$.oneOfType([$.object,$.string,$.func])},xne={color:"secondary","aria-haspopup":!0},ib=function(e){vne(n,e);var t=gne(n);function n(r){var i;return pne(this,n),i=t.call(this,r),i.onClick=i.onClick.bind(K5(i)),i}return mne(n,[{key:"onClick",value:function(i){if(this.props.disabled||this.context.disabled){i.preventDefault();return}this.props.nav&&!this.props.tag&&i.preventDefault(),this.props.onClick&&this.props.onClick(i),this.context.toggle(i)}},{key:"getRole",value:function(){return this.context.menuRole||this.props["aria-haspopup"]}},{key:"render",value:function(){var i=this,o=this.props,a=o.className,s=o.color,l=o.cssModule,u=o.caret,f=o.split,d=o.nav,h=o.tag,v=o.innerRef,g=dne(o,cne),y=g["aria-label"]||"Toggle Dropdown",x=Ue(Ge(a,{"dropdown-toggle":u||f,"dropdown-toggle-split":f,"nav-link":d}),l),_=typeof g.children<"u"?g.children:V.createElement("span",{className:"visually-hidden"},y),b;d&&!h?(b="a",g.href="#"):h?b=h:(b=Ye,g.color=s,g.cssModule=l);var w=function(E){var P=E.ref,T=function(D){P(D);var k=i.context.onToggleRef;k&&k(D)};return V.createElement(b,m2({},g,fne({},typeof b=="string"?"ref":"innerRef",T),{className:x,onClick:i.onClick,"aria-expanded":i.context.isOpen,"aria-haspopup":i.getRole(),children:_}))};return this.context.inNavbar?V.createElement(V.Fragment,null,w({ref:this.context.onToggleRef})):V.createElement(Ste,{innerRef:v},w)}}]),n}(V.Component);ib.propTypes=_ne;ib.defaultProps=xne;ib.contextType=Ch;const Xc=ib;function wne(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function g2(e,t){return g2=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},g2(e,t)}function Sne(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g2(e,t)}const b3={disabled:!1},Y5=V.createContext(null);var One=function(t){return t.scrollTop},pd="unmounted",Fs="exited",Bs="entering",mu="entered",y2="exiting",Pr=function(e){Sne(t,e);function t(r,i){var o;o=e.call(this,r,i)||this;var a=i,s=a&&!a.isMounting?r.enter:r.appear,l;return o.appearStatus=null,r.in?s?(l=Fs,o.appearStatus=Bs):l=mu:r.unmountOnExit||r.mountOnEnter?l=pd:l=Fs,o.state={status:l},o.nextCallback=null,o}t.getDerivedStateFromProps=function(i,o){var a=i.in;return a&&o.status===pd?{status:Fs}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(i){var o=null;if(i!==this.props){var a=this.state.status;this.props.in?a!==Bs&&a!==mu&&(o=Bs):(a===Bs||a===mu)&&(o=y2)}this.updateStatus(!1,o)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var i=this.props.timeout,o,a,s;return o=a=s=i,i!=null&&typeof i!="number"&&(o=i.exit,a=i.enter,s=i.appear!==void 0?i.appear:a),{exit:o,enter:a,appear:s}},n.updateStatus=function(i,o){if(i===void 0&&(i=!1),o!==null)if(this.cancelNextCallback(),o===Bs){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:el.findDOMNode(this);a&&One(a)}this.performEnter(i)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Fs&&this.setState({status:pd})},n.performEnter=function(i){var o=this,a=this.props.enter,s=this.context?this.context.isMounting:i,l=this.props.nodeRef?[s]:[el.findDOMNode(this),s],u=l[0],f=l[1],d=this.getTimeouts(),h=s?d.appear:d.enter;if(!i&&!a||b3.disabled){this.safeSetState({status:mu},function(){o.props.onEntered(u)});return}this.props.onEnter(u,f),this.safeSetState({status:Bs},function(){o.props.onEntering(u,f),o.onTransitionEnd(h,function(){o.safeSetState({status:mu},function(){o.props.onEntered(u,f)})})})},n.performExit=function(){var i=this,o=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:el.findDOMNode(this);if(!o||b3.disabled){this.safeSetState({status:Fs},function(){i.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:y2},function(){i.props.onExiting(s),i.onTransitionEnd(a.exit,function(){i.safeSetState({status:Fs},function(){i.props.onExited(s)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(i,o){o=this.setNextCallback(o),this.setState(i,o)},n.setNextCallback=function(i){var o=this,a=!0;return this.nextCallback=function(s){a&&(a=!1,o.nextCallback=null,i(s))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},n.onTransitionEnd=function(i,o){this.setNextCallback(o);var a=this.props.nodeRef?this.props.nodeRef.current:el.findDOMNode(this),s=i==null&&!this.props.addEndListener;if(!a||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],u=l[0],f=l[1];this.props.addEndListener(u,f)}i!=null&&setTimeout(this.nextCallback,i)},n.render=function(){var i=this.state.status;if(i===pd)return null;var o=this.props,a=o.children;o.in,o.mountOnEnter,o.unmountOnExit,o.appear,o.enter,o.exit,o.timeout,o.addEndListener,o.onEnter,o.onEntering,o.onEntered,o.onExit,o.onExiting,o.onExited,o.nodeRef;var s=wne(o,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return V.createElement(Y5.Provider,{value:null},typeof a=="function"?a(i,s):V.cloneElement(V.Children.only(a),s))},t}(V.Component);Pr.contextType=Y5;Pr.propTypes={};function nu(){}Pr.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:nu,onEntering:nu,onEntered:nu,onExit:nu,onExiting:nu,onExited:nu};Pr.UNMOUNTED=pd;Pr.EXITED=Fs;Pr.ENTERING=Bs;Pr.ENTERED=mu;Pr.EXITING=y2;var Ene=["tag","baseClass","baseClassActive","className","cssModule","children","innerRef"];function Xg(){return Xg=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Cne(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function _3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Th(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Nne(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function Mne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function x3(e,t){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Jg(e){return Jg=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Jg(e)}function w3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function pc(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Gne(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var qne={body:$.bool,className:$.string,color:$.string,cssModule:$.object,innerRef:$.oneOfType([$.object,$.string,$.func]),inverse:$.bool,outline:$.bool,tag:ot};function Er(e){var t=e.className,n=e.cssModule,r=e.color,i=e.body,o=e.inverse,a=e.outline,s=e.tag,l=s===void 0?"div":s,u=e.innerRef,f=Hne(e,Wne),d=Ue(Ge(t,"card",o?"text-white":!1,i?"card-body":!1,r?"".concat(a?"border":"bg","-").concat(r):!1),n);return V.createElement(l,x2({},f,{className:d,ref:u}))}Er.propTypes=qne;var Kne=["className","cssModule","innerRef","tag"];function w2(){return w2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Zne(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var Xne={className:$.string,cssModule:$.object,innerRef:$.oneOfType([$.object,$.string,$.func]),tag:ot};function mc(e){var t=e.className,n=e.cssModule,r=e.innerRef,i=e.tag,o=i===void 0?"div":i,a=Yne(e,Kne),s=Ue(Ge(t,"card-body"),n);return V.createElement(o,w2({},a,{className:s,ref:r}))}mc.propTypes=Xne;var Qne=["className","cssModule","tag"];function S2(){return S2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ere(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var tre={className:$.string,cssModule:$.object,tag:ot};function Q5(e){var t=e.className,n=e.cssModule,r=e.tag,i=r===void 0?"div":r,o=Jne(e,Qne),a=Ue(Ge(t,"card-footer"),n);return V.createElement(i,S2({},o,{className:a}))}Q5.propTypes=tre;var nre=["className","cssModule","tag"];function O2(){return O2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ire(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var ore={className:$.string,cssModule:$.object,tag:ot};function vc(e){var t=e.className,n=e.cssModule,r=e.tag,i=r===void 0?"div":r,o=rre(e,nre),a=Ue(Ge(t,"card-header"),n);return V.createElement(i,O2({},o,{className:a}))}vc.propTypes=ore;var are=["className","cssModule","tag"];function E2(){return E2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function lre(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var ure={className:$.string,cssModule:$.object,tag:ot};function J5(e){var t=e.className,n=e.cssModule,r=e.tag,i=r===void 0?"p":r,o=sre(e,are),a=Ue(Ge(t,"card-text"),n);return V.createElement(i,E2({},o,{className:a}))}J5.propTypes=ure;var cre=["className","cssModule","tag"];function P2(){return P2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function dre(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var hre={className:$.string,cssModule:$.object,tag:ot};function e8(e){var t=e.className,n=e.cssModule,r=e.tag,i=r===void 0?"div":r,o=fre(e,cre),a=Ue(Ge(t,"card-title"),n);return V.createElement(i,P2({},o,{className:a}))}e8.propTypes=hre;function C2(e){"@babel/helpers - typeof";return C2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},C2(e)}var pre=["cssModule","children","isOpen","flip","target","offset","fallbackPlacements","placementPrefix","arrowClassName","hideArrow","popperClassName","tag","container","modifiers","strategy","boundariesElement","onClosed","fade","transition","placement"];function T2(){return T2=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _re(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function xre(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O3(e,t){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ey(e){return ey=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ey(e)}function E3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Zv(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ty(e){return ty=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ty(e)}var zP={children:$.oneOfType([$.node,$.func]),placement:$.oneOf(rJ),target:uc.isRequired,container:uc,isOpen:$.bool,disabled:$.bool,hideArrow:$.bool,boundariesElement:$.oneOfType([$.string,CP]),className:$.string,innerClassName:$.string,arrowClassName:$.string,popperClassName:$.string,cssModule:$.object,toggle:$.func,autohide:$.bool,placementPrefix:$.string,delay:$.oneOfType([$.shape({show:$.number,hide:$.number}),$.number]),modifiers:$.array,strategy:$.string,offset:$.arrayOf($.number),innerRef:$.oneOfType([$.func,$.string,$.object]),trigger:$.string,fade:$.bool,flip:$.bool},t8={show:0,hide:50},Dre={isOpen:!1,hideArrow:!1,autohide:!1,delay:t8,toggle:function(){},trigger:"click",fade:!0};function n8(e,t){return t&&(e===t||t.contains(e))}function C3(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return t&&t.length&&t.filter(function(n){return n8(e,n)})[0]}var VP=function(e){Rre(n,e);var t=Lre(n);function n(r){var i;return Nre(this,n),i=t.call(this,r),i._targets=[],i.currentTargetElement=null,i.addTargetEvents=i.addTargetEvents.bind(jr(i)),i.handleDocumentClick=i.handleDocumentClick.bind(jr(i)),i.removeTargetEvents=i.removeTargetEvents.bind(jr(i)),i.toggle=i.toggle.bind(jr(i)),i.showWithDelay=i.showWithDelay.bind(jr(i)),i.hideWithDelay=i.hideWithDelay.bind(jr(i)),i.onMouseOverTooltipContent=i.onMouseOverTooltipContent.bind(jr(i)),i.onMouseLeaveTooltipContent=i.onMouseLeaveTooltipContent.bind(jr(i)),i.show=i.show.bind(jr(i)),i.hide=i.hide.bind(jr(i)),i.onEscKeyDown=i.onEscKeyDown.bind(jr(i)),i.getRef=i.getRef.bind(jr(i)),i.state={isOpen:r.isOpen},i._isMounted=!1,i}return Mre(n,[{key:"componentDidMount",value:function(){this._isMounted=!0,this.updateTarget()}},{key:"componentWillUnmount",value:function(){this._isMounted=!1,this.removeTargetEvents(),this._targets=null,this.clearShowTimeout(),this.clearHideTimeout()}},{key:"handleDocumentClick",value:function(i){var o=this.props.trigger.split(" ");o.indexOf("legacy")>-1&&(this.props.isOpen||C3(i.target,this._targets))?(this._hideTimeout&&this.clearHideTimeout(),this.props.isOpen&&!n8(i.target,this._popover)?this.hideWithDelay(i):this.props.isOpen||this.showWithDelay(i)):o.indexOf("click")>-1&&C3(i.target,this._targets)&&(this._hideTimeout&&this.clearHideTimeout(),this.props.isOpen?this.hideWithDelay(i):this.showWithDelay(i))}},{key:"onMouseOverTooltipContent",value:function(){this.props.trigger.indexOf("hover")>-1&&!this.props.autohide&&(this._hideTimeout&&this.clearHideTimeout(),this.state.isOpen&&!this.props.isOpen&&this.toggle())}},{key:"onMouseLeaveTooltipContent",value:function(i){this.props.trigger.indexOf("hover")>-1&&!this.props.autohide&&(this._showTimeout&&this.clearShowTimeout(),i.persist(),this._hideTimeout=setTimeout(this.hide.bind(this,i),this.getDelay("hide")))}},{key:"onEscKeyDown",value:function(i){i.key==="Escape"&&this.hide(i)}},{key:"getRef",value:function(i){var o=this.props.innerRef;o&&(typeof o=="function"?o(i):jh(o)==="object"&&(o.current=i)),this._popover=i}},{key:"getDelay",value:function(i){var o=this.props.delay;return jh(o)==="object"?isNaN(o[i])?t8[i]:o[i]:o}},{key:"getCurrentTarget",value:function(i){if(!i)return null;var o=this._targets.indexOf(i);return o>=0?this._targets[o]:this.getCurrentTarget(i.parentElement)}},{key:"show",value:function(i){if(!this.props.isOpen){if(this.clearShowTimeout(),this.currentTargetElement=i?i.currentTarget||this.getCurrentTarget(i.target):null,i&&i.composedPath&&typeof i.composedPath=="function"){var o=i.composedPath();this.currentTargetElement=o&&o[0]||this.currentTargetElement}this.toggle(i)}}},{key:"showWithDelay",value:function(i){this._hideTimeout&&this.clearHideTimeout(),this._showTimeout=setTimeout(this.show.bind(this,i),this.getDelay("show"))}},{key:"hide",value:function(i){this.props.isOpen&&(this.clearHideTimeout(),this.currentTargetElement=null,this.toggle(i))}},{key:"hideWithDelay",value:function(i){this._showTimeout&&this.clearShowTimeout(),this._hideTimeout=setTimeout(this.hide.bind(this,i),this.getDelay("hide"))}},{key:"clearShowTimeout",value:function(){clearTimeout(this._showTimeout),this._showTimeout=void 0}},{key:"clearHideTimeout",value:function(){clearTimeout(this._hideTimeout),this._hideTimeout=void 0}},{key:"addEventOnTargets",value:function(i,o,a){this._targets.forEach(function(s){s.addEventListener(i,o,a)})}},{key:"removeEventOnTargets",value:function(i,o,a){this._targets.forEach(function(s){s.removeEventListener(i,o,a)})}},{key:"addTargetEvents",value:function(){if(this.props.trigger){var i=this.props.trigger.split(" ");i.indexOf("manual")===-1&&((i.indexOf("click")>-1||i.indexOf("legacy")>-1)&&document.addEventListener("click",this.handleDocumentClick,!0),this._targets&&this._targets.length&&(i.indexOf("hover")>-1&&(this.addEventOnTargets("mouseover",this.showWithDelay,!0),this.addEventOnTargets("mouseout",this.hideWithDelay,!0)),i.indexOf("focus")>-1&&(this.addEventOnTargets("focusin",this.show,!0),this.addEventOnTargets("focusout",this.hide,!0)),this.addEventOnTargets("keydown",this.onEscKeyDown,!0)))}}},{key:"removeTargetEvents",value:function(){this._targets&&(this.removeEventOnTargets("mouseover",this.showWithDelay,!0),this.removeEventOnTargets("mouseout",this.hideWithDelay,!0),this.removeEventOnTargets("keydown",this.onEscKeyDown,!0),this.removeEventOnTargets("focusin",this.show,!0),this.removeEventOnTargets("focusout",this.hide,!0)),document.removeEventListener("click",this.handleDocumentClick,!0)}},{key:"updateTarget",value:function(){var i=Oh(this.props.target,!0);i!==this._targets&&(this.removeTargetEvents(),this._targets=i?Array.from(i):[],this.currentTargetElement=this.currentTargetElement||this._targets[0],this.addTargetEvents())}},{key:"toggle",value:function(i){return this.props.disabled||!this._isMounted?i&&i.preventDefault():this.props.toggle(i)}},{key:"render",value:function(){var i=this;this.props.isOpen&&this.updateTarget();var o=this.currentTargetElement||this._targets[0];if(!o)return null;var a=this.props,s=a.className,l=a.cssModule,u=a.innerClassName,f=a.isOpen,d=a.hideArrow,h=a.boundariesElement,v=a.placement,g=a.placementPrefix,y=a.arrowClassName,x=a.popperClassName,_=a.container,b=a.modifiers,w=a.strategy,O=a.offset,E=a.fade,P=a.flip,T=a.children,A=hs(this.props,Object.keys(zP)),D=Ue(x,l),k=Ue(u,l);return V.createElement(kre,{className:s,target:o,isOpen:f,hideArrow:d,boundariesElement:h,placement:v,placementPrefix:g,arrowClassName:y,popperClassName:D,container:_,modifiers:b,strategy:w,offset:O,cssModule:l,fade:E,flip:P},function(I){var F=I.update;return V.createElement("div",k2({},A,{ref:i.getRef,className:k,role:"tooltip",onMouseOver:i.onMouseOverTooltipContent,onMouseLeave:i.onMouseLeaveTooltipContent,onKeyDown:i.onEscKeyDown}),typeof T=="function"?T({update:F}):T)})}}],[{key:"getDerivedStateFromProps",value:function(i,o){return i.isOpen&&!o.isOpen?{isOpen:i.isOpen}:null}}]),n}(V.Component);VP.propTypes=zP;VP.defaultProps=Dre;const Fre=VP;var Bre=["children","className","barClassName","cssModule","value","min","max","animated","striped","color","bar","multi","tag","style","barStyle","barAriaValueText","barAriaLabelledBy"];function ny(){return ny=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Vre(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var Wre={animated:$.bool,bar:$.bool,barAriaLabelledBy:$.string,barAriaValueText:$.string,barClassName:$.string,barStyle:$.object,children:$.node,className:$.string,cssModule:$.object,color:$.string,max:$.oneOfType([$.string,$.number]),min:$.oneOfType([$.string,$.number]),multi:$.bool,striped:$.bool,style:$.object,tag:ot,value:$.oneOfType([$.string,$.number])};function r8(e){var t=e.children,n=e.className,r=e.barClassName,i=e.cssModule,o=e.value,a=o===void 0?0:o,s=e.min,l=s===void 0?0:s,u=e.max,f=u===void 0?100:u,d=e.animated,h=e.striped,v=e.color,g=e.bar,y=e.multi,x=e.tag,_=x===void 0?"div":x,b=e.style,w=b===void 0?{}:b,O=e.barStyle,E=O===void 0?{}:O,P=e.barAriaValueText,T=e.barAriaLabelledBy,A=zre(e,Bre),D=Xk(a)/Xk(f)*100,k=Ue(Ge(n,"progress"),i),I=Ue(Ge("progress-bar",g&&n||r,d?"progress-bar-animated":null,v?"bg-".concat(v):null,h||d?"progress-bar-striped":null),i),F={className:I,style:__(__(__({},g?w:{}),E),{},{width:"".concat(D,"%")}),role:"progressbar","aria-valuenow":a,"aria-valuemin":l,"aria-valuemax":f,"aria-valuetext":P,"aria-labelledby":T,children:t};return g?V.createElement(_,ny({},A,F)):V.createElement(_,ny({},A,{style:w,className:k}),y?t:V.createElement("div",F))}r8.propTypes=Wre;function M2(e){"@babel/helpers - typeof";return M2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M2(e)}function Hre(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function j3(e,t){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ry(e){return ry=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ry(e)}var Qre={children:$.node.isRequired,node:$.any},i8=function(e){qre(n,e);var t=Kre(n);function n(){return Hre(this,n),t.apply(this,arguments)}return Gre(n,[{key:"componentWillUnmount",value:function(){this.defaultNode&&document.body.removeChild(this.defaultNode),this.defaultNode=null}},{key:"render",value:function(){return TP?(!this.props.node&&!this.defaultNode&&(this.defaultNode=document.createElement("div"),document.body.appendChild(this.defaultNode)),el.createPortal(this.props.children,this.props.node||this.defaultNode)):null}}]),n}(V.Component);i8.propTypes=Qre;const Jre=i8;function L2(e){"@babel/helpers - typeof";return L2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},L2(e)}function A3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function iu(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function iy(e){return iy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},iy(e)}function oy(){}var N3=$.shape(rr.propTypes),o8={autoFocus:$.bool,backdrop:$.oneOfType([$.bool,$.oneOf(["static"])]),backdropClassName:$.string,backdropTransition:N3,centered:$.bool,children:$.node,contentClassName:$.string,className:$.string,container:uc,cssModule:$.object,external:$.node,fade:$.bool,fullscreen:$.oneOfType([$.bool,$.oneOf(["sm","md","lg","xl"])]),innerRef:$.oneOfType([$.object,$.string,$.func]),isOpen:$.bool,keyboard:$.bool,labelledBy:$.string,modalClassName:$.string,modalTransition:N3,onClosed:$.func,onEnter:$.func,onExit:$.func,onOpened:$.func,returnFocusAfterClose:$.bool,role:$.string,scrollable:$.bool,size:$.string,toggle:$.func,trapFocus:$.bool,unmountOnClose:$.bool,wrapClassName:$.string,zIndex:$.oneOfType([$.number,$.string])},aie=Object.keys(o8),sie={isOpen:!1,autoFocus:!0,centered:!1,scrollable:!1,role:"dialog",backdrop:!0,keyboard:!0,zIndex:1050,fade:!0,onOpened:oy,onClosed:oy,modalTransition:{timeout:zg.Modal},backdropTransition:{mountOnEnter:!0,timeout:zg.Fade},unmountOnClose:!0,returnFocusAfterClose:!0,container:"body",trapFocus:!1},$p=function(e){nie(n,e);var t=rie(n);function n(r){var i;return eie(this,n),i=t.call(this,r),i._element=null,i._originalBodyPadding=null,i.getFocusableChildren=i.getFocusableChildren.bind(ei(i)),i.handleBackdropClick=i.handleBackdropClick.bind(ei(i)),i.handleBackdropMouseDown=i.handleBackdropMouseDown.bind(ei(i)),i.handleEscape=i.handleEscape.bind(ei(i)),i.handleStaticBackdropAnimation=i.handleStaticBackdropAnimation.bind(ei(i)),i.handleTab=i.handleTab.bind(ei(i)),i.onOpened=i.onOpened.bind(ei(i)),i.onClosed=i.onClosed.bind(ei(i)),i.manageFocusAfterClose=i.manageFocusAfterClose.bind(ei(i)),i.clearBackdropAnimationTimeout=i.clearBackdropAnimationTimeout.bind(ei(i)),i.trapFocus=i.trapFocus.bind(ei(i)),i.state={isOpen:!1,showStaticBackdropAnimation:!1},i}return tie(n,[{key:"componentDidMount",value:function(){var i=this.props,o=i.isOpen,a=i.autoFocus,s=i.onEnter;o&&(this.init(),this.setState({isOpen:!0}),a&&this.setFocus()),s&&s(),document.addEventListener("focus",this.trapFocus,!0),this._isMounted=!0}},{key:"componentDidUpdate",value:function(i,o){if(this.props.isOpen&&!i.isOpen){this.init(),this.setState({isOpen:!0});return}this.props.autoFocus&&this.state.isOpen&&!o.isOpen&&this.setFocus(),this._element&&i.zIndex!==this.props.zIndex&&(this._element.style.zIndex=this.props.zIndex)}},{key:"componentWillUnmount",value:function(){this.clearBackdropAnimationTimeout(),this.props.onExit&&this.props.onExit(),this._element&&(this.destroy(),(this.props.isOpen||this.state.isOpen)&&this.close()),document.removeEventListener("focus",this.trapFocus,!0),this._isMounted=!1}},{key:"handleBackdropClick",value:function(i){if(i.target===this._mouseDownElement){i.stopPropagation();var o=this._dialog?this._dialog.parentNode:null;if(o&&i.target===o&&this.props.backdrop==="static"&&this.handleStaticBackdropAnimation(),!this.props.isOpen||this.props.backdrop!==!0)return;o&&i.target===o&&this.props.toggle&&this.props.toggle(i)}}},{key:"handleTab",value:function(i){if(i.which===9&&!(this.modalIndex0&&(i.preventDefault(),i.stopPropagation(),o[0].focus())}}},{key:"init",value:function(){try{this._triggeringElement=document.activeElement}catch{this._triggeringElement=null}this._element||(this._element=document.createElement("div"),this._element.setAttribute("tabindex","-1"),this._element.style.position="relative",this._element.style.zIndex=this.props.zIndex,this._mountContainer=Oh(this.props.container),this._mountContainer.appendChild(this._element)),this._originalBodyPadding=JQ(),n.openCount<1&&(n.originalBodyOverflow=window.getComputedStyle(document.body).overflow),eJ(),n.openCount===0&&(document.body.className=Ge(document.body.className,Ue("modal-open",this.props.cssModule)),document.body.style.overflow="hidden"),this.modalIndex=n.openCount,n.openCount+=1}},{key:"destroy",value:function(){this._element&&(this._mountContainer.removeChild(this._element),this._element=null),this.manageFocusAfterClose()}},{key:"manageFocusAfterClose",value:function(){if(this._triggeringElement){var i=this.props.returnFocusAfterClose;this._triggeringElement.focus&&i&&this._triggeringElement.focus(),this._triggeringElement=null}}},{key:"close",value:function(){if(n.openCount<=1){var i=Ue("modal-open",this.props.cssModule),o=new RegExp("(^| )".concat(i,"( |$)"));document.body.className=document.body.className.replace(o," ").trim(),document.body.style.overflow=n.originalBodyOverflow}this.manageFocusAfterClose(),n.openCount=Math.max(0,n.openCount-1),w5(this._originalBodyPadding)}},{key:"clearBackdropAnimationTimeout",value:function(){this._backdropAnimationTimeout&&(clearTimeout(this._backdropAnimationTimeout),this._backdropAnimationTimeout=void 0)}},{key:"renderModalDialog",value:function(){var i,o=this,a=hs(this.props,aie),s="modal-dialog";return V.createElement("div",$d({},a,{className:Ue(Ge(s,this.props.className,(i={},vu(i,"modal-".concat(this.props.size),this.props.size),vu(i,"".concat(s,"-centered"),this.props.centered),vu(i,"".concat(s,"-scrollable"),this.props.scrollable),vu(i,"modal-fullscreen",this.props.fullscreen===!0),vu(i,"modal-fullscreen-".concat(this.props.fullscreen,"-down"),typeof this.props.fullscreen=="string"),i)),this.props.cssModule),role:"document",ref:function(u){o._dialog=u}}),V.createElement("div",{className:Ue(Ge("modal-content",this.props.contentClassName),this.props.cssModule)},this.props.children))}},{key:"render",value:function(){var i=this.props.unmountOnClose;if(this._element&&(this.state.isOpen||!i)){var o=!!this._element&&!this.state.isOpen&&!i;this._element.style.display=o?"none":"block";var a=this.props,s=a.wrapClassName,l=a.modalClassName,u=a.backdropClassName,f=a.cssModule,d=a.isOpen,h=a.backdrop,v=a.role,g=a.labelledBy,y=a.external,x=a.innerRef,_={onClick:this.handleBackdropClick,onMouseDown:this.handleBackdropMouseDown,onKeyUp:this.handleEscape,onKeyDown:this.handleTab,style:{display:"block"},"aria-labelledby":g,"aria-modal":!0,role:v,tabIndex:"-1"},b=this.props.fade,w=iu(iu(iu({},rr.defaultProps),this.props.modalTransition),{},{baseClass:b?this.props.modalTransition.baseClass:"",timeout:b?this.props.modalTransition.timeout:0}),O=iu(iu(iu({},rr.defaultProps),this.props.backdropTransition),{},{baseClass:b?this.props.backdropTransition.baseClass:"",timeout:b?this.props.backdropTransition.timeout:0}),E=h&&(b?V.createElement(rr,$d({},O,{in:d&&!!h,cssModule:f,className:Ue(Ge("modal-backdrop",u),f)})):V.createElement("div",{className:Ue(Ge("modal-backdrop","show",u),f)}));return V.createElement(Jre,{node:this._element},V.createElement("div",{className:Ue(s)},V.createElement(rr,$d({},_,w,{in:d,onEntered:this.onOpened,onExited:this.onClosed,cssModule:f,className:Ue(Ge("modal",l,this.state.showStaticBackdropAnimation&&"modal-static"),f),innerRef:x}),y,this.renderModalDialog()),E))}return null}}]),n}(V.Component);$p.propTypes=o8;$p.defaultProps=sie;$p.openCount=0;$p.originalBodyOverflow=null;const So=$p;var lie=["className","cssModule","children","toggle","tag","wrapTag","closeAriaLabel","close"];function I2(){return I2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function cie(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var fie={children:$.node,className:$.string,close:$.object,closeAriaLabel:$.string,cssModule:$.object,tag:ot,toggle:$.func,wrapTag:ot};function Oo(e){var t,n=e.className,r=e.cssModule,i=e.children,o=e.toggle,a=e.tag,s=a===void 0?"h5":a,l=e.wrapTag,u=l===void 0?"div":l,f=e.closeAriaLabel,d=f===void 0?"Close":f,h=e.close,v=uie(e,lie),g=Ue(Ge(n,"modal-header"),r);return!h&&o&&(t=V.createElement("button",{type:"button",onClick:o,className:Ue("btn-close",r),"aria-label":d})),V.createElement(u,I2({},v,{className:g}),V.createElement(s,{className:Ue("modal-title",r)},i),h||t)}Oo.propTypes=fie;var die=["className","cssModule","tag"];function D2(){return D2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function pie(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var mie={className:$.string,cssModule:$.object,tag:ot};function Wi(e){var t=e.className,n=e.cssModule,r=e.tag,i=r===void 0?"div":r,o=hie(e,die),a=Ue(Ge(t,"modal-body"),n);return V.createElement(i,D2({},o,{className:a}))}Wi.propTypes=mie;var vie=["className","cssModule","tag"];function F2(){return F2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function yie(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var bie={className:$.string,cssModule:$.object,tag:ot};function ms(e){var t=e.className,n=e.cssModule,r=e.tag,i=r===void 0?"div":r,o=gie(e,vie),a=Ue(Ge(t,"modal-footer"),n);return V.createElement(i,F2({},o,{className:a}))}ms.propTypes=bie;function B2(){return B2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Sie(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var Oie={className:$.string,cssModule:$.object,flush:$.bool,horizontal:$.oneOfType([$.bool,$.string]),numbered:$.bool,tag:ot},Eie=function(t){return t===!1?!1:t===!0||t==="xs"?"list-group-horizontal":"list-group-horizontal-".concat(t)};function a8(e){var t=e.className,n=e.cssModule,r=e.tag,i=r===void 0?"ul":r,o=e.flush,a=e.horizontal,s=a===void 0?!1:a,l=e.numbered,u=l===void 0?!1:l,f=wie(e,xie),d=Ue(Ge(t,"list-group",o?"list-group-flush":Eie(s),{"list-group-numbered":u}),n);return V.createElement(i,U2({},f,{className:d}))}a8.propTypes=Oie;var Pie=["className","cssModule","row","disabled","check","inline","floating","noMargin","tag","switch"];function z2(){return z2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Tie(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var jie={children:$.node,row:$.bool,check:$.bool,switch:$.bool,inline:$.bool,floating:$.bool,noMargin:$.bool,disabled:$.bool,tag:ot,className:$.string,cssModule:$.object};function so(e){var t=e.className,n=e.cssModule,r=e.row,i=e.disabled,o=e.check,a=e.inline,s=e.floating,l=e.noMargin,u=e.tag,f=u===void 0?"div":u,d=e.switch,h=Cie(e,Pie),v=o||d,g=Ue(Ge(t,r?"row":!1,v?"form-check":!1,d?"form-switch":!1,v||l?!1:"mb-3",v&&a?"form-check-inline":!1,v&&i?"disabled":!1,s&&"form-floating"),n);return f==="fieldset"&&(h.disabled=i),V.createElement(f,z2({},h,{className:g}))}so.propTypes=jie;function V2(e){"@babel/helpers - typeof";return V2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},V2(e)}var Aie=["className","cssModule","type","bsSize","valid","invalid","tag","addon","plaintext","innerRef"];function W2(){return W2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Nie(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function Mie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function M3(e,t){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ay(e){return ay=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ay(e)}var Fie={children:$.node,type:$.string,size:$.oneOfType([$.number,$.string]),bsSize:$.string,valid:$.bool,invalid:$.bool,tag:ot,innerRef:$.oneOfType([$.object,$.func,$.string]),plaintext:$.bool,addon:$.bool,className:$.string,cssModule:$.object},s8=function(e){Lie(n,e);var t=$ie(n);function n(r){var i;return Mie(this,n),i=t.call(this,r),i.getRef=i.getRef.bind(G2(i)),i.focus=i.focus.bind(G2(i)),i}return Rie(n,[{key:"getRef",value:function(i){this.props.innerRef&&this.props.innerRef(i),this.ref=i}},{key:"focus",value:function(){this.ref&&this.ref.focus()}},{key:"render",value:function(){var i=this.props,o=i.className,a=i.cssModule,s=i.type,l=s===void 0?"text":s,u=i.bsSize,f=i.valid,d=i.invalid,h=i.tag,v=i.addon,g=i.plaintext,y=i.innerRef,x=kie(i,Aie),_=["switch","radio","checkbox"].indexOf(l)>-1,b=/\D/g,w=l==="textarea",O=l==="select",E=l==="range",P=h||(O||w?l:"input"),T="form-control";g?(T="".concat(T,"-plaintext"),P=h||"input"):E?T="form-range":O?T="form-select":_&&(v?T=null:T="form-check-input"),x.size&&b.test(x.size)&&(zw(`Please use the prop "bsSize" instead of the "size" to bootstrap's input sizing.`),u=x.size,delete x.size);var A=Ue(Ge(o,d&&"is-invalid",f&&"is-valid",u?O?"form-select-".concat(u):"form-control-".concat(u):!1,T),a);return(P==="input"||h&&typeof h=="function")&&(x.type=l==="switch"?"checkbox":l),x.children&&!(g||l==="select"||typeof P!="string"||P==="select")&&(zw('Input with a type of "'.concat(l,'" cannot have children. Please use "value"/"defaultValue" instead.')),delete x.children),V.createElement(P,W2({},x,{ref:y,className:A,"aria-invalid":d}))}}]),n}(V.Component);s8.propTypes=Fie;const Gn=s8;var Bie=["className","cssModule","tag","type","size"];function sy(){return sy=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function zie(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var Vie={className:$.string,cssModule:$.object,size:$.string,tag:ot,type:$.string};function ob(e){var t=e.className,n=e.cssModule,r=e.tag,i=r===void 0?"div":r;e.type;var o=e.size,a=Uie(e,Bie),s=Ue(Ge(t,"input-group",o?"input-group-".concat(o):null),n);return e.type==="dropdown"?V.createElement(Lp,sy({},a,{className:s})):V.createElement(q5.Provider,{value:{insideInputGroup:!0}},V.createElement(i,sy({},a,{className:s})))}ob.propTypes=Vie;var Wie=["className","listClassName","cssModule","size","tag","listTag","aria-label"];function q2(){return q2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function qie(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var Kie={children:$.node,className:$.string,listClassName:$.string,cssModule:$.object,size:$.string,tag:ot,listTag:ot,"aria-label":$.string};function WP(e){var t=e.className,n=e.listClassName,r=e.cssModule,i=e.size,o=e.tag,a=o===void 0?"nav":o,s=e.listTag,l=s===void 0?"ul":s,u=e["aria-label"],f=u===void 0?"pagination":u,d=Gie(e,Wie),h=Ue(Ge(t),r),v=Ue(Ge(n,"pagination",Hie({},"pagination-".concat(i),!!i)),r);return V.createElement(a,{className:h,"aria-label":f},V.createElement(l,q2({},d,{className:v})))}WP.propTypes=Kie;var Yie=["active","className","cssModule","disabled","tag"];function K2(){return K2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Xie(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var Qie={active:$.bool,children:$.node,className:$.string,cssModule:$.object,disabled:$.bool,tag:ot};function fl(e){var t=e.active,n=e.className,r=e.cssModule,i=e.disabled,o=e.tag,a=o===void 0?"li":o,s=Zie(e,Yie),l=Ue(Ge(n,"page-item",{active:t,disabled:i}),r);return V.createElement(a,K2({},s,{className:l}))}fl.propTypes=Qie;var Jie=["className","cssModule","next","previous","first","last","tag"];function Y2(){return Y2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function toe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var noe={"aria-label":$.string,children:$.node,className:$.string,cssModule:$.object,next:$.bool,previous:$.bool,first:$.bool,last:$.bool,tag:ot};function dl(e){var t=e.className,n=e.cssModule,r=e.next,i=e.previous,o=e.first,a=e.last,s=e.tag,l=s===void 0?"a":s,u=eoe(e,Jie),f=Ue(Ge(t,"page-link"),n),d;i?d="Previous":r?d="Next":o?d="First":a&&(d="Last");var h=e["aria-label"]||d,v;i?v="‹":r?v="›":o?v="«":a&&(v="»");var g=e.children;return g&&Array.isArray(g)&&g.length===0&&(g=null),!u.href&&l==="a"&&(l="button"),(i||r||o||a)&&(g=[V.createElement("span",{"aria-hidden":"true",key:"caret"},g||v),V.createElement("span",{className:"visually-hidden",key:"ariaLabel"},h)]),V.createElement(l,Y2({},u,{className:f,"aria-label":h}),g)}dl.propTypes=noe;var roe=["className","closeClassName","closeAriaLabel","cssModule","tag","color","isOpen","toggle","children","transition","fade","innerRef"];function Z2(){return Z2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function aoe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var soe={children:$.node,className:$.string,closeClassName:$.string,closeAriaLabel:$.string,color:$.string,cssModule:$.object,fade:$.bool,innerRef:$.oneOfType([$.object,$.string,$.func]),isOpen:$.bool,tag:ot,toggle:$.func,transition:$.shape(rr.propTypes)};function l8(e){var t=e.className,n=e.closeClassName,r=e.closeAriaLabel,i=r===void 0?"Close":r,o=e.cssModule,a=e.tag,s=a===void 0?"div":a,l=e.color,u=l===void 0?"success":l,f=e.isOpen,d=f===void 0?!0:f,h=e.toggle,v=e.children,g=e.transition,y=g===void 0?qf(qf({},rr.defaultProps),{},{unmountOnExit:!0}):g,x=e.fade,_=x===void 0?!0:x,b=e.innerRef,w=ooe(e,roe),O=Ue(Ge(t,"alert","alert-".concat(u),{"alert-dismissible":h}),o),E=Ue(Ge("btn-close",n),o),P=qf(qf(qf({},rr.defaultProps),y),{},{baseClass:_?y.baseClass:"",timeout:_?y.timeout:0});return V.createElement(rr,Z2({},w,P,{tag:s,className:O,in:d,role:"alert",innerRef:b}),h?V.createElement("button",{type:"button",className:E,"aria-label":i,onClick:h}):null,v)}l8.propTypes=soe;var loe=["className","cssModule","tag","active","disabled","action","color"];function X2(){return X2=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function coe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var foe={action:$.bool,active:$.bool,className:$.string,cssModule:$.object,color:$.string,disabled:$.bool,tag:ot},doe=function(t){t.preventDefault()};function u8(e){var t=e.className,n=e.cssModule,r=e.tag,i=r===void 0?"li":r,o=e.active,a=e.disabled,s=e.action,l=e.color,u=uoe(e,loe),f=Ue(Ge(t,o?"active":!1,a?"disabled":!1,s?"list-group-item-action":!1,l?"list-group-item-".concat(l):!1,"list-group-item"),n);return a&&(u.onClick=doe),V.createElement(i,X2({},u,{className:f}))}u8.propTypes=foe;function Q2(e){"@babel/helpers - typeof";return Q2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Q2(e)}function L3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function hoe(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ly(e){return ly=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ly(e)}var xoe=["defaultOpen"],Dp=function(e){goe(n,e);var t=yoe(n);function n(r){var i;return moe(this,n),i=t.call(this,r),i.state={isOpen:r.defaultOpen||!1},i.toggle=i.toggle.bind(c8(i)),i}return voe(n,[{key:"toggle",value:function(i){var o=this;this.setState(function(a){return{isOpen:!a.isOpen}},function(){o.props.onToggle&&o.props.onToggle(i,o.state.isOpen)})}},{key:"render",value:function(){return V.createElement(Lp,J2({isOpen:this.state.isOpen,toggle:this.toggle},hs(this.props,xoe)))}}]),n}(R.Component);Dp.propTypes=hoe({defaultOpen:$.bool,onToggle:$.func},Lp.propTypes);function tS(e){"@babel/helpers - typeof";return tS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tS(e)}function I3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function woe(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function uy(e){return uy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},uy(e)}var Aoe=["defaultOpen"],Cr=function(e){Poe(n,e);var t=Coe(n);function n(r){var i;return Ooe(this,n),i=t.call(this,r),i.state={isOpen:r.defaultOpen||!1},i.toggle=i.toggle.bind(f8(i)),i}return Eoe(n,[{key:"toggle",value:function(){this.setState(function(i){return{isOpen:!i.isOpen}})}},{key:"render",value:function(){return V.createElement(Ip,nS({isOpen:this.state.isOpen,toggle:this.toggle},hs(this.props,Aoe)))}}]),n}(R.Component);Cr.propTypes=woe({defaultOpen:$.bool},Ip.propTypes);let iv;const koe=new Uint8Array(16);function Noe(){if(!iv&&(iv=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!iv))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return iv(koe)}const $n=[];for(let e=0;e<256;++e)$n.push((e+256).toString(16).slice(1));function Moe(e,t=0){return $n[e[t+0]]+$n[e[t+1]]+$n[e[t+2]]+$n[e[t+3]]+"-"+$n[e[t+4]]+$n[e[t+5]]+"-"+$n[e[t+6]]+$n[e[t+7]]+"-"+$n[e[t+8]]+$n[e[t+9]]+"-"+$n[e[t+10]]+$n[e[t+11]]+$n[e[t+12]]+$n[e[t+13]]+$n[e[t+14]]+$n[e[t+15]]}const Roe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),F3={randomUUID:Roe};function HP(e,t,n){if(F3.randomUUID&&!t&&!e)return F3.randomUUID();e=e||{};const r=e.random||(e.rng||Noe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Moe(r)}var Loe=Error,$oe=EvalError,Ioe=RangeError,Doe=ReferenceError,d8=SyntaxError,Fp=TypeError,Foe=URIError,Boe=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},n=Symbol("test"),r=Object(n);if(typeof n=="string"||Object.prototype.toString.call(n)!=="[object Symbol]"||Object.prototype.toString.call(r)!=="[object Symbol]")return!1;var i=42;t[n]=i;for(n in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==n||!Object.prototype.propertyIsEnumerable.call(t,n))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(t,n);if(a.value!==i||a.enumerable!==!0)return!1}return!0},B3=typeof Symbol<"u"&&Symbol,Uoe=Boe,zoe=function(){return typeof B3!="function"||typeof Symbol!="function"||typeof B3("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:Uoe()},x_={__proto__:null,foo:{}},Voe=Object,Woe=function(){return{__proto__:x_}.foo===x_.foo&&!(x_ instanceof Voe)},Hoe="Function.prototype.bind called on incompatible ",Goe=Object.prototype.toString,qoe=Math.max,Koe="[object Function]",U3=function(t,n){for(var r=[],i=0;i"u"||!Sn?it:Sn(Uint8Array),pl={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?it:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?it:ArrayBuffer,"%ArrayIteratorPrototype%":ou&&Sn?Sn([][Symbol.iterator]()):it,"%AsyncFromSyncIteratorPrototype%":it,"%AsyncFunction%":gu,"%AsyncGenerator%":gu,"%AsyncGeneratorFunction%":gu,"%AsyncIteratorPrototype%":gu,"%Atomics%":typeof Atomics>"u"?it:Atomics,"%BigInt%":typeof BigInt>"u"?it:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?it:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?it:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?it:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":rae,"%eval%":eval,"%EvalError%":iae,"%Float32Array%":typeof Float32Array>"u"?it:Float32Array,"%Float64Array%":typeof Float64Array>"u"?it:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?it:FinalizationRegistry,"%Function%":h8,"%GeneratorFunction%":gu,"%Int8Array%":typeof Int8Array>"u"?it:Int8Array,"%Int16Array%":typeof Int16Array>"u"?it:Int16Array,"%Int32Array%":typeof Int32Array>"u"?it:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ou&&Sn?Sn(Sn([][Symbol.iterator]())):it,"%JSON%":typeof JSON=="object"?JSON:it,"%Map%":typeof Map>"u"?it:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ou||!Sn?it:Sn(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?it:Promise,"%Proxy%":typeof Proxy>"u"?it:Proxy,"%RangeError%":oae,"%ReferenceError%":aae,"%Reflect%":typeof Reflect>"u"?it:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?it:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ou||!Sn?it:Sn(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?it:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ou&&Sn?Sn(""[Symbol.iterator]()):it,"%Symbol%":ou?Symbol:it,"%SyntaxError%":gc,"%ThrowTypeError%":lae,"%TypedArray%":cae,"%TypeError%":Ku,"%Uint8Array%":typeof Uint8Array>"u"?it:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?it:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?it:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?it:Uint32Array,"%URIError%":sae,"%WeakMap%":typeof WeakMap>"u"?it:WeakMap,"%WeakRef%":typeof WeakRef>"u"?it:WeakRef,"%WeakSet%":typeof WeakSet>"u"?it:WeakSet};if(Sn)try{null.error}catch(e){var fae=Sn(Sn(e));pl["%Error.prototype%"]=fae}var dae=function e(t){var n;if(t==="%AsyncFunction%")n=w_("async function () {}");else if(t==="%GeneratorFunction%")n=w_("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=w_("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&Sn&&(n=Sn(i.prototype))}return pl[t]=n,n},z3={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Bp=GP,cy=nae,hae=Bp.call(Function.call,Array.prototype.concat),pae=Bp.call(Function.apply,Array.prototype.splice),V3=Bp.call(Function.call,String.prototype.replace),fy=Bp.call(Function.call,String.prototype.slice),mae=Bp.call(Function.call,RegExp.prototype.exec),vae=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,gae=/\\(\\)?/g,yae=function(t){var n=fy(t,0,1),r=fy(t,-1);if(n==="%"&&r!=="%")throw new gc("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new gc("invalid intrinsic syntax, expected opening `%`");var i=[];return V3(t,vae,function(o,a,s,l){i[i.length]=s?V3(l,gae,"$1"):a||o}),i},bae=function(t,n){var r=t,i;if(cy(z3,r)&&(i=z3[r],r="%"+i[0]+"%"),cy(pl,r)){var o=pl[r];if(o===gu&&(o=dae(r)),typeof o>"u"&&!n)throw new Ku("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new gc("intrinsic "+t+" does not exist!")},Qc=function(t,n){if(typeof t!="string"||t.length===0)throw new Ku("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new Ku('"allowMissing" argument must be a boolean');if(mae(/^%?[^%]*%?$/,t)===null)throw new gc("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=yae(t),i=r.length>0?r[0]:"",o=bae("%"+i+"%",n),a=o.name,s=o.value,l=!1,u=o.alias;u&&(i=u[0],pae(r,hae([0,1],u)));for(var f=1,d=!0;f=r.length){var y=hl(s,h);d=!!y,d&&"get"in y&&!("originalValue"in y.get)?s=y.get:s=s[h]}else d=cy(s,h),s=s[h];d&&!l&&(pl[a]=s)}}return s},p8={exports:{}},O_,W3;function qP(){if(W3)return O_;W3=1;var e=Qc,t=e("%Object.defineProperty%",!0)||!1;if(t)try{t({},"a",{value:1})}catch{t=!1}return O_=t,O_}var _ae=Qc,Xv=_ae("%Object.getOwnPropertyDescriptor%",!0);if(Xv)try{Xv([],"length")}catch{Xv=null}var m8=Xv,H3=qP(),xae=d8,au=Fp,G3=m8,wae=function(t,n,r){if(!t||typeof t!="object"&&typeof t!="function")throw new au("`obj` must be an object or a function`");if(typeof n!="string"&&typeof n!="symbol")throw new au("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new au("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new au("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new au("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new au("`loose`, if provided, must be a boolean");var i=arguments.length>3?arguments[3]:null,o=arguments.length>4?arguments[4]:null,a=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!G3&&G3(t,n);if(H3)H3(t,n,{configurable:a===null&&l?l.configurable:!a,enumerable:i===null&&l?l.enumerable:!i,value:r,writable:o===null&&l?l.writable:!o});else if(s||!i&&!o&&!a)t[n]=r;else throw new xae("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},iS=qP(),v8=function(){return!!iS};v8.hasArrayLengthDefineBug=function(){if(!iS)return null;try{return iS([],"length",{value:1}).length!==1}catch{return!0}};var Sae=v8,Oae=Qc,q3=wae,Eae=Sae(),K3=m8,Y3=Fp,Pae=Oae("%Math.floor%"),Cae=function(t,n){if(typeof t!="function")throw new Y3("`fn` is not a function");if(typeof n!="number"||n<0||n>4294967295||Pae(n)!==n)throw new Y3("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],i=!0,o=!0;if("length"in t&&K3){var a=K3(t,"length");a&&!a.configurable&&(i=!1),a&&!a.writable&&(o=!1)}return(i||o||!r)&&(Eae?q3(t,"length",n,!0,!0):q3(t,"length",n)),t};(function(e){var t=GP,n=Qc,r=Cae,i=Fp,o=n("%Function.prototype.apply%"),a=n("%Function.prototype.call%"),s=n("%Reflect.apply%",!0)||t.call(a,o),l=qP(),u=n("%Math.max%");e.exports=function(h){if(typeof h!="function")throw new i("a function is required");var v=s(t,a,arguments);return r(v,1+u(0,h.length-(arguments.length-1)),!0)};var f=function(){return s(t,o,arguments)};l?l(e.exports,"apply",{value:f}):e.exports.apply=f})(p8);var Tae=p8.exports,g8=Qc,y8=Tae,jae=y8(g8("String.prototype.indexOf")),Aae=function(t,n){var r=g8(t,!!n);return typeof r=="function"&&jae(t,".prototype.")>-1?y8(r):r};const kae={},Nae=Object.freeze(Object.defineProperty({__proto__:null,default:kae},Symbol.toStringTag,{value:"Module"})),Mae=BW(Nae);var KP=typeof Map=="function"&&Map.prototype,E_=Object.getOwnPropertyDescriptor&&KP?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,dy=KP&&E_&&typeof E_.get=="function"?E_.get:null,Z3=KP&&Map.prototype.forEach,YP=typeof Set=="function"&&Set.prototype,P_=Object.getOwnPropertyDescriptor&&YP?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,hy=YP&&P_&&typeof P_.get=="function"?P_.get:null,X3=YP&&Set.prototype.forEach,Rae=typeof WeakMap=="function"&&WeakMap.prototype,Id=Rae?WeakMap.prototype.has:null,Lae=typeof WeakSet=="function"&&WeakSet.prototype,Dd=Lae?WeakSet.prototype.has:null,$ae=typeof WeakRef=="function"&&WeakRef.prototype,Q3=$ae?WeakRef.prototype.deref:null,Iae=Boolean.prototype.valueOf,Dae=Object.prototype.toString,Fae=Function.prototype.toString,Bae=String.prototype.match,ZP=String.prototype.slice,Ra=String.prototype.replace,Uae=String.prototype.toUpperCase,J3=String.prototype.toLowerCase,b8=RegExp.prototype.test,eN=Array.prototype.concat,io=Array.prototype.join,zae=Array.prototype.slice,tN=Math.floor,oS=typeof BigInt=="function"?BigInt.prototype.valueOf:null,C_=Object.getOwnPropertySymbols,aS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,yc=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Yn=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===yc||!0)?Symbol.toStringTag:null,_8=Object.prototype.propertyIsEnumerable,nN=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function rN(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||b8.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof e=="number"){var r=e<0?-tN(-e):tN(e);if(r!==e){var i=String(r),o=ZP.call(t,i.length+1);return Ra.call(i,n,"$&_")+"."+Ra.call(Ra.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return Ra.call(t,n,"$&_")}var sS=Mae,iN=sS.custom,oN=w8(iN)?iN:null,Vae=function e(t,n,r,i){var o=n||{};if(Ea(o,"quoteStyle")&&o.quoteStyle!=="single"&&o.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Ea(o,"maxStringLength")&&(typeof o.maxStringLength=="number"?o.maxStringLength<0&&o.maxStringLength!==1/0:o.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var a=Ea(o,"customInspect")?o.customInspect:!0;if(typeof a!="boolean"&&a!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Ea(o,"indent")&&o.indent!==null&&o.indent!==" "&&!(parseInt(o.indent,10)===o.indent&&o.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Ea(o,"numericSeparator")&&typeof o.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var s=o.numericSeparator;if(typeof t>"u")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return O8(t,o);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var l=String(t);return s?rN(t,l):l}if(typeof t=="bigint"){var u=String(t)+"n";return s?rN(t,u):u}var f=typeof o.depth>"u"?5:o.depth;if(typeof r>"u"&&(r=0),r>=f&&f>0&&typeof t=="object")return lS(t)?"[Array]":"[Object]";var d=sse(o,r);if(typeof i>"u")i=[];else if(S8(i,t)>=0)return"[Circular]";function h(q,W,X){if(W&&(i=zae.call(i),i.push(W)),X){var Q={depth:o.depth};return Ea(o,"quoteStyle")&&(Q.quoteStyle=o.quoteStyle),e(q,Q,r+1,i)}return e(q,o,r+1,i)}if(typeof t=="function"&&!aN(t)){var v=Qae(t),g=ov(t,h);return"[Function"+(v?": "+v:" (anonymous)")+"]"+(g.length>0?" { "+io.call(g,", ")+" }":"")}if(w8(t)){var y=yc?Ra.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):aS.call(t);return typeof t=="object"&&!yc?Kf(y):y}if(ise(t)){for(var x="<"+J3.call(String(t.nodeName)),_=t.attributes||[],b=0;b<_.length;b++)x+=" "+_[b].name+"="+x8(Wae(_[b].value),"double",o);return x+=">",t.childNodes&&t.childNodes.length&&(x+="..."),x+="",x}if(lS(t)){if(t.length===0)return"[]";var w=ov(t,h);return d&&!ase(w)?"["+uS(w,d)+"]":"[ "+io.call(w,", ")+" ]"}if(Gae(t)){var O=ov(t,h);return!("cause"in Error.prototype)&&"cause"in t&&!_8.call(t,"cause")?"{ ["+String(t)+"] "+io.call(eN.call("[cause]: "+h(t.cause),O),", ")+" }":O.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+io.call(O,", ")+" }"}if(typeof t=="object"&&a){if(oN&&typeof t[oN]=="function"&&sS)return sS(t,{depth:f-r});if(a!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(Jae(t)){var E=[];return Z3&&Z3.call(t,function(q,W){E.push(h(W,t,!0)+" => "+h(q,t))}),sN("Map",dy.call(t),E,d)}if(nse(t)){var P=[];return X3&&X3.call(t,function(q){P.push(h(q,t))}),sN("Set",hy.call(t),P,d)}if(ese(t))return T_("WeakMap");if(rse(t))return T_("WeakSet");if(tse(t))return T_("WeakRef");if(Kae(t))return Kf(h(Number(t)));if(Zae(t))return Kf(h(oS.call(t)));if(Yae(t))return Kf(Iae.call(t));if(qae(t))return Kf(h(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(t===Zs)return"{ [object globalThis] }";if(!Hae(t)&&!aN(t)){var T=ov(t,h),A=nN?nN(t)===Object.prototype:t instanceof Object||t.constructor===Object,D=t instanceof Object?"":"null prototype",k=!A&&Yn&&Object(t)===t&&Yn in t?ZP.call(vs(t),8,-1):D?"Object":"",I=A||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",F=I+(k||D?"["+io.call(eN.call([],k||[],D||[]),": ")+"] ":"");return T.length===0?F+"{}":d?F+"{"+uS(T,d)+"}":F+"{ "+io.call(T,", ")+" }"}return String(t)};function x8(e,t,n){var r=(n.quoteStyle||t)==="double"?'"':"'";return r+e+r}function Wae(e){return Ra.call(String(e),/"/g,""")}function lS(e){return vs(e)==="[object Array]"&&(!Yn||!(typeof e=="object"&&Yn in e))}function Hae(e){return vs(e)==="[object Date]"&&(!Yn||!(typeof e=="object"&&Yn in e))}function aN(e){return vs(e)==="[object RegExp]"&&(!Yn||!(typeof e=="object"&&Yn in e))}function Gae(e){return vs(e)==="[object Error]"&&(!Yn||!(typeof e=="object"&&Yn in e))}function qae(e){return vs(e)==="[object String]"&&(!Yn||!(typeof e=="object"&&Yn in e))}function Kae(e){return vs(e)==="[object Number]"&&(!Yn||!(typeof e=="object"&&Yn in e))}function Yae(e){return vs(e)==="[object Boolean]"&&(!Yn||!(typeof e=="object"&&Yn in e))}function w8(e){if(yc)return e&&typeof e=="object"&&e instanceof Symbol;if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||!aS)return!1;try{return aS.call(e),!0}catch{}return!1}function Zae(e){if(!e||typeof e!="object"||!oS)return!1;try{return oS.call(e),!0}catch{}return!1}var Xae=Object.prototype.hasOwnProperty||function(e){return e in this};function Ea(e,t){return Xae.call(e,t)}function vs(e){return Dae.call(e)}function Qae(e){if(e.name)return e.name;var t=Bae.call(Fae.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}function S8(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return O8(ZP.call(e,0,t.maxStringLength),t)+r}var i=Ra.call(Ra.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,ose);return x8(i,"single",t)}function ose(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+Uae.call(t.toString(16))}function Kf(e){return"Object("+e+")"}function T_(e){return e+" { ? }"}function sN(e,t,n,r){var i=r?uS(n,r):io.call(n,", ");return e+" ("+t+") {"+i+"}"}function ase(e){for(var t=0;t=0)return!1;return!0}function sse(e,t){var n;if(e.indent===" ")n=" ";else if(typeof e.indent=="number"&&e.indent>0)n=io.call(Array(e.indent+1)," ");else return null;return{base:n,prev:io.call(Array(t+1),n)}}function uS(e,t){if(e.length===0)return"";var n=` +`+t.prev+t.base;return n+io.call(e,","+n)+` +`+t.prev}function ov(e,t){var n=lS(e),r=[];if(n){r.length=e.length;for(var i=0;i1;){var n=t.pop(),r=n.obj[n.prop];if(qs(r)){for(var i=[],o=0;o=k_?a.slice(l,l+k_):a,f=[],d=0;d=48&&h<=57||h>=65&&h<=90||h>=97&&h<=122||o===wse.RFC1738&&(h===40||h===41)){f[f.length]=u.charAt(d);continue}if(h<128){f[f.length]=eo[h];continue}if(h<2048){f[f.length]=eo[192|h>>6]+eo[128|h&63];continue}if(h<55296||h>=57344){f[f.length]=eo[224|h>>12]+eo[128|h>>6&63]+eo[128|h&63];continue}d+=1,h=65536+((h&1023)<<10|u.charCodeAt(d)&1023),f[f.length]=eo[240|h>>18]+eo[128|h>>12&63]+eo[128|h>>6&63]+eo[128|h&63]}s+=f.join("")}return s},Tse=function(t){for(var n=[{obj:{o:t},prop:"o"}],r=[],i=0;i"u"&&(E=0)}if(typeof f=="function"?w=f(n,w):w instanceof Date?w=v(w):r==="comma"&&ro(w)&&(w=Qv.maybeMap(w,function(B){return B instanceof Date?v(B):B})),w===null){if(a)return u&&!x?u(n,fn.encoder,_,"key",g):n;w=""}if($se(w)||Qv.isBuffer(w)){if(u){var A=x?n:u(n,fn.encoder,_,"key",g);return[y(A)+"="+y(u(w,fn.encoder,_,"value",g))]}return[y(n)+"="+y(String(w))]}var D=[];if(typeof w>"u")return D;var k;if(r==="comma"&&ro(w))x&&u&&(w=Qv.maybeMap(w,u)),k=[{value:w.length>0?w.join(",")||null:void 0}];else if(ro(f))k=f;else{var I=Object.keys(w);k=d?I.sort(d):I}var F=l?n.replace(/\./g,"%2E"):n,q=i&&ro(w)&&w.length===1?F+"[]":F;if(o&&ro(w)&&w.length===0)return q+"[]";for(var W=0;W"u"?t.encodeDotInKeys===!0?!0:fn.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:fn.addQueryPrefix,allowDots:s,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:fn.allowEmptyArrays,arrayFormat:a,charset:n,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:fn.charsetSentinel,commaRoundTrip:t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?fn.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:fn.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:fn.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:fn.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:fn.encodeValuesOnly,filter:o,format:r,formatter:i,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:fn.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:fn.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:fn.strictNullHandling}},Fse=function(e,t){var n=e,r=Dse(t),i,o;typeof r.filter=="function"?(o=r.filter,n=o("",n)):ro(r.filter)&&(o=r.filter,i=o);var a=[];if(typeof n!="object"||n===null)return"";var s=j8[r.arrayFormat],l=s==="comma"&&r.commaRoundTrip;i||(i=Object.keys(n)),r.sort&&i.sort(r.sort);for(var u=T8(),f=0;f0?v+h:""},bc=C8,cS=Object.prototype.hasOwnProperty,Bse=Array.isArray,en={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:bc.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},Use=function(e){return e.replace(/&#(\d+);/g,function(t,n){return String.fromCharCode(parseInt(n,10))})},k8=function(e,t){return e&&typeof e=="string"&&t.comma&&e.indexOf(",")>-1?e.split(","):e},zse="utf8=%26%2310003%3B",Vse="utf8=%E2%9C%93",Wse=function(t,n){var r={__proto__:null},i=n.ignoreQueryPrefix?t.replace(/^\?/,""):t,o=n.parameterLimit===1/0?void 0:n.parameterLimit,a=i.split(n.delimiter,o),s=-1,l,u=n.charset;if(n.charsetSentinel)for(l=0;l-1&&(g=Bse(g)?[g]:g);var y=cS.call(r,v);y&&n.duplicates==="combine"?r[v]=bc.combine(r[v],g):(!y||n.duplicates==="last")&&(r[v]=g)}return r},Hse=function(e,t,n,r){for(var i=r?t:k8(t,n),o=e.length-1;o>=0;--o){var a,s=e[o];if(s==="[]"&&n.parseArrays)a=n.allowEmptyArrays&&i===""?[]:[].concat(i);else{a=n.plainObjects?Object.create(null):{};var l=s.charAt(0)==="["&&s.charAt(s.length-1)==="]"?s.slice(1,-1):s,u=n.decodeDotInKeys?l.replace(/%2E/g,"."):l,f=parseInt(u,10);!n.parseArrays&&u===""?a={0:i}:!isNaN(f)&&s!==u&&String(f)===u&&f>=0&&n.parseArrays&&f<=n.arrayLimit?(a=[],a[f]=i):u!=="__proto__"&&(a[u]=i)}i=a}return i},Gse=function(t,n,r,i){if(t){var o=r.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,a=/(\[[^[\]]*])/,s=/(\[[^[\]]*])/g,l=r.depth>0&&a.exec(o),u=l?o.slice(0,l.index):o,f=[];if(u){if(!r.plainObjects&&cS.call(Object.prototype,u)&&!r.allowPrototypes)return;f.push(u)}for(var d=0;r.depth>0&&(l=s.exec(o))!==null&&d"u"?en.charset:t.charset,r=typeof t.duplicates>"u"?en.duplicates:t.duplicates;if(r!=="combine"&&r!=="first"&&r!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var i=typeof t.allowDots>"u"?t.decodeDotInKeys===!0?!0:en.allowDots:!!t.allowDots;return{allowDots:i,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:en.allowEmptyArrays,allowPrototypes:typeof t.allowPrototypes=="boolean"?t.allowPrototypes:en.allowPrototypes,allowSparse:typeof t.allowSparse=="boolean"?t.allowSparse:en.allowSparse,arrayLimit:typeof t.arrayLimit=="number"?t.arrayLimit:en.arrayLimit,charset:n,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:en.charsetSentinel,comma:typeof t.comma=="boolean"?t.comma:en.comma,decodeDotInKeys:typeof t.decodeDotInKeys=="boolean"?t.decodeDotInKeys:en.decodeDotInKeys,decoder:typeof t.decoder=="function"?t.decoder:en.decoder,delimiter:typeof t.delimiter=="string"||bc.isRegExp(t.delimiter)?t.delimiter:en.delimiter,depth:typeof t.depth=="number"||t.depth===!1?+t.depth:en.depth,duplicates:r,ignoreQueryPrefix:t.ignoreQueryPrefix===!0,interpretNumericEntities:typeof t.interpretNumericEntities=="boolean"?t.interpretNumericEntities:en.interpretNumericEntities,parameterLimit:typeof t.parameterLimit=="number"?t.parameterLimit:en.parameterLimit,parseArrays:t.parseArrays!==!1,plainObjects:typeof t.plainObjects=="boolean"?t.plainObjects:en.plainObjects,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:en.strictNullHandling}},Kse=function(e,t){var n=qse(t);if(e===""||e===null||typeof e>"u")return n.plainObjects?Object.create(null):{};for(var r=typeof e=="string"?Wse(e,n):e,i=n.plainObjects?Object.create(null):{},o=Object.keys(r),a=0;a({error:"border-danger",default:""})[e],ele=e=>({error:"text-danger",default:"text-muted"})[e],Qo=({className:e,children:t,loading:n=!1,type:r="default",fullWidth:i=!1})=>{const o=Pe({"col-md-12":i,"col-md-10 offset-md-1":!i});return m.jsx(nr,{className:Pe("g-0",e),children:m.jsx("div",{className:o,children:m.jsx(Er,{className:Jse(r),body:!0,children:m.jsxs("h3",{className:Pe("text-center mb-0",ele(r)),children:[n&&m.jsx(je,{icon:$D,spin:!0}),n&&m.jsx("span",{className:"ms-2",children:t??"Loading..."}),!n&&t]})})})})},St=({title:e,children:t,bodyClassName:n,...r})=>m.jsxs(Er,{...r,children:[e&&m.jsx(vc,{role:"heading","aria-level":4,children:e}),m.jsx(mc,{className:n,children:t})]}),lr=({children:e,type:t,className:n,small:r=!1})=>m.jsx(nr,{className:n,children:m.jsx("div",{className:Pe({"col-md-10 offset-md-1":!r,"col-12":r}),children:m.jsx(St,{role:"document",className:Pe("text-center",{"bg-main":t==="success","bg-danger":t==="error","bg-warning":t==="warning","text-white":t!=="warning"}),bodyClassName:Pe({"p-2":r}),children:e})})}),JP=e=>N8.parse(e,{ignoreQueryPrefix:!0}),ab=e=>N8.stringify(e,{arrayFormat:"brackets"}),Zt=(e=!1)=>{const[t,n]=R.useState(e),r=R.useCallback(()=>n(a=>!a),[]),i=R.useCallback(()=>n(!0),[]),o=R.useCallback(()=>n(!1),[]);return[t,r,i,o]},M8=(e=!1,t=2e3,n=window.setTimeout,r=window.clearTimeout)=>{const[i,o]=R.useState(e),a=R.useRef(e),s=R.useRef(),l=R.useCallback(()=>{o(!a.current),s.current&&r(s.current),s.current=n(()=>o(a.current),t)},[r,t,n]);return[i,l]},sb=()=>{const{current:e}=R.useRef(`dom-${HP()}`);return e},sa=()=>R.useRef(null),Up=()=>{const{search:e}=hr();return R.useMemo(()=>JP(e),[e])},R8=({checked:e=!1,onChange:t,className:n,children:r,type:i,inline:o=!1})=>{const a=sb(),s=f=>t==null?void 0:t(f.target.checked,f),l={"form-switch":i==="switch","form-checkbox":i==="checkbox"},u=o?{display:"inline-block"}:{};return m.jsxs("span",{className:Pe("form-check",l,n),style:u,children:[m.jsx("input",{type:"checkbox",className:"form-check-input",id:a,checked:e,onChange:s}),m.jsx("label",{className:"form-check-label",htmlFor:a,children:r})]})},L8=e=>m.jsx(R8,{type:"checkbox",...e}),Pl=e=>m.jsx(R8,{type:"switch",...e}),ef=({children:e,label:t,className:n="",labelClassName:r="",noMargin:i=!1,id:o})=>m.jsxs("div",{className:`${n} ${i?"":"mb-3"}`,children:[m.jsx("label",{className:`form-label ${r}`,htmlFor:o,children:t}),e]}),Jv=({children:e,value:t,onChange:n,type:r,required:i,placeholder:o,className:a,labelClassName:s})=>{const l=sb();return m.jsx(ef,{label:m.jsxs(m.Fragment,{children:[e,":"]}),className:a,labelClassName:s,id:l,children:m.jsx("input",{id:l,className:"form-control",type:r??"text",value:t,required:i??!0,placeholder:o,onChange:u=>n(u.target.value)})})},tle=500;let eg;const uN=()=>{eg&&clearTimeout(eg),eg=null},zp=({onChange:e,className:t,large:n=!0,noBorder:r=!1,initialValue:i="",setTimeout_:o=setTimeout})=>{const[a,s]=R.useState(i),l=(u,f=tle)=>{s(u),uN(),eg=o(()=>{e(u),uN()},f)};return m.jsxs("div",{className:Pe("search-field",t),children:[m.jsx("input",{type:"text",className:Pe("form-control search-field__input",{"form-control-lg":n,"search-field__input--no-border":r}),placeholder:"Search...",value:a,onChange:u=>l(u.target.value)}),m.jsx(je,{icon:DZ,className:"search-field__icon"}),m.jsx("button",{"aria-label":"Clear search",type:"button",className:"close search-field__close btn-close",hidden:a==="",id:"search-field__close",onClick:()=>l("",0)})]})},la=({text:e,disabled:t=!1,className:n,children:r,dropdownClassName:i,noCaret:o,end:a=!1,minWidth:s,inline:l,size:u,...f})=>{const[d,h]=Zt(),v=Pe("dropdown-btn__toggle",n,{"btn-block":!l,"dropdown-btn__toggle--with-caret":!o}),g={minWidth:s&&`${s}px`};return m.jsxs(Lp,{isOpen:d,toggle:h,disabled:t,className:i,children:[m.jsx(Xc,{size:u,caret:!o,className:v,color:"primary",...f,children:e}),m.jsx(Zc,{className:"w-100",end:a,style:g,children:r})]})},lb=({children:e,minWidth:t,label:n="Options"})=>m.jsx(la,{text:m.jsx(je,{className:"px-1",icon:TZ}),"aria-label":n,size:"sm",minWidth:t,end:!0,noCaret:!0,inline:!0,children:e}),Bd=({children:e,...t})=>m.jsx(AP,{children:m.jsx(k5,{className:"nav-pills__nav-link",tag:xD,...t,children:e})}),$8=({children:e,fill:t=!1,className:n=""})=>m.jsx(Er,{className:`nav-pills__nav p-0 overflow-hidden ${n}`,body:!0,children:m.jsx(jP,{pills:!0,fill:t,children:R.Children.map(e,r=>{if(!R.isValidElement(r)||r.type!==Bd)throw new Error("Only NavPillItem children are allowed inside NavPills.");return r})})}),ub=(e,t,n)=>e!==t?"ASC":n?{ASC:"DESC",DESC:void 0}[n]:"ASC",I8=(e,{field:t,dir:n})=>!t||!n?e:e.sort((r,i)=>{const o=n==="ASC"?1:-1,a=n==="ASC"?-1:1;return r[t]>i[t]?o:a}),nle=e=>e.dir?`${e.field}-${e.dir}`:void 0,rle=e=>{const[t,n]=e.split("-");return{field:t,dir:n}};function Vp({items:e,order:t,onChange:n,isButton:r=!0,right:i=!1,prefixed:o=!0}){const a=s=>()=>{const l=ub(s,t.field,t.dir);n(l?s:void 0,l)};return m.jsxs(Dp,{children:[m.jsxs(Xc,{caret:!0,color:r?"primary":"link",className:Pe({"dropdown-btn__toggle btn-block pe-4 overflow-hidden":r,"btn-sm p-0":!r}),children:[!r&&m.jsx(m.Fragment,{children:"Order by"}),r&&!t.field&&m.jsx("i",{children:"Order by..."}),r&&t.field&&m.jsxs(m.Fragment,{children:[o&&"Order by: ",e[t.field]," - ",m.jsx("small",{children:t.dir??"DESC"})]})]}),m.jsxs(Zc,{end:i,className:Pe("w-100",{"ordering-dropdown__menu--link":!r}),children:[Object.entries(e).map(([s,l])=>m.jsxs(Ne,{active:t.field===s,onClick:a(s),children:[l,t.field===s&&m.jsx(je,{icon:t.dir==="ASC"?NZ:vZ,className:"ordering-dropdown__sort-icon"})]},s)),m.jsx(Ne,{divider:!0}),m.jsx(Ne,{disabled:!t.field,onClick:()=>n(),children:m.jsx("i",{children:"Clear selection"})})]})]})}const Ah="#4696e5",ile="rgba(70, 150, 229, 0.4)",fS="#f77f28",ole="rgba(247, 127, 40, 0.4)",ale="white",sle="#161b22",lle=e=>{var t;return(t=document.querySelector("html"))==null?void 0:t.setAttribute("data-theme",e)},eC=()=>{var e;return((e=document.querySelector("html"))==null?void 0:e.getAttribute("data-theme"))==="dark"},tC=(e=window.matchMedia.bind(window))=>e("(prefers-color-scheme: dark)").matches?"dark":"light",ule=R.forwardRef(({isOpen:e,toggle:t,forceUpdate:n},r)=>{const[i,,o]=Zt(),a=R.useCallback(()=>{o(),n()},[n,o]);return m.jsxs(l8,{className:"app-update-banner",isOpen:e,toggle:t,tag:St,color:"secondary",innerRef:r,children:[m.jsx("h4",{className:"mb-4",children:"This app has just been updated!"}),m.jsxs("p",{className:"mb-0",children:["Restart it to enjoy the new features.",m.jsxs(Ye,{role:"button",disabled:i,className:"ms-2",color:"secondary",size:"sm",onClick:a,children:[!i&&m.jsxs(m.Fragment,{children:["Restart now ",m.jsx(je,{icon:WZ,className:"ms-1"})]}),i&&m.jsx(m.Fragment,{children:"Restarting..."})]})]})]})}),D8=({to:e="/",children:t="Home"})=>m.jsx("div",{className:"home",children:m.jsxs(St,{className:"p-4",children:[m.jsx("h2",{children:"Oops! We could not find requested route."}),m.jsx("p",{children:"Use your browser's back button to navigate to the page you have previously come from, or just press this button."}),m.jsx("br",{}),m.jsx(Pt,{to:e,className:"btn btn-outline-primary btn-lg",children:t})]})});function bi(e){return R.useRef(e).current}function _i(e,t){return(n,r=globalThis.console)=>(t.forEach(i=>{const o=n[i];e[i]=o}),e)}const cle=async()=>{var t;(await((t=navigator.serviceWorker)==null?void 0:t.getRegistrations())??[]).forEach(({waiting:n})=>{n==null||n.addEventListener("statechange",r=>{var i;((i=r.target)==null?void 0:i.state)==="activated"&&window.location.reload()}),n==null||n.postMessage({type:"SKIP_WAITING"})})},F8=({fetchServers:e,servers:t,settings:n,appUpdated:r,resetAppUpdate:i})=>{var x;const{MainHeader:o,Home:a,ShlinkWebComponentContainer:s,CreateServer:l,EditServer:u,Settings:f,ManageServers:d,ShlinkVersionsContainer:h}=bi(F8),v=hr(),g=R.useRef(t),y=v.pathname==="/";return R.useEffect(()=>{Object.keys(g.current).length===0&&e()},[e]),R.useEffect(()=>{var _;lle(((_=n.ui)==null?void 0:_.theme)??tC())},[(x=n.ui)==null?void 0:x.theme]),m.jsxs("div",{className:"container-fluid app-container",children:[m.jsx(o,{}),m.jsxs("div",{className:"app",children:[m.jsx("div",{className:Pe("shlink-wrapper",{"d-flex d-md-block align-items-center":y}),children:m.jsxs(Y0,{children:[m.jsx(lt,{index:!0,element:m.jsx(a,{})}),m.jsx(lt,{path:"/settings/*",element:m.jsx(f,{})}),m.jsx(lt,{path:"/manage-servers",element:m.jsx(d,{})}),m.jsx(lt,{path:"/server/create",element:m.jsx(l,{})}),m.jsx(lt,{path:"/server/:serverId/edit",element:m.jsx(u,{})}),m.jsx(lt,{path:"/server/:serverId/*",element:m.jsx(s,{})}),m.jsx(lt,{path:"*",element:m.jsx(D8,{})})]})}),m.jsx("div",{className:"shlink-footer",children:m.jsx(h,{})})]}),m.jsx(ule,{isOpen:r,toggle:i,forceUpdate:cle})]})},fle=_i(F8,["MainHeader","Home","ShlinkWebComponentContainer","CreateServer","EditServer","Settings","ManageServers","ShlinkVersionsContainer"]);function In(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var dle=typeof Symbol=="function"&&Symbol.observable||"@@observable",cN=dle,M_=()=>Math.random().toString(36).substring(7).split("").join("."),hle={INIT:`@@redux/INIT${M_()}`,REPLACE:`@@redux/REPLACE${M_()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${M_()}`},py=hle;function nC(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function B8(e,t,n){if(typeof e!="function")throw new Error(In(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(In(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(In(1));return n(B8)(e,t)}let r=e,i=t,o=new Map,a=o,s=0,l=!1;function u(){a===o&&(a=new Map,o.forEach((x,_)=>{a.set(_,x)}))}function f(){if(l)throw new Error(In(3));return i}function d(x){if(typeof x!="function")throw new Error(In(4));if(l)throw new Error(In(5));let _=!0;u();const b=s++;return a.set(b,x),function(){if(_){if(l)throw new Error(In(6));_=!1,u(),a.delete(b),o=null}}}function h(x){if(!nC(x))throw new Error(In(7));if(typeof x.type>"u")throw new Error(In(8));if(typeof x.type!="string")throw new Error(In(17));if(l)throw new Error(In(9));try{l=!0,i=r(i,x)}finally{l=!1}return(o=a).forEach(b=>{b()}),x}function v(x){if(typeof x!="function")throw new Error(In(10));r=x,h({type:py.REPLACE})}function g(){const x=d;return{subscribe(_){if(typeof _!="object"||_===null)throw new Error(In(11));function b(){const O=_;O.next&&O.next(f())}return b(),{unsubscribe:x(b)}},[cN](){return this}}}return h({type:py.INIT}),{dispatch:h,subscribe:d,getState:f,replaceReducer:v,[cN]:g}}function ple(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:py.INIT})>"u")throw new Error(In(12));if(typeof n(void 0,{type:py.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(In(13))})}function rC(e){const t=Object.keys(e),n={};for(let o=0;o"u")throw s&&s.type,new Error(In(14));u[d]=g,l=l||g!==v}return l=l||r.length!==Object.keys(a).length,l?u:a}}function my(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function mle(...e){return t=>(n,r)=>{const i=t(n,r);let o=()=>{throw new Error(In(15))};const a={getState:i.getState,dispatch:(l,...u)=>o(l,...u)},s=e.map(l=>l(a));return o=my(...s)(i.dispatch),{...i,dispatch:o}}}function vle(e){return nC(e)&&"type"in e&&typeof e.type=="string"}var U8=Symbol.for("immer-nothing"),fN=Symbol.for("immer-draftable"),Ur=Symbol.for("immer-state");function Mi(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var _c=Object.getPrototypeOf;function rs(e){return!!e&&!!e[Ur]}function Jo(e){var t;return e?z8(e)||Array.isArray(e)||!!e[fN]||!!((t=e.constructor)!=null&&t[fN])||fb(e)||db(e):!1}var gle=Object.prototype.constructor.toString();function z8(e){if(!e||typeof e!="object")return!1;const t=_c(e);if(t===null)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object?!0:typeof n=="function"&&Function.toString.call(n)===gle}function kh(e,t){cb(e)===0?Object.entries(e).forEach(([n,r])=>{t(n,r,e)}):e.forEach((n,r)=>t(r,n,e))}function cb(e){const t=e[Ur];return t?t.type_:Array.isArray(e)?1:fb(e)?2:db(e)?3:0}function dS(e,t){return cb(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function V8(e,t,n){const r=cb(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function yle(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function fb(e){return e instanceof Map}function db(e){return e instanceof Set}function Us(e){return e.copy_||e.base_}function hS(e,t){if(fb(e))return new Map(e);if(db(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);if(!t&&z8(e))return _c(e)?{...e}:Object.assign(Object.create(null),e);const n=Object.getOwnPropertyDescriptors(e);delete n[Ur];let r=Reflect.ownKeys(n);for(let i=0;i1&&(e.set=e.add=e.clear=e.delete=ble),Object.freeze(e),t&&kh(e,(n,r)=>iC(r,!0))),e}function ble(){Mi(2)}function hb(e){return Object.isFrozen(e)}var _le={};function Cl(e){const t=_le[e];return t||Mi(0,e),t}var Nh;function W8(){return Nh}function xle(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function dN(e,t){t&&(Cl("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function pS(e){mS(e),e.drafts_.forEach(wle),e.drafts_=null}function mS(e){e===Nh&&(Nh=e.parent_)}function hN(e){return Nh=xle(Nh,e)}function wle(e){const t=e[Ur];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function pN(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return e!==void 0&&e!==n?(n[Ur].modified_&&(pS(t),Mi(4)),Jo(e)&&(e=vy(t,e),t.parent_||gy(t,e)),t.patches_&&Cl("Patches").generateReplacementPatches_(n[Ur].base_,e,t.patches_,t.inversePatches_)):e=vy(t,n,[]),pS(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==U8?e:void 0}function vy(e,t,n){if(hb(t))return t;const r=t[Ur];if(!r)return kh(t,(i,o)=>mN(e,r,t,i,o,n)),t;if(r.scope_!==e)return t;if(!r.modified_)return gy(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const i=r.copy_;let o=i,a=!1;r.type_===3&&(o=new Set(i),i.clear(),a=!0),kh(o,(s,l)=>mN(e,r,i,s,l,n,a)),gy(e,i,!1),n&&e.patches_&&Cl("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function mN(e,t,n,r,i,o,a){if(rs(i)){const s=o&&t&&t.type_!==3&&!dS(t.assigned_,r)?o.concat(r):void 0,l=vy(e,i,s);if(V8(n,r,l),rs(l))e.canAutoFreeze_=!1;else return}else a&&n.add(i);if(Jo(i)&&!hb(i)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;vy(e,i),(!t||!t.scope_.parent_)&&gy(e,i)}}function gy(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&iC(t,n)}function Sle(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:W8(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,o=oC;n&&(i=[r],o=Mh);const{revoke:a,proxy:s}=Proxy.revocable(i,o);return r.draft_=s,r.revoke_=a,s}var oC={get(e,t){if(t===Ur)return e;const n=Us(e);if(!dS(n,t))return Ole(e,n,t);const r=n[t];return e.finalized_||!Jo(r)?r:r===R_(e.base_,t)?(L_(e),e.copy_[t]=gS(r,e)):r},has(e,t){return t in Us(e)},ownKeys(e){return Reflect.ownKeys(Us(e))},set(e,t,n){const r=H8(Us(e),t);if(r!=null&&r.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const i=R_(Us(e),t),o=i==null?void 0:i[Ur];if(o&&o.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(yle(n,i)&&(n!==void 0||dS(e.base_,t)))return!0;L_(e),vS(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty(e,t){return R_(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,L_(e),vS(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=Us(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty(){Mi(11)},getPrototypeOf(e){return _c(e.base_)},setPrototypeOf(){Mi(12)}},Mh={};kh(oC,(e,t)=>{Mh[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});Mh.deleteProperty=function(e,t){return Mh.set.call(this,e,t,void 0)};Mh.set=function(e,t,n){return oC.set.call(this,e[0],t,n,e[0])};function R_(e,t){const n=e[Ur];return(n?Us(n):e)[t]}function Ole(e,t,n){var i;const r=H8(t,n);return r?"value"in r?r.value:(i=r.get)==null?void 0:i.call(e.draft_):void 0}function H8(e,t){if(!(t in e))return;let n=_c(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=_c(n)}}function vS(e){e.modified_||(e.modified_=!0,e.parent_&&vS(e.parent_))}function L_(e){e.copy_||(e.copy_=hS(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Ele=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,n,r)=>{if(typeof t=="function"&&typeof n!="function"){const o=n;n=t;const a=this;return function(l=o,...u){return a.produce(l,f=>n.call(this,f,...u))}}typeof n!="function"&&Mi(6),r!==void 0&&typeof r!="function"&&Mi(7);let i;if(Jo(t)){const o=hN(this),a=gS(t,void 0);let s=!0;try{i=n(a),s=!1}finally{s?pS(o):mS(o)}return dN(o,r),pN(i,o)}else if(!t||typeof t!="object"){if(i=n(t),i===void 0&&(i=t),i===U8&&(i=void 0),this.autoFreeze_&&iC(i,!0),r){const o=[],a=[];Cl("Patches").generateReplacementPatches_(t,i,o,a),r(o,a)}return i}else Mi(1,t)},this.produceWithPatches=(t,n)=>{if(typeof t=="function")return(a,...s)=>this.produceWithPatches(a,l=>t(l,...s));let r,i;return[this.produce(t,n,(a,s)=>{r=a,i=s}),r,i]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){Jo(e)||Mi(8),rs(e)&&(e=G8(e));const t=hN(this),n=gS(e,void 0);return n[Ur].isManual_=!0,mS(t),n}finishDraft(e,t){const n=e&&e[Ur];(!n||!n.isManual_)&&Mi(9);const{scope_:r}=n;return dN(r,t),pN(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const i=t[n];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}n>-1&&(t=t.slice(n+1));const r=Cl("Patches").applyPatches_;return rs(e)?r(e,t):this.produce(e,i=>r(i,t))}};function gS(e,t){const n=fb(e)?Cl("MapSet").proxyMap_(e,t):db(e)?Cl("MapSet").proxySet_(e,t):Sle(e,t);return(t?t.scope_:W8()).drafts_.push(n),n}function G8(e){return rs(e)||Mi(10,e),q8(e)}function q8(e){if(!Jo(e)||hb(e))return e;const t=e[Ur];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=hS(e,t.scope_.immer_.useStrictShallowCopy_)}else n=hS(e,!0);return kh(n,(r,i)=>{V8(n,r,q8(i))}),t&&(t.finalized_=!1),n}var zr=new Ele,K8=zr.produce;zr.produceWithPatches.bind(zr);zr.setAutoFreeze.bind(zr);zr.setUseStrictShallowCopy.bind(zr);zr.applyPatches.bind(zr);zr.createDraft.bind(zr);zr.finishDraft.bind(zr);function Ple(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function Cle(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var vN=e=>Array.isArray(e)?e:[e];function Tle(e){const t=Array.isArray(e[0])?e[0]:e;return Cle(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function jle(e,t){const n=[],{length:r}=e;for(let i=0;i{n=lv(),a.resetResultsCount()},a.resultsCount=()=>o,a.resetResultsCount=()=>{o=0},a}function Mle(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e;return(...i)=>{let o=0,a=0,s,l={},u=i.pop();typeof u=="object"&&(l=u,u=i.pop()),Ple(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);const f={...n,...l},{memoize:d,memoizeOptions:h=[],argsMemoize:v=Y8,argsMemoizeOptions:g=[],devModeChecks:y={}}=f,x=vN(h),_=vN(g),b=Tle(i),w=d(function(){return o++,u.apply(null,arguments)},...x),O=v(function(){a++;const P=jle(b,arguments);return s=w.apply(null,P),s},..._);return Object.assign(O,{resultFunc:u,memoizedResultFunc:w,dependencies:b,dependencyRecomputations:()=>a,resetDependencyRecomputations:()=>{a=0},lastResult:()=>s,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:d,argsMemoize:v})}}function Z8(e){return({dispatch:n,getState:r})=>i=>o=>typeof o=="function"?o(n,r,e):i(o)}var Rle=Z8(),Lle=Z8,$le=(...e)=>{const t=Mle(...e),n=Object.assign((...r)=>{const i=t(...r),o=(a,...s)=>i(rs(a)?G8(a):a,...s);return Object.assign(o,i),o},{withTypes:()=>n});return n};$le(Y8);var Ile=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?my:my.apply(null,arguments)},Dle=e=>e&&typeof e.match=="function";function mn(e,t){function n(...r){if(t){let i=t(...r);if(!i)throw new Error(Sr(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:r[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=r=>vle(r)&&r.type===e,n}var X8=class vd extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,vd.prototype)}static get[Symbol.species](){return vd}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new vd(...t[0].concat(this)):new vd(...t.concat(this))}};function yN(e){return Jo(e)?K8(e,()=>{}):e}function bN(e,t,n){if(e.has(t)){let i=e.get(t);return n.update&&(i=n.update(i,t,e),e.set(t,i)),i}if(!n.insert)throw new Error(Sr(10));const r=n.insert(t,e);return e.set(t,r),r}function Fle(e){return typeof e=="boolean"}var Ble=()=>function(t){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:i=!0,actionCreatorCheck:o=!0}=t??{};let a=new X8;return n&&(Fle(n)?a.push(Rle):a.push(Lle(n.extraArgument))),a},Ule="RTK_autoBatch",Q8=e=>t=>{setTimeout(t,e)},zle=typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:Q8(10),Vle=(e={type:"raf"})=>t=>(...n)=>{const r=t(...n);let i=!0,o=!1,a=!1;const s=new Set,l=e.type==="tick"?queueMicrotask:e.type==="raf"?zle:e.type==="callback"?e.queueNotification:Q8(e.timeout),u=()=>{a=!1,o&&(o=!1,s.forEach(f=>f()))};return Object.assign({},r,{subscribe(f){const d=()=>i&&f(),h=r.subscribe(d);return s.add(f),()=>{h(),s.delete(f)}},dispatch(f){var d;try{return i=!((d=f==null?void 0:f.meta)!=null&&d[Ule]),o=!i,o&&(a||(a=!0,l(u))),r.dispatch(f)}finally{i=!0}}})},Wle=e=>function(n){const{autoBatch:r=!0}=n??{};let i=new X8(e);return r&&i.push(Vle(typeof r=="object"?r:void 0)),i},Hle=!0;function J8(e){const t=Ble(),{reducer:n=void 0,middleware:r,devTools:i=!0,preloadedState:o=void 0,enhancers:a=void 0}=e||{};let s;if(typeof n=="function")s=n;else if(nC(n))s=rC(n);else throw new Error(Sr(1));let l;typeof r=="function"?l=r(t):l=t();let u=my;i&&(u=Ile({trace:!Hle,...typeof i=="object"&&i}));const f=mle(...l),d=Wle(f);let h=typeof a=="function"?a(d):d();const v=u(...h);return B8(s,o,v)}function eF(e){const t={},n=[];let r;const i={addCase(o,a){const s=typeof o=="string"?o:o.type;if(!s)throw new Error(Sr(28));if(s in t)throw new Error(Sr(29));return t[s]=a,i},addMatcher(o,a){return n.push({matcher:o,reducer:a}),i},addDefaultCase(o){return r=o,i}};return e(i),[t,n,r]}function Gle(e){return typeof e=="function"}function qle(e,t){let[n,r,i]=eF(t),o;if(Gle(e))o=()=>yN(e());else{const s=yN(e);o=()=>s}function a(s=o(),l){let u=[n[l.type],...r.filter(({matcher:f})=>f(l)).map(({reducer:f})=>f)];return u.filter(f=>!!f).length===0&&(u=[i]),u.reduce((f,d)=>{if(d)if(rs(f)){const v=d(f,l);return v===void 0?f:v}else{if(Jo(f))return K8(f,h=>d(h,l));{const h=d(f,l);if(h===void 0){if(f===null)return f;throw new Error(Sr(9))}return h}}return f},s)}return a.getInitialState=o,a}var Kle="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",tF=(e=21)=>{let t="",n=e;for(;n--;)t+=Kle[Math.random()*64|0];return t},Yle=(e,t)=>Dle(e)?e.match(t):e(t);function Zle(...e){return t=>e.some(n=>Yle(n,t))}var Xle=["name","message","stack","code"],$_=class{constructor(e,t){Jl(this,"_type");this.payload=e,this.meta=t}},_N=class{constructor(e,t){Jl(this,"_type");this.payload=e,this.meta=t}},Qle=e=>{if(typeof e=="object"&&e!==null){const t={};for(const n of Xle)typeof e[n]=="string"&&(t[n]=e[n]);return t}return{message:String(e)}},nF=(()=>{function e(t,n,r){const i=mn(t+"/fulfilled",(l,u,f,d)=>({payload:l,meta:{...d||{},arg:f,requestId:u,requestStatus:"fulfilled"}})),o=mn(t+"/pending",(l,u,f)=>({payload:void 0,meta:{...f||{},arg:u,requestId:l,requestStatus:"pending"}})),a=mn(t+"/rejected",(l,u,f,d,h)=>({payload:d,error:(r&&r.serializeError||Qle)(l||"Rejected"),meta:{...h||{},arg:f,requestId:u,rejectedWithValue:!!d,requestStatus:"rejected",aborted:(l==null?void 0:l.name)==="AbortError",condition:(l==null?void 0:l.name)==="ConditionError"}}));function s(l){return(u,f,d)=>{const h=r!=null&&r.idGenerator?r.idGenerator(l):tF(),v=new AbortController;let g,y;function x(b){y=b,v.abort()}const _=async function(){var O,E;let b;try{let P=(O=r==null?void 0:r.condition)==null?void 0:O.call(r,l,{getState:f,extra:d});if(eue(P)&&(P=await P),P===!1||v.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};const T=new Promise((A,D)=>{g=()=>{D({name:"AbortError",message:y||"Aborted"})},v.signal.addEventListener("abort",g)});u(o(h,l,(E=r==null?void 0:r.getPendingMeta)==null?void 0:E.call(r,{requestId:h,arg:l},{getState:f,extra:d}))),b=await Promise.race([T,Promise.resolve(n(l,{dispatch:u,getState:f,extra:d,requestId:h,signal:v.signal,abort:x,rejectWithValue:(A,D)=>new $_(A,D),fulfillWithValue:(A,D)=>new _N(A,D)})).then(A=>{if(A instanceof $_)throw A;return A instanceof _N?i(A.payload,h,l,A.meta):i(A,h,l)})])}catch(P){b=P instanceof $_?a(null,h,l,P.payload,P.meta):a(P,h,l)}finally{g&&v.signal.removeEventListener("abort",g)}return r&&!r.dispatchConditionRejection&&a.match(b)&&b.meta.condition||u(b),b}();return Object.assign(_,{abort:x,requestId:h,arg:l,unwrap(){return _.then(Jle)}})}}return Object.assign(s,{pending:o,rejected:a,fulfilled:i,settled:Zle(a,i),typePrefix:t})}return e.withTypes=()=>e,e})();function Jle(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function eue(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var tue=Symbol.for("rtk-slice-createasyncthunk");function nue(e,t){return`${e}/${t}`}function rue({creators:e}={}){var n;const t=(n=e==null?void 0:e.asyncThunk)==null?void 0:n[tue];return function(i){const{name:o,reducerPath:a=o}=i;if(!o)throw new Error(Sr(11));typeof process<"u";const s=(typeof i.reducers=="function"?i.reducers(oue()):i.reducers)||{},l=Object.keys(s),u={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},f={addCase(w,O){const E=typeof w=="string"?w:w.type;if(!E)throw new Error(Sr(12));if(E in u.sliceCaseReducersByType)throw new Error(Sr(13));return u.sliceCaseReducersByType[E]=O,f},addMatcher(w,O){return u.sliceMatchers.push({matcher:w,reducer:O}),f},exposeAction(w,O){return u.actionCreators[w]=O,f},exposeCaseReducer(w,O){return u.sliceCaseReducersByName[w]=O,f}};l.forEach(w=>{const O=s[w],E={reducerName:w,type:nue(o,w),createNotation:typeof i.reducers=="function"};sue(O)?uue(E,O,f,t):aue(E,O,f)});function d(){const[w={},O=[],E=void 0]=typeof i.extraReducers=="function"?eF(i.extraReducers):[i.extraReducers],P={...w,...u.sliceCaseReducersByType};return qle(i.initialState,T=>{for(let A in P)T.addCase(A,P[A]);for(let A of u.sliceMatchers)T.addMatcher(A.matcher,A.reducer);for(let A of O)T.addMatcher(A.matcher,A.reducer);E&&T.addDefaultCase(E)})}const h=w=>w,v=new Map;let g;function y(w,O){return g||(g=d()),g(w,O)}function x(){return g||(g=d()),g.getInitialState()}function _(w,O=!1){function E(T){let A=T[w];return typeof A>"u"&&O&&(A=x()),A}function P(T=h){const A=bN(v,O,{insert:()=>new WeakMap});return bN(A,T,{insert:()=>{const D={};for(const[k,I]of Object.entries(i.selectors??{}))D[k]=iue(I,T,x,O);return D}})}return{reducerPath:w,getSelectors:P,get selectors(){return P(E)},selectSlice:E}}const b={name:o,reducer:y,actions:u.actionCreators,caseReducers:u.sliceCaseReducersByName,getInitialState:x,..._(a),injectInto(w,{reducerPath:O,...E}={}){const P=O??a;return w.inject({reducerPath:P,reducer:y},E),{...b,..._(P,!0)}}};return b}}function iue(e,t,n,r){function i(o,...a){let s=t(o);return typeof s>"u"&&r&&(s=n()),e(s,...a)}return i.unwrapped=e,i}var nn=rue();function oue(){function e(t,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...n}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...n){return t(...n)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:n}},asyncThunk:e}}function aue({type:e,reducerName:t,createNotation:n},r,i){let o,a;if("reducer"in r){if(n&&!lue(r))throw new Error(Sr(17));o=r.reducer,a=r.prepare}else o=r;i.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,a?mn(e,a):mn(e))}function sue(e){return e._reducerDefinitionType==="asyncThunk"}function lue(e){return e._reducerDefinitionType==="reducerWithPrepare"}function uue({type:e,reducerName:t},n,r,i){if(!i)throw new Error(Sr(18));const{payloadCreator:o,fulfilled:a,pending:s,rejected:l,settled:u,options:f}=n,d=i(e,o,f);r.exposeAction(t,d),a&&r.addCase(d.fulfilled,a),s&&r.addCase(d.pending,s),l&&r.addCase(d.rejected,l),u&&r.addMatcher(d.settled,u),r.exposeCaseReducer(t,{fulfilled:a||uv,pending:s||uv,rejected:l||uv,settled:u||uv})}function uv(){}var cue=(e,t)=>{if(typeof e!="function")throw new Error(Sr(32))},aC="listenerMiddleware",fue=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:o}=e;if(t)i=mn(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw new Error(Sr(21));return cue(o),{predicate:i,type:t,effect:o}},due=Object.assign(e=>{const{type:t,predicate:n,effect:r}=fue(e);return{id:tF(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(Sr(22))}}},{withTypes:()=>due}),hue=Object.assign(mn(`${aC}/add`),{withTypes:()=>hue});mn(`${aC}/removeAll`);var pue=Object.assign(mn(`${aC}/remove`),{withTypes:()=>pue});function Sr(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}const{actions:mue,reducer:vue}=nn({name:"shlink/appUpdates",initialState:!1,reducers:{appUpdateAvailable:()=>!0,resetAppUpdate:()=>!1}}),{appUpdateAvailable:gue,resetAppUpdate:yue}=mue,bue=vue,_ue=(e,t)=>{e.factory("App",fle),e.decorator("App",t(["servers","settings","appUpdated"],["fetchServers","resetAppUpdate"])),e.serviceFactory("appUpdateAvailable",()=>gue),e.serviceFactory("resetAppUpdate",()=>yue)},xN={"Content-Type":"application/json"},wN=e=>e!=null&&e.body?e?{...e,headers:{...e.headers??{},...xN}}:{headers:xN}:e;let xue=class{constructor(t=window.fetch.bind(window)){this.fetch=t}async jsonRequest(t,n){return this.fetch(t,wN(n)).then(async r=>{const i=await r.json();if(!r.ok)throw i;return i})}async emptyRequest(t,n){return this.fetch(t,wN(n)).then(async r=>{if(!r.ok)throw await r.json()})}};var sC=(e=>(e.INVALID_ARGUMENT="https://shlink.io/api/error/invalid-data",e.INVALID_SHORT_URL_DELETION="https://shlink.io/api/error/invalid-short-url-deletion",e.DOMAIN_NOT_FOUND="https://shlink.io/api/error/domain-not-found",e.FORBIDDEN_OPERATION="https://shlink.io/api/error/forbidden-tag-operation",e.INVALID_SLUG="https://shlink.io/api/error/non-unique-slug",e.INVALID_SHORTCODE="https://shlink.io/api/error/short-url-not-found",e.TAG_CONFLICT="https://shlink.io/api/error/tag-conflict",e.TAG_NOT_FOUND="https://shlink.io/api/error/tag-not-found",e.MERCURE_NOT_CONFIGURED="https://shlink.io/api/error/mercure-not-configured",e.INVALID_AUTHORIZATION="https://shlink.io/api/error/missing-authentication",e.INVALID_API_KEY="https://shlink.io/api/error/invalid-api-key",e.NOT_FOUND="https://shlink.io/api/error/not-found",e.INVALID_URL="https://shlink.io/api/error/invalid-url",e))(sC||{});const rF=(e,t)=>e.reduce((n,r)=>{const i=t(r);return n[i]=(n[i]||0)+1,n},{}),wue=(e,t)=>e.reduce((n,r)=>{const i=t(r);return(n[i]=n[i]||[]).push(r),n},{}),I_=e=>Object.prototype.toString.call(e)==="[object Object]",iF=(e,t)=>{const n={};return(...r)=>{const i=e(...r);if(n[i])return n[i];const o=t(...r);return n[i]=o,o}},lC=(e,t)=>{const n={...e};return!I_(e)||!I_(t)||Object.keys(t).forEach(r=>{I_(t[r])?n[r]=r in e&&e[r]!==void 0?lC(e[r],t[r]):{...t[r]}:n[r]=t[r]}),n},uC=(e,t)=>Array.from({length:t-e},(n,r)=>e+r),Sue=(e,t)=>[...e].sort((n,r)=>{const i=t(n),o=t(r);return i===o?0:i{const n=[];for(let r=0;rObject.fromEntries(e.map((n,r)=>[n,t[r]]));function Ke(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function Vi(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function cC(e,t){const n=Ke(e);return isNaN(t)?Vi(e,NaN):(t&&n.setDate(n.getDate()+t),n)}function Oue(e,t){const n=Ke(e);if(isNaN(t))return Vi(e,NaN);if(!t)return n;const r=n.getDate(),i=Vi(e,n.getTime());i.setMonth(n.getMonth()+t+1,0);const o=i.getDate();return r>=o?i:(n.setFullYear(i.getFullYear(),i.getMonth(),r),n)}function Eue(e,t){const{years:n=0,months:r=0,weeks:i=0,days:o=0,hours:a=0,minutes:s=0,seconds:l=0}=t,u=Ke(e),f=r||n?Oue(u,r+n*12):u,d=o||i?cC(f,o+i*7):f,h=s+a*60,g=(l+h*60)*1e3;return Vi(e,d.getTime()+g)}const oF=6048e5,Pue=864e5,aF=6e4,fC=36e5,cv=43200,ON=1440;let Cue={};function tf(){return Cue}function Rh(e,t){var s,l,u,f;const n=tf(),r=(t==null?void 0:t.weekStartsOn)??((l=(s=t==null?void 0:t.locale)==null?void 0:s.options)==null?void 0:l.weekStartsOn)??n.weekStartsOn??((f=(u=n.locale)==null?void 0:u.options)==null?void 0:f.weekStartsOn)??0,i=Ke(e),o=i.getDay(),a=(o=i.getTime()?n+1:t.getTime()>=a.getTime()?n:n-1}function Tl(e){const t=Ke(e);return t.setHours(0,0,0,0),t}function yy(e){const t=Ke(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function lF(e,t){const n=Tl(e),r=Tl(t),i=+n-yy(n),o=+r-yy(r);return Math.round((i-o)/Pue)}function Tue(e){const t=sF(e),n=Vi(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),Lh(n)}function uF(e){let t;return e.forEach(function(n){const r=Ke(n);(t===void 0||t{const r=Ke(n);(!t||t>r||isNaN(+r))&&(t=r)}),t||new Date(NaN)}function tg(e,t){const n=Ke(e),r=Ke(t),i=n.getTime()-r.getTime();return i<0?-1:i>0?1:i}function Aue(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function kue(e){if(!Aue(e)&&typeof e!="number")return!1;const t=Ke(e);return!isNaN(Number(t))}function Nue(e,t){const n=Ke(e),r=Ke(t),i=n.getFullYear()-r.getFullYear(),o=n.getMonth()-r.getMonth();return i*12+o}function Wp(e,t){const n=Ke(e),r=Ke(t),i=EN(n,r),o=Math.abs(lF(n,r));n.setDate(n.getDate()-i*o);const a=+(EN(n,r)===-i),s=i*(o-a);return s===0?0:s}function EN(e,t){const n=e.getFullYear()-t.getFullYear()||e.getMonth()-t.getMonth()||e.getDate()-t.getDate()||e.getHours()-t.getHours()||e.getMinutes()-t.getMinutes()||e.getSeconds()-t.getSeconds()||e.getMilliseconds()-t.getMilliseconds();return n<0?-1:n>0?1:n}function dC(e){return t=>{const r=(e?Math[e]:Math.trunc)(t);return r===0?0:r}}function cF(e,t){return+Ke(e)-+Ke(t)}function Mue(e,t,n){const r=cF(e,t)/fC;return dC(n==null?void 0:n.roundingMethod)(r)}function xc(e){const t=Ke(e);return t.setHours(23,59,59,999),t}function Rue(e){const t=Ke(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}function Lue(e){const t=Ke(e);return+xc(t)==+Rue(t)}function by(e,t){const n=Ke(e),r=Ke(t),i=tg(n,r),o=Math.abs(Nue(n,r));let a;if(o<1)a=0;else{n.getMonth()===1&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-i*o);let s=tg(n,r)===-i;Lue(Ke(e))&&o===1&&tg(e,r)===1&&(s=!1),a=i*(o-Number(s))}return a===0?0:a}function $ue(e,t,n){const r=cF(e,t)/1e3;return dC(n==null?void 0:n.roundingMethod)(r)}function Iue(e,t,n){const r=Wp(e,t)/7;return dC(n==null?void 0:n.roundingMethod)(r)}function Due(e){const t=Ke(e),n=Vi(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Fue(e,t){var s,l,u,f;const n=tf(),r=(t==null?void 0:t.weekStartsOn)??((l=(s=t==null?void 0:t.locale)==null?void 0:s.options)==null?void 0:l.weekStartsOn)??n.weekStartsOn??((f=(u=n.locale)==null?void 0:u.options)==null?void 0:f.weekStartsOn)??0,i=Ke(e),o=i.getDay(),a=(o{let r;const i=Uue[e];return typeof i=="string"?r=i:t===1?r=i.one:r=i.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function D_(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Vue={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Wue={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Hue={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Gue={date:D_({formats:Vue,defaultWidth:"full"}),time:D_({formats:Wue,defaultWidth:"full"}),dateTime:D_({formats:Hue,defaultWidth:"full"})},que={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Kue=(e,t,n,r)=>que[e];function Yf(e){return(t,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let i;if(r==="formatting"&&e.formattingValues){const a=e.defaultFormattingWidth||e.defaultWidth,s=n!=null&&n.width?String(n.width):a;i=e.formattingValues[s]||e.formattingValues[a]}else{const a=e.defaultWidth,s=n!=null&&n.width?String(n.width):e.defaultWidth;i=e.values[s]||e.values[a]}const o=e.argumentCallback?e.argumentCallback(t):t;return i[o]}}const Yue={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Zue={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Xue={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Que={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Jue={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ece={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},tce=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},nce={ordinalNumber:tce,era:Yf({values:Yue,defaultWidth:"wide"}),quarter:Yf({values:Zue,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Yf({values:Xue,defaultWidth:"wide"}),day:Yf({values:Que,defaultWidth:"wide"}),dayPeriod:Yf({values:Jue,defaultWidth:"wide",formattingValues:ece,defaultFormattingWidth:"wide"})};function Zf(e){return(t,n={})=>{const r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;const a=o[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(s)?ice(s,d=>d.test(a)):rce(s,d=>d.test(a));let u;u=e.valueCallback?e.valueCallback(l):l,u=n.valueCallback?n.valueCallback(u):u;const f=t.slice(a.length);return{value:u,rest:f}}}function rce(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ice(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const i=r[0],o=t.match(e.parsePattern);if(!o)return null;let a=e.valueCallback?e.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;const s=t.slice(i.length);return{value:a,rest:s}}}const ace=/^(\d+)(th|st|nd|rd)?/i,sce=/\d+/i,lce={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},uce={any:[/^b/i,/^(a|c)/i]},cce={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},fce={any:[/1/i,/2/i,/3/i,/4/i]},dce={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},hce={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},pce={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},mce={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},vce={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},gce={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},yce={ordinalNumber:oce({matchPattern:ace,parsePattern:sce,valueCallback:e=>parseInt(e,10)}),era:Zf({matchPatterns:lce,defaultMatchWidth:"wide",parsePatterns:uce,defaultParseWidth:"any"}),quarter:Zf({matchPatterns:cce,defaultMatchWidth:"wide",parsePatterns:fce,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Zf({matchPatterns:dce,defaultMatchWidth:"wide",parsePatterns:hce,defaultParseWidth:"any"}),day:Zf({matchPatterns:pce,defaultMatchWidth:"wide",parsePatterns:mce,defaultParseWidth:"any"}),dayPeriod:Zf({matchPatterns:vce,defaultMatchWidth:"any",parsePatterns:gce,defaultParseWidth:"any"})},fF={code:"en-US",formatDistance:zue,formatLong:Gue,formatRelative:Kue,localize:nce,match:yce,options:{weekStartsOn:0,firstWeekContainsDate:1}};function bce(e){const t=Ke(e);return lF(t,Due(t))+1}function _ce(e){const t=Ke(e),n=+Lh(t)-+Tue(t);return Math.round(n/oF)+1}function dF(e,t){var f,d,h,v;const n=Ke(e),r=n.getFullYear(),i=tf(),o=(t==null?void 0:t.firstWeekContainsDate)??((d=(f=t==null?void 0:t.locale)==null?void 0:f.options)==null?void 0:d.firstWeekContainsDate)??i.firstWeekContainsDate??((v=(h=i.locale)==null?void 0:h.options)==null?void 0:v.firstWeekContainsDate)??1,a=Vi(e,0);a.setFullYear(r+1,0,o),a.setHours(0,0,0,0);const s=Rh(a,t),l=Vi(e,0);l.setFullYear(r,0,o),l.setHours(0,0,0,0);const u=Rh(l,t);return n.getTime()>=s.getTime()?r+1:n.getTime()>=u.getTime()?r:r-1}function xce(e,t){var s,l,u,f;const n=tf(),r=(t==null?void 0:t.firstWeekContainsDate)??((l=(s=t==null?void 0:t.locale)==null?void 0:s.options)==null?void 0:l.firstWeekContainsDate)??n.firstWeekContainsDate??((f=(u=n.locale)==null?void 0:u.options)==null?void 0:f.firstWeekContainsDate)??1,i=dF(e,t),o=Vi(e,0);return o.setFullYear(i,0,r),o.setHours(0,0,0,0),Rh(o,t)}function wce(e,t){const n=Ke(e),r=+Rh(n,t)-+xce(n,t);return Math.round(r/oF)+1}function rt(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const ga={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return rt(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):rt(n+1,2)},d(e,t){return rt(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return rt(e.getHours()%12||12,t.length)},H(e,t){return rt(e.getHours(),t.length)},m(e,t){return rt(e.getMinutes(),t.length)},s(e,t){return rt(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),i=Math.trunc(r*Math.pow(10,n-3));return rt(i,t.length)}},su={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},PN={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return ga.y(e,t)},Y:function(e,t,n,r){const i=dF(e,r),o=i>0?i:1-i;if(t==="YY"){const a=o%100;return rt(a,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):rt(o,t.length)},R:function(e,t){const n=sF(e);return rt(n,t.length)},u:function(e,t){const n=e.getFullYear();return rt(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return rt(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return rt(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return ga.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return rt(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const i=wce(e,r);return t==="wo"?n.ordinalNumber(i,{unit:"week"}):rt(i,t.length)},I:function(e,t,n){const r=_ce(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):rt(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):ga.d(e,t)},D:function(e,t,n){const r=bce(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):rt(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const i=e.getDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return rt(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const i=e.getDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return rt(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),i=r===0?7:r;switch(t){case"i":return String(i);case"ii":return rt(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let i;switch(r===12?i=su.noon:r===0?i=su.midnight:i=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let i;switch(r>=17?i=su.evening:r>=12?i=su.afternoon:r>=4?i=su.morning:i=su.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return ga.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):ga.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):rt(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):rt(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):ga.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):ga.s(e,t)},S:function(e,t){return ga.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return TN(r);case"XXXX":case"XX":return zs(r);case"XXXXX":case"XXX":default:return zs(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return TN(r);case"xxxx":case"xx":return zs(r);case"xxxxx":case"xxx":default:return zs(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+CN(r,":");case"OOOO":default:return"GMT"+zs(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+CN(r,":");case"zzzz":default:return"GMT"+zs(r,":")}},t:function(e,t,n){const r=Math.trunc(e.getTime()/1e3);return rt(r,t.length)},T:function(e,t,n){const r=e.getTime();return rt(r,t.length)}};function CN(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=Math.trunc(r/60),o=r%60;return o===0?n+String(i):n+String(i)+t+rt(o,2)}function TN(e,t){return e%60===0?(e>0?"-":"+")+rt(Math.abs(e)/60,2):zs(e,t)}function zs(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=rt(Math.trunc(r/60),2),o=rt(r%60,2);return n+i+t+o}const jN=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},hF=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},Sce=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return jN(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",jN(r,t)).replace("{{time}}",hF(i,t))},Oce={p:hF,P:Sce},Ece=/^D+$/,Pce=/^Y+$/,Cce=["D","DD","YY","YYYY"];function Tce(e){return Ece.test(e)}function jce(e){return Pce.test(e)}function Ace(e,t,n){const r=kce(e,t,n);if(console.warn(r),Cce.includes(e))throw new RangeError(r)}function kce(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Nce=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Mce=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Rce=/^'([^]*?)'?$/,Lce=/''/g,$ce=/[a-zA-Z]/;function _y(e,t,n){var f,d,h,v,g,y,x,_;const r=tf(),i=(n==null?void 0:n.locale)??r.locale??fF,o=(n==null?void 0:n.firstWeekContainsDate)??((d=(f=n==null?void 0:n.locale)==null?void 0:f.options)==null?void 0:d.firstWeekContainsDate)??r.firstWeekContainsDate??((v=(h=r.locale)==null?void 0:h.options)==null?void 0:v.firstWeekContainsDate)??1,a=(n==null?void 0:n.weekStartsOn)??((y=(g=n==null?void 0:n.locale)==null?void 0:g.options)==null?void 0:y.weekStartsOn)??r.weekStartsOn??((_=(x=r.locale)==null?void 0:x.options)==null?void 0:_.weekStartsOn)??0,s=Ke(e);if(!kue(s))throw new RangeError("Invalid time value");let l=t.match(Mce).map(b=>{const w=b[0];if(w==="p"||w==="P"){const O=Oce[w];return O(b,i.formatLong)}return b}).join("").match(Nce).map(b=>{if(b==="''")return{isToken:!1,value:"'"};const w=b[0];if(w==="'")return{isToken:!1,value:Ice(b)};if(PN[w])return{isToken:!0,value:b};if(w.match($ce))throw new RangeError("Format string contains an unescaped latin alphabet character `"+w+"`");return{isToken:!1,value:b}});i.localize.preprocessor&&(l=i.localize.preprocessor(s,l));const u={firstWeekContainsDate:o,weekStartsOn:a,locale:i};return l.map(b=>{if(!b.isToken)return b.value;const w=b.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&jce(w)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&Tce(w))&&Ace(w,t,String(e));const O=PN[w[0]];return O(s,w,i.localize,u)}).join("")}function Ice(e){const t=e.match(Rce);return t?t[1].replace(Lce,"'"):e}function Dce(e,t,n){const r=tf(),i=(n==null?void 0:n.locale)??r.locale??fF,o=2520,a=tg(e,t);if(isNaN(a))throw new RangeError("Invalid time value");const s=Object.assign({},n,{addSuffix:n==null?void 0:n.addSuffix,comparison:a});let l,u;a>0?(l=Ke(t),u=Ke(e)):(l=Ke(e),u=Ke(t));const f=$ue(u,l),d=(yy(u)-yy(l))/1e3,h=Math.round((f-d)/60);let v;if(h<2)return n!=null&&n.includeSeconds?f<5?i.formatDistance("lessThanXSeconds",5,s):f<10?i.formatDistance("lessThanXSeconds",10,s):f<20?i.formatDistance("lessThanXSeconds",20,s):f<40?i.formatDistance("halfAMinute",0,s):f<60?i.formatDistance("lessThanXMinutes",1,s):i.formatDistance("xMinutes",1,s):h===0?i.formatDistance("lessThanXMinutes",1,s):i.formatDistance("xMinutes",h,s);if(h<45)return i.formatDistance("xMinutes",h,s);if(h<90)return i.formatDistance("aboutXHours",1,s);if(hr.getTime()}function xy(e,t){const n=Ke(e),r=Ke(t);return+n<+r}function yS(e,t){const n=Ke(e),r=Ke(t);return+n==+r}function zce(e,t){const n=+Ke(e),[r,i]=[+Ke(t.start),+Ke(t.end)].sort((o,a)=>o-a);return n>=r&&n<=i}function wy(e,t){return cC(e,-t)}function is(e,t){const n=(t==null?void 0:t.additionalDigits)??2,r=Gce(e);let i;if(r.date){const l=qce(r.date,n);i=Kce(l.restDateString,l.year)}if(!i||isNaN(i.getTime()))return new Date(NaN);const o=i.getTime();let a=0,s;if(r.time&&(a=Yce(r.time),isNaN(a)))return new Date(NaN);if(r.timezone){if(s=Zce(r.timezone),isNaN(s))return new Date(NaN)}else{const l=new Date(o+a),u=new Date(0);return u.setFullYear(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate()),u.setHours(l.getUTCHours(),l.getUTCMinutes(),l.getUTCSeconds(),l.getUTCMilliseconds()),u}return new Date(o+a+s)}const fv={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Vce=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,Wce=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Hce=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Gce(e){const t={},n=e.split(fv.dateTimeDelimiter);let r;if(n.length>2)return t;if(/:/.test(n[0])?r=n[0]:(t.date=n[0],r=n[1],fv.timeZoneDelimiter.test(t.date)&&(t.date=e.split(fv.timeZoneDelimiter)[0],r=e.substr(t.date.length,e.length))),r){const i=fv.timezone.exec(r);i?(t.time=r.replace(i[1],""),t.timezone=i[1]):t.time=r}return t}function qce(e,t){const n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),r=e.match(n);if(!r)return{year:NaN,restDateString:""};const i=r[1]?parseInt(r[1]):null,o=r[2]?parseInt(r[2]):null;return{year:o===null?i:o*100,restDateString:e.slice((r[1]||r[2]).length)}}function Kce(e,t){if(t===null)return new Date(NaN);const n=e.match(Vce);if(!n)return new Date(NaN);const r=!!n[4],i=Xf(n[1]),o=Xf(n[2])-1,a=Xf(n[3]),s=Xf(n[4]),l=Xf(n[5])-1;if(r)return tfe(t,s,l)?Xce(t,s,l):new Date(NaN);{const u=new Date(0);return!Jce(t,o,a)||!efe(t,i)?new Date(NaN):(u.setUTCFullYear(t,o,Math.max(i,a)),u)}}function Xf(e){return e?parseInt(e):1}function Yce(e){const t=e.match(Wce);if(!t)return NaN;const n=F_(t[1]),r=F_(t[2]),i=F_(t[3]);return nfe(n,r,i)?n*fC+r*aF+i*1e3:NaN}function F_(e){return e&&parseFloat(e.replace(",","."))||0}function Zce(e){if(e==="Z")return 0;const t=e.match(Hce);if(!t)return 0;const n=t[1]==="+"?-1:1,r=parseInt(t[2]),i=t[3]&&parseInt(t[3])||0;return rfe(r,i)?n*(r*fC+i*aF):NaN}function Xce(e,t,n){const r=new Date(0);r.setUTCFullYear(e,0,4);const i=r.getUTCDay()||7,o=(t-1)*7+n+1-i;return r.setUTCDate(r.getUTCDate()+o),r}const Qce=[31,null,31,30,31,30,31,31,30,31,30,31];function pF(e){return e%400===0||e%4===0&&e%100!==0}function Jce(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(Qce[t]||(pF(e)?29:28))}function efe(e,t){return t>=1&&t<=(pF(e)?366:365)}function tfe(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}function nfe(e,t,n){return e===24?t===0&&n===0:n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}function rfe(e,t){return t>=0&&t<=59}const Or=({href:e,children:t,rel:n,...r})=>m.jsx("a",{target:"_blank",rel:`noopener noreferrer${n?` ${n}`:""}`,href:e,...r,children:t??e}),ife="Left",ofe="Right",afe="Up",sfe="Down",$u={delta:10,preventScrollOnSwipe:!1,rotationAngle:0,trackMouse:!1,trackTouch:!0,swipeDuration:1/0,touchEventOptions:{passive:!0}},bS={first:!0,initial:[0,0],start:0,swiping:!1,xy:[0,0]},AN="mousemove",kN="mouseup",lfe="touchend",ufe="touchmove",cfe="touchstart";function ffe(e,t,n,r){return e>t?n>0?ofe:ife:r>0?sfe:afe}function NN(e,t){if(t===0)return e;const n=Math.PI/180*t,r=e[0]*Math.cos(n)+e[1]*Math.sin(n),i=e[1]*Math.cos(n)-e[0]*Math.sin(n);return[r,i]}function dfe(e,t){const n=f=>{const d="touches"in f;d&&f.touches.length>1||e((h,v)=>{v.trackMouse&&!d&&(document.addEventListener(AN,r),document.addEventListener(kN,a));const{clientX:g,clientY:y}=d?f.touches[0]:f,x=NN([g,y],v.rotationAngle);return v.onTouchStartOrOnMouseDown&&v.onTouchStartOrOnMouseDown({event:f}),Object.assign(Object.assign(Object.assign({},h),bS),{initial:x.slice(),xy:x,start:f.timeStamp||0})})},r=f=>{e((d,h)=>{const v="touches"in f;if(v&&f.touches.length>1)return d;if(f.timeStamp-d.start>h.swipeDuration)return d.swiping?Object.assign(Object.assign({},d),{swiping:!1}):d;const{clientX:g,clientY:y}=v?f.touches[0]:f,[x,_]=NN([g,y],h.rotationAngle),b=x-d.xy[0],w=_-d.xy[1],O=Math.abs(b),E=Math.abs(w),P=(f.timeStamp||0)-d.start,T=Math.sqrt(O*O+E*E)/(P||1),A=[b/(P||1),w/(P||1)],D=ffe(O,E,b,w),k=typeof h.delta=="number"?h.delta:h.delta[D.toLowerCase()]||$u.delta;if(O{e((d,h)=>{let v;if(d.swiping&&d.eventData){if(f.timeStamp-d.start{document.removeEventListener(AN,r),document.removeEventListener(kN,a)},a=f=>{o(),i(f)},s=(f,d)=>{let h=()=>{};if(f&&f.addEventListener){const v=Object.assign(Object.assign({},$u.touchEventOptions),d.touchEventOptions),g=[[cfe,n,v],[ufe,r,Object.assign(Object.assign({},v),d.preventScrollOnSwipe?{passive:!1}:{})],[lfe,i,v]];g.forEach(([y,x,_])=>f.addEventListener(y,x,_)),h=()=>g.forEach(([y,x])=>f.removeEventListener(y,x))}return h},u={ref:f=>{f!==null&&e((d,h)=>{if(d.el===f)return d;const v={};return d.el&&d.el!==f&&d.cleanUpTouch&&(d.cleanUpTouch(),v.cleanUpTouch=void 0),h.trackTouch&&f&&(v.cleanUpTouch=s(f,h)),Object.assign(Object.assign(Object.assign({},d),{el:f}),v)})}};return t.trackMouse&&(u.onMouseDown=n),[u,s]}function hfe(e,t,n,r){return!t.trackTouch||!e.el?(e.cleanUpTouch&&e.cleanUpTouch(),Object.assign(Object.assign({},e),{cleanUpTouch:void 0})):e.cleanUpTouch?t.preventScrollOnSwipe!==n.preventScrollOnSwipe||t.touchEventOptions.passive!==n.touchEventOptions.passive?(e.cleanUpTouch(),Object.assign(Object.assign({},e),{cleanUpTouch:r(e.el,t)})):e:Object.assign(Object.assign({},e),{cleanUpTouch:r(e.el,t)})}function pfe(e){const{trackMouse:t}=e,n=R.useRef(Object.assign({},bS)),r=R.useRef(Object.assign({},$u)),i=R.useRef(Object.assign({},r.current));i.current=Object.assign({},r.current),r.current=Object.assign(Object.assign({},$u),e);let o;for(o in $u)r.current[o]===void 0&&(r.current[o]=$u[o]);const[a,s]=R.useMemo(()=>dfe(l=>n.current=l(n.current,r.current),{trackMouse:t}),[t]);return n.current=hfe(n.current,r.current,i.current,s),a}var _S={exports:{}};/** @license + * eventsource.js + * Available under MIT License (MIT) + * https://github.com/Yaffle/EventSource/ + */(function(e,t){(function(n){var r=n.setTimeout,i=n.clearTimeout,o=n.XMLHttpRequest,a=n.XDomainRequest,s=n.ActiveXObject,l=n.EventSource,u=n.document,f=n.Promise,d=n.fetch,h=n.Response,v=n.TextDecoder,g=n.TextEncoder,y=n.AbortController;if(typeof window<"u"&&typeof u<"u"&&!("readyState"in u)&&u.body==null&&(u.readyState="loading",window.addEventListener("load",function(se){u.readyState="complete"},!1)),o==null&&s!=null&&(o=function(){return new s("Microsoft.XMLHTTP")}),Object.create==null&&(Object.create=function(se){function pe(){}return pe.prototype=se,new pe}),Date.now||(Date.now=function(){return new Date().getTime()}),y==null){var x=d;d=function(se,pe){var me=pe.signal;return x(se,{headers:pe.headers,credentials:pe.credentials,cache:pe.cache}).then(function(xe){var Te=xe.body.getReader();return me._reader=Te,me._aborted&&me._reader.cancel(),{status:xe.status,statusText:xe.statusText,headers:xe.headers,body:{getReader:function(){return Te}}}})},y=function(){this.signal={_reader:null,_aborted:!1},this.abort=function(){this.signal._reader!=null&&this.signal._reader.cancel(),this.signal._aborted=!0}}}function _(){this.bitsNeeded=0,this.codePoint=0}_.prototype.decode=function(se){function pe(ye,ge,we){if(we===1)return ye>=128>>ge&&ye<=2048>>ge&&ye<=57344>>ge&&ye<=65536>>ge&&ye<>6>15?3:ge>31?2:1;if(ye===6*2)return ge>15?3:2;if(ye===6*3)return 3;throw new Error}for(var xe=65533,Te="",Ce=this.bitsNeeded,Ae=this.codePoint,le=0;le191||!pe(Ae<<6|ce&63,Ce-6,me(Ce,Ae)))&&(Ce=0,Ae=xe,Te+=String.fromCharCode(Ae)),Ce===0?(ce>=0&&ce<=127?(Ce=0,Ae=ce):ce>=192&&ce<=223?(Ce=6*1,Ae=ce&31):ce>=224&&ce<=239?(Ce=6*2,Ae=ce&15):ce>=240&&ce<=247?(Ce=6*3,Ae=ce&7):(Ce=0,Ae=xe),Ce!==0&&!pe(Ae,Ce,me(Ce,Ae))&&(Ce=0,Ae=xe)):(Ce-=6,Ae=Ae<<6|ce&63),Ce===0&&(Ae<=65535?Te+=String.fromCharCode(Ae):(Te+=String.fromCharCode(55296+(Ae-65535-1>>10)),Te+=String.fromCharCode(56320+(Ae-65535-1&1023))))}return this.bitsNeeded=Ce,this.codePoint=Ae,Te};var b=function(){try{return new v().decode(new g().encode("test"),{stream:!0})==="test"}catch(se){console.debug("TextDecoder does not support streaming option. Using polyfill instead: "+se)}return!1};(v==null||g==null||!b())&&(v=_);var w=function(){};function O(se){this.withCredentials=!1,this.readyState=0,this.status=0,this.statusText="",this.responseText="",this.onprogress=w,this.onload=w,this.onerror=w,this.onreadystatechange=w,this._contentType="",this._xhr=se,this._sendTimeout=0,this._abort=w}O.prototype.open=function(se,pe){this._abort(!0);var me=this,xe=this._xhr,Te=1,Ce=0;this._abort=function(we){me._sendTimeout!==0&&(i(me._sendTimeout),me._sendTimeout=0),(Te===1||Te===2||Te===3)&&(Te=4,xe.onload=w,xe.onerror=w,xe.onabort=w,xe.onprogress=w,xe.onreadystatechange=w,xe.abort(),Ce!==0&&(i(Ce),Ce=0),we||(me.readyState=4,me.onabort(null),me.onreadystatechange())),Te=0};var Ae=function(){if(Te===1){var we=0,ke="",Me=void 0;if("contentType"in xe)we=200,ke="OK",Me=xe.contentType;else try{we=xe.status,ke=xe.statusText,Me=xe.getResponseHeader("Content-Type")}catch{we=0,ke="",Me=void 0}we!==0&&(Te=2,me.readyState=2,me.status=we,me.statusText=ke,me._contentType=Me,me.onreadystatechange())}},le=function(){if(Ae(),Te===2||Te===3){Te=3;var we="";try{we=xe.responseText}catch{}me.readyState=3,me.responseText=we,me.onprogress()}},ce=function(we,ke){if((ke==null||ke.preventDefault==null)&&(ke={preventDefault:w}),le(),Te===1||Te===2||Te===3){if(Te=4,Ce!==0&&(i(Ce),Ce=0),me.readyState=4,we==="load")me.onload(ke);else if(we==="error")me.onerror(ke);else if(we==="abort")me.onabort(ke);else throw new TypeError;me.onreadystatechange()}},ye=function(we){xe!=null&&(xe.readyState===4?(!("onload"in xe)||!("onerror"in xe)||!("onabort"in xe))&&ce(xe.responseText===""?"error":"load",we):xe.readyState===3?"onprogress"in xe||le():xe.readyState===2&&Ae())},ge=function(){Ce=r(function(){ge()},500),xe.readyState===3&&le()};"onload"in xe&&(xe.onload=function(we){ce("load",we)}),"onerror"in xe&&(xe.onerror=function(we){ce("error",we)}),"onabort"in xe&&(xe.onabort=function(we){ce("abort",we)}),"onprogress"in xe&&(xe.onprogress=le),"onreadystatechange"in xe&&(xe.onreadystatechange=function(we){ye(we)}),("contentType"in xe||!("ontimeout"in o.prototype))&&(pe+=(pe.indexOf("?")===-1?"?":"&")+"padding=true"),xe.open(se,pe,!0),"readyState"in xe&&(Ce=r(function(){ge()},0))},O.prototype.abort=function(){this._abort(!1)},O.prototype.getResponseHeader=function(se){return this._contentType},O.prototype.setRequestHeader=function(se,pe){var me=this._xhr;"setRequestHeader"in me&&me.setRequestHeader(se,pe)},O.prototype.getAllResponseHeaders=function(){return this._xhr.getAllResponseHeaders!=null&&this._xhr.getAllResponseHeaders()||""},O.prototype.send=function(){if((!("ontimeout"in o.prototype)||!("sendAsBinary"in o.prototype)&&!("mozAnon"in o.prototype))&&u!=null&&u.readyState!=null&&u.readyState!=="complete"){var se=this;se._sendTimeout=r(function(){se._sendTimeout=0,se.send()},4);return}var pe=this._xhr;"withCredentials"in pe&&(pe.withCredentials=this.withCredentials);try{pe.send(void 0)}catch(me){throw me}};function E(se){return se.replace(/[A-Z]/g,function(pe){return String.fromCharCode(pe.charCodeAt(0)+32)})}function P(se){for(var pe=Object.create(null),me=se.split(`\r +`),xe=0;xe"u"?typeof window<"u"?window:typeof self<"u"?self:Zs:globalThis)})(_S,_S.exports);var mfe=_S.exports,vfe={prefix:"far",iconName:"circle-right",icon:[512,512,[61838,"arrow-alt-circle-right"],"f35a","M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 135.1c-4.2-4.5-10.1-7.1-16.3-7.1C266 128 256 138 256 150.3V208H160c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h96v57.7c0 12.3 10 22.3 22.3 22.3c6.2 0 12.1-2.6 16.3-7.1l99.9-107.1c3.5-3.8 5.5-8.7 5.5-13.8s-2-10.1-5.5-13.8L294.6 135.1z"]},gfe=vfe,yfe={prefix:"far",iconName:"circle",icon:[512,512,[128308,128309,128992,128993,128994,128995,128996,9679,9898,9899,11044,61708,61915],"f111","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"]},mF={prefix:"far",iconName:"clone",icon:[512,512,[],"f24d","M64 464H288c8.8 0 16-7.2 16-16V384h48v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h64v48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM224 304H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16V288c0 8.8 7.2 16 16 16zm-64-16V64c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64z"]};const bfe=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,MN=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const t=e.match(bfe);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},RN=e=>e==="*"||e==="x"||e==="X",LN=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},_fe=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],xfe=(e,t)=>{if(RN(e)||RN(t))return 0;const[n,r]=_fe(LN(e),LN(t));return n>r?1:n{for(let n=0;n{const n=MN(e),r=MN(t),i=n.pop(),o=r.pop(),a=$N(n,r);return a!==0?a:i&&o?$N(i.split("."),o.split(".")):i||o?i?-1:1:0},xS=(e,t,n)=>{Sfe(n);const r=wfe(e,t);return vF[n].includes(r)},vF={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},IN=Object.keys(vF),Sfe=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(IN.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${IN.join("|")}`)};var Ofe={prefix:"fab",iconName:"apple",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"]},Efe={prefix:"fab",iconName:"android",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"]};const Vs={Enter:"Enter",Escape:"Escape",Tab:"Tab",Backspace:"Backspace",UpArrow:"ArrowUp",UpArrowCompat:"Up",DownArrow:"ArrowDown",DownArrowCompat:"Down",PageDown:"PageDown",PageUp:"PageUp"},hC=Symbol("Create new tag"),gF=Symbol("No options"),yu=()=>{},Tn=V.createContext(void 0);function DN(e,t){return e===t?[]:e.filter(n=>!t.includes(n))}function Pfe(e){return e.selectionStart===0&&e.selectionEnd===0}function Cfe(e){const t=e.value.length;return e.selectionStart===t&&e.selectionEnd===t}function pb(e){return`${e}-label`}function Tfe(e){return`${e}-combobox`}function jfe(e){return`${e}-input`}function yF(e){return`${e}-listbox`}function bF(e,t){return`${e}-option-${$fe(t)}`}function Afe(e,t){if((e==null?void 0:e.value)===hC&&e.disabled===!1)return{value:t,label:t}}function kfe(e){const t=Afe(e.activeOption,e.value)||e.activeOption||Bfe(e.value,e.options);return t&&!t.disabled?t:void 0}function Nfe(e,t,n){const r=t-1;return e>r?n:en===e.value)}const Ife=/[-\\^$*+?.()|[\]{}]/g;function _F(e){return e.replace(Ife,"\\$&")}function xF(e){return new RegExp(_F(e),"i")}function Dfe(e){return new RegExp(`^${_F(e)}$`,"i")}function Ffe(e,t){if(e){const n=xF(e);return t.filter(r=>n.test(r.label))}else return[].concat(t)}function Bfe(e,t){const n=Dfe(e);return t.find(r=>n.test(r.label))||null}const Ufe={autoComplete:"off",autoCorrect:"off","data-form-type":"other",spellCheck:!1};function zfe({allowBackspace:e,ariaDescribedBy:t,ariaErrorMessage:n,delimiterKeys:r}){const{id:i,comboBoxRef:o,inputRef:a,isDisabled:s,isInvalid:l,managerRef:u}=R.useContext(Tn),f=R.useMemo(()=>{const g=k=>{const I=k.currentTarget.value;u.current.updateInputValue(I),document.activeElement===a.current&&u.current.listBoxExpand(I)},y=()=>{u.current.listBoxExpand()},x=k=>{var I;((I=o.current)==null?void 0:I.contains(k.relatedTarget))===!1&&u.current.listBoxCollapse()},_=()=>{u.current.listBoxExpand()},b=k=>{const{activeIndex:I,isExpanded:F}=u.current.state;F?(k.preventDefault(),u.current.updateActiveIndex(I+1)):(Cfe(k.currentTarget)||k.altKey)&&(k.preventDefault(),u.current.listBoxExpand())},w=k=>{const{activeIndex:I,isExpanded:F}=u.current.state;F?(k.preventDefault(),u.current.updateActiveIndex(I-1)):Pfe(k.currentTarget)&&(k.preventDefault(),u.current.listBoxExpand())},O=k=>{const{isExpanded:I,options:F}=u.current.state;I&&(k.preventDefault(),u.current.updateActiveIndex(F.length-1))},E=k=>{u.current.state.isExpanded&&(k.preventDefault(),u.current.updateActiveIndex(0))},P=()=>{u.current.state.isExpanded?u.current.listBoxCollapse():u.current.updateInputValue("")},T=()=>{if(e){const{value:k,selected:I}=u.current.state,F=I[I.length-1];k===""&&F&&u.current.selectTag(F)}},A=k=>{u.current.state.isExpanded&&(k.preventDefault(),u.current.selectTag())};return{onBlur:x,onChange:g,onClick:_,onFocus:y,onKeyDown:k=>{if(k.key===Vs.UpArrow)return w(k);if(k.key===Vs.DownArrow)return b(k);if(k.key===Vs.PageUp)return E(k);if(k.key===Vs.PageDown)return O(k);if(k.key===Vs.Escape)return P();if(k.key===Vs.Backspace)return T();if(r.includes(k.key))return A(k)}}},[e,o,r,a,u]),{activeOption:d,isExpanded:h,value:v}=u.current.state;return{...Ufe,"aria-autocomplete":"list","aria-activedescendant":d?bF(i,d):void 0,"aria-controls":yF(i),"aria-describedby":t||void 0,"aria-disabled":s,"aria-errormessage":l&&n||void 0,"aria-invalid":l,"aria-labelledby":pb(i),"aria-expanded":h,id:jfe(i),onBlur:s?yu:f.onBlur,onChange:s?yu:f.onChange,onClick:s?yu:f.onClick,onFocus:s?yu:f.onFocus,onKeyDown:s?yu:f.onKeyDown,ref:a,role:"combobox",type:"text",value:v}}const Vfe={position:"absolute",width:0,height:0,visibility:"hidden",overflow:"scroll",whiteSpace:"pre"},Wfe=["font-family","font-size","font-style","font-weight","letter-spacing","text-transform"];function Hfe({allowResize:e=!0,text:t}){const n=R.useRef(null),{inputRef:r}=R.useContext(Tn),[i,o]=R.useState(null);return R.useLayoutEffect(()=>{if(e&&r.current&&n.current&&window.getComputedStyle){const a=window.getComputedStyle(r.current);Wfe.forEach(s=>{const l=a.getPropertyValue(s);n.current.style.setProperty(s,l)})}},[e,r,n]),R.useLayoutEffect(()=>{var a;if(e){const s=Math.ceil(((a=n.current)==null?void 0:a.scrollWidth)??0)+2;i!==s&&o(s)}},[e,t,i]),{width:i,sizerProps:{ref:n,style:Vfe}}}function Gfe(){const{id:e,inputRef:t,listBoxRef:n,managerRef:r}=R.useContext(Tn),i=r.current.state.activeIndex===-1,o=R.useCallback(a=>{var s;a.target!==t.current&&((s=t.current)==null||s.focus({preventScroll:!0}))},[t]);return R.useEffect(()=>{var a;i&&((a=n.current)==null||a.scrollTo({top:0}))},[n,i]),{"aria-labelledby":pb(e),id:yF(e),onFocus:o,ref:n,role:"listbox",tabIndex:-1}}function qfe({activateFirstOption:e,allowNew:t,collapseOnSelect:n,newOptionText:r,noOptionsText:i,onAdd:o,onDelete:a,onCollapse:s,onExpand:l,onInput:u,onShouldCollapse:f,onShouldExpand:d,onValidate:h,selected:v,suggestions:g,suggestionsTransform:y}){const x=R.useRef(),[_,b]=R.useState(null),[w,O]=R.useState(!1),[E,P]=R.useState(""),T=R.useMemo(()=>{const W=y(E,g);return E&&(t&&W.push({disabled:h?!h(E):!1,label:r,value:hC}),W.length===0&&W.push({disabled:!0,label:i,value:gF})),W},[t,r,i,h,g,y,E]),A=_?SS(_,T):-1,D=e?Math.max(A,0):A,k=T[D],I={activeIndex:D,activeOption:k,isExpanded:w,options:T,selected:v,value:E},F={tagsAdded:x.current?DN(v,x.current.state.selected):[],tagsDeleted:x.current?DN(x.current.state.selected,v):[]},q={listBoxCollapse(W){w&&(!f||f(W??I.value))&&(O(!1),b(null),s==null||s())},listBoxExpand(W){w||(!d||d(W??I.value))&&(O(!0),b(T[D]),l==null||l())},updateActiveIndex(W){const X=Nfe(W,T.length,e?0:-1);b(T[X])},updateInputValue(W){E!==W&&(P(W),u==null||u(W))},selectTag(W){if(W??(W=kfe(I)),W){const X=SS(W,I.selected);X>-1?a(X):o(W),n&&this.listBoxCollapse(),this.updateInputValue("")}}};return x.current={...q,flags:F,state:I},x}function Kfe(e){const{id:t,inputRef:n,listBoxRef:r,managerRef:i}=R.useContext(Tn),o=R.useRef(null),a=i.current.state.options[e],s=e===i.current.state.activeIndex,l=a.disabled??!1,u=SS(a,i.current.state.selected)>-1,f=R.useCallback(()=>{var h;i.current.selectTag(),(h=n.current)==null||h.focus()},[n,i]),d=R.useCallback(()=>{e!==i.current.state.activeIndex&&i.current.updateActiveIndex(e)},[e,i]);return Xfe(o,r,s),{option:{...a,active:s,disabled:l,index:e,selected:u},optionProps:{"aria-disabled":l,"aria-posinset":e+1,"aria-selected":l?void 0:u,"aria-setsize":i.current.state.options.length,id:bF(t,a),onClick:f,onMouseDown:d,ref:o,role:"option",tabIndex:-1}}}function Yfe({inputRef:e,managerRef:t}){return R.useRef({input:{blur(){var r;(r=e.current)==null||r.blur()},focus(){var r;(r=e.current)==null||r.focus()},get value(){return t.current.state.value},set value(r){typeof r!="string"&&(r=String(r)),t.current.updateInputValue(r)}},listBox:{collapse(){t.current.listBoxCollapse()},expand(){t.current.listBoxExpand()},get activeOption(){return t.current.state.activeOption},get isExpanded(){return t.current.state.isExpanded}},select(r){t.current.selectTag(r)}}).current}function Zfe({onBlur:e,onFocus:t}){const[n,r]=R.useState(!1),{id:i,inputRef:o,rootRef:a}=R.useContext(Tn),s=R.useMemo(()=>({"aria-describedby":pb(i),id:i,onFocus(){r(!0),t==null||t()},onBlur(){var l;(l=a.current)!=null&&l.contains(document.activeElement)||(r(!1),e==null||e())},onClick(){var l;document.activeElement===a.current&&((l=o.current)==null||l.focus())},ref:a,tabIndex:-1}),[o,i,e,t,a]);return{isActive:n,rootProps:s}}function Xfe(e,t,n){R.useEffect(()=>{var r,i,o,a;if(n){const s=(r=e.current)==null?void 0:r.offsetHeight,l=(i=e.current)==null?void 0:i.offsetTop,u=(o=t.current)==null?void 0:o.offsetHeight,f=(a=t.current)==null?void 0:a.scrollTop;lf+u&&t.current.scrollTo(0,l+s-u)}},[n,t,e])}function Qfe(e,t){const{isDisabled:n,managerRef:r}=R.useContext(Tn),i=r.current.state.selected[e],o=R.useCallback(()=>r.current.selectTag(i),[r,i]);return{tag:i,tagProps:{"aria-disabled":n,title:Sy(t,i.label),onClick:n?yu:o}}}function Jfe(){var e;const{rootRef:t,managerRef:n}=R.useContext(Tn),r=R.useRef(),i=n.current.flags.tagsDeleted[0],o=(e=r.current)==null?void 0:e.contains(document.activeElement);return R.useLayoutEffect(()=>{var a,s;if(i){const l=(a=r.current)==null?void 0:a.contains(document.activeElement);o&&!l&&((s=t.current)==null||s.focus({preventScroll:!0}))}},[o,r,t,i]),{listRef:r}}const ede={position:"absolute",width:1,height:1,left:-9999,overflow:"hidden",clip:"rect(0 0 0 0)"};function tde({ariaAddedText:e,ariaDeletedText:t}){const{managerRef:n}=R.useContext(Tn),r=R.useRef([]);return n.current.flags.tagsAdded.forEach(i=>{r.current.push(Sy(e,i.label))}),n.current.flags.tagsDeleted.forEach(i=>{r.current.push(Sy(t,i.label))}),V.createElement("div",{"aria-live":"polite","aria-relevant":"additions",role:"status",style:ede},r.current.join(` +`))}function nde({children:e}){const{classNames:t,comboBoxRef:n,id:r}=R.useContext(Tn);return V.createElement("div",{className:t.comboBox,id:Tfe(r),ref:n},e)}const rde=({classNames:e,text:t})=>V.createElement("mark",{className:e.highlight},t);function ide({option:e,query:t,render:n=rde}){const{classNames:r}=R.useContext(Tn);if(e.value===hC||e.value===gF)return V.createElement(V.Fragment,null,Sy(e.label,t));if(t){const i=Rfe(e.label,t);if(i){const o=n({text:i[1],classNames:r});return V.createElement(V.Fragment,null,i[0],o,i[2])}}return V.createElement(V.Fragment,null,e.label)}const ode=V.memo(ide),ade=({classNames:e,inputWidth:t,...n})=>V.createElement("input",{className:e.input,style:{width:t},...n});function sde({allowBackspace:e=!0,allowResize:t=!0,ariaDescribedBy:n,ariaErrorMessage:r,delimiterKeys:i,placeholderText:o,render:a=ade}){const{classNames:s}=R.useContext(Tn),{value:l,...u}=zfe({allowBackspace:e,ariaDescribedBy:n,ariaErrorMessage:r,delimiterKeys:i}),f=l.lengthV.createElement("div",{className:t.label,id:n},e);function ude({children:e,render:t=lde}){const{classNames:n,id:r}=R.useContext(Tn);return t({children:e,classNames:n,id:pb(r)})}const cde=({children:e,classNames:t,...n})=>V.createElement("div",{className:t.listBox,...n},e);function fde({children:e,render:t=cde}){const{classNames:n,managerRef:r}=R.useContext(Tn),i=Gfe();return!r.current.state.isExpanded||V.Children.count(e)===0?null:t({children:e,classNames:n,...i})}const dde=({children:e,classNames:t,option:n,...r})=>{const i=[t.option];return n.active&&i.push(t.optionIsActive),V.createElement("div",{className:i.join(" "),...r},e)};function hde({children:e,index:t,render:n=dde}){const{classNames:r}=R.useContext(Tn),{option:i,optionProps:o}=Kfe(t);return n({classNames:r,children:e,option:i,...o})}const pde=({children:e,classNames:t,isActive:n,isDisabled:r,isInvalid:i,...o})=>{const a=[t.root];return n&&a.push(t.rootIsActive),r&&a.push(t.rootIsDisabled),i&&a.push(t.rootIsInvalid),V.createElement("div",{className:a.join(" "),...o},e)};function mde({children:e,onBlur:t,onFocus:n,render:r=pde}){const{classNames:i,isDisabled:o,isInvalid:a}=R.useContext(Tn),{isActive:s,rootProps:l}=Zfe({onBlur:t,onFocus:n});return r({children:e,classNames:i,isActive:s,isDisabled:o,isInvalid:a,...l})}const vde=({classNames:e,tag:t,...n})=>V.createElement("button",{type:"button",className:e.tag,...n},V.createElement("span",{className:e.tagName},t.label));function gde({render:e=vde,index:t,title:n}){const{classNames:r}=R.useContext(Tn),{tag:i,tagProps:o}=Qfe(t,n);return e({classNames:r,tag:i,...o})}function yde({children:e,label:t}){const{classNames:n}=R.useContext(Tn),{listRef:r}=Jfe();return V.createElement("ul",{className:n.tagList,"aria-label":t,ref:r,role:"list"},e.map(i=>V.createElement("li",{className:n.tagListItem,key:i.key,role:"listitem"},i)))}const bde={root:"react-tags",rootIsActive:"is-active",rootIsDisabled:"is-disabled",rootIsInvalid:"is-invalid",label:"react-tags__label",tagList:"react-tags__list",tagListItem:"react-tags__list-item",tag:"react-tags__tag",tagName:"react-tags__tag-name",comboBox:"react-tags__combobox",input:"react-tags__combobox-input",listBox:"react-tags__listbox",option:"react-tags__listbox-option",optionIsActive:"is-active",highlight:"react-tags__listbox-option-highlight"},_de=[Vs.Enter];function xde({activateFirstOption:e=!1,allowBackspace:t=!0,allowNew:n=!1,allowResize:r=!0,ariaAddedText:i="Added tag %value%",ariaDescribedBy:o,ariaErrorMessage:a,ariaDeletedText:s="Removed tag %value%",classNames:l=bde,collapseOnSelect:u=!1,deleteButtonText:f="Remove %value% from the list",delimiterKeys:d=_de,id:h="react-tags",isDisabled:v=!1,isInvalid:g=!1,labelText:y="Select tags",newOptionText:x="Add %value%",noOptionsText:_="No options found for %value%",onAdd:b,onBlur:w,onCollapse:O,onDelete:E,onExpand:P,onFocus:T,onInput:A,onShouldCollapse:D,onShouldExpand:k,onValidate:I,placeholderText:F="Add a tag",renderHighlight:q,renderInput:W,renderLabel:X,renderListBox:Q,renderOption:ne,renderRoot:Z,renderTag:z,selected:B=[],suggestions:H=[],suggestionsTransform:ee=Ffe,tagListLabelText:K="Selected tags"},te){const ie=R.useRef(null),ae=R.useRef(null),fe=R.useRef(null),j=R.useRef(null),N=qfe({activateFirstOption:e,allowNew:n,collapseOnSelect:u,newOptionText:x,noOptionsText:_,onAdd:b,onDelete:E,onCollapse:O,onExpand:P,onInput:A,onShouldCollapse:D,onShouldExpand:k,onValidate:I,selected:B,suggestions:H,suggestionsTransform:ee}),U=Yfe({inputRef:ae,managerRef:N});return te&&(typeof te=="function"?te(U):te.current=U),V.createElement(Tn.Provider,{value:{classNames:l,comboBoxRef:ie,id:h,inputRef:ae,isDisabled:v,isInvalid:g,listBoxRef:fe,managerRef:N,rootRef:j}},V.createElement(mde,{onBlur:w,onFocus:T,render:Z},V.createElement(ude,{render:X},y),V.createElement(yde,{label:K},N.current.state.selected.map((J,Y)=>V.createElement(gde,{key:wS(J),index:Y,render:z,title:f}))),V.createElement(nde,null,V.createElement(sde,{allowBackspace:t,allowResize:r,ariaDescribedBy:o,ariaErrorMessage:a,delimiterKeys:d,placeholderText:F,render:W}),V.createElement(fde,{render:Q},N.current.state.options.map((J,Y)=>V.createElement(hde,{key:wS(J),index:Y,render:ne},V.createElement(ode,{option:J,query:N.current.state.value,render:q}))))),V.createElement(tde,{ariaAddedText:i,ariaDeletedText:s})))}const wde=V.forwardRef(xde);function B_(e){return e==null?"":`${e}`}function Sde(e={}){const{separator:t,decimals:n}=e;return t?n?r=>r.toFixed(n).replace(".",t):r=>`${r}`.replace(".",t):n?r=>r.toFixed(n):r=>`${r}`}function pC(e={}){const t=typeof e.quote=="string"?e.quote:'"',n=typeof e.escapedQuote=="string"?e.escapedQuote:`${t}${t}`;if(!t||t===n)return i=>i;const r=new RegExp(t,"g");return i=>(i.includes(t)&&(i=i.replace(r,n)),`${t}${i}${t}`)}function Ode(e={stringFormatter:pC()}){return t=>e.stringFormatter(t.toString().slice(7,-1))}function Ede(e={stringFormatter:pC()}){return t=>{if(t===null)return"";let n=JSON.stringify(t);return n===void 0?"":(n[0]==='"'&&(n=n.replace(/^"(.+)"$/,"$1")),e.stringFormatter(n))}}const Pde=RegExp(`[^.[\\]]+|\\[(?:([^"'][^[]*)|(["'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))`,"g");function Cde(e){var t,n,r;const i=[];let o;for(;o=Pde.exec(e);)i.push((r=(t=o[3])!==null&&t!==void 0?t:(n=o[1])===null||n===void 0?void 0:n.trim())!==null&&r!==void 0?r:o[0]);return i}function FN(e,t,n){if(t in e){const o=e[t];return o===void 0?n:o}const r=Array.isArray(t)?t:Cde(t);let i=e;for(const o of r)if(i=i==null?void 0:i[o],i===void 0)return n;return i}function wF(e,t){try{return Array.isArray(t)?e.push(...t):e.push(t),e}catch{return e.concat(t)}}function OS(e,t){let n=!0;return e.reduce((r,i)=>(i==null&&(i=""),n?(n=!1,`${i}`):`${r}${t}${i}`),"")}var BN;(function(e){e.header="header",e.undefined="undefined",e.boolean="boolean",e.number="number",e.bigint="bigint",e.string="string",e.symbol="symbol",e.function="function",e.object="object"})(BN||(BN={}));class Tde{constructor(t){this.opts=this.preprocessOpts(t)}preprocessOpts(t){const n=Object.assign({},t);n.fields&&(n.fields=this.preprocessFieldsInfo(n.fields,n.defaultValue)),n.transforms=n.transforms||[];const r=n.formatters&&n.formatters.string||pC(),i=Ede({stringFormatter:r}),o={header:r,undefined:B_,boolean:B_,number:Sde(),bigint:B_,string:r,symbol:Ode({stringFormatter:r}),function:i,object:i};return n.formatters=Object.assign(Object.assign({},o),n.formatters),n.delimiter=n.delimiter||",",n.eol=n.eol||` +`,n.header=n.header!==!1,n.includeEmptyRows=n.includeEmptyRows||!1,n.withBOM=n.withBOM||!1,n}preprocessFieldsInfo(t,n){return t.map(r=>{if(typeof r=="string")return{label:r,value:i=>FN(i,r,n)};if(typeof r=="object"){const i="default"in r?r.default:n;if(typeof r.value=="string"){const o=r.value;return{label:r.label||r.value,value:a=>FN(a,o,i)}}if(typeof r.value=="function"){const o=r.label||r.value.name||"",a={label:o,default:i},s=r.value;return{label:o,value(l){const u=s(l,a);return u===void 0?i:u}}}}throw new Error("Invalid field info option. "+JSON.stringify(r))})}getHeader(){return OS(this.opts.fields.map(t=>this.opts.formatters.header(t.label)),this.opts.delimiter)}preprocessRow(t){return this.opts.transforms.reduce((n,r)=>n.map(i=>r(i)).reduce(wF,[]),[t])}processRow(t){if(!t)return;const n=this.opts.fields.map(r=>this.processCell(t,r));if(!(!this.opts.includeEmptyRows&&n.every(r=>r==="")))return OS(n,this.opts.delimiter)}processCell(t,n){return this.processValue(n.value(t))}processValue(t){const n=this.opts.formatters[typeof t];return n(t)}}class SF extends Tde{constructor(t){super(t)}parse(t){const n=this.preprocessData(t);this.opts.fields=this.opts.fields||this.preprocessFieldsInfo(n.reduce((a,s)=>(Object.keys(s).forEach(l=>{a.includes(l)||a.push(l)}),a),[]),this.opts.defaultValue);const r=this.opts.header?this.getHeader():"",i=this.processData(n);return(this.opts.withBOM?"\uFEFF":"")+r+(r&&i?this.opts.eol:"")+i}preprocessData(t){const n=Array.isArray(t)?t:[t];if(!this.opts.fields){if(t==null||n.length===0)throw new Error('Data should not be empty or the "fields" option should be included');if(typeof n[0]!="object")throw new Error('Data items should be objects or the "fields" option should be included')}return this.opts.transforms.length===0?n:n.map(r=>this.preprocessRow(r)).reduce(wF,[])}processData(t){return OS(t.map(n=>this.processRow(n)).filter(n=>n),this.opts.eol)}}var xn;(function(e){e[e.BACKSPACE=8]="BACKSPACE",e[e.FORM_FEED=12]="FORM_FEED",e[e.NEWLINE=10]="NEWLINE",e[e.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",e[e.TAB=9]="TAB",e[e.SPACE=32]="SPACE",e[e.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",e[e.QUOTATION_MARK=34]="QUOTATION_MARK",e[e.NUMBER_SIGN=35]="NUMBER_SIGN",e[e.DOLLAR_SIGN=36]="DOLLAR_SIGN",e[e.PERCENT_SIGN=37]="PERCENT_SIGN",e[e.AMPERSAND=38]="AMPERSAND",e[e.APOSTROPHE=39]="APOSTROPHE",e[e.LEFT_PARENTHESIS=40]="LEFT_PARENTHESIS",e[e.RIGHT_PARENTHESIS=41]="RIGHT_PARENTHESIS",e[e.ASTERISK=42]="ASTERISK",e[e.PLUS_SIGN=43]="PLUS_SIGN",e[e.COMMA=44]="COMMA",e[e.HYPHEN_MINUS=45]="HYPHEN_MINUS",e[e.FULL_STOP=46]="FULL_STOP",e[e.SOLIDUS=47]="SOLIDUS",e[e.DIGIT_ZERO=48]="DIGIT_ZERO",e[e.DIGIT_ONE=49]="DIGIT_ONE",e[e.DIGIT_TWO=50]="DIGIT_TWO",e[e.DIGIT_THREE=51]="DIGIT_THREE",e[e.DIGIT_FOUR=52]="DIGIT_FOUR",e[e.DIGIT_FIVE=53]="DIGIT_FIVE",e[e.DIGIT_SIX=54]="DIGIT_SIX",e[e.DIGIT_SEVEN=55]="DIGIT_SEVEN",e[e.DIGIT_EIGHT=56]="DIGIT_EIGHT",e[e.DIGIT_NINE=57]="DIGIT_NINE",e[e.COLON=58]="COLON",e[e.SEMICOLON=59]="SEMICOLON",e[e.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",e[e.EQUALS_SIGN=61]="EQUALS_SIGN",e[e.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.COMMERCIAL_AT=64]="COMMERCIAL_AT",e[e.LATIN_CAPITAL_LETTER_A=65]="LATIN_CAPITAL_LETTER_A",e[e.LATIN_CAPITAL_LETTER_B=66]="LATIN_CAPITAL_LETTER_B",e[e.LATIN_CAPITAL_LETTER_C=67]="LATIN_CAPITAL_LETTER_C",e[e.LATIN_CAPITAL_LETTER_D=68]="LATIN_CAPITAL_LETTER_D",e[e.LATIN_CAPITAL_LETTER_E=69]="LATIN_CAPITAL_LETTER_E",e[e.LATIN_CAPITAL_LETTER_F=70]="LATIN_CAPITAL_LETTER_F",e[e.LATIN_CAPITAL_LETTER_G=71]="LATIN_CAPITAL_LETTER_G",e[e.LATIN_CAPITAL_LETTER_H=72]="LATIN_CAPITAL_LETTER_H",e[e.LATIN_CAPITAL_LETTER_I=73]="LATIN_CAPITAL_LETTER_I",e[e.LATIN_CAPITAL_LETTER_J=74]="LATIN_CAPITAL_LETTER_J",e[e.LATIN_CAPITAL_LETTER_K=75]="LATIN_CAPITAL_LETTER_K",e[e.LATIN_CAPITAL_LETTER_L=76]="LATIN_CAPITAL_LETTER_L",e[e.LATIN_CAPITAL_LETTER_M=77]="LATIN_CAPITAL_LETTER_M",e[e.LATIN_CAPITAL_LETTER_N=78]="LATIN_CAPITAL_LETTER_N",e[e.LATIN_CAPITAL_LETTER_O=79]="LATIN_CAPITAL_LETTER_O",e[e.LATIN_CAPITAL_LETTER_P=80]="LATIN_CAPITAL_LETTER_P",e[e.LATIN_CAPITAL_LETTER_Q=81]="LATIN_CAPITAL_LETTER_Q",e[e.LATIN_CAPITAL_LETTER_R=82]="LATIN_CAPITAL_LETTER_R",e[e.LATIN_CAPITAL_LETTER_S=83]="LATIN_CAPITAL_LETTER_S",e[e.LATIN_CAPITAL_LETTER_T=84]="LATIN_CAPITAL_LETTER_T",e[e.LATIN_CAPITAL_LETTER_U=85]="LATIN_CAPITAL_LETTER_U",e[e.LATIN_CAPITAL_LETTER_V=86]="LATIN_CAPITAL_LETTER_V",e[e.LATIN_CAPITAL_LETTER_W=87]="LATIN_CAPITAL_LETTER_W",e[e.LATIN_CAPITAL_LETTER_X=88]="LATIN_CAPITAL_LETTER_X",e[e.LATIN_CAPITAL_LETTER_Y=89]="LATIN_CAPITAL_LETTER_Y",e[e.LATIN_CAPITAL_LETTER_Z=90]="LATIN_CAPITAL_LETTER_Z",e[e.LEFT_SQUARE_BRACKET=91]="LEFT_SQUARE_BRACKET",e[e.REVERSE_SOLIDUS=92]="REVERSE_SOLIDUS",e[e.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",e[e.CIRCUMFLEX_ACCENT=94]="CIRCUMFLEX_ACCENT",e[e.LOW_LINE=95]="LOW_LINE",e[e.GRAVE_ACCENT=96]="GRAVE_ACCENT",e[e.LATIN_SMALL_LETTER_A=97]="LATIN_SMALL_LETTER_A",e[e.LATIN_SMALL_LETTER_B=98]="LATIN_SMALL_LETTER_B",e[e.LATIN_SMALL_LETTER_C=99]="LATIN_SMALL_LETTER_C",e[e.LATIN_SMALL_LETTER_D=100]="LATIN_SMALL_LETTER_D",e[e.LATIN_SMALL_LETTER_E=101]="LATIN_SMALL_LETTER_E",e[e.LATIN_SMALL_LETTER_F=102]="LATIN_SMALL_LETTER_F",e[e.LATIN_SMALL_LETTER_G=103]="LATIN_SMALL_LETTER_G",e[e.LATIN_SMALL_LETTER_H=104]="LATIN_SMALL_LETTER_H",e[e.LATIN_SMALL_LETTER_I=105]="LATIN_SMALL_LETTER_I",e[e.LATIN_SMALL_LETTER_J=106]="LATIN_SMALL_LETTER_J",e[e.LATIN_SMALL_LETTER_K=107]="LATIN_SMALL_LETTER_K",e[e.LATIN_SMALL_LETTER_L=108]="LATIN_SMALL_LETTER_L",e[e.LATIN_SMALL_LETTER_M=109]="LATIN_SMALL_LETTER_M",e[e.LATIN_SMALL_LETTER_N=110]="LATIN_SMALL_LETTER_N",e[e.LATIN_SMALL_LETTER_O=111]="LATIN_SMALL_LETTER_O",e[e.LATIN_SMALL_LETTER_P=112]="LATIN_SMALL_LETTER_P",e[e.LATIN_SMALL_LETTER_Q=113]="LATIN_SMALL_LETTER_Q",e[e.LATIN_SMALL_LETTER_R=114]="LATIN_SMALL_LETTER_R",e[e.LATIN_SMALL_LETTER_S=115]="LATIN_SMALL_LETTER_S",e[e.LATIN_SMALL_LETTER_T=116]="LATIN_SMALL_LETTER_T",e[e.LATIN_SMALL_LETTER_U=117]="LATIN_SMALL_LETTER_U",e[e.LATIN_SMALL_LETTER_V=118]="LATIN_SMALL_LETTER_V",e[e.LATIN_SMALL_LETTER_W=119]="LATIN_SMALL_LETTER_W",e[e.LATIN_SMALL_LETTER_X=120]="LATIN_SMALL_LETTER_X",e[e.LATIN_SMALL_LETTER_Y=121]="LATIN_SMALL_LETTER_Y",e[e.LATIN_SMALL_LETTER_Z=122]="LATIN_SMALL_LETTER_Z",e[e.LEFT_CURLY_BRACKET=123]="LEFT_CURLY_BRACKET",e[e.VERTICAL_LINE=124]="VERTICAL_LINE",e[e.RIGHT_CURLY_BRACKET=125]="RIGHT_CURLY_BRACKET",e[e.TILDE=126]="TILDE"})(xn||(xn={}));xn.QUOTATION_MARK+"",xn.QUOTATION_MARK,xn.REVERSE_SOLIDUS+"",xn.REVERSE_SOLIDUS,xn.SOLIDUS+"",xn.SOLIDUS,xn.LATIN_SMALL_LETTER_B+"",xn.BACKSPACE,xn.LATIN_SMALL_LETTER_F+"",xn.FORM_FEED,xn.LATIN_SMALL_LETTER_N+"",xn.NEWLINE,xn.LATIN_SMALL_LETTER_R+"",xn.CARRIAGE_RETURN,xn.LATIN_SMALL_LETTER_T+"",xn.TAB;var UN;(function(e){e[e.LEFT_BRACE=0]="LEFT_BRACE",e[e.RIGHT_BRACE=1]="RIGHT_BRACE",e[e.LEFT_BRACKET=2]="LEFT_BRACKET",e[e.RIGHT_BRACKET=3]="RIGHT_BRACKET",e[e.COLON=4]="COLON",e[e.COMMA=5]="COMMA",e[e.TRUE=6]="TRUE",e[e.FALSE=7]="FALSE",e[e.NULL=8]="NULL",e[e.STRING=9]="STRING",e[e.NUMBER=10]="NUMBER",e[e.SEPARATOR=11]="SEPARATOR"})(UN||(UN={}));var zN;(function(e){e[e.START=0]="START",e[e.ENDED=1]="ENDED",e[e.ERROR=2]="ERROR",e[e.TRUE1=3]="TRUE1",e[e.TRUE2=4]="TRUE2",e[e.TRUE3=5]="TRUE3",e[e.FALSE1=6]="FALSE1",e[e.FALSE2=7]="FALSE2",e[e.FALSE3=8]="FALSE3",e[e.FALSE4=9]="FALSE4",e[e.NULL1=10]="NULL1",e[e.NULL2=11]="NULL2",e[e.NULL3=12]="NULL3",e[e.STRING_DEFAULT=13]="STRING_DEFAULT",e[e.STRING_AFTER_BACKSLASH=14]="STRING_AFTER_BACKSLASH",e[e.STRING_UNICODE_DIGIT_1=15]="STRING_UNICODE_DIGIT_1",e[e.STRING_UNICODE_DIGIT_2=16]="STRING_UNICODE_DIGIT_2",e[e.STRING_UNICODE_DIGIT_3=17]="STRING_UNICODE_DIGIT_3",e[e.STRING_UNICODE_DIGIT_4=18]="STRING_UNICODE_DIGIT_4",e[e.STRING_INCOMPLETE_CHAR=19]="STRING_INCOMPLETE_CHAR",e[e.NUMBER_AFTER_INITIAL_MINUS=20]="NUMBER_AFTER_INITIAL_MINUS",e[e.NUMBER_AFTER_INITIAL_ZERO=21]="NUMBER_AFTER_INITIAL_ZERO",e[e.NUMBER_AFTER_INITIAL_NON_ZERO=22]="NUMBER_AFTER_INITIAL_NON_ZERO",e[e.NUMBER_AFTER_FULL_STOP=23]="NUMBER_AFTER_FULL_STOP",e[e.NUMBER_AFTER_DECIMAL=24]="NUMBER_AFTER_DECIMAL",e[e.NUMBER_AFTER_E=25]="NUMBER_AFTER_E",e[e.NUMBER_AFTER_E_AND_SIGN=26]="NUMBER_AFTER_E_AND_SIGN",e[e.NUMBER_AFTER_E_AND_DIGIT=27]="NUMBER_AFTER_E_AND_DIGIT",e[e.SEPARATOR=28]="SEPARATOR",e[e.BOM_OR_START=29]="BOM_OR_START",e[e.BOM=30]="BOM"})(zN||(zN={}));var VN;(function(e){e[e.OBJECT=0]="OBJECT",e[e.ARRAY=1]="ARRAY"})(VN||(VN={}));var WN;(function(e){e[e.VALUE=0]="VALUE",e[e.KEY=1]="KEY",e[e.COLON=2]="COLON",e[e.COMMA=3]="COMMA",e[e.ENDED=4]="ENDED",e[e.ERROR=5]="ERROR",e[e.SEPARATOR=6]="SEPARATOR"})(WN||(WN={}));var jde=Array.isArray,Tr=jde,Ade=typeof Zs=="object"&&Zs&&Zs.Object===Object&&Zs,OF=Ade,kde=OF,Nde=typeof self=="object"&&self&&self.Object===Object&&self,Mde=kde||Nde||Function("return this")(),Eo=Mde,Rde=Eo,Lde=Rde.Symbol,Hp=Lde,HN=Hp,EF=Object.prototype,$de=EF.hasOwnProperty,Ide=EF.toString,Qf=HN?HN.toStringTag:void 0;function Dde(e){var t=$de.call(e,Qf),n=e[Qf];try{e[Qf]=void 0;var r=!0}catch{}var i=Ide.call(e);return r&&(t?e[Qf]=n:delete e[Qf]),i}var Fde=Dde,Bde=Object.prototype,Ude=Bde.toString;function zde(e){return Ude.call(e)}var Vde=zde,GN=Hp,Wde=Fde,Hde=Vde,Gde="[object Null]",qde="[object Undefined]",qN=GN?GN.toStringTag:void 0;function Kde(e){return e==null?e===void 0?qde:Gde:qN&&qN in Object(e)?Wde(e):Hde(e)}var ua=Kde;function Yde(e){return e!=null&&typeof e=="object"}var ca=Yde,Zde=ua,Xde=ca,Qde="[object Symbol]";function Jde(e){return typeof e=="symbol"||Xde(e)&&Zde(e)==Qde}var nf=Jde,ehe=Tr,the=nf,nhe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rhe=/^\w*$/;function ihe(e,t){if(ehe(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||the(e)?!0:rhe.test(e)||!nhe.test(e)||t!=null&&e in Object(t)}var mC=ihe;function ohe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var gs=ohe;const rf=at(gs);var ahe=ua,she=gs,lhe="[object AsyncFunction]",uhe="[object Function]",che="[object GeneratorFunction]",fhe="[object Proxy]";function dhe(e){if(!she(e))return!1;var t=ahe(e);return t==uhe||t==che||t==lhe||t==fhe}var vC=dhe;const We=at(vC);var hhe=Eo,phe=hhe["__core-js_shared__"],mhe=phe,U_=mhe,KN=function(){var e=/[^.]+$/.exec(U_&&U_.keys&&U_.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function vhe(e){return!!KN&&KN in e}var ghe=vhe,yhe=Function.prototype,bhe=yhe.toString;function _he(e){if(e!=null){try{return bhe.call(e)}catch{}try{return e+""}catch{}}return""}var PF=_he,xhe=vC,whe=ghe,She=gs,Ohe=PF,Ehe=/[\\^$.*+?()[\]{}|]/g,Phe=/^\[object .+?Constructor\]$/,Che=Function.prototype,The=Object.prototype,jhe=Che.toString,Ahe=The.hasOwnProperty,khe=RegExp("^"+jhe.call(Ahe).replace(Ehe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Nhe(e){if(!She(e)||whe(e))return!1;var t=xhe(e)?khe:Phe;return t.test(Ohe(e))}var Mhe=Nhe;function Rhe(e,t){return e==null?void 0:e[t]}var Lhe=Rhe,$he=Mhe,Ihe=Lhe;function Dhe(e,t){var n=Ihe(e,t);return $he(n)?n:void 0}var Dl=Dhe,Fhe=Dl,Bhe=Fhe(Object,"create"),mb=Bhe,YN=mb;function Uhe(){this.__data__=YN?YN(null):{},this.size=0}var zhe=Uhe;function Vhe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Whe=Vhe,Hhe=mb,Ghe="__lodash_hash_undefined__",qhe=Object.prototype,Khe=qhe.hasOwnProperty;function Yhe(e){var t=this.__data__;if(Hhe){var n=t[e];return n===Ghe?void 0:n}return Khe.call(t,e)?t[e]:void 0}var Zhe=Yhe,Xhe=mb,Qhe=Object.prototype,Jhe=Qhe.hasOwnProperty;function epe(e){var t=this.__data__;return Xhe?t[e]!==void 0:Jhe.call(t,e)}var tpe=epe,npe=mb,rpe="__lodash_hash_undefined__";function ipe(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=npe&&t===void 0?rpe:t,this}var ope=ipe,ape=zhe,spe=Whe,lpe=Zhe,upe=tpe,cpe=ope;function of(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1}var Cpe=Ppe,Tpe=vb;function jpe(e,t){var n=this.__data__,r=Tpe(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var Ape=jpe,kpe=hpe,Npe=xpe,Mpe=Ope,Rpe=Cpe,Lpe=Ape;function af(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0?1:-1},rl=function(t){return Gp(t)&&t.indexOf("%")===t.length-1},Ee=function(t){return ove(t)&&!lf(t)},pn=function(t){return Ee(t)||Gp(t)},uve=0,ys=function(t){var n=++uve;return"".concat(t||"").concat(n)},or=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Ee(t)&&!Gp(t))return r;var o;if(rl(t)){var a=t.indexOf("%");o=n*parseFloat(t.slice(0,a))/100}else o=+t;return lf(o)&&(o=r),i&&o>n&&(o=n),o},ja=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},cve=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function gve(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function CS(e){"@babel/helpers - typeof";return CS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},CS(e)}var nM={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},Uo=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},rM=null,V_=null,CC=function e(t){if(t===rM&&Array.isArray(V_))return V_;var n=[];return R.Children.forEach(t,function(r){ze(r)||(ES.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),V_=n,rM=t,n};function ur(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(i){return Uo(i)}):r=[Uo(t)],CC(e).forEach(function(i){var o=Dr(i,"type.displayName")||Dr(i,"type.name");r.indexOf(o)!==-1&&n.push(i)}),n}function Mr(e,t){var n=ur(e,t);return n&&n[0]}var iM=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,i=n.height;return!(!Ee(r)||r<=0||!Ee(i)||i<=0)},yve=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],bve=function(t){return t&&t.type&&Gp(t.type)&&yve.indexOf(t.type)>=0},$F=function(t){return t&&CS(t)==="object"&&"cx"in t&&"cy"in t&&"r"in t},_ve=function(t,n,r,i){var o,a=(o=z_==null?void 0:z_[i])!==null&&o!==void 0?o:[];return!We(t)&&(i&&a.includes(n)||hve.includes(n))||r&&PC.includes(n)},De=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var i=t;if(R.isValidElement(t)&&(i=t.props),!rf(i))return null;var o={};return Object.keys(i).forEach(function(a){var s;_ve((s=i)===null||s===void 0?void 0:s[a],a,n,r)&&(o[a]=i[a])}),o},TS=function e(t,n){if(t===n)return!0;var r=R.Children.count(t);if(r!==R.Children.count(n))return!1;if(r===0)return!0;if(r===1)return oM(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Eve(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function AS(e){var t=e.children,n=e.width,r=e.height,i=e.viewBox,o=e.className,a=e.style,s=e.title,l=e.desc,u=Ove(e,Sve),f=i||{width:n,height:r,x:0,y:0},d=Pe("recharts-surface",o);return V.createElement("svg",jS({},De(u,!0,"svg"),{className:d,width:n,height:r,style:a,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height)}),V.createElement("title",null,s),V.createElement("desc",null,l),t)}var Pve=["children","className"];function kS(){return kS=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Tve(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var Qe=V.forwardRef(function(e,t){var n=e.children,r=e.className,i=Cve(e,Pve),o=Pe("recharts-layer",r);return V.createElement("g",kS({className:o},De(i,!0),{ref:t}),n)}),Fi=function(t,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;oi?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:kve(e,t,n)}var Mve=Nve,Rve="\\ud800-\\udfff",Lve="\\u0300-\\u036f",$ve="\\ufe20-\\ufe2f",Ive="\\u20d0-\\u20ff",Dve=Lve+$ve+Ive,Fve="\\ufe0e\\ufe0f",Bve="\\u200d",Uve=RegExp("["+Bve+Rve+Dve+Fve+"]");function zve(e){return Uve.test(e)}var IF=zve;function Vve(e){return e.split("")}var Wve=Vve,DF="\\ud800-\\udfff",Hve="\\u0300-\\u036f",Gve="\\ufe20-\\ufe2f",qve="\\u20d0-\\u20ff",Kve=Hve+Gve+qve,Yve="\\ufe0e\\ufe0f",Zve="["+DF+"]",NS="["+Kve+"]",MS="\\ud83c[\\udffb-\\udfff]",Xve="(?:"+NS+"|"+MS+")",FF="[^"+DF+"]",BF="(?:\\ud83c[\\udde6-\\uddff]){2}",UF="[\\ud800-\\udbff][\\udc00-\\udfff]",Qve="\\u200d",zF=Xve+"?",VF="["+Yve+"]?",Jve="(?:"+Qve+"(?:"+[FF,BF,UF].join("|")+")"+VF+zF+")*",ege=VF+zF+Jve,tge="(?:"+[FF+NS+"?",NS,BF,UF,Zve].join("|")+")",nge=RegExp(MS+"(?="+MS+")|"+tge+ege,"g");function rge(e){return e.match(nge)||[]}var ige=rge,oge=Wve,age=IF,sge=ige;function lge(e){return age(e)?sge(e):oge(e)}var uge=lge,cge=Mve,fge=IF,dge=uge,hge=AF;function pge(e){return function(t){t=hge(t);var n=fge(t)?dge(t):void 0,r=n?n[0]:t.charAt(0),i=n?cge(n,1).join(""):t.slice(1);return r[e]()+i}}var mge=pge,vge=mge,gge=vge("toUpperCase"),yge=gge;const Ab=at(yge);function wt(e){return function(){return e}}const WF=Math.cos,Py=Math.sin,Hi=Math.sqrt,Cy=Math.PI,kb=2*Cy,RS=Math.PI,LS=2*RS,Ws=1e-6,bge=LS-Ws;function HF(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return HF;const n=10**t;return function(r){this._+=r[0];for(let i=1,o=r.length;iWs)if(!(Math.abs(d*l-u*f)>Ws)||!o)this._append`L${this._x1=t},${this._y1=n}`;else{let v=r-a,g=i-s,y=l*l+u*u,x=v*v+g*g,_=Math.sqrt(y),b=Math.sqrt(h),w=o*Math.tan((RS-Math.acos((y+h-x)/(2*_*b)))/2),O=w/b,E=w/_;Math.abs(O-1)>Ws&&this._append`L${t+O*f},${n+O*d}`,this._append`A${o},${o},0,0,${+(d*v>f*g)},${this._x1=t+E*l},${this._y1=n+E*u}`}}arc(t,n,r,i,o,a){if(t=+t,n=+n,r=+r,a=!!a,r<0)throw new Error(`negative radius: ${r}`);let s=r*Math.cos(i),l=r*Math.sin(i),u=t+s,f=n+l,d=1^a,h=a?i-o:o-i;this._x1===null?this._append`M${u},${f}`:(Math.abs(this._x1-u)>Ws||Math.abs(this._y1-f)>Ws)&&this._append`L${u},${f}`,r&&(h<0&&(h=h%LS+LS),h>bge?this._append`A${r},${r},0,1,${d},${t-s},${n-l}A${r},${r},0,1,${d},${this._x1=u},${this._y1=f}`:h>Ws&&this._append`A${r},${r},0,${+(h>=RS)},${d},${this._x1=t+r*Math.cos(o)},${this._y1=n+r*Math.sin(o)}`)}rect(t,n,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function TC(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new xge(t)}function jC(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function GF(e){this._context=e}GF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Nb(e){return new GF(e)}function qF(e){return e[0]}function KF(e){return e[1]}function YF(e,t){var n=wt(!0),r=null,i=Nb,o=null,a=TC(s);e=typeof e=="function"?e:e===void 0?qF:wt(e),t=typeof t=="function"?t:t===void 0?KF:wt(t);function s(l){var u,f=(l=jC(l)).length,d,h=!1,v;for(r==null&&(o=i(v=a())),u=0;u<=f;++u)!(u=v;--g)s.point(w[g],O[g]);s.lineEnd(),s.areaEnd()}_&&(w[h]=+e(x,h,d),O[h]=+t(x,h,d),s.point(r?+r(x,h,d):w[h],n?+n(x,h,d):O[h]))}if(b)return s=null,b+""||null}function f(){return YF().defined(i).curve(a).context(o)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:wt(+d),r=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:wt(+d),u):e},u.x1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:wt(+d),u):r},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:wt(+d),n=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:wt(+d),u):t},u.y1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:wt(+d),u):n},u.lineX0=u.lineY0=function(){return f().x(e).y(t)},u.lineY1=function(){return f().x(e).y(n)},u.lineX1=function(){return f().x(r).y(t)},u.defined=function(d){return arguments.length?(i=typeof d=="function"?d:wt(!!d),u):i},u.curve=function(d){return arguments.length?(a=d,o!=null&&(s=a(o)),u):a},u.context=function(d){return arguments.length?(d==null?o=s=null:s=a(o=d),u):o},u}class ZF{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function wge(e){return new ZF(e,!0)}function Sge(e){return new ZF(e,!1)}const AC={draw(e,t){const n=Hi(t/Cy);e.moveTo(n,0),e.arc(0,0,n,0,kb)}},Oge={draw(e,t){const n=Hi(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},XF=Hi(1/3),Ege=XF*2,Pge={draw(e,t){const n=Hi(t/Ege),r=n*XF;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},Cge={draw(e,t){const n=Hi(t),r=-n/2;e.rect(r,r,n,n)}},Tge=.8908130915292852,QF=Py(Cy/10)/Py(7*Cy/10),jge=Py(kb/10)*QF,Age=-WF(kb/10)*QF,kge={draw(e,t){const n=Hi(t*Tge),r=jge*n,i=Age*n;e.moveTo(0,-n),e.lineTo(r,i);for(let o=1;o<5;++o){const a=kb*o/5,s=WF(a),l=Py(a);e.lineTo(l*n,-s*n),e.lineTo(s*r-l*i,l*r+s*i)}e.closePath()}},W_=Hi(3),Nge={draw(e,t){const n=-Hi(t/(W_*3));e.moveTo(0,n*2),e.lineTo(-W_*n,-n),e.lineTo(W_*n,-n),e.closePath()}},Xr=-.5,Qr=Hi(3)/2,$S=1/Hi(12),Mge=($S/2+1)*3,Rge={draw(e,t){const n=Hi(t/Mge),r=n/2,i=n*$S,o=r,a=n*$S+n,s=-o,l=a;e.moveTo(r,i),e.lineTo(o,a),e.lineTo(s,l),e.lineTo(Xr*r-Qr*i,Qr*r+Xr*i),e.lineTo(Xr*o-Qr*a,Qr*o+Xr*a),e.lineTo(Xr*s-Qr*l,Qr*s+Xr*l),e.lineTo(Xr*r+Qr*i,Xr*i-Qr*r),e.lineTo(Xr*o+Qr*a,Xr*a-Qr*o),e.lineTo(Xr*s+Qr*l,Xr*l-Qr*s),e.closePath()}};function Lge(e,t){let n=null,r=TC(i);e=typeof e=="function"?e:wt(e||AC),t=typeof t=="function"?t:wt(t===void 0?64:+t);function i(){let o;if(n||(n=o=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),o)return n=null,o+""||null}return i.type=function(o){return arguments.length?(e=typeof o=="function"?o:wt(o),i):e},i.size=function(o){return arguments.length?(t=typeof o=="function"?o:wt(+o),i):t},i.context=function(o){return arguments.length?(n=o??null,i):n},i}function Ty(){}function jy(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function JF(e){this._context=e}JF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:jy(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:jy(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function $ge(e){return new JF(e)}function e7(e){this._context=e}e7.prototype={areaStart:Ty,areaEnd:Ty,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:jy(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Ige(e){return new e7(e)}function t7(e){this._context=e}t7.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:jy(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Dge(e){return new t7(e)}function n7(e){this._context=e}n7.prototype={areaStart:Ty,areaEnd:Ty,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function Fge(e){return new n7(e)}function sM(e){return e<0?-1:1}function lM(e,t,n){var r=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(r||i<0&&-0),a=(n-e._y1)/(i||r<0&&-0),s=(o*i+a*r)/(r+i);return(sM(o)+sM(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function uM(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function H_(e,t,n){var r=e._x0,i=e._y0,o=e._x1,a=e._y1,s=(o-r)/3;e._context.bezierCurveTo(r+s,i+s*t,o-s,a-s*n,o,a)}function Ay(e){this._context=e}Ay.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:H_(this,this._t0,uM(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,H_(this,uM(this,n=lM(this,e,t)),n);break;default:H_(this,this._t0,n=lM(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function r7(e){this._context=new i7(e)}(r7.prototype=Object.create(Ay.prototype)).point=function(e,t){Ay.prototype.point.call(this,t,e)};function i7(e){this._context=e}i7.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,o){this._context.bezierCurveTo(t,e,r,n,o,i)}};function Bge(e){return new Ay(e)}function Uge(e){return new r7(e)}function o7(e){this._context=e}o7.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=cM(e),i=cM(t),o=0,a=1;a=0;--t)i[t]=(a[t]-i[t+1])/o[t];for(o[n-1]=(e[n]+i[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function Vge(e){return new Mb(e,.5)}function Wge(e){return new Mb(e,0)}function Hge(e){return new Mb(e,1)}function wc(e,t){if((a=e.length)>1)for(var n=1,r,i,o=e[t[0]],a,s=o.length;n=0;)n[t]=t;return n}function Gge(e,t){return e[t]}function qge(e){const t=[];return t.key=e,t}function Kge(){var e=wt([]),t=IS,n=wc,r=Gge;function i(o){var a=Array.from(e.apply(this,arguments),qge),s,l=a.length,u=-1,f;for(const d of o)for(s=0,++u;s0){for(var n,r,i=0,o=e[0].length,a;i0){for(var n=0,r=e[t[0]],i,o=r.length;n0)||!((o=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,o,a;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function rye(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var a7={symbolCircle:AC,symbolCross:Oge,symbolDiamond:Pge,symbolSquare:Cge,symbolStar:kge,symbolTriangle:Nge,symbolWye:Rge},iye=Math.PI/180,oye=function(t){var n="symbol".concat(Ab(t));return a7[n]||AC},aye=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var i=18*iye;return 1.25*t*t*(Math.tan(i)-Math.tan(i*2)*Math.pow(Math.tan(i),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},sye=function(t,n){a7["symbol".concat(Ab(t))]=n},Rb=function(t){var n=t.type,r=n===void 0?"circle":n,i=t.size,o=i===void 0?64:i,a=t.sizeType,s=a===void 0?"area":a,l=nye(t,Qge),u=dM(dM({},l),{},{type:r,size:o,sizeType:s}),f=function(){var x=oye(r),_=Lge().type(x).size(aye(o,s,r));return _()},d=u.className,h=u.cx,v=u.cy,g=De(u,!0);return h===+h&&v===+v&&o===+o?V.createElement("path",DS({},g,{className:Pe("recharts-symbols",d),transform:"translate(".concat(h,", ").concat(v,")"),d:f()})):null};Rb.registerSymbol=sye;function Sc(e){"@babel/helpers - typeof";return Sc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sc(e)}function FS(){return FS=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var b=v.inactive?u:v.color;return V.createElement("li",FS({className:x,style:d,key:"legend-item-".concat(g)},os(r.props,v,g)),V.createElement(AS,{width:a,height:a,viewBox:f,style:h},r.renderIcon(v)),V.createElement("span",{className:"recharts-legend-item-text",style:{color:b}},y?y(_,v,g):_))})}},{key:"render",value:function(){var r=this.props,i=r.payload,o=r.layout,a=r.align;if(!i||!i.length)return null;var s={padding:0,margin:0,textAlign:o==="horizontal"?a:"left"};return V.createElement("ul",{className:"recharts-default-legend",style:s},this.renderItems())}}]),t}(R.PureComponent);Ih(kC,"displayName","Legend");Ih(kC,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var vye=gb;function gye(){this.__data__=new vye,this.size=0}var yye=gye;function bye(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var _ye=bye;function xye(e){return this.__data__.get(e)}var wye=xye;function Sye(e){return this.__data__.has(e)}var Oye=Sye,Eye=gb,Pye=yC,Cye=bC,Tye=200;function jye(e,t){var n=this.__data__;if(n instanceof Eye){var r=n.__data__;if(!Pye||r.lengths))return!1;var u=o.get(e),f=o.get(t);if(u&&f)return u==t&&f==e;var d=-1,h=!0,v=n&Xye?new qye:void 0;for(o.set(e,t),o.set(t,e);++d-1&&e%1==0&&e-1&&e%1==0&&e<=tbe}var LC=nbe,rbe=ua,ibe=LC,obe=ca,abe="[object Arguments]",sbe="[object Array]",lbe="[object Boolean]",ube="[object Date]",cbe="[object Error]",fbe="[object Function]",dbe="[object Map]",hbe="[object Number]",pbe="[object Object]",mbe="[object RegExp]",vbe="[object Set]",gbe="[object String]",ybe="[object WeakMap]",bbe="[object ArrayBuffer]",_be="[object DataView]",xbe="[object Float32Array]",wbe="[object Float64Array]",Sbe="[object Int8Array]",Obe="[object Int16Array]",Ebe="[object Int32Array]",Pbe="[object Uint8Array]",Cbe="[object Uint8ClampedArray]",Tbe="[object Uint16Array]",jbe="[object Uint32Array]",Tt={};Tt[xbe]=Tt[wbe]=Tt[Sbe]=Tt[Obe]=Tt[Ebe]=Tt[Pbe]=Tt[Cbe]=Tt[Tbe]=Tt[jbe]=!0;Tt[abe]=Tt[sbe]=Tt[bbe]=Tt[lbe]=Tt[_be]=Tt[ube]=Tt[cbe]=Tt[fbe]=Tt[dbe]=Tt[hbe]=Tt[pbe]=Tt[mbe]=Tt[vbe]=Tt[gbe]=Tt[ybe]=!1;function Abe(e){return obe(e)&&ibe(e.length)&&!!Tt[rbe(e)]}var kbe=Abe;function Nbe(e){return function(t){return e(t)}}var g7=Nbe,Ry={exports:{}};Ry.exports;(function(e,t){var n=OF,r=t&&!t.nodeType&&t,i=r&&!0&&e&&!e.nodeType&&e,o=i&&i.exports===r,a=o&&n.process,s=function(){try{var l=i&&i.require&&i.require("util").types;return l||a&&a.binding&&a.binding("util")}catch{}}();e.exports=s})(Ry,Ry.exports);var Mbe=Ry.exports,Rbe=kbe,Lbe=g7,_M=Mbe,xM=_M&&_M.isTypedArray,$be=xM?Lbe(xM):Rbe,y7=$be,Ibe=B0e,Dbe=MC,Fbe=Tr,Bbe=v7,Ube=RC,zbe=y7,Vbe=Object.prototype,Wbe=Vbe.hasOwnProperty;function Hbe(e,t){var n=Fbe(e),r=!n&&Dbe(e),i=!n&&!r&&Bbe(e),o=!n&&!r&&!i&&zbe(e),a=n||r||i||o,s=a?Ibe(e.length,String):[],l=s.length;for(var u in e)(t||Wbe.call(e,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||o&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Ube(u,l)))&&s.push(u);return s}var Gbe=Hbe,qbe=Object.prototype;function Kbe(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||qbe;return e===n}var Ybe=Kbe;function Zbe(e,t){return function(n){return e(t(n))}}var b7=Zbe,Xbe=b7,Qbe=Xbe(Object.keys,Object),Jbe=Qbe,e1e=Ybe,t1e=Jbe,n1e=Object.prototype,r1e=n1e.hasOwnProperty;function i1e(e){if(!e1e(e))return t1e(e);var t=[];for(var n in Object(e))r1e.call(e,n)&&n!="constructor"&&t.push(n);return t}var o1e=i1e,a1e=vC,s1e=LC;function l1e(e){return e!=null&&s1e(e.length)&&!a1e(e)}var qp=l1e,u1e=Gbe,c1e=o1e,f1e=qp;function d1e(e){return f1e(e)?u1e(e):c1e(e)}var Lb=d1e,h1e=T0e,p1e=D0e,m1e=Lb;function v1e(e){return h1e(e,m1e,p1e)}var g1e=v1e,wM=g1e,y1e=1,b1e=Object.prototype,_1e=b1e.hasOwnProperty;function x1e(e,t,n,r,i,o){var a=n&y1e,s=wM(e),l=s.length,u=wM(t),f=u.length;if(l!=f&&!a)return!1;for(var d=l;d--;){var h=s[d];if(!(a?h in t:_1e.call(t,h)))return!1}var v=o.get(e),g=o.get(t);if(v&&g)return v==t&&g==e;var y=!0;o.set(e,t),o.set(t,e);for(var x=a;++d-1}var bxe=yxe;function _xe(e,t,n){for(var r=-1,i=e==null?0:e.length;++r=Lxe){var u=t?null:Mxe(e);if(u)return Rxe(u);a=!1,i=Nxe,l=new jxe}else l=t?[]:s;e:for(;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Zxe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function Xxe(e){return e.value}function Qxe(e,t){if(V.isValidElement(e))return V.cloneElement(e,t);if(typeof e=="function")return V.createElement(e,t);t.ref;var n=Yxe(t,zxe);return V.createElement(kC,n)}var DM=1,Dh=function(e){qxe(t,e);function t(){var n;Vxe(this,t);for(var r=arguments.length,i=new Array(r),o=0;oDM||Math.abs(i.height-this.lastBoundingBox.height)>DM)&&(this.lastBoundingBox.width=i.width,this.lastBoundingBox.height=i.height,r&&r(i)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,r&&r(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?As({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(r){var i=this.props,o=i.layout,a=i.align,s=i.verticalAlign,l=i.margin,u=i.chartWidth,f=i.chartHeight,d,h;if(!r||(r.left===void 0||r.left===null)&&(r.right===void 0||r.right===null))if(a==="center"&&o==="vertical"){var v=this.getBBoxSnapshot();d={left:((u||0)-v.width)/2}}else d=a==="right"?{right:l&&l.right||0}:{left:l&&l.left||0};if(!r||(r.top===void 0||r.top===null)&&(r.bottom===void 0||r.bottom===null))if(s==="middle"){var g=this.getBBoxSnapshot();h={top:((f||0)-g.height)/2}}else h=s==="bottom"?{bottom:l&&l.bottom||0}:{top:l&&l.top||0};return As(As({},d),h)}},{key:"render",value:function(){var r=this,i=this.props,o=i.content,a=i.width,s=i.height,l=i.wrapperStyle,u=i.payloadUniqBy,f=i.payload,d=As(As({position:"absolute",width:a||"auto",height:s||"auto"},this.getDefaultPosition(l)),l);return V.createElement("div",{className:"recharts-legend-wrapper",style:d,ref:function(v){r.wrapperNode=v}},Qxe(o,As(As({},this.props),{},{payload:P7(f,u,Xxe)})))}}],[{key:"getWithHeight",value:function(r,i){var o=r.props.layout;return o==="vertical"&&Ee(r.props.height)?{height:r.props.height}:o==="horizontal"?{width:r.props.width||i}:null}}]),t}(R.PureComponent);$b(Dh,"displayName","Legend");$b(Dh,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var FM=Hp,Jxe=MC,ewe=Tr,BM=FM?FM.isConcatSpreadable:void 0;function twe(e){return ewe(e)||Jxe(e)||!!(BM&&e&&e[BM])}var nwe=twe,rwe=p7,iwe=nwe;function A7(e,t,n,r,i){var o=-1,a=e.length;for(n||(n=iwe),i||(i=[]);++o0&&n(s)?t>1?A7(s,t-1,n,r,i):rwe(i,s):r||(i[i.length]=s)}return i}var k7=A7;function owe(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var l=a[e?s:++i];if(n(o[l],l,o)===!1)break}return t}}var awe=owe,swe=awe,lwe=swe(),uwe=lwe,cwe=uwe,fwe=Lb;function dwe(e,t){return e&&cwe(e,t,fwe)}var N7=dwe,hwe=qp;function pwe(e,t){return function(n,r){if(n==null)return n;if(!hwe(n))return e(n,r);for(var i=n.length,o=t?i:-1,a=Object(n);(t?o--:++ot||o&&a&&l&&!s&&!u||r&&a&&l||!n&&l||!i)return 1;if(!r&&!o&&!u&&e=s)return l;var u=n[r];return l*(u=="desc"?-1:1)}}return e.index-t.index}var Twe=Cwe,Y_=xC,jwe=wC,Awe=Po,kwe=M7,Nwe=Swe,Mwe=g7,Rwe=Twe,Lwe=ff,$we=Tr;function Iwe(e,t,n){t.length?t=Y_(t,function(o){return $we(o)?function(a){return jwe(a,o.length===1?o[0]:o)}:o}):t=[Lwe];var r=-1;t=Y_(t,Mwe(Awe));var i=kwe(e,function(o,a,s){var l=Y_(t,function(u){return u(o)});return{criteria:l,index:++r,value:o}});return Nwe(i,function(o,a){return Rwe(o,a,n)})}var Dwe=Iwe;function Fwe(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var Bwe=Fwe,Uwe=Bwe,zM=Math.max;function zwe(e,t,n){return t=zM(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,o=zM(r.length-t,0),a=Array(o);++i0){if(++t>=Qwe)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var n2e=t2e,r2e=Xwe,i2e=n2e,o2e=i2e(r2e),a2e=o2e,s2e=ff,l2e=Vwe,u2e=a2e;function c2e(e,t){return u2e(l2e(e,t,s2e),e+"")}var f2e=c2e,d2e=gC,h2e=qp,p2e=RC,m2e=gs;function v2e(e,t,n){if(!m2e(n))return!1;var r=typeof t;return(r=="number"?h2e(n)&&p2e(t,n.length):r=="string"&&t in n)?d2e(n[t],e):!1}var Ib=v2e,g2e=k7,y2e=Dwe,b2e=f2e,WM=Ib,_2e=b2e(function(e,t){if(e==null)return[];var n=t.length;return n>1&&WM(e,t[0],t[1])?t=[]:n>2&&WM(t[0],t[1],t[2])&&(t=[t[0]]),y2e(e,g2e(t,1),[])}),x2e=_2e;const DC=at(x2e);function Fh(e){"@babel/helpers - typeof";return Fh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fh(e)}function qS(){return qS=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t.x),"".concat(Jf,"-left"),Ee(n)&&t&&Ee(t.x)&&n=t.y),"".concat(Jf,"-top"),Ee(r)&&t&&Ee(t.y)&&ry?Math.max(f,l[r]):Math.max(d,l[r])}function $2e(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function I2e(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,i=e.position,o=e.reverseDirection,a=e.tooltipBox,s=e.useTranslate3d,l=e.viewBox,u,f,d;return a.height>0&&a.width>0&&n?(f=qM({allowEscapeViewBox:t,coordinate:n,key:"x",offsetTopLeft:r,position:i,reverseDirection:o,tooltipDimension:a.width,viewBox:l,viewBoxDimension:l.width}),d=qM({allowEscapeViewBox:t,coordinate:n,key:"y",offsetTopLeft:r,position:i,reverseDirection:o,tooltipDimension:a.height,viewBox:l,viewBoxDimension:l.height}),u=$2e({translateX:f,translateY:d,useTranslate3d:s})):u=R2e,{cssProperties:u,cssClasses:L2e({translateX:f,translateY:d,coordinate:n})}}function Ec(e){"@babel/helpers - typeof";return Ec=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ec(e)}function KM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function YM(e){for(var t=1;tXM||Math.abs(r.height-this.lastBoundingBox.height)>XM)&&(this.lastBoundingBox.width=r.width,this.lastBoundingBox.height=r.height)}else(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1)}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var r,i;this.props.active&&this.updateBBox(),this.state.dismissed&&(((r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==this.state.dismissedAtCoordinate.x||((i=this.props.coordinate)===null||i===void 0?void 0:i.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var r=this,i=this.props,o=i.active,a=i.allowEscapeViewBox,s=i.animationDuration,l=i.animationEasing,u=i.children,f=i.coordinate,d=i.hasPayload,h=i.isAnimationActive,v=i.offset,g=i.position,y=i.reverseDirection,x=i.useTranslate3d,_=i.viewBox,b=i.wrapperStyle,w=I2e({allowEscapeViewBox:a,coordinate:f,offsetTopLeft:v,position:g,reverseDirection:y,tooltipBox:{height:this.lastBoundingBox.height,width:this.lastBoundingBox.width},useTranslate3d:x,viewBox:_}),O=w.cssClasses,E=w.cssProperties,P=YM(YM({transition:h&&o?"transform ".concat(s,"ms ").concat(l):void 0},E),{},{pointerEvents:"none",visibility:!this.state.dismissed&&o&&d?"visible":"hidden",position:"absolute",top:0,left:0},b);return V.createElement("div",{tabIndex:-1,className:O,style:P,ref:function(A){r.wrapperNode=A}},u)}}]),t}(R.PureComponent),H2e=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},di={isSsr:H2e(),get:function(t){return di[t]},set:function(t,n){if(typeof t=="string")di[t]=n;else{var r=Object.keys(t);r&&r.length&&r.forEach(function(i){di[i]=t[i]})}}};function Pc(e){"@babel/helpers - typeof";return Pc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pc(e)}function QM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function JM(e){for(var t=1;t0;return V.createElement(W2e,{allowEscapeViewBox:a,animationDuration:s,animationEasing:l,isAnimationActive:h,active:o,coordinate:f,hasPayload:P,offset:v,position:x,reverseDirection:_,useTranslate3d:b,viewBox:w,wrapperStyle:O},eSe(u,JM(JM({},this.props),{},{payload:E})))}}]),t}(R.PureComponent);FC(ni,"displayName","Tooltip");FC(ni,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!di.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var tSe=Eo,nSe=function(){return tSe.Date.now()},rSe=nSe,iSe=/\s/;function oSe(e){for(var t=e.length;t--&&iSe.test(e.charAt(t)););return t}var aSe=oSe,sSe=aSe,lSe=/^\s+/;function uSe(e){return e&&e.slice(0,sSe(e)+1).replace(lSe,"")}var cSe=uSe,fSe=cSe,tR=gs,dSe=nf,nR=NaN,hSe=/^[-+]0x[0-9a-f]+$/i,pSe=/^0b[01]+$/i,mSe=/^0o[0-7]+$/i,vSe=parseInt;function gSe(e){if(typeof e=="number")return e;if(dSe(e))return nR;if(tR(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=tR(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=fSe(e);var n=pSe.test(e);return n||mSe.test(e)?vSe(e.slice(2),n?2:8):hSe.test(e)?nR:+e}var F7=gSe,ySe=gs,X_=rSe,rR=F7,bSe="Expected a function",_Se=Math.max,xSe=Math.min;function wSe(e,t,n){var r,i,o,a,s,l,u=0,f=!1,d=!1,h=!0;if(typeof e!="function")throw new TypeError(bSe);t=rR(t)||0,ySe(n)&&(f=!!n.leading,d="maxWait"in n,o=d?_Se(rR(n.maxWait)||0,t):o,h="trailing"in n?!!n.trailing:h);function v(P){var T=r,A=i;return r=i=void 0,u=P,a=e.apply(A,T),a}function g(P){return u=P,s=setTimeout(_,t),f?v(P):a}function y(P){var T=P-l,A=P-u,D=t-T;return d?xSe(D,o-A):D}function x(P){var T=P-l,A=P-u;return l===void 0||T>=t||T<0||d&&A>=o}function _(){var P=X_();if(x(P))return b(P);s=setTimeout(_,y(P))}function b(P){return s=void 0,h&&r?v(P):(r=i=void 0,a)}function w(){s!==void 0&&clearTimeout(s),u=0,r=l=i=s=void 0}function O(){return s===void 0?a:b(X_())}function E(){var P=X_(),T=x(P);if(r=arguments,i=this,l=P,T){if(s===void 0)return g(l);if(d)return clearTimeout(s),s=setTimeout(_,t),v(l)}return s===void 0&&(s=setTimeout(_,t)),a}return E.cancel=w,E.flush=O,E}var SSe=wSe,OSe=SSe,ESe=gs,PSe="Expected a function";function CSe(e,t,n){var r=!0,i=!0;if(typeof e!="function")throw new TypeError(PSe);return ESe(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),OSe(e,t,{leading:r,maxWait:t,trailing:i})}var TSe=CSe;const B7=at(TSe);function Uh(e){"@babel/helpers - typeof";return Uh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Uh(e)}function iR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function mv(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(q=B7(q,y,{trailing:!0,leading:!1}));var W=new ResizeObserver(q),X=E.current.getBoundingClientRect(),Q=X.width,ne=X.height;return I(Q,ne),W.observe(E.current),function(){W.disconnect()}},[I,y]);var F=R.useMemo(function(){var q=D.containerWidth,W=D.containerHeight;if(q<0||W<0)return null;Fi(rl(a)||rl(l),`The width(%s) and height(%s) are both fixed numbers, + maybe you don't need to use a ResponsiveContainer.`,a,l),Fi(!n||n>0,"The aspect(%s) must be greater than zero.",n);var X=rl(a)?q:a,Q=rl(l)?W:l;n&&n>0&&(X?Q=X/n:Q&&(X=Q*n),h&&Q>h&&(Q=h)),Fi(X>0||Q>0,`The width(%s) and height(%s) of chart should be greater than 0, + please check the style of container, or the props width(%s) and height(%s), + or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the + height and width.`,X,Q,a,l,f,d,n);var ne=!Array.isArray(v)&&ES.isElement(v)&&Uo(v.type).endsWith("Chart");return V.Children.map(v,function(Z){return ES.isElement(Z)?R.cloneElement(Z,mv({width:X,height:Q},ne?{style:mv({height:"100%",width:"100%",maxHeight:Q,maxWidth:X},Z.props.style)}:{})):Z})},[n,v,l,h,d,f,D,a]);return V.createElement("div",{id:x?"".concat(x):void 0,className:Pe("recharts-responsive-container",_),style:mv(mv({},O),{},{width:a,height:l,minWidth:f,minHeight:d,maxHeight:h}),ref:E},F)}),Ka=function(t){return null};Ka.displayName="Cell";function zh(e){"@babel/helpers - typeof";return zh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zh(e)}function aR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ZS(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||di.isSsr)return{width:0,height:0};var r=zSe(n),i=JSON.stringify({text:t,copyStyle:r});if(lu.widthCache[i])return lu.widthCache[i];try{var o=document.getElementById(sR);o||(o=document.createElement("span"),o.setAttribute("id",sR),o.setAttribute("aria-hidden","true"),document.body.appendChild(o));var a=ZS(ZS({},USe),r);Object.assign(o.style,a),o.textContent="".concat(t);var s=o.getBoundingClientRect(),l={width:s.width,height:s.height};return lu.widthCache[i]=l,++lu.cacheCount>BSe&&(lu.cacheCount=0,lu.widthCache={}),l}catch{return{width:0,height:0}}},VSe=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function Vh(e){"@babel/helpers - typeof";return Vh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vh(e)}function Dy(e,t){return qSe(e)||GSe(e,t)||HSe(e,t)||WSe()}function WSe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function HSe(e,t){if(e){if(typeof e=="string")return lR(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lR(e,t)}}function lR(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function sOe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function pR(e,t){return fOe(e)||cOe(e,t)||uOe(e,t)||lOe()}function lOe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uOe(e,t){if(e){if(typeof e=="string")return mR(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return mR(e,t)}}function mR(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[];return X.reduce(function(Q,ne){var Z=ne.word,z=ne.width,B=Q[Q.length-1];if(B&&(i==null||o||B.width+z+rne.width?Q:ne})};if(!f)return v;for(var y="…",x=function(X){var Q=d.slice(0,X),ne=W7({breakAll:u,style:l,children:Q+y}).wordsWithComputedWidth,Z=h(ne),z=Z.length>a||g(Z).width>Number(i);return[z,Z]},_=0,b=d.length-1,w=0,O;_<=b&&w<=d.length-1;){var E=Math.floor((_+b)/2),P=E-1,T=x(P),A=pR(T,2),D=A[0],k=A[1],I=x(E),F=pR(I,1),q=F[0];if(!D&&!q&&(_=E+1),D&&q&&(b=E-1),!D&&q){O=k;break}w++}return O||v},vR=function(t){var n=ze(t)?[]:t.toString().split(V7);return[{words:n}]},hOe=function(t){var n=t.width,r=t.scaleToFit,i=t.children,o=t.style,a=t.breakAll,s=t.maxLines;if((n||r)&&!di.isSsr){var l,u,f=W7({breakAll:a,children:i,style:o});if(f){var d=f.wordsWithComputedWidth,h=f.spaceWidth;l=d,u=h}else return vR(i);return dOe({breakAll:a,children:i,maxLines:s,style:o},l,u,n,r)}return vR(i)},gR="#808080",jl=function(t){var n=t.x,r=n===void 0?0:n,i=t.y,o=i===void 0?0:i,a=t.lineHeight,s=a===void 0?"1em":a,l=t.capHeight,u=l===void 0?"0.71em":l,f=t.scaleToFit,d=f===void 0?!1:f,h=t.textAnchor,v=h===void 0?"start":h,g=t.verticalAnchor,y=g===void 0?"end":g,x=t.fill,_=x===void 0?gR:x,b=hR(t,oOe),w=R.useMemo(function(){return hOe({breakAll:b.breakAll,children:b.children,maxLines:b.maxLines,scaleToFit:d,style:b.style,width:b.width})},[b.breakAll,b.children,b.maxLines,d,b.style,b.width]),O=b.dx,E=b.dy,P=b.angle,T=b.className,A=b.breakAll,D=hR(b,aOe);if(!pn(r)||!pn(o))return null;var k=r+(Ee(O)?O:0),I=o+(Ee(E)?E:0),F;switch(y){case"start":F=Q_("calc(".concat(u,")"));break;case"middle":F=Q_("calc(".concat((w.length-1)/2," * -").concat(s," + (").concat(u," / 2))"));break;default:F=Q_("calc(".concat(w.length-1," * -").concat(s,")"));break}var q=[];if(d){var W=w[0].width,X=b.width;q.push("scale(".concat((Ee(X)?X/W:1)/W,")"))}return P&&q.push("rotate(".concat(P,", ").concat(k,", ").concat(I,")")),q.length&&(D.transform=q.join(" ")),V.createElement("text",XS({},De(D,!0),{x:k,y:I,className:Pe("recharts-text",T),textAnchor:v,fill:_.includes("url")?gR:_}),w.map(function(Q,ne){var Z=Q.words.join(A?"":" ");return V.createElement("tspan",{x:k,dy:ne===0?F:s,key:Z},Z)}))};function Ya(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function pOe(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function UC(e){let t,n,r;e.length!==2?(t=Ya,n=(s,l)=>Ya(e(s),l),r=(s,l)=>e(s)-l):(t=e===Ya||e===pOe?e:mOe,n=e,r=e);function i(s,l,u=0,f=s.length){if(u>>1;n(s[d],l)<0?u=d+1:f=d}while(u>>1;n(s[d],l)<=0?u=d+1:f=d}while(uu&&r(s[d-1],l)>-r(s[d],l)?d-1:d}return{left:i,center:a,right:o}}function mOe(){return 0}function H7(e){return e===null?NaN:+e}function*vOe(e,t){if(t===void 0)for(let n of e)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}const gOe=UC(Ya),Kp=gOe.right;UC(H7).center;class yR extends Map{constructor(t,n=_Oe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,i]of t)this.set(r,i)}get(t){return super.get(bR(this,t))}has(t){return super.has(bR(this,t))}set(t,n){return super.set(yOe(this,t),n)}delete(t){return super.delete(bOe(this,t))}}function bR({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function yOe({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function bOe({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function _Oe(e){return e!==null&&typeof e=="object"?e.valueOf():e}function xOe(e=Ya){if(e===Ya)return G7;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function G7(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const wOe=Math.sqrt(50),SOe=Math.sqrt(10),OOe=Math.sqrt(2);function Fy(e,t,n){const r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=wOe?10:o>=SOe?5:o>=OOe?2:1;let s,l,u;return i<0?(u=Math.pow(10,-i)/a,s=Math.round(e*u),l=Math.round(t*u),s/ut&&--l,u=-u):(u=Math.pow(10,i)*a,s=Math.round(e/u),l=Math.round(t/u),s*ut&&--l),l0))return[];if(e===t)return[e];const r=t=i))return[];const s=o-i+1,l=new Array(s);if(r)if(a<0)for(let u=0;u=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n=i)&&(n=i)}return n}function xR(e,t){let n;if(t===void 0)for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function q7(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?G7:xOe(i);r>n;){if(r-n>600){const l=r-n+1,u=t-n+1,f=Math.log(l),d=.5*Math.exp(2*f/3),h=.5*Math.sqrt(f*d*(l-d)/l)*(u-l/2<0?-1:1),v=Math.max(n,Math.floor(t-u*d/l+h)),g=Math.min(r,Math.floor(t+(l-u)*d/l+h));q7(e,t,v,g,i)}const o=e[t];let a=n,s=r;for(ed(e,n,t),i(e[r],o)>0&&ed(e,n,r);a0;)--s}i(e[n],o)===0?ed(e,n,s):(++s,ed(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function ed(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function EOe(e,t,n){if(e=Float64Array.from(vOe(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return xR(e);if(t>=1)return _R(e);var r,i=(r-1)*t,o=Math.floor(i),a=_R(q7(e,o).subarray(0,o+1)),s=xR(e.subarray(o+1));return a+(s-a)*(i-o)}}function POe(e,t,n=H7){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),a=+n(e[o],o,e),s=+n(e[o+1],o+1,e);return a+(s-a)*(i-o)}}function COe(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,o=new Array(i);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?gv(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?gv(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=jOe.exec(e))?new gr(t[1],t[2],t[3],1):(t=AOe.exec(e))?new gr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=kOe.exec(e))?gv(t[1],t[2],t[3],t[4]):(t=NOe.exec(e))?gv(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=MOe.exec(e))?TR(t[1],t[2]/100,t[3]/100,1):(t=ROe.exec(e))?TR(t[1],t[2]/100,t[3]/100,t[4]):wR.hasOwnProperty(e)?ER(wR[e]):e==="transparent"?new gr(NaN,NaN,NaN,0):null}function ER(e){return new gr(e>>16&255,e>>8&255,e&255,1)}function gv(e,t,n,r){return r<=0&&(e=t=n=NaN),new gr(e,t,n,r)}function IOe(e){return e instanceof Yp||(e=qh(e)),e?(e=e.rgb(),new gr(e.r,e.g,e.b,e.opacity)):new gr}function nO(e,t,n,r){return arguments.length===1?IOe(e):new gr(e,t,n,r??1)}function gr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}VC(gr,nO,Y7(Yp,{brighter(e){return e=e==null?By:Math.pow(By,e),new gr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Hh:Math.pow(Hh,e),new gr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new gr(ml(this.r),ml(this.g),ml(this.b),Uy(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:PR,formatHex:PR,formatHex8:DOe,formatRgb:CR,toString:CR}));function PR(){return`#${il(this.r)}${il(this.g)}${il(this.b)}`}function DOe(){return`#${il(this.r)}${il(this.g)}${il(this.b)}${il((isNaN(this.opacity)?1:this.opacity)*255)}`}function CR(){const e=Uy(this.opacity);return`${e===1?"rgb(":"rgba("}${ml(this.r)}, ${ml(this.g)}, ${ml(this.b)}${e===1?")":`, ${e})`}`}function Uy(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ml(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function il(e){return e=ml(e),(e<16?"0":"")+e.toString(16)}function TR(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ri(e,t,n,r)}function Z7(e){if(e instanceof Ri)return new Ri(e.h,e.s,e.l,e.opacity);if(e instanceof Yp||(e=qh(e)),!e)return new Ri;if(e instanceof Ri)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(t===o?a=(n-r)/s+(n0&&l<1?0:a,new Ri(a,s,l,e.opacity)}function FOe(e,t,n,r){return arguments.length===1?Z7(e):new Ri(e,t,n,r??1)}function Ri(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}VC(Ri,FOe,Y7(Yp,{brighter(e){return e=e==null?By:Math.pow(By,e),new Ri(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Hh:Math.pow(Hh,e),new Ri(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new gr(J_(e>=240?e-240:e+120,i,r),J_(e,i,r),J_(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ri(jR(this.h),yv(this.s),yv(this.l),Uy(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Uy(this.opacity);return`${e===1?"hsl(":"hsla("}${jR(this.h)}, ${yv(this.s)*100}%, ${yv(this.l)*100}%${e===1?")":`, ${e})`}`}}));function jR(e){return e=(e||0)%360,e<0?e+360:e}function yv(e){return Math.max(0,Math.min(1,e||0))}function J_(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const WC=e=>()=>e;function BOe(e,t){return function(n){return e+n*t}}function UOe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function zOe(e){return(e=+e)==1?X7:function(t,n){return n-t?UOe(t,n,e):WC(isNaN(t)?n:t)}}function X7(e,t){var n=t-e;return n?BOe(e,n):WC(isNaN(e)?t:e)}const AR=function e(t){var n=zOe(t);function r(i,o){var a=n((i=nO(i)).r,(o=nO(o)).r),s=n(i.g,o.g),l=n(i.b,o.b),u=X7(i.opacity,o.opacity);return function(f){return i.r=a(f),i.g=s(f),i.b=l(f),i.opacity=u(f),i+""}}return r.gamma=e,r}(1);function VOe(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(o){for(i=0;in&&(o=t.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:zy(r,i)})),n=ex.lastIndex;return nt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function eEe(e,t,n){var r=e[0],i=e[1],o=t[0],a=t[1];return i2?tEe:eEe,l=u=null,d}function d(h){return h==null||isNaN(h=+h)?o:(l||(l=s(e.map(r),t,n)))(r(a(h)))}return d.invert=function(h){return a(i((u||(u=s(t,e.map(r),zy)))(h)))},d.domain=function(h){return arguments.length?(e=Array.from(h,Vy),f()):e.slice()},d.range=function(h){return arguments.length?(t=Array.from(h),f()):t.slice()},d.rangeRound=function(h){return t=Array.from(h),n=HC,f()},d.clamp=function(h){return arguments.length?(a=h?!0:ar,f()):a!==ar},d.interpolate=function(h){return arguments.length?(n=h,f()):n},d.unknown=function(h){return arguments.length?(o=h,d):o},function(h,v){return r=h,i=v,f()}}function GC(){return Db()(ar,ar)}function nEe(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Wy(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Cc(e){return e=Wy(Math.abs(e)),e?e[1]:NaN}function rEe(e,t){return function(n,r){for(var i=n.length,o=[],a=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),o.push(n.substring(i-=s,i+s)),!((l+=s+1)>r));)s=e[a=(a+1)%e.length];return o.reverse().join(t)}}function iEe(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var oEe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Kh(e){if(!(t=oEe.exec(e)))throw new Error("invalid format: "+e);var t;return new qC({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Kh.prototype=qC.prototype;function qC(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}qC.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function aEe(e){e:for(var t=e.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var Q7;function sEe(e,t){var n=Wy(e,t);if(!n)return e+"";var r=n[0],i=n[1],o=i-(Q7=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Wy(e,Math.max(0,t+o-1))[0]}function NR(e,t){var n=Wy(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const MR={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:nEe,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>NR(e*100,t),r:NR,s:sEe,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function RR(e){return e}var LR=Array.prototype.map,$R=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function lEe(e){var t=e.grouping===void 0||e.thousands===void 0?RR:rEe(LR.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?RR:iEe(LR.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",s=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function u(d){d=Kh(d);var h=d.fill,v=d.align,g=d.sign,y=d.symbol,x=d.zero,_=d.width,b=d.comma,w=d.precision,O=d.trim,E=d.type;E==="n"?(b=!0,E="g"):MR[E]||(w===void 0&&(w=12),O=!0,E="g"),(x||h==="0"&&v==="=")&&(x=!0,h="0",v="=");var P=y==="$"?n:y==="#"&&/[boxX]/.test(E)?"0"+E.toLowerCase():"",T=y==="$"?r:/[%p]/.test(E)?a:"",A=MR[E],D=/[defgprs%]/.test(E);w=w===void 0?6:/[gprs]/.test(E)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function k(I){var F=P,q=T,W,X,Q;if(E==="c")q=A(I)+q,I="";else{I=+I;var ne=I<0||1/I<0;if(I=isNaN(I)?l:A(Math.abs(I),w),O&&(I=aEe(I)),ne&&+I==0&&g!=="+"&&(ne=!1),F=(ne?g==="("?g:s:g==="-"||g==="("?"":g)+F,q=(E==="s"?$R[8+Q7/3]:"")+q+(ne&&g==="("?")":""),D){for(W=-1,X=I.length;++WQ||Q>57){q=(Q===46?i+I.slice(W+1):I.slice(W))+q,I=I.slice(0,W);break}}}b&&!x&&(I=t(I,1/0));var Z=F.length+I.length+q.length,z=Z<_?new Array(_-Z+1).join(h):"";switch(b&&x&&(I=t(z+I,z.length?_-q.length:1/0),z=""),v){case"<":I=F+I+q+z;break;case"=":I=F+z+I+q;break;case"^":I=z.slice(0,Z=z.length>>1)+F+I+q+z.slice(Z);break;default:I=z+F+I+q;break}return o(I)}return k.toString=function(){return d+""},k}function f(d,h){var v=u((d=Kh(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(Cc(h)/3)))*3,y=Math.pow(10,-g),x=$R[8+g/3];return function(_){return v(y*_)+x}}return{format:u,formatPrefix:f}}var bv,KC,J7;uEe({thousands:",",grouping:[3],currency:["$",""]});function uEe(e){return bv=lEe(e),KC=bv.format,J7=bv.formatPrefix,bv}function cEe(e){return Math.max(0,-Cc(Math.abs(e)))}function fEe(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Cc(t)/3)))*3-Cc(Math.abs(e)))}function dEe(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Cc(t)-Cc(e))+1}function eB(e,t,n,r){var i=eO(e,t,n),o;switch(r=Kh(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(o=fEe(i,a))&&(r.precision=o),J7(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=dEe(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=cEe(i))&&(r.precision=o-(r.type==="%")*2);break}}return KC(r)}function bs(e){var t=e.domain;return e.ticks=function(n){var r=t();return QS(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return eB(i[0],i[i.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),i=0,o=r.length-1,a=r[i],s=r[o],l,u,f=10;for(s0;){if(u=JS(a,s,n),u===l)return r[i]=a,r[o]=s,t(r);if(u>0)a=Math.floor(a/u)*u,s=Math.ceil(s/u)*u;else if(u<0)a=Math.ceil(a*u)/u,s=Math.floor(s*u)/u;else break;l=u}return e},e}function Hy(){var e=GC();return e.copy=function(){return Zp(e,Hy())},xi.apply(e,arguments),bs(e)}function tB(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,Vy),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return tB(e).unknown(t)},e=arguments.length?Array.from(e,Vy):[0,1],bs(n)}function nB(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],o=e[r],a;return oMath.pow(e,t)}function gEe(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function FR(e){return(t,n)=>-e(-t,n)}function YC(e){const t=e(IR,DR),n=t.domain;let r=10,i,o;function a(){return i=gEe(r),o=vEe(r),n()[0]<0?(i=FR(i),o=FR(o),e(hEe,pEe)):e(IR,DR),t}return t.base=function(s){return arguments.length?(r=+s,a()):r},t.domain=function(s){return arguments.length?(n(s),a()):n()},t.ticks=s=>{const l=n();let u=l[0],f=l[l.length-1];const d=f0){for(;h<=v;++h)for(g=1;gf)break;_.push(y)}}else for(;h<=v;++h)for(g=r-1;g>=1;--g)if(y=h>0?g/o(-h):g*o(h),!(yf)break;_.push(y)}_.length*2{if(s==null&&(s=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=Kh(l)).precision==null&&(l.trim=!0),l=KC(l)),s===1/0)return l;const u=Math.max(1,r*s/t.ticks().length);return f=>{let d=f/o(Math.round(i(f)));return d*rn(nB(n(),{floor:s=>o(Math.floor(i(s))),ceil:s=>o(Math.ceil(i(s)))})),t}function rB(){const e=YC(Db()).domain([1,10]);return e.copy=()=>Zp(e,rB()).base(e.base()),xi.apply(e,arguments),e}function BR(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function UR(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function ZC(e){var t=1,n=e(BR(t),UR(t));return n.constant=function(r){return arguments.length?e(BR(t=+r),UR(t)):t},bs(n)}function iB(){var e=ZC(Db());return e.copy=function(){return Zp(e,iB()).constant(e.constant())},xi.apply(e,arguments)}function zR(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function yEe(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function bEe(e){return e<0?-e*e:e*e}function XC(e){var t=e(ar,ar),n=1;function r(){return n===1?e(ar,ar):n===.5?e(yEe,bEe):e(zR(n),zR(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},bs(t)}function QC(){var e=XC(Db());return e.copy=function(){return Zp(e,QC()).exponent(e.exponent())},xi.apply(e,arguments),e}function _Ee(){return QC.apply(null,arguments).exponent(.5)}function VR(e){return Math.sign(e)*e*e}function xEe(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function oB(){var e=GC(),t=[0,1],n=!1,r;function i(o){var a=xEe(e(o));return isNaN(a)?r:n?Math.round(a):a}return i.invert=function(o){return e.invert(VR(o))},i.domain=function(o){return arguments.length?(e.domain(o),i):e.domain()},i.range=function(o){return arguments.length?(e.range((t=Array.from(o,Vy)).map(VR)),i):t.slice()},i.rangeRound=function(o){return i.range(o).round(!0)},i.round=function(o){return arguments.length?(n=!!o,i):n},i.clamp=function(o){return arguments.length?(e.clamp(o),i):e.clamp()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return oB(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},xi.apply(i,arguments),bs(i)}function aB(){var e=[],t=[],n=[],r;function i(){var a=0,s=Math.max(1,t.length);for(n=new Array(s-1);++a0?n[s-1]:e[0],s=n?[r[n-1],t]:[r[u-1],r[u]]},a.unknown=function(l){return arguments.length&&(o=l),a},a.thresholds=function(){return r.slice()},a.copy=function(){return sB().domain([e,t]).range(i).unknown(o)},xi.apply(bs(a),arguments)}function lB(){var e=[.5],t=[0,1],n,r=1;function i(o){return o!=null&&o<=o?t[Kp(e,o,0,r)]:n}return i.domain=function(o){return arguments.length?(e=Array.from(o),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var a=t.indexOf(o);return[e[a-1],e[a]]},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return lB().domain(e).range(t).unknown(n)},xi.apply(i,arguments)}const tx=new Date,nx=new Date;function yn(e,t,n,r){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{const a=i(o),s=i.ceil(o);return o-a(t(o=new Date(+o),a==null?1:Math.floor(a)),o),i.range=(o,a,s)=>{const l=[];if(o=i.ceil(o),s=s==null?1:Math.floor(s),!(o0))return l;let u;do l.push(u=new Date(+o)),t(o,s),e(o);while(uyn(a=>{if(a>=a)for(;e(a),!o(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;t(a,-1),!o(a););else for(;--s>=0;)for(;t(a,1),!o(a););}),n&&(i.count=(o,a)=>(tx.setTime(+o),nx.setTime(+a),e(tx),e(nx),Math.floor(n(tx,nx))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(r?a=>r(a)%o===0:a=>i.count(0,a)%o===0):i)),i}const Gy=yn(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Gy.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?yn(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Gy);Gy.range;const Io=1e3,ui=Io*60,Do=ui*60,ea=Do*24,JC=ea*7,WR=ea*30,rx=ea*365,ol=yn(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Io)},(e,t)=>(t-e)/Io,e=>e.getUTCSeconds());ol.range;const eT=yn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Io)},(e,t)=>{e.setTime(+e+t*ui)},(e,t)=>(t-e)/ui,e=>e.getMinutes());eT.range;const tT=yn(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*ui)},(e,t)=>(t-e)/ui,e=>e.getUTCMinutes());tT.range;const nT=yn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Io-e.getMinutes()*ui)},(e,t)=>{e.setTime(+e+t*Do)},(e,t)=>(t-e)/Do,e=>e.getHours());nT.range;const rT=yn(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Do)},(e,t)=>(t-e)/Do,e=>e.getUTCHours());rT.range;const Xp=yn(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*ui)/ea,e=>e.getDate()-1);Xp.range;const Fb=yn(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ea,e=>e.getUTCDate()-1);Fb.range;const uB=yn(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ea,e=>Math.floor(e/ea));uB.range;function Fl(e){return yn(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*ui)/JC)}const Bb=Fl(0),qy=Fl(1),wEe=Fl(2),SEe=Fl(3),Tc=Fl(4),OEe=Fl(5),EEe=Fl(6);Bb.range;qy.range;wEe.range;SEe.range;Tc.range;OEe.range;EEe.range;function Bl(e){return yn(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/JC)}const Ub=Bl(0),Ky=Bl(1),PEe=Bl(2),CEe=Bl(3),jc=Bl(4),TEe=Bl(5),jEe=Bl(6);Ub.range;Ky.range;PEe.range;CEe.range;jc.range;TEe.range;jEe.range;const iT=yn(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());iT.range;const oT=yn(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());oT.range;const ta=yn(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());ta.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:yn(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});ta.range;const na=yn(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());na.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:yn(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});na.range;function cB(e,t,n,r,i,o){const a=[[ol,1,Io],[ol,5,5*Io],[ol,15,15*Io],[ol,30,30*Io],[o,1,ui],[o,5,5*ui],[o,15,15*ui],[o,30,30*ui],[i,1,Do],[i,3,3*Do],[i,6,6*Do],[i,12,12*Do],[r,1,ea],[r,2,2*ea],[n,1,JC],[t,1,WR],[t,3,3*WR],[e,1,rx]];function s(u,f,d){const h=fx).right(a,h);if(v===a.length)return e.every(eO(u/rx,f/rx,d));if(v===0)return Gy.every(Math.max(eO(u,f,d),1));const[g,y]=a[h/a[v-1][2]53)return null;"w"in Y||(Y.w=1),"Z"in Y?(he=ox(td(Y.y,0,1)),Oe=he.getUTCDay(),he=Oe>4||Oe===0?Ky.ceil(he):Ky(he),he=Fb.offset(he,(Y.V-1)*7),Y.y=he.getUTCFullYear(),Y.m=he.getUTCMonth(),Y.d=he.getUTCDate()+(Y.w+6)%7):(he=ix(td(Y.y,0,1)),Oe=he.getDay(),he=Oe>4||Oe===0?qy.ceil(he):qy(he),he=Xp.offset(he,(Y.V-1)*7),Y.y=he.getFullYear(),Y.m=he.getMonth(),Y.d=he.getDate()+(Y.w+6)%7)}else("W"in Y||"U"in Y)&&("w"in Y||(Y.w="u"in Y?Y.u%7:"W"in Y?1:0),Oe="Z"in Y?ox(td(Y.y,0,1)).getUTCDay():ix(td(Y.y,0,1)).getDay(),Y.m=0,Y.d="W"in Y?(Y.w+6)%7+Y.W*7-(Oe+5)%7:Y.w+Y.U*7-(Oe+6)%7);return"Z"in Y?(Y.H+=Y.Z/100|0,Y.M+=Y.Z%100,ox(Y)):ix(Y)}}function A(N,U,J,Y){for(var oe=0,he=U.length,Oe=J.length,se,pe;oe=Oe)return-1;if(se=U.charCodeAt(oe++),se===37){if(se=U.charAt(oe++),pe=E[se in HR?U.charAt(oe++):se],!pe||(Y=pe(N,J,Y))<0)return-1}else if(se!=J.charCodeAt(Y++))return-1}return Y}function D(N,U,J){var Y=u.exec(U.slice(J));return Y?(N.p=f.get(Y[0].toLowerCase()),J+Y[0].length):-1}function k(N,U,J){var Y=v.exec(U.slice(J));return Y?(N.w=g.get(Y[0].toLowerCase()),J+Y[0].length):-1}function I(N,U,J){var Y=d.exec(U.slice(J));return Y?(N.w=h.get(Y[0].toLowerCase()),J+Y[0].length):-1}function F(N,U,J){var Y=_.exec(U.slice(J));return Y?(N.m=b.get(Y[0].toLowerCase()),J+Y[0].length):-1}function q(N,U,J){var Y=y.exec(U.slice(J));return Y?(N.m=x.get(Y[0].toLowerCase()),J+Y[0].length):-1}function W(N,U,J){return A(N,t,U,J)}function X(N,U,J){return A(N,n,U,J)}function Q(N,U,J){return A(N,r,U,J)}function ne(N){return a[N.getDay()]}function Z(N){return o[N.getDay()]}function z(N){return l[N.getMonth()]}function B(N){return s[N.getMonth()]}function H(N){return i[+(N.getHours()>=12)]}function ee(N){return 1+~~(N.getMonth()/3)}function K(N){return a[N.getUTCDay()]}function te(N){return o[N.getUTCDay()]}function ie(N){return l[N.getUTCMonth()]}function ae(N){return s[N.getUTCMonth()]}function fe(N){return i[+(N.getUTCHours()>=12)]}function j(N){return 1+~~(N.getUTCMonth()/3)}return{format:function(N){var U=P(N+="",w);return U.toString=function(){return N},U},parse:function(N){var U=T(N+="",!1);return U.toString=function(){return N},U},utcFormat:function(N){var U=P(N+="",O);return U.toString=function(){return N},U},utcParse:function(N){var U=T(N+="",!0);return U.toString=function(){return N},U}}}var HR={"-":"",_:" ",0:"0"},An=/^\s*\d+/,LEe=/^%/,$Ee=/[\\^$*+?|[\]().{}]/g;function ht(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",o=i.length;return r+(o[t.toLowerCase(),n]))}function DEe(e,t,n){var r=An.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function FEe(e,t,n){var r=An.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function BEe(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function UEe(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function zEe(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function GR(e,t,n){var r=An.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function qR(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function VEe(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function WEe(e,t,n){var r=An.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function HEe(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function KR(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function GEe(e,t,n){var r=An.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function YR(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function qEe(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function KEe(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function YEe(e,t,n){var r=An.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function ZEe(e,t,n){var r=An.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function XEe(e,t,n){var r=LEe.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function QEe(e,t,n){var r=An.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function JEe(e,t,n){var r=An.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function ZR(e,t){return ht(e.getDate(),t,2)}function ePe(e,t){return ht(e.getHours(),t,2)}function tPe(e,t){return ht(e.getHours()%12||12,t,2)}function nPe(e,t){return ht(1+Xp.count(ta(e),e),t,3)}function fB(e,t){return ht(e.getMilliseconds(),t,3)}function rPe(e,t){return fB(e,t)+"000"}function iPe(e,t){return ht(e.getMonth()+1,t,2)}function oPe(e,t){return ht(e.getMinutes(),t,2)}function aPe(e,t){return ht(e.getSeconds(),t,2)}function sPe(e){var t=e.getDay();return t===0?7:t}function lPe(e,t){return ht(Bb.count(ta(e)-1,e),t,2)}function dB(e){var t=e.getDay();return t>=4||t===0?Tc(e):Tc.ceil(e)}function uPe(e,t){return e=dB(e),ht(Tc.count(ta(e),e)+(ta(e).getDay()===4),t,2)}function cPe(e){return e.getDay()}function fPe(e,t){return ht(qy.count(ta(e)-1,e),t,2)}function dPe(e,t){return ht(e.getFullYear()%100,t,2)}function hPe(e,t){return e=dB(e),ht(e.getFullYear()%100,t,2)}function pPe(e,t){return ht(e.getFullYear()%1e4,t,4)}function mPe(e,t){var n=e.getDay();return e=n>=4||n===0?Tc(e):Tc.ceil(e),ht(e.getFullYear()%1e4,t,4)}function vPe(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ht(t/60|0,"0",2)+ht(t%60,"0",2)}function XR(e,t){return ht(e.getUTCDate(),t,2)}function gPe(e,t){return ht(e.getUTCHours(),t,2)}function yPe(e,t){return ht(e.getUTCHours()%12||12,t,2)}function bPe(e,t){return ht(1+Fb.count(na(e),e),t,3)}function hB(e,t){return ht(e.getUTCMilliseconds(),t,3)}function _Pe(e,t){return hB(e,t)+"000"}function xPe(e,t){return ht(e.getUTCMonth()+1,t,2)}function wPe(e,t){return ht(e.getUTCMinutes(),t,2)}function SPe(e,t){return ht(e.getUTCSeconds(),t,2)}function OPe(e){var t=e.getUTCDay();return t===0?7:t}function EPe(e,t){return ht(Ub.count(na(e)-1,e),t,2)}function pB(e){var t=e.getUTCDay();return t>=4||t===0?jc(e):jc.ceil(e)}function PPe(e,t){return e=pB(e),ht(jc.count(na(e),e)+(na(e).getUTCDay()===4),t,2)}function CPe(e){return e.getUTCDay()}function TPe(e,t){return ht(Ky.count(na(e)-1,e),t,2)}function jPe(e,t){return ht(e.getUTCFullYear()%100,t,2)}function APe(e,t){return e=pB(e),ht(e.getUTCFullYear()%100,t,2)}function kPe(e,t){return ht(e.getUTCFullYear()%1e4,t,4)}function NPe(e,t){var n=e.getUTCDay();return e=n>=4||n===0?jc(e):jc.ceil(e),ht(e.getUTCFullYear()%1e4,t,4)}function MPe(){return"+0000"}function QR(){return"%"}function JR(e){return+e}function eL(e){return Math.floor(+e/1e3)}var uu,mB,vB;RPe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function RPe(e){return uu=REe(e),mB=uu.format,uu.parse,vB=uu.utcFormat,uu.utcParse,uu}function LPe(e){return new Date(e)}function $Pe(e){return e instanceof Date?+e:+new Date(+e)}function aT(e,t,n,r,i,o,a,s,l,u){var f=GC(),d=f.invert,h=f.domain,v=u(".%L"),g=u(":%S"),y=u("%I:%M"),x=u("%I %p"),_=u("%a %d"),b=u("%b %d"),w=u("%B"),O=u("%Y");function E(P){return(l(P)t(i/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,o)=>EOe(e,o/r))},n.copy=function(){return _B(t).domain(e)},fa.apply(n,arguments)}function Vb(){var e=0,t=.5,n=1,r=1,i,o,a,s,l,u=ar,f,d=!1,h;function v(y){return isNaN(y=+y)?h:(y=.5+((y=+f(y))-o)*(r*yt}var OB=VPe,WPe=Wb,HPe=OB,GPe=ff;function qPe(e){return e&&e.length?WPe(e,GPe,HPe):void 0}var KPe=qPe;const La=at(KPe);function YPe(e,t){return ee.e^o.s<0?1:-1;for(r=o.d.length,i=e.d.length,t=0,n=re.d[t]^o.s<0?1:-1;return r===i?0:r>i^o.s<0?1:-1};Ie.decimalPlaces=Ie.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*jt;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};Ie.dividedBy=Ie.div=function(e){return zo(this,new this.constructor(e))};Ie.dividedToIntegerBy=Ie.idiv=function(e){var t=this,n=t.constructor;return _t(zo(t,new n(e),0,1),n.precision)};Ie.equals=Ie.eq=function(e){return!this.cmp(e)};Ie.exponent=function(){return ln(this)};Ie.greaterThan=Ie.gt=function(e){return this.cmp(e)>0};Ie.greaterThanOrEqualTo=Ie.gte=function(e){return this.cmp(e)>=0};Ie.isInteger=Ie.isint=function(){return this.e>this.d.length-2};Ie.isNegative=Ie.isneg=function(){return this.s<0};Ie.isPositive=Ie.ispos=function(){return this.s>0};Ie.isZero=function(){return this.s===0};Ie.lessThan=Ie.lt=function(e){return this.cmp(e)<0};Ie.lessThanOrEqualTo=Ie.lte=function(e){return this.cmp(e)<1};Ie.logarithm=Ie.log=function(e){var t,n=this,r=n.constructor,i=r.precision,o=i+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(Rr))throw Error(gi+"NaN");if(n.s<1)throw Error(gi+(n.s?"NaN":"-Infinity"));return n.eq(Rr)?new r(0):($t=!1,t=zo(Yh(n,o),Yh(e,o),o),$t=!0,_t(t,i))};Ie.minus=Ie.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?jB(t,e):CB(t,(e.s=-e.s,e))};Ie.modulo=Ie.mod=function(e){var t,n=this,r=n.constructor,i=r.precision;if(e=new r(e),!e.s)throw Error(gi+"NaN");return n.s?($t=!1,t=zo(n,e,0,1).times(e),$t=!0,n.minus(t)):_t(new r(n),i)};Ie.naturalExponential=Ie.exp=function(){return TB(this)};Ie.naturalLogarithm=Ie.ln=function(){return Yh(this)};Ie.negated=Ie.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};Ie.plus=Ie.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?CB(t,e):jB(t,(e.s=-e.s,e))};Ie.precision=Ie.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(vl+e);if(t=ln(i)+1,r=i.d.length-1,n=r*jt+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};Ie.squareRoot=Ie.sqrt=function(){var e,t,n,r,i,o,a,s=this,l=s.constructor;if(s.s<1){if(!s.s)return new l(0);throw Error(gi+"NaN")}for(e=ln(s),$t=!1,i=Math.sqrt(+s),i==0||i==1/0?(t=lo(s.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=pf((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new l(t)):r=new l(i.toString()),n=l.precision,i=a=n+3;;)if(o=r,r=o.plus(zo(s,o,a+2)).times(.5),lo(o.d).slice(0,a)===(t=lo(r.d)).slice(0,a)){if(t=t.slice(a-3,a+1),i==a&&t=="4999"){if(_t(o,n+1,0),o.times(o).eq(s)){r=o;break}}else if(t!="9999")break;a+=4}return $t=!0,_t(r,n)};Ie.times=Ie.mul=function(e){var t,n,r,i,o,a,s,l,u,f=this,d=f.constructor,h=f.d,v=(e=new d(e)).d;if(!f.s||!e.s)return new d(0);for(e.s*=f.s,n=f.e+e.e,l=h.length,u=v.length,l=0;){for(t=0,i=l+r;i>r;)s=o[i]+v[r]*h[i-r-1]+t,o[i--]=s%On|0,t=s/On|0;o[i]=(o[i]+t)%On|0}for(;!o[--a];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,$t?_t(e,d.precision):e};Ie.toDecimalPlaces=Ie.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(bo(e,0,hf),t===void 0?t=r.rounding:bo(t,0,8),_t(n,e+ln(n)+1,t))};Ie.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=Al(r,!0):(bo(e,0,hf),t===void 0?t=i.rounding:bo(t,0,8),r=_t(new i(r),e+1,t),n=Al(r,!0,e+1)),n};Ie.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?Al(i):(bo(e,0,hf),t===void 0?t=o.rounding:bo(t,0,8),r=_t(new o(i),e+ln(i)+1,t),n=Al(r.abs(),!1,e+ln(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)};Ie.toInteger=Ie.toint=function(){var e=this,t=e.constructor;return _t(new t(e),ln(e)+1,t.rounding)};Ie.toNumber=function(){return+this};Ie.toPower=Ie.pow=function(e){var t,n,r,i,o,a,s=this,l=s.constructor,u=12,f=+(e=new l(e));if(!e.s)return new l(Rr);if(s=new l(s),!s.s){if(e.s<1)throw Error(gi+"Infinity");return s}if(s.eq(Rr))return s;if(r=l.precision,e.eq(Rr))return _t(s,r);if(t=e.e,n=e.d.length-1,a=t>=n,o=s.s,a){if((n=f<0?-f:f)<=PB){for(i=new l(Rr),t=Math.ceil(r/jt+4),$t=!1;n%2&&(i=i.times(s),rL(i.d,t)),n=pf(n/2),n!==0;)s=s.times(s),rL(s.d,t);return $t=!0,e.s<0?new l(Rr).div(i):_t(i,r)}}else if(o<0)throw Error(gi+"NaN");return o=o<0&&e.d[Math.max(t,n)]&1?-1:1,s.s=1,$t=!1,i=e.times(Yh(s,r+u)),$t=!0,i=TB(i),i.s=o,i};Ie.toPrecision=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?(n=ln(i),r=Al(i,n<=o.toExpNeg||n>=o.toExpPos)):(bo(e,1,hf),t===void 0?t=o.rounding:bo(t,0,8),i=_t(new o(i),e,t),n=ln(i),r=Al(i,e<=n||n<=o.toExpNeg,e)),r};Ie.toSignificantDigits=Ie.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(bo(e,1,hf),t===void 0?t=r.rounding:bo(t,0,8)),_t(new r(n),e,t)};Ie.toString=Ie.valueOf=Ie.val=Ie.toJSON=Ie[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=ln(e),n=e.constructor;return Al(e,t<=n.toExpNeg||t>=n.toExpPos)};function CB(e,t){var n,r,i,o,a,s,l,u,f=e.constructor,d=f.precision;if(!e.s||!t.s)return t.s||(t=new f(e)),$t?_t(t,d):t;if(l=e.d,u=t.d,a=e.e,i=t.e,l=l.slice(),o=a-i,o){for(o<0?(r=l,o=-o,s=u.length):(r=u,i=a,s=l.length),a=Math.ceil(d/jt),s=a>s?a+1:s+1,o>s&&(o=s,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(s=l.length,o=u.length,s-o<0&&(o=s,r=u,u=l,l=r),n=0;o;)n=(l[--o]=l[o]+u[o]+n)/On|0,l[o]%=On;for(n&&(l.unshift(n),++i),s=l.length;l[--s]==0;)l.pop();return t.d=l,t.e=i,$t?_t(t,d):t}function bo(e,t,n){if(e!==~~e||en)throw Error(vl+e)}function lo(e){var t,n,r,i=e.length-1,o="",a=e[0];if(i>0){for(o+=a,t=1;ta?1:-1;else for(s=l=0;si[s]?1:-1;break}return l}function n(r,i,o){for(var a=0;o--;)r[o]-=a,a=r[o]1;)r.shift()}return function(r,i,o,a){var s,l,u,f,d,h,v,g,y,x,_,b,w,O,E,P,T,A,D=r.constructor,k=r.s==i.s?1:-1,I=r.d,F=i.d;if(!r.s)return new D(r);if(!i.s)throw Error(gi+"Division by zero");for(l=r.e-i.e,T=F.length,E=I.length,v=new D(k),g=v.d=[],u=0;F[u]==(I[u]||0);)++u;if(F[u]>(I[u]||0)&&--l,o==null?b=o=D.precision:a?b=o+(ln(r)-ln(i))+1:b=o,b<0)return new D(0);if(b=b/jt+2|0,u=0,T==1)for(f=0,F=F[0],b++;(u1&&(F=e(F,f),I=e(I,f),T=F.length,E=I.length),O=T,y=I.slice(0,T),x=y.length;x=On/2&&++P;do f=0,s=t(F,y,T,x),s<0?(_=y[0],T!=x&&(_=_*On+(y[1]||0)),f=_/P|0,f>1?(f>=On&&(f=On-1),d=e(F,f),h=d.length,x=y.length,s=t(d,y,h,x),s==1&&(f--,n(d,T16)throw Error(uT+ln(e));if(!e.s)return new f(Rr);for(t==null?($t=!1,s=d):s=t,a=new f(.03125);e.abs().gte(.1);)e=e.times(a),u+=5;for(r=Math.log(Gs(2,u))/Math.LN10*2+5|0,s+=r,n=i=o=new f(Rr),f.precision=s;;){if(i=_t(i.times(e),s),n=n.times(++l),a=o.plus(zo(i,n,s)),lo(a.d).slice(0,s)===lo(o.d).slice(0,s)){for(;u--;)o=_t(o.times(o),s);return f.precision=d,t==null?($t=!0,_t(o,d)):o}o=a}}function ln(e){for(var t=e.e*jt,n=e.d[0];n>=10;n/=10)t++;return t}function ax(e,t,n){if(t>e.LN10.sd())throw $t=!0,n&&(e.precision=n),Error(gi+"LN10 precision limit exceeded");return _t(new e(e.LN10),t)}function Pa(e){for(var t="";e--;)t+="0";return t}function Yh(e,t){var n,r,i,o,a,s,l,u,f,d=1,h=10,v=e,g=v.d,y=v.constructor,x=y.precision;if(v.s<1)throw Error(gi+(v.s?"NaN":"-Infinity"));if(v.eq(Rr))return new y(0);if(t==null?($t=!1,u=x):u=t,v.eq(10))return t==null&&($t=!0),ax(y,u);if(u+=h,y.precision=u,n=lo(g),r=n.charAt(0),o=ln(v),Math.abs(o)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)v=v.times(e),n=lo(v.d),r=n.charAt(0),d++;o=ln(v),r>1?(v=new y("0."+n),o++):v=new y(r+"."+n.slice(1))}else return l=ax(y,u+2,x).times(o+""),v=Yh(new y(r+"."+n.slice(1)),u-h).plus(l),y.precision=x,t==null?($t=!0,_t(v,x)):v;for(s=a=v=zo(v.minus(Rr),v.plus(Rr),u),f=_t(v.times(v),u),i=3;;){if(a=_t(a.times(f),u),l=s.plus(zo(a,new y(i),u)),lo(l.d).slice(0,u)===lo(s.d).slice(0,u))return s=s.times(2),o!==0&&(s=s.plus(ax(y,u+2,x).times(o+""))),s=zo(s,new y(d),u),y.precision=x,t==null?($t=!0,_t(s,x)):s;s=l,i+=2}}function nL(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(r,i),t){if(i-=r,n=n-r-1,e.e=pf(n/jt),e.d=[],r=(n+1)%jt,n<0&&(r+=jt),rYy||e.e<-Yy))throw Error(uT+n)}else e.s=0,e.e=0,e.d=[0];return e}function _t(e,t,n){var r,i,o,a,s,l,u,f,d=e.d;for(a=1,o=d[0];o>=10;o/=10)a++;if(r=t-a,r<0)r+=jt,i=t,u=d[f=0];else{if(f=Math.ceil((r+1)/jt),o=d.length,f>=o)return e;for(u=o=d[f],a=1;o>=10;o/=10)a++;r%=jt,i=r-jt+a}if(n!==void 0&&(o=Gs(10,a-i-1),s=u/o%10|0,l=t<0||d[f+1]!==void 0||u%o,l=n<4?(s||l)&&(n==0||n==(e.s<0?3:2)):s>5||s==5&&(n==4||l||n==6&&(r>0?i>0?u/Gs(10,a-i):0:d[f-1])%10&1||n==(e.s<0?8:7))),t<1||!d[0])return l?(o=ln(e),d.length=1,t=t-o-1,d[0]=Gs(10,(jt-t%jt)%jt),e.e=pf(-t/jt)||0):(d.length=1,d[0]=e.e=e.s=0),e;if(r==0?(d.length=f,o=1,f--):(d.length=f+1,o=Gs(10,jt-r),d[f]=i>0?(u/Gs(10,a-i)%Gs(10,i)|0)*o:0),l)for(;;)if(f==0){(d[0]+=o)==On&&(d[0]=1,++e.e);break}else{if(d[f]+=o,d[f]!=On)break;d[f--]=0,o=1}for(r=d.length;d[--r]===0;)d.pop();if($t&&(e.e>Yy||e.e<-Yy))throw Error(uT+ln(e));return e}function jB(e,t){var n,r,i,o,a,s,l,u,f,d,h=e.constructor,v=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),$t?_t(t,v):t;if(l=e.d,d=t.d,r=t.e,u=e.e,l=l.slice(),a=u-r,a){for(f=a<0,f?(n=l,a=-a,s=d.length):(n=d,r=u,s=l.length),i=Math.max(Math.ceil(v/jt),s)+2,a>i&&(a=i,n.length=1),n.reverse(),i=a;i--;)n.push(0);n.reverse()}else{for(i=l.length,s=d.length,f=i0;--i)l[s++]=0;for(i=d.length;i>a;){if(l[--i]0?o=o.charAt(0)+"."+o.slice(1)+Pa(r):a>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Pa(-i-1)+o,n&&(r=n-a)>0&&(o+=Pa(r))):i>=a?(o+=Pa(i+1-a),n&&(r=n-i-1)>0&&(o=o+"."+Pa(r))):((r=i+1)0&&(i+1===a&&(o+="."),o+=Pa(r))),e.s<0?"-"+o:o}function rL(e,t){if(e.length>t)return e.length=t,!0}function AB(e){var t,n,r;function i(o){var a=this;if(!(a instanceof i))return new i(o);if(a.constructor=i,o instanceof i){a.s=o.s,a.e=o.e,a.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(vl+o);if(o>0)a.s=1;else if(o<0)o=-o,a.s=-1;else{a.s=0,a.e=0,a.d=[0];return}if(o===~~o&&o<1e7){a.e=0,a.d=[o];return}return nL(a,o.toString())}else if(typeof o!="string")throw Error(vl+o);if(o.charCodeAt(0)===45?(o=o.slice(1),a.s=-1):a.s=1,vCe.test(o))nL(a,o);else throw Error(vl+o)}if(i.prototype=Ie,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=AB,i.config=i.set=gCe,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&r<=i[t+2])this[n]=r;else throw Error(vl+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(vl+n+": "+r);return this}var cT=AB(mCe);Rr=new cT(1);const yt=cT;function yCe(e){return wCe(e)||xCe(e)||_Ce(e)||bCe()}function bCe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _Ce(e,t){if(e){if(typeof e=="string")return oO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return oO(e,t)}}function xCe(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function wCe(e){if(Array.isArray(e))return oO(e)}function oO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t?n.apply(void 0,i):e(t-a,iL(function(){for(var s=arguments.length,l=new Array(s),u=0;ue.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,i=!1,o=void 0;try{for(var a=e[Symbol.iterator](),s;!(r=(s=a.next()).done)&&(n.push(s.value),!(t&&n.length===t));r=!0);}catch(l){i=!0,o=l}finally{try{!r&&a.return!=null&&a.return()}finally{if(i)throw o}}return n}}function ICe(e){if(Array.isArray(e))return e}function LB(e){var t=Zh(e,2),n=t[0],r=t[1],i=n,o=r;return n>r&&(i=r,o=n),[i,o]}function $B(e,t,n){if(e.lte(0))return new yt(0);var r=qb.getDigitCount(e.toNumber()),i=new yt(10).pow(r),o=e.div(i),a=r!==1?.05:.1,s=new yt(Math.ceil(o.div(a).toNumber())).add(n).mul(a),l=s.mul(i);return t?l:new yt(Math.ceil(l))}function DCe(e,t,n){var r=1,i=new yt(e);if(!i.isint()&&n){var o=Math.abs(e);o<1?(r=new yt(10).pow(qb.getDigitCount(e)-1),i=new yt(Math.floor(i.div(r).toNumber())).mul(r)):o>1&&(i=new yt(Math.floor(e)))}else e===0?i=new yt(Math.floor((t-1)/2)):n||(i=new yt(Math.floor(e)));var a=Math.floor((t-1)/2),s=PCe(ECe(function(l){return i.add(new yt(l-a).mul(r)).toNumber()}),aO);return s(0,t)}function IB(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new yt(0),tickMin:new yt(0),tickMax:new yt(0)};var o=$B(new yt(t).sub(e).div(n-1),r,i),a;e<=0&&t>=0?a=new yt(0):(a=new yt(e).add(t).div(2),a=a.sub(new yt(a).mod(o)));var s=Math.ceil(a.sub(e).div(o).toNumber()),l=Math.ceil(new yt(t).sub(a).div(o).toNumber()),u=s+l+1;return u>n?IB(e,t,n,r,i+1):(u0?l+(n-u):l,s=t>0?s:s+(n-u)),{step:o,tickMin:a.sub(new yt(s).mul(o)),tickMax:a.add(new yt(l).mul(o))})}function FCe(e){var t=Zh(e,2),n=t[0],r=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Math.max(i,2),s=LB([n,r]),l=Zh(s,2),u=l[0],f=l[1];if(u===-1/0||f===1/0){var d=f===1/0?[u].concat(lO(aO(0,i-1).map(function(){return 1/0}))):[].concat(lO(aO(0,i-1).map(function(){return-1/0})),[f]);return n>r?sO(d):d}if(u===f)return DCe(u,i,o);var h=IB(u,f,a,o),v=h.step,g=h.tickMin,y=h.tickMax,x=qb.rangeStep(g,y.add(new yt(.1).mul(v)),v);return n>r?sO(x):x}function BCe(e,t){var n=Zh(e,2),r=n[0],i=n[1],o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=LB([r,i]),s=Zh(a,2),l=s[0],u=s[1];if(l===-1/0||u===1/0)return[r,i];if(l===u)return[l];var f=Math.max(t,2),d=$B(new yt(u).sub(l).div(f-1),o,0),h=[].concat(lO(qb.rangeStep(new yt(l),new yt(u).sub(new yt(.99).mul(d)),d)),[u]);return r>i?sO(h):h}var UCe=MB(FCe),zCe=MB(BCe),VCe="Invariant failed";function kl(e,t){if(!e)throw new Error(VCe)}var WCe=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function Zy(){return Zy=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function XCe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function mf(e){var t=e.offset,n=e.layout,r=e.width,i=e.dataKey,o=e.data,a=e.dataPointFormatter,s=e.xAxis,l=e.yAxis,u=ZCe(e,WCe),f=De(u,!1);e.direction==="x"&&s.type!=="number"&&kl(!1);var d=o.map(function(h){var v=a(h,i),g=v.x,y=v.y,x=v.value,_=v.errorVal;if(!_)return null;var b=[],w,O;if(Array.isArray(_)){var E=HCe(_,2);w=E[0],O=E[1]}else w=O=_;if(n==="vertical"){var P=s.scale,T=y+t,A=T+r,D=T-r,k=P(x-w),I=P(x+O);b.push({x1:I,y1:A,x2:I,y2:D}),b.push({x1:k,y1:T,x2:I,y2:T}),b.push({x1:k,y1:A,x2:k,y2:D})}else if(n==="horizontal"){var F=l.scale,q=g+t,W=q-r,X=q+r,Q=F(x-w),ne=F(x+O);b.push({x1:W,y1:ne,x2:X,y2:ne}),b.push({x1:q,y1:Q,x2:q,y2:ne}),b.push({x1:W,y1:Q,x2:X,y2:Q})}return V.createElement(Qe,Zy({className:"recharts-errorBar",key:"bar-".concat(b.map(function(Z){return"".concat(Z.x1,"-").concat(Z.x2,"-").concat(Z.y1,"-").concat(Z.y2)}))},f),b.map(function(Z){return V.createElement("line",Zy({},Z,{key:"line-".concat(Z.x1,"-").concat(Z.x2,"-").concat(Z.y1,"-").concat(Z.y2)}))}))});return V.createElement(Qe,{className:"recharts-errorBars"},d)}mf.defaultProps={stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"};mf.displayName="ErrorBar";function Xh(e){"@babel/helpers - typeof";return Xh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xh(e)}function aL(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function sx(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,a=-1,s=(n=r==null?void 0:r.length)!==null&&n!==void 0?n:0;if(s<=1)return 0;if(o&&o.axisType==="angleAxis"&&Math.abs(Math.abs(o.range[1]-o.range[0])-360)<=1e-6)for(var l=o.range,u=0;u0?i[u-1].coordinate:i[s-1].coordinate,d=i[u].coordinate,h=u>=s-1?i[0].coordinate:i[u+1].coordinate,v=void 0;if(ir(d-f)!==ir(h-d)){var g=[];if(ir(h-d)===ir(l[1]-l[0])){v=h;var y=d+l[1]-l[0];g[0]=Math.min(y,(y+f)/2),g[1]=Math.max(y,(y+f)/2)}else{v=f;var x=h+l[1]-l[0];g[0]=Math.min(d,(x+d)/2),g[1]=Math.max(d,(x+d)/2)}var _=[Math.min(d,(v+d)/2),Math.max(d,(v+d)/2)];if(t>_[0]&&t<=_[1]||t>=g[0]&&t<=g[1]){a=i[u].index;break}}else{var b=Math.min(f,h),w=Math.max(f,h);if(t>(b+d)/2&&t<=(w+d)/2){a=i[u].index;break}}}else for(var O=0;O0&&O(r[O].coordinate+r[O-1].coordinate)/2&&t<=(r[O].coordinate+r[O+1].coordinate)/2||O===s-1&&t>(r[O].coordinate+r[O-1].coordinate)/2){a=r[O].index;break}return a},fT=function(t){var n=t,r=n.type.displayName,i=t.props,o=i.stroke,a=i.fill,s;switch(r){case"Line":s=o;break;case"Area":case"Radar":s=o&&o!=="none"?o:a;break;default:s=a;break}return s},lTe=function(t){var n=t.barSize,r=t.totalSize,i=t.stackGroups,o=i===void 0?{}:i;if(!o)return{};for(var a={},s=Object.keys(o),l=0,u=s.length;l=0});if(_&&_.length){var b=_[0].props.barSize,w=_[0].props[x];a[w]||(a[w]=[]);var O=ze(b)?n:b;a[w].push({item:_[0],stackList:_.slice(1),barSize:ze(O)?void 0:or(O,r,0)})}}return a},uTe=function(t){var n=t.barGap,r=t.barCategoryGap,i=t.bandSize,o=t.sizeList,a=o===void 0?[]:o,s=t.maxBarSize,l=a.length;if(l<1)return null;var u=or(n,i,0,!0),f,d=[];if(a[0].barSize===+a[0].barSize){var h=!1,v=i/l,g=a.reduce(function(O,E){return O+E.barSize||0},0);g+=(l-1)*u,g>=i&&(g-=(l-1)*u,u=0),g>=i&&v>0&&(h=!0,v*=.9,g=l*v);var y=(i-g)/2>>0,x={offset:y-u,size:0};f=a.reduce(function(O,E){var P={item:E.item,position:{offset:x.offset+x.size+u,size:h?v:E.barSize}},T=[].concat(lL(O),[P]);return x=T[T.length-1].position,E.stackList&&E.stackList.length&&E.stackList.forEach(function(A){T.push({item:A,position:x})}),T},d)}else{var _=or(r,i,0,!0);i-2*_-(l-1)*u<=0&&(u=0);var b=(i-2*_-(l-1)*u)/l;b>1&&(b>>=0);var w=s===+s?Math.min(b,s):b;f=a.reduce(function(O,E,P){var T=[].concat(lL(O),[{item:E.item,position:{offset:_+(b+u)*P+(b-w)/2,size:w}}]);return E.stackList&&E.stackList.length&&E.stackList.forEach(function(A){T.push({item:A,position:T[T.length-1].position})}),T},d)}return f},cTe=function(t,n,r,i){var o=r.children,a=r.width,s=r.margin,l=a-(s.left||0)-(s.right||0),u=DB({children:o,legendWidth:l});if(u){var f=i||{},d=f.width,h=f.height,v=u.align,g=u.verticalAlign,y=u.layout;if((y==="vertical"||y==="horizontal"&&g==="middle")&&v!=="center"&&Ee(t[v]))return oi(oi({},t),{},Qu({},v,t[v]+(d||0)));if((y==="horizontal"||y==="vertical"&&v==="center")&&g!=="middle"&&Ee(t[g]))return oi(oi({},t),{},Qu({},g,t[g]+(h||0)))}return t},fTe=function(t,n,r){return ze(n)?!0:t==="horizontal"?n==="yAxis":t==="vertical"||r==="x"?n==="xAxis":r==="y"?n==="yAxis":!0},FB=function(t,n,r,i,o){var a=n.props.children,s=ur(a,mf).filter(function(u){return fTe(i,o,u.props.direction)});if(s&&s.length){var l=s.map(function(u){return u.props.dataKey});return t.reduce(function(u,f){var d=kt(f,r);if(ze(d))return u;var h=Array.isArray(d)?[Hb(d),La(d)]:[d,d],v=l.reduce(function(g,y){var x=kt(f,y,0),_=h[0]-Math.abs(Array.isArray(x)?x[0]:x),b=h[1]+Math.abs(Array.isArray(x)?x[1]:x);return[Math.min(_,g[0]),Math.max(b,g[1])]},[1/0,-1/0]);return[Math.min(v[0],u[0]),Math.max(v[1],u[1])]},[1/0,-1/0])}return null},dTe=function(t,n,r,i,o){var a=n.map(function(s){return FB(t,s,r,o,i)}).filter(function(s){return!ze(s)});return a&&a.length?a.reduce(function(s,l){return[Math.min(s[0],l[0]),Math.max(s[1],l[1])]},[1/0,-1/0]):null},BB=function(t,n,r,i,o){var a=n.map(function(l){var u=l.props.dataKey;return r==="number"&&u&&FB(t,l,u,i)||Vd(t,u,r,o)});if(r==="number")return a.reduce(function(l,u){return[Math.min(l[0],u[0]),Math.max(l[1],u[1])]},[1/0,-1/0]);var s={};return a.reduce(function(l,u){for(var f=0,d=u.length;f=2?ir(s[0]-s[1])*2*u:u,n&&(t.ticks||t.niceTicks)){var f=(t.ticks||t.niceTicks).map(function(d){var h=o?o.indexOf(d):d;return{coordinate:i(h)+u,value:d,offset:u}});return f.filter(function(d){return!lf(d.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(d,h){return{coordinate:i(d)+u,value:d,index:h,offset:u}}):i.ticks&&!r?i.ticks(t.tickCount).map(function(d){return{coordinate:i(d)+u,value:d,offset:u}}):i.domain().map(function(d,h){return{coordinate:i(d)+u,value:o?o[d]:d,index:h,offset:u}})},lx=new WeakMap,_v=function(t,n){if(typeof n!="function")return t;lx.has(t)||lx.set(t,new WeakMap);var r=lx.get(t);if(r.has(n))return r.get(n);var i=function(){t.apply(void 0,arguments),n.apply(void 0,arguments)};return r.set(n,i),i},VB=function(t,n,r){var i=t.scale,o=t.type,a=t.layout,s=t.axisType;if(i==="auto")return a==="radial"&&s==="radiusAxis"?{scale:Wh(),realScaleType:"band"}:a==="radial"&&s==="angleAxis"?{scale:Hy(),realScaleType:"linear"}:o==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!r)?{scale:zd(),realScaleType:"point"}:o==="category"?{scale:Wh(),realScaleType:"band"}:{scale:Hy(),realScaleType:"linear"};if(Gp(i)){var l="scale".concat(Ab(i));return{scale:(tL[l]||zd)(),realScaleType:tL[l]?l:"point"}}return We(i)?{scale:i}:{scale:zd(),realScaleType:"point"}},uL=1e-4,WB=function(t){var n=t.domain();if(!(!n||n.length<=2)){var r=n.length,i=t.range(),o=Math.min(i[0],i[1])-uL,a=Math.max(i[0],i[1])+uL,s=t(n[0]),l=t(n[r-1]);(sa||la)&&t.domain([n[0],n[r-1]])}},hTe=function(t,n){if(!t)return null;for(var r=0,i=t.length;ri)&&(o[1]=i),o[0]>i&&(o[0]=i),o[1]=0?(t[s][r][0]=o,t[s][r][1]=o+l,o=t[s][r][1]):(t[s][r][0]=a,t[s][r][1]=a+l,a=t[s][r][1])}},vTe=function(t){var n=t.length;if(!(n<=0))for(var r=0,i=t[0].length;r=0?(t[a][r][0]=o,t[a][r][1]=o+s,o=t[a][r][1]):(t[a][r][0]=0,t[a][r][1]=0)}},gTe={sign:mTe,expand:Yge,none:wc,silhouette:Zge,wiggle:Xge,positive:vTe},yTe=function(t,n,r){var i=n.map(function(s){return s.props.dataKey}),o=gTe[r],a=Kge().keys(i).value(function(s,l){return+kt(s,l,0)}).order(IS).offset(o);return a(t)},bTe=function(t,n,r,i,o,a){if(!t)return null;var s=a?n.reverse():n,l={},u=s.reduce(function(d,h){var v=h.props,g=v.stackId,y=v.hide;if(y)return d;var x=h.props[r],_=d[x]||{hasStack:!1,stackGroups:{}};if(pn(g)){var b=_.stackGroups[g]||{numericAxisId:r,cateAxisId:i,items:[]};b.items.push(h),_.hasStack=!0,_.stackGroups[g]=b}else _.stackGroups[ys("_stackId_")]={numericAxisId:r,cateAxisId:i,items:[h]};return oi(oi({},d),{},Qu({},x,_))},l),f={};return Object.keys(u).reduce(function(d,h){var v=u[h];if(v.hasStack){var g={};v.stackGroups=Object.keys(v.stackGroups).reduce(function(y,x){var _=v.stackGroups[x];return oi(oi({},y),{},Qu({},x,{numericAxisId:r,cateAxisId:i,items:_.items,stackedData:yTe(t,_.items,o)}))},g)}return oi(oi({},d),{},Qu({},h,v))},f)},HB=function(t,n){var r=n.realScaleType,i=n.type,o=n.tickCount,a=n.originalDomain,s=n.allowDecimals,l=r||n.scale;if(l!=="auto"&&l!=="linear")return null;if(o&&i==="number"&&a&&(a[0]==="auto"||a[1]==="auto")){var u=t.domain();if(!u.length)return null;var f=UCe(u,o,s);return t.domain([Hb(f),La(f)]),{niceTicks:f}}if(o&&i==="number"){var d=t.domain(),h=zCe(d,o,s);return{niceTicks:h}}return null};function Ac(e){var t=e.axis,n=e.ticks,r=e.bandSize,i=e.entry,o=e.index,a=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!ze(i[t.dataKey])){var s=Oy(n,"value",i[t.dataKey]);if(s)return s.coordinate+r/2}return n[o]?n[o].coordinate+r/2:null}var l=kt(i,ze(a)?t.dataKey:a);return ze(l)?null:t.scale(l)}var cL=function(t){var n=t.axis,r=t.ticks,i=t.offset,o=t.bandSize,a=t.entry,s=t.index;if(n.type==="category")return r[s]?r[s].coordinate+i:null;var l=kt(a,n.dataKey,n.domain[s]);return ze(l)?null:n.scale(l)-o/2+i},_Te=function(t){var n=t.numericAxis,r=n.scale.domain();if(n.type==="number"){var i=Math.min(r[0],r[1]),o=Math.max(r[0],r[1]);return i<=0&&o>=0?0:o<0?o:i}return r[0]},xTe=function(t,n){var r=t.props.stackId;if(pn(r)){var i=n[r];if(i){var o=i.items.indexOf(t);return o>=0?i.stackedData[o]:null}}return null},wTe=function(t){return t.reduce(function(n,r){return[Hb(r.concat([n[0]]).filter(Ee)),La(r.concat([n[1]]).filter(Ee))]},[1/0,-1/0])},GB=function(t,n,r){return Object.keys(t).reduce(function(i,o){var a=t[o],s=a.stackedData,l=s.reduce(function(u,f){var d=wTe(f.slice(n,r+1));return[Math.min(u[0],d[0]),Math.max(u[1],d[1])]},[1/0,-1/0]);return[Math.min(l[0],i[0]),Math.max(l[1],i[1])]},[1/0,-1/0]).map(function(i){return i===1/0||i===-1/0?0:i})},fL=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,dL=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,fO=function(t,n,r){if(We(t))return t(n,r);if(!Array.isArray(t))return n;var i=[];if(Ee(t[0]))i[0]=r?t[0]:Math.min(t[0],n[0]);else if(fL.test(t[0])){var o=+fL.exec(t[0])[1];i[0]=n[0]-o}else We(t[0])?i[0]=t[0](n[0]):i[0]=n[0];if(Ee(t[1]))i[1]=r?t[1]:Math.max(t[1],n[1]);else if(dL.test(t[1])){var a=+dL.exec(t[1])[1];i[1]=n[1]+a}else We(t[1])?i[1]=t[1](n[1]):i[1]=n[1];return i},Xy=function(t,n,r){if(t&&t.scale&&t.scale.bandwidth){var i=t.scale.bandwidth();if(!r||i>0)return i}if(t&&n&&n.length>=2){for(var o=DC(n,function(d){return d.coordinate}),a=1/0,s=1,l=o.length;se.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},kTe=function(t,n,r,i,o){var a=t.width,s=t.height,l=t.startAngle,u=t.endAngle,f=or(t.cx,a,a/2),d=or(t.cy,s,s/2),h=YB(a,s,r),v=or(t.innerRadius,h,0),g=or(t.outerRadius,h,h*.8),y=Object.keys(n);return y.reduce(function(x,_){var b=n[_],w=b.domain,O=b.reversed,E;if(ze(b.range))i==="angleAxis"?E=[l,u]:i==="radiusAxis"&&(E=[v,g]),O&&(E=[E[1],E[0]]);else{E=b.range;var P=E,T=ETe(P,2);l=T[0],u=T[1]}var A=VB(b,o),D=A.realScaleType,k=A.scale;k.domain(w).range(E),WB(k);var I=HB(k,Mo(Mo({},b),{},{realScaleType:D})),F=Mo(Mo(Mo({},b),I),{},{range:E,radius:g,realScaleType:D,scale:k,cx:f,cy:d,innerRadius:v,outerRadius:g,startAngle:l,endAngle:u});return Mo(Mo({},x),{},KB({},_,F))},{})},NTe=function(t,n){var r=t.x,i=t.y,o=n.x,a=n.y;return Math.sqrt(Math.pow(r-o,2)+Math.pow(i-a,2))},MTe=function(t,n){var r=t.x,i=t.y,o=n.cx,a=n.cy,s=NTe({x:r,y:i},{x:o,y:a});if(s<=0)return{radius:s};var l=(r-o)/s,u=Math.acos(l);return i>a&&(u=2*Math.PI-u),{radius:s,angle:ATe(u),angleInRadian:u}},RTe=function(t){var n=t.startAngle,r=t.endAngle,i=Math.floor(n/360),o=Math.floor(r/360),a=Math.min(i,o);return{startAngle:n-a*360,endAngle:r-a*360}},LTe=function(t,n){var r=n.startAngle,i=n.endAngle,o=Math.floor(r/360),a=Math.floor(i/360),s=Math.min(o,a);return t+s*360},vL=function(t,n){var r=t.x,i=t.y,o=MTe({x:r,y:i},n),a=o.radius,s=o.angle,l=n.innerRadius,u=n.outerRadius;if(au)return!1;if(a===0)return!0;var f=RTe(n),d=f.startAngle,h=f.endAngle,v=s,g;if(d<=h){for(;v>h;)v-=360;for(;v=d&&v<=h}else{for(;v>d;)v-=360;for(;v=h&&v<=d}return g?Mo(Mo({},n),{},{radius:a,angle:LTe(v,n)}):null},ZB=function(t){return!R.isValidElement(t)&&!We(t)&&typeof t!="boolean"?t.className:""};function ep(e){"@babel/helpers - typeof";return ep=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ep(e)}var $Te=["offset"];function ITe(e){return UTe(e)||BTe(e)||FTe(e)||DTe()}function DTe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function FTe(e,t){if(e){if(typeof e=="string")return dO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return dO(e,t)}}function BTe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function UTe(e){if(Array.isArray(e))return dO(e)}function dO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function VTe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function gL(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function cn(e){for(var t=1;t=0?1:-1,w,O;i==="insideStart"?(w=v+b*a,O=y):i==="insideEnd"?(w=g-b*a,O=!y):i==="end"&&(w=g+b*a,O=y),O=_<=0?O:!O;var E=Et(u,f,x,w),P=Et(u,f,x,w+(O?1:-1)*359),T="M".concat(E.x,",").concat(E.y,` + A`).concat(x,",").concat(x,",0,1,").concat(O?0:1,`, + `).concat(P.x,",").concat(P.y),A=ze(t.id)?ys("recharts-radial-line-"):t.id;return V.createElement("text",tp({},r,{dominantBaseline:"central",className:Pe("recharts-radial-bar-label",s)}),V.createElement("defs",null,V.createElement("path",{id:A,d:T})),V.createElement("textPath",{xlinkHref:"#".concat(A)},n))},ZTe=function(t){var n=t.viewBox,r=t.offset,i=t.position,o=n,a=o.cx,s=o.cy,l=o.innerRadius,u=o.outerRadius,f=o.startAngle,d=o.endAngle,h=(f+d)/2;if(i==="outside"){var v=Et(a,s,u+r,h),g=v.x,y=v.y;return{x:g,y,textAnchor:g>=a?"start":"end",verticalAnchor:"middle"}}if(i==="center")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"middle"};if(i==="centerTop")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"start"};if(i==="centerBottom")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"end"};var x=(l+u)/2,_=Et(a,s,x,h),b=_.x,w=_.y;return{x:b,y:w,textAnchor:"middle",verticalAnchor:"middle"}},XTe=function(t){var n=t.viewBox,r=t.parentViewBox,i=t.offset,o=t.position,a=n,s=a.x,l=a.y,u=a.width,f=a.height,d=f>=0?1:-1,h=d*i,v=d>0?"end":"start",g=d>0?"start":"end",y=u>=0?1:-1,x=y*i,_=y>0?"end":"start",b=y>0?"start":"end";if(o==="top"){var w={x:s+u/2,y:l-d*i,textAnchor:"middle",verticalAnchor:v};return cn(cn({},w),r?{height:Math.max(l-r.y,0),width:u}:{})}if(o==="bottom"){var O={x:s+u/2,y:l+f+h,textAnchor:"middle",verticalAnchor:g};return cn(cn({},O),r?{height:Math.max(r.y+r.height-(l+f),0),width:u}:{})}if(o==="left"){var E={x:s-x,y:l+f/2,textAnchor:_,verticalAnchor:"middle"};return cn(cn({},E),r?{width:Math.max(E.x-r.x,0),height:f}:{})}if(o==="right"){var P={x:s+u+x,y:l+f/2,textAnchor:b,verticalAnchor:"middle"};return cn(cn({},P),r?{width:Math.max(r.x+r.width-P.x,0),height:f}:{})}var T=r?{width:u,height:f}:{};return o==="insideLeft"?cn({x:s+x,y:l+f/2,textAnchor:b,verticalAnchor:"middle"},T):o==="insideRight"?cn({x:s+u-x,y:l+f/2,textAnchor:_,verticalAnchor:"middle"},T):o==="insideTop"?cn({x:s+u/2,y:l+h,textAnchor:"middle",verticalAnchor:g},T):o==="insideBottom"?cn({x:s+u/2,y:l+f-h,textAnchor:"middle",verticalAnchor:v},T):o==="insideTopLeft"?cn({x:s+x,y:l+h,textAnchor:b,verticalAnchor:g},T):o==="insideTopRight"?cn({x:s+u-x,y:l+h,textAnchor:_,verticalAnchor:g},T):o==="insideBottomLeft"?cn({x:s+x,y:l+f-h,textAnchor:b,verticalAnchor:v},T):o==="insideBottomRight"?cn({x:s+u-x,y:l+f-h,textAnchor:_,verticalAnchor:v},T):rf(o)&&(Ee(o.x)||rl(o.x))&&(Ee(o.y)||rl(o.y))?cn({x:s+or(o.x,u),y:l+or(o.y,f),textAnchor:"end",verticalAnchor:"end"},T):cn({x:s+u/2,y:l+f/2,textAnchor:"middle",verticalAnchor:"middle"},T)},QTe=function(t){return"cx"in t&&Ee(t.cx)};function Pn(e){var t=e.offset,n=t===void 0?5:t,r=zTe(e,$Te),i=cn({offset:n},r),o=i.viewBox,a=i.position,s=i.value,l=i.children,u=i.content,f=i.className,d=f===void 0?"":f,h=i.textBreakAll;if(!o||ze(s)&&ze(l)&&!R.isValidElement(u)&&!We(u))return null;if(R.isValidElement(u))return R.cloneElement(u,i);var v;if(We(u)){if(v=R.createElement(u,i),R.isValidElement(v))return v}else v=qTe(i);var g=QTe(o),y=De(i,!0);if(g&&(a==="insideStart"||a==="insideEnd"||a==="end"))return YTe(i,v,y);var x=g?ZTe(i):XTe(i);return V.createElement(jl,tp({className:Pe("recharts-label",d)},y,x,{breakAll:h}),v)}Pn.displayName="Label";var XB=function(t){var n=t.cx,r=t.cy,i=t.angle,o=t.startAngle,a=t.endAngle,s=t.r,l=t.radius,u=t.innerRadius,f=t.outerRadius,d=t.x,h=t.y,v=t.top,g=t.left,y=t.width,x=t.height,_=t.clockWise,b=t.labelViewBox;if(b)return b;if(Ee(y)&&Ee(x)){if(Ee(d)&&Ee(h))return{x:d,y:h,width:y,height:x};if(Ee(v)&&Ee(g))return{x:v,y:g,width:y,height:x}}return Ee(d)&&Ee(h)?{x:d,y:h,width:0,height:0}:Ee(n)&&Ee(r)?{cx:n,cy:r,startAngle:o||i||0,endAngle:a||i||0,innerRadius:u||0,outerRadius:f||l||s||0,clockWise:_}:t.viewBox?t.viewBox:{}},JTe=function(t,n){return t?t===!0?V.createElement(Pn,{key:"label-implicit",viewBox:n}):pn(t)?V.createElement(Pn,{key:"label-implicit",viewBox:n,value:t}):R.isValidElement(t)?t.type===Pn?R.cloneElement(t,{key:"label-implicit",viewBox:n}):V.createElement(Pn,{key:"label-implicit",content:t,viewBox:n}):We(t)?V.createElement(Pn,{key:"label-implicit",content:t,viewBox:n}):rf(t)?V.createElement(Pn,tp({viewBox:n},t,{key:"label-implicit"})):null:null},eje=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&r&&!t.label)return null;var i=t.children,o=XB(t),a=ur(i,Pn).map(function(l,u){return R.cloneElement(l,{viewBox:n||o,key:"label-".concat(u)})});if(!r)return a;var s=JTe(t.label,n||o);return[s].concat(ITe(a))};Pn.parseViewBox=XB;Pn.renderCallByParent=eje;function tje(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var nje=tje;const rje=at(nje);function np(e){"@babel/helpers - typeof";return np=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},np(e)}var ije=["valueAccessor"],oje=["data","dataKey","clockWise","id","textBreakAll"];function aje(e){return cje(e)||uje(e)||lje(e)||sje()}function sje(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lje(e,t){if(e){if(typeof e=="string")return hO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hO(e,t)}}function uje(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function cje(e){if(Array.isArray(e))return hO(e)}function hO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function pje(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var mje=function(t){return Array.isArray(t.value)?rje(t.value):t.value};function Bi(e){var t=e.valueAccessor,n=t===void 0?mje:t,r=_L(e,ije),i=r.data,o=r.dataKey,a=r.clockWise,s=r.id,l=r.textBreakAll,u=_L(r,oje);return!i||!i.length?null:V.createElement(Qe,{className:"recharts-label-list"},i.map(function(f,d){var h=ze(o)?n(f,d):kt(f&&f.payload,o),v=ze(s)?{}:{id:"".concat(s,"-").concat(d)};return V.createElement(Pn,Jy({},De(f,!0),u,v,{parentViewBox:f.parentViewBox,value:h,textBreakAll:l,viewBox:Pn.parseViewBox(ze(a)?f:bL(bL({},f),{},{clockWise:a})),key:"label-".concat(d),index:d}))}))}Bi.displayName="LabelList";function vje(e,t){return e?e===!0?V.createElement(Bi,{key:"labelList-implicit",data:t}):V.isValidElement(e)||We(e)?V.createElement(Bi,{key:"labelList-implicit",data:t,content:e}):rf(e)?V.createElement(Bi,Jy({data:t},e,{key:"labelList-implicit"})):null:null}function gje(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,i=ur(r,Bi).map(function(a,s){return R.cloneElement(a,{data:t,key:"labelList-".concat(s)})});if(!n)return i;var o=vje(e.label,t);return[o].concat(aje(i))}Bi.renderCallByParent=gje;function rp(e){"@babel/helpers - typeof";return rp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rp(e)}function pO(){return pO=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(a>u),`, + `).concat(d.x,",").concat(d.y,` + `);if(i>0){var v=Et(n,r,i,a),g=Et(n,r,i,u);h+="L ".concat(g.x,",").concat(g.y,` + A `).concat(i,",").concat(i,`,0, + `).concat(+(Math.abs(l)>180),",").concat(+(a<=u),`, + `).concat(v.x,",").concat(v.y," Z")}else h+="L ".concat(n,",").concat(r," Z");return h},wje=function(t){var n=t.cx,r=t.cy,i=t.innerRadius,o=t.outerRadius,a=t.cornerRadius,s=t.forceCornerRadius,l=t.cornerIsExternal,u=t.startAngle,f=t.endAngle,d=ir(f-u),h=xv({cx:n,cy:r,radius:o,angle:u,sign:d,cornerRadius:a,cornerIsExternal:l}),v=h.circleTangency,g=h.lineTangency,y=h.theta,x=xv({cx:n,cy:r,radius:o,angle:f,sign:-d,cornerRadius:a,cornerIsExternal:l}),_=x.circleTangency,b=x.lineTangency,w=x.theta,O=l?Math.abs(u-f):Math.abs(u-f)-y-w;if(O<0)return s?"M ".concat(g.x,",").concat(g.y,` + a`).concat(a,",").concat(a,",0,0,1,").concat(a*2,`,0 + a`).concat(a,",").concat(a,",0,0,1,").concat(-a*2,`,0 + `):QB({cx:n,cy:r,innerRadius:i,outerRadius:o,startAngle:u,endAngle:f});var E="M ".concat(g.x,",").concat(g.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(v.x,",").concat(v.y,` + A`).concat(o,",").concat(o,",0,").concat(+(O>180),",").concat(+(d<0),",").concat(_.x,",").concat(_.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(b.x,",").concat(b.y,` + `);if(i>0){var P=xv({cx:n,cy:r,radius:i,angle:u,sign:d,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),T=P.circleTangency,A=P.lineTangency,D=P.theta,k=xv({cx:n,cy:r,radius:i,angle:f,sign:-d,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),I=k.circleTangency,F=k.lineTangency,q=k.theta,W=l?Math.abs(u-f):Math.abs(u-f)-D-q;if(W<0&&a===0)return"".concat(E,"L").concat(n,",").concat(r,"Z");E+="L".concat(F.x,",").concat(F.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(I.x,",").concat(I.y,` + A`).concat(i,",").concat(i,",0,").concat(+(W>180),",").concat(+(d>0),",").concat(T.x,",").concat(T.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(A.x,",").concat(A.y,"Z")}else E+="L".concat(n,",").concat(r,"Z");return E},Sje={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},JB=function(t){var n=wL(wL({},Sje),t),r=n.cx,i=n.cy,o=n.innerRadius,a=n.outerRadius,s=n.cornerRadius,l=n.forceCornerRadius,u=n.cornerIsExternal,f=n.startAngle,d=n.endAngle,h=n.className;if(a0&&Math.abs(f-d)<360?x=wje({cx:r,cy:i,innerRadius:o,outerRadius:a,cornerRadius:Math.min(y,g/2),forceCornerRadius:l,cornerIsExternal:u,startAngle:f,endAngle:d}):x=QB({cx:r,cy:i,innerRadius:o,outerRadius:a,startAngle:f,endAngle:d}),V.createElement("path",pO({},De(n,!0),{className:v,d:x,role:"img"}))};function ip(e){"@babel/helpers - typeof";return ip=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ip(e)}function mO(){return mO=Object.assign?Object.assign.bind():function(e){for(var t=1;t0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function Mje(e,t){return vf(e.getTime(),t.getTime())}function AL(e,t,n){if(e.size!==t.size)return!1;for(var r={},i=e.entries(),o=0,a,s;(a=i.next())&&!a.done;){for(var l=t.entries(),u=!1,f=0;(s=l.next())&&!s.done;){var d=a.value,h=d[0],v=d[1],g=s.value,y=g[0],x=g[1];!u&&!r[f]&&(u=n.equals(h,y,o,f,e,t,n)&&n.equals(v,x,h,y,e,t,n))&&(r[f]=!0),f++}if(!u)return!1;o++}return!0}function Rje(e,t,n){var r=jL(e),i=r.length;if(jL(t).length!==i)return!1;for(var o;i-- >0;)if(o=r[i],o===tU&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!eU(t,o)||!n.equals(e[o],t[o],o,o,e,t,n))return!1;return!0}function ad(e,t,n){var r=CL(e),i=r.length;if(CL(t).length!==i)return!1;for(var o,a,s;i-- >0;)if(o=r[i],o===tU&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!eU(t,o)||!n.equals(e[o],t[o],o,o,e,t,n)||(a=TL(e,o),s=TL(t,o),(a||s)&&(!a||!s||a.configurable!==s.configurable||a.enumerable!==s.enumerable||a.writable!==s.writable)))return!1;return!0}function Lje(e,t){return vf(e.valueOf(),t.valueOf())}function $je(e,t){return e.source===t.source&&e.flags===t.flags}function kL(e,t,n){if(e.size!==t.size)return!1;for(var r={},i=e.values(),o,a;(o=i.next())&&!o.done;){for(var s=t.values(),l=!1,u=0;(a=s.next())&&!a.done;)!l&&!r[u]&&(l=n.equals(o.value,a.value,o.value,a.value,e,t,n))&&(r[u]=!0),u++;if(!l)return!1}return!0}function Ije(e,t){var n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}var Dje="[object Arguments]",Fje="[object Boolean]",Bje="[object Date]",Uje="[object Map]",zje="[object Number]",Vje="[object Object]",Wje="[object RegExp]",Hje="[object Set]",Gje="[object String]",qje=Array.isArray,NL=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,ML=Object.assign,Kje=Object.prototype.toString.call.bind(Object.prototype.toString);function Yje(e){var t=e.areArraysEqual,n=e.areDatesEqual,r=e.areMapsEqual,i=e.areObjectsEqual,o=e.arePrimitiveWrappersEqual,a=e.areRegExpsEqual,s=e.areSetsEqual,l=e.areTypedArraysEqual;return function(f,d,h){if(f===d)return!0;if(f==null||d==null||typeof f!="object"||typeof d!="object")return f!==f&&d!==d;var v=f.constructor;if(v!==d.constructor)return!1;if(v===Object)return i(f,d,h);if(qje(f))return t(f,d,h);if(NL!=null&&NL(f))return l(f,d,h);if(v===Date)return n(f,d,h);if(v===RegExp)return a(f,d,h);if(v===Map)return r(f,d,h);if(v===Set)return s(f,d,h);var g=Kje(f);return g===Bje?n(f,d,h):g===Wje?a(f,d,h):g===Uje?r(f,d,h):g===Hje?s(f,d,h):g===Vje?typeof f.then!="function"&&typeof d.then!="function"&&i(f,d,h):g===Dje?i(f,d,h):g===Fje||g===zje||g===Gje?o(f,d,h):!1}}function Zje(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,i={areArraysEqual:r?ad:Nje,areDatesEqual:Mje,areMapsEqual:r?PL(AL,ad):AL,areObjectsEqual:r?ad:Rje,arePrimitiveWrappersEqual:Lje,areRegExpsEqual:$je,areSetsEqual:r?PL(kL,ad):kL,areTypedArraysEqual:r?ad:Ije};if(n&&(i=ML({},i,n(i))),t){var o=Sv(i.areArraysEqual),a=Sv(i.areMapsEqual),s=Sv(i.areObjectsEqual),l=Sv(i.areSetsEqual);i=ML({},i,{areArraysEqual:o,areMapsEqual:a,areObjectsEqual:s,areSetsEqual:l})}return i}function Xje(e){return function(t,n,r,i,o,a,s){return e(t,n,s)}}function Qje(e){var t=e.circular,n=e.comparator,r=e.createState,i=e.equals,o=e.strict;if(r)return function(l,u){var f=r(),d=f.cache,h=d===void 0?t?new WeakMap:void 0:d,v=f.meta;return n(l,u,{cache:h,equals:i,meta:v,strict:o})};if(t)return function(l,u){return n(l,u,{cache:new WeakMap,equals:i,meta:void 0,strict:o})};var a={cache:void 0,equals:i,meta:void 0,strict:o};return function(l,u){return n(l,u,a)}}var Jje=xs();xs({strict:!0});xs({circular:!0});xs({circular:!0,strict:!0});xs({createInternalComparator:function(){return vf}});xs({strict:!0,createInternalComparator:function(){return vf}});xs({circular:!0,createInternalComparator:function(){return vf}});xs({circular:!0,createInternalComparator:function(){return vf},strict:!0});function xs(e){e===void 0&&(e={});var t=e.circular,n=t===void 0?!1:t,r=e.createInternalComparator,i=e.createState,o=e.strict,a=o===void 0?!1:o,s=Zje(e),l=Yje(s),u=r?r(l):Xje(l);return Qje({circular:n,comparator:l,createState:i,equals:u,strict:a})}function eAe(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function RL(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,r=function i(o){n<0&&(n=o),o-n>t?(e(o),n=-1):eAe(i)};requestAnimationFrame(r)}function vO(e){"@babel/helpers - typeof";return vO=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vO(e)}function tAe(e){return oAe(e)||iAe(e)||rAe(e)||nAe()}function nAe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rAe(e,t){if(e){if(typeof e=="string")return LL(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return LL(e,t)}}function LL(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?1:_<0?0:_},y=function(_){for(var b=_>1?1:_,w=b,O=0;O<8;++O){var E=d(w)-b,P=v(w);if(Math.abs(E-b)0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,i=t.damping,o=i===void 0?8:i,a=t.dt,s=a===void 0?17:a,l=function(f,d,h){var v=-(f-d)*r,g=h*o,y=h+(v-g)*s/1e3,x=h*s/1e3+f;return Math.abs(x-d)e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $Ae(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function ux(e){return BAe(e)||FAe(e)||DAe(e)||IAe()}function IAe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function DAe(e,t){if(e){if(typeof e=="string")return xO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xO(e,t)}}function FAe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function BAe(e){if(Array.isArray(e))return xO(e)}function xO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function n0(e){return n0=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},n0(e)}var yi=function(e){WAe(n,e);var t=HAe(n);function n(r,i){var o;UAe(this,n),o=t.call(this,r,i);var a=o.props,s=a.isActive,l=a.attributeName,u=a.from,f=a.to,d=a.steps,h=a.children,v=a.duration;if(o.handleStyleChange=o.handleStyleChange.bind(OO(o)),o.changeStyle=o.changeStyle.bind(OO(o)),!s||v<=0)return o.state={style:{}},typeof h=="function"&&(o.state={style:f}),SO(o);if(d&&d.length)o.state={style:d[0].style};else if(u){if(typeof h=="function")return o.state={style:u},SO(o);o.state={style:l?gd({},l,u):u}}else o.state={style:{}};return o}return zAe(n,[{key:"componentDidMount",value:function(){var i=this.props,o=i.isActive,a=i.canBegin;this.mounted=!0,!(!o||!a)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(i){var o=this.props,a=o.isActive,s=o.canBegin,l=o.attributeName,u=o.shouldReAnimate,f=o.to,d=o.from,h=this.state.style;if(s){if(!a){var v={style:l?gd({},l,f):f};this.state&&h&&(l&&h[l]!==f||!l&&h!==f)&&this.setState(v);return}if(!(Jje(i.to,f)&&i.canBegin&&i.isActive)){var g=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var y=g||u?d:i.to;if(this.state&&h){var x={style:l?gd({},l,y):y};(l&&h[l]!==y||!l&&h!==y)&&this.setState(x)}this.runAnimation(Ci(Ci({},this.props),{},{from:y,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var i=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),i&&i()}},{key:"handleStyleChange",value:function(i){this.changeStyle(i)}},{key:"changeStyle",value:function(i){this.mounted&&this.setState({style:i})}},{key:"runJSAnimation",value:function(i){var o=this,a=i.from,s=i.to,l=i.duration,u=i.easing,f=i.begin,d=i.onAnimationEnd,h=i.onAnimationStart,v=MAe(a,s,wAe(u),l,this.changeStyle),g=function(){o.stopJSAnimation=v()};this.manager.start([h,f,g,l,d])}},{key:"runStepAnimation",value:function(i){var o=this,a=i.steps,s=i.begin,l=i.onAnimationStart,u=a[0],f=u.style,d=u.duration,h=d===void 0?0:d,v=function(y,x,_){if(_===0)return y;var b=x.duration,w=x.easing,O=w===void 0?"ease":w,E=x.style,P=x.properties,T=x.onAnimationEnd,A=_>0?a[_-1]:x,D=P||Object.keys(E);if(typeof O=="function"||O==="spring")return[].concat(ux(y),[o.runJSAnimation.bind(o,{from:A.style,to:E,duration:b,easing:O}),b]);var k=DL(D,b,O),I=Ci(Ci(Ci({},A.style),E),{},{transition:k});return[].concat(ux(y),[I,b,T]).filter(cAe)};return this.manager.start([l].concat(ux(a.reduce(v,[f,Math.max(h,s)])),[i.onAnimationEnd]))}},{key:"runAnimation",value:function(i){this.manager||(this.manager=aAe());var o=i.begin,a=i.duration,s=i.attributeName,l=i.to,u=i.easing,f=i.onAnimationStart,d=i.onAnimationEnd,h=i.steps,v=i.children,g=this.manager;if(this.unSubscribe=g.subscribe(this.handleStyleChange),typeof u=="function"||typeof v=="function"||u==="spring"){this.runJSAnimation(i);return}if(h.length>1){this.runStepAnimation(i);return}var y=s?gd({},s,l):l,x=DL(Object.keys(y),a,u);g.start([f,o,Ci(Ci({},y),{},{transition:x}),a,d])}},{key:"render",value:function(){var i=this.props,o=i.children;i.begin;var a=i.duration;i.attributeName,i.easing;var s=i.isActive;i.steps,i.from,i.to,i.canBegin,i.onAnimationEnd,i.shouldReAnimate,i.onAnimationReStart;var l=LAe(i,RAe),u=R.Children.count(o),f=this.state.style;if(typeof o=="function")return o(f);if(!s||u===0||a<=0)return o;var d=function(v){var g=v.props,y=g.style,x=y===void 0?{}:y,_=g.className,b=R.cloneElement(v,Ci(Ci({},l),{},{style:Ci(Ci({},x),f),className:_}));return b};return u===1?d(R.Children.only(o)):V.createElement("div",null,R.Children.map(o,function(h){return d(h)}))}}]),n}(R.PureComponent);yi.displayName="Animate";yi.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};yi.propTypes={from:$.oneOfType([$.object,$.string]),to:$.oneOfType([$.object,$.string]),attributeName:$.string,duration:$.number,begin:$.number,easing:$.oneOfType([$.string,$.func]),steps:$.arrayOf($.shape({duration:$.number.isRequired,style:$.object.isRequired,easing:$.oneOfType([$.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),$.func]),properties:$.arrayOf("string"),onAnimationEnd:$.func})),children:$.oneOfType([$.node,$.func]),isActive:$.bool,canBegin:$.bool,onAnimationEnd:$.func,shouldReAnimate:$.bool,onAnimationStart:$.func,onAnimationReStart:$.func};$.object,$.object,$.object,$.element;$.object,$.object,$.object,$.oneOfType([$.array,$.element]),$.any;function sp(e){"@babel/helpers - typeof";return sp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sp(e)}function r0(){return r0=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?1:-1,l=r>=0?1:-1,u=i>=0&&r>=0||i<0&&r<0?1:0,f;if(a>0&&o instanceof Array){for(var d=[0,0,0,0],h=0,v=4;ha?a:o[h];f="M".concat(t,",").concat(n+s*d[0]),d[0]>0&&(f+="A ".concat(d[0],",").concat(d[0],",0,0,").concat(u,",").concat(t+l*d[0],",").concat(n)),f+="L ".concat(t+r-l*d[1],",").concat(n),d[1]>0&&(f+="A ".concat(d[1],",").concat(d[1],",0,0,").concat(u,`, + `).concat(t+r,",").concat(n+s*d[1])),f+="L ".concat(t+r,",").concat(n+i-s*d[2]),d[2]>0&&(f+="A ".concat(d[2],",").concat(d[2],",0,0,").concat(u,`, + `).concat(t+r-l*d[2],",").concat(n+i)),f+="L ".concat(t+l*d[3],",").concat(n+i),d[3]>0&&(f+="A ".concat(d[3],",").concat(d[3],",0,0,").concat(u,`, + `).concat(t,",").concat(n+i-s*d[3])),f+="Z"}else if(a>0&&o===+o&&o>0){var g=Math.min(a,o);f="M ".concat(t,",").concat(n+s*g,` + A `).concat(g,",").concat(g,",0,0,").concat(u,",").concat(t+l*g,",").concat(n,` + L `).concat(t+r-l*g,",").concat(n,` + A `).concat(g,",").concat(g,",0,0,").concat(u,",").concat(t+r,",").concat(n+s*g,` + L `).concat(t+r,",").concat(n+i-s*g,` + A `).concat(g,",").concat(g,",0,0,").concat(u,",").concat(t+r-l*g,",").concat(n+i,` + L `).concat(t+l*g,",").concat(n+i,` + A `).concat(g,",").concat(g,",0,0,").concat(u,",").concat(t,",").concat(n+i-s*g," Z")}else f="M ".concat(t,",").concat(n," h ").concat(r," v ").concat(i," h ").concat(-r," Z");return f},tke=function(t,n){if(!t||!n)return!1;var r=t.x,i=t.y,o=n.x,a=n.y,s=n.width,l=n.height;if(Math.abs(s)>0&&Math.abs(l)>0){var u=Math.min(o,o+s),f=Math.max(o,o+s),d=Math.min(a,a+l),h=Math.max(a,a+l);return r>=u&&r<=f&&i>=d&&i<=h}return!1},nke={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},dT=function(t){var n=qL(qL({},nke),t),r=R.useRef(),i=R.useState(-1),o=qAe(i,2),a=o[0],s=o[1];R.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var O=r.current.getTotalLength();O&&s(O)}catch{}},[]);var l=n.x,u=n.y,f=n.width,d=n.height,h=n.radius,v=n.className,g=n.animationEasing,y=n.animationDuration,x=n.animationBegin,_=n.isAnimationActive,b=n.isUpdateAnimationActive;if(l!==+l||u!==+u||f!==+f||d!==+d||f===0||d===0)return null;var w=Pe("recharts-rectangle",v);return b?V.createElement(yi,{canBegin:a>0,from:{width:f,height:d,x:l,y:u},to:{width:f,height:d,x:l,y:u},duration:y,animationEasing:g,isActive:b},function(O){var E=O.width,P=O.height,T=O.x,A=O.y;return V.createElement(yi,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:x,duration:y,isActive:_,easing:g},V.createElement("path",r0({},De(n,!0),{className:w,d:KL(T,A,E,P,h),ref:r})))}):V.createElement("path",r0({},De(n,!0),{className:w,d:KL(l,u,f,d,h)}))},rke=["points","className","baseLinePoints","connectNulls"];function Du(){return Du=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function oke(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function YL(e){return uke(e)||lke(e)||ske(e)||ake()}function ake(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ske(e,t){if(e){if(typeof e=="string")return EO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return EO(e,t)}}function lke(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function uke(e){if(Array.isArray(e))return EO(e)}function EO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[],n=[[]];return t.forEach(function(r){ZL(r)?n[n.length-1].push(r):n[n.length-1].length>0&&n.push([])}),ZL(t[0])&&n[n.length-1].push(t[0]),n[n.length-1].length<=0&&(n=n.slice(0,-1)),n},Hd=function(t,n){var r=cke(t);n&&(r=[r.reduce(function(o,a){return[].concat(YL(o),YL(a))},[])]);var i=r.map(function(o){return o.reduce(function(a,s,l){return"".concat(a).concat(l===0?"M":"L").concat(s.x,",").concat(s.y)},"")}).join("");return r.length===1?"".concat(i,"Z"):i},fke=function(t,n,r){var i=Hd(t,r);return"".concat(i.slice(-1)==="Z"?i.slice(0,-1):i,"L").concat(Hd(n.reverse(),r).slice(1))},dke=function(t){var n=t.points,r=t.className,i=t.baseLinePoints,o=t.connectNulls,a=ike(t,rke);if(!n||!n.length)return null;var s=Pe("recharts-polygon",r);if(i&&i.length){var l=a.stroke&&a.stroke!=="none",u=fke(n,i,o);return V.createElement("g",{className:s},V.createElement("path",Du({},De(a,!0),{fill:u.slice(-1)==="Z"?a.fill:"none",stroke:"none",d:u})),l?V.createElement("path",Du({},De(a,!0),{fill:"none",d:Hd(n,o)})):null,l?V.createElement("path",Du({},De(a,!0),{fill:"none",d:Hd(i,o)})):null)}var f=Hd(n,o);return V.createElement("path",Du({},De(a,!0),{fill:f.slice(-1)==="Z"?a.fill:"none",className:s,d:f}))};function PO(){return PO=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function bke(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var _ke=function(t,n,r,i,o,a){return"M".concat(t,",").concat(o,"v").concat(i,"M").concat(a,",").concat(n,"h").concat(r)},xke=function(t){var n=t.x,r=n===void 0?0:n,i=t.y,o=i===void 0?0:i,a=t.top,s=a===void 0?0:a,l=t.left,u=l===void 0?0:l,f=t.width,d=f===void 0?0:f,h=t.height,v=h===void 0?0:h,g=t.className,y=yke(t,hke),x=pke({x:r,y:o,top:s,left:u,width:d,height:v},y);return!Ee(r)||!Ee(o)||!Ee(d)||!Ee(v)||!Ee(s)||!Ee(u)?null:V.createElement("path",CO({},De(x,!0),{className:Pe("recharts-cross",g),d:_ke(r,o,d,v,s,u)}))},wke=Wb,Ske=OB,Oke=Po;function Eke(e,t){return e&&e.length?wke(e,Oke(t),Ske):void 0}var Pke=Eke;const Cke=at(Pke);var Tke=Wb,jke=Po,Ake=EB;function kke(e,t){return e&&e.length?Tke(e,jke(t),Ake):void 0}var Nke=kke;const Mke=at(Nke);var Rke=["cx","cy","angle","ticks","axisLine"],Lke=["ticks","tick","angle","tickFormatter","stroke"];function Nc(e){"@babel/helpers - typeof";return Nc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nc(e)}function Gd(){return Gd=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $ke(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function Ike(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function e4(e,t){for(var n=0;nr4?a=i==="outer"?"start":"end":o<-r4?a=i==="outer"?"end":"start":a="middle",a}},{key:"renderAxisLine",value:function(){var r=this.props,i=r.cx,o=r.cy,a=r.radius,s=r.axisLine,l=r.axisLineType,u=Ns(Ns({},De(this.props,!1)),{},{fill:"none"},De(s,!1));if(l==="circle")return V.createElement(Qp,Ks({className:"recharts-polar-angle-axis-line"},u,{cx:i,cy:o,r:a}));var f=this.props.ticks,d=f.map(function(h){return Et(i,o,a,h.coordinate)});return V.createElement(dke,Ks({className:"recharts-polar-angle-axis-line"},u,{points:d}))}},{key:"renderTicks",value:function(){var r=this,i=this.props,o=i.ticks,a=i.tick,s=i.tickLine,l=i.tickFormatter,u=i.stroke,f=De(this.props,!1),d=De(a,!1),h=Ns(Ns({},f),{},{fill:"none"},De(s,!1)),v=o.map(function(g,y){var x=r.getTickLineCoord(g),_=r.getTickTextAnchor(g),b=Ns(Ns(Ns({textAnchor:_},f),{},{stroke:"none",fill:u},d),{},{index:y,payload:g,x:x.x2,y:x.y2});return V.createElement(Qe,Ks({className:Pe("recharts-polar-angle-axis-tick",ZB(a)),key:"tick-".concat(g.coordinate)},os(r.props,g,y)),s&&V.createElement("line",Ks({className:"recharts-polar-angle-axis-tick-line"},h,x)),a&&t.renderTickItem(a,b,l?l(g.value,y):g.value))});return V.createElement(Qe,{className:"recharts-polar-angle-axis-ticks"},v)}},{key:"render",value:function(){var r=this.props,i=r.ticks,o=r.radius,a=r.axisLine;return o<=0||!i||!i.length?null:V.createElement(Qe,{className:Pe("recharts-polar-angle-axis",this.props.className)},a&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(r,i,o){var a;return V.isValidElement(r)?a=V.cloneElement(r,i):We(r)?a=r(i):a=V.createElement(jl,Ks({},i,{className:"recharts-polar-angle-axis-tick-value"}),o),a}}]),t}(R.PureComponent);Zb(Xb,"displayName","PolarAngleAxis");Zb(Xb,"axisType","angleAxis");Zb(Xb,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var Qke=b7,Jke=Qke(Object.getPrototypeOf,Object),e3e=Jke,t3e=ua,n3e=e3e,r3e=ca,i3e="[object Object]",o3e=Function.prototype,a3e=Object.prototype,dU=o3e.toString,s3e=a3e.hasOwnProperty,l3e=dU.call(Object);function u3e(e){if(!r3e(e)||t3e(e)!=i3e)return!1;var t=n3e(e);if(t===null)return!0;var n=s3e.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&dU.call(n)==l3e}var c3e=u3e;const f3e=at(c3e);var d3e=ua,h3e=ca,p3e="[object Boolean]";function m3e(e){return e===!0||e===!1||h3e(e)&&d3e(e)==p3e}var v3e=m3e;const g3e=at(v3e);function up(e){"@babel/helpers - typeof";return up=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},up(e)}function a0(){return a0=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:h,x:l,y:u},to:{upperWidth:f,lowerWidth:d,height:h,x:l,y:u},duration:y,animationEasing:g,isActive:_},function(w){var O=w.upperWidth,E=w.lowerWidth,P=w.height,T=w.x,A=w.y;return V.createElement(yi,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:x,duration:y,easing:g},V.createElement("path",a0({},De(n,!0),{className:b,d:s4(T,A,O,E,P),ref:r})))}):V.createElement("g",null,V.createElement("path",a0({},De(n,!0),{className:b,d:s4(l,u,f,d,h)})))},T3e=["option","shapeType","propTransformer","activeClassName","isActive"];function cp(e){"@babel/helpers - typeof";return cp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cp(e)}function j3e(e,t){if(e==null)return{};var n=A3e(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function A3e(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function l4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function s0(e){for(var t=1;t0?Dr(w,"paddingAngle",0):0;if(E){var T=zt(E.endAngle-E.startAngle,w.endAngle-w.startAngle),A=Rt(Rt({},w),{},{startAngle:b+P,endAngle:b+T(y)+P});x.push(A),b=A.endAngle}else{var D=w.endAngle,k=w.startAngle,I=zt(0,D-k),F=I(y),q=Rt(Rt({},w),{},{startAngle:b+P,endAngle:b+F+P});x.push(q),b=q.endAngle}}),V.createElement(Qe,null,r.renderSectorsStatically(x))})}},{key:"attachKeyboardHandlers",value:function(r){var i=this;r.onkeydown=function(o){if(!o.altKey)switch(o.key){case"ArrowLeft":{var a=++i.state.sectorToFocus%i.sectorRefs.length;i.sectorRefs[a].focus(),i.setState({sectorToFocus:a});break}case"ArrowRight":{var s=--i.state.sectorToFocus<0?i.sectorRefs.length-1:i.state.sectorToFocus%i.sectorRefs.length;i.sectorRefs[s].focus(),i.setState({sectorToFocus:s});break}case"Escape":{i.sectorRefs[i.state.sectorToFocus].blur(),i.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var r=this.props,i=r.sectors,o=r.isAnimationActive,a=this.state.prevSectors;return o&&i&&i.length&&(!a||!as(a,i))?this.renderSectorsWithAnimation():this.renderSectorsStatically(i)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var r=this,i=this.props,o=i.hide,a=i.sectors,s=i.className,l=i.label,u=i.cx,f=i.cy,d=i.innerRadius,h=i.outerRadius,v=i.isAnimationActive,g=this.state.isAnimationFinished;if(o||!a||!a.length||!Ee(u)||!Ee(f)||!Ee(d)||!Ee(h))return null;var y=Pe("recharts-pie",s);return V.createElement(Qe,{tabIndex:this.props.rootTabIndex,className:y,ref:function(_){r.pieRef=_}},this.renderSectors(),l&&this.renderLabels(a),Pn.renderCallByParent(this.props,null,!1),(!v||g)&&Bi.renderCallByParent(this.props,a,!1))}}],[{key:"getDerivedStateFromProps",value:function(r,i){return i.prevIsAnimationActive!==r.isAnimationActive?{prevIsAnimationActive:r.isAnimationActive,prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:[],isAnimationFinished:!0}:r.isAnimationActive&&r.animationId!==i.prevAnimationId?{prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:i.curSectors,isAnimationFinished:!0}:r.sectors!==i.curSectors?{curSectors:r.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(r,i){return r>i?"start":r=360?b:b-1)*l,O=x-b*v-w,E=r.reduce(function(A,D){var k=kt(D,_,0);return A+(Ee(k)?k:0)},0),P;if(E>0){var T;P=r.map(function(A,D){var k=kt(A,_,0),I=kt(A,f,D),F=(Ee(k)?k:0)/E,q;D?q=T.endAngle+ir(y)*l*(k!==0?1:0):q=a;var W=q+ir(y)*((k!==0?v:0)+F*O),X=(q+W)/2,Q=(g.innerRadius+g.outerRadius)/2,ne=[{name:I,value:k,payload:A,dataKey:_,type:h}],Z=Et(g.cx,g.cy,Q,X);return T=Rt(Rt(Rt({percent:F,cornerRadius:o,name:I,tooltipPayload:ne,midAngle:X,middleRadius:Q,tooltipPosition:Z},A),g),{},{value:kt(A,_),startAngle:q,endAngle:W,payload:A,paddingAngle:ir(y)*l}),T})}return Rt(Rt({},g),{},{sectors:P,data:r})});var Z3e=Math.ceil,X3e=Math.max;function Q3e(e,t,n,r){for(var i=-1,o=X3e(Z3e((t-e)/(n||1)),0),a=Array(o);o--;)a[r?o:++i]=e,e+=n;return a}var J3e=Q3e,eNe=F7,d4=1/0,tNe=17976931348623157e292;function nNe(e){if(!e)return e===0?e:0;if(e=eNe(e),e===d4||e===-d4){var t=e<0?-1:1;return t*tNe}return e===e?e:0}var mU=nNe,rNe=J3e,iNe=Ib,cx=mU;function oNe(e){return function(t,n,r){return r&&typeof r!="number"&&iNe(t,n,r)&&(n=r=void 0),t=cx(t),n===void 0?(n=t,t=0):n=cx(n),r=r===void 0?t0&&r.handleDrag(i.changedTouches[0])}),kr(to(r),"handleDragEnd",function(){r.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var i=r.props,o=i.endIndex,a=i.onDragEnd,s=i.startIndex;a==null||a({endIndex:o,startIndex:s})}),r.detachDragEndListener()}),kr(to(r),"handleLeaveWrapper",function(){(r.state.isTravellerMoving||r.state.isSlideMoving)&&(r.leaveTimer=window.setTimeout(r.handleDragEnd,r.props.leaveTimeOut))}),kr(to(r),"handleEnterSlideOrTraveller",function(){r.setState({isTextActive:!0})}),kr(to(r),"handleLeaveSlideOrTraveller",function(){r.setState({isTextActive:!1})}),kr(to(r),"handleSlideDragStart",function(i){var o=g4(i)?i.changedTouches[0]:i;r.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:o.pageX}),r.attachDragEndListener()}),r.travellerDragStartHandlers={startX:r.handleTravellerDragStart.bind(to(r),"startX"),endX:r.handleTravellerDragStart.bind(to(r),"endX")},r.state={},r}return mNe(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(r){var i=r.startX,o=r.endX,a=this.state.scaleValues,s=this.props,l=s.gap,u=s.data,f=u.length-1,d=Math.min(i,o),h=Math.max(i,o),v=t.getIndexInRange(a,d),g=t.getIndexInRange(a,h);return{startIndex:v-v%l,endIndex:g===f?f:g-g%l}}},{key:"getTextOfTick",value:function(r){var i=this.props,o=i.data,a=i.tickFormatter,s=i.dataKey,l=kt(o[r],s,r);return We(a)?a(l,r):l}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(r){var i=this.state,o=i.slideMoveStartX,a=i.startX,s=i.endX,l=this.props,u=l.x,f=l.width,d=l.travellerWidth,h=l.startIndex,v=l.endIndex,g=l.onChange,y=r.pageX-o;y>0?y=Math.min(y,u+f-d-s,u+f-d-a):y<0&&(y=Math.max(y,u-a,u-s));var x=this.getIndex({startX:a+y,endX:s+y});(x.startIndex!==h||x.endIndex!==v)&&g&&g(x),this.setState({startX:a+y,endX:s+y,slideMoveStartX:r.pageX})}},{key:"handleTravellerDragStart",value:function(r,i){var o=g4(i)?i.changedTouches[0]:i;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:r,brushMoveStartX:o.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(r){var i=this.state,o=i.brushMoveStartX,a=i.movingTravellerId,s=i.endX,l=i.startX,u=this.state[a],f=this.props,d=f.x,h=f.width,v=f.travellerWidth,g=f.onChange,y=f.gap,x=f.data,_={startX:this.state.startX,endX:this.state.endX},b=r.pageX-o;b>0?b=Math.min(b,d+h-v-u):b<0&&(b=Math.max(b,d-u)),_[a]=u+b;var w=this.getIndex(_),O=w.startIndex,E=w.endIndex,P=function(){var A=x.length-1;return a==="startX"&&(s>l?O%y===0:E%y===0)||sl?E%y===0:O%y===0)||s>l&&E===A};this.setState(kr(kr({},a,u+b),"brushMoveStartX",r.pageX),function(){g&&P()&&g(w)})}},{key:"handleTravellerMoveKeyboard",value:function(r,i){var o=this,a=this.state,s=a.scaleValues,l=a.startX,u=a.endX,f=this.state[i],d=s.indexOf(f);if(d!==-1){var h=d+r;if(!(h===-1||h>=s.length)){var v=s[h];i==="startX"&&v>=u||i==="endX"&&v<=l||this.setState(kr({},i,v),function(){o.props.onChange(o.getIndex({startX:o.state.startX,endX:o.state.endX}))})}}}},{key:"renderBackground",value:function(){var r=this.props,i=r.x,o=r.y,a=r.width,s=r.height,l=r.fill,u=r.stroke;return V.createElement("rect",{stroke:u,fill:l,x:i,y:o,width:a,height:s})}},{key:"renderPanorama",value:function(){var r=this.props,i=r.x,o=r.y,a=r.width,s=r.height,l=r.data,u=r.children,f=r.padding,d=R.Children.only(u);return d?V.cloneElement(d,{x:i,y:o,width:a,height:s,margin:f,compact:!0,data:l}):null}},{key:"renderTravellerLayer",value:function(r,i){var o=this,a=this.props,s=a.y,l=a.travellerWidth,u=a.height,f=a.traveller,d=a.ariaLabel,h=a.data,v=a.startIndex,g=a.endIndex,y=Math.max(r,this.props.x),x=fx(fx({},De(this.props,!1)),{},{x:y,y:s,width:l,height:u}),_=d||"Min value: ".concat(h[v].name,", Max value: ").concat(h[g].name);return V.createElement(Qe,{tabIndex:0,role:"slider","aria-label":_,"aria-valuenow":r,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[i],onTouchStart:this.travellerDragStartHandlers[i],onKeyDown:function(w){["ArrowLeft","ArrowRight"].includes(w.key)&&(w.preventDefault(),w.stopPropagation(),o.handleTravellerMoveKeyboard(w.key==="ArrowRight"?1:-1,i))},onFocus:function(){o.setState({isTravellerFocused:!0})},onBlur:function(){o.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(f,x))}},{key:"renderSlide",value:function(r,i){var o=this.props,a=o.y,s=o.height,l=o.stroke,u=o.travellerWidth,f=Math.min(r,i)+u,d=Math.max(Math.abs(i-r)-u,0);return V.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:l,fillOpacity:.2,x:f,y:a,width:d,height:s})}},{key:"renderText",value:function(){var r=this.props,i=r.startIndex,o=r.endIndex,a=r.y,s=r.height,l=r.travellerWidth,u=r.stroke,f=this.state,d=f.startX,h=f.endX,v=5,g={pointerEvents:"none",fill:u};return V.createElement(Qe,{className:"recharts-brush-texts"},V.createElement(jl,f0({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,h)-v,y:a+s/2},g),this.getTextOfTick(i)),V.createElement(jl,f0({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,h)+l+v,y:a+s/2},g),this.getTextOfTick(o)))}},{key:"render",value:function(){var r=this.props,i=r.data,o=r.className,a=r.children,s=r.x,l=r.y,u=r.width,f=r.height,d=r.alwaysShowText,h=this.state,v=h.startX,g=h.endX,y=h.isTextActive,x=h.isSlideMoving,_=h.isTravellerMoving,b=h.isTravellerFocused;if(!i||!i.length||!Ee(s)||!Ee(l)||!Ee(u)||!Ee(f)||u<=0||f<=0)return null;var w=Pe("recharts-brush",o),O=V.Children.count(a)===1,E=hNe("userSelect","none");return V.createElement(Qe,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:E},this.renderBackground(),O&&this.renderPanorama(),this.renderSlide(v,g),this.renderTravellerLayer(v,"startX"),this.renderTravellerLayer(g,"endX"),(y||x||_||b||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(r){var i=r.x,o=r.y,a=r.width,s=r.height,l=r.stroke,u=Math.floor(o+s/2)-1;return V.createElement(V.Fragment,null,V.createElement("rect",{x:i,y:o,width:a,height:s,fill:l,stroke:"none"}),V.createElement("line",{x1:i+1,y1:u,x2:i+a-1,y2:u,fill:"none",stroke:"#fff"}),V.createElement("line",{x1:i+1,y1:u+2,x2:i+a-1,y2:u+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(r,i){var o;return V.isValidElement(r)?o=V.cloneElement(r,i):We(r)?o=r(i):o=t.renderDefaultTraveller(i),o}},{key:"getDerivedStateFromProps",value:function(r,i){var o=r.data,a=r.width,s=r.x,l=r.travellerWidth,u=r.updateId,f=r.startIndex,d=r.endIndex;if(o!==i.prevData||u!==i.prevUpdateId)return fx({prevData:o,prevTravellerWidth:l,prevUpdateId:u,prevX:s,prevWidth:a},o&&o.length?_Ne({data:o,width:a,x:s,travellerWidth:l,startIndex:f,endIndex:d}):{scale:null,scaleValues:null});if(i.scale&&(a!==i.prevWidth||s!==i.prevX||l!==i.prevTravellerWidth)){i.scale.range([s,s+a-l]);var h=i.scale.domain().map(function(v){return i.scale(v)});return{prevData:o,prevTravellerWidth:l,prevUpdateId:u,prevX:s,prevWidth:a,startX:i.scale(r.startIndex),endX:i.scale(r.endIndex),scaleValues:h}}return null}},{key:"getIndexInRange",value:function(r,i){for(var o=r.length,a=0,s=o-1;s-a>1;){var l=Math.floor((a+s)/2);r[l]>i?s=l:a=l}return i>=r[s]?s:a}}]),t}(R.PureComponent);kr($c,"displayName","Brush");kr($c,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var xNe=IC;function wNe(e,t){var n;return xNe(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}var SNe=wNe,ONe=f7,ENe=Po,PNe=SNe,CNe=Tr,TNe=Ib;function jNe(e,t,n){var r=CNe(e)?ONe:PNe;return n&&TNe(e,t,n)&&(t=void 0),r(e,ENe(t))}var ANe=jNe;const kNe=at(ANe);var mo=function(t,n){var r=t.alwaysShow,i=t.ifOverflow;return r&&(i="extendDomain"),i===n},y4=R7;function NNe(e,t,n){t=="__proto__"&&y4?y4(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var MNe=NNe,RNe=MNe,LNe=N7,$Ne=Po;function INe(e,t){var n={};return t=$Ne(t),LNe(e,function(r,i,o){RNe(n,i,t(r,i,o))}),n}var DNe=INe;const FNe=at(DNe);function BNe(e,t){for(var n=-1,r=e==null?0:e.length;++n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function rMe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function iMe(e,t){var n=e.x,r=e.y,i=nMe(e,QNe),o="".concat(n),a=parseInt(o,10),s="".concat(r),l=parseInt(s,10),u="".concat(t.height||i.height),f=parseInt(u,10),d="".concat(t.width||i.width),h=parseInt(d,10);return sd(sd(sd(sd(sd({},t),i),a?{x:a}:{}),l?{y:l}:{}),{},{height:f,width:h,name:t.name,radius:t.radius})}function _4(e){return V.createElement(l0,NO({shapeType:"rectangle",propTransformer:iMe,activeClassName:"recharts-active-bar"},e))}var oMe=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(r,i){if(typeof t=="number")return t;var o=typeof r=="number";return o?t(r,i):(o||kl(!1),n)}},aMe=["value","background"],_U;function Ic(e){"@babel/helpers - typeof";return Ic=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ic(e)}function sMe(e,t){if(e==null)return{};var n=lMe(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function lMe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function h0(){return h0=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(W)0&&Math.abs(q)0&&(q=Math.min((te||0)-(W[ie-1]||0),q))}),Number.isFinite(q)){var X=q/F,Q=y.layout==="vertical"?r.height:r.width;if(y.padding==="gap"&&(T=X*Q/2),y.padding==="no-gap"){var ne=or(t.barCategoryGap,X*Q),Z=X*Q/2;T=Z-ne-(Z-ne)/Q*ne}}}i==="xAxis"?A=[r.left+(w.left||0)+(T||0),r.left+r.width-(w.right||0)-(T||0)]:i==="yAxis"?A=l==="horizontal"?[r.top+r.height-(w.bottom||0),r.top+(w.top||0)]:[r.top+(w.top||0)+(T||0),r.top+r.height-(w.bottom||0)-(T||0)]:A=y.range,E&&(A=[A[1],A[0]]);var z=VB(y,o,h),B=z.scale,H=z.realScaleType;B.domain(_).range(A),WB(B);var ee=HB(B,Ai(Ai({},y),{},{realScaleType:H}));i==="xAxis"?(I=x==="top"&&!O||x==="bottom"&&O,D=r.left,k=d[P]-I*y.height):i==="yAxis"&&(I=x==="left"&&!O||x==="right"&&O,D=d[P]-I*y.width,k=r.top);var K=Ai(Ai(Ai({},y),ee),{},{realScaleType:H,x:D,y:k,scale:B,width:i==="xAxis"?r.width:y.width,height:i==="yAxis"?r.height:y.height});return K.bandSize=Xy(K,ee),!y.hide&&i==="xAxis"?d[P]+=(I?-1:1)*K.height:y.hide||(d[P]+=(I?-1:1)*K.width),Ai(Ai({},v),{},e1({},g,K))},{})},EU=function(t,n){var r=t.x,i=t.y,o=n.x,a=n.y;return{x:Math.min(r,o),y:Math.min(i,a),width:Math.abs(o-r),height:Math.abs(a-i)}},yMe=function(t){var n=t.x1,r=t.y1,i=t.x2,o=t.y2;return EU({x:n,y:r},{x:i,y:o})},PU=function(){function e(t){mMe(this,e),this.scale=t}return vMe(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.bandAware,o=r.position;if(n!==void 0){if(o)switch(o){case"start":return this.scale(n);case"middle":{var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+a}case"end":{var s=this.bandwidth?this.bandwidth():0;return this.scale(n)+s}default:return this.scale(n)}if(i){var l=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+l}return this.scale(n)}}},{key:"isInRange",value:function(n){var r=this.range(),i=r[0],o=r[r.length-1];return i<=o?n>=i&&n<=o:n>=o&&n<=i}}],[{key:"create",value:function(n){return new e(n)}}]),e}();e1(PU,"EPS",1e-4);var hT=function(t){var n=Object.keys(t).reduce(function(r,i){return Ai(Ai({},r),{},e1({},i,PU.create(t[i])))},{});return Ai(Ai({},n),{},{apply:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=o.bandAware,s=o.position;return FNe(i,function(l,u){return n[u].apply(l,{bandAware:a,position:s})})},isInRange:function(i){return bU(i,function(o,a){return n[a].isInRange(o)})}})};function bMe(e){return(e%180+180)%180}var _Me=function(t){var n=t.width,r=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=bMe(i),a=o*Math.PI/180,s=Math.atan(r/n),l=a>s&&a-1?i[o?t[a]:a]:void 0}}var EMe=OMe,PMe=mU;function CMe(e){var t=PMe(e),n=t%1;return t===t?n?t-n:t:0}var TMe=CMe,jMe=E7,AMe=Po,kMe=TMe,NMe=Math.max;function MMe(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:kMe(n);return i<0&&(i=NMe(r+i,0)),jMe(e,AMe(t),i)}var RMe=MMe,LMe=EMe,$Me=RMe,IMe=LMe($Me),DMe=IMe;const FMe=at(DMe);var BMe=fme(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),pT=R.createContext(void 0),mT=R.createContext(void 0),CU=R.createContext(void 0),TU=R.createContext({}),jU=R.createContext(void 0),AU=R.createContext(0),kU=R.createContext(0),E4=function(t){var n=t.state,r=n.xAxisMap,i=n.yAxisMap,o=n.offset,a=t.clipPathId,s=t.children,l=t.width,u=t.height,f=BMe(o);return V.createElement(pT.Provider,{value:r},V.createElement(mT.Provider,{value:i},V.createElement(TU.Provider,{value:o},V.createElement(CU.Provider,{value:f},V.createElement(jU.Provider,{value:a},V.createElement(AU.Provider,{value:u},V.createElement(kU.Provider,{value:l},s)))))))},UMe=function(){return R.useContext(jU)},NU=function(t){var n=R.useContext(pT);n==null&&kl(!1);var r=n[t];return r==null&&kl(!1),r},zMe=function(){var t=R.useContext(pT);return ja(t)},VMe=function(){var t=R.useContext(mT),n=FMe(t,function(r){return bU(r.domain,Number.isFinite)});return n||ja(t)},MU=function(t){var n=R.useContext(mT);n==null&&kl(!1);var r=n[t];return r==null&&kl(!1),r},WMe=function(){var t=R.useContext(CU);return t},HMe=function(){return R.useContext(TU)},vT=function(){return R.useContext(kU)},gT=function(){return R.useContext(AU)};function mp(e){"@babel/helpers - typeof";return mp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mp(e)}function P4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function C4(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);ne*i)return!1;var o=n();return e*(t-e*o/2-r)>=0&&e*(t+e*o/2-i)<=0}function dRe(e,t){return RU(e,t+1)}function hRe(e,t,n,r,i){for(var o=(r||[]).slice(),a=t.start,s=t.end,l=0,u=1,f=a,d=function(){var g=r==null?void 0:r[l];if(g===void 0)return{v:RU(r,u)};var y=l,x,_=function(){return x===void 0&&(x=n(g,y)),x},b=g.coordinate,w=l===0||m0(e,b,_,f,s);w||(l=0,f=a,u+=1),w&&(f=b+e*(_()/2+i),l+=u)},h;u<=o.length;)if(h=d(),h)return h.v;return[]}function yp(e){"@babel/helpers - typeof";return yp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yp(e)}function M4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Wn(e){for(var t=1;t0?v.coordinate-x*e:v.coordinate})}else o[h]=v=Wn(Wn({},v),{},{tickCoord:v.coordinate});var _=m0(e,v.tickCoord,y,s,l);_&&(l=v.tickCoord-e*(y()/2+i),o[h]=Wn(Wn({},v),{},{isShow:!0}))},f=a-1;f>=0;f--)u(f);return o}function yRe(e,t,n,r,i,o){var a=(r||[]).slice(),s=a.length,l=t.start,u=t.end;if(o){var f=r[s-1],d=n(f,s-1),h=e*(f.coordinate+e*d/2-u);a[s-1]=f=Wn(Wn({},f),{},{tickCoord:h>0?f.coordinate-h*e:f.coordinate});var v=m0(e,f.tickCoord,function(){return d},l,u);v&&(u=f.tickCoord-e*(d/2+i),a[s-1]=Wn(Wn({},f),{},{isShow:!0}))}for(var g=o?s-1:s,y=function(b){var w=a[b],O,E=function(){return O===void 0&&(O=n(w,b)),O};if(b===0){var P=e*(w.coordinate-e*E()/2-l);a[b]=w=Wn(Wn({},w),{},{tickCoord:P<0?w.coordinate-P*e:w.coordinate})}else a[b]=w=Wn(Wn({},w),{},{tickCoord:w.coordinate});var T=m0(e,w.tickCoord,E,l,u);T&&(l=w.tickCoord+e*(E()/2+i),a[b]=Wn(Wn({},w),{},{isShow:!0}))},x=0;x=2?ir(i[1].coordinate-i[0].coordinate):1,_=fRe(o,x,v);return l==="equidistantPreserveStart"?hRe(x,_,y,i,a):(l==="preserveStart"||l==="preserveStartEnd"?h=yRe(x,_,y,i,a,l==="preserveStartEnd"):h=gRe(x,_,y,i,a),h.filter(function(b){return b.isShow}))}var bRe=["viewBox"],_Re=["viewBox"],xRe=["ticks"];function Dc(e){"@babel/helpers - typeof";return Dc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Dc(e)}function Bu(){return Bu=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function wRe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function SRe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function L4(e,t){for(var n=0;n0?l(this.props):l(v)),a<=0||s<=0||!g||!g.length?null:V.createElement(Qe,{className:Pe("recharts-cartesian-axis",u),ref:function(x){r.layerReference=x}},o&&this.renderAxisLine(),this.renderTicks(g,this.state.fontSize,this.state.letterSpacing),Pn.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(r,i,o){var a;return V.isValidElement(r)?a=V.cloneElement(r,i):We(r)?a=r(i):a=V.createElement(jl,Bu({},i,{className:"recharts-cartesian-axis-tick-value"}),o),a}}]),t}(R.Component);_T(gf,"displayName","CartesianAxis");_T(gf,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var ARe=["x1","y1","x2","y2","key"],kRe=["offset"];function Nl(e){"@babel/helpers - typeof";return Nl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nl(e)}function $4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function qn(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function LRe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var $Re=function(t){var n=t.fill;if(!n||n==="none")return null;var r=t.fillOpacity,i=t.x,o=t.y,a=t.width,s=t.height;return V.createElement("rect",{x:i,y:o,width:a,height:s,stroke:"none",fill:n,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function IU(e,t){var n;if(V.isValidElement(e))n=V.cloneElement(e,t);else if(We(e))n=e(t);else{var r=t.x1,i=t.y1,o=t.x2,a=t.y2,s=t.key,l=I4(t,ARe),u=De(l,!1);u.offset;var f=I4(u,kRe);n=V.createElement("line",al({},f,{x1:r,y1:i,x2:o,y2:a,fill:"none",key:s}))}return n}function IRe(e){var t=e.x,n=e.width,r=e.horizontal,i=r===void 0?!0:r,o=e.horizontalPoints;if(!i||!o||!o.length)return null;var a=o.map(function(s,l){var u=qn(qn({},e),{},{x1:t,y1:s,x2:t+n,y2:s,key:"line-".concat(l),index:l});return IU(i,u)});return V.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function DRe(e){var t=e.y,n=e.height,r=e.vertical,i=r===void 0?!0:r,o=e.verticalPoints;if(!i||!o||!o.length)return null;var a=o.map(function(s,l){var u=qn(qn({},e),{},{x1:s,y1:t,x2:s,y2:t+n,key:"line-".concat(l),index:l});return IU(i,u)});return V.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function FRe(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,i=e.y,o=e.width,a=e.height,s=e.horizontalPoints,l=e.horizontal,u=l===void 0?!0:l;if(!u||!t||!t.length)return null;var f=s.map(function(h){return Math.round(h+i-i)}).sort(function(h,v){return h-v});i!==f[0]&&f.unshift(0);var d=f.map(function(h,v){var g=!f[v+1],y=g?i+a-h:f[v+1]-h;if(y<=0)return null;var x=v%t.length;return V.createElement("rect",{key:"react-".concat(v),y:h,x:r,height:y,width:o,stroke:"none",fill:t[x],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return V.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function BRe(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,i=e.fillOpacity,o=e.x,a=e.y,s=e.width,l=e.height,u=e.verticalPoints;if(!n||!r||!r.length)return null;var f=u.map(function(h){return Math.round(h+o-o)}).sort(function(h,v){return h-v});o!==f[0]&&f.unshift(0);var d=f.map(function(h,v){var g=!f[v+1],y=g?o+s-h:f[v+1]-h;if(y<=0)return null;var x=v%r.length;return V.createElement("rect",{key:"react-".concat(v),x:h,y:a,width:y,height:l,stroke:"none",fill:r[x],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return V.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var URe=function(t,n){var r=t.xAxis,i=t.width,o=t.height,a=t.offset;return zB(bT(qn(qn(qn({},gf.defaultProps),r),{},{ticks:Fo(r,!0),viewBox:{x:0,y:0,width:i,height:o}})),a.left,a.left+a.width,n)},zRe=function(t,n){var r=t.yAxis,i=t.width,o=t.height,a=t.offset;return zB(bT(qn(qn(qn({},gf.defaultProps),r),{},{ticks:Fo(r,!0),viewBox:{x:0,y:0,width:i,height:o}})),a.top,a.top+a.height,n)},cu={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function xT(e){var t,n,r,i,o,a,s=vT(),l=gT(),u=HMe(),f=qn(qn({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:cu.stroke,fill:(n=e.fill)!==null&&n!==void 0?n:cu.fill,horizontal:(r=e.horizontal)!==null&&r!==void 0?r:cu.horizontal,horizontalFill:(i=e.horizontalFill)!==null&&i!==void 0?i:cu.horizontalFill,vertical:(o=e.vertical)!==null&&o!==void 0?o:cu.vertical,verticalFill:(a=e.verticalFill)!==null&&a!==void 0?a:cu.verticalFill,x:Ee(e.x)?e.x:u.left,y:Ee(e.y)?e.y:u.top,width:Ee(e.width)?e.width:u.width,height:Ee(e.height)?e.height:u.height}),d=f.x,h=f.y,v=f.width,g=f.height,y=f.syncWithTicks,x=f.horizontalValues,_=f.verticalValues,b=zMe(),w=VMe();if(!Ee(v)||v<=0||!Ee(g)||g<=0||!Ee(d)||d!==+d||!Ee(h)||h!==+h)return null;var O=f.verticalCoordinatesGenerator||URe,E=f.horizontalCoordinatesGenerator||zRe,P=f.horizontalPoints,T=f.verticalPoints;if((!P||!P.length)&&We(E)){var A=x&&x.length,D=E({yAxis:w?qn(qn({},w),{},{ticks:A?x:w.ticks}):void 0,width:s,height:l,offset:u},A?!0:y);Fi(Array.isArray(D),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(Nl(D),"]")),Array.isArray(D)&&(P=D)}if((!T||!T.length)&&We(O)){var k=_&&_.length,I=O({xAxis:b?qn(qn({},b),{},{ticks:k?_:b.ticks}):void 0,width:s,height:l,offset:u},k?!0:y);Fi(Array.isArray(I),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(Nl(I),"]")),Array.isArray(I)&&(T=I)}return V.createElement("g",{className:"recharts-cartesian-grid"},V.createElement($Re,{fill:f.fill,fillOpacity:f.fillOpacity,x:f.x,y:f.y,width:f.width,height:f.height}),V.createElement(IRe,al({},f,{offset:u,horizontalPoints:P,xAxis:b,yAxis:w})),V.createElement(DRe,al({},f,{offset:u,verticalPoints:T,xAxis:b,yAxis:w})),V.createElement(FRe,al({},f,{horizontalPoints:P})),V.createElement(BRe,al({},f,{verticalPoints:T})))}xT.displayName="CartesianGrid";var VRe=["type","layout","connectNulls","ref"];function Fc(e){"@babel/helpers - typeof";return Fc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fc(e)}function WRe(e,t){if(e==null)return{};var n=HRe(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function HRe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function qd(){return qd=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);nd){v=[].concat(fu(l.slice(0,g)),[d-y]);break}var x=v.length%2===0?[0,h]:[h];return[].concat(fu(t.repeat(l,f)),fu(v),x).map(function(_){return"".concat(_,"px")}).join(", ")}),ki(ba(n),"id",ys("recharts-line-")),ki(ba(n),"pathRef",function(a){n.mainCurve=a}),ki(ba(n),"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),ki(ba(n),"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return XRe(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();this.setState({totalLength:r})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();r!==this.state.totalLength&&this.setState({totalLength:r})}}},{key:"getTotalLength",value:function(){var r=this.mainCurve;try{return r&&r.getTotalLength&&r.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(r,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var o=this.props,a=o.points,s=o.xAxis,l=o.yAxis,u=o.layout,f=o.children,d=ur(f,mf);if(!d)return null;var h=function(y,x){return{x:y.x,y:y.y,value:y.value,errorVal:kt(y.payload,x)}},v={clipPath:r?"url(#clipPath-".concat(i,")"):null};return V.createElement(Qe,v,d.map(function(g){return V.cloneElement(g,{key:"bar-".concat(g.props.dataKey),data:a,xAxis:s,yAxis:l,layout:u,dataPointFormatter:h})}))}},{key:"renderDots",value:function(r,i,o){var a=this.props.isAnimationActive;if(a&&!this.state.isAnimationFinished)return null;var s=this.props,l=s.dot,u=s.points,f=s.dataKey,d=De(this.props,!1),h=De(l,!0),v=u.map(function(y,x){var _=Ar(Ar(Ar({key:"dot-".concat(x),r:3},d),h),{},{value:y.value,dataKey:f,cx:y.x,cy:y.y,index:x,payload:y.payload});return t.renderDotItem(l,_)}),g={clipPath:r?"url(#clipPath-".concat(i?"":"dots-").concat(o,")"):null};return V.createElement(Qe,qd({className:"recharts-line-dots",key:"dots"},g),v)}},{key:"renderCurveStatically",value:function(r,i,o,a){var s=this.props,l=s.type,u=s.layout,f=s.connectNulls;s.ref;var d=WRe(s,VRe),h=Ar(Ar(Ar({},De(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(o,")"):null,points:r},a),{},{type:l,layout:u,connectNulls:f});return V.createElement(Za,qd({},h,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(r,i){var o=this,a=this.props,s=a.points,l=a.strokeDasharray,u=a.isAnimationActive,f=a.animationBegin,d=a.animationDuration,h=a.animationEasing,v=a.animationId,g=a.animateNewValues,y=a.width,x=a.height,_=this.state,b=_.prevPoints,w=_.totalLength;return V.createElement(yi,{begin:f,duration:d,isActive:u,easing:h,from:{t:0},to:{t:1},key:"line-".concat(v),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(O){var E=O.t;if(b){var P=b.length/s.length,T=s.map(function(F,q){var W=Math.floor(q*P);if(b[W]){var X=b[W],Q=zt(X.x,F.x),ne=zt(X.y,F.y);return Ar(Ar({},F),{},{x:Q(E),y:ne(E)})}if(g){var Z=zt(y*2,F.x),z=zt(x/2,F.y);return Ar(Ar({},F),{},{x:Z(E),y:z(E)})}return Ar(Ar({},F),{},{x:F.x,y:F.y})});return o.renderCurveStatically(T,r,i)}var A=zt(0,w),D=A(E),k;if(l){var I="".concat(l).split(/[,\s]+/gim).map(function(F){return parseFloat(F)});k=o.getStrokeDasharray(D,w,I)}else k=o.generateSimpleStrokeDasharray(w,D);return o.renderCurveStatically(s,r,i,{strokeDasharray:k})})}},{key:"renderCurve",value:function(r,i){var o=this.props,a=o.points,s=o.isAnimationActive,l=this.state,u=l.prevPoints,f=l.totalLength;return s&&a&&a.length&&(!u&&f>0||!as(u,a))?this.renderCurveWithAnimation(r,i):this.renderCurveStatically(a,r,i)}},{key:"render",value:function(){var r,i=this.props,o=i.hide,a=i.dot,s=i.points,l=i.className,u=i.xAxis,f=i.yAxis,d=i.top,h=i.left,v=i.width,g=i.height,y=i.isAnimationActive,x=i.id;if(o||!s||!s.length)return null;var _=this.state.isAnimationFinished,b=s.length===1,w=Pe("recharts-line",l),O=u&&u.allowDataOverflow,E=f&&f.allowDataOverflow,P=O||E,T=ze(x)?this.id:x,A=(r=De(a,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},D=A.r,k=D===void 0?3:D,I=A.strokeWidth,F=I===void 0?2:I,q=$F(a)?a:{},W=q.clipDot,X=W===void 0?!0:W,Q=k*2+F;return V.createElement(Qe,{className:w},O||E?V.createElement("defs",null,V.createElement("clipPath",{id:"clipPath-".concat(T)},V.createElement("rect",{x:O?h:h-v/2,y:E?d:d-g/2,width:O?v:v*2,height:E?g:g*2})),!X&&V.createElement("clipPath",{id:"clipPath-dots-".concat(T)},V.createElement("rect",{x:h-Q/2,y:d-Q/2,width:v+Q,height:g+Q}))):null,!b&&this.renderCurve(P,T),this.renderErrorBar(P,T),(b||a)&&this.renderDots(P,X,T),(!y||_)&&Bi.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(r,i){return r.animationId!==i.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,prevPoints:i.curPoints}:r.points!==i.curPoints?{curPoints:r.points}:null}},{key:"repeat",value:function(r,i){for(var o=r.length%2!==0?[].concat(fu(r),[0]):r,a=[],s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function iLe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function sl(){return sl=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!as(f,a)||!as(d,s))?this.renderAreaWithAnimation(r,i):this.renderAreaStatically(a,s,r,i)}},{key:"render",value:function(){var r,i=this.props,o=i.hide,a=i.dot,s=i.points,l=i.className,u=i.top,f=i.left,d=i.xAxis,h=i.yAxis,v=i.width,g=i.height,y=i.isAnimationActive,x=i.id;if(o||!s||!s.length)return null;var _=this.state.isAnimationFinished,b=s.length===1,w=Pe("recharts-area",l),O=d&&d.allowDataOverflow,E=h&&h.allowDataOverflow,P=O||E,T=ze(x)?this.id:x,A=(r=De(a,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},D=A.r,k=D===void 0?3:D,I=A.strokeWidth,F=I===void 0?2:I,q=$F(a)?a:{},W=q.clipDot,X=W===void 0?!0:W,Q=k*2+F;return V.createElement(Qe,{className:w},O||E?V.createElement("defs",null,V.createElement("clipPath",{id:"clipPath-".concat(T)},V.createElement("rect",{x:O?f:f-v/2,y:E?u:u-g/2,width:O?v:v*2,height:E?g:g*2})),!X&&V.createElement("clipPath",{id:"clipPath-dots-".concat(T)},V.createElement("rect",{x:f-Q/2,y:u-Q/2,width:v+Q,height:g+Q}))):null,b?null:this.renderArea(P,T),(a||b)&&this.renderDots(P,X,T),(!y||_)&&Bi.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(r,i){return r.animationId!==i.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,curBaseLine:r.baseLine,prevPoints:i.curPoints,prevBaseLine:i.curBaseLine}:r.points!==i.curPoints||r.baseLine!==i.curBaseLine?{curPoints:r.points,curBaseLine:r.baseLine}:null}}]),t}(R.PureComponent);BU=Ul;uo(Ul,"displayName","Area");uo(Ul,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!di.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});uo(Ul,"getBaseValue",function(e,t,n,r){var i=e.layout,o=e.baseValue,a=t.props.baseValue,s=a??o;if(Ee(s)&&typeof s=="number")return s;var l=i==="horizontal"?r:n,u=l.scale.domain();if(l.type==="number"){var f=Math.max(u[0],u[1]),d=Math.min(u[0],u[1]);return s==="dataMin"?d:s==="dataMax"||f<0?f:Math.max(Math.min(u[0],u[1]),0)}return s==="dataMin"?u[0]:s==="dataMax"?u[1]:u[0]});uo(Ul,"getComposedData",function(e){var t=e.props,n=e.item,r=e.xAxis,i=e.yAxis,o=e.xAxisTicks,a=e.yAxisTicks,s=e.bandSize,l=e.dataKey,u=e.stackedData,f=e.dataStartIndex,d=e.displayedData,h=e.offset,v=t.layout,g=u&&u.length,y=BU.getBaseValue(t,n,r,i),x=v==="horizontal",_=!1,b=d.map(function(O,E){var P;g?P=u[f+E]:(P=kt(O,l),Array.isArray(P)?_=!0:P=[y,P]);var T=P[1]==null||g&&kt(O,l)==null;return x?{x:Ac({axis:r,ticks:o,bandSize:s,entry:O,index:E}),y:T?null:i.scale(P[1]),value:P,payload:O}:{x:T?null:r.scale(P[1]),y:Ac({axis:i,ticks:a,bandSize:s,entry:O,index:E}),value:P,payload:O}}),w;return g||_?w=b.map(function(O){var E=Array.isArray(O.value)?O.value[0]:null;return x?{x:O.x,y:E!=null&&O.y!=null?i.scale(E):null}:{x:E!=null?r.scale(E):null,y:O.y}}):w=x?i.scale(y):r.scale(y),_a({points:b,baseLine:w,layout:v,isRange:_},h)});uo(Ul,"renderDotItem",function(e,t){var n;if(V.isValidElement(e))n=V.cloneElement(e,t);else if(We(e))n=e(t);else{var r=Pe("recharts-area-dot",typeof e!="boolean"?e.className:"");n=V.createElement(Qp,sl({},t,{className:r}))}return n});var t1=function(){return null};t1.displayName="ZAxis";t1.defaultProps={zAxisId:0,range:[64,64],scale:"auto",type:"number"};var fLe=["option","isActive"];function Kd(){return Kd=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function hLe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function pLe(e){var t=e.option,n=e.isActive,r=dLe(e,fLe);return typeof t=="string"?V.createElement(l0,Kd({option:V.createElement(Rb,Kd({type:t},r)),isActive:n,shapeType:"symbols"},r)):V.createElement(l0,Kd({option:t,isActive:n,shapeType:"symbols"},r))}function Uc(e){"@babel/helpers - typeof";return Uc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Uc(e)}function Yd(){return Yd=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function VLe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function WLe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Y4(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?a:t&&t.length&&Ee(i)&&Ee(o)?t.slice(i,o+1):[]};function QU(e){return e==="number"?[0,"auto"]:void 0}var KO=function(t,n,r,i){var o=t.graphicalItems,a=t.tooltipAxis,s=r1(n,t);return r<0||!o||!o.length||r>=s.length?null:o.reduce(function(l,u){var f,d=(f=u.props.data)!==null&&f!==void 0?f:n;d&&t.dataStartIndex+t.dataEndIndex!==0&&(d=d.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(a.dataKey&&!a.allowDuplicatedCategory){var v=d===void 0?s:d;h=Oy(v,a.dataKey,i)}else h=d&&d[r]||s[r];return h?[].concat(Vc(l),[qB(u,h)]):l},[])},X4=function(t,n,r,i){var o=i||{x:t.chartX,y:t.chartY},a=t4e(o,r),s=t.orderedTooltipTicks,l=t.tooltipAxis,u=t.tooltipTicks,f=sTe(a,s,u,l);if(f>=0&&u){var d=u[f]&&u[f].value,h=KO(t,n,f,d),v=n4e(r,s,f,o);return{activeTooltipIndex:f,activeLabel:d,activePayload:h,activeCoordinate:v}}return null},r4e=function(t,n){var r=n.axes,i=n.graphicalItems,o=n.axisType,a=n.axisIdKey,s=n.stackGroups,l=n.dataStartIndex,u=n.dataEndIndex,f=t.layout,d=t.children,h=t.stackOffset,v=UB(f,o);return r.reduce(function(g,y){var x,_=y.props,b=_.type,w=_.dataKey,O=_.allowDataOverflow,E=_.allowDuplicatedCategory,P=_.scale,T=_.ticks,A=_.includeHidden,D=y.props[a];if(g[D])return g;var k=r1(t.data,{graphicalItems:i.filter(function(ee){return ee.props[a]===D}),dataStartIndex:l,dataEndIndex:u}),I=k.length,F,q,W;kLe(y.props.domain,O,b)&&(F=fO(y.props.domain,null,O),v&&(b==="number"||P!=="auto")&&(W=Vd(k,w,"category")));var X=QU(b);if(!F||F.length===0){var Q,ne=(Q=y.props.domain)!==null&&Q!==void 0?Q:X;if(w){if(F=Vd(k,w,b),b==="category"&&v){var Z=cve(F);E&&Z?(q=F,F=c0(0,I)):E||(F=hL(ne,F,y).reduce(function(ee,K){return ee.indexOf(K)>=0?ee:[].concat(Vc(ee),[K])},[]))}else if(b==="category")E?F=F.filter(function(ee){return ee!==""&&!ze(ee)}):F=hL(ne,F,y).reduce(function(ee,K){return ee.indexOf(K)>=0||K===""||ze(K)?ee:[].concat(Vc(ee),[K])},[]);else if(b==="number"){var z=dTe(k,i.filter(function(ee){return ee.props[a]===D&&(A||!ee.props.hide)}),w,o,f);z&&(F=z)}v&&(b==="number"||P!=="auto")&&(W=Vd(k,w,"category"))}else v?F=c0(0,I):s&&s[D]&&s[D].hasStack&&b==="number"?F=h==="expand"?[0,1]:GB(s[D].stackGroups,l,u):F=BB(k,i.filter(function(ee){return ee.props[a]===D&&(A||!ee.props.hide)}),b,f,!0);if(b==="number")F=HO(d,F,D,o,T),ne&&(F=fO(ne,F,O));else if(b==="category"&&ne){var B=ne,H=F.every(function(ee){return B.indexOf(ee)>=0});H&&(F=B)}}return ve(ve({},g),{},He({},D,ve(ve({},y.props),{},{axisType:o,domain:F,categoricalDomain:W,duplicateDomain:q,originalDomain:(x=y.props.domain)!==null&&x!==void 0?x:X,isCategorical:v,layout:f})))},{})},i4e=function(t,n){var r=n.graphicalItems,i=n.Axis,o=n.axisType,a=n.axisIdKey,s=n.stackGroups,l=n.dataStartIndex,u=n.dataEndIndex,f=t.layout,d=t.children,h=r1(t.data,{graphicalItems:r,dataStartIndex:l,dataEndIndex:u}),v=h.length,g=UB(f,o),y=-1;return r.reduce(function(x,_){var b=_.props[a],w=QU("number");if(!x[b]){y++;var O;return g?O=c0(0,v):s&&s[b]&&s[b].hasStack?(O=GB(s[b].stackGroups,l,u),O=HO(d,O,b,o)):(O=fO(w,BB(h,r.filter(function(E){return E.props[a]===b&&!E.props.hide}),"number",f),i.defaultProps.allowDataOverflow),O=HO(d,O,b,o)),ve(ve({},x),{},He({},b,ve(ve({axisType:o},i.defaultProps),{},{hide:!0,orientation:Dr(JLe,"".concat(o,".").concat(y%2),null),domain:O,originalDomain:w,isCategorical:g,layout:f})))}return x},{})},o4e=function(t,n){var r=n.axisType,i=r===void 0?"xAxis":r,o=n.AxisComp,a=n.graphicalItems,s=n.stackGroups,l=n.dataStartIndex,u=n.dataEndIndex,f=t.children,d="".concat(i,"Id"),h=ur(f,o),v={};return h&&h.length?v=r4e(t,{axes:h,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:s,dataStartIndex:l,dataEndIndex:u}):a&&a.length&&(v=i4e(t,{Axis:o,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:s,dataStartIndex:l,dataEndIndex:u})),v},a4e=function(t){var n=ja(t),r=Fo(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:DC(r,function(i){return i.coordinate}),tooltipAxis:n,tooltipAxisBandSize:Xy(n,r)}},Q4=function(t){var n=t.children,r=t.defaultShowTooltip,i=Mr(n,$c),o=0,a=0;return t.data&&t.data.length!==0&&(a=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(o=i.props.startIndex),i.props.endIndex>=0&&(a=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:o,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!r}},s4e=function(t){return!t||!t.length?!1:t.some(function(n){var r=Uo(n&&n.type);return r&&r.indexOf("Bar")>=0})},J4=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},l4e=function(t,n){var r=t.props,i=t.graphicalItems,o=t.xAxisMap,a=o===void 0?{}:o,s=t.yAxisMap,l=s===void 0?{}:s,u=r.width,f=r.height,d=r.children,h=r.margin||{},v=Mr(d,$c),g=Mr(d,Dh),y=Object.keys(l).reduce(function(E,P){var T=l[P],A=T.orientation;return!T.mirror&&!T.hide?ve(ve({},E),{},He({},A,E[A]+T.width)):E},{left:h.left||0,right:h.right||0}),x=Object.keys(a).reduce(function(E,P){var T=a[P],A=T.orientation;return!T.mirror&&!T.hide?ve(ve({},E),{},He({},A,Dr(E,"".concat(A))+T.height)):E},{top:h.top||0,bottom:h.bottom||0}),_=ve(ve({},x),y),b=_.bottom;v&&(_.bottom+=v.props.height||$c.defaultProps.height),g&&n&&(_=cTe(_,i,r,n));var w=u-_.left-_.right,O=f-_.top-_.bottom;return ve(ve({brushBottom:b},_),{},{width:Math.max(w,0),height:Math.max(O,0)})},u4e=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},wT=function(t){var n,r=t.chartName,i=t.GraphicalChild,o=t.defaultTooltipEventType,a=o===void 0?"axis":o,s=t.validateTooltipEventTypes,l=s===void 0?["axis"]:s,u=t.axisComponents,f=t.legendContent,d=t.formatAxisMap,h=t.defaultProps,v=function(x,_){var b=_.graphicalItems,w=_.stackGroups,O=_.offset,E=_.updateId,P=_.dataStartIndex,T=_.dataEndIndex,A=x.barSize,D=x.layout,k=x.barGap,I=x.barCategoryGap,F=x.maxBarSize,q=J4(D),W=q.numericAxisName,X=q.cateAxisName,Q=s4e(b),ne=[];return b.forEach(function(Z,z){var B=r1(x.data,{graphicalItems:[Z],dataStartIndex:P,dataEndIndex:T}),H=Z.props,ee=H.dataKey,K=H.maxBarSize,te=Z.props["".concat(W,"Id")],ie=Z.props["".concat(X,"Id")],ae={},fe=u.reduce(function(Te,Ce){var Ae=_["".concat(Ce.axisType,"Map")],le=Z.props["".concat(Ce.axisType,"Id")];Ae&&Ae[le]||Ce.axisType==="zAxis"||kl(!1);var ce=Ae[le];return ve(ve({},Te),{},He(He({},Ce.axisType,ce),"".concat(Ce.axisType,"Ticks"),Fo(ce)))},ae),j=fe[X],N=fe["".concat(X,"Ticks")],U=w&&w[te]&&w[te].hasStack&&xTe(Z,w[te].stackGroups),J=Uo(Z.type).indexOf("Bar")>=0,Y=Xy(j,N),oe=[],he=Q&&lTe({barSize:A,stackGroups:w,totalSize:u4e(fe,X)});if(J){var Oe,se,pe=ze(K)?F:K,me=(Oe=(se=Xy(j,N,!0))!==null&&se!==void 0?se:pe)!==null&&Oe!==void 0?Oe:0;oe=uTe({barGap:k,barCategoryGap:I,bandSize:me!==Y?me:Y,sizeList:he[ie],maxBarSize:pe}),me!==Y&&(oe=oe.map(function(Te){return ve(ve({},Te),{},{position:ve(ve({},Te.position),{},{offset:Te.position.offset-me/2})})}))}var xe=Z&&Z.type&&Z.type.getComposedData;xe&&ne.push({props:ve(ve({},xe(ve(ve({},fe),{},{displayedData:B,props:x,dataKey:ee,item:Z,bandSize:Y,barPosition:oe,offset:O,stackedData:U,layout:D,dataStartIndex:P,dataEndIndex:T}))),{},He(He(He({key:Z.key||"item-".concat(z)},W,fe[W]),X,fe[X]),"animationId",E)),childIndex:wve(Z,x.children),item:Z})}),ne},g=function(x,_){var b=x.props,w=x.dataStartIndex,O=x.dataEndIndex,E=x.updateId;if(!iM({props:b}))return null;var P=b.children,T=b.layout,A=b.stackOffset,D=b.data,k=b.reverseStackOrder,I=J4(T),F=I.numericAxisName,q=I.cateAxisName,W=ur(P,i),X=bTe(D,W,"".concat(F,"Id"),"".concat(q,"Id"),A,k),Q=u.reduce(function(H,ee){var K="".concat(ee.axisType,"Map");return ve(ve({},H),{},He({},K,o4e(b,ve(ve({},ee),{},{graphicalItems:W,stackGroups:ee.axisType===F&&X,dataStartIndex:w,dataEndIndex:O}))))},{}),ne=l4e(ve(ve({},Q),{},{props:b,graphicalItems:W}),_==null?void 0:_.legendBBox);Object.keys(Q).forEach(function(H){Q[H]=d(b,Q[H],ne,H.replace("Map",""),r)});var Z=Q["".concat(q,"Map")],z=a4e(Z),B=v(b,ve(ve({},Q),{},{dataStartIndex:w,dataEndIndex:O,updateId:E,graphicalItems:W,stackGroups:X,offset:ne}));return ve(ve({formattedGraphicalItems:B,graphicalItems:W,offset:ne,stackGroups:X},z),Q)};return n=function(y){KLe(x,y);function x(_){var b,w,O;return WLe(this,x),O=GLe(this,x,[_]),He(ct(O),"eventEmitterSymbol",Symbol("rechartsEventEmitter")),He(ct(O),"accessibilityManager",new ALe),He(ct(O),"handleLegendBBoxUpdate",function(E){if(E){var P=O.state,T=P.dataStartIndex,A=P.dataEndIndex,D=P.updateId;O.setState(ve({legendBBox:E},g({props:O.props,dataStartIndex:T,dataEndIndex:A,updateId:D},ve(ve({},O.state),{},{legendBBox:E}))))}}),He(ct(O),"handleReceiveSyncEvent",function(E,P,T){if(O.props.syncId===E){if(T===O.eventEmitterSymbol&&typeof O.props.syncMethod!="function")return;O.applySyncEvent(P)}}),He(ct(O),"handleBrushChange",function(E){var P=E.startIndex,T=E.endIndex;if(P!==O.state.dataStartIndex||T!==O.state.dataEndIndex){var A=O.state.updateId;O.setState(function(){return ve({dataStartIndex:P,dataEndIndex:T},g({props:O.props,dataStartIndex:P,dataEndIndex:T,updateId:A},O.state))}),O.triggerSyncEvent({dataStartIndex:P,dataEndIndex:T})}}),He(ct(O),"handleMouseEnter",function(E){var P=O.getMouseInfo(E);if(P){var T=ve(ve({},P),{},{isTooltipActive:!0});O.setState(T),O.triggerSyncEvent(T);var A=O.props.onMouseEnter;We(A)&&A(T,E)}}),He(ct(O),"triggeredAfterMouseMove",function(E){var P=O.getMouseInfo(E),T=P?ve(ve({},P),{},{isTooltipActive:!0}):{isTooltipActive:!1};O.setState(T),O.triggerSyncEvent(T);var A=O.props.onMouseMove;We(A)&&A(T,E)}),He(ct(O),"handleItemMouseEnter",function(E){O.setState(function(){return{isTooltipActive:!0,activeItem:E,activePayload:E.tooltipPayload,activeCoordinate:E.tooltipPosition||{x:E.cx,y:E.cy}}})}),He(ct(O),"handleItemMouseLeave",function(){O.setState(function(){return{isTooltipActive:!1}})}),He(ct(O),"handleMouseMove",function(E){E.persist(),O.throttleTriggeredAfterMouseMove(E)}),He(ct(O),"handleMouseLeave",function(E){O.throttleTriggeredAfterMouseMove.cancel();var P={isTooltipActive:!1};O.setState(P),O.triggerSyncEvent(P);var T=O.props.onMouseLeave;We(T)&&T(P,E)}),He(ct(O),"handleOuterEvent",function(E){var P=xve(E),T=Dr(O.props,"".concat(P));if(P&&We(T)){var A,D;/.*touch.*/i.test(P)?D=O.getMouseInfo(E.changedTouches[0]):D=O.getMouseInfo(E),T((A=D)!==null&&A!==void 0?A:{},E)}}),He(ct(O),"handleClick",function(E){var P=O.getMouseInfo(E);if(P){var T=ve(ve({},P),{},{isTooltipActive:!0});O.setState(T),O.triggerSyncEvent(T);var A=O.props.onClick;We(A)&&A(T,E)}}),He(ct(O),"handleMouseDown",function(E){var P=O.props.onMouseDown;if(We(P)){var T=O.getMouseInfo(E);P(T,E)}}),He(ct(O),"handleMouseUp",function(E){var P=O.props.onMouseUp;if(We(P)){var T=O.getMouseInfo(E);P(T,E)}}),He(ct(O),"handleTouchMove",function(E){E.changedTouches!=null&&E.changedTouches.length>0&&O.throttleTriggeredAfterMouseMove(E.changedTouches[0])}),He(ct(O),"handleTouchStart",function(E){E.changedTouches!=null&&E.changedTouches.length>0&&O.handleMouseDown(E.changedTouches[0])}),He(ct(O),"handleTouchEnd",function(E){E.changedTouches!=null&&E.changedTouches.length>0&&O.handleMouseUp(E.changedTouches[0])}),He(ct(O),"triggerSyncEvent",function(E){O.props.syncId!==void 0&&hx.emit(px,O.props.syncId,E,O.eventEmitterSymbol)}),He(ct(O),"applySyncEvent",function(E){var P=O.props,T=P.layout,A=P.syncMethod,D=O.state.updateId,k=E.dataStartIndex,I=E.dataEndIndex;if(E.dataStartIndex!==void 0||E.dataEndIndex!==void 0)O.setState(ve({dataStartIndex:k,dataEndIndex:I},g({props:O.props,dataStartIndex:k,dataEndIndex:I,updateId:D},O.state)));else if(E.activeTooltipIndex!==void 0){var F=E.chartX,q=E.chartY,W=E.activeTooltipIndex,X=O.state,Q=X.offset,ne=X.tooltipTicks;if(!Q)return;if(typeof A=="function")W=A(ne,E);else if(A==="value"){W=-1;for(var Z=0;Z=0){var U,J;if(F.dataKey&&!F.allowDuplicatedCategory){var Y=typeof F.dataKey=="function"?N:"payload.".concat(F.dataKey.toString());U=Oy(Z,Y,W),J=z&&B&&Oy(B,Y,W)}else U=Z==null?void 0:Z[q],J=z&&B&&B[q];if(ie||te){var oe=E.props.activeIndex!==void 0?E.props.activeIndex:q;return[R.cloneElement(E,ve(ve(ve({},A.props),fe),{},{activeIndex:oe})),null,null]}if(!ze(U))return[j].concat(Vc(O.renderActivePoints({item:A,activePoint:U,basePoint:J,childIndex:q,isRange:z})))}else{var he,Oe=(he=O.getItemByXY(O.state.activeCoordinate))!==null&&he!==void 0?he:{graphicalItem:j},se=Oe.graphicalItem,pe=se.item,me=pe===void 0?E:pe,xe=se.childIndex,Te=ve(ve(ve({},A.props),fe),{},{activeIndex:xe});return[R.cloneElement(me,Te),null,null]}return z?[j,null,null]:[j,null]}),He(ct(O),"renderCustomized",function(E,P,T){return R.cloneElement(E,ve(ve({key:"recharts-customized-".concat(T)},O.props),O.state))}),He(ct(O),"renderMap",{CartesianGrid:{handler:Ev,once:!0},ReferenceArea:{handler:O.renderReferenceElement},ReferenceLine:{handler:Ev},ReferenceDot:{handler:O.renderReferenceElement},XAxis:{handler:Ev},YAxis:{handler:Ev},Brush:{handler:O.renderBrush,once:!0},Bar:{handler:O.renderGraphicChild},Line:{handler:O.renderGraphicChild},Area:{handler:O.renderGraphicChild},Radar:{handler:O.renderGraphicChild},RadialBar:{handler:O.renderGraphicChild},Scatter:{handler:O.renderGraphicChild},Pie:{handler:O.renderGraphicChild},Funnel:{handler:O.renderGraphicChild},Tooltip:{handler:O.renderCursor,once:!0},PolarGrid:{handler:O.renderPolarGrid,once:!0},PolarAngleAxis:{handler:O.renderPolarAxis},PolarRadiusAxis:{handler:O.renderPolarAxis},Customized:{handler:O.renderCustomized}}),O.clipPathId="".concat((b=_.id)!==null&&b!==void 0?b:ys("recharts"),"-clip"),O.throttleTriggeredAfterMouseMove=B7(O.triggeredAfterMouseMove,(w=_.throttleDelay)!==null&&w!==void 0?w:1e3/60),O.state={},O}return HLe(x,[{key:"componentDidMount",value:function(){var b,w;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(b=this.props.margin.left)!==null&&b!==void 0?b:0,top:(w=this.props.margin.top)!==null&&w!==void 0?w:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var b=this.props,w=b.children,O=b.data,E=b.height,P=b.layout,T=Mr(w,ni);if(T){var A=T.props.defaultIndex;if(!(typeof A!="number"||A<0||A>this.state.tooltipTicks.length)){var D=this.state.tooltipTicks[A]&&this.state.tooltipTicks[A].value,k=KO(this.state,O,A,D),I=this.state.tooltipTicks[A].coordinate,F=(this.state.offset.top+E)/2,q=P==="horizontal",W=q?{x:I,y:F}:{y:I,x:F},X=this.state.formattedGraphicalItems.find(function(ne){var Z=ne.item;return Z.type.name==="Scatter"});X&&(W=ve(ve({},W),X.props.points[A].tooltipPosition),k=X.props.points[A].tooltipPayload);var Q={activeTooltipIndex:A,isTooltipActive:!0,activeLabel:D,activePayload:k,activeCoordinate:W};this.setState(Q),this.renderCursor(T),this.accessibilityManager.setIndex(A)}}}},{key:"getSnapshotBeforeUpdate",value:function(b,w){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==w.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==b.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==b.margin){var O,E;this.accessibilityManager.setDetails({offset:{left:(O=this.props.margin.left)!==null&&O!==void 0?O:0,top:(E=this.props.margin.top)!==null&&E!==void 0?E:0}})}return null}},{key:"componentDidUpdate",value:function(b){TS([Mr(b.children,ni)],[Mr(this.props.children,ni)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var b=Mr(this.props.children,ni);if(b&&typeof b.props.shared=="boolean"){var w=b.props.shared?"axis":"item";return l.indexOf(w)>=0?w:a}return a}},{key:"getMouseInfo",value:function(b){if(!this.container)return null;var w=this.container,O=w.getBoundingClientRect(),E=VSe(O),P={chartX:Math.round(b.pageX-E.left),chartY:Math.round(b.pageY-E.top)},T=O.width/w.offsetWidth||1,A=this.inRange(P.chartX,P.chartY,T);if(!A)return null;var D=this.state,k=D.xAxisMap,I=D.yAxisMap,F=this.getTooltipEventType();if(F!=="axis"&&k&&I){var q=ja(k).scale,W=ja(I).scale,X=q&&q.invert?q.invert(P.chartX):null,Q=W&&W.invert?W.invert(P.chartY):null;return ve(ve({},P),{},{xValue:X,yValue:Q})}var ne=X4(this.state,this.props.data,this.props.layout,A);return ne?ve(ve({},P),ne):null}},{key:"inRange",value:function(b,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,E=this.props.layout,P=b/O,T=w/O;if(E==="horizontal"||E==="vertical"){var A=this.state.offset,D=P>=A.left&&P<=A.left+A.width&&T>=A.top&&T<=A.top+A.height;return D?{x:P,y:T}:null}var k=this.state,I=k.angleAxisMap,F=k.radiusAxisMap;if(I&&F){var q=ja(I);return vL({x:P,y:T},q)}return null}},{key:"parseEventsOfWrapper",value:function(){var b=this.props.children,w=this.getTooltipEventType(),O=Mr(b,ni),E={};O&&w==="axis"&&(O.props.trigger==="click"?E={onClick:this.handleClick}:E={onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd});var P=Ey(this.props,this.handleOuterEvent);return ve(ve({},P),E)}},{key:"addListener",value:function(){hx.on(px,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){hx.removeListener(px,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(b,w,O){for(var E=this.state.formattedGraphicalItems,P=0,T=E.length;P");return e}function v4e(e){function t(n,r){const{instance:i,context:o}=e(n).current;return R.useImperativeHandle(r,()=>i),n.children==null?null:V.createElement(t9,{value:o},n.children)}return R.forwardRef(t)}function g4e(e){function t(n,r){const[i,o]=R.useState(!1),{instance:a}=e(n,o).current;R.useImperativeHandle(r,()=>a),R.useEffect(function(){i&&a.update()},[a,i,n.children]);const s=a._contentNode;return s?H0.createPortal(n.children,s):null}return R.forwardRef(t)}function y4e(e){function t(n,r){const{instance:i}=e(n).current;return R.useImperativeHandle(r,()=>i),null}return R.forwardRef(t)}function r9(e,t){const n=R.useRef();R.useEffect(function(){return t!=null&&e.instance.on(t),n.current=t,function(){n.current!=null&&e.instance.off(n.current),n.current=null}},[e,t])}function ST(e,t){const n=e.pane??t.pane;return n?{...e,pane:n}:e}function b4e(e,t){return function(r,i){const o=n9(),a=e(ST(r,o),o);return JU(o.map,r.attribution),r9(a.current,r.eventHandlers),t(a.current,o,r,i),a}}var YO={exports:{}};/* @preserve + * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com + * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade + */(function(e,t){(function(n,r){r(t)})(Zs,function(n){var r="1.9.4";function i(c){var p,S,C,M;for(S=1,C=arguments.length;S"u"||!L||!L.Mixin)){c=w(c)?c:[c];for(var p=0;p0?Math.floor(c):Math.ceil(c)};Z.prototype={clone:function(){return new Z(this.x,this.y)},add:function(c){return this.clone()._add(B(c))},_add:function(c){return this.x+=c.x,this.y+=c.y,this},subtract:function(c){return this.clone()._subtract(B(c))},_subtract:function(c){return this.x-=c.x,this.y-=c.y,this},divideBy:function(c){return this.clone()._divideBy(c)},_divideBy:function(c){return this.x/=c,this.y/=c,this},multiplyBy:function(c){return this.clone()._multiplyBy(c)},_multiplyBy:function(c){return this.x*=c,this.y*=c,this},scaleBy:function(c){return new Z(this.x*c.x,this.y*c.y)},unscaleBy:function(c){return new Z(this.x/c.x,this.y/c.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=z(this.x),this.y=z(this.y),this},distanceTo:function(c){c=B(c);var p=c.x-this.x,S=c.y-this.y;return Math.sqrt(p*p+S*S)},equals:function(c){return c=B(c),c.x===this.x&&c.y===this.y},contains:function(c){return c=B(c),Math.abs(c.x)<=Math.abs(this.x)&&Math.abs(c.y)<=Math.abs(this.y)},toString:function(){return"Point("+h(this.x)+", "+h(this.y)+")"}};function B(c,p,S){return c instanceof Z?c:w(c)?new Z(c[0],c[1]):c==null?c:typeof c=="object"&&"x"in c&&"y"in c?new Z(c.x,c.y):new Z(c,p,S)}function H(c,p){if(c)for(var S=p?[c,p]:c,C=0,M=S.length;C=this.min.x&&S.x<=this.max.x&&p.y>=this.min.y&&S.y<=this.max.y},intersects:function(c){c=ee(c);var p=this.min,S=this.max,C=c.min,M=c.max,G=M.x>=p.x&&C.x<=S.x,re=M.y>=p.y&&C.y<=S.y;return G&&re},overlaps:function(c){c=ee(c);var p=this.min,S=this.max,C=c.min,M=c.max,G=M.x>p.x&&C.xp.y&&C.y=p.lat&&M.lat<=S.lat&&C.lng>=p.lng&&M.lng<=S.lng},intersects:function(c){c=te(c);var p=this._southWest,S=this._northEast,C=c.getSouthWest(),M=c.getNorthEast(),G=M.lat>=p.lat&&C.lat<=S.lat,re=M.lng>=p.lng&&C.lng<=S.lng;return G&&re},overlaps:function(c){c=te(c);var p=this._southWest,S=this._northEast,C=c.getSouthWest(),M=c.getNorthEast(),G=M.lat>p.lat&&C.latp.lng&&C.lng1,Xt=function(){var c=!1;try{var p=Object.defineProperty({},"passive",{get:function(){c=!0}});window.addEventListener("testPassiveEventSupport",d,p),window.removeEventListener("testPassiveEventSupport",d,p)}catch{}return c}(),Xn=function(){return!!document.createElement("canvas").getContext}(),Nn=!!(document.createElementNS&&Oe("svg").createSVGRect),Mn=!!Nn&&function(){var c=document.createElement("div");return c.innerHTML="",(c.firstChild&&c.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),un=!Nn&&function(){try{var c=document.createElement("div");c.innerHTML='';var p=c.firstChild;return p.style.behavior="url(#default#VML)",p&&typeof p.adj=="object"}catch{return!1}}(),wi=navigator.platform.indexOf("Mac")===0,Si=navigator.platform.indexOf("Linux")===0;function Rn(c){return navigator.userAgent.toLowerCase().indexOf(c)>=0}var Be={ie:me,ielt9:xe,edge:Te,webkit:Ce,android:Ae,android23:le,androidStock:ye,opera:ge,chrome:we,gecko:ke,safari:Me,phantom:et,opera12:nt,win:Ze,ie3d:Gt,webkit3d:Ft,gecko3d:bn,any3d:Zn,mobile:Ki,mobileWebkit:kn,mobileWebkit3d:Of,msPointer:Yi,pointer:um,touch:fm,touchNative:cm,mobileOpera:Ef,mobileGecko:Os,retina:rn,passiveEvents:Xt,canvas:Xn,svg:Nn,vml:un,inlineSvg:Mn,mac:wi,linux:Si},QT=Be.msPointer?"MSPointerDown":"pointerdown",JT=Be.msPointer?"MSPointerMove":"pointermove",ej=Be.msPointer?"MSPointerUp":"pointerup",tj=Be.msPointer?"MSPointerCancel":"pointercancel",h1={touchstart:QT,touchmove:JT,touchend:ej,touchcancel:tj},nj={touchstart:IV,touchmove:dm,touchend:dm,touchcancel:dm},Wl={},rj=!1;function NV(c,p,S){return p==="touchstart"&&$V(),nj[p]?(S=nj[p].bind(this,S),c.addEventListener(h1[p],S,!1),S):(console.warn("wrong event specified:",p),d)}function MV(c,p,S){if(!h1[p]){console.warn("wrong event specified:",p);return}c.removeEventListener(h1[p],S,!1)}function RV(c){Wl[c.pointerId]=c}function LV(c){Wl[c.pointerId]&&(Wl[c.pointerId]=c)}function ij(c){delete Wl[c.pointerId]}function $V(){rj||(document.addEventListener(QT,RV,!0),document.addEventListener(JT,LV,!0),document.addEventListener(ej,ij,!0),document.addEventListener(tj,ij,!0),rj=!0)}function dm(c,p){if(p.pointerType!==(p.MSPOINTER_TYPE_MOUSE||"mouse")){p.touches=[];for(var S in Wl)p.touches.push(Wl[S]);p.changedTouches=[p],c(p)}}function IV(c,p){p.MSPOINTER_TYPE_TOUCH&&p.pointerType===p.MSPOINTER_TYPE_TOUCH&&Ln(p),dm(c,p)}function DV(c){var p={},S,C;for(C in c)S=c[C],p[C]=S&&S.bind?S.bind(c):S;return c=p,p.type="dblclick",p.detail=2,p.isTrusted=!1,p._simulated=!0,p}var FV=200;function BV(c,p){c.addEventListener("dblclick",p);var S=0,C;function M(G){if(G.detail!==1){C=G.detail;return}if(!(G.pointerType==="mouse"||G.sourceCapabilities&&!G.sourceCapabilities.firesTouchEvents)){var re=uj(G);if(!(re.some(function(de){return de instanceof HTMLLabelElement&&de.attributes.for})&&!re.some(function(de){return de instanceof HTMLInputElement||de instanceof HTMLSelectElement}))){var ue=Date.now();ue-S<=FV?(C++,C===2&&p(DV(G))):C=1,S=ue}}}return c.addEventListener("click",M),{dblclick:p,simDblclick:M}}function UV(c,p){c.removeEventListener("dblclick",p.dblclick),c.removeEventListener("click",p.simDblclick)}var p1=mm(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Pf=mm(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),oj=Pf==="webkitTransition"||Pf==="OTransition"?Pf+"End":"transitionend";function aj(c){return typeof c=="string"?document.getElementById(c):c}function Cf(c,p){var S=c.style[p]||c.currentStyle&&c.currentStyle[p];if((!S||S==="auto")&&document.defaultView){var C=document.defaultView.getComputedStyle(c,null);S=C?C[p]:null}return S==="auto"?null:S}function dt(c,p,S){var C=document.createElement(c);return C.className=p||"",S&&S.appendChild(C),C}function Bt(c){var p=c.parentNode;p&&p.removeChild(c)}function hm(c){for(;c.firstChild;)c.removeChild(c.firstChild)}function Hl(c){var p=c.parentNode;p&&p.lastChild!==c&&p.appendChild(c)}function Gl(c){var p=c.parentNode;p&&p.firstChild!==c&&p.insertBefore(c,p.firstChild)}function m1(c,p){if(c.classList!==void 0)return c.classList.contains(p);var S=pm(c);return S.length>0&&new RegExp("(^|\\s)"+p+"(\\s|$)").test(S)}function Je(c,p){if(c.classList!==void 0)for(var S=g(p),C=0,M=S.length;C0?2*window.devicePixelRatio:1;function fj(c){return Be.edge?c.wheelDeltaY/2:c.deltaY&&c.deltaMode===0?-c.deltaY/WV:c.deltaY&&c.deltaMode===1?-c.deltaY*20:c.deltaY&&c.deltaMode===2?-c.deltaY*60:c.deltaX||c.deltaZ?0:c.wheelDelta?(c.wheelDeltaY||c.wheelDelta)/2:c.detail&&Math.abs(c.detail)<32765?-c.detail*20:c.detail?c.detail/-32765*60:0}function C1(c,p){var S=p.relatedTarget;if(!S)return!0;try{for(;S&&S!==c;)S=S.parentNode}catch{return!1}return S!==c}var HV={__proto__:null,on:Xe,off:xt,stopPropagation:Cs,disableScrollPropagation:P1,disableClickPropagation:kf,preventDefault:Ln,stop:Ts,getPropagationPath:uj,getMousePosition:cj,getWheelDelta:fj,isExternalTarget:C1,addListener:Xe,removeListener:xt},dj=ne.extend({run:function(c,p,S,C){this.stop(),this._el=c,this._inProgress=!0,this._duration=S||.25,this._easeOutPower=1/Math.max(C||.5,.2),this._startPos=Ps(c),this._offset=p.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=I(this._animate,this),this._step()},_step:function(c){var p=+new Date-this._startTime,S=this._duration*1e3;pthis.options.maxZoom)?this.setZoom(c):this},panInsideBounds:function(c,p){this._enforcingBounds=!0;var S=this.getCenter(),C=this._limitCenter(S,this._zoom,te(c));return S.equals(C)||this.panTo(C,p),this._enforcingBounds=!1,this},panInside:function(c,p){p=p||{};var S=B(p.paddingTopLeft||p.padding||[0,0]),C=B(p.paddingBottomRight||p.padding||[0,0]),M=this.project(this.getCenter()),G=this.project(c),re=this.getPixelBounds(),ue=ee([re.min.add(S),re.max.subtract(C)]),de=ue.getSize();if(!ue.contains(G)){this._enforcingBounds=!0;var _e=G.subtract(ue.getCenter()),Re=ue.extend(G).getSize().subtract(de);M.x+=_e.x<0?-Re.x:Re.x,M.y+=_e.y<0?-Re.y:Re.y,this.panTo(this.unproject(M),p),this._enforcingBounds=!1}return this},invalidateSize:function(c){if(!this._loaded)return this;c=i({animate:!1,pan:!0},c===!0?{animate:!0}:c);var p=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var S=this.getSize(),C=p.divideBy(2).round(),M=S.divideBy(2).round(),G=C.subtract(M);return!G.x&&!G.y?this:(c.animate&&c.pan?this.panBy(G):(c.pan&&this._rawPanBy(G),this.fire("move"),c.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:p,newSize:S}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(c){if(c=this._locateOptions=i({timeout:1e4,watch:!1},c),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var p=a(this._handleGeolocationResponse,this),S=a(this._handleGeolocationError,this);return c.watch?this._locationWatchId=navigator.geolocation.watchPosition(p,S,c):navigator.geolocation.getCurrentPosition(p,S,c),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(c){if(this._container._leaflet_id){var p=c.code,S=c.message||(p===1?"permission denied":p===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:p,message:"Geolocation error: "+S+"."})}},_handleGeolocationResponse:function(c){if(this._container._leaflet_id){var p=c.coords.latitude,S=c.coords.longitude,C=new ie(p,S),M=C.toBounds(c.coords.accuracy*2),G=this._locateOptions;if(G.setView){var re=this.getBoundsZoom(M);this.setView(C,G.maxZoom?Math.min(re,G.maxZoom):re)}var ue={latlng:C,bounds:M,timestamp:c.timestamp};for(var de in c.coords)typeof c.coords[de]=="number"&&(ue[de]=c.coords[de]);this.fire("locationfound",ue)}},addHandler:function(c,p){if(!p)return this;var S=this[c]=new p(this);return this._handlers.push(S),this.options[c]&&S.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),Bt(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(F(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var c;for(c in this._layers)this._layers[c].remove();for(c in this._panes)Bt(this._panes[c]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(c,p){var S="leaflet-pane"+(c?" leaflet-"+c.replace("Pane","")+"-pane":""),C=dt("div",S,p||this._mapPane);return c&&(this._panes[c]=C),C},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var c=this.getPixelBounds(),p=this.unproject(c.getBottomLeft()),S=this.unproject(c.getTopRight());return new K(p,S)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(c,p,S){c=te(c),S=B(S||[0,0]);var C=this.getZoom()||0,M=this.getMinZoom(),G=this.getMaxZoom(),re=c.getNorthWest(),ue=c.getSouthEast(),de=this.getSize().subtract(S),_e=ee(this.project(ue,C),this.project(re,C)).getSize(),Re=Be.any3d?this.options.zoomSnap:1,Ve=de.x/_e.x,tt=de.y/_e.y,Qn=p?Math.max(Ve,tt):Math.min(Ve,tt);return C=this.getScaleZoom(Qn,C),Re&&(C=Math.round(C/(Re/100))*(Re/100),C=p?Math.ceil(C/Re)*Re:Math.floor(C/Re)*Re),Math.max(M,Math.min(G,C))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Z(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(c,p){var S=this._getTopLeftPoint(c,p);return new H(S,S.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(c){return this.options.crs.getProjectedBounds(c===void 0?this.getZoom():c)},getPane:function(c){return typeof c=="string"?this._panes[c]:c},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(c,p){var S=this.options.crs;return p=p===void 0?this._zoom:p,S.scale(c)/S.scale(p)},getScaleZoom:function(c,p){var S=this.options.crs;p=p===void 0?this._zoom:p;var C=S.zoom(c*S.scale(p));return isNaN(C)?1/0:C},project:function(c,p){return p=p===void 0?this._zoom:p,this.options.crs.latLngToPoint(ae(c),p)},unproject:function(c,p){return p=p===void 0?this._zoom:p,this.options.crs.pointToLatLng(B(c),p)},layerPointToLatLng:function(c){var p=B(c).add(this.getPixelOrigin());return this.unproject(p)},latLngToLayerPoint:function(c){var p=this.project(ae(c))._round();return p._subtract(this.getPixelOrigin())},wrapLatLng:function(c){return this.options.crs.wrapLatLng(ae(c))},wrapLatLngBounds:function(c){return this.options.crs.wrapLatLngBounds(te(c))},distance:function(c,p){return this.options.crs.distance(ae(c),ae(p))},containerPointToLayerPoint:function(c){return B(c).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(c){return B(c).add(this._getMapPanePos())},containerPointToLatLng:function(c){var p=this.containerPointToLayerPoint(B(c));return this.layerPointToLatLng(p)},latLngToContainerPoint:function(c){return this.layerPointToContainerPoint(this.latLngToLayerPoint(ae(c)))},mouseEventToContainerPoint:function(c){return cj(c,this._container)},mouseEventToLayerPoint:function(c){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(c))},mouseEventToLatLng:function(c){return this.layerPointToLatLng(this.mouseEventToLayerPoint(c))},_initContainer:function(c){var p=this._container=aj(c);if(p){if(p._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Xe(p,"scroll",this._onScroll,this),this._containerId=l(p)},_initLayout:function(){var c=this._container;this._fadeAnimated=this.options.fadeAnimation&&Be.any3d,Je(c,"leaflet-container"+(Be.touch?" leaflet-touch":"")+(Be.retina?" leaflet-retina":"")+(Be.ielt9?" leaflet-oldie":"")+(Be.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var p=Cf(c,"position");p!=="absolute"&&p!=="relative"&&p!=="fixed"&&p!=="sticky"&&(c.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var c=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),on(this._mapPane,new Z(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Je(c.markerPane,"leaflet-zoom-hide"),Je(c.shadowPane,"leaflet-zoom-hide"))},_resetView:function(c,p,S){on(this._mapPane,new Z(0,0));var C=!this._loaded;this._loaded=!0,p=this._limitZoom(p),this.fire("viewprereset");var M=this._zoom!==p;this._moveStart(M,S)._move(c,p)._moveEnd(M),this.fire("viewreset"),C&&this.fire("load")},_moveStart:function(c,p){return c&&this.fire("zoomstart"),p||this.fire("movestart"),this},_move:function(c,p,S,C){p===void 0&&(p=this._zoom);var M=this._zoom!==p;return this._zoom=p,this._lastCenter=c,this._pixelOrigin=this._getNewPixelOrigin(c),C?S&&S.pinch&&this.fire("zoom",S):((M||S&&S.pinch)&&this.fire("zoom",S),this.fire("move",S)),this},_moveEnd:function(c){return c&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return F(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(c){on(this._mapPane,this._getMapPanePos().subtract(c))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(c){this._targets={},this._targets[l(this._container)]=this;var p=c?xt:Xe;p(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&p(window,"resize",this._onResize,this),Be.any3d&&this.options.transform3DLimit&&(c?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){F(this._resizeRequest),this._resizeRequest=I(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var c=this._getMapPanePos();Math.max(Math.abs(c.x),Math.abs(c.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(c,p){for(var S=[],C,M=p==="mouseout"||p==="mouseover",G=c.target||c.srcElement,re=!1;G;){if(C=this._targets[l(G)],C&&(p==="click"||p==="preclick")&&this._draggableMoved(C)){re=!0;break}if(C&&C.listens(p,!0)&&(M&&!C1(G,c)||(S.push(C),M))||G===this._container)break;G=G.parentNode}return!S.length&&!re&&!M&&this.listens(p,!0)&&(S=[this]),S},_isClickDisabled:function(c){for(;c&&c!==this._container;){if(c._leaflet_disable_click)return!0;c=c.parentNode}},_handleDOMEvent:function(c){var p=c.target||c.srcElement;if(!(!this._loaded||p._leaflet_disable_events||c.type==="click"&&this._isClickDisabled(p))){var S=c.type;S==="mousedown"&&x1(p),this._fireDOMEvent(c,S)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(c,p,S){if(c.type==="click"){var C=i({},c);C.type="preclick",this._fireDOMEvent(C,C.type,S)}var M=this._findEventTargets(c,p);if(S){for(var G=[],re=0;re0?Math.round(c-p)/2:Math.max(0,Math.ceil(c))-Math.max(0,Math.floor(p))},_limitZoom:function(c){var p=this.getMinZoom(),S=this.getMaxZoom(),C=Be.any3d?this.options.zoomSnap:1;return C&&(c=Math.round(c/C)*C),Math.max(p,Math.min(S,c))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){Qt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(c,p){var S=this._getCenterOffset(c)._trunc();return(p&&p.animate)!==!0&&!this.getSize().contains(S)?!1:(this.panBy(S,p),!0)},_createAnimProxy:function(){var c=this._proxy=dt("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(c),this.on("zoomanim",function(p){var S=p1,C=this._proxy.style[S];Es(this._proxy,this.project(p.center,p.zoom),this.getZoomScale(p.zoom,1)),C===this._proxy.style[S]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){Bt(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var c=this.getCenter(),p=this.getZoom();Es(this._proxy,this.project(c,p),this.getZoomScale(p,1))},_catchTransitionEnd:function(c){this._animatingZoom&&c.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(c,p,S){if(this._animatingZoom)return!0;if(S=S||{},!this._zoomAnimated||S.animate===!1||this._nothingToAnimate()||Math.abs(p-this._zoom)>this.options.zoomAnimationThreshold)return!1;var C=this.getZoomScale(p),M=this._getCenterOffset(c)._divideBy(1-1/C);return S.animate!==!0&&!this.getSize().contains(M)?!1:(I(function(){this._moveStart(!0,S.noMoveStart||!1)._animateZoom(c,p,!0)},this),!0)},_animateZoom:function(c,p,S,C){this._mapPane&&(S&&(this._animatingZoom=!0,this._animateToCenter=c,this._animateToZoom=p,Je(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:c,zoom:p,noUpdate:C}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&Qt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function GV(c,p){return new ut(c,p)}var Oi=W.extend({options:{position:"topright"},initialize:function(c){y(this,c)},getPosition:function(){return this.options.position},setPosition:function(c){var p=this._map;return p&&p.removeControl(this),this.options.position=c,p&&p.addControl(this),this},getContainer:function(){return this._container},addTo:function(c){this.remove(),this._map=c;var p=this._container=this.onAdd(c),S=this.getPosition(),C=c._controlCorners[S];return Je(p,"leaflet-control"),S.indexOf("bottom")!==-1?C.insertBefore(p,C.firstChild):C.appendChild(p),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(Bt(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(c){this._map&&c&&c.screenX>0&&c.screenY>0&&this._map.getContainer().focus()}}),Nf=function(c){return new Oi(c)};ut.include({addControl:function(c){return c.addTo(this),this},removeControl:function(c){return c.remove(),this},_initControlPos:function(){var c=this._controlCorners={},p="leaflet-",S=this._controlContainer=dt("div",p+"control-container",this._container);function C(M,G){var re=p+M+" "+p+G;c[M+G]=dt("div",re,S)}C("top","left"),C("top","right"),C("bottom","left"),C("bottom","right")},_clearControlPos:function(){for(var c in this._controlCorners)Bt(this._controlCorners[c]);Bt(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var hj=Oi.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(c,p,S,C){return S1,this._baseLayersList.style.display=c?"":"none"),this._separator.style.display=p&&c?"":"none",this},_onLayerChange:function(c){this._handlingClick||this._update();var p=this._getLayer(l(c.target)),S=p.overlay?c.type==="add"?"overlayadd":"overlayremove":c.type==="add"?"baselayerchange":null;S&&this._map.fire(S,p)},_createRadioElement:function(c,p){var S='",C=document.createElement("div");return C.innerHTML=S,C.firstChild},_addItem:function(c){var p=document.createElement("label"),S=this._map.hasLayer(c.layer),C;c.overlay?(C=document.createElement("input"),C.type="checkbox",C.className="leaflet-control-layers-selector",C.defaultChecked=S):C=this._createRadioElement("leaflet-base-layers_"+l(this),S),this._layerControlInputs.push(C),C.layerId=l(c.layer),Xe(C,"click",this._onInputClick,this);var M=document.createElement("span");M.innerHTML=" "+c.name;var G=document.createElement("span");p.appendChild(G),G.appendChild(C),G.appendChild(M);var re=c.overlay?this._overlaysList:this._baseLayersList;return re.appendChild(p),this._checkDisabledLayers(),p},_onInputClick:function(){if(!this._preventClick){var c=this._layerControlInputs,p,S,C=[],M=[];this._handlingClick=!0;for(var G=c.length-1;G>=0;G--)p=c[G],S=this._getLayer(p.layerId).layer,p.checked?C.push(S):p.checked||M.push(S);for(G=0;G=0;M--)p=c[M],S=this._getLayer(p.layerId).layer,p.disabled=S.options.minZoom!==void 0&&CS.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var c=this._section;this._preventClick=!0,Xe(c,"click",Ln),this.expand();var p=this;setTimeout(function(){xt(c,"click",Ln),p._preventClick=!1})}}),qV=function(c,p,S){return new hj(c,p,S)},T1=Oi.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(c){var p="leaflet-control-zoom",S=dt("div",p+" leaflet-bar"),C=this.options;return this._zoomInButton=this._createButton(C.zoomInText,C.zoomInTitle,p+"-in",S,this._zoomIn),this._zoomOutButton=this._createButton(C.zoomOutText,C.zoomOutTitle,p+"-out",S,this._zoomOut),this._updateDisabled(),c.on("zoomend zoomlevelschange",this._updateDisabled,this),S},onRemove:function(c){c.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(c){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(c.shiftKey?3:1))},_createButton:function(c,p,S,C,M){var G=dt("a",S,C);return G.innerHTML=c,G.href="#",G.title=p,G.setAttribute("role","button"),G.setAttribute("aria-label",p),kf(G),Xe(G,"click",Ts),Xe(G,"click",M,this),Xe(G,"click",this._refocusOnMap,this),G},_updateDisabled:function(){var c=this._map,p="leaflet-disabled";Qt(this._zoomInButton,p),Qt(this._zoomOutButton,p),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||c._zoom===c.getMinZoom())&&(Je(this._zoomOutButton,p),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||c._zoom===c.getMaxZoom())&&(Je(this._zoomInButton,p),this._zoomInButton.setAttribute("aria-disabled","true"))}});ut.mergeOptions({zoomControl:!0}),ut.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new T1,this.addControl(this.zoomControl))});var KV=function(c){return new T1(c)},pj=Oi.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(c){var p="leaflet-control-scale",S=dt("div",p),C=this.options;return this._addScales(C,p+"-line",S),c.on(C.updateWhenIdle?"moveend":"move",this._update,this),c.whenReady(this._update,this),S},onRemove:function(c){c.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(c,p,S){c.metric&&(this._mScale=dt("div",p,S)),c.imperial&&(this._iScale=dt("div",p,S))},_update:function(){var c=this._map,p=c.getSize().y/2,S=c.distance(c.containerPointToLatLng([0,p]),c.containerPointToLatLng([this.options.maxWidth,p]));this._updateScales(S)},_updateScales:function(c){this.options.metric&&c&&this._updateMetric(c),this.options.imperial&&c&&this._updateImperial(c)},_updateMetric:function(c){var p=this._getRoundNum(c),S=p<1e3?p+" m":p/1e3+" km";this._updateScale(this._mScale,S,p/c)},_updateImperial:function(c){var p=c*3.2808399,S,C,M;p>5280?(S=p/5280,C=this._getRoundNum(S),this._updateScale(this._iScale,C+" mi",C/S)):(M=this._getRoundNum(p),this._updateScale(this._iScale,M+" ft",M/p))},_updateScale:function(c,p,S){c.style.width=Math.round(this.options.maxWidth*S)+"px",c.innerHTML=p},_getRoundNum:function(c){var p=Math.pow(10,(Math.floor(c)+"").length-1),S=c/p;return S=S>=10?10:S>=5?5:S>=3?3:S>=2?2:1,p*S}}),YV=function(c){return new pj(c)},ZV='',j1=Oi.extend({options:{position:"bottomright",prefix:''+(Be.inlineSvg?ZV+" ":"")+"Leaflet"},initialize:function(c){y(this,c),this._attributions={}},onAdd:function(c){c.attributionControl=this,this._container=dt("div","leaflet-control-attribution"),kf(this._container);for(var p in c._layers)c._layers[p].getAttribution&&this.addAttribution(c._layers[p].getAttribution());return this._update(),c.on("layeradd",this._addAttribution,this),this._container},onRemove:function(c){c.off("layeradd",this._addAttribution,this)},_addAttribution:function(c){c.layer.getAttribution&&(this.addAttribution(c.layer.getAttribution()),c.layer.once("remove",function(){this.removeAttribution(c.layer.getAttribution())},this))},setPrefix:function(c){return this.options.prefix=c,this._update(),this},addAttribution:function(c){return c?(this._attributions[c]||(this._attributions[c]=0),this._attributions[c]++,this._update(),this):this},removeAttribution:function(c){return c?(this._attributions[c]&&(this._attributions[c]--,this._update()),this):this},_update:function(){if(this._map){var c=[];for(var p in this._attributions)this._attributions[p]&&c.push(p);var S=[];this.options.prefix&&S.push(this.options.prefix),c.length&&S.push(c.join(", ")),this._container.innerHTML=S.join(' ')}}});ut.mergeOptions({attributionControl:!0}),ut.addInitHook(function(){this.options.attributionControl&&new j1().addTo(this)});var XV=function(c){return new j1(c)};Oi.Layers=hj,Oi.Zoom=T1,Oi.Scale=pj,Oi.Attribution=j1,Nf.layers=qV,Nf.zoom=KV,Nf.scale=YV,Nf.attribution=XV;var Xi=W.extend({initialize:function(c){this._map=c},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Xi.addTo=function(c,p){return c.addHandler(p,this),this};var QV={Events:Q},mj=Be.touch?"touchstart mousedown":"mousedown",da=ne.extend({options:{clickTolerance:3},initialize:function(c,p,S,C){y(this,C),this._element=c,this._dragStartTarget=p||c,this._preventOutline=S},enable:function(){this._enabled||(Xe(this._dragStartTarget,mj,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(da._dragging===this&&this.finishDrag(!0),xt(this._dragStartTarget,mj,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(c){if(this._enabled&&(this._moved=!1,!m1(this._element,"leaflet-zoom-anim"))){if(c.touches&&c.touches.length!==1){da._dragging===this&&this.finishDrag();return}if(!(da._dragging||c.shiftKey||c.which!==1&&c.button!==1&&!c.touches)&&(da._dragging=this,this._preventOutline&&x1(this._element),y1(),Tf(),!this._moving)){this.fire("down");var p=c.touches?c.touches[0]:c,S=sj(this._element);this._startPoint=new Z(p.clientX,p.clientY),this._startPos=Ps(this._element),this._parentScale=w1(S);var C=c.type==="mousedown";Xe(document,C?"mousemove":"touchmove",this._onMove,this),Xe(document,C?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(c){if(this._enabled){if(c.touches&&c.touches.length>1){this._moved=!0;return}var p=c.touches&&c.touches.length===1?c.touches[0]:c,S=new Z(p.clientX,p.clientY)._subtract(this._startPoint);!S.x&&!S.y||Math.abs(S.x)+Math.abs(S.y)G&&(re=ue,G=de);G>S&&(p[re]=1,k1(c,p,S,C,re),k1(c,p,S,re,M))}function nW(c,p){for(var S=[c[0]],C=1,M=0,G=c.length;Cp&&(S.push(c[C]),M=C);return Mp.max.x&&(S|=2),c.yp.max.y&&(S|=8),S}function rW(c,p){var S=p.x-c.x,C=p.y-c.y;return S*S+C*C}function Mf(c,p,S,C){var M=p.x,G=p.y,re=S.x-M,ue=S.y-G,de=re*re+ue*ue,_e;return de>0&&(_e=((c.x-M)*re+(c.y-G)*ue)/de,_e>1?(M=S.x,G=S.y):_e>0&&(M+=re*_e,G+=ue*_e)),re=c.x-M,ue=c.y-G,C?re*re+ue*ue:new Z(M,G)}function Yr(c){return!w(c[0])||typeof c[0][0]!="object"&&typeof c[0][0]<"u"}function wj(c){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Yr(c)}function Sj(c,p){var S,C,M,G,re,ue,de,_e;if(!c||c.length===0)throw new Error("latlngs not passed");Yr(c)||(console.warn("latlngs are not flat! Only the first ring will be used"),c=c[0]);var Re=ae([0,0]),Ve=te(c),tt=Ve.getNorthWest().distanceTo(Ve.getSouthWest())*Ve.getNorthEast().distanceTo(Ve.getNorthWest());tt<1700&&(Re=A1(c));var Qn=c.length,_n=[];for(S=0;SC){de=(G-C)/M,_e=[ue.x-de*(ue.x-re.x),ue.y-de*(ue.y-re.y)];break}var pr=p.unproject(B(_e));return ae([pr.lat+Re.lat,pr.lng+Re.lng])}var iW={__proto__:null,simplify:yj,pointToSegmentDistance:bj,closestPointOnSegment:eW,clipSegment:xj,_getEdgeIntersection:ym,_getBitCode:js,_sqClosestPointOnSegment:Mf,isFlat:Yr,_flat:wj,polylineCenter:Sj},N1={project:function(c){return new Z(c.lng,c.lat)},unproject:function(c){return new ie(c.y,c.x)},bounds:new H([-180,-90],[180,90])},M1={R:6378137,R_MINOR:6356752314245179e-9,bounds:new H([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(c){var p=Math.PI/180,S=this.R,C=c.lat*p,M=this.R_MINOR/S,G=Math.sqrt(1-M*M),re=G*Math.sin(C),ue=Math.tan(Math.PI/4-C/2)/Math.pow((1-re)/(1+re),G/2);return C=-S*Math.log(Math.max(ue,1e-10)),new Z(c.lng*p*S,C)},unproject:function(c){for(var p=180/Math.PI,S=this.R,C=this.R_MINOR/S,M=Math.sqrt(1-C*C),G=Math.exp(-c.y/S),re=Math.PI/2-2*Math.atan(G),ue=0,de=.1,_e;ue<15&&Math.abs(de)>1e-7;ue++)_e=M*Math.sin(re),_e=Math.pow((1-_e)/(1+_e),M/2),de=Math.PI/2-2*Math.atan(G*_e)-re,re+=de;return new ie(re*p,c.x*p/S)}},oW={__proto__:null,LonLat:N1,Mercator:M1,SphericalMercator:U},aW=i({},j,{code:"EPSG:3395",projection:M1,transformation:function(){var c=.5/(Math.PI*M1.R);return Y(c,.5,-c,.5)}()}),Oj=i({},j,{code:"EPSG:4326",projection:N1,transformation:Y(1/180,1,-1/180,.5)}),sW=i({},fe,{projection:N1,transformation:Y(1,0,-1,0),scale:function(c){return Math.pow(2,c)},zoom:function(c){return Math.log(c)/Math.LN2},distance:function(c,p){var S=p.lng-c.lng,C=p.lat-c.lat;return Math.sqrt(S*S+C*C)},infinite:!0});fe.Earth=j,fe.EPSG3395=aW,fe.EPSG3857=oe,fe.EPSG900913=he,fe.EPSG4326=Oj,fe.Simple=sW;var Ei=ne.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(c){return c.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(c){return c&&c.removeLayer(this),this},getPane:function(c){return this._map.getPane(c?this.options[c]||c:this.options.pane)},addInteractiveTarget:function(c){return this._map._targets[l(c)]=this,this},removeInteractiveTarget:function(c){return delete this._map._targets[l(c)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(c){var p=c.target;if(p.hasLayer(this)){if(this._map=p,this._zoomAnimated=p._zoomAnimated,this.getEvents){var S=this.getEvents();p.on(S,this),this.once("remove",function(){p.off(S,this)},this)}this.onAdd(p),this.fire("add"),p.fire("layeradd",{layer:this})}}});ut.include({addLayer:function(c){if(!c._layerAdd)throw new Error("The provided object is not a Layer.");var p=l(c);return this._layers[p]?this:(this._layers[p]=c,c._mapToAdd=this,c.beforeAdd&&c.beforeAdd(this),this.whenReady(c._layerAdd,c),this)},removeLayer:function(c){var p=l(c);return this._layers[p]?(this._loaded&&c.onRemove(this),delete this._layers[p],this._loaded&&(this.fire("layerremove",{layer:c}),c.fire("remove")),c._map=c._mapToAdd=null,this):this},hasLayer:function(c){return l(c)in this._layers},eachLayer:function(c,p){for(var S in this._layers)c.call(p,this._layers[S]);return this},_addLayers:function(c){c=c?w(c)?c:[c]:[];for(var p=0,S=c.length;pthis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&p[0]instanceof ie&&p[0].equals(p[S-1])&&p.pop(),p},_setLatLngs:function(c){To.prototype._setLatLngs.call(this,c),Yr(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Yr(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var c=this._renderer._bounds,p=this.options.weight,S=new Z(p,p);if(c=new H(c.min.subtract(S),c.max.add(S)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(c))){if(this.options.noClip){this._parts=this._rings;return}for(var C=0,M=this._rings.length,G;Cc.y!=M.y>c.y&&c.x<(M.x-C.x)*(c.y-C.y)/(M.y-C.y)+C.x&&(p=!p);return p||To.prototype._containsPoint.call(this,c,!0)}});function mW(c,p){return new Yl(c,p)}var jo=Co.extend({initialize:function(c,p){y(this,p),this._layers={},c&&this.addData(c)},addData:function(c){var p=w(c)?c:c.features,S,C,M;if(p){for(S=0,C=p.length;S0&&M.push(M[0].slice()),M}function Zl(c,p){return c.feature?i({},c.feature,{geometry:p}):Om(p)}function Om(c){return c.type==="Feature"||c.type==="FeatureCollection"?c:{type:"Feature",properties:{},geometry:c}}var I1={toGeoJSON:function(c){return Zl(this,{type:"Point",coordinates:$1(this.getLatLng(),c)})}};bm.include(I1),R1.include(I1),_m.include(I1),To.include({toGeoJSON:function(c){var p=!Yr(this._latlngs),S=Sm(this._latlngs,p?1:0,!1,c);return Zl(this,{type:(p?"Multi":"")+"LineString",coordinates:S})}}),Yl.include({toGeoJSON:function(c){var p=!Yr(this._latlngs),S=p&&!Yr(this._latlngs[0]),C=Sm(this._latlngs,S?2:p?1:0,!0,c);return p||(C=[C]),Zl(this,{type:(S?"Multi":"")+"Polygon",coordinates:C})}}),ql.include({toMultiPoint:function(c){var p=[];return this.eachLayer(function(S){p.push(S.toGeoJSON(c).geometry.coordinates)}),Zl(this,{type:"MultiPoint",coordinates:p})},toGeoJSON:function(c){var p=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(p==="MultiPoint")return this.toMultiPoint(c);var S=p==="GeometryCollection",C=[];return this.eachLayer(function(M){if(M.toGeoJSON){var G=M.toGeoJSON(c);if(S)C.push(G.geometry);else{var re=Om(G);re.type==="FeatureCollection"?C.push.apply(C,re.features):C.push(re)}}}),S?Zl(this,{geometries:C,type:"GeometryCollection"}):{type:"FeatureCollection",features:C}}});function Cj(c,p){return new jo(c,p)}var vW=Cj,Em=Ei.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(c,p,S){this._url=c,this._bounds=te(p),y(this,S)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Je(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){Bt(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(c){return this.options.opacity=c,this._image&&this._updateOpacity(),this},setStyle:function(c){return c.opacity&&this.setOpacity(c.opacity),this},bringToFront:function(){return this._map&&Hl(this._image),this},bringToBack:function(){return this._map&&Gl(this._image),this},setUrl:function(c){return this._url=c,this._image&&(this._image.src=c),this},setBounds:function(c){return this._bounds=te(c),this._map&&this._reset(),this},getEvents:function(){var c={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(c.zoomanim=this._animateZoom),c},setZIndex:function(c){return this.options.zIndex=c,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var c=this._url.tagName==="IMG",p=this._image=c?this._url:dt("img");if(Je(p,"leaflet-image-layer"),this._zoomAnimated&&Je(p,"leaflet-zoom-animated"),this.options.className&&Je(p,this.options.className),p.onselectstart=d,p.onmousemove=d,p.onload=a(this.fire,this,"load"),p.onerror=a(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(p.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),c){this._url=p.src;return}p.src=this._url,p.alt=this.options.alt},_animateZoom:function(c){var p=this._map.getZoomScale(c.zoom),S=this._map._latLngBoundsToNewLayerBounds(this._bounds,c.zoom,c.center).min;Es(this._image,S,p)},_reset:function(){var c=this._image,p=new H(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),S=p.getSize();on(c,p.min),c.style.width=S.x+"px",c.style.height=S.y+"px"},_updateOpacity:function(){Kr(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var c=this.options.errorOverlayUrl;c&&this._url!==c&&(this._url=c,this._image.src=c)},getCenter:function(){return this._bounds.getCenter()}}),gW=function(c,p,S){return new Em(c,p,S)},Tj=Em.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var c=this._url.tagName==="VIDEO",p=this._image=c?this._url:dt("video");if(Je(p,"leaflet-image-layer"),this._zoomAnimated&&Je(p,"leaflet-zoom-animated"),this.options.className&&Je(p,this.options.className),p.onselectstart=d,p.onmousemove=d,p.onloadeddata=a(this.fire,this,"load"),c){for(var S=p.getElementsByTagName("source"),C=[],M=0;M0?C:[p.src];return}w(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(p.style,"objectFit")&&(p.style.objectFit="fill"),p.autoplay=!!this.options.autoplay,p.loop=!!this.options.loop,p.muted=!!this.options.muted,p.playsInline=!!this.options.playsInline;for(var G=0;GM?(p.height=M+"px",Je(c,G)):Qt(c,G),this._containerWidth=this._container.offsetWidth},_animateZoom:function(c){var p=this._map._latLngToNewLayerPoint(this._latlng,c.zoom,c.center),S=this._getAnchor();on(this._container,p.add(S))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var c=this._map,p=parseInt(Cf(this._container,"marginBottom"),10)||0,S=this._container.offsetHeight+p,C=this._containerWidth,M=new Z(this._containerLeft,-S-this._containerBottom);M._add(Ps(this._container));var G=c.layerPointToContainerPoint(M),re=B(this.options.autoPanPadding),ue=B(this.options.autoPanPaddingTopLeft||re),de=B(this.options.autoPanPaddingBottomRight||re),_e=c.getSize(),Re=0,Ve=0;G.x+C+de.x>_e.x&&(Re=G.x+C-_e.x+de.x),G.x-Re-ue.x<0&&(Re=G.x-ue.x),G.y+S+de.y>_e.y&&(Ve=G.y+S-_e.y+de.y),G.y-Ve-ue.y<0&&(Ve=G.y-ue.y),(Re||Ve)&&(this.options.keepInView&&(this._autopanning=!0),c.fire("autopanstart").panBy([Re,Ve]))}},_getAnchor:function(){return B(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),_W=function(c,p){return new Pm(c,p)};ut.mergeOptions({closePopupOnClick:!0}),ut.include({openPopup:function(c,p,S){return this._initOverlay(Pm,c,p,S).openOn(this),this},closePopup:function(c){return c=arguments.length?c:this._popup,c&&c.close(),this}}),Ei.include({bindPopup:function(c,p){return this._popup=this._initOverlay(Pm,this._popup,c,p),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(c){return this._popup&&(this instanceof Co||(this._popup._source=this),this._popup._prepareOpen(c||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(c){return this._popup&&this._popup.setContent(c),this},getPopup:function(){return this._popup},_openPopup:function(c){if(!(!this._popup||!this._map)){Ts(c);var p=c.layer||c.target;if(this._popup._source===p&&!(p instanceof ha)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(c.latlng);return}this._popup._source=p,this.openPopup(c.latlng)}},_movePopup:function(c){this._popup.setLatLng(c.latlng)},_onKeyPress:function(c){c.originalEvent.keyCode===13&&this._openPopup(c)}});var Cm=Qi.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(c){Qi.prototype.onAdd.call(this,c),this.setOpacity(this.options.opacity),c.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(c){Qi.prototype.onRemove.call(this,c),c.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var c=Qi.prototype.getEvents.call(this);return this.options.permanent||(c.preclick=this.close),c},_initLayout:function(){var c="leaflet-tooltip",p=c+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=dt("div",p),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+l(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(c){var p,S,C=this._map,M=this._container,G=C.latLngToContainerPoint(C.getCenter()),re=C.layerPointToContainerPoint(c),ue=this.options.direction,de=M.offsetWidth,_e=M.offsetHeight,Re=B(this.options.offset),Ve=this._getAnchor();ue==="top"?(p=de/2,S=_e):ue==="bottom"?(p=de/2,S=0):ue==="center"?(p=de/2,S=_e/2):ue==="right"?(p=0,S=_e/2):ue==="left"?(p=de,S=_e/2):re.xthis.options.maxZoom||SC?this._retainParent(M,G,re,C):!1)},_retainChildren:function(c,p,S,C){for(var M=2*c;M<2*c+2;M++)for(var G=2*p;G<2*p+2;G++){var re=new Z(M,G);re.z=S+1;var ue=this._tileCoordsToKey(re),de=this._tiles[ue];if(de&&de.active){de.retain=!0;continue}else de&&de.loaded&&(de.retain=!0);S+1this.options.maxZoom||this.options.minZoom!==void 0&&M1){this._setView(c,S);return}for(var Ve=M.min.y;Ve<=M.max.y;Ve++)for(var tt=M.min.x;tt<=M.max.x;tt++){var Qn=new Z(tt,Ve);if(Qn.z=this._tileZoom,!!this._isValidTile(Qn)){var _n=this._tiles[this._tileCoordsToKey(Qn)];_n?_n.current=!0:re.push(Qn)}}if(re.sort(function(pr,Ql){return pr.distanceTo(G)-Ql.distanceTo(G)}),re.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Zr=document.createDocumentFragment();for(tt=0;ttS.max.x)||!p.wrapLat&&(c.yS.max.y))return!1}if(!this.options.bounds)return!0;var C=this._tileCoordsToBounds(c);return te(this.options.bounds).overlaps(C)},_keyToBounds:function(c){return this._tileCoordsToBounds(this._keyToTileCoords(c))},_tileCoordsToNwSe:function(c){var p=this._map,S=this.getTileSize(),C=c.scaleBy(S),M=C.add(S),G=p.unproject(C,c.z),re=p.unproject(M,c.z);return[G,re]},_tileCoordsToBounds:function(c){var p=this._tileCoordsToNwSe(c),S=new K(p[0],p[1]);return this.options.noWrap||(S=this._map.wrapLatLngBounds(S)),S},_tileCoordsToKey:function(c){return c.x+":"+c.y+":"+c.z},_keyToTileCoords:function(c){var p=c.split(":"),S=new Z(+p[0],+p[1]);return S.z=+p[2],S},_removeTile:function(c){var p=this._tiles[c];p&&(Bt(p.el),delete this._tiles[c],this.fire("tileunload",{tile:p.el,coords:this._keyToTileCoords(c)}))},_initTile:function(c){Je(c,"leaflet-tile");var p=this.getTileSize();c.style.width=p.x+"px",c.style.height=p.y+"px",c.onselectstart=d,c.onmousemove=d,Be.ielt9&&this.options.opacity<1&&Kr(c,this.options.opacity)},_addTile:function(c,p){var S=this._getTilePos(c),C=this._tileCoordsToKey(c),M=this.createTile(this._wrapCoords(c),a(this._tileReady,this,c));this._initTile(M),this.createTile.length<2&&I(a(this._tileReady,this,c,null,M)),on(M,S),this._tiles[C]={el:M,coords:c,current:!0},p.appendChild(M),this.fire("tileloadstart",{tile:M,coords:c})},_tileReady:function(c,p,S){p&&this.fire("tileerror",{error:p,tile:S,coords:c});var C=this._tileCoordsToKey(c);S=this._tiles[C],S&&(S.loaded=+new Date,this._map._fadeAnimated?(Kr(S.el,0),F(this._fadeFrame),this._fadeFrame=I(this._updateOpacity,this)):(S.active=!0,this._pruneTiles()),p||(Je(S.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:S.el,coords:c})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Be.ielt9||!this._map._fadeAnimated?I(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(c){return c.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(c){var p=new Z(this._wrapX?f(c.x,this._wrapX):c.x,this._wrapY?f(c.y,this._wrapY):c.y);return p.z=c.z,p},_pxBoundsToTileRange:function(c){var p=this.getTileSize();return new H(c.min.unscaleBy(p).floor(),c.max.unscaleBy(p).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var c in this._tiles)if(!this._tiles[c].loaded)return!1;return!0}});function SW(c){return new Lf(c)}var Xl=Lf.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(c,p){this._url=c,p=y(this,p),p.detectRetina&&Be.retina&&p.maxZoom>0?(p.tileSize=Math.floor(p.tileSize/2),p.zoomReverse?(p.zoomOffset--,p.minZoom=Math.min(p.maxZoom,p.minZoom+1)):(p.zoomOffset++,p.maxZoom=Math.max(p.minZoom,p.maxZoom-1)),p.minZoom=Math.max(0,p.minZoom)):p.zoomReverse?p.minZoom=Math.min(p.maxZoom,p.minZoom):p.maxZoom=Math.max(p.minZoom,p.maxZoom),typeof p.subdomains=="string"&&(p.subdomains=p.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(c,p){return this._url===c&&p===void 0&&(p=!0),this._url=c,p||this.redraw(),this},createTile:function(c,p){var S=document.createElement("img");return Xe(S,"load",a(this._tileOnLoad,this,p,S)),Xe(S,"error",a(this._tileOnError,this,p,S)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(S.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(S.referrerPolicy=this.options.referrerPolicy),S.alt="",S.src=this.getTileUrl(c),S},getTileUrl:function(c){var p={r:Be.retina?"@2x":"",s:this._getSubdomain(c),x:c.x,y:c.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var S=this._globalTileRange.max.y-c.y;this.options.tms&&(p.y=S),p["-y"]=S}return b(this._url,i(p,this.options))},_tileOnLoad:function(c,p){Be.ielt9?setTimeout(a(c,this,null,p),0):c(null,p)},_tileOnError:function(c,p,S){var C=this.options.errorTileUrl;C&&p.getAttribute("src")!==C&&(p.src=C),c(S,p)},_onTileRemove:function(c){c.tile.onload=null},_getZoomForUrl:function(){var c=this._tileZoom,p=this.options.maxZoom,S=this.options.zoomReverse,C=this.options.zoomOffset;return S&&(c=p-c),c+C},_getSubdomain:function(c){var p=Math.abs(c.x+c.y)%this.options.subdomains.length;return this.options.subdomains[p]},_abortLoading:function(){var c,p;for(c in this._tiles)if(this._tiles[c].coords.z!==this._tileZoom&&(p=this._tiles[c].el,p.onload=d,p.onerror=d,!p.complete)){p.src=E;var S=this._tiles[c].coords;Bt(p),delete this._tiles[c],this.fire("tileabort",{tile:p,coords:S})}},_removeTile:function(c){var p=this._tiles[c];if(p)return p.el.setAttribute("src",E),Lf.prototype._removeTile.call(this,c)},_tileReady:function(c,p,S){if(!(!this._map||S&&S.getAttribute("src")===E))return Lf.prototype._tileReady.call(this,c,p,S)}});function kj(c,p){return new Xl(c,p)}var Nj=Xl.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(c,p){this._url=c;var S=i({},this.defaultWmsParams);for(var C in p)C in this.options||(S[C]=p[C]);p=y(this,p);var M=p.detectRetina&&Be.retina?2:1,G=this.getTileSize();S.width=G.x*M,S.height=G.y*M,this.wmsParams=S},onAdd:function(c){this._crs=this.options.crs||c.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var p=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[p]=this._crs.code,Xl.prototype.onAdd.call(this,c)},getTileUrl:function(c){var p=this._tileCoordsToNwSe(c),S=this._crs,C=ee(S.project(p[0]),S.project(p[1])),M=C.min,G=C.max,re=(this._wmsVersion>=1.3&&this._crs===Oj?[M.y,M.x,G.y,G.x]:[M.x,M.y,G.x,G.y]).join(","),ue=Xl.prototype.getTileUrl.call(this,c);return ue+x(this.wmsParams,ue,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+re},setParams:function(c,p){return i(this.wmsParams,c),p||this.redraw(),this}});function OW(c,p){return new Nj(c,p)}Xl.WMS=Nj,kj.wms=OW;var Ao=Ei.extend({options:{padding:.1},initialize:function(c){y(this,c),l(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Je(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var c={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(c.zoomanim=this._onAnimZoom),c},_onAnimZoom:function(c){this._updateTransform(c.center,c.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(c,p){var S=this._map.getZoomScale(p,this._zoom),C=this._map.getSize().multiplyBy(.5+this.options.padding),M=this._map.project(this._center,p),G=C.multiplyBy(-S).add(M).subtract(this._map._getNewPixelOrigin(c,p));Be.any3d?Es(this._container,G,S):on(this._container,G)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var c in this._layers)this._layers[c]._reset()},_onZoomEnd:function(){for(var c in this._layers)this._layers[c]._project()},_updatePaths:function(){for(var c in this._layers)this._layers[c]._update()},_update:function(){var c=this.options.padding,p=this._map.getSize(),S=this._map.containerPointToLayerPoint(p.multiplyBy(-c)).round();this._bounds=new H(S,S.add(p.multiplyBy(1+c*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Mj=Ao.extend({options:{tolerance:0},getEvents:function(){var c=Ao.prototype.getEvents.call(this);return c.viewprereset=this._onViewPreReset,c},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ao.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var c=this._container=document.createElement("canvas");Xe(c,"mousemove",this._onMouseMove,this),Xe(c,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Xe(c,"mouseout",this._handleMouseOut,this),c._leaflet_disable_events=!0,this._ctx=c.getContext("2d")},_destroyContainer:function(){F(this._redrawRequest),delete this._ctx,Bt(this._container),xt(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var c;this._redrawBounds=null;for(var p in this._layers)c=this._layers[p],c._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ao.prototype._update.call(this);var c=this._bounds,p=this._container,S=c.getSize(),C=Be.retina?2:1;on(p,c.min),p.width=C*S.x,p.height=C*S.y,p.style.width=S.x+"px",p.style.height=S.y+"px",Be.retina&&this._ctx.scale(2,2),this._ctx.translate(-c.min.x,-c.min.y),this.fire("update")}},_reset:function(){Ao.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(c){this._updateDashArray(c),this._layers[l(c)]=c;var p=c._order={layer:c,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=p),this._drawLast=p,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(c){this._requestRedraw(c)},_removePath:function(c){var p=c._order,S=p.next,C=p.prev;S?S.prev=C:this._drawLast=C,C?C.next=S:this._drawFirst=S,delete c._order,delete this._layers[l(c)],this._requestRedraw(c)},_updatePath:function(c){this._extendRedrawBounds(c),c._project(),c._update(),this._requestRedraw(c)},_updateStyle:function(c){this._updateDashArray(c),this._requestRedraw(c)},_updateDashArray:function(c){if(typeof c.options.dashArray=="string"){var p=c.options.dashArray.split(/[, ]+/),S=[],C,M;for(M=0;M')}}catch{}return function(c){return document.createElement("<"+c+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),EW={_initContainer:function(){this._container=dt("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ao.prototype._update.call(this),this.fire("update"))},_initPath:function(c){var p=c._container=$f("shape");Je(p,"leaflet-vml-shape "+(this.options.className||"")),p.coordsize="1 1",c._path=$f("path"),p.appendChild(c._path),this._updateStyle(c),this._layers[l(c)]=c},_addPath:function(c){var p=c._container;this._container.appendChild(p),c.options.interactive&&c.addInteractiveTarget(p)},_removePath:function(c){var p=c._container;Bt(p),c.removeInteractiveTarget(p),delete this._layers[l(c)]},_updateStyle:function(c){var p=c._stroke,S=c._fill,C=c.options,M=c._container;M.stroked=!!C.stroke,M.filled=!!C.fill,C.stroke?(p||(p=c._stroke=$f("stroke")),M.appendChild(p),p.weight=C.weight+"px",p.color=C.color,p.opacity=C.opacity,C.dashArray?p.dashStyle=w(C.dashArray)?C.dashArray.join(" "):C.dashArray.replace(/( *, *)/g," "):p.dashStyle="",p.endcap=C.lineCap.replace("butt","flat"),p.joinstyle=C.lineJoin):p&&(M.removeChild(p),c._stroke=null),C.fill?(S||(S=c._fill=$f("fill")),M.appendChild(S),S.color=C.fillColor||C.color,S.opacity=C.fillOpacity):S&&(M.removeChild(S),c._fill=null)},_updateCircle:function(c){var p=c._point.round(),S=Math.round(c._radius),C=Math.round(c._radiusY||S);this._setPath(c,c._empty()?"M0 0":"AL "+p.x+","+p.y+" "+S+","+C+" 0,"+65535*360)},_setPath:function(c,p){c._path.v=p},_bringToFront:function(c){Hl(c._container)},_bringToBack:function(c){Gl(c._container)}},Tm=Be.vml?$f:Oe,If=Ao.extend({_initContainer:function(){this._container=Tm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Tm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){Bt(this._container),xt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ao.prototype._update.call(this);var c=this._bounds,p=c.getSize(),S=this._container;(!this._svgSize||!this._svgSize.equals(p))&&(this._svgSize=p,S.setAttribute("width",p.x),S.setAttribute("height",p.y)),on(S,c.min),S.setAttribute("viewBox",[c.min.x,c.min.y,p.x,p.y].join(" ")),this.fire("update")}},_initPath:function(c){var p=c._path=Tm("path");c.options.className&&Je(p,c.options.className),c.options.interactive&&Je(p,"leaflet-interactive"),this._updateStyle(c),this._layers[l(c)]=c},_addPath:function(c){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(c._path),c.addInteractiveTarget(c._path)},_removePath:function(c){Bt(c._path),c.removeInteractiveTarget(c._path),delete this._layers[l(c)]},_updatePath:function(c){c._project(),c._update()},_updateStyle:function(c){var p=c._path,S=c.options;p&&(S.stroke?(p.setAttribute("stroke",S.color),p.setAttribute("stroke-opacity",S.opacity),p.setAttribute("stroke-width",S.weight),p.setAttribute("stroke-linecap",S.lineCap),p.setAttribute("stroke-linejoin",S.lineJoin),S.dashArray?p.setAttribute("stroke-dasharray",S.dashArray):p.removeAttribute("stroke-dasharray"),S.dashOffset?p.setAttribute("stroke-dashoffset",S.dashOffset):p.removeAttribute("stroke-dashoffset")):p.setAttribute("stroke","none"),S.fill?(p.setAttribute("fill",S.fillColor||S.color),p.setAttribute("fill-opacity",S.fillOpacity),p.setAttribute("fill-rule",S.fillRule||"evenodd")):p.setAttribute("fill","none"))},_updatePoly:function(c,p){this._setPath(c,se(c._parts,p))},_updateCircle:function(c){var p=c._point,S=Math.max(Math.round(c._radius),1),C=Math.max(Math.round(c._radiusY),1)||S,M="a"+S+","+C+" 0 1,0 ",G=c._empty()?"M0 0":"M"+(p.x-S)+","+p.y+M+S*2+",0 "+M+-S*2+",0 ";this._setPath(c,G)},_setPath:function(c,p){c._path.setAttribute("d",p)},_bringToFront:function(c){Hl(c._path)},_bringToBack:function(c){Gl(c._path)}});Be.vml&&If.include(EW);function Lj(c){return Be.svg||Be.vml?new If(c):null}ut.include({getRenderer:function(c){var p=c.options.renderer||this._getPaneRenderer(c.options.pane)||this.options.renderer||this._renderer;return p||(p=this._renderer=this._createRenderer()),this.hasLayer(p)||this.addLayer(p),p},_getPaneRenderer:function(c){if(c==="overlayPane"||c===void 0)return!1;var p=this._paneRenderers[c];return p===void 0&&(p=this._createRenderer({pane:c}),this._paneRenderers[c]=p),p},_createRenderer:function(c){return this.options.preferCanvas&&Rj(c)||Lj(c)}});var $j=Yl.extend({initialize:function(c,p){Yl.prototype.initialize.call(this,this._boundsToLatLngs(c),p)},setBounds:function(c){return this.setLatLngs(this._boundsToLatLngs(c))},_boundsToLatLngs:function(c){return c=te(c),[c.getSouthWest(),c.getNorthWest(),c.getNorthEast(),c.getSouthEast()]}});function PW(c,p){return new $j(c,p)}If.create=Tm,If.pointsToPath=se,jo.geometryToLayer=xm,jo.coordsToLatLng=L1,jo.coordsToLatLngs=wm,jo.latLngToCoords=$1,jo.latLngsToCoords=Sm,jo.getFeature=Zl,jo.asFeature=Om,ut.mergeOptions({boxZoom:!0});var Ij=Xi.extend({initialize:function(c){this._map=c,this._container=c._container,this._pane=c._panes.overlayPane,this._resetStateTimeout=0,c.on("unload",this._destroy,this)},addHooks:function(){Xe(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){xt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){Bt(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(c){if(!c.shiftKey||c.which!==1&&c.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),Tf(),y1(),this._startPoint=this._map.mouseEventToContainerPoint(c),Xe(document,{contextmenu:Ts,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(c){this._moved||(this._moved=!0,this._box=dt("div","leaflet-zoom-box",this._container),Je(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(c);var p=new H(this._point,this._startPoint),S=p.getSize();on(this._box,p.min),this._box.style.width=S.x+"px",this._box.style.height=S.y+"px"},_finish:function(){this._moved&&(Bt(this._box),Qt(this._container,"leaflet-crosshair")),jf(),b1(),xt(document,{contextmenu:Ts,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(c){if(!(c.which!==1&&c.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0);var p=new K(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(p).fire("boxzoomend",{boxZoomBounds:p})}},_onKeyDown:function(c){c.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});ut.addInitHook("addHandler","boxZoom",Ij),ut.mergeOptions({doubleClickZoom:!0});var Dj=Xi.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(c){var p=this._map,S=p.getZoom(),C=p.options.zoomDelta,M=c.originalEvent.shiftKey?S-C:S+C;p.options.doubleClickZoom==="center"?p.setZoom(M):p.setZoomAround(c.containerPoint,M)}});ut.addInitHook("addHandler","doubleClickZoom",Dj),ut.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Fj=Xi.extend({addHooks:function(){if(!this._draggable){var c=this._map;this._draggable=new da(c._mapPane,c._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),c.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),c.on("zoomend",this._onZoomEnd,this),c.whenReady(this._onZoomEnd,this))}Je(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){Qt(this._map._container,"leaflet-grab"),Qt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var c=this._map;if(c._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var p=te(this._map.options.maxBounds);this._offsetLimit=ee(this._map.latLngToContainerPoint(p.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(p.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;c.fire("movestart").fire("dragstart"),c.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(c){if(this._map.options.inertia){var p=this._lastTime=+new Date,S=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(S),this._times.push(p),this._prunePositions(p)}this._map.fire("move",c).fire("drag",c)},_prunePositions:function(c){for(;this._positions.length>1&&c-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var c=this._map.getSize().divideBy(2),p=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=p.subtract(c).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(c,p){return c-(c-p)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var c=this._draggable._newPos.subtract(this._draggable._startPos),p=this._offsetLimit;c.xp.max.x&&(c.x=this._viscousLimit(c.x,p.max.x)),c.y>p.max.y&&(c.y=this._viscousLimit(c.y,p.max.y)),this._draggable._newPos=this._draggable._startPos.add(c)}},_onPreDragWrap:function(){var c=this._worldWidth,p=Math.round(c/2),S=this._initialWorldOffset,C=this._draggable._newPos.x,M=(C-p+S)%c+p-S,G=(C+p+S)%c-p-S,re=Math.abs(M+S)0?G:-G))-p;this._delta=0,this._startTime=null,re&&(c.options.scrollWheelZoom==="center"?c.setZoom(p+re):c.setZoomAround(this._lastMousePos,p+re))}});ut.addInitHook("addHandler","scrollWheelZoom",Uj);var CW=600;ut.mergeOptions({tapHold:Be.touchNative&&Be.safari&&Be.mobile,tapTolerance:15});var zj=Xi.extend({addHooks:function(){Xe(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){xt(this._map._container,"touchstart",this._onDown,this)},_onDown:function(c){if(clearTimeout(this._holdTimeout),c.touches.length===1){var p=c.touches[0];this._startPos=this._newPos=new Z(p.clientX,p.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(Xe(document,"touchend",Ln),Xe(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",p))},this),CW),Xe(document,"touchend touchcancel contextmenu",this._cancel,this),Xe(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function c(){xt(document,"touchend",Ln),xt(document,"touchend touchcancel",c)},_cancel:function(){clearTimeout(this._holdTimeout),xt(document,"touchend touchcancel contextmenu",this._cancel,this),xt(document,"touchmove",this._onMove,this)},_onMove:function(c){var p=c.touches[0];this._newPos=new Z(p.clientX,p.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(c,p){var S=new MouseEvent(c,{bubbles:!0,cancelable:!0,view:window,screenX:p.screenX,screenY:p.screenY,clientX:p.clientX,clientY:p.clientY});S._simulated=!0,p.target.dispatchEvent(S)}});ut.addInitHook("addHandler","tapHold",zj),ut.mergeOptions({touchZoom:Be.touch,bounceAtZoomLimits:!0});var Vj=Xi.extend({addHooks:function(){Je(this._map._container,"leaflet-touch-zoom"),Xe(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){Qt(this._map._container,"leaflet-touch-zoom"),xt(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(c){var p=this._map;if(!(!c.touches||c.touches.length!==2||p._animatingZoom||this._zooming)){var S=p.mouseEventToContainerPoint(c.touches[0]),C=p.mouseEventToContainerPoint(c.touches[1]);this._centerPoint=p.getSize()._divideBy(2),this._startLatLng=p.containerPointToLatLng(this._centerPoint),p.options.touchZoom!=="center"&&(this._pinchStartLatLng=p.containerPointToLatLng(S.add(C)._divideBy(2))),this._startDist=S.distanceTo(C),this._startZoom=p.getZoom(),this._moved=!1,this._zooming=!0,p._stop(),Xe(document,"touchmove",this._onTouchMove,this),Xe(document,"touchend touchcancel",this._onTouchEnd,this),Ln(c)}},_onTouchMove:function(c){if(!(!c.touches||c.touches.length!==2||!this._zooming)){var p=this._map,S=p.mouseEventToContainerPoint(c.touches[0]),C=p.mouseEventToContainerPoint(c.touches[1]),M=S.distanceTo(C)/this._startDist;if(this._zoom=p.getScaleZoom(M,this._startZoom),!p.options.bounceAtZoomLimits&&(this._zoomp.getMaxZoom()&&M>1)&&(this._zoom=p._limitZoom(this._zoom)),p.options.touchZoom==="center"){if(this._center=this._startLatLng,M===1)return}else{var G=S._add(C)._divideBy(2)._subtract(this._centerPoint);if(M===1&&G.x===0&&G.y===0)return;this._center=p.unproject(p.project(this._pinchStartLatLng,this._zoom).subtract(G),this._zoom)}this._moved||(p._moveStart(!0,!1),this._moved=!0),F(this._animRequest);var re=a(p._move,p,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=I(re,this,!0),Ln(c)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,F(this._animRequest),xt(document,"touchmove",this._onTouchMove,this),xt(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});ut.addInitHook("addHandler","touchZoom",Vj),ut.BoxZoom=Ij,ut.DoubleClickZoom=Dj,ut.Drag=Fj,ut.Keyboard=Bj,ut.ScrollWheelZoom=Uj,ut.TapHold=zj,ut.TouchZoom=Vj,n.Bounds=H,n.Browser=Be,n.CRS=fe,n.Canvas=Mj,n.Circle=R1,n.CircleMarker=_m,n.Class=W,n.Control=Oi,n.DivIcon=Aj,n.DivOverlay=Qi,n.DomEvent=HV,n.DomUtil=VV,n.Draggable=da,n.Evented=ne,n.FeatureGroup=Co,n.GeoJSON=jo,n.GridLayer=Lf,n.Handler=Xi,n.Icon=Kl,n.ImageOverlay=Em,n.LatLng=ie,n.LatLngBounds=K,n.Layer=Ei,n.LayerGroup=ql,n.LineUtil=iW,n.Map=ut,n.Marker=bm,n.Mixin=QV,n.Path=ha,n.Point=Z,n.PolyUtil=JV,n.Polygon=Yl,n.Polyline=To,n.Popup=Pm,n.PosAnimation=dj,n.Projection=oW,n.Rectangle=$j,n.Renderer=Ao,n.SVG=If,n.SVGOverlay=jj,n.TileLayer=Xl,n.Tooltip=Cm,n.Transformation=J,n.Util=q,n.VideoOverlay=Tj,n.bind=a,n.bounds=ee,n.canvas=Rj,n.circle=hW,n.circleMarker=dW,n.control=Nf,n.divIcon=wW,n.extend=i,n.featureGroup=uW,n.geoJSON=Cj,n.geoJson=vW,n.gridLayer=SW,n.icon=cW,n.imageOverlay=gW,n.latLng=ae,n.latLngBounds=te,n.layerGroup=lW,n.map=GV,n.marker=fW,n.point=B,n.polygon=mW,n.polyline=pW,n.popup=_W,n.rectangle=PW,n.setOptions=y,n.stamp=l,n.svg=Lj,n.svgOverlay=bW,n.tileLayer=kj,n.tooltip=xW,n.transformation=Y,n.version=r,n.videoOverlay=yW;var TW=window.L;n.noConflict=function(){return window.L=TW,this},window.L=n})})(YO,YO.exports);var tm=YO.exports;const e$=at(tm);function OT(e,t,n){return Object.freeze({instance:e,context:t,container:n})}function ET(e,t){return t==null?function(r,i){const o=R.useRef();return o.current||(o.current=e(r,i)),o}:function(r,i){const o=R.useRef();o.current||(o.current=e(r,i));const a=R.useRef(r),{instance:s}=o.current;return R.useEffect(function(){a.current!==r&&(t(s,r,a.current),a.current=r)},[s,r,i]),o}}function _4e(e,t){R.useEffect(function(){return(t.layerContainer??t.map).addLayer(e.instance),function(){var o;(o=t.layerContainer)==null||o.removeLayer(e.instance),t.map.removeLayer(e.instance)}},[t,e])}function i9(e){return function(n){const r=n9(),i=e(ST(n,r),r);return JU(r.map,n.attribution),r9(i.current,n.eventHandlers),_4e(i.current,r),i}}function x4e(e,t){const n=ET(e,t),r=i9(n);return v4e(r)}function w4e(e,t){const n=ET(e),r=b4e(n,t);return g4e(r)}function S4e(e,t){const n=ET(e,t),r=i9(n);return y4e(r)}function O4e(e,t,n){const{opacity:r,zIndex:i}=t;r!=null&&r!==n.opacity&&e.setOpacity(r),i!=null&&i!==n.zIndex&&e.setZIndex(i)}function ZO(){return ZO=Object.assign||function(e){for(var t=1;t(v==null?void 0:v.map)??null,[v]);const y=R.useCallback(_=>{if(_!==null&&v===null){const b=new tm.Map(_,f);n!=null&&u!=null?b.setView(n,u):e!=null&&b.fitBounds(e,t),l!=null&&b.whenReady(l),g(p4e(b))}},[]);R.useEffect(()=>()=>{v==null||v.map.remove()},[v]);const x=v?V.createElement(t9,{value:v},r):a??null;return V.createElement("div",ZO({},h,{ref:y}),x)}const P4e=R.forwardRef(E4e),C4e=x4e(function({position:t,...n},r){const i=new tm.Marker(t,n);return OT(i,m4e(r,{overlayContainer:i}))},function(t,n,r){n.position!==r.position&&t.setLatLng(n.position),n.icon!=null&&n.icon!==r.icon&&t.setIcon(n.icon),n.zIndexOffset!=null&&n.zIndexOffset!==r.zIndexOffset&&t.setZIndexOffset(n.zIndexOffset),n.opacity!=null&&n.opacity!==r.opacity&&t.setOpacity(n.opacity),t.dragging!=null&&n.draggable!==r.draggable&&(n.draggable===!0?t.dragging.enable():t.dragging.disable())}),T4e=w4e(function(t,n){const r=new tm.Popup(t,n.overlayContainer);return OT(r,n)},function(t,n,{position:r},i){R.useEffect(function(){const{instance:a}=t;function s(u){u.popup===a&&(a.update(),i(!0))}function l(u){u.popup===a&&i(!1)}return n.map.on({popupopen:s,popupclose:l}),n.overlayContainer==null?(r!=null&&a.setLatLng(r),a.openOn(n.map)):n.overlayContainer.bindPopup(a),function(){var f;n.map.off({popupopen:s,popupclose:l}),(f=n.overlayContainer)==null||f.unbindPopup(),n.map.removeLayer(a)}},[t,n,i,r])}),j4e=S4e(function({url:t,...n},r){const i=new tm.TileLayer(t,ST(n,r));return OT(i,r)},function(t,n,r){O4e(t,n,r);const{url:i}=n;i!=null&&i!==r.url&&t.setUrl(i)}),A4e={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},o9={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},Jt={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},er={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},xa={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"};class be{static getFirstMatch(t,n){const r=n.match(t);return r&&r.length>0&&r[1]||""}static getSecondMatch(t,n){const r=n.match(t);return r&&r.length>1&&r[2]||""}static matchAndReturnConst(t,n,r){if(t.test(n))return r}static getWindowsVersionName(t){switch(t){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}static getMacOSVersionName(t){const n=t.split(".").splice(0,2).map(r=>parseInt(r,10)||0);if(n.push(0),n[0]===10)switch(n[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}}static getAndroidVersionName(t){const n=t.split(".").splice(0,2).map(r=>parseInt(r,10)||0);if(n.push(0),!(n[0]===1&&n[1]<5)){if(n[0]===1&&n[1]<6)return"Cupcake";if(n[0]===1&&n[1]>=6)return"Donut";if(n[0]===2&&n[1]<2)return"Eclair";if(n[0]===2&&n[1]===2)return"Froyo";if(n[0]===2&&n[1]>2)return"Gingerbread";if(n[0]===3)return"Honeycomb";if(n[0]===4&&n[1]<1)return"Ice Cream Sandwich";if(n[0]===4&&n[1]<4)return"Jelly Bean";if(n[0]===4&&n[1]>=4)return"KitKat";if(n[0]===5)return"Lollipop";if(n[0]===6)return"Marshmallow";if(n[0]===7)return"Nougat";if(n[0]===8)return"Oreo";if(n[0]===9)return"Pie"}}static getVersionPrecision(t){return t.split(".").length}static compareVersions(t,n,r=!1){const i=be.getVersionPrecision(t),o=be.getVersionPrecision(n);let a=Math.max(i,o),s=0;const l=be.map([t,n],u=>{const f=a-be.getVersionPrecision(u),d=u+new Array(f+1).join(".0");return be.map(d.split("."),h=>new Array(20-h.length).join("0")+h).reverse()});for(r&&(s=a-Math.min(i,o)),a-=1;a>=s;){if(l[0][a]>l[1][a])return 1;if(l[0][a]===l[1][a]){if(a===s)return 0;a-=1}else if(l[0][a]{r[l]=a[l]})}return t}static getBrowserAlias(t){return A4e[t]}static getBrowserTypeByAlias(t){return o9[t]||""}}const bt=/version\/(\d+(\.?_?\d+)+)/i,k4e=[{test:[/googlebot/i],describe(e){const t={name:"Googlebot"},n=be.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/opera/i],describe(e){const t={name:"Opera"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opr\/|opios/i],describe(e){const t={name:"Opera"},n=be.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/SamsungBrowser/i],describe(e){const t={name:"Samsung Internet for Android"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Whale/i],describe(e){const t={name:"NAVER Whale Browser"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MZBrowser/i],describe(e){const t={name:"MZ Browser"},n=be.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/focus/i],describe(e){const t={name:"Focus"},n=be.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/swing/i],describe(e){const t={name:"Swing"},n=be.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/coast/i],describe(e){const t={name:"Opera Coast"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe(e){const t={name:"Opera Touch"},n=be.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/yabrowser/i],describe(e){const t={name:"Yandex Browser"},n=be.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/ucbrowser/i],describe(e){const t={name:"UC Browser"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Maxthon|mxios/i],describe(e){const t={name:"Maxthon"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/epiphany/i],describe(e){const t={name:"Epiphany"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/puffin/i],describe(e){const t={name:"Puffin"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sleipnir/i],describe(e){const t={name:"Sleipnir"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/k-meleon/i],describe(e){const t={name:"K-Meleon"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/micromessenger/i],describe(e){const t={name:"WeChat"},n=be.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/qqbrowser/i],describe(e){const t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},n=be.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/msie|trident/i],describe(e){const t={name:"Internet Explorer"},n=be.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/\sedg\//i],describe(e){const t={name:"Microsoft Edge"},n=be.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/edg([ea]|ios)/i],describe(e){const t={name:"Microsoft Edge"},n=be.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/vivaldi/i],describe(e){const t={name:"Vivaldi"},n=be.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/seamonkey/i],describe(e){const t={name:"SeaMonkey"},n=be.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sailfish/i],describe(e){const t={name:"Sailfish"},n=be.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return n&&(t.version=n),t}},{test:[/silk/i],describe(e){const t={name:"Amazon Silk"},n=be.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/phantom/i],describe(e){const t={name:"PhantomJS"},n=be.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/slimerjs/i],describe(e){const t={name:"SlimerJS"},n=be.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(e){const t={name:"BlackBerry"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(web|hpw)[o0]s/i],describe(e){const t={name:"WebOS Browser"},n=be.getFirstMatch(bt,e)||be.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/bada/i],describe(e){const t={name:"Bada"},n=be.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/tizen/i],describe(e){const t={name:"Tizen"},n=be.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/qupzilla/i],describe(e){const t={name:"QupZilla"},n=be.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/firefox|iceweasel|fxios/i],describe(e){const t={name:"Firefox"},n=be.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/electron/i],describe(e){const t={name:"Electron"},n=be.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe(e){const t={name:"Miui"},n=be.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/chromium/i],describe(e){const t={name:"Chromium"},n=be.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/chrome|crios|crmo/i],describe(e){const t={name:"Chrome"},n=be.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/GSA/i],describe(e){const t={name:"Google Search"},n=be.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test(e){const t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe(e){const t={name:"Android Browser"},n=be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/playstation 4/i],describe(e){const t={name:"PlayStation 4"},n=be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/safari|applewebkit/i],describe(e){const t={name:"Safari"},n=be.getFirstMatch(bt,e);return n&&(t.version=n),t}},{test:[/.*/i],describe(e){const t=/^(.*)\/(.*) /,n=/^(.*)\/(.*)[ \t]\((.*)/,i=e.search("\\(")!==-1?n:t;return{name:be.getFirstMatch(i,e),version:be.getSecondMatch(i,e)}}}],N4e=[{test:[/Roku\/DVP/],describe(e){const t=be.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:er.Roku,version:t}}},{test:[/windows phone/i],describe(e){const t=be.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:er.WindowsPhone,version:t}}},{test:[/windows /i],describe(e){const t=be.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),n=be.getWindowsVersionName(t);return{name:er.Windows,version:t,versionName:n}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(e){const t={name:er.iOS},n=be.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return n&&(t.version=n),t}},{test:[/macintosh/i],describe(e){const t=be.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),n=be.getMacOSVersionName(t),r={name:er.MacOS,version:t};return n&&(r.versionName=n),r}},{test:[/(ipod|iphone|ipad)/i],describe(e){const t=be.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:er.iOS,version:t}}},{test(e){const t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe(e){const t=be.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),n=be.getAndroidVersionName(t),r={name:er.Android,version:t};return n&&(r.versionName=n),r}},{test:[/(web|hpw)[o0]s/i],describe(e){const t=be.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),n={name:er.WebOS};return t&&t.length&&(n.version=t),n}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(e){const t=be.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||be.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||be.getFirstMatch(/\bbb(\d+)/i,e);return{name:er.BlackBerry,version:t}}},{test:[/bada/i],describe(e){const t=be.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:er.Bada,version:t}}},{test:[/tizen/i],describe(e){const t=be.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:er.Tizen,version:t}}},{test:[/linux/i],describe(){return{name:er.Linux}}},{test:[/CrOS/],describe(){return{name:er.ChromeOS}}},{test:[/PlayStation 4/],describe(e){const t=be.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:er.PlayStation4,version:t}}}],M4e=[{test:[/googlebot/i],describe(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe(e){const t=be.getFirstMatch(/(can-l01)/i,e)&&"Nova",n={type:Jt.mobile,vendor:"Huawei"};return t&&(n.model=t),n}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe(){return{type:Jt.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe(){return{type:Jt.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(){return{type:Jt.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe(){return{type:Jt.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe(){return{type:Jt.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe(){return{type:Jt.tablet}}},{test(e){const t=e.test(/ipod|iphone/i),n=e.test(/like (ipod|iphone)/i);return t&&!n},describe(e){const t=be.getFirstMatch(/(ipod|iphone)/i,e);return{type:Jt.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe(){return{type:Jt.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe(){return{type:Jt.mobile}}},{test(e){return e.getBrowserName(!0)==="blackberry"},describe(){return{type:Jt.mobile,vendor:"BlackBerry"}}},{test(e){return e.getBrowserName(!0)==="bada"},describe(){return{type:Jt.mobile}}},{test(e){return e.getBrowserName()==="windows phone"},describe(){return{type:Jt.mobile,vendor:"Microsoft"}}},{test(e){const t=Number(String(e.getOSVersion()).split(".")[0]);return e.getOSName(!0)==="android"&&t>=3},describe(){return{type:Jt.tablet}}},{test(e){return e.getOSName(!0)==="android"},describe(){return{type:Jt.mobile}}},{test(e){return e.getOSName(!0)==="macos"},describe(){return{type:Jt.desktop,vendor:"Apple"}}},{test(e){return e.getOSName(!0)==="windows"},describe(){return{type:Jt.desktop}}},{test(e){return e.getOSName(!0)==="linux"},describe(){return{type:Jt.desktop}}},{test(e){return e.getOSName(!0)==="playstation 4"},describe(){return{type:Jt.tv}}},{test(e){return e.getOSName(!0)==="roku"},describe(){return{type:Jt.tv}}}],R4e=[{test(e){return e.getBrowserName(!0)==="microsoft edge"},describe(e){if(/\sedg\//i.test(e))return{name:xa.Blink};const n=be.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:xa.EdgeHTML,version:n}}},{test:[/trident/i],describe(e){const t={name:xa.Trident},n=be.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test(e){return e.test(/presto/i)},describe(e){const t={name:xa.Presto},n=be.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test(e){const t=e.test(/gecko/i),n=e.test(/like gecko/i);return t&&!n},describe(e){const t={name:xa.Gecko},n=be.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(apple)?webkit\/537\.36/i],describe(){return{name:xa.Blink}}},{test:[/(apple)?webkit/i],describe(e){const t={name:xa.WebKit},n=be.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}}];class t${constructor(t,n=!1){if(t==null||t==="")throw new Error("UserAgent parameter can't be empty");this._ua=t,this.parsedResult={},n!==!0&&this.parse()}getUA(){return this._ua}test(t){return t.test(this._ua)}parseBrowser(){this.parsedResult.browser={};const t=be.find(k4e,n=>{if(typeof n.test=="function")return n.test(this);if(n.test instanceof Array)return n.test.some(r=>this.test(r));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser}getBrowser(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()}getBrowserName(t){return t?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""}getBrowserVersion(){return this.getBrowser().version}getOS(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()}parseOS(){this.parsedResult.os={};const t=be.find(N4e,n=>{if(typeof n.test=="function")return n.test(this);if(n.test instanceof Array)return n.test.some(r=>this.test(r));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os}getOSName(t){const{name:n}=this.getOS();return t?String(n).toLowerCase()||"":n||""}getOSVersion(){return this.getOS().version}getPlatform(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()}getPlatformType(t=!1){const{type:n}=this.getPlatform();return t?String(n).toLowerCase()||"":n||""}parsePlatform(){this.parsedResult.platform={};const t=be.find(M4e,n=>{if(typeof n.test=="function")return n.test(this);if(n.test instanceof Array)return n.test.some(r=>this.test(r));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform}getEngine(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()}getEngineName(t){return t?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""}parseEngine(){this.parsedResult.engine={};const t=be.find(R4e,n=>{if(typeof n.test=="function")return n.test(this);if(n.test instanceof Array)return n.test.some(r=>this.test(r));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine}parse(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this}getResult(){return be.assign({},this.parsedResult)}satisfies(t){const n={};let r=0;const i={};let o=0;if(Object.keys(t).forEach(s=>{const l=t[s];typeof l=="string"?(i[s]=l,o+=1):typeof l=="object"&&(n[s]=l,r+=1)}),r>0){const s=Object.keys(n),l=be.find(s,f=>this.isOS(f));if(l){const f=this.satisfies(n[l]);if(f!==void 0)return f}const u=be.find(s,f=>this.isPlatform(f));if(u){const f=this.satisfies(n[u]);if(f!==void 0)return f}}if(o>0){const s=Object.keys(i),l=be.find(s,u=>this.isBrowser(u,!0));if(l!==void 0)return this.compareVersion(i[l])}}isBrowser(t,n=!1){const r=this.getBrowserName().toLowerCase();let i=t.toLowerCase();const o=be.getBrowserTypeByAlias(i);return n&&o&&(i=o.toLowerCase()),i===r}compareVersion(t){let n=[0],r=t,i=!1;const o=this.getBrowserVersion();if(typeof o=="string")return t[0]===">"||t[0]==="<"?(r=t.substr(1),t[1]==="="?(i=!0,r=t.substr(2)):n=[],t[0]===">"?n.push(1):n.push(-1)):t[0]==="="?r=t.substr(1):t[0]==="~"&&(i=!0,r=t.substr(1)),n.indexOf(be.compareVersions(o,r,i))>-1}isOS(t){return this.getOSName(!0)===String(t).toLowerCase()}isPlatform(t){return this.getPlatformType(!0)===String(t).toLowerCase()}isEngine(t){return this.getEngineName(!0)===String(t).toLowerCase()}is(t,n=!1){return this.isBrowser(t,n)||this.isOS(t)||this.isPlatform(t)}some(t=[]){return t.some(n=>this.is(n))}}/*! + * Bowser - a browser detector + * https://github.com/lancedikson/bowser + * MIT License | (c) Dustin Diaz 2012-2015 + * MIT License | (c) Denis Demchenko 2015-2019 + */class L4e{static getParser(t,n=!1){if(typeof t!="string")throw new Error("UserAgent should be a string");return new t$(t,n)}static parse(t){return new t$(t).getResult()}static get BROWSER_MAP(){return o9}static get ENGINE_MAP(){return xa}static get OS_MAP(){return er}static get PLATFORMS_MAP(){return Jt}}var $4e=Object.defineProperty,I4e=(e,t,n)=>t in e?$4e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xa=(e,t,n)=>(I4e(e,typeof t!="symbol"?t+"":t,n),n);const D4e=({listDomains:e,value:t,domainsList:n,onChange:r})=>{const[i,,o,a]=Zt(),{domains:s}=n,l=!t,u=R.useCallback(()=>{r(""),a()},[r,a]),f=R.useCallback(()=>{r(""),o()},[r,o]);return R.useEffect(()=>{e()},[e]),i?m.jsxs(ob,{children:[m.jsx(Gn,{value:t??"",placeholder:"Domain",onChange:d=>r(d.target.value)}),m.jsx(Ye,{id:"backToDropdown",outline:!0,type:"button",className:"domains-dropdown__back-btn","aria-label":"Back to domains list",onClick:u,children:m.jsx(je,{icon:OZ})}),m.jsx(Cr,{target:"backToDropdown",placement:"left",trigger:"hover",children:"Existing domains"})]}):m.jsxs(la,{text:l?"Domain":`Domain: ${t}`,className:l?"domains-dropdown__toggle-btn":"domains-dropdown__toggle-btn--active",children:[s.map(({domain:d,isDefault:h})=>m.jsxs(Ne,{active:(t===d||h)&&l,onClick:()=>r(d),children:[d,h&&m.jsx("span",{className:"float-end text-muted",children:"default"})]},d)),m.jsx(Ne,{divider:!0}),m.jsx(Ne,{onClick:f,children:m.jsx("i",{children:"New domain"})})]})},F4e=e=>(e==null?void 0:e.type)===sC.INVALID_ARGUMENT,B4e=e=>(e==null?void 0:e.type)===sC.INVALID_SHORT_URL_DELETION,U4e=e=>!!e&&typeof e=="object"&&["type","detail","title","status"].every(t=>t in e),qr=e=>U4e(e)?e:void 0,xo=({errorData:e,fallbackMessage:t})=>m.jsxs(m.Fragment,{children:[(e==null?void 0:e.detail)??t,F4e(e)&&m.jsxs("p",{className:"mb-0",children:["Invalid elements: [",e.invalidElements.join(", "),"]"]})]}),Ml=({style:e,className:t,...n})=>m.jsx("button",{type:"button",className:Pe("border-0",t),style:{backgroundColor:"inherit",fontWeight:"inherit",color:"inherit",...e},...n}),a9=R.createContext(""),z4e=a9.Provider,ws=()=>R.useContext(a9),s9=R.createContext(void 0),{Provider:PT}=s9,i1=()=>R.useContext(s9),V4e=5,CT=()=>{const[e,t]=R.useState([]),n=R.useMemo(()=>e.length>=V4e,[e.length]),r=R.useCallback(s=>!n&&t(l=>[...l,s]),[n]),i=R.useCallback(s=>!n&&e.every(l=>l.name!==s),[e,n]),o=R.useCallback(s=>t(l=>l.filter(u=>u!==s)),[]),a=R.useCallback(()=>t([]),[]);return{itemsToCompare:e,addItemToCompare:r,removeItemToCompare:o,clearItemsToCompare:a,canAddItemWithName:i}},TT=({className:e,type:t})=>{const n=ws(),r=i1(),i=R.useMemo(()=>r?encodeURIComponent(r.itemsToCompare.map(l=>l.query).join(",")):"",[r]);if(!r||r.itemsToCompare.length===0)return null;const{itemsToCompare:o,clearItemsToCompare:a,removeItemToCompare:s}=r;return m.jsx("div",{className:Pe("top-sticky",e),children:m.jsxs(St,{bodyClassName:"d-md-flex gap-3 align-items-center",children:[m.jsx("ul",{className:"d-flex flex-wrap gap-1 flex-grow-1 p-0 m-0",children:o.map((l,u)=>{var f;return m.jsxs("li",{className:Pe("badge pe-1",{"bg-secondary":!((f=l.style)!=null&&f.backgroundColor)}),style:l.style,children:[l.name,m.jsx(Ml,{"aria-label":`Remove ${l.name}`,className:"fw-bold fs-6",onClick:()=>s(l),children:"×"})]},`${l.name}_${u}`)})}),m.jsxs("div",{className:"d-flex mt-3 mt-md-0",children:[m.jsxs(Ye,{outline:!0,color:"primary",className:"flex-grow-1 indivisible",disabled:o.length<2,tag:Pt,to:`${n}/${t}/compare-visits?${t}=${i}`,children:[m.jsx(je,{icon:X0,fixedWidth:!0,className:"me-1"}),"Compare (",o.length,"/5) »"]}),m.jsx(Ye,{"aria-label":"Close compare",outline:!0,color:"secondary",className:"ms-2 fw-bold",onClick:a,children:"×"})]})]})})},Xd=(e,t,n)=>n==null?e.shortCode===t&&!e.domain:e.shortCode===t&&e.domain===n,W4e=(e,t)=>!e.domain&&t===a1?!0:e.domain===t,H4e=(e,t)=>{const n=(t==null?void 0:t.validateUrls)??!1;return e?{longUrl:e.longUrl,tags:e.tags,title:e.title??void 0,domain:e.domain??void 0,validSince:e.meta.validSince??void 0,validUntil:e.meta.validUntil??void 0,maxVisits:e.meta.maxVisits??void 0,crawlable:e.crawlable,forwardQuery:e.forwardQuery,deviceLongUrls:e.deviceLongUrls&&{android:e.deviceLongUrls.android??void 0,ios:e.deviceLongUrls.ios??void 0,desktop:e.deviceLongUrls.desktop??void 0},validateUrl:n}:{longUrl:"",validateUrl:n}},l9=e=>e.replaceAll("/","__"),jT=e=>e.replaceAll("__","/"),AT=({domain:e,shortCode:t})=>`${e??a1}__${l9(t)}`,u9=e=>{const[t,n]=e.split(/__(.+)/);if(!n)throw new Error(`It was not possible to parse domain and short code from "${e}"`);return{domain:t===a1?null:t,shortCode:jT(n)}},G4e="yyyy-MM-dd",c9="yyyy-MM-dd HH:mm",ss=()=>new Date,kT=e=>typeof e!="string",NT=(e,t)=>!e||!kT(e)?e:t?_y(e,t):Fce(e),ls=e=>NT(e,void 0),Da=e=>NT(e,G4e),xp=e=>NT(e,c9),$r=e=>kT(e)?e:is(e),nm=(e,t,n)=>{const r=$r(e),i=t&&$r(t),o=n&&$r(n);if(i&&o)try{return zce(r,{start:i,end:o})}catch{return!1}return i?yS(r,i)||Uce(r,i):o?yS(r,o)||xy(r,o):!0},Ms=(e,t)=>yS(e,t)||xy(e,t),o1="all",f9={today:"Today",yesterday:"Yesterday",last7Days:"Last 7 days",last30Days:"Last 30 days",last90Days:"Last 90 days",last180Days:"Last 180 days",last365Days:"Last 365 days",[o1]:void 0},d9=Object.keys(f9),q4e=e=>!e||!e.startDate&&!e.endDate,x0=e=>typeof e=="string"&&d9.includes(e),K4e=d9.filter(e=>e!==o1),n$=e=>e?$r(e):null,h9=(e,t)=>({startDate:n$(e),endDate:n$(t)}),Y4e=e=>{if(!(!e||q4e(e)))return e.startDate&&!e.endDate?`Since ${Da(e.startDate)}`:!e.startDate&&e.endDate?`Until ${Da(e.endDate)}`:`${Da(e.startDate)} - ${Da(e.endDate)}`},p9=e=>{if(!(!e||e===o1))return x0(e)?f9[e]:Y4e(e)},ai=e=>Tl(wy(ss(),e)),du=e=>({startDate:e,endDate:xc(ss())}),m9=e=>{var t;return((t=[[()=>e==="today",()=>du(Tl(ss()))],[()=>e==="yesterday",()=>({startDate:ai(1),endDate:xc(wy(ss(),1))})],[()=>e==="last7Days",()=>du(ai(7))],[()=>e==="last30Days",()=>du(ai(30))],[()=>e==="last90Days",()=>du(ai(90))],[()=>e==="last180Days",()=>du(ai(180))],[()=>e==="last365Days",()=>du(ai(365))]].find(([n])=>n()))==null?void 0:t[1]())??{}},Z4e=e=>{var t;const n=$r(e);return((t=[[()=>Ms(Tl(ss()),n),"today"],[()=>Ms(ai(1),n),"yesterday"],[()=>Ms(ai(7),n),"last7Days"],[()=>Ms(ai(30),n),"last30Days"],[()=>Ms(ai(90),n),"last90Days"],[()=>Ms(ai(180),n),"last180Days"],[()=>Ms(ai(365),n),"last365Days"]].find(([r])=>r()))==null?void 0:t[1])??o1},v9=e=>x0(e)?m9(e):e,g9=e=>!!(e&&e.startDate),X4e=({startDate:e,endDate:t})=>{const n=Wp(xc(t??new Date),Tl(e))+1,r=wy(Tl(e),n),i=wy(xc(e),1);return{startDate:r,endDate:i}},Q4e=e=>{if(g9(e))return Wp(e.endDate??new Date,e.startDate)},MT=e=>e.type!==void 0,J4e=e=>e.type!==void 0,e$e=e=>{const t=wue(e,n=>MT(n.visit)?"orphanVisits":"nonOrphanVisits");return{orphanVisits:[],nonOrphanVisits:[],...t}},y9=(e,{shortCode:t,domain:n},{endDate:r,startDate:i}={})=>e.filter(({shortUrl:o,visit:a})=>o&&Xd(o,t,n)&&nm(a.date,i,r)),b9=(e,t,{endDate:n,startDate:r}={})=>e.filter(({shortUrl:i,visit:o})=>i&&W4e(i,t)&&nm(o.date,r,n)),_9=(e,t,{endDate:n,startDate:r}={})=>e.filter(({shortUrl:i,visit:o})=>(i==null?void 0:i.tags.includes(t))&&nm(o.date,r,n)),Pv=(e,t)=>rF(e,n=>n[t]),t$e=e=>{const t=((e==null?void 0:e.startDate)&&ls(e==null?void 0:e.startDate))??void 0,n=((e==null?void 0:e.endDate)&&ls(e==null?void 0:e.endDate))??void 0;return{startDate:t,endDate:n}},XO=({filter:e,dateRange:t})=>{const{startDate:n,endDate:r}=t$e(t),i=(e==null?void 0:e.excludeBots)||void 0;return{startDate:n,endDate:r,excludeBots:i}},n$e=e=>g9(e.dateRange),r$e=({dateRange:e,...t})=>({...t,dateRange:X4e(e)}),gn=(e,t)=>nF(e,t,{serializeError:n=>n}),r$=5e3,i$e=2,o$e=4,a$e=({currentPage:e,pagesCount:t})=>e>=t,s$e=(e,t)=>t*100/e,x9=({visitsLoader:e,shouldCancel:t,progressChanged:n,batchSize:r})=>{const i=async(a,s)=>Promise.all(s.map(async l=>e({...a,page:l,itemsPerPage:r$}).then(({data:u})=>u))).then(l=>l.flat()),o=async(a,s,l=0)=>{if(t())return[];const u=await i(a,s[l]);return n(s$e(s.length,l+1)),l{const{pagination:s,data:l}=await e({...a,page:1,itemsPerPage:r$});if(a$e(s))return l;const u=uC(i$e,s.pagesCount+1),f=Yu(u,r);return s.pagesCount-1>r&&n(0),l.concat(await o(a,f))}},rm=(e,t)=>async n=>e?t({page:1,itemsPerPage:1,excludeBots:n}).then(({data:r})=>r[0]):Promise.resolve(void 0),im=({typePrefix:e,createLoaders:t,shouldCancel:n})=>{const r=mn(`${e}/progressChanged`),i=mn(`${e}/fallbackToInterval`),o=gn(e,async(a,{getState:s,dispatch:l})=>{var u;const{params:f,options:d}=a,{visitsLoader:h,lastVisitLoader:v}=t(a),g=Q4e(f.dateRange),y=XO(f),x=d.loadPrevInterval&&n$e(f)?XO(r$e(f)):void 0,_=o$e/(x?2:1),b=x?{main:0,prev:0}:{main:0},w=(A,D)=>{b[A]=D;const k=Object.values(b),I=k.reduce((F,q)=>F+q,0);l(r(I/k.length))},O=x9({visitsLoader:h,shouldCancel:()=>n(s),progressChanged:A=>w("main",A),batchSize:_}),[E,P,T]=await Promise.all([O(y),v((u=f.filter)==null?void 0:u.excludeBots),x?O(x).then(A=>A.map(D=>{if(g===void 0)return D;const{date:k,...I}=D,F=cC($r(k),g);return{...I,date:ls(F)}})):Promise.resolve(void 0)]);return!E.length&&P&&l(i(Z4e(P.date))),{...a,visits:E,prevVisits:T}});return Object.assign(o,{progressChanged:r,fallbackToInterval:i})},xf=mn("shlink/visitCreation/createNewVisits",e=>({payload:{createdVisits:e}})),om=({name:e,asyncThunkCreator:t,initialState:n,filterCreatedVisits:r,extraReducers:i})=>{const{pending:o,rejected:a,fulfilled:s,progressChanged:l,fallbackToInterval:u}=t,{reducer:f,actions:d}=nn({name:e,initialState:n,reducers:{cancelGetVisits:v=>({...v,cancelLoad:!0})},extraReducers:v=>{v.addCase(o,()=>({...n,loading:!0})),v.addCase(a,(g,{error:y})=>({...n,errorData:qr(y)??null})),v.addCase(s,(g,{payload:y})=>({...g,...y,loading:!1,progress:null,errorData:null})),v.addCase(l,(g,{payload:y})=>({...g,progress:y})),v.addCase(u,(g,{payload:y})=>({...g,fallbackInterval:y})),v.addCase(xf,(g,{payload:y})=>{const{visits:x}=g,_=r(g,y.createdVisits).map(({visit:b})=>b);return _.length?{...g,visits:[..._,...x]}:g}),i==null||i(v)}}),{cancelGetVisits:h}=d;return{reducer:f,cancelGetVisits:h}},w9="shlink/domainVisits",a1="DEFAULT",l$e={visits:[],domain:"",loading:!1,cancelLoad:!1,errorData:null,progress:null},u$e=e=>im({typePrefix:`${w9}/getDomainVisits`,createLoaders:({domain:t,options:n})=>{const r=e(),{doIntervalFallback:i=!1}=n,o=s=>r.getDomainVisits(t,s),a=rm(i,s=>r.getDomainVisits(t,s));return{visitsLoader:o,lastVisitLoader:a}},shouldCancel:t=>t().domainVisits.cancelLoad}),c$e=e=>om({name:w9,initialState:l$e,asyncThunkCreator:e,filterCreatedVisits:({domain:t,params:n},r)=>b9(r,t,n==null?void 0:n.dateRange)}),og=({className:e="",placement:t,children:n})=>{const r=sa();return m.jsxs(m.Fragment,{children:[m.jsx("span",{className:e,ref:r,children:m.jsx(je,{icon:hP})}),m.jsx(Cr,{target:r,placement:t,children:n})]})},S9=e=>t=>{t.preventDefault(),e()},RT=(e,t,n=1)=>uC(n,e+1).map(t),f$e=e=>Array.isArray(e)&&e.length===0||typeof e=="string"&&e===""||typeof e=="object"&&Object.keys(e).length===0,Ys=e=>e!=null&&!f$e(e),vx=e=>e||null,QO=e=>e?"true":"false",gx=e=>e===void 0?void 0:QO(e),yx=({isLast:e,...t})=>m.jsx(Jv,{...t,required:!1,type:"url",placeholder:"No redirect",className:e?"mb-0":""}),d$e=({isOpen:e,toggle:t,domain:n,editDomainRedirects:r})=>{var i,o,a;const[s,l]=R.useState(((i=n.redirects)==null?void 0:i.baseUrlRedirect)??""),[u,f]=R.useState(((o=n.redirects)==null?void 0:o.regular404Redirect)??""),[d,h]=R.useState(((a=n.redirects)==null?void 0:a.invalidShortUrlRedirect)??""),v=S9(async()=>r({domain:n.domain,redirects:{baseUrlRedirect:vx(s),regular404Redirect:vx(u),invalidShortUrlRedirect:vx(d)}}).then(t));return m.jsx(So,{isOpen:e,toggle:t,centered:!0,children:m.jsxs("form",{name:"domainRedirectsModal",onSubmit:v,children:[m.jsxs(Oo,{toggle:t,children:["Edit redirects for ",m.jsx("b",{children:n.domain})]}),m.jsxs(Wi,{children:[m.jsxs(yx,{value:s,onChange:l,children:[m.jsxs(og,{className:"me-2",placement:"bottom",children:["Visitors accessing the base url, as in ",m.jsxs("b",{children:["https://",n.domain,"/"]}),", will be redirected to this URL."]}),"Base URL"]}),m.jsxs(yx,{value:u,onChange:f,children:[m.jsxs(og,{className:"me-2",placement:"bottom",children:["Visitors accessing a url not matching a short URL pattern, as in ",m.jsxs("b",{children:["https://",n.domain,"/???/[...]"]}),", will be redirected to this URL."]}),"Regular 404"]}),m.jsxs(yx,{value:d,isLast:!0,onChange:h,children:[m.jsx(og,{className:"me-2",placement:"bottom",children:"Visitors accessing a url matching a short URL pattern, but not matching an existing short code, will be redirected to this URL."}),"Invalid short URL"]})]}),m.jsxs(ms,{children:[m.jsx(Ye,{color:"link",type:"button",onClick:t,children:"Cancel"}),m.jsx(Ye,{color:"primary",children:"Save"})]})]})})},h$e=({domain:e,editDomainRedirects:t})=>{const[n,r]=Zt(),i=ws(),o=i1();return m.jsxs(lb,{children:[m.jsxs(Ne,{tag:Pt,to:`${i}/domain/${e.domain}${e.isDefault?`_${a1}`:""}/visits`,children:[m.jsx(je,{icon:dP,fixedWidth:!0})," Visit stats"]}),m.jsxs(Ne,{disabled:!o||!o.canAddItemWithName(e.domain),onClick:()=>o==null?void 0:o.addItemToCompare({name:e.domain,query:e.domain}),children:[m.jsx(je,{icon:X0,fixedWidth:!0})," Compare visits"]}),m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsxs(Ne,{onClick:r,children:[m.jsx(je,{fixedWidth:!0,icon:fP})," Edit redirects"]}),m.jsx(d$e,{domain:e,isOpen:n,toggle:r,editDomainRedirects:t})]})},p$e=(e,t)=>{const n=r=>i=>{i.event.composedPath().some(({classList:o})=>o==null?void 0:o.contains("visits-table"))||document.querySelector(".modal")||r()};return pfe({delta:40,onSwipedLeft:n(t),onSwipedRight:n(e)})},m$e=(e,t)=>{const[n,r]=R.useState(t),i=R.useCallback(o=>{const{location:a,history:s}=window,l=JP(a.search);l[e]=o,s.pushState(null,"",`${a.pathname}?${ab(l)}`),r(o)},[e]);return[n,i]},LT=e=>{const t=Up();return R.useMemo(()=>{var n;return((n=t[e])==null?void 0:n.split(",").filter(Boolean))??[]},[e,t])},v$e=()=>{const e=wo();return R.useCallback(()=>e(-1),[e])},$T=(e,t)=>{const n=R.useCallback(()=>t(`(max-width: ${e}px)`).matches,[t,e]),[r,i]=R.useState(n());return R.useEffect(()=>{const o=()=>i(n());return window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[n]),r},g$e=({status:e,matchMedia:t=window.matchMedia})=>{const n=sa(),r=$T(991,t);return e==="validating"?m.jsx(je,{fixedWidth:!0,icon:$D,spin:!0}):m.jsxs(m.Fragment,{children:[m.jsx("span",{ref:n,children:e==="valid"?m.jsx(je,{fixedWidth:!0,icon:yh,className:"text-muted"}):m.jsx(je,{fixedWidth:!0,icon:Cw,className:"text-danger"})}),m.jsx(Cr,{target:n,placement:r?"right":"left",autohide:e==="valid",children:e==="valid"?"Congratulations! This domain is properly configured.":m.jsxs("span",{children:["Oops! There is some missing configuration, and short URLs shared with this domain will not work.",m.jsx("br",{}),"Check the ",m.jsx(Or,{href:"https://slnk.to/multi-domain-docs",children:"documentation"})," in order to find out what is missing."]})})]})},bx=({fallback:e})=>m.jsxs("span",{className:"text-muted",children:[!e&&m.jsx("small",{children:"No redirect"}),e&&m.jsxs(m.Fragment,{children:[e," ",m.jsx("small",{children:"(as fallback)"})]})]}),y$e=()=>m.jsxs(m.Fragment,{children:[m.jsx(je,{fixedWidth:!0,icon:oZ,className:"text-primary",id:"defaultDomainIcon"}),m.jsx(Cr,{target:"defaultDomainIcon",placement:"right",children:"Default domain"})]}),b$e=({domain:e,editDomainRedirects:t,checkDomainHealth:n,defaultRedirects:r})=>{const{domain:i,isDefault:o,redirects:a,status:s}=e;return R.useEffect(()=>{n(e.domain)},[n,e.domain]),m.jsxs("tr",{className:"responsive-table__row",children:[m.jsx("td",{className:"responsive-table__cell","data-th":"Is default domain",children:o&&m.jsx(y$e,{})}),m.jsx("th",{className:"responsive-table__cell","data-th":"Domain",children:i}),m.jsx("td",{className:"responsive-table__cell","data-th":"Base path redirect",children:(a==null?void 0:a.baseUrlRedirect)??m.jsx(bx,{fallback:r==null?void 0:r.baseUrlRedirect})}),m.jsx("td",{className:"responsive-table__cell","data-th":"Regular 404 redirect",children:(a==null?void 0:a.regular404Redirect)??m.jsx(bx,{fallback:r==null?void 0:r.regular404Redirect})}),m.jsx("td",{className:"responsive-table__cell","data-th":"Invalid short URL redirect",children:(a==null?void 0:a.invalidShortUrlRedirect)??m.jsx(bx,{fallback:r==null?void 0:r.invalidShortUrlRedirect})}),m.jsx("td",{className:"responsive-table__cell text-lg-center","data-th":"Status",children:m.jsx(g$e,{status:s})}),m.jsx("td",{className:"responsive-table__cell text-end",children:m.jsx(h$e,{domain:e,editDomainRedirects:t})})]})},i$=[{value:"Is default domain",isHidden:!0},{value:"Domain",isHidden:!1},{value:"Base path redirect",isHidden:!1},{value:"Regular 404 redirect",isHidden:!1},{value:"Invalid short URL redirect",isHidden:!1},{value:"Domain status",isHidden:!0},{value:"Options",isHidden:!0}],_$e=({listDomains:e,domainsList:t,filterDomains:n,editDomainRedirects:r,checkDomainHealth:i})=>{var o;const{filteredDomains:a,defaultRedirects:s,loading:l,error:u,errorData:f}=t,d=s??((o=a.find(({isDefault:v})=>v))==null?void 0:o.redirects),h=CT();return R.useEffect(()=>{e()},[e]),l?m.jsx(Qo,{loading:!0}):m.jsxs(PT,{value:h,children:[m.jsx(zp,{className:"mb-3",onChange:n}),m.jsx(TT,{type:"domains",className:"mb-3"}),u?m.jsx(lr,{type:"error",children:m.jsx(xo,{errorData:f,fallbackMessage:"Error loading domains :("})}):m.jsx(St,{children:m.jsxs("table",{className:"table table-hover responsive-table mb-0",children:[m.jsx("thead",{className:"responsive-table__header",children:m.jsx("tr",{children:i$.map((v,g)=>m.jsx("th",{children:m.jsx("span",{className:v.isHidden?"sr-only":void 0,children:v.value})},g))})}),m.jsxs("tbody",{children:[a.length<1&&m.jsx("tr",{children:m.jsx("td",{colSpan:i$.length,className:"text-center",children:"No results found"})}),a.map(v=>m.jsx(b$e,{domain:v,editDomainRedirects:r,checkDomainHealth:i,defaultRedirects:d},v.domain))]})]})})]})},x$e="shlink/domainRedirects/EDIT_DOMAIN_REDIRECTS",w$e=e=>gn(x$e,async({domain:t,redirects:n})=>{const r=await e().editDomainRedirects({domain:t,...n});return{domain:t,redirects:r}}),Cv="shlink/domainsList",Tv={domains:[],filteredDomains:[],loading:!1,error:!1},o$=({domain:e,redirects:t})=>n=>n.domain!==e?n:{...n,redirects:t},a$=(e,t)=>n=>n.domain!==e?n:{...n,status:t},S$e=(e,t)=>{const n=gn(`${Cv}/listDomains`,async()=>{const{data:a,defaultRedirects:s}=await e().listDomains();return{domains:a.map(l=>({...l,status:"validating"})),defaultRedirects:s}}),r=gn(`${Cv}/checkDomainHealth`,async a=>{try{const{status:s}=await e().health(a);return{domain:a,status:s==="pass"?"valid":"invalid"}}catch{return{domain:a,status:"invalid"}}}),i=mn(`${Cv}/filterDomains`),{reducer:o}=nn({name:Cv,initialState:Tv,reducers:{},extraReducers:a=>{a.addCase(n.pending,()=>({...Tv,loading:!0})),a.addCase(n.rejected,(s,{error:l})=>({...Tv,error:!0,errorData:qr(l)})),a.addCase(n.fulfilled,(s,{payload:l})=>({...Tv,...l,filteredDomains:l.domains})),a.addCase(r.fulfilled,({domains:s,filteredDomains:l,...u},{payload:f})=>({...u,domains:s.map(a$(f.domain,f.status)),filteredDomains:l.map(a$(f.domain,f.status))})),a.addCase(i,(s,{payload:l})=>({...s,filteredDomains:s.domains.filter(({domain:u})=>u.toLowerCase().match(l.toLowerCase()))})),a.addCase(t.fulfilled,(s,{payload:l})=>({...s,domains:s.domains.map(o$(l)),filteredDomains:s.filteredDomains.map(o$(l))}))}});return{reducer:o,listDomains:n,checkDomainHealth:r,filterDomains:i}},O$e=(e,t)=>{e.serviceFactory("DomainSelector",()=>D4e),e.decorator("DomainSelector",t(["domainsList"],["listDomains"])),e.serviceFactory("ManageDomains",()=>_$e),e.decorator("ManageDomains",t(["domainsList"],["listDomains","filterDomains","editDomainRedirects","checkDomainHealth"])),e.serviceFactory("domainsListReducerCreator",S$e,"apiClientFactory","editDomainRedirects"),e.serviceFactory("domainsListReducer",n=>n.reducer,"domainsListReducerCreator"),e.serviceFactory("listDomains",n=>n.listDomains,"domainsListReducerCreator"),e.serviceFactory("filterDomains",n=>n.filterDomains,"domainsListReducerCreator"),e.serviceFactory("editDomainRedirects",w$e,"apiClientFactory"),e.serviceFactory("checkDomainHealth",n=>n.checkDomainHealth,"domainsListReducerCreator")},s$="shlink/mercure",E$e={loading:!0,error:!1},P$e=e=>{const t=gn(`${s$}/loadMercureInfo`,r=>{if(r&&r.realTimeUpdates&&!r.realTimeUpdates.enabled)throw new Error("Real time updates not enabled");return e().mercureInfo()}),{reducer:n}=nn({name:s$,initialState:E$e,reducers:{},extraReducers:r=>{r.addCase(t.pending,i=>({...i,loading:!0,error:!1})),r.addCase(t.rejected,i=>({...i,loading:!1,error:!0})),r.addCase(t.fulfilled,(i,{payload:o})=>({...o,loading:!1,error:!1}))}});return{loadMercureInfo:t,reducer:n}},C$e=e=>{e.serviceFactory("mercureInfoReducerCreator",P$e,"apiClientFactory"),e.serviceFactory("mercureInfoReducer",t=>t.reducer,"mercureInfoReducerCreator"),e.serviceFactory("loadMercureInfo",t=>t.loadMercureInfo,"mercureInfoReducerCreator")};function It(e){return R.useRef(e).current}function Dt(e,t){return(n,r=globalThis.console)=>(t.forEach(i=>{const o=n[i];e[i]=o}),e)}const T$e=(e,t,n,r)=>{const{mercureHubUrl:i,token:o,loading:a,error:s}=e;if(a||s||!i)return;const l=({data:d})=>n(JSON.parse(d)),u=({status:d})=>d===401&&r(),f=t.map(d=>{const h=new URL(i);h.searchParams.append("topic",d);const v=new mfe.EventSourcePolyfill(h,{headers:{Authorization:`Bearer ${o}`}});return v.onmessage=l,v.onerror=u,v});return()=>f.forEach(d=>d.close())};function Gi(e,t){const n=new Set;return r=>{const{createNewVisits:i,loadMercureInfo:o,mercureInfo:a}=r,s=Kc();return R.useEffect(()=>{const{interval:l}=a,u=v=>l?n.add(v):i([v]),f=t(s),d=T$e(a,f,u,o);if(!l)return d;const h=setInterval(()=>{i([...n]),n.clear()},l*1e3*60);return()=>{clearInterval(h),d==null||d()}},[i,o,a,s]),m.jsx(e,{...r})}}class cr{}Xa(cr,"visits","https://shlink.io/new-visit"),Xa(cr,"orphanVisits","https://shlink.io/new-orphan-visit"),Xa(cr,"shortUrlVisits",e=>`https://shlink.io/new-visit/${e}`);const IT="shlink/shortUrlDeletion",l$={shortCode:"",loading:!1,deleted:!1,error:!1},j$e=e=>gn(`${IT}/deleteShortUrl`,async({shortCode:t,domain:n})=>(await e().deleteShortUrl(t,n),{shortCode:t,domain:n})),O9=mn(`${IT}/shortUrlDeleted`),A$e=e=>{const{actions:t,reducer:n}=nn({name:IT,initialState:l$,reducers:{resetDeleteShortUrl:()=>l$},extraReducers:i=>{i.addCase(e.pending,o=>({...o,loading:!0,error:!1,deleted:!1})),i.addCase(e.rejected,(o,{error:a})=>({...o,errorData:qr(a),loading:!1,error:!0,deleted:!1})),i.addCase(e.fulfilled,(o,{payload:a})=>({...o,shortCode:a.shortCode,loading:!1,error:!1,deleted:!0}))}}),{resetDeleteShortUrl:r}=t;return{reducer:n,resetDeleteShortUrl:r}},E9="shlink/shortUrlsList",P9=5,k$e={loading:!0,error:!1},N$e=e=>gn(`${E9}/listShortUrls`,t=>e().listShortUrls(t??{})),M$e=(e,t,n)=>nn({name:E9,initialState:k$e,reducers:{},extraReducers:r=>{r.addCase(e.pending,i=>({...i,loading:!0,error:!1})),r.addCase(e.rejected,()=>({loading:!1,error:!0})),r.addCase(e.fulfilled,(i,{payload:o})=>({loading:!1,error:!1,shortUrls:o})),r.addCase(n.fulfilled,(i,{payload:o})=>{i.shortUrls&&(i.shortUrls.data=[o,...i.shortUrls.data.slice(0,P9-1)],i.shortUrls.pagination.totalItems+=1)}),r.addCase(t.fulfilled,(i,{payload:o})=>{i.shortUrls&&(i.shortUrls.data=i.shortUrls.data.map(a=>{const{shortCode:s,domain:l}=o;return Xd(a,s,l)?o:a}))}),r.addCase(O9,(i,{payload:o})=>{i.shortUrls&&(i.shortUrls.data=i.shortUrls.data.filter(a=>!Xd(a,o.shortCode,o.domain)),i.shortUrls.pagination.totalItems-=1)}),r.addCase(xf,(i,{payload:o})=>{i.shortUrls&&(i.shortUrls.data=i.shortUrls.data.map(a=>{var s;return((s=o.createdVisits.findLast(({shortUrl:l})=>l&&Xd(a,l.shortCode,l.domain)))==null?void 0:s.shortUrl)??a}))})}}),u$=10,{ceil:R$e}=Math,L$e=new Intl.NumberFormat("en-US"),Yt=e=>L$e.format(Number(e)),$$e=e=>R$e(e/u$)*u$,I$e={field:"dateCreated",dir:"DESC"},C9={realTimeUpdates:{enabled:!0},shortUrlCreation:{validateUrls:!1},visits:{defaultInterval:"last30Days"},shortUrlsList:{defaultOrdering:I$e}},T9=R.createContext(C9),D$e=T9.Provider,DT=()=>R.useContext(T9)??C9,Ss=e=>DT()[e],JO=({children:e,title:t,link:n,tooltip:r})=>{const i=sa();return m.jsxs(m.Fragment,{children:[m.jsxs(Er,{innerRef:i,className:"highlight-card",body:!0,tag:Pt,to:n,children:[m.jsx(je,{size:"3x",className:"highlight-card__link-icon",icon:gfe}),m.jsx(e8,{className:"lh-sm fw-semibold text-uppercase fs-5 highlight-card__title",children:t}),m.jsx(J5,{className:"fs-2 fw-semibold lh-sm",children:e})]}),r&&m.jsx(Cr,{target:i,placement:"bottom",children:r})]})},c$=({loading:e,excludeBots:t,visitsSummary:n,...r})=>m.jsx(JO,{tooltip:n.bots!==void 0?m.jsxs(m.Fragment,{children:[t?"Plus":"Including"," ",m.jsx("strong",{children:Yt(n.bots)})," potential bot visits"]}):void 0,...r,children:e?"Loading...":Yt(t&&n.nonBots?n.nonBots:n.total)}),j9=Gi(({shortUrlsList:e,listShortUrls:t,tagsList:n,loadVisitsOverview:r,visitsOverview:i})=>{const{ShortUrlsTable:o,CreateShortUrl:a}=It(j9),{loading:s,shortUrls:l}=e,{loading:u}=n,{loading:f,nonOrphanVisits:d,orphanVisits:h}=i,v=ws(),g=wo(),y=Ss("visits");return R.useEffect(()=>{t({itemsPerPage:P9,orderBy:{field:"dateCreated",dir:"DESC"}}),r()},[t,r]),m.jsxs(m.Fragment,{children:[m.jsxs(nr,{children:[m.jsx("div",{className:"col-lg-6 col-xl-3 mb-3",children:m.jsx(c$,{title:"Visits",link:`${v}/non-orphan-visits`,excludeBots:(y==null?void 0:y.excludeBots)??!1,loading:f,visitsSummary:d})}),m.jsx("div",{className:"col-lg-6 col-xl-3 mb-3",children:m.jsx(c$,{title:"Orphan visits",link:`${v}/orphan-visits`,excludeBots:(y==null?void 0:y.excludeBots)??!1,loading:f,visitsSummary:h})}),m.jsx("div",{className:"col-lg-6 col-xl-3 mb-3",children:m.jsx(JO,{title:"Short URLs",link:`${v}/list-short-urls/1`,children:s?"Loading...":Yt((l==null?void 0:l.pagination.totalItems)??0)})}),m.jsx("div",{className:"col-lg-6 col-xl-3 mb-3",children:m.jsx(JO,{title:"Tags",link:`${v}/manage-tags`,children:u?"Loading...":Yt(n.tags.length)})})]}),m.jsxs(Er,{className:"mb-3",children:[m.jsxs(vc,{children:[m.jsx("span",{className:"d-sm-none",children:"Create a short URL"}),m.jsx("h5",{className:"d-none d-sm-inline",children:"Create a short URL"}),m.jsx(Pt,{className:"float-end",to:`${v}/create-short-url`,children:"Advanced options »"})]}),m.jsx(mc,{children:m.jsx(a,{basicMode:!0})})]}),m.jsxs(Er,{children:[m.jsxs(vc,{children:[m.jsx("span",{className:"d-sm-none",children:"Recently created URLs"}),m.jsx("h5",{className:"d-none d-sm-inline",children:"Recently created URLs"}),m.jsx(Pt,{className:"float-end",to:`${v}/list-short-urls/1`,children:"See all »"})]}),m.jsx(mc,{children:m.jsx(o,{shortUrlsList:e,className:"mb-0",onTagClick:x=>g(`${v}/list-short-urls/1?tags=${encodeURIComponent(x)}`)})})]})]})},()=>[cr.visits,cr.orphanVisits]),F$e=Dt(j9,["ShortUrlsTable","CreateShortUrl"]);function B$e(e,t){e.factory("Overview",F$e),e.decorator("Overview",t(["shortUrlsList","tagsList","mercureInfo","visitsOverview"],["listShortUrls","createNewVisits","loadMercureInfo","loadVisitsOverview"]))}const A9="shlink/setShortUrlRedirectRules",f$={saving:!1,saved:!1,error:!1},U$e=e=>gn(`${A9}/setShortUrlRedirectRules`,({shortUrl:t,data:n})=>{const{shortCode:r,domain:i}=t;return e().setShortUrlRedirectRules(r,i,n)}),z$e=e=>{const{reducer:t,actions:n}=nn({name:A9,initialState:f$,reducers:{resetSetRules:()=>f$},extraReducers:i=>{i.addCase(e.pending,()=>({saving:!0,saved:!1,error:!1})),i.addCase(e.rejected,(o,{error:a})=>({saving:!1,saved:!1,error:!0,errorData:qr(a)})),i.addCase(e.fulfilled,()=>({saving:!1,error:!1,saved:!0}))}}),{resetSetRules:r}=n;return{reducer:t,resetSetRules:r}},k9="shlink/getShortUrlRedirectRules",V$e={loading:!0,error:!1},W$e=e=>gn(`${k9}/getShortUrlRedirectRules`,({shortCode:t,domain:n})=>e().getShortUrlRedirectRules(t,n)),H$e=e=>nn({name:k9,initialState:V$e,reducers:{},extraReducers:t=>{t.addCase(e.pending,()=>({loading:!0,error:!1})),t.addCase(e.rejected,()=>({loading:!1,error:!0})),t.addCase(e.fulfilled,(n,{payload:r})=>({loading:!1,error:!1,...r}))}});function G$e(e,t){var n=!1;return function(...r){n||(e.call(null,...r),n=!0,setTimeout(function(){n=!1},t))}}function N9(e){return e.split(" ").filter(t=>t)}var M9=typeof window<"u";function Rl(e,t,n=!1){if(!t)return;const r=N9(t);if(r.length&&!r.includes("longTouch"))for(const i of e){if(!am(i)||!vo.has(i)){i.classList.add(...r);continue}const o=[],a=vo.get(i);if(a){for(const s of r)i.classList.contains(s)?i.classList.contains(s)&&n===!1&&o.push(s):i.classList.add(s);a.privateClasses=o,vo.set(i,a)}}}function w0(e,t){if(!t)return;const n=N9(t);if(n.length)for(const r of e){if(!am(r)){r.classList.remove(...n);continue}const i=vo.get(r);if(i)for(const o of n)i.privateClasses.includes(o)||r.classList.remove(o)}}function R9(e){let t=e.parentNode;for(;t!==null&&t.nodeType===1&&t instanceof HTMLElement;){const n=window.getComputedStyle(t).getPropertyValue("overflow");if(n==="scroll"||n==="auto")return t;t=t.parentNode}return document.documentElement}function q$e(e){if(!(e.e instanceof TouchEvent))return;const t=e.e.touches[0].clientX,n=e.e.touches[0].clientY;let r=document.elementFromPoint(t,n);if(!am(r))return;let i,o=!0;for(;r&&o;){if(vo.has(r)||$i.has(r)){o=!1,i=$i.has(r);break}r=r.parentNode}if(i){const a=$i.get(r);return a?{parent:{el:r,data:a}}:void 0}else{const a=vo.get(r);if(!a)return;const s=$i.get(r.parentNode);return s?{node:{el:r,data:a},parent:{el:r.parentNode,data:s}}:void 0}}function am(e){return e instanceof HTMLElement&&e.parentNode instanceof HTMLElement}function L9(e,t){const n=new AbortController;for(const r in t){const i=t[r];e.addEventListener(r,i,{signal:n.signal,passive:!1})}return n}function $9(e,t,n=!1){const r=window.getComputedStyle(e),i=["position","z-index","top","left","x","pointer-events","y","transform-origin","filter","-webkit-text-fill-color"];for(const o of Array.from(r))n===!1&&o&&i.includes(o)||t.style.setProperty(o,r.getPropertyValue(o),r.getPropertyPriority(o));for(const o of Array.from(e.children)){if(!am(o))continue;const a=t.children[Array.from(e.children).indexOf(o)];$9(o,a,n)}}function zl(e){return e instanceof DragEvent?{x:e.clientX,y:e.clientY}:{x:e.touches[0].clientX,y:e.touches[0].clientY}}Array();var d$={up:[0,-1],down:[0,1],left:[-1,0],right:[1,0]},vo=new WeakMap,$i=new WeakMap,qe=void 0;function K$e(){qe=void 0}function I9(e){return qe={ascendingDirection:!1,incomingDirection:void 0,enterCount:0,targetIndex:0,affectedNodes:[],lastValue:void 0,activeNode:void 0,lastTargetValue:void 0,remapJustFinished:!1,preventEnter:!1,clonedDraggedEls:[],swappedNodeValue:!1,originalZIndex:void 0,...e},qe}function Y$e(e,t){return qe={...e,...t},qe}function D9(e){const{x:t,y:n}=zl(e.e);return{coordinates:{x:t,y:n},draggedNode:{el:e.targetData.node.el,data:e.targetData.node.data},draggedNodes:[{el:e.targetData.node.el,data:e.targetData.node.data}],initialIndex:e.targetData.node.data.index,initialParent:{el:e.targetData.parent.el,data:e.targetData.parent.data},lastParent:{el:e.targetData.parent.el,data:e.targetData.parent.data},scrollParent:R9(e.targetData.node.el)}}function Z$e(e,t){const n=F9(e),r=[...eE(t.targetData.parent.el,t.targetData.parent.data).filter(i=>!n.includes(i))];r.splice(t.targetData.node.data.index,0,...n),e.lastTargetValue=t.targetData.node.data.value,tE(t.targetData.parent.el,t.targetData.parent.data,[...r])}function eE(e,t){return[...t.getValues(e)]}function tE(e,t,n){t.setValues(n,e)}function F9(e){return[...e.draggedNodes.map(t=>t.data.value)]}function X$e({parent:e,getValues:t,setValues:n,config:r={}}){var i,o;if(!M9)return;document.addEventListener("dragover",s=>{if(s.preventDefault(),qe){qe.remapJustFinished=!1,qe.lastTargetValue=void 0;const{x:l,y:u}=zl(s);qe.coordinates.y=u,qe.coordinates.x=l,s1()}}),B9(e);const a={getValues:t,setValues:n,config:{handleDragstart:tIe,handleDragoverNode:CIe,handleDragoverParent:TIe,handleEnd:fIe,handleTouchstart:hIe,handleTouchmove:gIe,handleTouchOverNode:aIe,handleTouchOverParent:jIe,performSort:Z$e,performTransfer:MIe,root:document,setupNode:sIe,setupNodeRemap:V9,reapplyDragClasses:lIe,tearDownNode:cIe,tearDownNodeRemap:uIe,remapFinished:eIe,scrollBehavior:{x:.8,y:.8},threshold:{horizontal:0,vertical:0},...r},enabledNodes:[],abortControllers:{}};Q$e(e,a),(i=r.plugins)==null||i.forEach(s=>{var l,u;(u=(l=s(e))==null?void 0:l.tearDown)==null||u.call(l)}),(o=r.plugins)==null||o.forEach(s=>{var l,u;(u=(l=s(e))==null?void 0:l.setup)==null||u.call(l)}),U9(e,!0)}function B9(e){const t=$i.get(e);t&&t.abortControllers.mainParent&&t.abortControllers.mainParent.abort()}function Q$e(e,t){new MutationObserver(J$e).observe(e,{childList:!0}),$i.set(e,t),t.abortControllers.mainParent=L9(e,{dragover:RIe(G$e(t.config.handleDragoverParent,10)),touchOverParent:t.config.handleTouchOverParent})}function J$e(e){const t=e[0].target;t instanceof HTMLElement&&U9(t)}function U9(e,t){const n=$i.get(e);if(!n)return;const r=[],i=n.config;for(let s=0;sh.data.value).includes(f.value)){const h=qe.draggedNodes.find(v=>v.data.value===f.value);h&&(h.el=l)}a.push({el:l,data:f});const d={node:l,parent:e,parentData:n,nodeData:f};(t||!u)&&i.setupNode(d),V9(d)}$i.set(e,{...n,enabledNodes:a}),i.remapFinished(n)}function eIe(){qe&&(qe.preventEnter=!1,qe.swappedNodeValue=void 0,qe.remapJustFinished=!0)}function tIe(e){e.e instanceof DragEvent&&oIe({e:e.e,targetData:e.targetData})}function nIe(e,t,n){Rl([e],t),setTimeout(()=>{w0([e],t),Rl([e],n)})}function rIe(e){const t=I9(D9(e));return e.e.stopPropagation(),e.e.dataTransfer&&(e.e.dataTransfer.dropEffect="move",e.e.dataTransfer.effectAllowed="move",e.e.dataTransfer.setDragImage(e.targetData.node.el,e.e.offsetX,e.e.offsetY)),t}function z9(e){if(!(e.e instanceof DragEvent)&&!(e.e instanceof TouchEvent))return!1;const t=e.targetData.parent.data.config;if(!t.dragHandle)return!0;const n=e.targetData.node.el.querySelectorAll(t.dragHandle);if(!n)return!1;const r=zl(e.e),i=t.root.elementFromPoint(r.x,r.y);if(!i)return!1;for(const o of Array.from(n))if(i===o||o.contains(i))return!0;return!1}function iIe(e){if(!z9(e))return;const t=pIe(e);mIe(e,t),vIe(e,t)}function oIe(e){if(!z9(e)){e.e.preventDefault();return}const t=e.targetData.parent.data.config,n=rIe(e),r=e.targetData.node.el.style.zIndex;n.originalZIndex=r,e.targetData.node.el.style.zIndex="9999",nIe(n.draggedNode.el,t.draggingClass,t.dropZoneClass)}function aIe(e){qe&&(e.detail.targetData.parent.el===qe.lastParent.el?G9(e.detail,qe):l1(e.detail,qe))}function sIe(e){var t;const n=e.parentData.config;e.node.draggable=!0,e.nodeData.abortControllers.mainNode=L9(e.node,{dragstart:hu(n.handleDragstart),dragover:hu(n.handleDragoverNode),dragend:hu(n.handleEnd),touchstart:hu(n.handleTouchstart),touchmove:hu(n.handleTouchmove),touchend:hu(n.handleEnd),touchOverNode:n.handleTouchOverNode}),n.reapplyDragClasses(e.node,e.parentData),(t=e.parentData.config.plugins)==null||t.forEach(r=>{var i,o;(o=(i=r(e.parent))==null?void 0:i.setupNode)==null||o.call(i,e)})}function V9(e){var t;vo.set(e.node,e.nodeData),(t=e.parentData.config.plugins)==null||t.forEach(n=>{var r,i;(i=(r=n(e.parent))==null?void 0:r.setupNodeRemap)==null||i.call(r,e)})}function lIe(e,t){if(!qe)return;const n="touchedNode"in qe?t.config.touchDropZoneClass:t.config.dropZoneClass;qe.draggedNode.el===e&&Rl([e],n,!0)}function uIe(e){var t;(t=e.parentData.config.plugins)==null||t.forEach(n=>{var r,i;(i=(r=n(e.parent))==null?void 0:r.tearDownNodeRemap)==null||i.call(r,e)})}function cIe(e){var t,n,r,i,o;(t=e.parentData.config.plugins)==null||t.forEach(a=>{var s,l;(l=(s=a(e.parent))==null?void 0:s.tearDownNode)==null||l.call(s,e)}),e.node.draggable=!1,(r=(n=e.nodeData)==null?void 0:n.abortControllers)!=null&&r.mainNode&&((o=(i=e.nodeData)==null?void 0:i.abortControllers)==null||o.mainNode.abort())}function fIe(e){qe&&(dIe(e,qe),K$e())}function dIe(e,t){var n,r,i,o;document.removeEventListener("contextmenu",W9),"longTouchTimeout"in t&&t.longTouchTimeout&&clearTimeout(t.longTouchTimeout);const a=(n=$i.get(t.initialParent.el))==null?void 0:n.config,s="touchedNode"in t?a==null?void 0:a.touchDropZoneClass:a==null?void 0:a.dropZoneClass;t.originalZIndex!==void 0&&(t.draggedNode.el.style.zIndex=t.originalZIndex),Rl(t.draggedNodes.map(l=>l.el),s,!0),w0(t.draggedNodes.map(l=>l.el),s),a!=null&&a.longTouchClass&&w0(t.draggedNodes.map(l=>l.el),(i=(r=t.initialParent.data)==null?void 0:r.config)==null?void 0:i.longTouchClass),"touchedNode"in t&&((o=t.touchedNode)==null||o.remove())}function hIe(e){e.e instanceof TouchEvent&&iIe({e:e.e,targetData:e.targetData})}function pIe(e){e.e.stopPropagation();const t=e.targetData.node.el.cloneNode(!0),n=e.targetData.node.el.getBoundingClientRect();return Y$e(I9(D9(e)),{coordinates:{x:e.e.touches[0].clientX,y:e.e.touches[0].clientY},scrollParent:R9(e.targetData.node.el),touchStartLeft:e.e.touches[0].clientX-n.left,touchStartTop:e.e.touches[0].clientY-n.top,touchedNode:t,touchMoving:!1})}function W9(e){e.preventDefault()}function mIe(e,t){t.touchedNodeDisplay=t.touchedNode.style.display;const n=e.targetData.node.el.getBoundingClientRect();t.touchedNode.style.cssText=` + width: ${n.width}px; + position: fixed; + pointer-events: none; + top: -9999px; + z-index: 999999; + display: none; + `,document.body.append(t.touchedNode),$9(e.targetData.node.el,t.touchedNode),t.touchedNode.style.display="none",document.addEventListener("contextmenu",W9)}function vIe(e,t){const n=e.targetData.parent.data.config;n.longTouch&&(t.longTouchTimeout=setTimeout(()=>{t&&(t.longTouch=!0,n.longTouchClass&&e.e.cancelable&&Rl(t.draggedNodes.map(r=>r.el),n.longTouchClass),e.e.preventDefault())},n.longTouchTimeout||200))}function gIe(e){!qe||!("touchedNode"in qe)||PIe(e,qe)}function yIe(e,t){t.longTouchClass&&w0(e.draggedNodes.map(n=>n.el),t==null?void 0:t.longTouchClass),t.touchDraggingClass&&Rl([e.touchedNode],t.touchDraggingClass),t.touchDropZoneClass&&Rl(e.draggedNodes.map(n=>n.el),t.touchDropZoneClass)}function bIe(e){if(!e||!e.scrollParent)return;const{x:t,y:n,width:r,height:i}=e.scrollParent.getBoundingClientRect(),{x:o,y:a,scrollOutside:s}=e.lastParent.data.config.scrollBehavior;return{state:e,xThresh:o,yThresh:a,scrollOutside:s,scrollParent:e.scrollParent,x:t,y:n,width:r,height:i}}function _Ie(e){const t=bIe(qe);if(t)switch(e){case"down":return OIe(t.state,t);case"up":return SIe(t.state,t);case"right":return xIe(t.state,t);case"left":return wIe(t.state,t)}}function xIe(e,t){const n=t.scrollParent.clientWidth+t.x-e.coordinates.x;if(!(!t.scrollOutside&&n<0)&&n<(1-t.xThresh)*t.scrollParent.clientWidth&&!(t.scrollParent.scrollLeft+t.scrollParent.clientWidth>=t.scrollParent.scrollWidth))return e}function wIe(e,t){const n=t.scrollParent.clientWidth+t.x-e.coordinates.x;if(!(!t.scrollOutside&&n>t.scrollParent.clientWidth)&&n>t.xThresh*t.scrollParent.clientWidth&&t.scrollParent.scrollLeft!==0)return e}function SIe(e,t){const n=t.scrollParent.clientHeight+t.y-e.coordinates.y;if(!(!t.scrollOutside&&n>t.scrollParent.clientHeight)&&n>t.yThresh*t.scrollParent.clientHeight&&t.scrollParent.scrollTop!==0)return e}function OIe(e,t){const n=t.scrollParent.clientHeight+t.y-e.coordinates.y;if(!(!t.scrollOutside&&n<0)&&n<(1-t.yThresh)*t.scrollParent.clientHeight&&!(t.scrollParent.scrollTop+t.scrollParent.clientHeight>=t.scrollParent.scrollHeight))return e}function EIe(e,t){t.touchMoving=!0,t.touchedNode.style.display=t.touchedNodeDisplay||"";const{x:n,y:r}=zl(e.e);t.coordinates.y=r,t.coordinates.x=n;const i=t.touchStartLeft??0,o=t.touchStartTop??0;t.touchedNode.style.left=`${n-i}px`,t.touchedNode.style.top=`${r-o}px`,yIe(t,e.targetData.parent.data.config)}function PIe(e,t){if(e.targetData.parent.data.config.longTouch&&!t.longTouch){clearTimeout(t.longTouchTimeout);return}e.e.cancelable&&e.e.preventDefault(),EIe(e,t),s1();const n=q$e(e);if(!n)return;const r={e:e.e,targetData:n};"node"in n?n.node.el.dispatchEvent(new CustomEvent("touchOverNode",{detail:r})):n.parent.el.dispatchEvent(new CustomEvent("touchOverParent",{detail:r}))}function s1(){for(const e of Object.keys(d$)){const[t,n]=d$[e];H9(e,t,n)}}function H9(e,t,n){const r=_Ie(e);r&&(r.scrollParent.scrollBy(t,n),setTimeout(()=>{H9(e,t,n)},"touchedNode"in r?10:100))}function CIe(e){if(!qe)return;const{x:t,y:n}=zl(e.e);qe.coordinates.y=n,qe.coordinates.x=t,s1(),kIe(e,qe)}function TIe(e){if(!qe)return;const{x:t,y:n}=zl(e.e);qe.coordinates.y=n,qe.coordinates.x=t,s1(),l1(e,qe)}function jIe(e){qe&&l1(e.detail,qe)}function AIe(e,t){if(e.targetData.parent.el===t.lastParent.el)return!1;const n=e.targetData.parent.data.config;if(n.dropZone===!1)return!1;const r=t.initialParent.data.config;return n.accepts?n.accepts(e.targetData.parent,t.initialParent,t.lastParent,t):!(!n.group||n.group!==r.group)}function kIe(e,t){var n;e.e.preventDefault(),e.e.stopPropagation(),e.targetData.parent.el===((n=t.lastParent)==null?void 0:n.el)?G9(e,t):l1(e,t)}function NIe(e,t,n,r){var i;if(t.remapJustFinished)return t.remapJustFinished=!1,t.lastTargetValue=e.targetData.node.data.value,!1;if(t.lastTargetValue===e.targetData.node.data.value||t.draggedNodes.map(h=>h.el).includes(e.targetData.node.el)||t.preventEnter||t.swappedNodeValue===e.targetData.node.data.value||e.targetData.parent.el!==((i=t.lastParent)==null?void 0:i.el)||e.targetData.parent.data.config.sortable===!1)return!1;const o=e.targetData.node.el.getBoundingClientRect(),a=t.draggedNode.el.getBoundingClientRect(),s=o.y-a.y,l=o.x-a.x;let u;const f=t.draggedNode.data.index>e.targetData.node.data.index?[e.targetData.node.data.index,t.draggedNode.data.index]:[t.draggedNode.data.index,e.targetData.node.data.index];t.targetIndex=e.targetData.node.data.index,t.affectedNodes=e.targetData.parent.data.enabledNodes.filter(h=>f[0]<=h.data.index&&h.data.index<=f[1]&&h.el!==t.draggedNode.el),Math.abs(s)>Math.abs(l)?u=s>0?"above":"below":u=l>0?"left":"right";const d=t.lastParent.data.config.threshold;switch(u){case"left":if(n>o.x+o.width*d.horizontal)return t.incomingDirection="left",!0;break;case"right":if(no.y+o.height*d.vertical)return t.incomingDirection="above",!0;break;case"below":if(r{const r=t(n.currentTarget);if(r)return e({e:n,targetData:r})}}function MIe(e,t){const n=F9(e),r=eE(e.lastParent.el,e.lastParent.data).filter(s=>!n.includes(s)),i=eE(t.targetData.parent.el,t.targetData.parent.data),o=e.initialParent.el===t.targetData.parent.el&&t.targetData.parent.data.config.sortable===!1;let a;"node"in t.targetData?(o?a=e.initialIndex:t.targetData.parent.data.config.sortable===!1?a=t.targetData.parent.data.enabledNodes.length:a=t.targetData.node.data.index,i.splice(a,0,...n)):(a=o?e.initialIndex:t.targetData.parent.data.enabledNodes.length,i.splice(a,0,...n)),tE(e.lastParent.el,e.lastParent.data,r),tE(t.targetData.parent.el,t.targetData.parent.data,i)}function l1(e,t){AIe(e,t)&&(e.targetData.parent.data.config.performTransfer(t,e),t.lastParent=e.targetData.parent)}function RIe(e){function t(n){const r=$i.get(n);if(r)return{parent:{el:n,data:r}}}return n=>{const r=t(n.currentTarget);if(r)return e({e:n,targetData:r})}}function LIe(e){if(e instanceof HTMLElement)return e;if("current"in e&&e.current instanceof HTMLElement)return e.current;console.warn("Invalid parent element",e)}function $Ie(e,t){const n=LIe(e);n&&t(n)}var S0=new WeakMap;function IIe(e){const t=S0.get(e);return t?t[0]:(console.warn("No values found for parent element"),[])}function DIe(e,t){const n=S0.get(t);n&&n[1](e),S0.set(t,[e,n[1]])}function FIe(e,t){return n=>{S0.set(n,t),X$e({parent:n,getValues:IIe,setValues:DIe,config:e})}}function h$(e){M9&&(Array.isArray(e)||(e=[e]),e.forEach(t=>{const{parent:n,state:r,...i}=t;$Ie(n,FIe(i,r))}))}function BIe(e,t={}){const n=R.useRef(null),[r,i]=R.useState(e);function o(a={}){h$({parent:n,state:[r,i],...a})}return R.useEffect(()=>{h$({parent:n,state:[r,i],...t})},[r]),R.useEffect(()=>()=>{n.current&&B9(n.current)},[]),[n,r,i,o]}const u1=()=>{const e=wo(),t=ws(),n=Up(),r=R.useMemo(()=>{const{orderBy:o,tags:a,excludeBots:s,excludeMaxVisitsReached:l,excludePastValidUntil:u,...f}=n,d=o?rle(o):void 0,h=(a==null?void 0:a.split(","))??[];return{...f,orderBy:d,tags:h,excludeBots:s!==void 0?s==="true":void 0,excludeMaxVisitsReached:l!==void 0?l==="true":void 0,excludePastValidUntil:u!==void 0?u==="true":void 0}},[n]),i=R.useCallback(o=>{const a={...r,...o},{orderBy:s,tags:l,excludeBots:u,excludeMaxVisitsReached:f,excludePastValidUntil:d,...h}=a,v={...h,orderBy:s&&nle(s),tags:l.length>0?l.join(","):void 0,excludeBots:gx(u),excludeMaxVisitsReached:gx(f),excludePastValidUntil:gx(d)},g=ab(v),y=g?`?${g}`:"";e(`${t}/list-short-urls/1${y}`)},[r,e,t]);return[r,i]},FT=()=>{const{domain:e}=Up(),{shortCode:t=""}=Kc();return R.useMemo(()=>({shortCode:jT(t),domain:e}),[e,t])},c1=()=>{const e=v$e();return m.jsx(Ye,{color:"link",size:"lg",className:"p-0 me-3",onClick:e,"aria-label":"Go back",children:m.jsx(je,{icon:yZ})})},UIe={android:"Android",ios:"iOS",desktop:"Desktop"},zIe=({deviceType:e,onDeviceTypeChange:t})=>{const n=R.useId();return m.jsxs("div",{children:[m.jsx("label",{htmlFor:n,children:"Device type:"}),m.jsxs("select",{id:n,className:"form-select",value:e,onChange:r=>t(r.target.value),required:!0,children:[!e&&m.jsx("option",{value:"",children:"- Select type -"}),Object.entries(UIe).map(([r,i])=>m.jsx("option",{value:r,children:i},r))]})]})},VIe=({language:e,onLanguageChange:t})=>{const n=R.useId();return m.jsxs("div",{children:[m.jsx("label",{htmlFor:n,children:"Language:"}),m.jsx(Gn,{id:n,value:e??"",onChange:r=>t(r.target.value),placeholder:"en-US / en",required:!0})]})},WIe=({name:e,value:t,onNameChange:n,onValueChange:r})=>{const i=R.useId(),o=R.useId();return m.jsxs(m.Fragment,{children:[m.jsxs("div",{children:[m.jsx("label",{htmlFor:i,children:"Param name:"}),m.jsx(Gn,{id:i,value:e??"",onChange:a=>n(a.target.value),placeholder:"hello",required:!0})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:o,children:"Param value:"}),m.jsx(Gn,{id:o,value:t??"",onChange:a=>r(a.target.value),placeholder:"world",required:!0})]})]})},HIe={device:"Device type",language:"Language","query-param":"Query param"},GIe=({condition:e,onConditionChange:t,onDelete:n})=>{const r=R.useId(),i=R.useCallback(s=>t({type:s,matchValue:"",matchKey:null}),[t]),o=R.useCallback(s=>t({...e,matchValue:s}),[e,t]),a=R.useCallback(s=>t({...e,matchKey:s}),[e,t]);return m.jsxs("div",{className:"redirect-rule-modal__condition rounded p-3 h-100 d-flex flex-column gap-2",children:[m.jsxs("div",{children:[m.jsx("label",{htmlFor:r,children:"Type:"}),m.jsxs("div",{className:"d-flex gap-2",children:[m.jsx("select",{id:r,className:"form-select flex-grow-1",value:e.type,onChange:s=>i(s.target.value),children:Object.entries(HIe).map(([s,l])=>m.jsx("option",{value:s,children:l},s))}),m.jsx(Ye,{outline:!0,color:"danger",type:"button","aria-label":"Delete condition",onClick:n,children:m.jsx(je,{icon:RD})})]})]}),e.type==="device"&&m.jsx(zIe,{deviceType:e.matchValue,onDeviceTypeChange:o}),e.type==="language"&&m.jsx(VIe,{language:e.matchValue,onLanguageChange:o}),e.type==="query-param"&&m.jsx(WIe,{value:e.matchValue,name:e.matchKey??"",onNameChange:a,onValueChange:o})]})},q9=({isOpen:e,toggle:t,onSave:n,initialData:r})=>{const[i,o]=R.useState(r??{longUrl:"",conditions:[]}),a=R.useCallback(v=>{v.preventDefault(),v.stopPropagation(),i&&n(i),t()},[n,i,t]),s=R.useCallback(()=>o(({longUrl:v,conditions:g})=>({longUrl:v,conditions:[...g,{type:"device",matchValue:"",matchKey:null}]})),[]),l=R.useCallback((v,g)=>o(({longUrl:y,conditions:x})=>{const _=[...x];return _[v]=g,{longUrl:y,conditions:_}}),[]),u=R.useCallback(v=>o(({longUrl:g,conditions:y})=>{const x=[...y];return x.splice(v,1),{longUrl:g,conditions:x}}),[]),f=sa(),d=R.useCallback(()=>{var v;return(v=f==null?void 0:f.current)==null?void 0:v.focus()},[f]),h=R.useCallback(()=>o(r??{longUrl:"",conditions:[]}),[r]);return m.jsx(So,{size:"xl",isOpen:e,toggle:t,centered:!0,onOpened:d,onClosed:h,children:m.jsxs("form",{onSubmit:a,children:[m.jsx(Oo,{toggle:t,className:"sticky-top redirect-rule-modal__header",children:"Redirect rule"}),m.jsxs(Wi,{children:[m.jsx("label",{htmlFor:"longUrl",className:"fw-bold",children:"Long URL:"}),m.jsx(Gn,{id:"longUrl",type:"url",placeholder:"https://www.example.com",value:i.longUrl,onChange:v=>o(g=>({...g,longUrl:v.target.value})),required:!0,innerRef:f}),m.jsx("hr",{}),m.jsxs("div",{className:"d-flex justify-content-between",children:[m.jsx("b",{children:"Conditions:"}),m.jsx(Ye,{outline:!0,size:"sm",type:"button","aria-label":"Add condition",onClick:s,children:m.jsx(je,{icon:jp})})]}),i.conditions.length===0&&m.jsx("div",{className:"text-center",children:m.jsx("i",{children:"Add conditions..."})}),i.conditions.length>0&&m.jsx(nr,{children:i.conditions.map((v,g)=>m.jsx("div",{className:"col-lg-6 col-xl-4 mt-3",children:m.jsx(GIe,{condition:v,onConditionChange:y=>l(g,y),onDelete:()=>u(g)})},`${g}_${v.type}`))})]}),m.jsxs(ms,{className:"sticky-bottom redirect-rule-modal__footer",children:[m.jsx(Ye,{type:"button",color:"link",onClick:t,children:"Cancel"}),m.jsx(Ye,{color:"primary",disabled:i.conditions.length===0,children:"Confirm"})]})]})})},qIe=({priority:e,isLast:t,redirectRule:n,onDelete:r,onMoveUp:i,onMoveDown:o,onUpdate:a})=>{const[s,l]=Zt();return m.jsxs(St,{children:[m.jsxs("div",{className:"d-flex align-content-center gap-3",children:[m.jsx("div",{className:"d-flex flex-column my-auto drag-n-drop-handler d-none d-md-block",style:{cursor:"grab"},children:m.jsx(je,{icon:EZ})}),m.jsxs("div",{className:"d-flex flex-column my-auto",children:[m.jsx(Ye,{outline:!0,color:"secondary",size:"sm","aria-label":`Move rule with priority ${e} up`,disabled:e===1,onClick:i,className:"rounded-0 rounded-top",style:{marginBottom:"-1px"},children:m.jsx(je,{icon:BZ})}),m.jsx(Ye,{outline:!0,color:"secondary",size:"sm","aria-label":`Move rule with priority ${e} down`,disabled:t,onClick:o,className:"rounded-0 rounded-bottom",children:m.jsx(je,{icon:LZ})})]}),m.jsxs("div",{className:"flex-grow-1",children:[m.jsxs("div",{className:"mb-2",children:[m.jsx("b",{children:"Long URL:"})," ",m.jsx(Or,{href:n.longUrl,"data-testid":"rule-long-url"})]}),m.jsxs("div",{className:"d-flex flex-column flex-lg-row gap-2",children:[m.jsx("b",{children:"Conditions:"}),n.conditions.map((u,f)=>m.jsxs("div",{className:"badge bg-secondary",children:[u.type==="device"&&m.jsxs(m.Fragment,{children:["Device is ",u.matchValue]}),u.type==="language"&&m.jsxs(m.Fragment,{children:[u.matchValue," language is accepted"]}),u.type==="query-param"&&m.jsxs(m.Fragment,{children:["Query string contains ",u.matchKey,"=",u.matchValue]})]},`${u.type}_${f}`))]})]}),m.jsxs("div",{className:"d-flex flex-column flex-sm-row gap-1 my-auto",children:[m.jsx(Ye,{outline:!0,color:"secondary",size:"sm","aria-label":`Edit rule with priority ${e}`,onClick:l,children:m.jsx(je,{icon:LD})}),m.jsx(Ye,{outline:!0,color:"danger",size:"sm","aria-label":`Delete rule with priority ${e}`,onClick:r,children:m.jsx(je,{icon:RD})})]})]}),m.jsx(q9,{onSave:a,isOpen:s,toggle:l,initialData:n})]})},KIe=({shortUrlRedirectRules:e,getShortUrlRedirectRules:t,getShortUrlsDetails:n,shortUrlsDetails:r,setShortUrlRedirectRules:i,shortUrlRedirectRulesSaving:o,resetSetRules:a})=>{const s=FT(),{shortUrls:l}=r,u=s&&(l==null?void 0:l.get(s)),[f,d,h]=BIe([],{dragHandle:".drag-n-drop-handler",dropZoneClass:"opacity-25"}),{saving:v,saved:g,errorData:y}=o,[x,_]=Zt(),b=R.useCallback(D=>h((k=[])=>[...k,D]),[h]),w=R.useCallback(D=>h((k=[])=>{const I=[...k];return I.splice(D,1),I}),[h]),O=R.useCallback((D,k)=>h((I=[])=>{const F=[...I];return F[D]=k,F}),[h]),E=R.useCallback((D,k)=>h((I=[])=>{if(!I[k])return I;const F=[...I],q=F[k];return F[k]=F[D],F[D]=q,F}),[h]),P=R.useCallback(D=>E(D,D-1),[E]),T=R.useCallback(D=>E(D,D+1),[E]),A=R.useCallback(D=>{D.preventDefault(),d&&i({shortUrl:s,data:{redirectRules:d}})},[s,d,i]);return R.useEffect(()=>(t(s),n([s]),a),[t,n,s,a]),R.useEffect(()=>{e.redirectRules&&h(e.redirectRules)},[h,e.redirectRules]),m.jsxs("div",{className:"d-flex flex-column gap-3",children:[m.jsx("header",{children:m.jsxs(Er,{body:!0,children:[m.jsxs("h2",{className:"d-sm-flex justify-content-between align-items-center mb-0",children:[m.jsx(c1,{}),m.jsxs("div",{className:"text-center flex-grow-1",children:[r.loading&&m.jsx(m.Fragment,{children:"Loading..."}),!r.loading&&m.jsxs("small",{children:["Redirect rules for ",m.jsx(Or,{href:(u==null?void 0:u.shortUrl)??""})]})]})]}),m.jsx("hr",{}),m.jsxs("div",{children:[m.jsx("p",{className:"mb-2",children:"Configure dynamic conditions that will be checked at runtime."}),"If no conditions match, visitors will be redirected to: ",m.jsx(Or,{href:e.defaultLongUrl??""})]})]})}),m.jsx("div",{children:m.jsxs(Ye,{outline:!0,color:"primary",onClick:_,children:[m.jsx(je,{icon:jp,className:"me-1"})," Add rule"]})}),m.jsxs("form",{onSubmit:A,children:[e.loading&&m.jsx(Qo,{loading:!0}),d.length===0&&!e.loading&&m.jsx(St,{className:"text-center",children:m.jsx("i",{children:"This short URL has no dynamic redirect rules"})}),m.jsx("div",{className:"d-flex flex-column gap-2",ref:f,children:d.map((D,k)=>m.jsx(qIe,{redirectRule:D,priority:k+1,isLast:k===d.length-1,onDelete:()=>w(k),onMoveUp:()=>P(k),onMoveDown:()=>T(k),onUpdate:I=>O(k,I)},`${D.longUrl}_${k}`))}),m.jsx("div",{className:"text-center mt-3",children:m.jsx(Ye,{outline:!0,color:"primary",className:"btn-sm-block",disabled:v,"data-testid":"save-button",children:v?"Saving...":"Save rules"})})]}),y&&m.jsx(lr,{type:"error",children:m.jsx(xo,{errorData:y,fallbackMessage:"An error occurred while saving short URL redirect rules :("})}),g&&m.jsx(lr,{type:"success",children:"Redirect rules properly saved."}),m.jsx(q9,{isOpen:x,toggle:_,onSave:b})]})},YIe=(e,t)=>{e.serviceFactory("ShortUrlRedirectRules",()=>KIe),e.decorator("ShortUrlRedirectRules",t(["shortUrlRedirectRules","shortUrlsDetails","shortUrlRedirectRulesSaving"],["getShortUrlRedirectRules","getShortUrlsDetails","setShortUrlRedirectRules","resetSetRules"])),e.serviceFactory("getShortUrlRedirectRules",W$e,"apiClientFactory"),e.serviceFactory("setShortUrlRedirectRules",U$e,"apiClientFactory"),e.serviceFactory("resetSetRules",n=>n.resetSetRules,"setShortUrlRedirectRulesReducerCreator"),e.serviceFactory("shortUrlRedirectRulesReducerCreator",H$e,"getShortUrlRedirectRules"),e.serviceFactory("shortUrlRedirectRulesReducer",n=>n.reducer,"shortUrlRedirectRulesReducerCreator"),e.serviceFactory("setShortUrlRedirectRulesReducerCreator",z$e,"setShortUrlRedirectRules"),e.serviceFactory("setShortUrlRedirectRulesReducer",n=>n.reducer,"setShortUrlRedirectRulesReducerCreator")},ZIe=e=>({longUrl:"",tags:[],customSlug:"",title:void 0,shortCodeLength:void 0,domain:"",validSince:void 0,validUntil:void 0,maxVisits:void 0,findIfExists:!1,validateUrl:(e==null?void 0:e.validateUrls)??!1,forwardQuery:(e==null?void 0:e.forwardQuery)??!0}),K9=({createShortUrl:e,shortUrlCreation:t,resetCreateShortUrl:n,basicMode:r=!1})=>{const{ShortUrlForm:i,CreateShortUrlResult:o}=It(K9),a=Ss("shortUrlCreation"),s=R.useMemo(()=>ZIe(a),[a]);return m.jsxs(m.Fragment,{children:[m.jsx(i,{initialState:s,saving:t.saving,basicMode:r,onSave:async l=>(n(),e(l))}),m.jsx(o,{creation:t,resetCreateShortUrl:n,canBeClosed:r})]})},XIe=Dt(K9,["ShortUrlForm","CreateShortUrlResult"]),Y9=({shortUrlsDetails:e,getShortUrlsDetails:t,shortUrlEdition:n,editShortUrl:r})=>{const{ShortUrlForm:i}=It(Y9),o=FT(),{loading:a,error:s,errorData:l,shortUrls:u}=e,f=o&&(u==null?void 0:u.get(o)),{saving:d,saved:h,error:v,errorData:g}=n,y=Ss("shortUrlCreation"),x=R.useMemo(()=>H4e(f,y),[f,y]);return R.useEffect(()=>{o&&t([o])},[t,o]),a?m.jsx(Qo,{loading:!0}):s?m.jsx(lr,{type:"error",children:m.jsx(xo,{errorData:l,fallbackMessage:"An error occurred while loading short URL detail :("})}):m.jsxs(m.Fragment,{children:[m.jsx("header",{className:"mb-3",children:m.jsx(Er,{body:!0,children:m.jsxs("h2",{className:"d-sm-flex justify-content-between align-items-center mb-0",children:[m.jsx(c1,{}),m.jsx("div",{className:"text-center flex-grow-1",children:m.jsxs("small",{children:["Edit ",m.jsx(Or,{href:(f==null?void 0:f.shortUrl)??""})]})})]})})}),m.jsx(i,{initialState:x,saving:d,onSave:async _=>{f&&r({...f,data:_})}}),h&&v&&m.jsx(lr,{type:"error",className:"mt-3",children:m.jsx(xo,{errorData:g,fallbackMessage:"An error occurred while updating short URL :("})}),h&&!v&&m.jsx(lr,{type:"success",className:"mt-3",children:"Short URL properly edited."})]})},QIe=Dt(Y9,["ShortUrlForm"]),Z9=({text:e,onCopy:t},n=navigator)=>{var r;return(r=n.clipboard)==null?void 0:r.writeText(e).then(()=>t==null?void 0:t(e,!0)).catch(()=>t==null?void 0:t(e,!1))},X9=({creation:e,resetCreateShortUrl:t,canBeClosed:n=!1})=>{const{useTimeoutToggle:r}=It(X9),[i,o]=r(),{error:a,saved:s}=e;if(R.useEffect(()=>{t()},[t]),a)return m.jsxs(lr,{type:"error",className:"mt-3",children:[n&&m.jsx(je,{"data-testid":"error-close-button",icon:Cw,className:"float-end pointer",onClick:t}),m.jsx(xo,{errorData:e.errorData,fallbackMessage:"An error occurred while creating the URL :("})]});if(!s)return null;const{shortUrl:l}=e.result;return m.jsxs(lr,{type:"success",className:"mt-3",children:[n&&m.jsx(je,{"data-testid":"success-close-button",icon:Cw,className:"float-end pointer",onClick:t}),m.jsxs("span",{children:[m.jsx("b",{children:"Great!"})," The short URL is ",m.jsx("b",{children:l})]}),m.jsxs("button",{className:"btn btn-light btn-sm create-short-url-result__copy-btn",id:"copyBtn",type:"button",onClick:()=>Z9({text:l,onCopy:o}),children:[m.jsx(je,{icon:mF})," Copy ",m.jsxs("span",{className:"sr-only",children:[l," to clipboard"]})]}),m.jsx(Ip,{placement:"left",isOpen:i,target:"copyBtn",children:"Copied!"})]})},JIe=Dt(X9,["useTimeoutToggle"]),_x="delete",e6e=({shortUrl:e,toggle:t,isOpen:n,shortUrlDeletion:r,resetDeleteShortUrl:i,deleteShortUrl:o,shortUrlDeleted:a})=>{const[s,l]=R.useState("");R.useEffect(()=>i,[i]);const{loading:u,error:f,deleted:d,errorData:h}=r,v=R.useCallback(()=>{i(),t()},[i,t]),g=R.useCallback(y=>(y.preventDefault(),o(e).then(t)),[o,e,t]);return m.jsx(So,{isOpen:n,toggle:v,centered:!0,onClosed:()=>d&&a(e),children:m.jsxs("form",{onSubmit:g,children:[m.jsx(Oo,{toggle:v,children:m.jsx("span",{className:"text-danger",children:"Delete short URL"})}),m.jsxs(Wi,{children:[m.jsxs("p",{children:[m.jsx("b",{className:"text-danger",children:"Caution!"})," You are about to delete a short URL."]}),m.jsx("p",{children:"This action cannot be undone. Once you have deleted it, all the visits stats will be lost."}),m.jsxs("p",{children:["Write ",m.jsx("b",{children:_x})," to confirm deletion."]}),m.jsx("input",{type:"text",className:"form-control",placeholder:`Insert ${_x}`,value:s,onChange:y=>l(y.target.value)}),f&&m.jsx(lr,{type:B4e(h)?"warning":"error",small:!0,className:"mt-2",children:m.jsx(xo,{errorData:h,fallbackMessage:"Something went wrong while deleting the URL :("})})]}),m.jsxs(ms,{children:[m.jsx("button",{type:"button",className:"btn btn-link",onClick:v,children:"Cancel"}),m.jsx("button",{type:"submit",className:"btn btn-danger",disabled:s!==_x||u,children:u?"Deleting...":"Delete"})]})]})})},Q9=({amount:e=0,loading:t=!1,...n})=>m.jsxs(Ye,{...n,outline:!0,color:"primary",disabled:t,children:[m.jsx(je,{icon:tZ})," ",t?"Exporting...":m.jsxs(m.Fragment,{children:["Export (",Yt(e),")"]})]}),p$=20,J9=({amount:e=0})=>{const{apiClientFactory:t,ReportExporter:n}=It(J9),[{tags:r,search:i,startDate:o,endDate:a,orderBy:s,tagsMode:l}]=u1(),[u,,f,d]=Zt(),h=R.useCallback(async()=>{const v=e/p$,g=async(x=1)=>{const{data:_}=await t().listShortUrls({page:`${x}`,tags:r,searchTerm:i,startDate:o,endDate:a,orderBy:s,tagsMode:l,itemsPerPage:p$});return x>=v?_:_.concat(await g(x+1))};f();const y=await g();n.exportShortUrls(y.map(x=>{var _;const{hostname:b,pathname:w}=new URL(x.shortUrl),O=w.substring(1);return{createdAt:x.dateCreated,domain:b,shortCode:O,shortUrl:x.shortUrl,longUrl:x.longUrl,title:x.title??"",tags:x.tags.join("|"),visits:((_=x==null?void 0:x.visitsSummary)==null?void 0:_.total)??x.visitsCount??0}})),d()},[e,t,a,s,n,i,o,f,d,r,l]);return m.jsx(Q9,{loading:u,className:"btn-md-block",amount:e,onClick:h})},t6e=Dt(J9,["apiClientFactory","ReportExporter"]),ez=({text:e,onCopy:t,copyToClipboard:n=Z9})=>m.jsx(Ml,{className:"ms-2 p-0","aria-label":`Copy ${e} to clipboard`,onClick:()=>n({text:e,onCopy:t}),children:m.jsx(je,{icon:mF,className:"fs-5"})}),n6e=(e,{margin:t,...n})=>{const r=`${e}/qr-code`,i=ab({...n,margin:t>0?t:void 0});return`${r}${i?`?${i}`:""}`},r6e=({errorCorrection:e,setErrorCorrection:t})=>m.jsxs(la,{text:`Error correction (${e})`,children:[m.jsxs(Ne,{active:e==="L",onClick:()=>t("L"),children:[m.jsx("b",{children:"L"}),"ow"]}),m.jsxs(Ne,{active:e==="M",onClick:()=>t("M"),children:[m.jsx("b",{children:"M"}),"edium"]}),m.jsxs(Ne,{active:e==="Q",onClick:()=>t("Q"),children:[m.jsx("b",{children:"Q"}),"uartile"]}),m.jsxs(Ne,{active:e==="H",onClick:()=>t("H"),children:[m.jsx("b",{children:"H"}),"igh"]})]}),i6e=({format:e,setFormat:t})=>m.jsxs(la,{text:`Format (${e})`,children:[m.jsx(Ne,{active:e==="png",onClick:()=>t("png"),children:"PNG"}),m.jsx(Ne,{active:e==="svg",onClick:()=>t("svg"),children:"SVG"})]}),tz=({shortUrl:{shortUrl:e,shortCode:t},toggle:n,isOpen:r})=>{const{ImageDownloader:i}=It(tz),[o,a]=R.useState(300),[s,l]=R.useState(0),[u,f]=R.useState("png"),[d,h]=R.useState("L"),v=R.useMemo(()=>n6e(e,{size:o,format:u,margin:s,errorCorrection:d}),[e,o,u,s,d]),g=R.useMemo(()=>o+s,[o,s]),y=R.useMemo(()=>{if(!(g<500))return g<800?"lg":"xl"},[g]);return m.jsxs(So,{isOpen:r,toggle:n,centered:!0,size:y,children:[m.jsxs(Oo,{toggle:n,children:["QR code for ",m.jsx(Or,{href:e,children:e})]}),m.jsxs(Wi,{children:[m.jsxs(nr,{children:[m.jsxs(so,{className:"d-grid col-md-6",children:[m.jsxs("label",{htmlFor:"sizeControl",children:["Size: ",o,"px"]}),m.jsx("input",{id:"sizeControl",type:"range",className:"form-control-range",value:o,step:10,min:50,max:1e3,onChange:x=>a(Number(x.target.value))})]}),m.jsxs(so,{className:"d-grid col-md-6",children:[m.jsxs("label",{htmlFor:"marginControl",children:["Margin: ",s,"px"]}),m.jsx("input",{id:"marginControl",type:"range",className:"form-control-range",value:s,step:1,min:0,max:100,onChange:x=>l(Number(x.target.value))})]}),m.jsx(so,{className:"d-grid col-md-6",children:m.jsx(i6e,{format:u,setFormat:f})}),m.jsx(so,{className:"col-md-6",children:m.jsx(r6e,{errorCorrection:d,setErrorCorrection:h})})]}),m.jsxs("div",{className:"text-center",children:[m.jsxs("div",{className:"mb-3",children:[m.jsx(Or,{href:v}),m.jsx(ez,{text:v})]}),m.jsx("img",{src:v,className:"qr-code-modal__img",alt:"QR code"}),m.jsx("div",{className:"mt-3",children:m.jsxs(Ye,{block:!0,color:"primary",onClick:()=>{i.saveImage(v,`${t}-qr-code.${u}`).catch(()=>{})},children:["Download ",m.jsx(je,{icon:FD,className:"ms-1"})]})})]})]})]})},o6e=Dt(tz,["ImageDownloader"]),O0=({date:e,format:t=c9,relative:n=!1})=>{const r=kT(e)?e:is(e);return m.jsx("time",{dateTime:`${Bce(r)}000`,children:n?`${Dce(ss(),r)} ago`:_y(r,t)})},a6e=e=>{const{meta:t,visitsCount:n,visitsSummary:r}=e,{maxVisits:i,validSince:o,validUntil:a}=t,s=(r==null?void 0:r.total)??n??0;return i&&s>=i?{icon:KZ,className:"text-danger",description:m.jsxs(m.Fragment,{children:["This short URL cannot be currently visited because it has reached the maximum amount of ",m.jsx("b",{children:i})," visit",i>1?"s":"","."]})}:a&&xy($r(a),ss())?{icon:xk,className:"text-danger",description:m.jsxs(m.Fragment,{children:["This short URL cannot be visited since ",m.jsx("b",{className:"indivisible",children:xp($r(a))}),"."]})}:o&&xy(ss(),$r(o))?{icon:xk,className:"text-warning",description:m.jsxs(m.Fragment,{children:["This short URL will start working on ",m.jsx("b",{className:"indivisible",children:xp($r(o))}),"."]})}:{icon:yh,className:"text-primary",description:"This short URL can be visited normally."}},s6e=({shortUrl:e})=>{const t=sa(),{icon:n,className:r,description:i}=a6e(e);return m.jsxs(m.Fragment,{children:[m.jsx("span",{style:{cursor:i?"help":void 0},ref:t,children:m.jsx(je,{icon:n,className:r})}),m.jsx(Cr,{target:t,placement:"bottom",children:i})]})},l6e=(e,{shortCode:t,domain:n},r)=>{const i=n?`?domain=${n}`:"";return`${e}/short-code/${l9(t)}/${r}${i}`},ag=({shortUrl:e,suffix:t,asLink:n,children:r,...i})=>{const o=ws();return!n||!e?m.jsx("span",{...i,children:r}):m.jsx(Pt,{to:l6e(o,e,t),...i,children:r})},nz=({visitsCount:e,shortUrl:t,active:n=!1,asLink:r=!1})=>{const i=sa(),{maxVisits:o,validSince:a,validUntil:s}=(t==null?void 0:t.meta)??{},l=!!o||!!a||!!s,u=m.jsx(ag,{shortUrl:t,suffix:"visits",asLink:r,children:m.jsx("strong",{className:Pe("short-url-visits-count__amount",{"short-url-visits-count__amount--big":n}),children:Yt(e)})});return l?m.jsxs(m.Fragment,{children:[m.jsxs("span",{className:"indivisible",children:[u,m.jsxs("small",{className:"short-urls-visits-count__max-visits-control",ref:i,children:[o&&m.jsxs(m.Fragment,{children:[" / ",Yt(o)]}),m.jsx("sup",{className:"ms-1",children:m.jsx(je,{icon:hP})})]})]}),m.jsx(Cr,{target:i,placement:"bottom",children:m.jsxs("ul",{className:"list-unstyled mb-0",children:[o&&m.jsxs("li",{className:"short-url-visits-count__tooltip-list-item",children:["This short URL will not accept more than ",m.jsx("b",{children:Yt(o)})," visit",o===1?"":"s","."]}),a&&m.jsxs("li",{className:"short-url-visits-count__tooltip-list-item",children:["This short URL will not accept visits before ",m.jsx("b",{className:"indivisible",children:xp($r(a))}),"."]}),s&&m.jsxs("li",{className:"short-url-visits-count__tooltip-list-item",children:["This short URL will not accept visits after ",m.jsx("b",{className:"indivisible",children:xp($r(s))}),"."]})]})})]}):u},u6e=e=>!!e.onClose,c6e=e=>!!e.onClick,f1=e=>{const{text:t,children:n,className:r,colorGenerator:i}=e,o=c6e(e),a=o?Ml:"span",s=R.useMemo(()=>i.stylesForKey(t),[t,i]);return m.jsxs(a,{className:Pe("badge tag fw-bold",r,{pointer:o}),style:s,onClick:o?e.onClick:void 0,children:[n??t,u6e(e)&&m.jsx(Ml,{"aria-label":`Remove ${t}`,className:"bg-transparent ms-1 opacity-100 p-0 fw-bold tag__close",onClick:e.onClose,children:"×"})]})},f6e=({tags:e,onTagClick:t,colorGenerator:n})=>e.length===0?m.jsx("i",{className:"indivisible",children:m.jsx("small",{children:"No tags"})}):m.jsx(m.Fragment,{children:e.map(r=>m.jsx(f1,{text:r,colorGenerator:n,onClick:()=>t==null?void 0:t(r)},r))}),rz=({shortUrl:e,onTagClick:t})=>{var n,r,i,o;const{ShortUrlsRowMenu:a,ColorGenerator:s,useTimeoutToggle:l}=It(rz),[u,f]=l(),[d,h]=l(!1,500),v=R.useRef(!0),[{excludeBots:g}]=u1(),y=Ss("visits"),x=g??(y==null?void 0:y.excludeBots);return R.useEffect(()=>{!v.current&&h(),v.current=!1},[(n=e.visitsSummary)==null?void 0:n.total,(r=e.visitsSummary)==null?void 0:r.nonBots,e.visitsCount,h]),m.jsxs("tr",{className:"responsive-table__row",children:[m.jsx("td",{className:"indivisible short-urls-row__cell responsive-table__cell","data-th":"Created at",children:m.jsx(O0,{date:e.dateCreated})}),m.jsx("td",{className:"responsive-table__cell short-urls-row__cell","data-th":"Short URL",children:m.jsxs("span",{className:"position-relative short-urls-row__cell--indivisible",children:[m.jsx("span",{className:"short-urls-row__short-url-wrapper",children:m.jsx(Or,{href:e.shortUrl})}),m.jsx(ez,{text:e.shortUrl,onCopy:f}),m.jsx("span",{role:"status",className:"badge bg-warning text-black short-urls-row__copy-hint",hidden:!u,children:"Copied short URL!"})]})}),m.jsx("td",{className:"responsive-table__cell short-urls-row__cell short-urls-row__cell--break","data-th":`${e.title?"Title":"Long URL"}`,children:m.jsx(Or,{href:e.longUrl,children:e.title??e.longUrl})}),e.title&&m.jsx("td",{className:"short-urls-row__cell responsive-table__cell short-urls-row__cell--break d-lg-none","data-th":"Long URL",children:m.jsx(Or,{href:e.longUrl})}),m.jsx("td",{className:"responsive-table__cell short-urls-row__cell","data-th":"Tags",children:m.jsx(f6e,{tags:e.tags,colorGenerator:s,onTagClick:t})}),m.jsx("td",{className:"responsive-table__cell short-urls-row__cell text-lg-end","data-th":"Visits",children:m.jsx(nz,{visitsCount:(x?(i=e.visitsSummary)==null?void 0:i.nonBots:(o=e.visitsSummary)==null?void 0:o.total)??e.visitsCount??0,shortUrl:e,active:d,asLink:!0})}),m.jsx("td",{className:"responsive-table__cell short-urls-row__cell","data-th":"Status",children:m.jsx(s6e,{shortUrl:e})}),m.jsx("td",{className:"responsive-table__cell short-urls-row__cell text-end",children:m.jsx(a,{shortUrl:e})})]})},d6e=Dt(rz,["ShortUrlsRowMenu","ColorGenerator","useTimeoutToggle"]),h6e=(e,{maxVersion:t,minVersion:n})=>{const r=!n||xS(e,n,">=");return(!t||xS(e,t,"<="))&&r},iz={excludeBotsOnShortUrls:{minVersion:"3.4.0"},filterDisabledUrls:{minVersion:"3.4.0"},deviceLongUrls:{minVersion:"3.5.0",maxVersion:"3.*.*"},shortUrlVisitsDeletion:{minVersion:"3.6.0"},orphanVisitsDeletion:{minVersion:"3.7.0"},shortUrlRedirectRules:{minVersion:"4.0.0"},urlValidation:{maxVersion:"3.*.*"}};Object.freeze(iz);const Rs=(e,t)=>t==="latest"||h6e(t,iz[e]),oz=e=>({excludeBotsOnShortUrls:Rs("excludeBotsOnShortUrls",e),filterDisabledUrls:Rs("filterDisabledUrls",e),deviceLongUrls:Rs("deviceLongUrls",e),shortUrlVisitsDeletion:Rs("shortUrlVisitsDeletion",e),orphanVisitsDeletion:Rs("orphanVisitsDeletion",e),shortUrlRedirectRules:Rs("shortUrlRedirectRules",e),urlValidation:Rs("urlValidation",e)}),az=R.createContext(oz("0.0.0")),p6e=az.Provider,m6e=e=>R.useMemo(()=>oz(e),[e]),us=e=>R.useContext(az)[e],sz=({shortUrl:e})=>{const{DeleteShortUrlModal:t,QrCodeModal:n}=It(sz),[r,,i,o]=Zt(),[a,,s,l]=Zt(),u=i1(),f=us("shortUrlRedirectRules");return m.jsxs(lb,{minWidth:f?220:190,children:[m.jsxs(Ne,{tag:ag,shortUrl:e,suffix:"visits",asLink:!0,children:[m.jsx(je,{icon:dP,fixedWidth:!0})," Visit stats"]}),u&&m.jsxs(m.Fragment,{children:[m.jsxs(Ne,{disabled:!u.canAddItemWithName(e.shortUrl),onClick:()=>u.addItemToCompare({name:e.shortUrl,query:AT(e)}),children:[m.jsx(je,{icon:X0,fixedWidth:!0})," Compare visits"]}),m.jsx(Ne,{divider:!0,tag:"hr"})]}),m.jsxs(Ne,{tag:ag,shortUrl:e,suffix:"edit",asLink:!0,children:[m.jsx(je,{icon:fP,fixedWidth:!0})," Edit short URL"]}),f&&m.jsxs(Ne,{tag:ag,shortUrl:e,suffix:"redirect-rules",asLink:!0,children:[m.jsx(je,{icon:ZZ,fixedWidth:!0})," Manage redirect rules"]}),m.jsxs(Ne,{onClick:i,children:[m.jsx(je,{icon:GZ,fixedWidth:!0})," QR code"]}),m.jsx(n,{shortUrl:e,isOpen:r,toggle:o}),m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsxs(Ne,{className:"dropdown-item--danger",onClick:s,children:[m.jsx(je,{icon:cP,fixedWidth:!0})," Delete short URL"]}),m.jsx(t,{shortUrl:e,isOpen:a,toggle:l})]})},v6e=Dt(sz,["DeleteShortUrlModal","QrCodeModal"]),lz="shlink/shortUrlCreation",m$={saving:!1,saved:!1,error:!1},g6e=e=>gn(`${lz}/createShortUrl`,t=>e().createShortUrl(t)),y6e=e=>{const{reducer:t,actions:n}=nn({name:lz,initialState:m$,reducers:{resetCreateShortUrl:()=>m$},extraReducers:i=>{i.addCase(e.pending,()=>({saving:!0,saved:!1,error:!1})),i.addCase(e.rejected,(o,{error:a})=>({saving:!1,saved:!1,error:!0,errorData:qr(a)})),i.addCase(e.fulfilled,(o,{payload:a})=>({result:a,saving:!1,saved:!0,error:!1}))}}),{resetCreateShortUrl:r}=n;return{reducer:t,resetCreateShortUrl:r}},uz="shlink/shortUrlEdition",b6e={saving:!1,saved:!1,error:!1},_6e=e=>gn(`${uz}/editShortUrl`,({shortCode:t,domain:n,data:r})=>e().updateShortUrl(t,n,r)),x6e=e=>nn({name:uz,initialState:b6e,reducers:{},extraReducers:t=>{t.addCase(e.pending,n=>({...n,saving:!0,error:!1,saved:!1})),t.addCase(e.rejected,(n,{error:r})=>({...n,saving:!1,error:!0,saved:!1,errorData:qr(r)})),t.addCase(e.fulfilled,(n,{payload:r})=>({shortUrl:r,saving:!1,error:!1,saved:!0}))}}),v$="shlink/shortUrlsDetails",g$={loading:!1,error:!1},w6e=e=>{const t=gn(`${v$}/getShortUrlsDetails`,async(r,{getState:i})=>{const{shortUrlsList:o}=i(),a=await Promise.all(r.map(async s=>{var l;const{shortCode:u,domain:f}=s,d=(l=o==null?void 0:o.shortUrls)==null?void 0:l.data.find(h=>Xd(h,u,f));return[s,d??await e().getShortUrl(u,f)]}));return new Map(a)}),{reducer:n}=nn({name:v$,initialState:g$,reducers:{},extraReducers:r=>{r.addCase(t.pending,()=>({loading:!0,error:!1})),r.addCase(t.rejected,(i,{error:o})=>({loading:!1,error:!0,errorData:qr(o)})),r.addCase(t.fulfilled,(i,{payload:o})=>({...g$,shortUrls:o}))}});return{reducer:n,getShortUrlsDetails:t}},xx=({icon:e,className:t,...n})=>{const r=sa();return m.jsxs("div",{className:"icon-input-container",children:[m.jsx(Gn,{className:Pe("icon-input-container__input",t),innerRef:r,...n}),m.jsx(je,{icon:e,fixedWidth:!0,className:"icon-input-container__icon",onClick:()=>{var i;return(i=r.current)==null?void 0:i.focus()}})]})},S6e=({minDate:e,maxDate:t,value:n,onChange:r,withTime:i=!1,...o})=>{const a=R.useCallback(({target:l})=>{if(!l.value){r==null||r(null);return}r==null||r($r(l.value))},[r]),s=R.useMemo(()=>i?xp:Da,[i]);return m.jsx(Gn,{...o,type:i?"datetime-local":"date",value:s(n)??"",max:s(t)??void 0,min:s(e)??void 0,onChange:a})},E0=({label:e,id:t,...n})=>{const r=R.useId();return m.jsxs(m.Fragment,{children:[m.jsxs("label",{htmlFor:t??r,className:"mb-1",children:[e,":"]}),m.jsx(S6e,{id:t??r,...n})]})},wx=({children:e,infoTooltip:t,checked:n,onChange:r})=>m.jsxs("p",{children:[m.jsx(L8,{inline:!0,checked:n,className:t?"me-2":"",onChange:r,children:e}),t&&m.jsx(og,{placement:"right",children:t})]}),O6e=({isOpen:e,toggle:t})=>m.jsxs(So,{isOpen:e,toggle:t,centered:!0,size:"lg",children:[m.jsx(Oo,{toggle:t,children:"Info"}),m.jsxs(Wi,{children:[m.jsxs("p",{children:["When the ",m.jsx("b",{children:m.jsx("i",{children:'"Use existing URL if found"'})})," checkbox is checked, the server will return an existing short URL if it matches provided params."]}),m.jsx("p",{children:"These are the checks performed by Shlink in order to determine if an existing short URL should be returned:"}),m.jsxs("ul",{children:[m.jsx("li",{children:"When only the long URL is provided: The most recent match will be returned, or a new short URL will be created if none is found."}),m.jsxs("li",{children:["When long URL and custom slug and/or domain are provided: Same as in previous case, but it will try to match the short URL using both the long URL and the slug, the long URL and the domain, or the three of them.",m.jsx("br",{}),"If the slug is being used by another long URL, an error will be returned."]}),m.jsx("li",{children:"When other params are provided: Same as in previous cases, but it will try to match existing short URLs with all provided data. If any of them does not match, a new short URL will be created"})]})]})]}),E6e=()=>{const[e,t]=Zt();return m.jsxs(m.Fragment,{children:[m.jsx(Ml,{className:"p-0",title:"What does this mean?",onClick:t,children:m.jsx(je,{icon:hP})}),m.jsx(O6e,{isOpen:e,toggle:t})]})},jv=e=>typeof e=="string"?is(e):e,P6e=e=>"shortCodeLength"in e&&"customSlug"in e&&"domain"in e,C6e=e=>"error"in e,cz=({basicMode:e=!1,saving:t,onSave:n,initialState:r,tagsList:i})=>{var o,a,s;const{TagsSelector:l,DomainSelector:u}=It(cz),[f,d]=R.useState(r),h=P6e(f),v=us("deviceLongUrls"),g=us("urlValidation"),y=g||h,x=R.useCallback(()=>d(r),[r]),_=R.useCallback((P,T)=>Ys(P)?P:Ys(T)?null:void 0,[]),b=R.useCallback((P,T)=>d(({deviceLongUrls:A={},...D})=>{var k;return{...D,deviceLongUrls:{...A,[P]:_(T,(k=r.deviceLongUrls)==null?void 0:k[P])}}}),[r.deviceLongUrls,_]),w=R.useCallback(P=>d(T=>({...T,tags:P})),[]),O=R.useCallback(async P=>(P.preventDefault(),n(f).then(T=>h&&!C6e(T)&&x()).catch(()=>{})),[h,n,x,f]),E=R.useMemo(()=>m.jsxs("div",{className:"d-flex flex-column gap-3",children:[m.jsx(Gn,{bsSize:"lg",type:"url",placeholder:"URL to be shortened",required:!0,value:f.longUrl,onChange:P=>d(T=>({...T,longUrl:P.target.value}))}),m.jsxs("div",{className:Pe("d-flex flex-column flex-lg-row gap-3",{"mb-3":e}),children:[e&&h&&m.jsx("div",{className:"w-100 w-lg-50",children:m.jsx(Gn,{bsSize:"lg",placeholder:"Custom slug",value:f.customSlug??"",onChange:P=>d(T=>({...T,customSlug:P.target.value}))})}),m.jsx("div",{className:Pe("w-100",{"w-lg-50":e}),children:m.jsx(l,{tags:i.tags,selectedTags:f.tags??[],onChange:w})})]})]}),[l,e,w,h,f,i.tags]);return m.jsxs("form",{name:"shortUrlForm",className:"short-url-form",onSubmit:O,children:[e&&E,!e&&m.jsxs(m.Fragment,{children:[m.jsxs(nr,{children:[m.jsx("div",{className:Pe("mb-3",{"col-sm-6":v,"col-12":!v}),children:m.jsx(St,{title:"Main options",children:E})}),v&&m.jsx("div",{className:"col-sm-6 mb-3",children:m.jsxs(St,{title:"Device-specific long URLs",bodyClassName:"d-flex flex-column gap-3",children:[m.jsx(xx,{type:"url",icon:Efe,placeholder:"Android-specific redirection",value:((o=f.deviceLongUrls)==null?void 0:o.android)??"",onChange:({target:P})=>b("android",P.value)}),m.jsx(xx,{type:"url",icon:Ofe,placeholder:"iOS-specific redirection",value:((a=f.deviceLongUrls)==null?void 0:a.ios)??"",onChange:({target:P})=>b("ios",P.value)}),m.jsx(xx,{type:"url",icon:YZ,placeholder:"Desktop-specific redirection",value:((s=f.deviceLongUrls)==null?void 0:s.desktop)??"",onChange:({target:P})=>b("desktop",P.value)})]})})]}),m.jsxs(nr,{children:[m.jsx("div",{className:"col-sm-6 mb-3",children:m.jsxs(St,{title:"Customize the short URL",bodyClassName:"d-flex flex-column gap-3",children:[m.jsx(Gn,{placeholder:"Title",value:f.title??"",onChange:({target:P})=>d(T=>({...T,title:_(P.value,r.title)}))}),h&&m.jsxs(m.Fragment,{children:[m.jsxs(nr,{children:[m.jsx("div",{className:"col-lg-6 mb-3 mb-lg-0",children:m.jsx(Gn,{placeholder:"Custom slug",value:f.customSlug??"",onChange:P=>d(T=>({...T,customSlug:P.target.value})),disabled:Ys(f.shortCodeLength)})}),m.jsx("div",{className:"col-lg-6",children:m.jsx(Gn,{type:"number",placeholder:"Short code length",value:f.shortCodeLength??"",onChange:P=>d(T=>({...T,shortCodeLength:P.target.value})),min:4,disabled:Ys(f.customSlug)})})]}),m.jsx(u,{value:f.domain,onChange:P=>d(T=>({...T,domain:P}))})]})]})}),m.jsx("div",{className:"col-sm-6 mb-3",children:m.jsxs(St,{title:"Limit access to the short URL",children:[m.jsxs("div",{className:"row mb-3",children:[m.jsx("div",{className:"col-lg-6",children:m.jsx(E0,{label:"Enabled since",withTime:!0,maxDate:f.validUntil?jv(f.validUntil):void 0,value:f.validSince?jv(f.validSince):null,onChange:P=>d(T=>({...T,validSince:ls(P)}))})}),m.jsx("div",{className:"col-lg-6 mt-3 mt-lg-0",children:m.jsx(E0,{label:"Enabled until",withTime:!0,minDate:f.validSince?jv(f.validSince):void 0,value:f.validUntil?jv(f.validUntil):null,onChange:P=>d(T=>({...T,validUntil:ls(P)}))})})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"maxVisits",className:"mb-1",children:"Maximum visits allowed:"}),m.jsx(Gn,{id:"maxVisits",type:"number",min:1,placeholder:"25...",value:f.maxVisits??"",onChange:P=>d(T=>({...T,maxVisits:Ys(P.target.value)?Number(P.target.value):null}))})]})]})})]}),m.jsxs(nr,{children:[y&&m.jsx("div",{className:"col-sm-6 mb-3",children:m.jsxs(St,{title:"Extra checks",children:[g&&m.jsx(wx,{infoTooltip:"If checked, Shlink will try to reach the long URL, failing in case it's not publicly accessible.",checked:f.validateUrl,onChange:P=>d(T=>({...T,validateUrl:P})),children:"Validate URL"}),h&&m.jsxs("p",{children:[m.jsx(L8,{inline:!0,className:"me-2",checked:f.findIfExists,onChange:P=>d(T=>({...T,findIfExists:P})),children:"Use existing URL if found"}),m.jsx(E6e,{})]})]})}),m.jsx("div",{className:Pe("mb-3",{"col-sm-6":y}),children:m.jsxs(St,{title:"Configure behavior",children:[m.jsx(wx,{infoTooltip:"This short URL will be included in the robots.txt for your Shlink instance, allowing web crawlers (like Google) to index it.",checked:f.crawlable,onChange:P=>d(T=>({...T,crawlable:P})),children:"Make it crawlable"}),m.jsx(wx,{infoTooltip:"When this short URL is visited, any query params appended to it will be forwarded to the long URL.",checked:f.forwardQuery,onChange:P=>d(T=>({...T,forwardQuery:P})),children:"Forward query params on redirect"})]})})]})]}),m.jsx("div",{className:"text-center",children:m.jsx(Ye,{outline:!0,color:"primary",disabled:t||!f.longUrl,className:"btn-xs-block",children:t?"Saving...":"Save"})})]})},T6e=Dt(cz,["TagsSelector","DomainSelector"]),j6e=({active:e,allText:t,onChange:n})=>m.jsxs(m.Fragment,{children:[m.jsx(Ne,{active:e==="all",onClick:()=>n("all"),children:t}),m.jsx(Ne,{divider:!0,tag:"hr"}),K4e.map(r=>m.jsx(Ne,{active:e===r,onClick:()=>n(r),children:p9(r)},r))]}),A6e=({startDate:e,endDate:t,disabled:n=!1,onStartDateChange:r,onEndDateChange:i})=>m.jsxs("div",{className:"row",children:[m.jsx("div",{className:"col-md-6",children:m.jsx(E0,{label:"Since",value:e,maxDate:t??void 0,disabled:n,onChange:r})}),m.jsx("div",{className:"col-md-6 mt-3 mt-md-0",children:m.jsx(E0,{label:"Until",value:t,minDate:e??void 0,disabled:n,onChange:o=>i(o&&xc(o))})})]}),BT=({onDatesChange:e,dateRangeOrInterval:t,defaultText:n,disabled:r})=>{const i=R.useMemo(()=>p9(t)??n,[t,n]),[o,a]=R.useMemo(()=>x0(t)?[void 0,t]:[t,void 0],[t]),s=R.useCallback(l=>{x0(l)?e(m9(l),l):e(l)},[e]);return m.jsxs(la,{disabled:r,text:i,children:[m.jsx(j6e,{allText:n,active:a,onChange:s}),m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsx("div",{className:"px-3 py-1",children:m.jsx(A6e,{...o,onStartDateChange:l=>s({...o,startDate:l}),onEndDateChange:l=>s({...o,endDate:l})})})]})},k6e={dateCreated:"Created at",shortCode:"Short URL",longUrl:"Long URL",title:"Title",visits:"Visits"},N6e=({onChange:e,selected:t={},className:n,supportsDisabledFiltering:r})=>{const{excludeBots:i=!1,excludeMaxVisitsReached:o=!1,excludePastValidUntil:a=!1}=t,s=l=>()=>e({...t,[l]:!(t!=null&&t[l])});return m.jsxs(la,{text:"Filters",dropdownClassName:n,end:!0,minWidth:250,children:[m.jsx(Ne,{header:!0,"aria-hidden":!0,children:"Visits:"}),m.jsx(Ne,{active:i,onClick:s("excludeBots"),children:"Ignore visits from bots"}),r&&m.jsxs(m.Fragment,{children:[m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsx(Ne,{header:!0,"aria-hidden":!0,children:"Short URLs:"}),m.jsx(Ne,{active:o,onClick:s("excludeMaxVisitsReached"),children:"Exclude with visits reached"}),m.jsx(Ne,{active:a,onClick:s("excludePastValidUntil"),children:"Exclude enabled in the past"})]}),m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsx(Ne,{disabled:t.excludeBots===void 0&&t.excludeMaxVisitsReached===void 0&&t.excludePastValidUntil===void 0,onClick:()=>e({excludeBots:void 0,excludeMaxVisitsReached:void 0,excludePastValidUntil:void 0}),children:m.jsx("i",{children:"Reset to defaults"})})]})},fz=({className:e,shortUrlsAmount:t,order:n,handleOrderBy:r,tagsList:i})=>{const{ExportShortUrlsBtn:o,TagsSelector:a}=It(fz),[{search:s,tags:l,startDate:u,endDate:f,excludeBots:d,excludeMaxVisitsReached:h,excludePastValidUntil:v,tagsMode:g="any"},y]=u1(),x=us("filterDisabledUrls"),_=Ss("visits"),[b,w]=R.useState(),O=R.useCallback(({startDate:A,endDate:D},k)=>{y({startDate:ls(A)??void 0,endDate:ls(D)??void 0}),w(k)},[y]),E=R.useCallback(A=>y({search:A||void 0}),[y]),P=R.useCallback(A=>y({tags:A}),[y]),T=R.useCallback(()=>y({tagsMode:g==="any"?"all":"any"}),[g,y]);return m.jsxs("div",{className:Pe("short-urls-filtering-bar-container",e),children:[m.jsx(zp,{initialValue:s,onChange:E}),m.jsxs(ob,{className:"mt-3",children:[m.jsx(a,{immutable:!0,placeholder:"With tags...",tags:i.tags,selectedTags:l,onChange:P}),l.length>1&&m.jsxs(m.Fragment,{children:[m.jsx(Ye,{outline:!0,color:"secondary",onClick:T,id:"tagsModeBtn","aria-label":"Change tags mode",children:m.jsx(je,{className:"short-urls-filtering-bar__tags-icon",icon:g==="all"?DD:xZ})}),m.jsx(Cr,{target:"tagsModeBtn",placement:"left",children:g==="all"?"With all the tags.":"With any of the tags."})]})]}),m.jsxs(nr,{className:"flex-lg-row-reverse",children:[m.jsx("div",{className:"col-lg-8 col-xl-6 mt-3",children:m.jsxs("div",{className:"d-md-flex",children:[m.jsx("div",{className:"flex-grow-1",children:m.jsx(BT,{defaultText:"All short URLs",dateRangeOrInterval:b??h9(u,f),onDatesChange:O})}),m.jsx(N6e,{className:"ms-0 ms-md-2 mt-3 mt-md-0",selected:{excludeBots:d??(_==null?void 0:_.excludeBots),excludeMaxVisitsReached:h,excludePastValidUntil:v},onChange:y,supportsDisabledFiltering:x})]})}),m.jsx("div",{className:"col-6 col-lg-4 col-xl-6 mt-3",children:m.jsx(o,{amount:t})}),m.jsx("div",{className:"col-6 d-lg-none mt-3",children:m.jsx(Vp,{prefixed:!1,items:k6e,order:n,onChange:r})})]})]})},M6e=Dt(fz,["ExportShortUrlsBtn","TagsSelector"]);function Qd({currentOrder:e,field:t,className:n="ms-1"}){return!e.dir||e.field!==t?null:m.jsx(je,{icon:e.dir==="ASC"?hZ:PZ,className:n})}const pu=2,nE="...",dz=(e,t)=>{const n=uC(Math.max(pu,e-pu),Math.min(t-1,e+pu)+1);return e-pu>pu&&n.unshift(nE),e+pue===nE,hz=e=>wp(e)?e:Yt(e),pz=(e,t)=>wp(e)?`${e}_${t}`:`${e}`,R6e=({paginator:e,currentQueryString:t=""})=>{const{currentPage:n=0,pagesCount:r=0}=e??{},i=ws(),o=s=>`${i}/list-short-urls/${s}${t}`;if(r<=1)return m.jsx("div",{className:"pb-3"});const a=()=>dz(n,r).map((s,l)=>m.jsx(fl,{disabled:wp(s),active:n===s,children:m.jsx(dl,{tag:Pt,to:o(s),children:hz(s)})},pz(s,l)));return m.jsxs(WP,{className:"sticky-card-paginator py-3",listClassName:"flex-wrap justify-content-center mb-0",children:[m.jsx(fl,{disabled:n===1,children:m.jsx(dl,{previous:!0,tag:Pt,to:o(n-1)})}),a(),m.jsx(fl,{disabled:n>=r,children:m.jsx(dl,{next:!0,tag:Pt,to:o(n+1)})})]})},L6e={field:"dateCreated",dir:"DESC"},mz=Gi(({listShortUrls:e,shortUrlsList:t})=>{var n,r,i;const{ShortUrlsTable:o,ShortUrlsFilteringBar:a}=It(mz),{page:s}=Kc(),l=hr(),[{tags:u,search:f,startDate:d,endDate:h,orderBy:v,tagsMode:g,excludeBots:y,excludePastValidUntil:x,excludeMaxVisitsReached:_},b]=u1(),w=DT(),[O,E]=R.useState(v??((n=w.shortUrlsList)==null?void 0:n.defaultOrdering)??L6e),{pagination:P}=(t==null?void 0:t.shortUrls)??{},T=R.useMemo(()=>{var X;return y??((X=w.visits)==null?void 0:X.excludeBots)},[y,(r=w.visits)==null?void 0:r.excludeBots]),A=us("excludeBotsOnShortUrls"),D=R.useCallback((X,Q)=>{b({orderBy:{field:X,dir:Q}}),E({field:X,dir:Q})},[b]),k=X=>()=>D(X,ub(X,O.field,O.dir)),I=X=>m.jsx(Qd,{currentOrder:O,field:X}),F=R.useCallback(X=>b({tags:[...new Set([...u,X])]}),[u,b]),q=R.useCallback(({field:X,dir:Q})=>A&&T&&X==="visits"?{field:"nonBotVisits",dir:Q}:{field:X,dir:Q},[T,A]),W=CT();return R.useEffect(()=>{e({page:s,searchTerm:f,tags:u,startDate:d,endDate:h,orderBy:q(O),tagsMode:g,excludePastValidUntil:x,excludeMaxVisitsReached:_})},[e,q,s,f,u,d,h,O,g,x,_]),m.jsxs(PT,{value:W,children:[m.jsx(a,{shortUrlsAmount:(i=t.shortUrls)==null?void 0:i.pagination.totalItems,order:O,handleOrderBy:D,className:"mb-3"}),m.jsx(TT,{type:"short-urls",className:"mb-3"}),m.jsxs(Er,{body:!0,className:Pe({"pb-0":!t.loading}),children:[m.jsx(o,{shortUrlsList:t,orderByColumn:k,renderOrderIcon:I,onTagClick:F}),!t.loading&&m.jsx(R6e,{paginator:P,currentQueryString:l.search})]})]})},()=>[cr.visits]),$6e=Dt(mz,["ShortUrlsTable","ShortUrlsFilteringBar"]),vz=({orderByColumn:e,renderOrderIcon:t,shortUrlsList:n,onTagClick:r,className:i})=>{const{ShortUrlsRow:o}=It(vz),{error:a,loading:s,shortUrls:l}=n,u=Pe({"short-urls-table__header-cell--with-action":!!e}),f=Pe("short-urls-table__header-cell",u),d=Pe("table table-hover responsive-table short-urls-table",i),h=()=>a?m.jsx("tr",{children:m.jsx("td",{colSpan:6,className:"text-center table-danger text-dark",children:"Something went wrong while loading short URLs :("})}):s?m.jsx("tr",{children:m.jsx("td",{colSpan:6,className:"text-center",children:"Loading..."})}):!s&&(!l||l.data.length===0)?m.jsx("tr",{children:m.jsx("td",{colSpan:6,className:"text-center",children:"No results found"})}):l==null?void 0:l.data.map(v=>m.jsx(o,{shortUrl:v,onTagClick:r},v.shortUrl));return m.jsxs("table",{className:d,children:[m.jsx("thead",{className:"responsive-table__header short-urls-table__header",children:m.jsxs("tr",{children:[m.jsxs("th",{className:f,onClick:e==null?void 0:e("dateCreated"),children:["Created at ",t==null?void 0:t("dateCreated")]}),m.jsxs("th",{className:f,onClick:e==null?void 0:e("shortCode"),children:["Short URL ",t==null?void 0:t("shortCode")]}),m.jsxs("th",{className:"short-urls-table__header-cell",children:[m.jsxs(Ml,{className:Pe("p-0",u),onClick:e==null?void 0:e("title"),children:["Title ",t==null?void 0:t("title")]}),"  /  ",m.jsxs(Ml,{className:Pe("p-0",u),onClick:e==null?void 0:e("longUrl"),children:[m.jsx("span",{className:"indivisible",children:"Long URL"})," ",t==null?void 0:t("longUrl")]})]}),m.jsx("th",{className:"short-urls-table__header-cell",children:"Tags"}),m.jsx("th",{className:f,onClick:e==null?void 0:e("visits"),children:m.jsxs("span",{className:"indivisible",children:["Visits ",t==null?void 0:t("visits")]})}),m.jsx("th",{className:"short-urls-table__header-cell",colSpan:2,"aria-hidden":!0})]})}),m.jsx("tbody",{children:h()})]})},I6e=Dt(vz,["ShortUrlsRow"]),D6e=(e,t)=>{e.factory("ShortUrlsList",$6e),e.decorator("ShortUrlsList",t(["mercureInfo","shortUrlsList"],["listShortUrls","createNewVisits","loadMercureInfo"])),e.factory("ShortUrlsTable",I6e),e.factory("ShortUrlsRow",d6e),e.factory("ShortUrlsRowMenu",v6e),e.factory("CreateShortUrlResult",JIe),e.factory("ShortUrlForm",T6e),e.decorator("ShortUrlForm",t(["tagsList"])),e.factory("CreateShortUrl",XIe),e.decorator("CreateShortUrl",t(["shortUrlCreation"],["createShortUrl","resetCreateShortUrl"])),e.factory("EditShortUrl",QIe),e.decorator("EditShortUrl",t(["shortUrlsDetails","shortUrlEdition"],["getShortUrlsDetails","editShortUrl"])),e.serviceFactory("DeleteShortUrlModal",()=>e6e),e.decorator("DeleteShortUrlModal",t(["shortUrlDeletion"],["deleteShortUrl","shortUrlDeleted","resetDeleteShortUrl"])),e.factory("QrCodeModal",o6e),e.factory("ExportShortUrlsBtn",t6e),e.factory("ShortUrlsFilteringBar",M6e),e.decorator("ShortUrlsFilteringBar",t(["tagsList"])),e.serviceFactory("shortUrlsListReducerCreator",M$e,"listShortUrls","editShortUrl","createShortUrl"),e.serviceFactory("shortUrlsListReducer",n=>n.reducer,"shortUrlsListReducerCreator"),e.serviceFactory("shortUrlCreationReducerCreator",y6e,"createShortUrl"),e.serviceFactory("shortUrlCreationReducer",n=>n.reducer,"shortUrlCreationReducerCreator"),e.serviceFactory("shortUrlEditionReducerCreator",x6e,"editShortUrl"),e.serviceFactory("shortUrlEditionReducer",n=>n.reducer,"shortUrlEditionReducerCreator"),e.serviceFactory("shortUrlDeletionReducerCreator",A$e,"deleteShortUrl"),e.serviceFactory("shortUrlDeletionReducer",n=>n.reducer,"shortUrlDeletionReducerCreator"),e.serviceFactory("shortUrlsDetailsReducerCreator",w6e,"apiClientFactory"),e.serviceFactory("shortUrlsDetailsReducer",n=>n.reducer,"shortUrlsDetailsReducerCreator"),e.serviceFactory("listShortUrls",N$e,"apiClientFactory"),e.serviceFactory("createShortUrl",g6e,"apiClientFactory"),e.serviceFactory("resetCreateShortUrl",n=>n.resetCreateShortUrl,"shortUrlCreationReducerCreator"),e.serviceFactory("deleteShortUrl",j$e,"apiClientFactory"),e.serviceFactory("resetDeleteShortUrl",n=>n.resetDeleteShortUrl,"shortUrlDeletionReducerCreator"),e.serviceFactory("shortUrlDeleted",()=>O9),e.serviceFactory("getShortUrlsDetails",n=>n.getShortUrlsDetails,"shortUrlsDetailsReducerCreator"),e.serviceFactory("editShortUrl",_6e,"apiClientFactory")},F6e=({tag:e,toggle:t,isOpen:n,deleteTag:r,tagDelete:i,tagDeleted:o})=>{const{deleting:a,error:s,deleted:l,errorData:u}=i;return m.jsxs(So,{toggle:t,isOpen:n,centered:!0,onClosed:()=>l&&o(e),children:[m.jsx(Oo,{toggle:t,className:"text-danger",children:"Delete tag"}),m.jsxs(Wi,{children:["Are you sure you want to delete tag ",m.jsx("b",{children:e}),"?",s&&m.jsx(lr,{type:"error",small:!0,className:"mt-2",children:m.jsx(xo,{errorData:u,fallbackMessage:"Something went wrong while deleting the tag :("})})]}),m.jsxs(ms,{children:[m.jsx(Ye,{color:"link",onClick:t,children:"Cancel"}),m.jsx(Ye,{color:"danger",disabled:a,onClick:async()=>{await r(e),t()},children:a?"Deleting tag...":"Delete tag"})]})]})},gz=({tag:e,editTag:t,toggle:n,tagEdited:r,isOpen:i,tagEdit:o})=>{const{ColorGenerator:a}=It(gz),[s,l]=R.useState(e),[u,f]=R.useState(a.getColorForKey(e)),{editing:d,error:h,edited:v,errorData:g}=o,y=S9(async()=>{await t({oldName:e,newName:s,color:u}),n()}),x=R.useCallback(()=>v&&r({oldName:e,newName:s,color:u}),[u,v,s,e,r]);return m.jsx(So,{isOpen:i,toggle:n,centered:!0,onClosed:x,children:m.jsxs("form",{name:"editTag",onSubmit:y,children:[m.jsx(Oo,{toggle:n,children:"Edit tag"}),m.jsxs(Wi,{children:[m.jsxs(ob,{children:[m.jsxs("div",{className:"input-group-text p-0 position-relative",style:{backgroundColor:u,borderColor:u},children:[m.jsx(je,{icon:pZ,className:"position-absolute top-50 start-50 translate-middle text-white"}),m.jsx(Gn,{className:"form-control-color opacity-0",type:"color",value:u,onChange:_=>f(_.target.value)})]}),m.jsx(Gn,{value:s,placeholder:"Tag",required:!0,onChange:({target:_})=>l(_.value)})]}),h&&m.jsx(lr,{type:"error",small:!0,className:"mt-2",children:m.jsx(xo,{errorData:g,fallbackMessage:"Something went wrong while editing the tag :("})})]}),m.jsxs(ms,{children:[m.jsx(Ye,{type:"button",color:"link",onClick:n,children:"Cancel"}),m.jsx(Ye,{color:"primary",disabled:d,children:d?"Saving...":"Save"})]})]})})},B6e=Dt(gz,["ColorGenerator"]),U6e=/\s+/g,yz=e=>e.trim().toLowerCase().replace(U6e,"-"),bz=({color:e})=>m.jsx("div",{style:{backgroundColor:e},className:"color-bullet"}),_z=({tag:e,colorGenerator:t})=>m.jsx(bz,{color:t.getColorForKey(e)});let y$=1;const xz="Tag not found",wz="Add tag",z6e=e=>e!==xz,V6e=e=>e===wz,b$=e=>(y$+=1,{label:e,value:`${e}${y$}`}),W6e=e=>({tag:t,onClick:n})=>m.jsx(f1,{colorGenerator:e,text:t.label,className:"react-tags__tag",onClose:n}),H6e=(e,t)=>({option:n,classNames:r,...i})=>{var o;const a=z6e(n.label),s=V6e(n.label);return m.jsx("div",{className:Pe(r.option,{[r.optionIsActive]:a&&n.active,"react-tags__listbox-option--not-selectable":!a}),...i,children:a?m.jsxs(m.Fragment,{children:[!s&&m.jsx(_z,{tag:`${n.label}`,colorGenerator:e}),s?m.jsxs("i",{children:['Add "',yz(((o=t.current)==null?void 0:o.input.value)??""),'"']}):n.label]}):m.jsx("i",{children:n.label})})},Sz=({selectedTags:e,onChange:t,placeholder:n,tags:r,immutable:i=!1})=>{const{ColorGenerator:o}=It(Sz),a=Ss("shortUrlCreation"),s=(a==null?void 0:a.tagFilteringMode)??"startsWith",l=sa();return m.jsx(wde,{ref:l,selected:e.map(b$),suggestions:r.filter(u=>!e.includes(u)).map(b$),renderTag:W6e(o),renderOption:H6e(o,l),activateFirstOption:!0,allowNew:!i,newOptionText:wz,noOptionsText:xz,placeholderText:n??"Add tags to the URL",delimiterKeys:["Enter",","],suggestionsTransform:(u,f)=>{const d=u.toLowerCase().trim();return d.length<1?[]:[...f.filter(({label:h})=>s==="includes"?h.includes(d):h.startsWith(d))].slice(0,5)},onDelete:u=>{const f=[...e];f.splice(u,1),t(f)},onAdd:({label:u})=>t([...new Set([...e,...u.split(",").map(yz)])])})},G6e=Dt(Sz,["ColorGenerator"]),rE="shlink/tagDelete",q6e={deleting:!1,deleted:!1,error:!1},Oz=mn(`${rE}/tagDeleted`),K6e=e=>{const t=gn(`${rE}/deleteTag`,async r=>{await e().deleteTags([r])}),{reducer:n}=nn({name:rE,initialState:q6e,reducers:{},extraReducers:r=>{r.addCase(t.pending,()=>({deleting:!0,deleted:!1,error:!1})),r.addCase(t.rejected,(i,{error:o})=>({deleting:!1,deleted:!1,error:!0,errorData:qr(o)})),r.addCase(t.fulfilled,()=>({deleting:!1,deleted:!0,error:!1}))}});return{reducer:n,deleteTag:t}},UT="shlink/tagEdit",Y6e={editing:!1,edited:!1,error:!1},Ez=mn(`${UT}/tagEdited`),Z6e=(e,t)=>gn(`${UT}/editTag`,async({oldName:n,newName:r,color:i})=>(await e().editTag(n,r),t.setColorForKey(r,i),{oldName:n,newName:r,color:i})),X6e=e=>nn({name:UT,initialState:Y6e,reducers:{},extraReducers:t=>{t.addCase(e.pending,()=>({editing:!0,edited:!1,error:!1})),t.addCase(e.rejected,(n,{error:r})=>({editing:!1,edited:!1,error:!0,errorData:qr(r)})),t.addCase(e.fulfilled,(n,{payload:r})=>{const{oldName:i,newName:o}=r;return{oldName:i,newName:o,editing:!1,edited:!0,error:!1}})}}),zT="shlink/tagsList",Sx={tags:[],filteredTags:[],stats:{},loading:!1,error:!1},_$=(e,t)=>n=>n===e?t:n,x$=(e,t)=>e.filter(n=>n!==t),Q6e=(e,t)=>e.reduce((n,[r,i])=>{if(!n[r])return n;const{bots:o,nonBots:a}=i,s=n[r];return{...n,[r]:{...s,visitsSummary:s.visitsSummary&&{total:s.visitsSummary.total+o+a,bots:s.visitsSummary.bots+o,nonBots:s.visitsSummary.nonBots+a},visitsCount:(s.visitsCount??0)+o+a}}},{...t}),J6e=e=>Object.entries(e.reduce((t,{shortUrl:n,visit:r})=>(n==null||n.tags.forEach(i=>{t[i]||(t[i]={bots:0,nonBots:0}),r.potentialBot?t[i].bots+=1:t[i].nonBots+=1}),t),{})),eDe=e=>gn(`${zT}/listTags`,async()=>{const{data:t}=await e().tagsStats(),n=t.reduce((r,{tag:i,...o})=>(r[i]=o,r),{});return{tags:Object.keys(n),stats:n}}),Pz=mn(`${zT}/filterTags`),tDe=(e,t)=>nn({name:zT,initialState:Sx,reducers:{},extraReducers:n=>{n.addCase(Pz,(r,{payload:i})=>({...r,filteredTags:r.tags.filter(o=>o.toLowerCase().match(i.toLowerCase()))})),n.addCase(e.pending,r=>({...r,loading:!0,error:!1})),n.addCase(e.rejected,(r,{error:i})=>({...Sx,error:!0,errorData:qr(i)})),n.addCase(e.fulfilled,(r,{payload:i})=>({...Sx,stats:i.stats,tags:i.tags,filteredTags:i.tags})),n.addCase(Oz,({tags:r,filteredTags:i,...o},{payload:a})=>({...o,tags:x$(r,a),filteredTags:x$(i,a)})),n.addCase(Ez,({tags:r,filteredTags:i,stats:o,...a},{payload:s})=>({...a,stats:{...o,[s.newName]:o[s.oldName]},tags:r.map(_$(s.oldName,s.newName)).sort(),filteredTags:i.map(_$(s.oldName,s.newName)).sort()})),n.addCase(xf,(r,{payload:i})=>({...r,stats:Q6e(J6e(i.createdVisits),r.stats)})),n.addCase(t.fulfilled,({tags:r,...i},{payload:o})=>({...i,tags:r.concat(o.tags.filter(a=>!r.includes(a)))}))}}),nDe={tag:"Tag",shortUrls:"Short URLs",visits:"Visits"},Cz=Gi(({filterTags:e,tagsList:t})=>{var n,r;const{TagsTable:i}=It(Cz),o=DT(),[a,s]=R.useState(((n=o.tags)==null?void 0:n.defaultOrdering)??{}),l=R.useMemo(()=>{const f=t.filteredTags.map(d=>{var h,v,g;const y=t.stats[d],x=((h=o.visits)!=null&&h.excludeBots?(v=y==null?void 0:y.visitsSummary)==null?void 0:v.nonBots:(g=y==null?void 0:y.visitsSummary)==null?void 0:g.total)??(y==null?void 0:y.visitsCount)??0;return{tag:d,visits:x,shortUrls:(y==null?void 0:y.shortUrlsCount)??0}});return I8(f,a)},[a,(r=o.visits)==null?void 0:r.excludeBots,t.filteredTags,t.stats]),u=CT();return t.loading?m.jsx(Qo,{loading:!0}):t.error?m.jsx(lr,{type:"error",children:m.jsx(xo,{errorData:t.errorData,fallbackMessage:"Error loading tags :("})}):m.jsxs(PT,{value:u,children:[m.jsx(zp,{className:"mb-3",onChange:e}),m.jsx(nr,{className:"mb-3",children:m.jsx("div",{className:"col-lg-6 offset-lg-6",children:m.jsx(Vp,{items:nDe,order:a,onChange:(f,d)=>s({field:f,dir:d})})})}),m.jsx(TT,{type:"tags",className:"mb-3"}),m.jsx(i,{sortedTags:l,currentOrder:a,orderByColumn:f=>()=>{const d=ub(f,a.field,a.dir);s({field:d?f:void 0,dir:d})}})]})},()=>[cr.visits]),rDe=Dt(Cz,["TagsTable"]),VT=({pagesCount:e,currentPage:t,setCurrentPage:n,centered:r=!0})=>{if(e<2)return null;const i=o=>()=>!wp(o)&&n(o);return m.jsxs(WP,{listClassName:Pe("flex-wrap mb-0 simple-paginator",{"justify-content-center":r}),children:[m.jsx(fl,{disabled:t<=1,children:m.jsx(dl,{previous:!0,tag:"span",onClick:i(t-1)})}),dz(t,e).map((o,a)=>m.jsx(fl,{disabled:wp(o),active:t===o,children:m.jsx(dl,{role:"link",tag:"span",onClick:i(o),children:hz(o)})},pz(o,a))),m.jsx(fl,{disabled:t>=e,children:m.jsx(dl,{next:!0,tag:"span",onClick:i(t+1)})})]})},iDe=20,Tz=({sortedTags:e,orderByColumn:t,currentOrder:n})=>{const{TagsTableRow:r}=It(Tz),i=R.useRef(!0),{page:o=1}=Up(),[a,s]=m$e("page",Number(o)),l=Yu(e,iDe),u=l.length>1,f=l[a-1]??[];return R.useEffect(()=>{!i.current&&s(1),i.current=!1},[s,e]),R.useEffect(()=>{scrollTo(0,0)},[a]),m.jsxs(St,{bodyClassName:u?"pb-1":"",children:[m.jsxs("table",{className:"table table-hover responsive-table mb-0",children:[m.jsxs("thead",{className:"responsive-table__header",children:[m.jsxs("tr",{children:[m.jsxs("th",{className:"tags-table__header-cell",onClick:t("tag"),children:["Tag ",m.jsx(Qd,{currentOrder:n,field:"tag"})]}),m.jsxs("th",{className:"tags-table__header-cell text-lg-end",onClick:t("shortUrls"),children:["Short URLs ",m.jsx(Qd,{currentOrder:n,field:"shortUrls"})]}),m.jsxs("th",{className:"tags-table__header-cell text-lg-end",onClick:t("visits"),children:["Visits ",m.jsx(Qd,{currentOrder:n,field:"visits"})]}),m.jsx("th",{className:"tags-table__header-cell",children:m.jsx("span",{className:"sr-only",children:"Options"})})]}),m.jsx("tr",{children:m.jsx("th",{"aria-hidden":!0,colSpan:4,className:"p-0 border-top-0"})})]}),m.jsxs("tbody",{children:[f.length===0&&m.jsx("tr",{children:m.jsx("td",{colSpan:4,className:"text-center",children:"No tags found"})}),f.map(d=>m.jsx(r,{tag:d},d.tag))]})]}),u&&m.jsx("div",{className:"sticky-card-paginator",children:m.jsx(VT,{pagesCount:l.length,currentPage:a,setCurrentPage:s})})]},a)},oDe=Dt(Tz,["TagsTableRow"]),jz=({tag:e})=>{const{DeleteTagConfirmModal:t,EditTagModal:n,ColorGenerator:r}=It(jz),[i,o]=Zt(),[a,s]=Zt(),l=ws(),u=i1();return m.jsxs("tr",{className:"responsive-table__row",children:[m.jsxs("th",{className:"responsive-table__cell","data-th":"Tag",children:[m.jsx(_z,{tag:e.tag,colorGenerator:r})," ",e.tag]}),m.jsx("td",{className:"responsive-table__cell text-lg-end","data-th":"Short URLs",children:m.jsx(Pt,{to:`${l}/list-short-urls/1?tags=${encodeURIComponent(e.tag)}`,children:Yt(e.shortUrls)})}),m.jsx("td",{className:"responsive-table__cell text-lg-end","data-th":"Visits",children:m.jsx(Pt,{to:`${l}/tag/${e.tag}/visits`,children:Yt(e.visits)})}),m.jsx("td",{className:"responsive-table__cell text-lg-end",children:m.jsxs(lb,{children:[m.jsxs(Ne,{onClick:s,children:[m.jsx(je,{icon:LD,fixedWidth:!0,className:"me-1"})," Edit"]}),m.jsxs(Ne,{disabled:!u||!u.canAddItemWithName(e.tag),onClick:()=>u==null?void 0:u.addItemToCompare({name:e.tag,query:e.tag,style:r.stylesForKey(e.tag)}),children:[m.jsx(je,{icon:X0,fixedWidth:!0})," Compare visits"]}),m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsxs(Ne,{className:"dropdown-item--danger",onClick:o,children:[m.jsx(je,{icon:gZ,fixedWidth:!0,className:"me-1"})," Delete tag"]})]})}),m.jsx(n,{tag:e.tag,toggle:s,isOpen:a}),m.jsx(t,{tag:e.tag,toggle:o,isOpen:i})]})},aDe=Dt(jz,["DeleteTagConfirmModal","EditTagModal","ColorGenerator"]),sDe=(e,t)=>{e.factory("TagsSelector",G6e),e.serviceFactory("DeleteTagConfirmModal",()=>F6e),e.decorator("DeleteTagConfirmModal",t(["tagDelete"],["deleteTag","tagDeleted"])),e.factory("EditTagModal",B6e),e.decorator("EditTagModal",t(["tagEdit"],["editTag","tagEdited"])),e.factory("TagsTableRow",aDe),e.factory("TagsTable",oDe),e.factory("TagsList",rDe),e.decorator("TagsList",t(["tagsList","mercureInfo"],["filterTags","createNewVisits","loadMercureInfo"])),e.serviceFactory("tagEditReducerCreator",X6e,"editTag"),e.serviceFactory("tagEditReducer",n=>n.reducer,"tagEditReducerCreator"),e.serviceFactory("tagDeleteReducerCreator",K6e,"apiClientFactory"),e.serviceFactory("tagDeleteReducer",n=>n.reducer,"tagDeleteReducerCreator"),e.serviceFactory("tagsListReducerCreator",tDe,"listTags","createShortUrl"),e.serviceFactory("tagsListReducer",n=>n.reducer,"tagsListReducerCreator"),e.serviceFactory("listTags",eDe,"apiClientFactory"),e.serviceFactory("filterTags",()=>Pz),e.serviceFactory("deleteTag",n=>n.deleteTag,"tagDeleteReducerCreator"),e.serviceFactory("tagDeleted",()=>Oz),e.serviceFactory("editTag",Z6e,"apiClientFactory","ColorGenerator"),e.serviceFactory("tagEdited",()=>Ez)},lDe=new SF,uDe=e=>lDe.parse(e),cDe=6,w$="0123456789ABCDEF",fDe=128,{floor:dDe,random:hDe,sqrt:pDe,round:mDe}=Math,vDe=()=>`#${RT(cDe,()=>w$[dDe(hDe()*w$.length)]).join("")}`,S$=e=>e.toLowerCase().trim(),gDe=e=>(e.match(/../g)??[]).map(t=>parseInt(t,16)||0),yDe=(e=0,t=0,n=0)=>mDe(pDe(.299*e**2+.587*t**2+.114*n**2));class bDe{constructor(t){Xa(this,"colors"),Xa(this,"lights");var n;this.storage=t,this.colors=((n=this.storage)==null?void 0:n.getTagColors())??{},this.lights={}}getColorForKey(t){const n=S$(t);return this.colors[n]||this.setColorForKey(n,vDe())}setColorForKey(t,n){var r;const i=S$(t);return this.colors[i]=n,(r=this.storage)==null||r.storeTagColors(this.colors),n}stylesForKey(t){const n=this.getColorForKey(t);return{backgroundColor:n,color:this.isLightColor(n)?"#222":"#fff"}}isLightColor(t){const n=t.substring(1);if(this.lights[n]===void 0){const r=gDe(n);this.lights[n]=yDe(...r)>=fDe}return this.lights[n]}}const Az=({document:e},t,n)=>{const r=e.createElement("a");r.setAttribute("href",t),r.setAttribute("download",n),r.style.visibility="hidden",e.body.appendChild(r),r.click(),e.body.removeChild(r)},_De=(e,t,n)=>{const r=new Blob([t],{type:"text/csv;charset=utf-8;"}),i=URL.createObjectURL(r);Az(e,i,n)};class xDe{constructor(t,n){this.fetch=t,this.window=n}async saveImage(t,n){const r=await this.fetch(t).then(o=>o.blob()),i=URL.createObjectURL(r);Az(this.window,i,n)}}class wDe{constructor(t,n){Xa(this,"exportVisits",(r,i)=>{i.length&&this.exportCsv(r,i)}),Xa(this,"exportShortUrls",r=>{r.length&&this.exportCsv("short_urls.csv",r)}),Xa(this,"exportCsv",(r,i)=>{const o=this.jsonToCsv(i);_De(this.window,o,r)}),this.window=t,this.jsonToCsv=n}}function SDe(e){e.constant("window",window),e.constant("fetch",window.fetch.bind(window)),e.service("ImageDownloader",xDe,"fetch","window"),e.service("ColorGenerator",bDe,"TagColorsStorage"),e.constant("jsonToCsv",uDe),e.service("ReportExporter",wDe,"window","jsonToCsv"),e.serviceFactory("useTimeoutToggle",()=>M8)}const sm=({visits:e,shortUrl:t,children:n,title:r})=>m.jsx("header",{children:m.jsxs(Er,{body:!0,children:[m.jsxs("h2",{className:"d-flex justify-content-between align-items-center mb-0",children:[m.jsx(c1,{}),m.jsx("span",{className:"text-center d-none d-sm-block",children:m.jsx("small",{children:r})}),m.jsxs("span",{className:"badge badge-main ms-3",children:["Visits:"," ",m.jsx(nz,{visitsCount:e.length,shortUrl:t})]})]}),m.jsx("h3",{className:"text-center d-block d-sm-none mb-0 mt-3",children:m.jsx("small",{children:r})}),n&&m.jsx("div",{className:"mt-md-2",children:n})]})}),kz=({title:e,footer:t,children:n})=>m.jsxs(Er,{role:"document",children:[m.jsx(vc,{className:"chart-card__header",children:e}),m.jsx(mc,{children:n}),t&&m.jsx(Q5,{className:"chart-card__footer--sticky",children:t})]}),Nz={color:"white",background:"rgb(0 0 0 / .9)",border:"none",borderRadius:"5px"},ODe={marginBottom:"5px",fontWeight:"bold"},Mz={contentStyle:Nz,labelStyle:ODe,itemStyle:{padding:0}},O$=["#97BBCD","#F7464A","#46BFBD","#FDB45C","#949FB1","#57A773","#414066","#08B2E3","#B6C454","#DCDCDC","#463730"],Rz=e=>O$[e%O$.length],P0="#46e587",EDe="rgba(70, 229, 135, 0.4)",PDe=({chartData:e,showNumbers:t})=>m.jsx("ul",{className:"doughnut-chart-legend",children:e.map(({name:n,color:r,value:i})=>m.jsxs("li",{className:"doughnut-chart-legend__item d-flex",children:[m.jsx("div",{className:"doughnut-chart-legend__item-color",style:{backgroundColor:r}}),m.jsxs("small",{className:"doughnut-chart-legend__item-text flex-fill",children:[n,t&&m.jsxs("b",{children:[" (",Yt(i),")"]})]})]},n))}),E$=e=>R.useMemo(()=>Object.entries(e).map(([t,n],r)=>({name:t,value:n,color:Rz(r)})),[e]),CDe=({stats:e,prevStats:t,showNumbersInLegend:n,dimensions:r})=>{const i=E$(e),o=E$(t),a=o.length>0,s=eC()?sle:ale;return m.jsxs("div",{className:"row align-items-center",children:[m.jsx("div",{className:"col-sm-12 col-md-7",children:m.jsx("div",{style:r??{width:"100%",height:300},children:m.jsx(r?R.Fragment:BC,{children:m.jsxs(f4e,{...r,children:[m.jsx(ni,{formatter:Yt,contentStyle:Nz,itemStyle:{color:"white"}}),m.jsx(_o,{data:i,dataKey:"value",nameKey:"name",startAngle:360,endAngle:0,outerRadius:"100%",innerRadius:a?"65%":"50%",animationBegin:0,children:i.map((l,u)=>m.jsx(Ka,{fill:l.color,stroke:s},`${l.name}-${u}`))}),a&&m.jsx(_o,{data:o,dataKey:"value",nameKey:"name",startAngle:360,endAngle:0,outerRadius:"55%",innerRadius:"20%",animationBegin:0,stroke:s,fill:P0})]})})})}),m.jsx("div",{className:"col-sm-12 col-md-5",children:m.jsx(PDe,{chartData:i,showNumbers:n})})]})},P$=({title:e,...t})=>{const[n,r]=Zt(!1);return m.jsx(kz,{title:m.jsxs(m.Fragment,{children:[e,m.jsx("div",{className:"float-end",children:m.jsx(Pl,{checked:n,onChange:r,children:"Show numbers"})})]}),children:m.jsx(CDe,{...t,showNumbersInLegend:n})})},TDe=({visitsGroups:e})=>{const t=R.useMemo(()=>Object.entries(e),[e]);return t.length===0?null:m.jsx("ul",{className:"list-unstyled mb-0 mt-2 d-flex flex-wrap justify-content-center gap-3",children:t.map(([n,r],i)=>m.jsxs("li",{className:"d-inline",children:[m.jsx(bz,{color:Lz(r)}),m.jsxs("strong",{children:[n," (",Yt(r.length),")"]})]},`${n}${i}`))})},jDe={monthly:"Month",weekly:"Week",daily:"Day",hourly:"Hour"},ADe={hourly:e=>({hours:e}),daily:e=>({days:e}),weekly:e=>({weeks:e}),monthly:e=>({months:e})},kDe={hourly:Mue,daily:Wp,weekly:Iue,monthly:by},WT={hourly:e=>_y(e,"yyyy-MM-dd HH:00"),daily:e=>Da(e),weekly(e){const t=Da(Lh(e)),n=Da(Bue(e));return`${t} - ${n}`},monthly:e=>_y(e,"yyyy-MM")},NDe=e=>{var t;const n=Object.values(e).filter(a=>a.length>0);if(n.length===0)return"monthly";const r=new Date,i=n.map(a=>is(a[a.length-1].date)),o=uF(i);return((t=[[()=>Wp(r,o)<=2,"hourly"],[()=>by(r,o)<=1,"daily"],[()=>by(r,o)<=6,"weekly"]].find(([a])=>a()))==null?void 0:t[1])??"monthly"},MDe=(e,t)=>Object.keys(t).reduce((n,r)=>(n[r]=rF(t[r],i=>WT[e](is(i.date))),n),{}),RDe=(e,t)=>t.reduce((n,r)=>{const i=WT[e](is(r.date));return n[i]=n[i]??[],n[i].push(r),n},{}),LDe=(e,t)=>{const n=Object.values(t).filter(d=>d.length>0).map(d=>[...d].reverse());if(n.length===0)return[];const r=kDe[e],i=WT[e],o=ADe[e],a=n.map(d=>is(d[0].date)),s=n.map(d=>is(d[d.length-1].date)),l=uF(s),u=jue(a),f=r(l,u)+1;return[i(u),...RT(f,d=>i(Eue(u,o(d))))]},Lz=e=>{if(e.color)return e.color;const t={main:Ah,highlighted:fS,previous:P0};return e.type?t[e.type]:Ah},C$=(e,t)=>R.useMemo(()=>Object.values(e).find(n=>n.type===t)??[],[e,t]),$De=(e,t,n)=>{const r=C$(e,"main"),i=C$(e,"highlighted"),o=R.useMemo(()=>n?RDe(t,r):{},[n,t,r]),a=R.useCallback((s,{payload:l})=>{const u=o[l.date]??[];n==null||n(u===i?[]:u)},[o,i,n]);return n&&{cursor:"pointer",onClick:a}},$z=({visitsGroups:e,setSelectedVisits:t,dimensions:n,matchMedia:r})=>{const[i,o]=R.useState(NDe(e)),a=$T(767,r??window.matchMedia),s=R.useMemo(()=>{const d=MDe(i,e),h=Object.keys(d);return LDe(i,e).map(v=>({date:v,...h.reduce((g,y)=>(g[y]=d[y][v]??0,g),{})}))},[i,e]),l=$De(e,i,t),u=n?R.Fragment:BC,f=R.useMemo(()=>n?{}:{width:"100%",height:a?300:400},[n,a]);return m.jsxs(Er,{children:[m.jsxs(vc,{role:"heading","aria-level":4,children:["Visits over time",m.jsx("div",{className:"float-end",children:m.jsxs(Dp,{children:[m.jsx(Xc,{caret:!0,color:"link",className:"btn-sm p-0",children:"Group by"}),m.jsx(Zc,{end:!0,children:Object.entries(jDe).map(([d,h])=>m.jsx(Ne,{active:i===d,onClick:()=>o(d),children:h},d))})]})})]}),m.jsxs(mc,{children:[m.jsx(u,{...f,children:m.jsxs(c4e,{data:s,...n,children:[m.jsx(bf,{dataKey:"date"}),m.jsx(_f,{tickFormatter:Yt}),m.jsx(ni,{formatter:Yt,...Mz}),m.jsx(xT,{strokeOpacity:eC()?.1:.9}),Object.entries(e).map(([d,h])=>h.length>0&&m.jsx(yf,{dataKey:d,type:"monotone",stroke:Lz(h),strokeWidth:2,activeDot:h.type==="previous"?void 0:l,strokeDasharray:h.type==="previous"?"8 3":void 0},d))]})}),m.jsx(TDe,{visitsGroups:e})]})]})},IDe=({toggleClassName:e,ranges:t,value:n,setValue:r})=>m.jsxs(Dp,{children:[m.jsx(Xc,{caret:!0,color:"link",className:e,children:"Paginate"}),m.jsxs(Zc,{end:!0,children:[t.map(i=>m.jsxs(Ne,{active:i===n,onClick:()=>r(i),children:[m.jsx("b",{children:i})," items per page"]},i)),m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsx(Ne,{disabled:n===1/0,onClick:()=>r(1/0),children:m.jsx("i",{children:"Clear pagination"})})]})]}),T$=e=>e.startsWith("hidden_"),DDe=({stats:e,prevStats:t,highlightedStats:n,highlightedLabel:r,max:i,onClick:o,dimensions:a})=>{const s=R.useMemo(()=>Object.entries(e).map(([d,h])=>{const v=(n==null?void 0:n[d])??0,g=(t==null?void 0:t[d])??0,y=T$(d);return{name:d,amount:Math.max(h,g),nonHighlightedAmount:y?null:h-v,highlightedAmount:y?null:v,prevAmount:y?null:g}}),[e,t,n]),l=R.useMemo(()=>{const d=s.reduce((h,{name:v})=>h>v.length?h:v.length,0);return Math.min(150,d*7)},[s]),u=a?R.Fragment:BC,f=R.useMemo(()=>a?{}:{width:"100%",height:Math.max(300,s.length*(t?44:22))},[a,s.length,t]);return m.jsx(u,{...f,children:m.jsxs(d4e,{layout:"vertical",data:s,barCategoryGap:3,...a,children:[m.jsx(bf,{type:"number",dataKey:"amount",tickFormatter:Yt,domain:i?[0,i]:void 0}),m.jsx(_f,{type:"category",dataKey:"name",width:l,interval:0,style:{fontSize:".8rem"},tickFormatter:d=>T$(d)?"":d}),m.jsx(xT,{strokeOpacity:eC()?.05:.9}),m.jsx(ni,{filterNull:!0,...Mz,formatter:(d,h)=>[Yt(d),h==="highlightedAmount"?r:h==="prevAmount"?"Previous period":n?"Non-selected":"Visits"]}),m.jsx(Vo,{dataKey:"nonHighlightedAmount",stackId:"main",cursor:"pointer",fill:Ah,onClick:({name:d})=>o==null?void 0:o(d),children:s.map(d=>m.jsx(Ka,{fill:ile,stroke:Ah,strokeWidth:2},d.name))}),n&&m.jsx(Vo,{dataKey:"highlightedAmount",stackId:"main",cursor:"pointer",fill:fS,onClick:({name:d})=>o==null?void 0:o(d),children:s.map(d=>m.jsx(Ka,{fill:ole,stroke:fS,strokeWidth:2},d.name))}),t&&m.jsx(Vo,{dataKey:"prevAmount",fill:P0,children:s.map(d=>m.jsx(Ka,{fill:EDe,stroke:P0,strokeWidth:2},d.name))})]})})},FDe=e=>typeof e=="string"?e.toLowerCase():e,BDe=([e])=>e,UDe=([,e])=>e,Av=({stats:e,prevStats:t,highlightedStats:n,title:r,sortingItems:i,extraHeaderContent:o,withPagination:a=!0,...s})=>{const[l,u]=R.useState({}),[f,d]=R.useState(1),[h,v]=R.useState(50),g=R.useCallback((A,D)=>{const k=Object.entries(A),I=l.field?Sue(k,([F,q])=>FDe(l.field===Object.keys(D)[0]?F:q)):k;return!l.dir||l.dir==="ASC"?I:[...I].reverse()},[l.dir,l.field]),y=R.useCallback(A=>{const D=A[f-1];if(f[`hidden_${I}`,0])]},[f]),x=R.useCallback(A=>m.jsx(VT,{currentPage:f,pagesCount:A,setCurrentPage:d}),[f]),_=R.useCallback((A,D,k,I)=>{const F=g(A,D),q=F.map(BDe),W=k&&Object.entries({...SN(q,q.map(()=>0)),...k}),X=I&&Object.entries({...SN(q,q.map(()=>0)),...I});if(F.length<=h)return{currentPageStats:Object.fromEntries(F),currentPageHighlightedStats:W&&Object.fromEntries(W),currentPagePrevStats:X&&Object.fromEntries(X)};const Q=Yu(F,h),ne=W&&Yu(W,h),Z=X&&Yu(X,h);return{currentPageStats:Object.fromEntries(y(Q)),currentPageHighlightedStats:ne&&Object.fromEntries(y(ne)),currentPagePrevStats:Z&&Object.fromEntries(y(Z)),pagination:x(Q.length),max:$$e(Math.max(...F.map(UDe)))}},[y,g,h,x]),{currentPageStats:b,currentPagePrevStats:w,currentPageHighlightedStats:O,pagination:E,max:P}=R.useMemo(()=>_(e,i,n&&Object.keys(n).length>0?n:void 0,t&&Object.keys(t).length>0?t:void 0),[_,n,t,i,e]),T=R.useMemo(()=>Object.keys(b),[b]);return m.jsx(kz,{title:m.jsxs(m.Fragment,{children:[r,m.jsx("div",{className:"float-end",children:m.jsx(Vp,{isButton:!1,right:!0,items:i,order:l,onChange:(A,D)=>{u({field:A,dir:D}),d(1)}})}),a&&Object.keys(e).length>50&&m.jsx("div",{className:"float-end",children:m.jsx(IDe,{toggleClassName:"btn-sm p-0 me-3",ranges:[50,100,200,500],value:h,setValue:A=>{v(A),d(1)}})}),o&&m.jsx("div",{className:"float-end",children:o(E?T:void 0)})]}),footer:E,children:m.jsx(DDe,{stats:b,prevStats:w,highlightedStats:O,max:P,...s})})},j$=(e,t)=>{if(!(!t||!(e in t)))return t[e]&&ls(t[e])||""},Iz=()=>{const e=wo(),t=Up(),{startDate:n,endDate:r,orphanVisitsType:i,excludeBots:o,loadPrevInterval:a,...s}=t,l=R.useMemo(()=>({dateRange:n!=null||r!=null?h9(n,r):void 0,visitsFilter:{orphanVisitsType:i,excludeBots:o!==void 0?o==="true":void 0},loadPrevInterval:a!==void 0?a==="true":void 0}),[r,o,a,i,n]),u=R.useCallback(f=>{const{dateRange:d,visitsFilter:h={},loadPrevInterval:v}=lC(l,f),{excludeBots:g,orphanVisitsType:y}=h,x={...s,startDate:j$("startDate",d),endDate:j$("endDate",d),excludeBots:g===void 0?void 0:QO(g),orphanVisitsType:y,loadPrevInterval:v===void 0?void 0:QO(v)},_=ab(x),b=_?`?${_}`:"";e(b,{replace:!0,relative:"route"})},[l,e,s]);return[l,u]},zDe=()=>m.jsx(j4e,{attribution:'© OpenStreetMap contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),VDe=e=>{if(e.length===0)return{};if(e.length>1)return{bounds:e.map(({latLong:n})=>n)};const[{latLong:t}]=e;return{zoom:10,center:t}},Dz=({toggle:e,isOpen:t,title:n,locations:r=[]})=>m.jsx(So,{toggle:e,isOpen:t,className:"map-modal__modal",contentClassName:"map-modal__modal-content",children:m.jsxs(Wi,{className:"map-modal__modal-body",children:[m.jsxs("h3",{className:"map-modal__modal-title",children:[n,m.jsx("button",{type:"button",className:"btn-close float-end","aria-label":"Close",onClick:e})]}),m.jsxs(P4e,{...VDe(r),children:[m.jsx(zDe,{}),r.map(({cityName:i,latLong:o,count:a},s)=>m.jsx(C4e,{position:o,children:m.jsxs(T4e,{children:[m.jsx("b",{children:a})," visit",a>1?"s":""," from ",m.jsx("b",{children:i})]})},s))]})]})}),WDe=({modalTitle:e,activeCities:t,locations:n=[]})=>{const[r,,i,o]=Zt(),[a,s]=Zt(),[l,u]=R.useState([]),f=sb(),d=R.useCallback(h=>{u(h?n.filter(h):n),i()},[n,i]);return m.jsxs(m.Fragment,{children:[!t&&m.jsx(Ye,{color:"link",className:"open-map-modal-btn__btn",id:f,onClick:()=>d(),"aria-label":"Show in map",children:m.jsx(je,{icon:Pw})}),t&&m.jsxs(Lp,{isOpen:a,toggle:s,children:[m.jsx(Xc,{color:"link",className:"open-map-modal-btn__btn",id:f,children:m.jsx(je,{icon:Pw})}),m.jsxs(Zc,{end:!0,children:[m.jsx(Ne,{onClick:()=>d(),children:"Show all locations"}),m.jsx(Ne,{onClick:()=>d(({cityName:h})=>t.includes(h)),children:"Show locations in current page"})]})]}),m.jsx(Cr,{placement:"left",target:f,children:"Show in map"}),m.jsx(Dz,{toggle:o,isOpen:r,title:e,locations:l})]})},Fz=({onChange:e,selected:t={},className:n,isOrphanVisits:r=!1,withPrevInterval:i=!1,disabled:o})=>{const{orphanVisitsType:a,excludeBots:s=!1,loadPrevInterval:l=!1}=t,u=h=>({active:a===h,onClick:()=>e({...t,orphanVisitsType:h===a?void 0:h})}),f=R.useCallback(()=>e({...t,excludeBots:!s}),[s,e,t]),d=R.useCallback(()=>e({...t,loadPrevInterval:!l}),[l,e,t]);return m.jsxs(la,{disabled:o,text:"More",dropdownClassName:n,end:!0,minWidth:250,children:[i&&m.jsxs(m.Fragment,{children:[m.jsx(Ne,{active:l,onClick:d,children:"Compare with previous period"}),m.jsx(Ne,{divider:!0,tag:"hr"})]}),m.jsx(Ne,{header:!0,"aria-hidden":!0,children:"Bots:"}),m.jsx(Ne,{active:s,onClick:f,children:"Exclude potential bots"}),r&&m.jsxs(m.Fragment,{children:[m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsx(Ne,{header:!0,"aria-hidden":!0,children:"Orphan visits type:"}),m.jsx(Ne,{...u("base_url"),children:"Base URL"}),m.jsx(Ne,{...u("invalid_short_url"),children:"Invalid short URL"}),m.jsx(Ne,{...u("regular_404"),children:"Regular 404"})]}),m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsx(Ne,{disabled:t.excludeBots===void 0&&t.loadPrevInterval===void 0&&t.orphanVisitsType===void 0,onClick:()=>e({excludeBots:void 0,loadPrevInterval:void 0,orphanVisitsType:void 0}),children:m.jsx("i",{children:"Reset to defaults"})})]})},Bz=({info:e})=>{const{loading:t,errorData:n,progress:r}=e;return m.jsxs(m.Fragment,{children:[t&&r===null&&m.jsx(Qo,{loading:!0}),t&&r!==null&&m.jsxs(Qo,{loading:!0,children:["This is going to take a while... :S",m.jsx(r8,{value:r,striped:r>=100,className:"mt-3"})]}),n&&m.jsx(lr,{type:"error",children:m.jsx(xo,{errorData:n,fallbackMessage:"An error occurred while loading visits :("})})]})},sg=({children:e,showFallback:t})=>m.jsxs(m.Fragment,{children:[t&&m.jsx(Qo,{className:"mt-3",children:"There are no visits matching current filter"}),!t&&m.jsx(m.Fragment,{children:e})]}),HDe=({visitsDeletion:e,deleteVisits:t})=>{const{deleting:n}=e,[r,,i]=Zt();return m.jsx(St,{title:m.jsx("span",{className:"text-danger fw-bold",children:"Danger zone"}),children:m.jsxs("div",{className:"d-flex justify-content-between align-items-center",children:[m.jsxs("dl",{className:"m-0 me-3",children:[m.jsx("dt",{children:"Delete visits."}),m.jsxs("dd",{className:"m-0",children:["This will delete ",m.jsx("b",{children:"all"})," visits, not only the ones matching current filter."]})]}),!r&&m.jsx(Ye,{color:"danger",className:"indivisible",onClick:i,children:"Delete visits"}),r&&m.jsxs(Ye,{color:"danger",disabled:n,className:"indivisible",onClick:t,innerRef:o=>{o==null||o.focus()},children:[!n&&m.jsx(m.Fragment,{children:"Click again to confirm"}),n&&m.jsx(m.Fragment,{children:"Deleting..."})]})]})})},kv="Others",GDe=["Android Browser","Chrome","Chromium","Firefox","Internet Explorer","Microsoft Edge","Opera","Safari","Samsung Internet for Android","Vivaldi","WeChat"],qDe=e=>{if(!Ys(e))return{browser:kv,os:kv};const{browser:{name:t},os:{name:n}}=L4e.parse(e);return{os:n??kv,browser:t&&GDe.includes(t)?t:kv}},KDe=e=>{var t;return Ys(e)?((t=e.split("/")[e.includes("://")?2:0])==null?void 0:t.split(":")[0])??"":"Direct"},Uz=(e,t)=>e[t]!==void 0,A$=e=>typeof e=="number"?e:e?parseFloat(e):0,YDe=(e,{os:t})=>{e[t]=(e[t]||0)+1},ZDe=(e,{browser:t})=>{e[t]=(e[t]||0)+1},XDe=(e,{referer:t})=>{e[t]=(e[t]||0)+1},zz=e=>(t,n)=>{const r=Uz(n,e)?n[e]:"Unknown";t[r]=(t[r]||0)+1},QDe=zz("country"),JDe=zz("city"),e5e=(e,t)=>{if(!Uz(t,"city")||t.city==="Unknown")return;const{city:n,latitude:r,longitude:i}=t,o=e[n]||{cityName:n,count:0,latLong:[A$(r),A$(i)]};o.count+=1,e[n]=o},t5e=(e,t)=>{if(!J4e(t))return;const{visitedUrl:n}=t;e[n]=(e[n]||0)+1},iE=e=>e.reduce((t,n)=>(YDe(t.os,n),ZDe(t.browsers,n),XDe(t.referrers,n),QDe(t.countries,n),JDe(t.cities,n),e5e(t.citiesForMap,n),t5e(t.visitedUrls,n),t),{os:{},browsers:{},referrers:{},countries:{},cities:{},citiesForMap:{},visitedUrls:{}}),C0=e=>e.map(t=>{const{userAgent:n,date:r,referer:i,visitLocation:o,potentialBot:a}=t;return{date:r,potentialBot:a,...qDe(n),referer:KDe(i),country:(o==null?void 0:o.countryName)||"Unknown",city:(o==null?void 0:o.cityName)||"Unknown",latitude:o==null?void 0:o.latitude,longitude:o==null?void 0:o.longitude,visitedUrl:t.visitedUrl,type:MT(t)?t.type:void 0}}),n5e=Object.freeze(Object.defineProperty({__proto__:null,normalizeVisits:C0,processStatsFromVisits:iE},Symbol.toStringTag,{value:"Module"})),xd=20,r5e=({browser:e,os:t,referer:n,country:r,city:i,...o},a)=>`${e} ${t} ${n} ${r} ${i} ${o.visitedUrl}`.toLowerCase().includes(a.toLowerCase()),i5e=(e,t)=>t.filter(n=>r5e(n,e)),o5e=(e,t)=>I8(t,e),a5e=(e,t,n)=>{const r=t?i5e(t,e):[...e],i=o5e(n,r),o=i.length;return{visitsGroups:Yu(i,xd),total:o}},ko="visits-table__header-cell visits-table__sticky",s5e=({visits:e,selectedVisits:t=[],setSelectedVisits:n,matchMedia:r=window.matchMedia})=>{var i;const o=$T(767,r),[a,s]=R.useState(void 0),l=R.useRef(a),[u,f]=R.useState({}),d=R.useMemo(()=>a5e(e,a,u),[e,a,u]),[h,v]=R.useState(1),g=h*xd,y=g-xd,x=R.useMemo(()=>{var O,E;return!!((E=(O=d.visitsGroups[h-1])==null?void 0:O[0])!=null&&E.visitedUrl)},[h,d.visitsGroups]),_=8+Number(x),b=O=>()=>f({field:O,dir:ub(O,u.field,u.dir)}),w=O=>m.jsx(Qd,{currentOrder:u,field:O,className:"visits-table__header-icon"});return R.useEffect(()=>{l.current!==a&&(v(1),n([])),l.current=a},[a,n]),m.jsx("div",{className:"table-responsive-md",children:m.jsxs("table",{className:"table table-bordered table-hover table-sm visits-table",children:[m.jsxs("thead",{className:"visits-table__header",children:[m.jsxs("tr",{children:[m.jsxs("th",{className:`${ko} text-center`,onClick:()=>n(t.length0})})]}),m.jsxs("th",{className:`${ko} text-center`,onClick:b("potentialBot"),children:[m.jsx("span",{className:"sr-only",children:"Is bot"}),m.jsx(je,{icon:wk}),w("potentialBot")]}),m.jsxs("th",{className:ko,onClick:b("date"),children:["Date",w("date")]}),m.jsxs("th",{className:ko,onClick:b("country"),children:["Country",w("country")]}),m.jsxs("th",{className:ko,onClick:b("city"),children:["City",w("city")]}),m.jsxs("th",{className:ko,onClick:b("browser"),children:["Browser",w("browser")]}),m.jsxs("th",{className:ko,onClick:b("os"),children:["OS",w("os")]}),m.jsxs("th",{className:ko,onClick:b("referer"),children:["Referrer",w("referer")]}),x&&m.jsxs("th",{className:ko,onClick:b("visitedUrl"),children:["Visited URL",w("visitedUrl")]})]}),m.jsx("tr",{children:m.jsx("td",{colSpan:_,className:"p-0",children:m.jsx(zp,{noBorder:!0,large:!1,onChange:s})})})]}),m.jsxs("tbody",{children:[d.total===0&&m.jsx("tr",{children:m.jsx("td",{colSpan:_,className:"text-center",children:"There are no visits matching current filter"})}),(i=d.visitsGroups[h-1])==null?void 0:i.map((O,E)=>{const P=t.includes(O);return m.jsxs("tr",{style:{cursor:"pointer"},className:Pe({"table-active":P}),onClick:()=>n(P?t.filter(T=>T!==O):[...t,O]),children:[m.jsx("td",{className:"text-center",children:P&&m.jsx(je,{icon:yh,className:"text-primary"})}),m.jsx("td",{className:"text-center",children:O.potentialBot&&m.jsxs(m.Fragment,{children:[m.jsx(je,{icon:wk,id:`botIcon${E}`}),m.jsx(Cr,{placement:"right",target:`botIcon${E}`,children:"Potentially a visit from a bot or crawler"})]})}),m.jsx("td",{children:m.jsx(O0,{date:O.date})}),m.jsx("td",{children:O.country}),m.jsx("td",{children:O.city}),m.jsx("td",{children:O.browser}),m.jsx("td",{children:O.os}),m.jsx("td",{children:O.referer}),O.visitedUrl&&m.jsx("td",{children:O.visitedUrl})]},E)})]}),d.total>xd&&m.jsx("tfoot",{children:m.jsx("tr",{children:m.jsx("td",{colSpan:_,className:"visits-table__footer-cell visits-table__sticky",children:m.jsxs("div",{className:"row",children:[m.jsx("div",{className:"col-md-6",children:m.jsx(VT,{pagesCount:Math.ceil(d.total/xd),currentPage:h,setCurrentPage:v,centered:o})}),m.jsx("div",{className:Pe("col-md-6",{"d-flex align-items-center flex-row-reverse":!o,"text-center mt-3":o}),children:m.jsxs("div",{children:["Visits ",m.jsx("b",{children:Yt(y+1)})," to"," ",m.jsx("b",{children:Yt(Math.min(g,d.total))})," of"," ",m.jsx("b",{children:Yt(d.total)})]})})]})})})})]})})},wa={byTime:{title:"By time",subPath:"by-time",icon:JY},byContext:{title:"By context",subPath:"by-context",icon:dP},byLocation:{title:"By location",subPath:"by-location",icon:Pw},list:{title:"List",subPath:"list",icon:ID},options:{title:"Options",subPath:"options",icon:BD,shouldRender:({deletion:e})=>!!e}};Object.freeze(wa);const Ox=({display:e})=>e&&m.jsx("div",{className:"mt-3 mx-auto w-75",children:m.jsx(St,{children:m.jsxs("div",{className:"d-flex gap-2",children:[m.jsx(je,{icon:QZ,className:"mt-1"}),m.jsx("i",{children:"Could not calculate previous period because selected one does not have a strictly defined start date."})]})})});let Nv;const lm=e=>{const{children:t,visitsInfo:n,getVisits:r,cancelGetVisits:i,deletion:o,exportCsv:a,isOrphanVisits:s=!1}=e,{visits:l,prevVisits:u,loading:f,errorData:d,fallbackInterval:h}=n,[{dateRange:v,visitsFilter:g,loadPrevInterval:y},x]=Iz(),_=Ss("visits"),[b,w]=R.useState(),O=R.useCallback(({startDate:j,endDate:N},U)=>{x({dateRange:{startDate:j??void 0,endDate:N??void 0}}),w(U)},[x]),E=R.useRef(v??h??(_==null?void 0:_.defaultInterval)??"last30Days"),[P,T]=R.useState([]),[A,D]=R.useState(),k=R.useRef(!0),{search:I}=hr(),F=R.useCallback(j=>j?`${j}${I}`:I,[I]),q=R.useMemo(()=>C0(l),[l]),W=R.useMemo(()=>u&&C0(u),[u]),{os:X,browsers:Q,referrers:ne,countries:Z,cities:z,citiesForMap:B,visitedUrls:H}=R.useMemo(()=>iE(q),[q]),ee=R.useMemo(()=>iE(W??[]),[W]),K=R.useMemo(()=>Object.fromEntries([["Visits",Object.assign(q,{type:"main"})],W&&["Previous period",Object.assign(W,{type:"previous"})],P.length>0&&[A??"Selected",Object.assign(P,{type:"highlighted"})]].filter(Boolean)),[A,P,W,q]),te=R.useMemo(()=>({...g,excludeBots:g.excludeBots??(_==null?void 0:_.excludeBots),loadPrevInterval:y??(_==null?void 0:_.loadPrevInterval)}),[y,g,_==null?void 0:_.excludeBots,_==null?void 0:_.loadPrevInterval]),ie=R.useMemo(()=>Object.values(B),[B]),ae=R.useCallback(j=>{Nv=void 0,T(j)},[]),fe=R.useCallback((j,N)=>{const U=`${j}_${N}`;Nv===U?(T([]),D(void 0),Nv=void 0):(T(q.filter(J=>J[j]===N)),D(N),Nv=U)},[q]);return R.useEffect(()=>i,[i]),R.useEffect(()=>{const j=v??v9(E.current),{loadPrevInterval:N,...U}=te,J={doIntervalFallback:k.current,loadPrevInterval:N};r({dateRange:j,filter:U},J),ae([]),k.current=!1},[v,g,r,te,ae]),R.useEffect(()=>{h&&E.current===((_==null?void 0:_.defaultInterval)??"last30Days")&&(E.current=h)},[h,_==null?void 0:_.defaultInterval]),m.jsxs(m.Fragment,{children:[t,m.jsx("section",{className:"mt-3",children:m.jsxs("div",{className:"row flex-md-row-reverse",children:[m.jsx("div",{className:"col-lg-7 col-xl-6",children:m.jsxs("div",{className:"d-md-flex",children:[m.jsx("div",{className:"flex-grow-1",children:m.jsx(BT,{disabled:f,dateRangeOrInterval:b??v??E.current,defaultText:"All visits",onDatesChange:O})}),m.jsx(Fz,{disabled:f,className:"ms-0 ms-md-2 mt-3 mt-md-0",isOrphanVisits:s,withPrevInterval:!0,selected:te,onChange:({loadPrevInterval:j,...N})=>x({visitsFilter:N,loadPrevInterval:j})})]})}),l.length>0&&m.jsx("div",{className:"col-lg-5 col-xl-6 mt-3 mt-lg-0",children:m.jsxs("div",{className:"d-flex",children:[m.jsx(Q9,{className:"btn-md-block",amount:q.length,onClick:()=>a(q)}),m.jsxs(Ye,{outline:!0,disabled:P.length===0,className:"btn-md-block ms-2",onClick:()=>ae([]),children:["Clear selection ",P.length>0&&m.jsxs(m.Fragment,{children:["(",Yt(P.length),")"]})]})]})})]})}),m.jsxs("section",{className:"mt-3",children:[m.jsx(Bz,{info:n}),!f&&!d&&m.jsxs(m.Fragment,{children:[m.jsx($8,{fill:!0,children:Object.values(wa).map(({title:j,icon:N,subPath:U,shouldRender:J},Y)=>!J||J(e)?m.jsxs(Bd,{to:F(U),replace:!0,children:[m.jsx(je,{icon:N}),m.jsx("span",{className:"ms-2 d-none d-lg-inline",children:j})]},Y):void 0).filter(Boolean)}),m.jsx(nr,{children:m.jsxs(Y0,{children:[m.jsx(lt,{path:wa.byTime.subPath,element:m.jsxs(sg,{showFallback:l.length===0,children:[m.jsx("div",{className:"col-12 mt-3","data-testid":"line-chart-container",children:m.jsx($z,{visitsGroups:K,setSelectedVisits:ae})}),m.jsx(Ox,{display:!!te.loadPrevInterval&&!u})]})}),m.jsx(lt,{path:wa.byContext.subPath,element:m.jsxs(sg,{showFallback:l.length===0,children:[m.jsx("div",{className:Pe("mt-3 col-lg-6",{"col-xl-4":!s}),children:m.jsx(P$,{title:"Operating systems",stats:X,prevStats:ee.os})}),m.jsx("div",{className:Pe("mt-3 col-lg-6",{"col-xl-4":!s}),children:m.jsx(P$,{title:"Browsers",stats:Q,prevStats:ee.browsers})}),m.jsx("div",{className:Pe("mt-3",{"col-xl-4":!s,"col-lg-6":s}),children:m.jsx(Av,{title:"Referrers",withPagination:!1,stats:ne,prevStats:ee.referrers,highlightedStats:Pv(P,"referer"),highlightedLabel:A,sortingItems:{name:"Referrer name",amount:"Visits amount"},onClick:j=>fe("referer",j)})}),s&&m.jsx("div",{className:"mt-3 col-lg-6",children:m.jsx(Av,{title:"Visited URLs",stats:H,prevStats:ee.visitedUrls,highlightedStats:Pv(P,"visitedUrl"),highlightedLabel:A,sortingItems:{visitedUrl:"Visited URL",amount:"Visits amount"},onClick:j=>fe("visitedUrl",j)})}),m.jsx("div",{className:"col-12",children:m.jsx(Ox,{display:!!te.loadPrevInterval&&!u})})]})}),m.jsx(lt,{path:wa.byLocation.subPath,element:m.jsxs(sg,{showFallback:l.length===0,children:[m.jsx("div",{className:"col-lg-6 mt-3",children:m.jsx(Av,{title:"Countries",stats:Z,prevStats:ee.countries,highlightedStats:Pv(P,"country"),highlightedLabel:A,sortingItems:{name:"Country name",amount:"Visits amount"},onClick:j=>fe("country",j)})}),m.jsx("div",{className:"col-lg-6 mt-3",children:m.jsx(Av,{title:"Cities",stats:z,prevStats:ee.cities,highlightedStats:Pv(P,"city"),highlightedLabel:A,extraHeaderContent:j=>ie.length>0&&m.jsx(WDe,{modalTitle:"Cities",locations:ie,activeCities:j}),sortingItems:{name:"City name",amount:"Visits amount"},onClick:j=>fe("city",j)})}),m.jsx("div",{className:"col-12",children:m.jsx(Ox,{display:!!te.loadPrevInterval&&!u})})]})}),m.jsx(lt,{path:wa.list.subPath,element:m.jsx("div",{className:"col-12",children:m.jsx(s5e,{visits:q,selectedVisits:P,setSelectedVisits:ae})})}),o&&m.jsx(lt,{path:wa.options.subPath,element:m.jsx("div",{className:"col-12 mt-3",children:m.jsx(HDe,{...o})})}),m.jsx(lt,{path:"*",element:m.jsx(iP,{replace:!0,to:F(wa.byTime.subPath)})})]})})]})]})]})},Vz=Gi(({getDomainVisits:e,domainVisits:t,cancelGetDomainVisits:n})=>{const{ReportExporter:r}=It(Vz),{domain:i=""}=Kc(),[o,a=o]=i.split("_"),s=R.useCallback((u,f)=>e({domain:a,options:f,params:u}),[a,e]),l=R.useCallback(u=>r.exportVisits(`domain_${o}_visits.csv`,u),[o,r]);return m.jsx(lm,{getVisits:s,cancelGetVisits:n,visitsInfo:t,exportCsv:l,children:m.jsx(sm,{visits:t.visits,title:`"${o}" visits`})})},()=>[cr.visits]),l5e=Dt(Vz,["ReportExporter"]),Wz=Gi(({getNonOrphanVisits:e,nonOrphanVisits:t,cancelGetNonOrphanVisits:n})=>{const{ReportExporter:r}=It(Wz),i=R.useCallback(a=>r.exportVisits("non_orphan_visits.csv",a),[r]),o=R.useCallback((a,s)=>e({options:s,params:a}),[e]);return m.jsx(lm,{getVisits:o,cancelGetVisits:n,visitsInfo:t,exportCsv:i,children:m.jsx(sm,{title:"Non-orphan visits",visits:t.visits})})},()=>[cr.visits]),u5e=Dt(Wz,["ReportExporter"]),Hz=Gi(({getOrphanVisits:e,orphanVisits:t,cancelGetOrphanVisits:n,deleteOrphanVisits:r,orphanVisitsDeletion:i})=>{const o=us("orphanVisitsDeletion"),{ReportExporter:a}=It(Hz),s=R.useCallback(f=>a.exportVisits("orphan_visits.csv",f),[a]),l=R.useCallback((f,d)=>{var h;return e({options:d,params:f,orphanVisitsType:(h=f.filter)==null?void 0:h.orphanVisitsType})},[e]),u=R.useMemo(()=>o?{deleteVisits:r,visitsDeletion:i}:void 0,[r,i,o]);return m.jsx(lm,{getVisits:l,cancelGetVisits:n,visitsInfo:t,exportCsv:s,deletion:u,isOrphanVisits:!0,children:m.jsx(sm,{title:"Orphan visits",visits:t.visits})})},()=>[cr.orphanVisits]),c5e=Dt(Hz,["ReportExporter"]),Gz="shlink/orphanVisits",f5e={visits:[],loading:!1,cancelLoad:!1,errorData:null,progress:null},d5e=e=>im({typePrefix:`${Gz}/getNonOrphanVisits`,createLoaders:({options:t})=>{const n=e(),{doIntervalFallback:r=!1}=t,i=async a=>n.getNonOrphanVisits(a),o=rm(r,a=>n.getNonOrphanVisits(a));return{visitsLoader:i,lastVisitLoader:o}},shouldCancel:t=>t().orphanVisits.cancelLoad}),h5e=e=>om({name:Gz,initialState:f5e,asyncThunkCreator:e,filterCreatedVisits:({params:t},n)=>{const{startDate:r,endDate:i}=(t==null?void 0:t.dateRange)??{};return n.filter(({visit:o})=>nm(o.date,r,i))}}),qz="shlink/orphanVisits",p5e={visits:[],loading:!1,cancelLoad:!1,errorData:null,progress:null},m5e=(e,t)=>!t||t===e.type,v5e=({data:e,...t},n)=>{const r=e.filter(i=>MT(i)&&m5e(i,n));return{...t,data:r}},g5e=e=>im({typePrefix:`${qz}/getOrphanVisits`,createLoaders:({orphanVisitsType:t,options:n})=>{const r=e(),{doIntervalFallback:i=!1}=n,o=async s=>r.getOrphanVisits({...s,type:t}).then(l=>v5e(l,t)),a=rm(i,s=>r.getOrphanVisits(s));return{visitsLoader:o,lastVisitLoader:a}},shouldCancel:t=>t().orphanVisits.cancelLoad}),y5e=(e,t)=>om({name:qz,initialState:p5e,asyncThunkCreator:e,extraReducers:n=>{n.addCase(t.fulfilled,r=>({...r,visits:[]}))},filterCreatedVisits:({params:n},r)=>{const{startDate:i,endDate:o}=(n==null?void 0:n.dateRange)??{};return r.filter(({visit:a,shortUrl:s})=>!s&&nm(a.date,i,o))}}),Kz="shlink/orphanVisitsDeletion",k$={deletedVisits:0,deleting:!1,error:!1},b5e=e=>gn(`${Kz}/deleteOrphanVisits`,()=>e().deleteOrphanVisits()),_5e=e=>nn({name:Kz,initialState:k$,reducers:{},extraReducers:t=>{t.addCase(e.pending,n=>({...n,deleting:!0,error:!1})),t.addCase(e.rejected,(n,{error:r})=>({...n,deleting:!1,error:!0,errorData:qr(r)})),t.addCase(e.fulfilled,(n,{payload:r})=>{const{deletedVisits:i}=r;return{...k$,deletedVisits:i}})}}),Yz="shlink/shortUrlVisits",x5e={visits:[],shortCode:"",loading:!1,errorData:null,cancelLoad:!1,progress:null},w5e=e=>im({typePrefix:`${Yz}/getShortUrlVisits`,createLoaders:({shortCode:t,domain:n,options:r})=>{const i=e(),{doIntervalFallback:o=!1}=r,a=l=>i.getShortUrlVisits(t,{...l,domain:n}),s=rm(o,l=>i.getShortUrlVisits(t,{...l,domain:n}));return{visitsLoader:a,lastVisitLoader:s}},shouldCancel:t=>t().shortUrlVisits.cancelLoad}),S5e=(e,t)=>om({name:Yz,initialState:x5e,asyncThunkCreator:e,extraReducers:n=>{n.addCase(t.fulfilled,(r,{payload:i})=>r.shortCode===i.shortCode&&r.domain===i.domain?{...r,visits:[]}:r)},filterCreatedVisits:({shortCode:n,domain:r,params:i},o)=>y9(o,{shortCode:n,domain:r},i==null?void 0:i.dateRange)}),Zz="shlink/shortUrlVisitsDeletion",N$={shortCode:"",deletedVisits:0,deleting:!1,error:!1},O5e=e=>gn(`${Zz}/deleteShortUrlVisits`,async({shortCode:t,domain:n})=>({...await e().deleteShortUrlVisits(t,n),shortCode:t,domain:n})),E5e=e=>nn({name:Zz,initialState:N$,reducers:{},extraReducers:t=>{t.addCase(e.pending,n=>({...n,deleting:!0,error:!1})),t.addCase(e.rejected,(n,{error:r})=>({...n,deleting:!1,error:!0,errorData:qr(r)})),t.addCase(e.fulfilled,(n,{payload:r})=>{const{shortCode:i,domain:o,deletedVisits:a}=r;return{...N$,shortCode:i,domain:o,deletedVisits:a}})}}),Xz="shlink/tagVisits",P5e={visits:[],tag:"",loading:!1,cancelLoad:!1,errorData:null,progress:null},C5e=e=>im({typePrefix:`${Xz}/getTagVisits`,createLoaders:({tag:t,options:n})=>{const r=e(),{doIntervalFallback:i=!1}=n,o=s=>r.getTagVisits(t,s),a=rm(i,async s=>r.getTagVisits(t,s));return{visitsLoader:o,lastVisitLoader:a}},shouldCancel:t=>t().tagVisits.cancelLoad}),T5e=e=>om({name:Xz,initialState:P5e,asyncThunkCreator:e,filterCreatedVisits:({tag:t,params:n},r)=>_9(r,t,n==null?void 0:n.dateRange)}),Qz="shlink/visitsOverview",Mv={nonOrphanVisits:{total:0},orphanVisits:{total:0},loading:!1,error:!1},M$=e=>e.filter(({visit:t})=>t.potentialBot).length,j5e=e=>gn(`${Qz}/loadVisitsOverview`,()=>e().getVisitsOverview().then(({nonOrphanVisits:t,visitsCount:n=0,orphanVisits:r,orphanVisitsCount:i=0})=>({nonOrphanVisits:{total:(t==null?void 0:t.total)??n,nonBots:t==null?void 0:t.nonBots,bots:t==null?void 0:t.bots},orphanVisits:{total:(r==null?void 0:r.total)??i,nonBots:r==null?void 0:r.nonBots,bots:r==null?void 0:r.bots}}))),A5e=e=>nn({name:Qz,initialState:Mv,reducers:{},extraReducers:t=>{t.addCase(e.pending,()=>({...Mv,loading:!0})),t.addCase(e.rejected,()=>({...Mv,error:!0})),t.addCase(e.fulfilled,(n,{payload:r})=>({...Mv,...r})),t.addCase(xf,({nonOrphanVisits:n,orphanVisits:r,...i},{payload:o})=>{const{nonOrphanVisits:a,orphanVisits:s}=e$e(o.createdVisits),l=a.length,u=M$(a),f=l-u,d=s.length,h=M$(s),v=d-h;return{...i,nonOrphanVisits:{total:n.total+l,bots:n.bots&&n.bots+u,nonBots:n.nonBots&&n.nonBots+f},orphanVisits:{total:r.total+d,bots:r.bots&&r.bots+h,nonBots:r.nonBots&&r.nonBots+v}}})}}),k5e=({shortUrl:e,loading:t,shortUrlVisits:n})=>{const{visits:r}=n,i=(e==null?void 0:e.shortUrl)??"",o=(e==null?void 0:e.longUrl)??"",a=e==null?void 0:e.title;return m.jsxs(sm,{title:m.jsxs(m.Fragment,{children:["Visits for ",m.jsx(Or,{href:i})]}),visits:r,shortUrl:e,children:[m.jsx("hr",{}),m.jsxs("div",{children:["Created: ",e?m.jsxs("span",{children:[m.jsx("b",{id:"created",className:"short-url-visits-header__created-at",children:m.jsx(O0,{date:e.dateCreated,relative:!0})}),m.jsx(Cr,{placement:"bottom",target:"created",children:m.jsx(O0,{date:e.dateCreated})})]}):m.jsx("small",{children:"Loading..."})]}),m.jsxs("div",{className:"long-url-container",children:[`${a?"Title":"Long URL"}: `,t&&m.jsx("small",{children:"Loading..."}),!t&&m.jsx(Or,{href:o,children:a??o})]})]})},Jz=Gi(({shortUrlVisits:e,shortUrlVisitsDeletion:t,shortUrlsDetails:n,getShortUrlVisits:r,getShortUrlsDetails:i,deleteShortUrlVisits:o,cancelGetShortUrlVisits:a})=>{const s=us("shortUrlVisitsDeletion"),{ReportExporter:l}=It(Jz),u=FT(),f=R.useMemo(()=>{var g;return(g=n.shortUrls)==null?void 0:g.get(u)},[u,n.shortUrls]),d=R.useCallback((g,y)=>r({...u,options:y,params:g}),[r,u]),h=R.useCallback(g=>l.exportVisits(`short-url_${f==null?void 0:f.shortUrl.replace(/https?:\/\//g,"")}_visits.csv`,g),[l,f==null?void 0:f.shortUrl]),v=R.useMemo(()=>s?{deleteVisits:()=>o(u),visitsDeletion:t}:void 0,[o,u,t,s]);return R.useEffect(()=>{i([u])},[u,i]),m.jsx(lm,{getVisits:d,cancelGetVisits:a,visitsInfo:e,exportCsv:h,deletion:v,children:m.jsx(k5e,{shortUrl:f,loading:n.loading,shortUrlVisits:e})})},e=>e.shortCode?[cr.shortUrlVisits(jT(e.shortCode))]:[]),N5e=Dt(Jz,["ReportExporter"]),M5e=({tagVisits:e,colorGenerator:t})=>{const{visits:n,tag:r}=e;return m.jsx(sm,{title:m.jsxs("span",{className:"d-flex align-items-center justify-content-center",children:[m.jsx("span",{className:"me-2",children:"Visits for"}),m.jsx(f1,{text:r,colorGenerator:t})]}),visits:n})},eV=Gi(({getTagVisits:e,tagVisits:t,cancelGetTagVisits:n})=>{const{ColorGenerator:r,ReportExporter:i}=It(eV),{tag:o=""}=Kc(),a=R.useCallback((l,u)=>e({tag:o,params:l,options:u}),[e,o]),s=R.useCallback(l=>i.exportVisits(`tag_${o}_visits.csv`,l),[i,o]);return m.jsx(lm,{getVisits:a,cancelGetVisits:n,visitsInfo:t,exportCsv:s,children:m.jsx(M5e,{tagVisits:t,colorGenerator:r})})},()=>[cr.visits]),R5e=Dt(eV,["ColorGenerator","ReportExporter"]),HT=({title:e,colors:t,getVisitsForComparison:n,visitsComparisonInfo:r,cancelGetVisitsComparison:i})=>{const{loading:o,visitsGroups:a}=r,s=Ss("visits"),l=R.useMemo(()=>Object.keys(a).reduce((b,w,O)=>(b[w]=Object.assign(C0(a[w]),{color:(t==null?void 0:t[w])??Rz(O)}),b),{}),[t,a]),u=R.useMemo(()=>Object.values(a).every(b=>b.length===0),[a]),[{dateRange:f,visitsFilter:d},h]=Iz(),[v,g]=R.useState(),y=R.useCallback(({startDate:b,endDate:w},O)=>{h({dateRange:{startDate:b??void 0,endDate:w??void 0}}),g(O)},[h]),x=R.useRef(f??(s==null?void 0:s.defaultInterval)??"last30Days"),_=R.useMemo(()=>({...d,excludeBots:d.excludeBots??(s==null?void 0:s.excludeBots)}),[d,s==null?void 0:s.excludeBots]);return R.useEffect(()=>{const b=f??v9(x.current);return n({params:{dateRange:b,filter:_}}),i},[i,f,n,_]),m.jsxs(m.Fragment,{children:[m.jsx("div",{className:"mb-3",children:m.jsxs(St,{bodyClassName:"d-flex",children:[m.jsx(c1,{}),m.jsx("h3",{className:"mb-0 flex-grow-1 text-center",children:e})]})}),m.jsx("div",{className:"col-lg-7 col-xl-6 offset-lg-5 offset-xl-6 mb-3",children:m.jsxs("div",{className:"d-md-flex",children:[m.jsx("div",{className:"flex-grow-1",children:m.jsx(BT,{disabled:o,defaultText:"All visits",dateRangeOrInterval:v??x.current,onDatesChange:y})}),m.jsx(Fz,{disabled:o,className:"ms-0 ms-md-2 mt-3 mt-md-0",selected:_,onChange:({orphanVisitsType:b,excludeBots:w})=>h({visitsFilter:{orphanVisitsType:b,excludeBots:w}})})]})}),m.jsx(Bz,{info:r}),!o&&m.jsx(sg,{showFallback:u,children:m.jsx($z,{visitsGroups:l})})]})},L5e=Gi(({getDomainVisitsForComparison:e,domainVisitsComparison:t,cancelGetDomainVisitsComparison:n})=>{const r=LT("domains"),i=R.useCallback(o=>e({...o,domains:r}),[r,e]);return m.jsx(HT,{title:`Comparing "${r.join('", "')}"`,getVisitsForComparison:i,visitsComparisonInfo:t,cancelGetVisitsComparison:n})},()=>[cr.visits]),$5e=({visitsLoaders:e,shouldCancel:t,progressChanged:n})=>{const r=Object.keys(e),i=Math.max(1,Math.round(4/r.length)),o=Object.fromEntries(r.map(l=>[l,0])),a=(l,u)=>{o[l]=u;const f=Object.values(o),d=f.reduce((h,v)=>h+v,0);n(d/f.length)},s=Object.entries(e).map(([l,u])=>[l,x9({visitsLoader:u,batchSize:i,shouldCancel:t,progressChanged:f=>a(l,f)})]);return async l=>{const u=await Promise.all(s.map(async([f,d])=>{const h=await d(l);return[f,h]}));return Object.fromEntries(u)}},GT=({typePrefix:e,createLoaders:t,shouldCancel:n})=>{const r=mn(`${e}/progressChanged`),i=gn(e,async(o,{getState:a,dispatch:s})=>{const l=t(o),u=await $5e({visitsLoaders:l,shouldCancel:()=>n(a),progressChanged:f=>s(r(f))})(XO(o.params));return{...o,visitsGroups:u}});return Object.assign(i,{progressChanged:r})},qT=({name:e,asyncThunkCreator:t,initialState:n,filterCreatedVisitsForGroup:r})=>{const{pending:i,rejected:o,fulfilled:a,progressChanged:s}=t,{reducer:l,actions:u}=nn({name:e,initialState:n,reducers:{cancelGetVisits:d=>({...d,cancelLoad:!0})},extraReducers:d=>{d.addCase(i,()=>({...n,loading:!0})),d.addCase(o,(h,{error:v})=>({...n,errorData:qr(v)??null})),d.addCase(a,(h,{payload:v})=>({...h,...v,loading:!1,progress:null,errorData:null})),d.addCase(s,(h,{payload:v})=>({...h,progress:v})),d.addCase(xf,(h,{payload:v})=>{const{visitsGroups:g,...y}=h,x=Object.keys(g).map(b=>{const w=r({...y,groupKey:b},v.createdVisits).map(({visit:O})=>O);return[b,[...w,...g[b]]]}),_=Object.fromEntries(x);return{...y,visitsGroups:_}})}}),{cancelGetVisits:f}=u;return{reducer:l,cancelGetVisits:f}},tV="shlink/domainVisitsComparison",I5e={visitsGroups:{},loading:!1,cancelLoad:!1,errorData:null,progress:null},D5e=e=>GT({typePrefix:`${tV}/getDomainVisitsForComparison`,createLoaders:({domains:t})=>{const n=e(),r=t.map(i=>[i,o=>n.getDomainVisits(i,o)]);return Object.fromEntries(r)},shouldCancel:t=>t().domainVisitsComparison.cancelLoad}),F5e=e=>qT({name:tV,initialState:I5e,asyncThunkCreator:e,filterCreatedVisitsForGroup:({groupKey:t,params:n},r)=>b9(r,t,n==null?void 0:n.dateRange)}),nV="shlink/shortUrlVisitsComparison",B5e={visitsGroups:{},loading:!1,cancelLoad:!1,errorData:null,progress:null},U5e=e=>GT({typePrefix:`${nV}/getShortUrlVisitsForComparison`,createLoaders:({shortUrls:t})=>{const n=e(),r=t.map(i=>[AT(i),o=>n.getShortUrlVisits(i.shortCode,{...o,domain:i.domain})]);return Object.fromEntries(r)},shouldCancel:t=>t().shortUrlVisitsComparison.cancelLoad}),z5e=e=>qT({name:nV,initialState:B5e,asyncThunkCreator:e,filterCreatedVisitsForGroup:({groupKey:t,params:n},r)=>y9(r,u9(t),n==null?void 0:n.dateRange)}),rV="shlink/tagVisitsComparison",V5e={visitsGroups:{},loading:!1,cancelLoad:!1,errorData:null,progress:null},W5e=e=>GT({typePrefix:`${rV}/getTagVisitsForComparison`,createLoaders:({tags:t})=>{const n=e(),r=t.map(i=>[i,o=>n.getTagVisits(i,o)]);return Object.fromEntries(r)},shouldCancel:t=>t().tagVisitsComparison.cancelLoad}),H5e=e=>qT({name:rV,initialState:V5e,asyncThunkCreator:e,filterCreatedVisitsForGroup:({groupKey:t,params:n},r)=>_9(r,t,n==null?void 0:n.dateRange)}),G5e=Gi(({getShortUrlVisitsForComparison:e,shortUrlVisitsComparison:t,cancelGetShortUrlVisitsComparison:n,shortUrlsDetails:r,getShortUrlsDetails:i})=>{const o=LT("short-urls"),a=R.useMemo(()=>o.map(u9),[o]),s=R.useCallback(f=>e({...f,shortUrls:a}),[e,a]),l=R.useMemo(()=>{var f;return[...((f=r.shortUrls)==null?void 0:f.values())??[]]},[r.shortUrls]),u=R.useMemo(()=>{const{visitsGroups:f,loading:d,...h}=t,v=l.reduce((g,y)=>(g[y.shortUrl]=f[AT(y)]??[],g),{});return{...h,visitsGroups:v,loading:d||r.loading}},[t,r.loading,l]);return R.useEffect(()=>{a.length>0&&i(a)},[i,a]),m.jsx(HT,{title:m.jsx("span",{"data-testid":"title",children:r.loading?"Loading...":`Comparing ${l.length} short URLs`}),getVisitsForComparison:s,visitsComparisonInfo:u,cancelGetVisitsComparison:n})},()=>[cr.visits]),iV=Gi(({getTagVisitsForComparison:e,tagVisitsComparison:t,cancelGetTagVisitsComparison:n})=>{const{ColorGenerator:r}=It(iV),i=LT("tags"),o=R.useCallback(l=>e({...l,tags:i}),[e,i]),{visitsGroups:a}=t,s=R.useMemo(()=>Object.keys(a).reduce((l,u)=>(l[u]=r.getColorForKey(u),l),{}),[r,a]);return m.jsx(HT,{title:m.jsxs(m.Fragment,{children:["Comparing ",i.map(l=>m.jsx(f1,{colorGenerator:r,text:l},l))]}),getVisitsForComparison:o,visitsComparisonInfo:t,cancelGetVisitsComparison:n,colors:s})},()=>[cr.visits]),q5e=Dt(iV,["ColorGenerator"]),K5e=(e,t)=>{const n=(r,i)=>t([...r,"mercureInfo"],[...i,"createNewVisits","loadMercureInfo"]);e.serviceFactory("MapModal",()=>Dz),e.factory("ShortUrlVisits",N5e),e.decorator("ShortUrlVisits",t(["shortUrlVisits","shortUrlVisitsDeletion","shortUrlsDetails","mercureInfo"],["getShortUrlVisits","deleteShortUrlVisits","getShortUrlsDetails","cancelGetShortUrlVisits","createNewVisits","loadMercureInfo"])),e.factory("TagVisits",R5e),e.decorator("TagVisits",n(["tagVisits"],["getTagVisits","cancelGetTagVisits"])),e.factory("TagVisitsComparison",q5e),e.decorator("TagVisitsComparison",n(["tagVisitsComparison"],["getTagVisitsForComparison","cancelGetTagVisitsForComparison"])),e.serviceFactory("DomainVisitsComparison",()=>L5e),e.decorator("DomainVisitsComparison",n(["domainVisitsComparison"],["getDomainVisitsForComparison","cancelGetDomainVisitsForComparison"])),e.serviceFactory("ShortUrlVisitsComparison",()=>G5e),e.decorator("ShortUrlVisitsComparison",n(["shortUrlVisitsComparison","shortUrlsDetails"],["getShortUrlVisitsForComparison","cancelGetShortUrlVisitsForComparison","getShortUrlsDetails"])),e.factory("DomainVisits",l5e),e.decorator("DomainVisits",n(["domainVisits"],["getDomainVisits","cancelGetDomainVisits"])),e.factory("OrphanVisits",c5e),e.decorator("OrphanVisits",n(["orphanVisits","orphanVisitsDeletion"],["getOrphanVisits","cancelGetOrphanVisits","deleteOrphanVisits"])),e.factory("NonOrphanVisits",u5e),e.decorator("NonOrphanVisits",n(["nonOrphanVisits"],["getNonOrphanVisits","cancelGetNonOrphanVisits"])),e.serviceFactory("VisitsParser",()=>n5e),e.serviceFactory("getShortUrlVisits",w5e,"apiClientFactory"),e.serviceFactory("cancelGetShortUrlVisits",r=>r.cancelGetVisits,"shortUrlVisitsReducerCreator"),e.serviceFactory("getShortUrlVisitsForComparison",U5e,"apiClientFactory"),e.serviceFactory("cancelGetShortUrlVisitsForComparison",r=>r.cancelGetVisits,"shortUrlVisitsComparisonReducerCreator"),e.serviceFactory("deleteShortUrlVisits",O5e,"apiClientFactory"),e.serviceFactory("getTagVisits",C5e,"apiClientFactory"),e.serviceFactory("cancelGetTagVisits",r=>r.cancelGetVisits,"tagVisitsReducerCreator"),e.serviceFactory("getTagVisitsForComparison",W5e,"apiClientFactory"),e.serviceFactory("cancelGetTagVisitsForComparison",r=>r.cancelGetVisits,"tagVisitsComparisonReducerCreator"),e.serviceFactory("getDomainVisits",u$e,"apiClientFactory"),e.serviceFactory("cancelGetDomainVisits",r=>r.cancelGetVisits,"domainVisitsReducerCreator"),e.serviceFactory("getDomainVisitsForComparison",D5e,"apiClientFactory"),e.serviceFactory("cancelGetDomainVisitsForComparison",r=>r.cancelGetVisits,"domainVisitsComparisonReducerCreator"),e.serviceFactory("getOrphanVisits",g5e,"apiClientFactory"),e.serviceFactory("cancelGetOrphanVisits",r=>r.cancelGetVisits,"orphanVisitsReducerCreator"),e.serviceFactory("deleteOrphanVisits",b5e,"apiClientFactory"),e.serviceFactory("getNonOrphanVisits",d5e,"apiClientFactory"),e.serviceFactory("cancelGetNonOrphanVisits",r=>r.cancelGetVisits,"nonOrphanVisitsReducerCreator"),e.serviceFactory("createNewVisits",()=>xf),e.serviceFactory("loadVisitsOverview",j5e,"apiClientFactory"),e.serviceFactory("visitsOverviewReducerCreator",A5e,"loadVisitsOverview"),e.serviceFactory("visitsOverviewReducer",r=>r.reducer,"visitsOverviewReducerCreator"),e.serviceFactory("domainVisitsReducerCreator",c$e,"getDomainVisits"),e.serviceFactory("domainVisitsReducer",r=>r.reducer,"domainVisitsReducerCreator"),e.serviceFactory("nonOrphanVisitsReducerCreator",h5e,"getNonOrphanVisits"),e.serviceFactory("nonOrphanVisitsReducer",r=>r.reducer,"nonOrphanVisitsReducerCreator"),e.serviceFactory("orphanVisitsReducerCreator",y5e,"getOrphanVisits","deleteOrphanVisits"),e.serviceFactory("orphanVisitsReducer",r=>r.reducer,"orphanVisitsReducerCreator"),e.serviceFactory("orphanVisitsDeletionReducerCreator",_5e,"deleteOrphanVisits"),e.serviceFactory("orphanVisitsDeletionReducer",r=>r.reducer,"orphanVisitsDeletionReducerCreator"),e.serviceFactory("shortUrlVisitsReducerCreator",S5e,"getShortUrlVisits","deleteShortUrlVisits"),e.serviceFactory("shortUrlVisitsReducer",r=>r.reducer,"shortUrlVisitsReducerCreator"),e.serviceFactory("shortUrlVisitsDeletionReducerCreator",E5e,"deleteShortUrlVisits"),e.serviceFactory("shortUrlVisitsDeletionReducer",r=>r.reducer,"shortUrlVisitsDeletionReducerCreator"),e.serviceFactory("tagVisitsReducerCreator",T5e,"getTagVisits"),e.serviceFactory("tagVisitsReducer",r=>r.reducer,"tagVisitsReducerCreator"),e.serviceFactory("tagVisitsComparisonReducerCreator",H5e,"getTagVisitsForComparison"),e.serviceFactory("tagVisitsComparisonReducer",r=>r.reducer,"tagVisitsComparisonReducerCreator"),e.serviceFactory("domainVisitsComparisonReducerCreator",F5e,"getDomainVisitsForComparison"),e.serviceFactory("domainVisitsComparisonReducer",r=>r.reducer,"domainVisitsComparisonReducerCreator"),e.serviceFactory("shortUrlVisitsComparisonReducerCreator",z5e,"getShortUrlVisitsForComparison"),e.serviceFactory("shortUrlVisitsComparisonReducer",r=>r.reducer,"shortUrlVisitsComparisonReducerCreator")},ld=({children:e,to:t,className:n,...r})=>m.jsx(xD,{className:({isActive:i})=>Pe("aside-menu__item",n,{"aside-menu__item--selected":i}),to:t,...r,children:e}),Y5e=({routePrefix:e,showOnMobile:t=!1})=>{const{pathname:n}=hr(),r=Pe("aside-menu",{"aside-menu--hidden":!t}),i=o=>`${e}${o}`;return m.jsx("aside",{className:r,children:m.jsxs("nav",{className:"nav flex-column aside-menu__nav",children:[m.jsxs(ld,{to:i("/overview"),children:[m.jsx(je,{fixedWidth:!0,icon:AZ}),m.jsx("span",{className:"aside-menu__item-text",children:"Overview"})]}),m.jsxs(ld,{to:i("/list-short-urls/1"),className:Pe({"aside-menu__item--selected":n.match("/list-short-urls")!==null}),children:[m.jsx(je,{fixedWidth:!0,icon:ID}),m.jsx("span",{className:"aside-menu__item-text",children:"List short URLs"})]}),m.jsxs(ld,{to:i("/create-short-url"),children:[m.jsx(je,{fixedWidth:!0,icon:$Z,flip:"horizontal"}),m.jsx("span",{className:"aside-menu__item-text",children:"Create short URL"})]}),m.jsxs(ld,{to:i("/manage-tags"),children:[m.jsx(je,{fixedWidth:!0,icon:DD}),m.jsx("span",{className:"aside-menu__item-text",children:"Manage tags"})]}),m.jsxs(ld,{to:i("/manage-domains"),children:[m.jsx(je,{fixedWidth:!0,icon:lZ}),m.jsx("span",{className:"aside-menu__item-text",children:"Manage domains"})]})]})})},oV=({createNotFound:e})=>{const{TagsList:t,ShortUrlsList:n,CreateShortUrl:r,ShortUrlVisits:i,TagVisits:o,DomainVisits:a,OrphanVisits:s,NonOrphanVisits:l,Overview:u,EditShortUrl:f,ManageDomains:d,TagVisitsComparison:h,DomainVisitsComparison:v,ShortUrlVisitsComparison:g,ShortUrlRedirectRules:y}=It(oV),x=hr(),_=ws(),[b,w,O,E]=Zt();R.useEffect(()=>E(),[x,E]);const P=Pe("shlink-layout__burger-icon",{"shlink-layout__burger-icon--active":b}),T=p$e(O,E),A=us("shortUrlRedirectRules");return m.jsxs(m.Fragment,{children:[m.jsx(je,{icon:rZ,className:P,onClick:w}),m.jsx("div",{...T,className:"shlink-layout__swipeable",children:m.jsxs("div",{className:"shlink-layout__swipeable-inner",children:[m.jsx(Y5e,{routePrefix:_,showOnMobile:b}),m.jsx("div",{className:"shlink-layout__container",onPointerDown:()=>E(),children:m.jsx("div",{className:"container-xl",children:m.jsxs(Y0,{children:[m.jsx(lt,{index:!0,element:m.jsx(iP,{replace:!0,to:"overview"})}),m.jsx(lt,{path:"/overview",element:m.jsx(u,{})}),m.jsx(lt,{path:"/list-short-urls/:page",element:m.jsx(n,{})}),m.jsx(lt,{path:"/create-short-url",element:m.jsx(r,{})}),m.jsx(lt,{path:"/short-code/:shortCode/visits/*",element:m.jsx(i,{})}),m.jsx(lt,{path:"/short-code/:shortCode/edit",element:m.jsx(f,{})}),A&&m.jsx(lt,{path:"/short-code/:shortCode/redirect-rules",element:m.jsx(y,{})}),m.jsx(lt,{path:"/short-urls/compare-visits",element:m.jsx(g,{})}),m.jsx(lt,{path:"/tag/:tag/visits/*",element:m.jsx(o,{})}),m.jsx(lt,{path:"/tags/compare-visits",element:m.jsx(h,{})}),m.jsx(lt,{path:"/domain/:domain/visits/*",element:m.jsx(a,{})}),m.jsx(lt,{path:"/orphan-visits/*",element:m.jsx(s,{})}),m.jsx(lt,{path:"/non-orphan-visits/*",element:m.jsx(l,{})}),m.jsx(lt,{path:"/manage-tags",element:m.jsx(t,{})}),m.jsx(lt,{path:"/manage-domains",element:m.jsx(d,{})}),m.jsx(lt,{path:"/domains/compare-visits",element:m.jsx(v,{})}),e&&m.jsx(lt,{path:"*",element:e("/list-short-urls/1")})]})})})]})})]})},Z5e=Dt(oV,["TagsList","ShortUrlsList","CreateShortUrl","ShortUrlVisits","TagVisits","DomainVisits","OrphanVisits","NonOrphanVisits","Overview","EditShortUrl","ManageDomains","TagVisitsComparison","DomainVisitsComparison","ShortUrlVisitsComparison","ShortUrlRedirectRules"]),X5e=!0,Q5e=e=>J8({devTools:!X5e,reducer:rC({mercureInfo:e.mercureInfoReducer,shortUrlsList:e.shortUrlsListReducer,shortUrlCreation:e.shortUrlCreationReducer,shortUrlDeletion:e.shortUrlDeletionReducer,shortUrlEdition:e.shortUrlEditionReducer,shortUrlsDetails:e.shortUrlsDetailsReducer,shortUrlVisits:e.shortUrlVisitsReducer,shortUrlVisitsDeletion:e.shortUrlVisitsDeletionReducer,shortUrlVisitsComparison:e.shortUrlVisitsComparisonReducer,tagVisits:e.tagVisitsReducer,tagVisitsComparison:e.tagVisitsComparisonReducer,domainVisits:e.domainVisitsReducer,domainVisitsComparison:e.domainVisitsComparisonReducer,orphanVisits:e.orphanVisitsReducer,orphanVisitsDeletion:e.orphanVisitsDeletionReducer,nonOrphanVisits:e.nonOrphanVisitsReducer,tagsList:e.tagsListReducer,tagDelete:e.tagDeleteReducer,tagEdit:e.tagEditReducer,domainsList:e.domainsListReducer,visitsOverview:e.visitsOverviewReducer,shortUrlRedirectRules:e.shortUrlRedirectRulesReducer,shortUrlRedirectRulesSaving:e.setShortUrlRedirectRulesReducer}),middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),J5e=e=>{e.factory("Main",Z5e),e.factory("store",Q5e)},qi=new ND,{container:e8e}=qi,t8e=e=>t=>Object.fromEntries(e.map(n=>[n,t[n]])),n8e=(e,t)=>(...n)=>e[t](...n),r8e=(e,t)=>({...e,[t]:n8e(e8e,t)}),wf=(e,t=[])=>lD(e?t8e(e):null,t.reduce(r8e,{}));J5e(qi);D6e(qi,wf);sDe(qi,wf);K5e(qi,wf);C$e(qi);O$e(qi,wf);B$e(qi,wf);SDe(qi);YIe(qi,wf);let R$;const i8e=e=>({serverVersion:t,apiClient:n,settings:r,routesPrefix:i="",createNotFound:o,tagColorsStorage:a})=>{const s=m6e(t),l=R.useRef(),[u,f]=R.useState(),d=Il(),h=R.useMemo(()=>d?R.Fragment:_D,[d]);return R.useEffect(()=>{R$=n,e.value("apiClientFactory",()=>R$),a&&e.value("TagColorsStorage",a);const{container:v}=e,{Main:g,store:y,loadMercureInfo:x,listTags:_}=v;l.current=m.jsx(g,{createNotFound:o}),f(y),y.dispatch(x(r)),y.dispatch(_())},[n,o,r,a]),u?m.jsx(uD,{store:u,children:m.jsx(D$e,{value:r,children:m.jsx(p6e,{value:s,children:m.jsx(z4e,{value:i,children:m.jsx(h,{children:l.current})})})})}):m.jsx(m.Fragment,{})},o8e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=",a8e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==",s8e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",l8e=()=>{delete e$.Icon.Default.prototype._getIconUrl,e$.Icon.Default.mergeOptions({iconRetinaUrl:a8e,iconUrl:o8e,shadowUrl:s8e})};l8e();const u8e=i8e(qi);function T0(e){return t=>{const{resetSelectedServer:n}=t;return R.useEffect(()=>{n()},[n]),m.jsx(e,{...t})}}let c8e=class extends R.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){const{console:n=globalThis.console}=this.props;n.error(t)}render(){const{hasError:t}=this.state,{location:n=globalThis.location}=this.props;if(t)return m.jsx("div",{className:"home",children:m.jsxs(St,{className:"p-4",children:[m.jsx("h1",{children:"Oops! This is awkward :S"}),m.jsx("p",{children:"It seems that something went wrong. Try refreshing the page or just click this button."}),m.jsx("br",{}),m.jsx(Ye,{outline:!0,color:"primary",onClick:()=>n.reload(),children:"Take me back"})]})});const{children:r}=this.props;return r}};const f8e=({id:e,name:t})=>m.jsxs(u8,{tag:Pt,to:`/server/${e}`,className:"servers-list__server-item",children:[t,m.jsx(je,{icon:zZ,className:"servers-list__server-item-icon"})]}),aV=({servers:e,children:t,embedded:n=!1})=>m.jsxs(m.Fragment,{children:[t&&m.jsx("div",{"data-testid":"title",className:"mb-0 fs-5 fw-normal lh-sm",children:t}),e.length>0&&m.jsx(a8,{"data-testid":"list",tag:"div",className:Pe("servers-list__list-group",{"servers-list__list-group--embedded":n}),children:e.map(({id:r,name:i})=>m.jsx(f8e,{id:r,name:i},r))})]}),sV=({color:e=Ah,className:t})=>m.jsx("svg",{className:t,viewBox:"0 0 512 512",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:m.jsxs("g",{fill:e,children:[m.jsx("path",{d:" M 23.71 85.08 C 17.22 49.81 49.44 14.86 85.08 18.12 C 118.83 19.21 145.72 53.33 139.45 86.37 C 155.64 102.30 171.32 118.83 187.87 134.36 C 198.32 111.73 208.84 89.12 219.57 66.62 C 226.05 53.84 243.47 48.74 255.73 56.27 C 263.76 62.10 270.34 69.69 277.25 76.75 C 286.28 86.61 285.72 102.89 276.31 112.31 C 223.38 165.37 170.38 218.37 117.35 271.34 C 107.72 280.99 91.01 281.25 81.11 271.86 C 74.39 264.94 66.82 258.69 61.24 250.77 C 53.72 238.52 58.85 221.07 71.64 214.62 C 94.11 203.87 116.72 193.38 139.33 182.91 C 123.81 166.36 107.30 150.68 91.37 134.49 C 60.20 140.28 27.37 116.78 23.71 85.08 Z"}),m.jsx("path",{d:" M 205.21 201.23 C 225.32 181.36 260.88 181.11 281.14 200.86 C 299.25 218.75 317.37 236.65 335.10 254.93 C 356.73 278.01 352.01 318.70 326.03 336.56 C 320.07 330.47 313.73 324.65 308.12 318.28 C 323.86 309.39 328.76 286.18 316.63 272.39 C 301.73 256.95 286.30 242.03 271.24 226.75 C 264.49 219.65 256.80 212.00 246.37 211.52 C 224.65 208.64 205.52 233.36 214.49 253.58 C 221.09 266.81 234.22 275.12 243.62 286.24 C 240.43 295.96 238.09 306.13 238.29 316.46 C 225.55 304.29 213.16 291.73 200.89 279.09 C 180.97 257.57 183.10 220.45 205.21 201.23 Z"}),m.jsx("path",{d:" M 273.90 352.07 C 252.28 328.99 256.98 288.31 282.96 270.46 C 288.93 276.54 295.26 282.36 300.88 288.72 C 285.14 297.62 280.23 320.82 292.38 334.61 C 307.27 350.05 322.70 364.96 337.75 380.25 C 344.51 387.35 352.20 395.00 362.64 395.48 C 384.35 398.37 403.49 373.64 394.51 353.42 C 387.92 340.18 374.78 331.88 365.38 320.76 C 368.56 311.04 370.91 300.86 370.71 290.54 C 383.45 302.70 395.84 315.27 408.11 327.91 C 428.03 349.43 425.90 386.55 403.78 405.77 C 383.68 425.64 348.13 425.89 327.86 406.14 C 309.75 388.25 291.60 370.37 273.90 352.07 Z"}),m.jsx("path",{d:" M 422.11 403.83 C 431.96 394.07 441.60 384.06 451.66 374.51 C 460.90 383.74 471.89 392.70 474.89 406.11 C 480.16 429.97 484.08 454.13 488.76 478.12 C 490.00 483.41 484.47 488.29 479.35 486.63 C 454.66 481.52 429.55 478.12 405.14 471.84 C 393.17 467.97 385.20 457.75 376.55 449.27 C 386.39 439.49 396.13 429.60 406.06 419.91 C 416.37 433.45 435.74 414.00 422.11 403.83 Z"})]})}),d8e=({servers:e})=>{const t=wo(),n=Object.values(e),r=n.length>0;return R.useEffect(()=>{const i=n.find(({autoConnect:o})=>o);i&&t(`/server/${i.id}`)},[n,t]),m.jsx("div",{className:"home",children:m.jsx(Er,{className:"home__main-card",children:m.jsxs(nr,{className:"g-0",children:[m.jsx("div",{className:"col-md-5 d-none d-md-block",children:m.jsx("div",{className:"home__logo-wrapper",children:m.jsx("div",{className:"home__logo",children:m.jsx(sV,{})})})}),m.jsxs("div",{className:"col-md-7 home__servers-container",children:[m.jsx("div",{className:"home__title-wrapper",children:m.jsx("h1",{className:"home__title",children:"Welcome!"})}),m.jsx(aV,{embedded:!0,servers:n,children:!r&&m.jsxs("div",{className:"p-4 text-center",children:[m.jsx("p",{className:"mb-5",children:"This application will help you manage your Shlink servers."}),m.jsx("p",{children:m.jsxs(Pt,{to:"/server/create",className:"btn btn-outline-primary btn-lg me-2",children:[m.jsx(je,{icon:jp})," ",m.jsx("span",{className:"ms-1",children:"Add a server"})]})}),m.jsx("p",{className:"mb-0 mt-5",children:m.jsx(Or,{href:"https://shlink.io/documentation",children:m.jsxs("small",{children:[m.jsx("span",{className:"me-1",children:"Learn more about Shlink"})," ",m.jsx(je,{icon:_Z})]})})})]})})]})]})})})},lV=()=>{const{ServersDropdown:e}=bi(lV),[t,n,,r]=Zt(),i=hr(),{pathname:o}=i;R.useEffect(r,[i,r]);const a="/settings",s=Pe("main-header__toggle-icon",{"main-header__toggle-icon--opened":t});return m.jsxs(P5,{color:"primary",dark:!0,fixed:"top",className:"main-header",expand:"md",children:[m.jsxs(C5,{tag:Pt,to:"/",children:[m.jsx(sV,{className:"main-header__brand-logo",color:"white"})," Shlink"]}),m.jsx(T5,{onClick:n,children:m.jsx(je,{icon:FZ,className:s})}),m.jsx(Vne,{navbar:!0,isOpen:t,children:m.jsxs(jP,{navbar:!0,className:"ms-auto",children:[m.jsx(AP,{children:m.jsxs(k5,{tag:Pt,to:a,active:o.startsWith(a),children:[m.jsx(je,{icon:HZ}),"  Settings"]})}),m.jsx(e,{})]})})]})},h8e=_i(lV,["ServersDropdown"]),p8e=({children:e})=>{const t=hr();return R.useEffect(()=>{scrollTo(0,0)},[t]),m.jsx(m.Fragment,{children:e})},uV=iF(e=>e,e=>{try{return xS(e,e,"=")}catch{return!1}}),cV=e=>uV(e)?`v${e}`:e,fV=(e,t="latest")=>uV(e)?e:t,m8e="%_VERSION_%",v8e=e=>cV(fV(e)),L$=({project:e,version:t})=>m.jsx(Or,{href:`https://github.com/shlinkio/${e}/releases/${t}`,className:"text-muted",children:m.jsx("b",{children:t})}),g8e=({selectedServer:e,clientVersion:t=m8e})=>{const n=v8e(t);return m.jsxs("small",{className:"text-muted",children:[uP(e)&&m.jsxs(m.Fragment,{children:["Server: ",m.jsx(L$,{project:"shlink",version:e.printableVersion})," - "]}),"Client: ",m.jsx(L$,{project:"shlink-web-client",version:n})]})},y8e=({selectedServer:e})=>m.jsx("div",{className:Pe("text-center",{"shlink-versions-container--with-sidebar":uP(e)}),children:m.jsx(g8e,{selectedServer:e})}),Sf=({children:e})=>m.jsx("div",{className:"no-menu-wrapper container-xl",children:e});function dV(e){const t=n=>{const{ServerError:r}=bi(t),i=Kc(),{selectServer:o,selectedServer:a}=n;return R.useEffect(()=>{i.serverId&&o(i.serverId)},[i.serverId,o]),a?HY(a)?m.jsx(r,{}):m.jsx(e,{...n}):m.jsx(Sf,{children:m.jsx(Qo,{loading:!0})})};return t}const hV=dV(R.memo(({selectedServer:e,settings:t})=>{const{buildShlinkApiClient:n,TagColorsStorage:r,ShlinkWebComponent:i,ServerError:o}=bi(hV);if(!uP(e))return m.jsx(o,{});const a=`/server/${e.id}`;return m.jsx(i,{serverVersion:e.version,apiClient:n(e),settings:t,routesPrefix:a,tagColorsStorage:r,createNotFound:s=>m.jsx(D8,{to:`${a}${s}`,children:"List short URLs"})})})),b8e=_i(hV,["buildShlinkApiClient","TagColorsStorage","ShlinkWebComponent","ServerError"]),_8e=(e,t)=>{e.constant("window",window),e.constant("console",console),e.constant("fetch",window.fetch.bind(window)),e.service("HttpClient",xue,"fetch"),e.serviceFactory("ScrollToTop",()=>p8e),e.factory("MainHeader",h8e),e.serviceFactory("Home",()=>d8e),e.decorator("Home",T0),e.decorator("Home",t(["servers"],["resetSelectedServer"])),e.serviceFactory("ShlinkWebComponent",()=>u8e),e.factory("ShlinkWebComponentContainer",b8e),e.decorator("ShlinkWebComponentContainer",t(["selectedServer","settings"],["selectServer"])),e.serviceFactory("ShlinkVersionsContainer",()=>y8e),e.decorator("ShlinkVersionsContainer",t(["selectedServer"])),e.serviceFactory("ErrorHandler",()=>c8e)},pV=()=>{const e=wo();return R.useCallback(()=>e(-1),[e])},x8e=()=>{const{search:e}=hr();return R.useMemo(()=>JP(e),[e])},mV=({isOpen:e,duplicatedServers:t,onDiscard:n,onSave:r})=>{const i=t.length>1;return m.jsxs(So,{centered:!0,isOpen:e,children:[m.jsxs(Oo,{children:["Duplicated server",i&&"s"]}),m.jsxs(Wi,{children:[m.jsx("p",{children:i?"The next servers already exist:":"There is already a server with:"}),m.jsx("ul",{children:t.map(({url:o,apiKey:a},s)=>i?m.jsxs("li",{children:[m.jsx("b",{children:o})," - ",m.jsx("b",{children:a})]},s):m.jsxs(R.Fragment,{children:[m.jsxs("li",{children:["URL: ",m.jsx("b",{children:o})]}),m.jsxs("li",{children:["API key: ",m.jsx("b",{children:a})]})]},s))}),m.jsxs("span",{children:[i?"Do you want to ignore duplicated servers":"Do you want to save this server anyway","?"]})]}),m.jsxs(ms,{children:[m.jsx(Ye,{color:"link",onClick:n,children:i?"Ignore duplicates":"Discard"}),m.jsx(Ye,{color:"primary",onClick:r,children:"Save anyway"})]})]})},w8e=e=>t=>{t.preventDefault(),e()},vV=({onSubmit:e,initialValues:t,children:n,title:r})=>{const[i,o]=R.useState(""),[a,s]=R.useState(""),[l,u]=R.useState(""),f=w8e(()=>e({name:i,url:a,apiKey:l}));return R.useEffect(()=>{t&&o(t.name),t&&s(t.url),t&&u(t.apiKey)},[t]),m.jsxs("form",{className:"server-form",name:"serverForm",onSubmit:f,children:[m.jsxs(St,{className:"mb-3",title:r,children:[m.jsx(Jv,{value:i,onChange:o,children:"Name"}),m.jsx(Jv,{type:"url",value:a,onChange:s,children:"URL"}),m.jsx(Jv,{value:l,onChange:u,children:"API key"})]}),m.jsx("div",{className:"text-end",children:n})]})},$$=4e3,I$=({type:e})=>m.jsx("div",{className:"mt-3",children:m.jsxs(lr,{type:e,children:[e==="success"&&"Servers properly imported. You can now select one from the list :)",e==="error"&&"The servers could not be imported. Make sure the format is correct."]})}),gV=({servers:e,createServers:t})=>{const{ImportServersBtn:n,useTimeoutToggle:r}=bi(gV),i=wo(),o=pV(),a=!!Object.keys(e).length,[s,l]=r(!1,$$),[u,f]=r(!1,$$),[d,h]=Zt(),[v,g]=R.useState(),y=R.useCallback(x=>{const _=HP();t([{...x,id:_}]),i(`/server/${_}`)},[t,i]);return R.useEffect(()=>{if(!v)return;Object.values(e).some(({url:_,apiKey:b})=>(v==null?void 0:v.url)===_&&(v==null?void 0:v.apiKey)===b)?h():y(v)},[y,v,e,h]),m.jsxs(Sf,{children:[m.jsxs(vV,{title:m.jsx("h5",{className:"mb-0",children:"Add new server"}),onSubmit:g,children:[!a&&m.jsx(n,{tooltipPlacement:"top",onImport:l,onImportError:f}),a&&m.jsx(Ye,{outline:!0,onClick:o,children:"Cancel"}),m.jsx(Ye,{outline:!0,color:"primary",className:"ms-2",children:"Create server"})]}),s&&m.jsx(I$,{type:"success"}),u&&m.jsx(I$,{type:"error"}),m.jsx(mV,{isOpen:d,duplicatedServers:v?[v]:[],onDiscard:o,onSave:()=>v&&y(v)})]})},S8e=_i(gV,["ImportServersBtn","useTimeoutToggle"]),yV=({server:e,className:t,children:n,textClassName:r})=>{const{DeleteServerModal:i}=bi(yV),[o,,a,s]=Zt();return m.jsxs(m.Fragment,{children:[m.jsxs("button",{type:"button",className:Pe(t,"p-0 bg-transparent border-0"),onClick:a,children:[!n&&m.jsx(je,{fixedWidth:!0,icon:cP}),m.jsx("span",{className:r,children:n??"Remove this server"})]}),m.jsx(i,{server:e,isOpen:o,toggle:s})]})},O8e=_i(yV,["DeleteServerModal"]),E8e=({server:e,toggle:t,isOpen:n,deleteServer:r,redirectHome:i=!0})=>{const o=wo(),a=R.useRef(!1),s=()=>{a.current=!0,t()},l=()=>{a.current&&(r(e),i&&o("/"))};return m.jsxs(So,{isOpen:n,toggle:t,centered:!0,onClosed:l,children:[m.jsx(Oo,{toggle:t,className:"text-danger",children:"Remove server"}),m.jsxs(Wi,{children:[m.jsxs("p",{children:["Are you sure you want to remove ",m.jsx("b",{children:e?e.name:""}),"?"]}),m.jsx("p",{children:m.jsx("i",{children:"No data will be deleted, only the access to this server will be removed from this device. You can create it again at any moment."})})]}),m.jsxs(ms,{children:[m.jsx(Ye,{color:"link",onClick:t,children:"Cancel"}),m.jsx(Ye,{color:"danger",onClick:s,children:"Delete"})]})]})},P8e=dV(({editServer:e,selectedServer:t,selectServer:n})=>{const r=pV(),{reconnect:i}=x8e();if(!kd(t))return null;const o=a=>{e(t.id,a),i==="true"&&n(t.id),r()};return m.jsx(Sf,{children:m.jsxs(vV,{title:m.jsxs("h5",{className:"mb-0",children:['Edit "',t.name,'"']}),initialValues:t,onSubmit:o,children:[m.jsx(Ye,{outline:!0,className:"me-2",onClick:r,children:"Cancel"}),m.jsx(Ye,{outline:!0,color:"primary",children:"Save"})]})})}),C8e=_i(P8e,["ServerError"]),D$=(e,{url:t,apiKey:n})=>e.some(r=>r.url===t&&r.apiKey===n),bV=({createServers:e,servers:t,children:n,onImport:r=()=>{},onImportError:i=()=>{},tooltipPlacement:o="bottom",className:a=""})=>{const{ServersImporter:s}=bi(bV),l=sa(),[u,f]=R.useState([]),[d,,h,v]=Zt(),g=R.useRef([]),y=R.useCallback(w=>{e(w),r()},[e,r]),x=R.useCallback(async({target:w})=>{var O;return s.importServersFromFile((O=w.files)==null?void 0:O[0]).then(E=>{g.current=E;const P=Object.values(t),T=E.filter(D=>D$(P,D)),A=!!T.length;A?f(T):y(E),A&&h()}).then(()=>{w.value=null}).catch(i)},[y,i,t,s,h]),_=R.useCallback(()=>{y(g.current),v()},[y,v,g]),b=R.useCallback(()=>{y(g.current.filter(w=>!D$(u,w))),v()},[y,u,v]);return m.jsxs(m.Fragment,{children:[m.jsxs(Ye,{outline:!0,id:"importBtn",className:a,onClick:()=>{var w;return(w=l.current)==null?void 0:w.click()},children:[m.jsx(je,{icon:fZ,fixedWidth:!0})," ",n??"Import from file"]}),m.jsxs(Cr,{placement:o,target:"importBtn",children:["You can create servers by importing a CSV file with ",m.jsx("b",{children:"name"}),", ",m.jsx("b",{children:"apiKey"})," and ",m.jsx("b",{children:"url"})," columns."]}),m.jsx("input",{type:"file",accept:".csv",className:"d-none",ref:l,onChange:x,"aria-hidden":!0}),m.jsx(mV,{isOpen:d,duplicatedServers:u,onDiscard:b,onSave:_})]})},T8e=_i(bV,["ServersImporter"]),_V=({servers:e,selectedServer:t})=>{const{DeleteServerButton:n}=bi(_V);return m.jsx(Sf,{children:m.jsxs("div",{className:"server-error__container flex-column",children:[m.jsxs(Qo,{className:"w-100 mb-3 mb-md-5",type:"error",fullWidth:!0,children:[!kd(t)&&"Could not find this Shlink server.",kd(t)&&m.jsxs(m.Fragment,{children:[m.jsx("p",{children:"Oops! Could not connect to this Shlink server."}),"Make sure you have internet connection, and the server is properly configured and on-line."]})]}),m.jsx(aV,{servers:Object.values(e),children:m.jsxs("p",{className:"mb-md-3",children:["These are the Shlink servers currently configured. Choose one of them or ",m.jsx(Pt,{to:"/server/create",children:"add a new one"}),"."]})}),kd(t)&&m.jsx("div",{className:"container mt-3 mt-md-5",children:m.jsxs("p",{className:"fs-5 fw-normal lh-sm",children:["Alternatively, if you think you may have miss-configured this server, you can ",m.jsx(n,{server:t,className:"server-error__delete-btn",children:"remove it"})," or ",m.jsx(Pt,{to:`/server/${t.id}/edit?reconnect=true`,children:"edit it"}),"."]})})]})})},j8e=_i(_V,["DeleteServerButton"]),A8e=4e3,xV=({servers:e})=>{const{ServersExporter:t,ImportServersBtn:n,useTimeoutToggle:r,ManageServersRow:i}=bi(xV),o=Object.values(e),[a,s]=R.useState(o),l=h=>s(o.filter(({name:v,url:g})=>`${v} ${g}`.toLowerCase().match(h.toLowerCase()))),u=a.some(({autoConnect:h})=>!!h),[f,d]=r(!1,A8e);return R.useEffect(()=>{s(Object.values(e))},[e]),m.jsxs(Sf,{children:[m.jsx(zp,{className:"mb-3",onChange:l}),m.jsxs(nr,{className:"mb-3",children:[m.jsxs("div",{className:"col-md-6 d-flex d-md-block mb-2 mb-md-0",children:[m.jsx(n,{className:"flex-fill",onImportError:d,children:"Import servers"}),o.length>0&&m.jsxs(Ye,{outline:!0,className:"ms-2 flex-fill",onClick:async()=>t.exportServers(),children:[m.jsx(je,{icon:FD,fixedWidth:!0})," Export servers"]})]}),m.jsx("div",{className:"col-md-6 text-md-end d-flex d-md-block",children:m.jsxs(Ye,{outline:!0,color:"primary",className:"flex-fill",tag:Pt,to:"/server/create",children:[m.jsx(je,{icon:jp,fixedWidth:!0})," Add a server"]})})]}),m.jsx(St,{children:m.jsxs("table",{className:"table table-hover responsive-table mb-0",children:[m.jsx("thead",{className:"responsive-table__header",children:m.jsxs("tr",{children:[u&&m.jsx("th",{style:{width:"50px"},children:m.jsx("span",{className:"sr-only",children:"Auto-connect"})}),m.jsx("th",{children:"Name"}),m.jsx("th",{children:"Base URL"}),m.jsx("th",{children:m.jsx("span",{className:"sr-only",children:"Options"})})]})}),m.jsxs("tbody",{children:[!a.length&&m.jsx("tr",{className:"text-center",children:m.jsx("td",{colSpan:4,children:"No servers found."})}),a.map(h=>m.jsx(i,{server:h,hasAutoConnect:u},h.id))]})]})}),f&&m.jsx("div",{className:"mt-3",children:m.jsx(lr,{type:"error",children:"The servers could not be imported. Make sure the format is correct."})})]})},k8e=_i(xV,["ServersExporter","ImportServersBtn","useTimeoutToggle","ManageServersRow"]),wV=({server:e,hasAutoConnect:t})=>{const{ManageServersRowDropdown:n}=bi(wV);return m.jsxs("tr",{className:"responsive-table__row",children:[t&&m.jsx("td",{className:"responsive-table__cell","data-th":"Auto-connect",children:e.autoConnect&&m.jsxs(m.Fragment,{children:[m.jsx(je,{icon:yh,className:"text-primary",id:"autoConnectIcon"}),m.jsx(Cr,{target:"autoConnectIcon",placement:"right",children:"Auto-connect to this server"})]})}),m.jsx("th",{className:"responsive-table__cell","data-th":"Name",children:m.jsx(Pt,{to:`/server/${e.id}`,children:e.name})}),m.jsx("td",{className:"responsive-table__cell","data-th":"Base URL",children:e.url}),m.jsx("td",{className:"responsive-table__cell text-end",children:m.jsx(n,{server:e})})]})},N8e=_i(wV,["ManageServersRowDropdown"]),SV=({server:e,setAutoConnect:t})=>{const{DeleteServerModal:n}=bi(SV),[r,,i,o]=Zt(),a=`/server/${e.id}`,{autoConnect:s}=e,l=s?uZ:yfe;return m.jsxs(lb,{minWidth:s?210:170,children:[m.jsxs(Ne,{tag:Pt,to:a,children:[m.jsx(je,{icon:sZ,fixedWidth:!0})," Connect"]}),m.jsxs(Ne,{tag:Pt,to:`${a}/edit`,children:[m.jsx(je,{icon:fP,fixedWidth:!0})," Edit server"]}),m.jsxs(Ne,{onClick:()=>t(e,!s),children:[m.jsx(je,{icon:l,fixedWidth:!0})," ",s?"Do not a":"A","uto-connect"]}),m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsxs(Ne,{className:"dropdown-item--danger",onClick:i,children:[m.jsx(je,{icon:cP,fixedWidth:!0})," Remove server"]}),m.jsx(n,{redirectHome:!1,server:e,isOpen:r,toggle:o})]})},M8e=_i(SV,["DeleteServerModal"]),OV=(e,t)=>nF(e,t,{serializeError:n=>n}),R8e={},L8e=e=>"id"in e?e:{...e,id:HP()},$8e=e=>e.reduce((t,n)=>({...t,[n.id]:n}),{}),{actions:I8e,reducer:D8e}=nn({name:"shlink/servers",initialState:R8e,reducers:{editServer:{prepare:(e,t)=>({payload:{serverId:e,serverData:t}}),reducer:(e,{payload:t})=>{const{serverId:n,serverData:r}=t;return e[n]?{...e,[n]:{...e[n],...r}}:e}},deleteServer:(e,{payload:t})=>{const{[t.id]:n,...r}=e;return r},setAutoConnect:{prepare:({id:e},t)=>({payload:{serverId:e,autoConnect:t}}),reducer:(e,{payload:t})=>{const{serverId:n,autoConnect:r}=t;return e[n]?r?Object.fromEntries(Object.entries(e).map(([i,o])=>[i,{...o,autoConnect:i===n}])):{...e,[n]:{...e[n],autoConnect:r}}:e}},createServers:{prepare:e=>({payload:$8e(e.map(L8e))}),reducer:(e,{payload:t})=>({...e,...t})}}}),{editServer:F8e,deleteServer:B8e,setAutoConnect:U8e,createServers:EV}=I8e,z8e=D8e,V8e=e=>Array.isArray(e)?e.filter(MD):[],W8e=e=>OV("shlink/remoteServers/fetchServers",async(t,{dispatch:n})=>{const r=await e.jsonRequest(`${$g.homepage}/servers.json`),i=V8e(r);n(EV(i))}),KT="shlink/selectedServer",H8e="1.0.0",G8e="999.999.999",q8e="latest",K8e=e=>fV(e===q8e?G8e:e,H8e),Y8e=iF(e=>`${e.id}_${e.url}_${e.apiKey}`,async(e,t)=>t().then(({version:n})=>({version:K8e(n),printableVersion:cV(n)}))),F$=null,YT=mn(`${KT}/resetSelectedServer`),Z8e=e=>OV(`${KT}/selectServer`,async(t,{dispatch:n,getState:r})=>{n(YT());const{servers:i}=r(),o=i[t];if(!o)return{serverNotFound:!0};try{const a=e(o),{version:s,printableVersion:l}=await Y8e(o,()=>a.health());return{...o,version:s,printableVersion:l}}catch{return{...o,serverNotReachable:!0}}}),X8e=e=>nn({name:KT,initialState:F$,reducers:{},extraReducers:t=>{t.addCase(YT,()=>F$),t.addCase(e.fulfilled,(n,{payload:r})=>r)}}),Q8e=({servers:e,selectedServer:t})=>{const n=Object.values(e),r=()=>n.length===0?m.jsxs(Ne,{tag:Pt,to:"/server/create",children:[m.jsx(je,{icon:jp})," ",m.jsx("span",{className:"ms-1",children:"Add a server"})]}):m.jsxs(m.Fragment,{children:[n.map(({name:i,id:o})=>m.jsx(Ne,{tag:Pt,to:`/server/${o}`,active:GY(t)===o,children:i},o)),m.jsx(Ne,{divider:!0,tag:"hr"}),m.jsxs(Ne,{tag:Pt,to:"/manage-servers",children:[m.jsx(je,{icon:_k})," ",m.jsx("span",{className:"ms-1",children:"Manage servers"})]})]});return m.jsxs(Dp,{nav:!0,inNavbar:!0,children:[m.jsxs(Xc,{nav:!0,caret:!0,children:[m.jsx(je,{icon:_k})," ",m.jsx("span",{className:"ms-1",children:"Servers"})]}),m.jsx(Zc,{end:!0,style:{right:0},children:r()})]})},J8e=({document:e},t,n)=>{const r=e.createElement("a");r.setAttribute("href",t),r.setAttribute("download",n),r.style.visibility="hidden",e.body.appendChild(r),r.click(),e.body.removeChild(r)},eFe=(e,t,n)=>{const r=new Blob([t],{type:"text/csv;charset=utf-8;"}),i=URL.createObjectURL(r);J8e(e,i,n)},tFe="shlink-servers.csv";class nFe{constructor(t,n,r){Jl(this,"exportServers",async()=>{const t=Object.values(this.storage.get("servers")??{}).map(qY);try{const n=this.jsonToCsv(t);eFe(this.window,n,tFe)}catch(n){console.error(n)}});this.storage=t,this.window=n,this.jsonToCsv=r}}const rFe=e=>typeof e.url=="string"&&typeof e.apiKey=="string"&&typeof e.name=="string",iFe=e=>Array.isArray(e)&&e.every(rFe);class oFe{constructor(t){this.csvToJson=t}async importServersFromFile(t){if(!t)throw new Error("No file provided");const n=await t.text(),r=await this.csvToJson(n);if(!iFe(r))throw new Error("Provided file does not have the right format.");return r}}const aFe=(e,t)=>{e.factory("ManageServers",k8e),e.decorator("ManageServers",T0),e.decorator("ManageServers",t(["selectedServer","servers"],["resetSelectedServer"])),e.factory("ManageServersRow",N8e),e.factory("ManageServersRowDropdown",M8e),e.decorator("ManageServersRowDropdown",t(null,["setAutoConnect"])),e.factory("CreateServer",S8e),e.decorator("CreateServer",T0),e.decorator("CreateServer",t(["selectedServer","servers"],["createServers","resetSelectedServer"])),e.factory("EditServer",C8e),e.decorator("EditServer",t(["selectedServer"],["editServer","selectServer","resetSelectedServer"])),e.serviceFactory("ServersDropdown",()=>Q8e),e.decorator("ServersDropdown",t(["servers","selectedServer"])),e.serviceFactory("DeleteServerModal",()=>E8e),e.decorator("DeleteServerModal",t(null,["deleteServer"])),e.factory("DeleteServerButton",O8e),e.factory("ImportServersBtn",T8e),e.decorator("ImportServersBtn",t(["servers"],["createServers"])),e.factory("ServerError",j8e),e.decorator("ServerError",t(["servers","selectedServer"])),e.service("ServersImporter",oFe,"csvToJson"),e.service("ServersExporter",nFe,"Storage","window","jsonToCsv"),e.serviceFactory("selectServer",Z8e,"buildShlinkApiClient","loadMercureInfo"),e.serviceFactory("createServers",()=>EV),e.serviceFactory("deleteServer",()=>B8e),e.serviceFactory("editServer",()=>F8e),e.serviceFactory("setAutoConnect",()=>U8e),e.serviceFactory("fetchServers",W8e,"HttpClient"),e.serviceFactory("resetSelectedServer",()=>YT),e.serviceFactory("selectedServerReducerCreator",X8e,"selectServer"),e.serviceFactory("selectedServerReducer",n=>n.reducer,"selectedServerReducerCreator")},gl=({children:e})=>m.jsx("small",{className:"form-text text-muted d-block",children:e}),sFe=e=>e?`${e}`:"",lFe=({settings:e,toggleRealTimeUpdates:t,setRealTimeUpdatesInterval:n})=>{const{realTimeUpdates:r={enabled:!0}}=e,i=sb();return m.jsxs(St,{title:"Real-time updates",className:"h-100",children:[m.jsx(so,{children:m.jsxs(Pl,{checked:r.enabled,onChange:t,children:["Enable or disable real-time updates.",m.jsxs(gl,{children:["Real-time updates are currently being ",m.jsx("b",{children:r.enabled?"processed":"ignored"}),"."]})]})}),m.jsxs(ef,{noMargin:!0,label:"Real-time updates frequency (in minutes):",labelClassName:Pe("form-label",{"text-muted":!r.enabled}),id:i,children:[m.jsx(Gn,{type:"number",min:0,placeholder:"Immediate",disabled:!r.enabled,value:sFe(r.interval),id:i,onChange:({target:o})=>n(Number(o.value))}),r.enabled&&m.jsxs(gl,{children:[r.interval!==void 0&&r.interval>0&&m.jsxs("span",{children:["Updates will be reflected in the UI every ",m.jsx("b",{children:r.interval})," minute",r.interval>1&&"s","."]}),!r.interval&&"Updates will be reflected in the UI as soon as they happen."]})]})]})},PV={field:"dateCreated",dir:"DESC"},uFe={realTimeUpdates:{enabled:!0},shortUrlCreation:{validateUrls:!1},ui:{theme:tC()},visits:{defaultInterval:"last30Days"},shortUrlsList:{defaultOrdering:PV}},cFe=(e,{payload:t})=>lC(e,t),Ls=e=>({reducer:cFe,prepare:e}),$s=e=>({payload:e}),{reducer:fFe,actions:dFe}=nn({name:"shlink/settings",initialState:uFe,reducers:{toggleRealTimeUpdates:Ls(e=>$s({realTimeUpdates:{enabled:e}})),setRealTimeUpdatesInterval:Ls(e=>$s({realTimeUpdates:{interval:e}})),setShortUrlCreationSettings:Ls(e=>$s({shortUrlCreation:e})),setShortUrlsListSettings:Ls(e=>$s({shortUrlsList:e})),setUiSettings:Ls(e=>$s({ui:e})),setVisitsSettings:Ls(e=>$s({visits:e})),setTagsSettings:Ls(e=>$s({tags:e}))}}),{toggleRealTimeUpdates:hFe,setRealTimeUpdatesInterval:pFe,setShortUrlCreationSettings:mFe,setShortUrlsListSettings:vFe,setUiSettings:gFe,setVisitsSettings:yFe,setTagsSettings:bFe}=dFe,_Fe=fFe,Ex=({items:e})=>m.jsx(m.Fragment,{children:e.map((t,n)=>m.jsx("div",{className:"mb-3",children:t},n))}),CV=()=>{const{RealTimeUpdatesSettings:e,ShortUrlCreationSettings:t,ShortUrlsListSettings:n,UserInterfaceSettings:r,VisitsSettings:i,TagsSettings:o}=bi(CV);return m.jsxs(Sf,{children:[m.jsxs($8,{className:"mb-3",children:[m.jsx(Bd,{to:"general",children:"General"}),m.jsx(Bd,{to:"short-urls",children:"Short URLs"}),m.jsx(Bd,{to:"other-items",children:"Other items"})]}),m.jsxs(Y0,{children:[m.jsx(lt,{path:"general",element:m.jsx(Ex,{items:[m.jsx(r,{}),m.jsx(e,{})]})}),m.jsx(lt,{path:"short-urls",element:m.jsx(Ex,{items:[m.jsx(t,{}),m.jsx(n,{})]})}),m.jsx(lt,{path:"other-items",element:m.jsx(Ex,{items:[m.jsx(o,{}),m.jsx(i,{})]})}),m.jsx(lt,{path:"*",element:m.jsx(iP,{replace:!0,to:"general"})})]})]})},xFe=_i(CV,["RealTimeUpdatesSettings","ShortUrlCreationSettings","ShortUrlsListSettings","UserInterfaceSettings","VisitsSettings","TagsSettings"]),Px=e=>e==="includes"?"Suggest tags including input":"Suggest tags starting with input",wFe=e=>e==="includes"?m.jsxs(m.Fragment,{children:["The list of suggested tags will contain those ",m.jsx("b",{children:"including"})," provided input."]}):m.jsxs(m.Fragment,{children:["The list of suggested tags will contain those ",m.jsx("b",{children:"starting with"})," provided input."]}),SFe=({settings:e,setShortUrlCreationSettings:t})=>{const n=e.shortUrlCreation??{validateUrls:!1},r=i=>()=>t({...n??{validateUrls:!1},tagFilteringMode:i});return m.jsxs(St,{title:"Short URLs form",className:"h-100",children:[m.jsx(so,{children:m.jsxs(Pl,{checked:n.validateUrls??!1,onChange:i=>t({...n,validateUrls:i}),children:["Request validation on long URLs when creating new short URLs."," ",m.jsxs("b",{children:["This option is ignored by Shlink ",">=","4.0.0"]}),m.jsxs(gl,{children:["The initial state of the ",m.jsx("b",{children:"Validate URL"})," checkbox will be ",m.jsx("b",{children:n.validateUrls?"checked":"unchecked"}),"."]})]})}),m.jsx(so,{children:m.jsxs(Pl,{checked:n.forwardQuery??!0,onChange:i=>t({...n,forwardQuery:i}),children:["Make all new short URLs forward their query params to the long URL.",m.jsxs(gl,{children:["The initial state of the ",m.jsx("b",{children:"Forward query params on redirect"})," checkbox will be ",m.jsx("b",{children:n.forwardQuery??!0?"checked":"unchecked"}),"."]})]})}),m.jsxs(ef,{noMargin:!0,label:"Tag suggestions search mode:",children:[m.jsxs(la,{text:Px(n.tagFilteringMode),children:[m.jsx(Ne,{active:!n.tagFilteringMode||n.tagFilteringMode==="startsWith",onClick:r("startsWith"),children:Px("startsWith")}),m.jsx(Ne,{active:n.tagFilteringMode==="includes",onClick:r("includes"),children:Px("includes")})]}),m.jsx(gl,{children:wFe(n.tagFilteringMode)})]})]})},OFe={dateCreated:"Created at",shortCode:"Short URL",longUrl:"Long URL",title:"Title",visits:"Visits"},EFe=({settings:{shortUrlsList:e},setShortUrlsListSettings:t})=>m.jsx(St,{title:"Short URLs list",className:"h-100",children:m.jsx(ef,{noMargin:!0,label:"Default ordering for short URLs list:",children:m.jsx(Vp,{items:OFe,order:(e==null?void 0:e.defaultOrdering)??PV,onChange:(n,r)=>t({defaultOrdering:{field:n,dir:r}})})})}),PFe={tag:"Tag",shortUrls:"Short URLs",visits:"Visits"},CFe=({settings:{tags:e},setTagsSettings:t})=>m.jsx(St,{title:"Tags",className:"h-100",children:m.jsx(ef,{noMargin:!0,label:"Default ordering for tags list:",children:m.jsx(Vp,{items:PFe,order:(e==null?void 0:e.defaultOrdering)??{},onChange:(n,r)=>t({...e,defaultOrdering:{field:n,dir:r}})})})}),TFe=({settings:{ui:e},setUiSettings:t,_matchMedia:n})=>{const r=R.useMemo(()=>(e==null?void 0:e.theme)??tC(n),[e==null?void 0:e.theme,n]);return m.jsxs(St,{title:"User interface",className:"h-100",children:[m.jsx(je,{icon:r==="dark"?qZ:RZ,className:"user-interface__theme-icon"}),m.jsx(Pl,{checked:r==="dark",onChange:i=>{t({...e,theme:i?"dark":"light"})},children:"Use dark theme."})]})},TV={today:"Today",yesterday:"Yesterday",last7Days:"Last 7 days",last30Days:"Last 30 days",last90Days:"Last 90 days",last180Days:"Last 180 days",last365Days:"Last 365 days"},jFe=(e,t)=>!e||e==="all"?t:TV[e],AFe=({onChange:e,active:t,allText:n})=>m.jsxs(la,{text:jFe(t,n),children:[m.jsx(Ne,{active:t==="all",onClick:()=>e("all"),children:n}),m.jsx(Ne,{divider:!0}),Object.entries(TV).map(([r,i])=>m.jsx(Ne,{active:t===r,onClick:()=>e(r),children:i},r))]}),B$=e=>{var t;return((t=e.visits)==null?void 0:t.defaultInterval)??"last30Days"},kFe=({settings:e,setVisitsSettings:t})=>{var r,i,o,a;const n=R.useCallback(({defaultInterval:s,...l})=>t({defaultInterval:s??B$(e),...l}),[t,e]);return m.jsxs(St,{title:"Visits",className:"h-100",children:[m.jsx(so,{children:m.jsxs(Pl,{checked:!!((r=e.visits)!=null&&r.excludeBots),onChange:s=>n({excludeBots:s}),children:["Exclude bots wherever possible (this option‘s effect might depend on Shlink server‘s version).",m.jsxs(gl,{children:["The visits coming from potential bots will be ",m.jsx("b",{children:(i=e.visits)!=null&&i.excludeBots?"excluded":"included"}),"."]})]})}),m.jsx(so,{children:m.jsxs(Pl,{checked:!!((o=e.visits)!=null&&o.loadPrevInterval),onChange:s=>n({loadPrevInterval:s}),children:["Compare visits with previous period.",m.jsxs(gl,{children:["When loading visits, previous period ",m.jsx("b",{children:(a=e.visits)!=null&&a.loadPrevInterval?"will":"won't"})," be loaded by default."]})]})}),m.jsx(ef,{noMargin:!0,label:"Default interval to load on visits sections:",children:m.jsx(AFe,{allText:"All visits",active:B$(e),onChange:s=>n({defaultInterval:s})})})]})},NFe=(e,t)=>{e.factory("Settings",xFe),e.decorator("Settings",T0),e.decorator("Settings",t(null,["resetSelectedServer"])),e.serviceFactory("RealTimeUpdatesSettings",()=>lFe),e.decorator("RealTimeUpdatesSettings",t(["settings"],["toggleRealTimeUpdates","setRealTimeUpdatesInterval"])),e.serviceFactory("ShortUrlCreationSettings",()=>SFe),e.decorator("ShortUrlCreationSettings",t(["settings"],["setShortUrlCreationSettings"])),e.serviceFactory("UserInterfaceSettings",()=>TFe),e.decorator("UserInterfaceSettings",t(["settings"],["setUiSettings"])),e.serviceFactory("VisitsSettings",()=>kFe),e.decorator("VisitsSettings",t(["settings"],["setVisitsSettings"])),e.serviceFactory("TagsSettings",()=>CFe),e.decorator("TagsSettings",t(["settings"],["setTagsSettings"])),e.serviceFactory("ShortUrlsListSettings",()=>EFe),e.decorator("ShortUrlsListSettings",t(["settings"],["setShortUrlsListSettings"])),e.serviceFactory("toggleRealTimeUpdates",()=>hFe),e.serviceFactory("setRealTimeUpdatesInterval",()=>pFe),e.serviceFactory("setShortUrlCreationSettings",()=>mFe),e.serviceFactory("setShortUrlsListSettings",()=>vFe),e.serviceFactory("setUiSettings",()=>gFe),e.serviceFactory("setVisitsSettings",()=>yFe),e.serviceFactory("setTagsSettings",()=>bFe)};var MFe=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(r,i,o){n.o(r,i)||Object.defineProperty(r,i,{enumerable:!0,get:o})},n.r=function(r){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},n.t=function(r,i){if(1&i&&(r=n(r)),8&i||4&i&&typeof r=="object"&&r&&r.__esModule)return r;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:r}),2&i&&typeof r!="string")for(var a in r)n.d(o,a,(function(s){return r[s]}).bind(null,a));return o},n.n=function(r){var i=r&&r.__esModule?function(){return r.default}:function(){return r};return n.d(i,"a",i),i},n.o=function(r,i){return Object.prototype.hasOwnProperty.call(r,i)},n.p="",n(n.s=32)}([function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch{typeof window=="object"&&(n=window)}e.exports=n},function(e,t,n){var r=n(6),i=Object.keys||function(g){var y=[];for(var x in g)y.push(x);return y};e.exports=d;var o=n(5);o.inherits=n(2);var a=n(23),s=n(14);o.inherits(d,a);for(var l=i(s.prototype),u=0;u + * @license MIT + */var i=n(38),o=n(39),a=n(40);function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function l(j,N){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|j}function y(j,N){if(u.isBuffer(j))return j.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(j)||j instanceof ArrayBuffer))return j.byteLength;typeof j!="string"&&(j=""+j);var U=j.length;if(U===0)return 0;for(var J=!1;;)switch(N){case"ascii":case"latin1":case"binary":return U;case"utf8":case"utf-8":case void 0:return ie(j).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*U;case"hex":return U>>>1;case"base64":return ae(j).length;default:if(J)return ie(j).length;N=(""+N).toLowerCase(),J=!0}}function x(j,N,U){var J=j[N];j[N]=j[U],j[U]=J}function _(j,N,U,J,Y){if(j.length===0)return-1;if(typeof U=="string"?(J=U,U=0):U>2147483647?U=2147483647:U<-2147483648&&(U=-2147483648),U=+U,isNaN(U)&&(U=Y?0:j.length-1),U<0&&(U=j.length+U),U>=j.length){if(Y)return-1;U=j.length-1}else if(U<0){if(!Y)return-1;U=0}if(typeof N=="string"&&(N=u.from(N,J)),u.isBuffer(N))return N.length===0?-1:b(j,N,U,J,Y);if(typeof N=="number")return N&=255,u.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?Y?Uint8Array.prototype.indexOf.call(j,N,U):Uint8Array.prototype.lastIndexOf.call(j,N,U):b(j,[N],U,J,Y);throw new TypeError("val must be string, number or Buffer")}function b(j,N,U,J,Y){var oe,he=1,Oe=j.length,se=N.length;if(J!==void 0&&((J=String(J).toLowerCase())==="ucs2"||J==="ucs-2"||J==="utf16le"||J==="utf-16le")){if(j.length<2||N.length<2)return-1;he=2,Oe/=2,se/=2,U/=2}function pe(Ce,Ae){return he===1?Ce[Ae]:Ce.readUInt16BE(Ae*he)}if(Y){var me=-1;for(oe=U;oeOe&&(U=Oe-se),oe=U;oe>=0;oe--){for(var xe=!0,Te=0;TeY&&(J=Y):J=Y;var oe=N.length;if(oe%2!=0)throw new TypeError("Invalid hex string");J>oe/2&&(J=oe/2);for(var he=0;he>8,se=he%256,pe.push(se),pe.push(Oe);return pe}(N,j.length-U),j,U,J)}function D(j,N,U){return N===0&&U===j.length?i.fromByteArray(j):i.fromByteArray(j.slice(N,U))}function k(j,N,U){U=Math.min(j.length,U);for(var J=[],Y=N;Y239?4:pe>223?3:pe>191?2:1;if(Y+xe<=U)switch(xe){case 1:pe<128&&(me=pe);break;case 2:(192&(oe=j[Y+1]))==128&&(se=(31&pe)<<6|63&oe)>127&&(me=se);break;case 3:oe=j[Y+1],he=j[Y+2],(192&oe)==128&&(192&he)==128&&(se=(15&pe)<<12|(63&oe)<<6|63&he)>2047&&(se<55296||se>57343)&&(me=se);break;case 4:oe=j[Y+1],he=j[Y+2],Oe=j[Y+3],(192&oe)==128&&(192&he)==128&&(192&Oe)==128&&(se=(15&pe)<<18|(63&oe)<<12|(63&he)<<6|63&Oe)>65535&&se<1114112&&(me=se)}me===null?(me=65533,xe=1):me>65535&&(me-=65536,J.push(me>>>10&1023|55296),me=56320|1023&me),J.push(me),Y+=xe}return function(Te){var Ce=Te.length;if(Ce<=I)return String.fromCharCode.apply(String,Te);for(var Ae="",le=0;lethis.length||((J===void 0||J>this.length)&&(J=this.length),J<=0)||(J>>>=0)<=(U>>>=0))return"";for(N||(N="utf8");;)switch(N){case"hex":return W(this,U,J);case"utf8":case"utf-8":return k(this,U,J);case"ascii":return F(this,U,J);case"latin1":case"binary":return q(this,U,J);case"base64":return D(this,U,J);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return X(this,U,J);default:if(Y)throw new TypeError("Unknown encoding: "+N);N=(N+"").toLowerCase(),Y=!0}}).apply(this,arguments)},u.prototype.equals=function(j){if(!u.isBuffer(j))throw new TypeError("Argument must be a Buffer");return this===j||u.compare(this,j)===0},u.prototype.inspect=function(){var j="",N=t.INSPECT_MAX_BYTES;return this.length>0&&(j=this.toString("hex",0,N).match(/.{2}/g).join(" "),this.length>N&&(j+=" ... ")),""},u.prototype.compare=function(j,N,U,J,Y){if(!u.isBuffer(j))throw new TypeError("Argument must be a Buffer");if(N===void 0&&(N=0),U===void 0&&(U=j?j.length:0),J===void 0&&(J=0),Y===void 0&&(Y=this.length),N<0||U>j.length||J<0||Y>this.length)throw new RangeError("out of range index");if(J>=Y&&N>=U)return 0;if(J>=Y)return-1;if(N>=U)return 1;if(N>>>=0,U>>>=0,J>>>=0,Y>>>=0,this===j)return 0;for(var oe=Y-J,he=U-N,Oe=Math.min(oe,he),se=this.slice(J,Y),pe=j.slice(N,U),me=0;meY)&&(U=Y),j.length>0&&(U<0||N<0)||N>this.length)throw new RangeError("Attempt to write outside buffer bounds");J||(J="utf8");for(var oe=!1;;)switch(J){case"hex":return w(this,j,N,U);case"utf8":case"utf-8":return O(this,j,N,U);case"ascii":return E(this,j,N,U);case"latin1":case"binary":return P(this,j,N,U);case"base64":return T(this,j,N,U);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,j,N,U);default:if(oe)throw new TypeError("Unknown encoding: "+J);J=(""+J).toLowerCase(),oe=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function F(j,N,U){var J="";U=Math.min(j.length,U);for(var Y=N;YJ)&&(U=J);for(var Y="",oe=N;oeU)throw new RangeError("Trying to access beyond buffer length")}function ne(j,N,U,J,Y,oe){if(!u.isBuffer(j))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Y||Nj.length)throw new RangeError("Index out of range")}function Z(j,N,U,J){N<0&&(N=65535+N+1);for(var Y=0,oe=Math.min(j.length-U,2);Y>>8*(J?Y:1-Y)}function z(j,N,U,J){N<0&&(N=4294967295+N+1);for(var Y=0,oe=Math.min(j.length-U,4);Y>>8*(J?Y:3-Y)&255}function B(j,N,U,J,Y,oe){if(U+J>j.length)throw new RangeError("Index out of range");if(U<0)throw new RangeError("Index out of range")}function H(j,N,U,J,Y){return Y||B(j,0,U,4),o.write(j,N,U,J,23,4),U+4}function ee(j,N,U,J,Y){return Y||B(j,0,U,8),o.write(j,N,U,J,52,8),U+8}u.prototype.slice=function(j,N){var U,J=this.length;if(j=~~j,N=N===void 0?J:~~N,j<0?(j+=J)<0&&(j=0):j>J&&(j=J),N<0?(N+=J)<0&&(N=0):N>J&&(N=J),N0&&(Y*=256);)J+=this[j+--N]*Y;return J},u.prototype.readUInt8=function(j,N){return N||Q(j,1,this.length),this[j]},u.prototype.readUInt16LE=function(j,N){return N||Q(j,2,this.length),this[j]|this[j+1]<<8},u.prototype.readUInt16BE=function(j,N){return N||Q(j,2,this.length),this[j]<<8|this[j+1]},u.prototype.readUInt32LE=function(j,N){return N||Q(j,4,this.length),(this[j]|this[j+1]<<8|this[j+2]<<16)+16777216*this[j+3]},u.prototype.readUInt32BE=function(j,N){return N||Q(j,4,this.length),16777216*this[j]+(this[j+1]<<16|this[j+2]<<8|this[j+3])},u.prototype.readIntLE=function(j,N,U){j|=0,N|=0,U||Q(j,N,this.length);for(var J=this[j],Y=1,oe=0;++oe=(Y*=128)&&(J-=Math.pow(2,8*N)),J},u.prototype.readIntBE=function(j,N,U){j|=0,N|=0,U||Q(j,N,this.length);for(var J=N,Y=1,oe=this[j+--J];J>0&&(Y*=256);)oe+=this[j+--J]*Y;return oe>=(Y*=128)&&(oe-=Math.pow(2,8*N)),oe},u.prototype.readInt8=function(j,N){return N||Q(j,1,this.length),128&this[j]?-1*(255-this[j]+1):this[j]},u.prototype.readInt16LE=function(j,N){N||Q(j,2,this.length);var U=this[j]|this[j+1]<<8;return 32768&U?4294901760|U:U},u.prototype.readInt16BE=function(j,N){N||Q(j,2,this.length);var U=this[j+1]|this[j]<<8;return 32768&U?4294901760|U:U},u.prototype.readInt32LE=function(j,N){return N||Q(j,4,this.length),this[j]|this[j+1]<<8|this[j+2]<<16|this[j+3]<<24},u.prototype.readInt32BE=function(j,N){return N||Q(j,4,this.length),this[j]<<24|this[j+1]<<16|this[j+2]<<8|this[j+3]},u.prototype.readFloatLE=function(j,N){return N||Q(j,4,this.length),o.read(this,j,!0,23,4)},u.prototype.readFloatBE=function(j,N){return N||Q(j,4,this.length),o.read(this,j,!1,23,4)},u.prototype.readDoubleLE=function(j,N){return N||Q(j,8,this.length),o.read(this,j,!0,52,8)},u.prototype.readDoubleBE=function(j,N){return N||Q(j,8,this.length),o.read(this,j,!1,52,8)},u.prototype.writeUIntLE=function(j,N,U,J){j=+j,N|=0,U|=0,J||ne(this,j,N,U,Math.pow(2,8*U)-1,0);var Y=1,oe=0;for(this[N]=255&j;++oe=0&&(oe*=256);)this[N+Y]=j/oe&255;return N+U},u.prototype.writeUInt8=function(j,N,U){return j=+j,N|=0,U||ne(this,j,N,1,255,0),u.TYPED_ARRAY_SUPPORT||(j=Math.floor(j)),this[N]=255&j,N+1},u.prototype.writeUInt16LE=function(j,N,U){return j=+j,N|=0,U||ne(this,j,N,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[N]=255&j,this[N+1]=j>>>8):Z(this,j,N,!0),N+2},u.prototype.writeUInt16BE=function(j,N,U){return j=+j,N|=0,U||ne(this,j,N,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[N]=j>>>8,this[N+1]=255&j):Z(this,j,N,!1),N+2},u.prototype.writeUInt32LE=function(j,N,U){return j=+j,N|=0,U||ne(this,j,N,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[N+3]=j>>>24,this[N+2]=j>>>16,this[N+1]=j>>>8,this[N]=255&j):z(this,j,N,!0),N+4},u.prototype.writeUInt32BE=function(j,N,U){return j=+j,N|=0,U||ne(this,j,N,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[N]=j>>>24,this[N+1]=j>>>16,this[N+2]=j>>>8,this[N+3]=255&j):z(this,j,N,!1),N+4},u.prototype.writeIntLE=function(j,N,U,J){if(j=+j,N|=0,!J){var Y=Math.pow(2,8*U-1);ne(this,j,N,U,Y-1,-Y)}var oe=0,he=1,Oe=0;for(this[N]=255&j;++oe>0)-Oe&255;return N+U},u.prototype.writeIntBE=function(j,N,U,J){if(j=+j,N|=0,!J){var Y=Math.pow(2,8*U-1);ne(this,j,N,U,Y-1,-Y)}var oe=U-1,he=1,Oe=0;for(this[N+oe]=255&j;--oe>=0&&(he*=256);)j<0&&Oe===0&&this[N+oe+1]!==0&&(Oe=1),this[N+oe]=(j/he>>0)-Oe&255;return N+U},u.prototype.writeInt8=function(j,N,U){return j=+j,N|=0,U||ne(this,j,N,1,127,-128),u.TYPED_ARRAY_SUPPORT||(j=Math.floor(j)),j<0&&(j=255+j+1),this[N]=255&j,N+1},u.prototype.writeInt16LE=function(j,N,U){return j=+j,N|=0,U||ne(this,j,N,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[N]=255&j,this[N+1]=j>>>8):Z(this,j,N,!0),N+2},u.prototype.writeInt16BE=function(j,N,U){return j=+j,N|=0,U||ne(this,j,N,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[N]=j>>>8,this[N+1]=255&j):Z(this,j,N,!1),N+2},u.prototype.writeInt32LE=function(j,N,U){return j=+j,N|=0,U||ne(this,j,N,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[N]=255&j,this[N+1]=j>>>8,this[N+2]=j>>>16,this[N+3]=j>>>24):z(this,j,N,!0),N+4},u.prototype.writeInt32BE=function(j,N,U){return j=+j,N|=0,U||ne(this,j,N,4,2147483647,-2147483648),j<0&&(j=4294967295+j+1),u.TYPED_ARRAY_SUPPORT?(this[N]=j>>>24,this[N+1]=j>>>16,this[N+2]=j>>>8,this[N+3]=255&j):z(this,j,N,!1),N+4},u.prototype.writeFloatLE=function(j,N,U){return H(this,j,N,!0,U)},u.prototype.writeFloatBE=function(j,N,U){return H(this,j,N,!1,U)},u.prototype.writeDoubleLE=function(j,N,U){return ee(this,j,N,!0,U)},u.prototype.writeDoubleBE=function(j,N,U){return ee(this,j,N,!1,U)},u.prototype.copy=function(j,N,U,J){if(U||(U=0),J||J===0||(J=this.length),N>=j.length&&(N=j.length),N||(N=0),J>0&&J=this.length)throw new RangeError("sourceStart out of bounds");if(J<0)throw new RangeError("sourceEnd out of bounds");J>this.length&&(J=this.length),j.length-N=0;--Y)j[Y+N]=this[Y+U];else if(oe<1e3||!u.TYPED_ARRAY_SUPPORT)for(Y=0;Y>>=0,U=U===void 0?this.length:U>>>0,j||(j=0),typeof j=="number")for(oe=N;oe55295&&U<57344){if(!Y){if(U>56319){(N-=3)>-1&&oe.push(239,191,189);continue}if(he+1===J){(N-=3)>-1&&oe.push(239,191,189);continue}Y=U;continue}if(U<56320){(N-=3)>-1&&oe.push(239,191,189),Y=U;continue}U=65536+(Y-55296<<10|U-56320)}else Y&&(N-=3)>-1&&oe.push(239,191,189);if(Y=null,U<128){if((N-=1)<0)break;oe.push(U)}else if(U<2048){if((N-=2)<0)break;oe.push(U>>6|192,63&U|128)}else if(U<65536){if((N-=3)<0)break;oe.push(U>>12|224,U>>6&63|128,63&U|128)}else{if(!(U<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;oe.push(U>>18|240,U>>12&63|128,U>>6&63|128,63&U|128)}}return oe}function ae(j){return i.toByteArray(function(N){if((N=function(U){return U.trim?U.trim():U.replace(/^\s+|\s+$/g,"")}(N).replace(K,"")).length<2)return"";for(;N.length%4!=0;)N+="=";return N}(j))}function fe(j,N,U,J){for(var Y=0;Y=N.length||Y>=j.length);++Y)N[Y+U]=j[Y];return Y}}).call(this,n(0))},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(x){if(n===setTimeout)return setTimeout(x,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(x,0);try{return n(x,0)}catch{try{return n.call(null,x,0)}catch{return n.call(this,x,0)}}}(function(){try{n=typeof setTimeout=="function"?setTimeout:o}catch{n=o}try{r=typeof clearTimeout=="function"?clearTimeout:a}catch{r=a}})();var l,u=[],f=!1,d=-1;function h(){f&&l&&(f=!1,l.length?u=l.concat(u):d=-1,u.length&&v())}function v(){if(!f){var x=s(h);f=!0;for(var _=u.length;_;){for(l=u,u=[];++d<_;)l&&l[d].run();d=-1,_=u.length}l=null,f=!1,function(b){if(r===clearTimeout)return clearTimeout(b);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(b);try{r(b)}catch{try{return r.call(null,b)}catch{return r.call(this,b)}}}(x)}}function g(x,_){this.fun=x,this.array=_}function y(){}i.nextTick=function(x){var _=new Array(arguments.length-1);if(arguments.length>1)for(var b=1;b=0&&(s._idleTimeoutId=setTimeout(function(){s._onTimeout&&s._onTimeout()},l))},n(35),t.setImmediate=typeof self<"u"&&self.setImmediate||r!==void 0&&r.setImmediate||this&&this.setImmediate,t.clearImmediate=typeof self<"u"&&self.clearImmediate||r!==void 0&&r.clearImmediate||this&&this.clearImmediate}).call(this,n(0))},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(a){return typeof a=="function"}function i(a){return typeof a=="object"&&a!==null}function o(a){return a===void 0}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(a){if(!function(s){return typeof s=="number"}(a)||a<0||isNaN(a))throw TypeError("n must be a positive number");return this._maxListeners=a,this},n.prototype.emit=function(a){var s,l,u,f,d,h;if(this._events||(this._events={}),a==="error"&&(!this._events.error||i(this._events.error)&&!this._events.error.length)){if((s=arguments[1])instanceof Error)throw s;var v=new Error('Uncaught, unspecified "error" event. ('+s+")");throw v.context=s,v}if(o(l=this._events[a]))return!1;if(r(l))switch(arguments.length){case 1:l.call(this);break;case 2:l.call(this,arguments[1]);break;case 3:l.call(this,arguments[1],arguments[2]);break;default:f=Array.prototype.slice.call(arguments,1),l.apply(this,f)}else if(i(l))for(f=Array.prototype.slice.call(arguments,1),u=(h=l.slice()).length,d=0;d0&&this._events[a].length>l&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),typeof console.trace=="function"&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(a,s){if(!r(s))throw TypeError("listener must be a function");var l=!1;function u(){this.removeListener(a,u),l||(l=!0,s.apply(this,arguments))}return u.listener=s,this.on(a,u),this},n.prototype.removeListener=function(a,s){var l,u,f,d;if(!r(s))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(f=(l=this._events[a]).length,u=-1,l===s||r(l.listener)&&l.listener===s)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,s);else if(i(l)){for(d=f;d-- >0;)if(l[d]===s||l[d].listener&&l[d].listener===s){u=d;break}if(u<0)return this;l.length===1?(l.length=0,delete this._events[a]):l.splice(u,1),this._events.removeListener&&this.emit("removeListener",a,s)}return this},n.prototype.removeAllListeners=function(a){var s,l;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[a]&&delete this._events[a],this;if(arguments.length===0){for(s in this._events)s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events={},this}if(r(l=this._events[a]))this.removeListener(a,l);else if(l)for(;l.length;)this.removeListener(a,l[l.length-1]);return delete this._events[a],this},n.prototype.listeners=function(a){return this._events&&this._events[a]?r(this._events[a])?[this._events[a]]:this._events[a].slice():[]},n.prototype.listenerCount=function(a){if(this._events){var s=this._events[a];if(r(s))return 1;if(s)return s.length}return 0},n.listenerCount=function(a,s){return a.listenerCount(s)}},function(e,t,n){(t=e.exports=n(23)).Stream=t,t.Readable=t,t.Writable=n(14),t.Duplex=n(1),t.Transform=n(27),t.PassThrough=n(45)},function(e,t,n){(function(r,i,o){var a=n(6);function s(k){var I=this;this.next=null,this.entry=null,this.finish=function(){(function(F,q,W){var X=F.entry;for(F.entry=null;X;){var Q=X.callback;q.pendingcb--,Q(void 0),X=X.next}q.corkedRequestsFree?q.corkedRequestsFree.next=F:q.corkedRequestsFree=F})(I,k)}}e.exports=w;var l,u=!r.browser&&["v0.10","v0.9."].indexOf(r.version.slice(0,5))>-1?i:a.nextTick;w.WritableState=b;var f=n(5);f.inherits=n(2);var d,h={deprecate:n(44)},v=n(24),g=n(7).Buffer,y=o.Uint8Array||function(){},x=n(25);function _(){}function b(k,I){l=l||n(1),k=k||{};var F=I instanceof l;this.objectMode=!!k.objectMode,F&&(this.objectMode=this.objectMode||!!k.writableObjectMode);var q=k.highWaterMark,W=k.writableHighWaterMark,X=this.objectMode?16:16384;this.highWaterMark=q||q===0?q:F&&(W||W===0)?W:X,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var Q=k.decodeStrings===!1;this.decodeStrings=!Q,this.defaultEncoding=k.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(ne){(function(Z,z){var B=Z._writableState,H=B.sync,ee=B.writecb;if(function(te){te.writing=!1,te.writecb=null,te.length-=te.writelen,te.writelen=0}(B),z)(function(te,ie,ae,fe,j){--ie.pendingcb,ae?(a.nextTick(j,fe),a.nextTick(D,te,ie),te._writableState.errorEmitted=!0,te.emit("error",fe)):(j(fe),te._writableState.errorEmitted=!0,te.emit("error",fe),D(te,ie))})(Z,B,H,z,ee);else{var K=T(B);K||B.corked||B.bufferProcessing||!B.bufferedRequest||P(Z,B),H?u(E,Z,B,K,ee):E(Z,B,K,ee)}})(I,ne)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function w(k){if(l=l||n(1),!(d.call(w,this)||this instanceof l))return new w(k);this._writableState=new b(k,this),this.writable=!0,k&&(typeof k.write=="function"&&(this._write=k.write),typeof k.writev=="function"&&(this._writev=k.writev),typeof k.destroy=="function"&&(this._destroy=k.destroy),typeof k.final=="function"&&(this._final=k.final)),v.call(this)}function O(k,I,F,q,W,X,Q){I.writelen=q,I.writecb=Q,I.writing=!0,I.sync=!0,F?k._writev(W,I.onwrite):k._write(W,X,I.onwrite),I.sync=!1}function E(k,I,F,q){F||function(W,X){X.length===0&&X.needDrain&&(X.needDrain=!1,W.emit("drain"))}(k,I),I.pendingcb--,q(),D(k,I)}function P(k,I){I.bufferProcessing=!0;var F=I.bufferedRequest;if(k._writev&&F&&F.next){var q=I.bufferedRequestCount,W=new Array(q),X=I.corkedRequestsFree;X.entry=F;for(var Q=0,ne=!0;F;)W[Q]=F,F.isBuf||(ne=!1),F=F.next,Q+=1;W.allBuffers=ne,O(k,I,!0,I.length,W,"",X.finish),I.pendingcb++,I.lastBufferedRequest=null,X.next?(I.corkedRequestsFree=X.next,X.next=null):I.corkedRequestsFree=new s(I),I.bufferedRequestCount=0}else{for(;F;){var Z=F.chunk,z=F.encoding,B=F.callback;if(O(k,I,!1,I.objectMode?1:Z.length,Z,z,B),F=F.next,I.bufferedRequestCount--,I.writing)break}F===null&&(I.lastBufferedRequest=null)}I.bufferedRequest=F,I.bufferProcessing=!1}function T(k){return k.ending&&k.length===0&&k.bufferedRequest===null&&!k.finished&&!k.writing}function A(k,I){k._final(function(F){I.pendingcb--,F&&k.emit("error",F),I.prefinished=!0,k.emit("prefinish"),D(k,I)})}function D(k,I){var F=T(I);return F&&(function(q,W){W.prefinished||W.finalCalled||(typeof q._final=="function"?(W.pendingcb++,W.finalCalled=!0,a.nextTick(A,q,W)):(W.prefinished=!0,q.emit("prefinish")))}(k,I),I.pendingcb===0&&(I.finished=!0,k.emit("finish"))),F}f.inherits(w,v),b.prototype.getBuffer=function(){for(var k=this.bufferedRequest,I=[];k;)I.push(k),k=k.next;return I},function(){try{Object.defineProperty(b.prototype,"buffer",{get:h.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(w,Symbol.hasInstance,{value:function(k){return!!d.call(this,k)||this===w&&k&&k._writableState instanceof b}})):d=function(k){return k instanceof this},w.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},w.prototype.write=function(k,I,F){var q=this._writableState,W=!1,X=!q.objectMode&&function(Q){return g.isBuffer(Q)||Q instanceof y}(k);return X&&!g.isBuffer(k)&&(k=function(Q){return g.from(Q)}(k)),typeof I=="function"&&(F=I,I=null),X?I="buffer":I||(I=q.defaultEncoding),typeof F!="function"&&(F=_),q.ended?function(Q,ne){var Z=new Error("write after end");Q.emit("error",Z),a.nextTick(ne,Z)}(this,F):(X||function(Q,ne,Z,z){var B=!0,H=!1;return Z===null?H=new TypeError("May not write null values to stream"):typeof Z=="string"||Z===void 0||ne.objectMode||(H=new TypeError("Invalid non-string/buffer chunk")),H&&(Q.emit("error",H),a.nextTick(z,H),B=!1),B}(this,q,k,F))&&(q.pendingcb++,W=function(Q,ne,Z,z,B,H){if(!Z){var ee=function(ae,fe,j){return ae.objectMode||ae.decodeStrings===!1||typeof fe!="string"||(fe=g.from(fe,j)),fe}(ne,z,B);z!==ee&&(Z=!0,B="buffer",z=ee)}var K=ne.objectMode?1:z.length;ne.length+=K;var te=ne.length-1))throw new TypeError("Unknown encoding: "+k);return this._writableState.defaultEncoding=k,this},Object.defineProperty(w.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),w.prototype._write=function(k,I,F){F(new Error("_write() is not implemented"))},w.prototype._writev=null,w.prototype.end=function(k,I,F){var q=this._writableState;typeof k=="function"?(F=k,k=null,I=null):typeof I=="function"&&(F=I,I=null),k!=null&&this.write(k,I),q.corked&&(q.corked=1,this.uncork()),q.ending||q.finished||function(W,X,Q){X.ending=!0,D(W,X),Q&&(X.finished?a.nextTick(Q):W.once("finish",Q)),X.ended=!0,W.writable=!1}(this,q,F)},Object.defineProperty(w.prototype,"destroyed",{get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(k){this._writableState&&(this._writableState.destroyed=k)}}),w.prototype.destroy=x.destroy,w.prototype._undestroy=x.undestroy,w.prototype._destroy=function(k,I){this.end(),I(k)}}).call(this,n(4),n(11).setImmediate,n(0))},function(e,t,n){(function(r,i,o){e.exports=function a(s,l,u){function f(v,g){if(!l[v]){if(!s[v]){var y=typeof _dereq_=="function"&&_dereq_;if(!g&&y)return y(v,!0);if(d)return d(v,!0);var x=new Error("Cannot find module '"+v+"'");throw x.code="MODULE_NOT_FOUND",x}var _=l[v]={exports:{}};s[v][0].call(_.exports,function(b){return f(s[v][1][b]||b)},_,_.exports,a,s,l,u)}return l[v].exports}for(var d=typeof _dereq_=="function"&&_dereq_,h=0;h0;){var b=_.shift();if(typeof b=="function"){var w=_.shift(),O=_.shift();b.call(w,O)}else b._settlePromises()}},v.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},v.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},v.prototype._reset=function(){this._isTickUsed=!1},s.exports=v,s.exports.firstLineError=u},{"./queue":26,"./schedule":29,"./util":36}],3:[function(a,s,l){s.exports=function(u,f,d,h){var v=!1,g=function(b,w){this._reject(w)},y=function(b,w){w.promiseRejectionQueued=!0,w.bindingPromise._then(g,g,null,this,b)},x=function(b,w){!(50397184&this._bitField)&&this._resolveCallback(w.target)},_=function(b,w){w.promiseRejectionQueued||this._reject(b)};u.prototype.bind=function(b){v||(v=!0,u.prototype._propagateFrom=h.propagateFromFunction(),u.prototype._boundValue=h.boundValueFunction());var w=d(b),O=new u(f);O._propagateFrom(this,1);var E=this._target();if(O._setBoundTo(w),w instanceof u){var P={promiseRejectionQueued:!1,promise:O,target:E,bindingPromise:w};E._then(f,y,void 0,O,P),w._then(x,_,void 0,O,P),O._setOnCancel(w)}else O._resolveCallback(E);return O},u.prototype._setBoundTo=function(b){b!==void 0?(this._bitField=2097152|this._bitField,this._boundTo=b):this._bitField=-2097153&this._bitField},u.prototype._isBound=function(){return(2097152&this._bitField)==2097152},u.bind=function(b,w){return u.resolve(w).bind(b)}}},{}],4:[function(a,s,l){var u;typeof Promise<"u"&&(u=Promise);var f=a("./promise")();f.noConflict=function(){try{Promise===f&&(Promise=u)}catch{}return f},s.exports=f},{"./promise":22}],5:[function(a,s,l){var u=Object.create;if(u){var f=u(null),d=u(null);f[" size"]=d[" size"]=0}s.exports=function(h){var v=a("./util"),g=v.canEvaluate;function y(b){return function(w,O){var E;if(w!=null&&(E=w[O]),typeof E!="function"){var P="Object "+v.classString(w)+" has no method '"+v.toString(O)+"'";throw new h.TypeError(P)}return E}(b,this.pop()).apply(b,this)}function x(b){return b[this]}function _(b){var w=+this;return w<0&&(w=Math.max(0,w+b.length)),b[w]}v.isIdentifier,h.prototype.call=function(b){var w=[].slice.call(arguments,1);return w.push(b),this._then(y,void 0,void 0,w,void 0)},h.prototype.get=function(b){var w;if(typeof b=="number")w=_;else if(g){var O=(void 0)(b);w=O!==null?O:x}else w=x;return this._then(w,void 0,void 0,b,void 0)}}},{"./util":36}],6:[function(a,s,l){s.exports=function(u,f,d,h){var v=a("./util"),g=v.tryCatch,y=v.errorObj,x=u._async;u.prototype.break=u.prototype.cancel=function(){if(!h.cancellation())return this._warn("cancellation is disabled");for(var _=this,b=_;_._isCancellable();){if(!_._cancelBy(b)){b._isFollowing()?b._followee().cancel():b._cancelBranched();break}var w=_._cancellationParent;if(w==null||!w._isCancellable()){_._isFollowing()?_._followee().cancel():_._cancelBranched();break}_._isFollowing()&&_._followee().cancel(),_._setWillBeCancelled(),b=_,_=w}},u.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},u.prototype._enoughBranchesHaveCancelled=function(){return this._branchesRemainingToCancel===void 0||this._branchesRemainingToCancel<=0},u.prototype._cancelBy=function(_){return _===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},u.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},u.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),x.invoke(this._cancelPromises,this,void 0))},u.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},u.prototype._unsetOnCancel=function(){this._onCancelField=void 0},u.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},u.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},u.prototype._doInvokeOnCancel=function(_,b){if(v.isArray(_))for(var w=0;w<_.length;++w)this._doInvokeOnCancel(_[w],b);else if(_!==void 0)if(typeof _=="function"){if(!b){var O=g(_).call(this._boundValue());O===y&&(this._attachExtraTrace(O.e),x.throwLater(O.e))}}else _._resultCancelled(this)},u.prototype._invokeOnCancel=function(){var _=this._onCancel();this._unsetOnCancel(),x.invoke(this._doInvokeOnCancel,this,_)},u.prototype._invokeInternalOnCancel=function(){this._isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},u.prototype._resultCancelled=function(){this.cancel()}}},{"./util":36}],7:[function(a,s,l){s.exports=function(u){var f=a("./util"),d=a("./es5").keys,h=f.tryCatch,v=f.errorObj;return function(g,y,x){return function(_){var b=x._boundValue();e:for(var w=0;w=0)return d[g]}return u.prototype._promiseCreated=function(){},u.prototype._pushContext=function(){},u.prototype._popContext=function(){return null},u._peekContext=u.prototype._peekContext=function(){},h.prototype._pushContext=function(){this._trace!==void 0&&(this._trace._promiseCreated=null,d.push(this._trace))},h.prototype._popContext=function(){if(this._trace!==void 0){var g=d.pop(),y=g._promiseCreated;return g._promiseCreated=null,y}return null},h.CapturedTrace=null,h.create=function(){if(f)return new h},h.deactivateLongStackTraces=function(){},h.activateLongStackTraces=function(){var g=u.prototype._pushContext,y=u.prototype._popContext,x=u._peekContext,_=u.prototype._peekContext,b=u.prototype._promiseCreated;h.deactivateLongStackTraces=function(){u.prototype._pushContext=g,u.prototype._popContext=y,u._peekContext=x,u.prototype._peekContext=_,u.prototype._promiseCreated=b,f=!1},f=!0,u.prototype._pushContext=h.prototype._pushContext,u.prototype._popContext=h.prototype._popContext,u._peekContext=u.prototype._peekContext=v,u.prototype._promiseCreated=function(){var w=this._peekContext();w&&w._promiseCreated==null&&(w._promiseCreated=this)}},h}},{}],9:[function(a,s,l){s.exports=function(u,f){var d,h,v,g=u._getDomain,y=u._async,x=a("./errors").Warning,_=a("./util"),b=_.canAttachTrace,w=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,O=/\((?:timers\.js):\d+:\d+\)/,E=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,P=null,T=null,A=!1,D=_.env("BLUEBIRD_DEBUG")!=0,k=!(_.env("BLUEBIRD_WARNINGS")==0||!D&&!_.env("BLUEBIRD_WARNINGS")),I=!(_.env("BLUEBIRD_LONG_STACK_TRACES")==0||!D&&!_.env("BLUEBIRD_LONG_STACK_TRACES")),F=_.env("BLUEBIRD_W_FORGOTTEN_RETURN")!=0&&(k||!!_.env("BLUEBIRD_W_FORGOTTEN_RETURN"));u.prototype.suppressUnhandledRejections=function(){var le=this._target();le._bitField=-1048577&le._bitField|524288},u.prototype._ensurePossibleRejectionHandled=function(){if(!(524288&this._bitField)){this._setRejectionIsUnhandled();var le=this;setTimeout(function(){le._notifyUnhandledRejection()},1)}},u.prototype._notifyUnhandledRejectionIsHandled=function(){he("rejectionHandled",d,void 0,this)},u.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},u.prototype._returnedNonUndefined=function(){return(268435456&this._bitField)!=0},u.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var le=this._settledValue();this._setUnhandledRejectionIsNotified(),he("unhandledRejection",h,le,this)}},u.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},u.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},u.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},u.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},u.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},u.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},u.prototype._warn=function(le,ce,ye){return U(le,ce,ye||this)},u.onPossiblyUnhandledRejection=function(le){var ce=g();h=typeof le=="function"?ce===null?le:_.domainBind(ce,le):void 0},u.onUnhandledRejectionHandled=function(le){var ce=g();d=typeof le=="function"?ce===null?le:_.domainBind(ce,le):void 0};var q=function(){};u.longStackTraces=function(){if(y.haveItemsQueued()&&!Ae.longStackTraces)throw new Error(`cannot enable long stack traces after promises have been created + + See http://goo.gl/MqrFmX +`);if(!Ae.longStackTraces&&se()){var le=u.prototype._captureStackTrace,ce=u.prototype._attachExtraTrace;Ae.longStackTraces=!0,q=function(){if(y.haveItemsQueued()&&!Ae.longStackTraces)throw new Error(`cannot enable long stack traces after promises have been created + + See http://goo.gl/MqrFmX +`);u.prototype._captureStackTrace=le,u.prototype._attachExtraTrace=ce,f.deactivateLongStackTraces(),y.enableTrampoline(),Ae.longStackTraces=!1},u.prototype._captureStackTrace=j,u.prototype._attachExtraTrace=N,f.activateLongStackTraces(),y.disableTrampolineIfNecessary()}},u.hasLongStackTraces=function(){return Ae.longStackTraces&&se()};var W=function(){try{if(typeof CustomEvent=="function"){var le=new CustomEvent("CustomEvent");return _.global.dispatchEvent(le),function(ce,ye){var ge=new CustomEvent(ce.toLowerCase(),{detail:ye,cancelable:!0});return!_.global.dispatchEvent(ge)}}return typeof Event=="function"?(le=new Event("CustomEvent"),_.global.dispatchEvent(le),function(ce,ye){var ge=new Event(ce.toLowerCase(),{cancelable:!0});return ge.detail=ye,!_.global.dispatchEvent(ge)}):((le=document.createEvent("CustomEvent")).initCustomEvent("testingtheevent",!1,!0,{}),_.global.dispatchEvent(le),function(ce,ye){var ge=document.createEvent("CustomEvent");return ge.initCustomEvent(ce.toLowerCase(),!1,!0,ye),!_.global.dispatchEvent(ge)})}catch{}return function(){return!1}}(),X=_.isNode?function(){return r.emit.apply(r,arguments)}:_.global?function(le){var ce="on"+le.toLowerCase(),ye=_.global[ce];return!!ye&&(ye.apply(_.global,[].slice.call(arguments,1)),!0)}:function(){return!1};function Q(le,ce){return{promise:ce}}var ne={promiseCreated:Q,promiseFulfilled:Q,promiseRejected:Q,promiseResolved:Q,promiseCancelled:Q,promiseChained:function(le,ce,ye){return{promise:ce,child:ye}},warning:function(le,ce){return{warning:ce}},unhandledRejection:function(le,ce,ye){return{reason:ce,promise:ye}},rejectionHandled:Q},Z=function(le){var ce=!1;try{ce=X.apply(null,arguments)}catch(ge){y.throwLater(ge),ce=!0}var ye=!1;try{ye=W(le,ne[le].apply(null,arguments))}catch(ge){y.throwLater(ge),ye=!0}return ye||ce};function z(){return!1}function B(le,ce,ye){var ge=this;try{le(ce,ye,function(we){if(typeof we!="function")throw new TypeError("onCancel must be a function, got: "+_.toString(we));ge._attachCancellationCallback(we)})}catch(we){return we}}function H(le){if(!this._isCancellable())return this;var ce=this._onCancel();ce!==void 0?_.isArray(ce)?ce.push(le):this._setOnCancel([ce,le]):this._setOnCancel(le)}function ee(){return this._onCancelField}function K(le){this._onCancelField=le}function te(){this._cancellationParent=void 0,this._onCancelField=void 0}function ie(le,ce){if(1&ce){this._cancellationParent=le;var ye=le._branchesRemainingToCancel;ye===void 0&&(ye=0),le._branchesRemainingToCancel=ye+1}2&ce&&le._isBound()&&this._setBoundTo(le._boundTo)}u.config=function(le){if("longStackTraces"in(le=Object(le))&&(le.longStackTraces?u.longStackTraces():!le.longStackTraces&&u.hasLongStackTraces()&&q()),"warnings"in le){var ce=le.warnings;Ae.warnings=!!ce,F=Ae.warnings,_.isObject(ce)&&"wForgottenReturn"in ce&&(F=!!ce.wForgottenReturn)}if("cancellation"in le&&le.cancellation&&!Ae.cancellation){if(y.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");u.prototype._clearCancellationData=te,u.prototype._propagateFrom=ie,u.prototype._onCancel=ee,u.prototype._setOnCancel=K,u.prototype._attachCancellationCallback=H,u.prototype._execute=B,ae=ie,Ae.cancellation=!0}return"monitoring"in le&&(le.monitoring&&!Ae.monitoring?(Ae.monitoring=!0,u.prototype._fireEvent=Z):!le.monitoring&&Ae.monitoring&&(Ae.monitoring=!1,u.prototype._fireEvent=z)),u},u.prototype._fireEvent=z,u.prototype._execute=function(le,ce,ye){try{le(ce,ye)}catch(ge){return ge}},u.prototype._onCancel=function(){},u.prototype._setOnCancel=function(le){},u.prototype._attachCancellationCallback=function(le){},u.prototype._captureStackTrace=function(){},u.prototype._attachExtraTrace=function(){},u.prototype._clearCancellationData=function(){},u.prototype._propagateFrom=function(le,ce){};var ae=function(le,ce){2&ce&&le._isBound()&&this._setBoundTo(le._boundTo)};function fe(){var le=this._boundTo;return le!==void 0&&le instanceof u?le.isFulfilled()?le.value():void 0:le}function j(){this._trace=new Te(this._peekContext())}function N(le,ce){if(b(le)){var ye=this._trace;if(ye!==void 0&&ce&&(ye=ye._parent),ye!==void 0)ye.attachExtraTrace(le);else if(!le.__stackCleaned__){var ge=Y(le);_.notEnumerableProp(le,"stack",ge.message+` +`+ge.stack.join(` +`)),_.notEnumerableProp(le,"__stackCleaned__",!0)}}}function U(le,ce,ye){if(Ae.warnings){var ge,we=new x(le);if(ce)ye._attachExtraTrace(we);else if(Ae.longStackTraces&&(ge=u._peekContext()))ge.attachExtraTrace(we);else{var ke=Y(we);we.stack=ke.message+` +`+ke.stack.join(` +`)}Z("warning",we)||oe(we,"",!0)}}function J(le){for(var ce=[],ye=0;ye0?function(ge){for(var we=ge.stack.replace(/\s+$/g,"").split(` +`),ke=0;ke0&&ge.name!="SyntaxError"&&(we=we.slice(ke)),we}(le):[" (No stack trace)"],{message:ye,stack:le.name=="SyntaxError"?ce:J(ce)}}function oe(le,ce,ye){if(typeof console<"u"){var ge;if(_.isObject(le)){var we=le.stack;ge=ce+T(we,le)}else ge=ce+String(le);typeof v=="function"?v(ge,ye):typeof console.log!="function"&&typeof console.log!="object"||console.log(ge)}}function he(le,ce,ye,ge){var we=!1;try{typeof ce=="function"&&(we=!0,le==="rejectionHandled"?ce(ge):ce(ye,ge))}catch(ke){y.throwLater(ke)}le==="unhandledRejection"?Z(le,ye,ge)||we||oe(ye,"Unhandled rejection "):Z(le,ge)}function Oe(le){var ce;if(typeof le=="function")ce="[function "+(le.name||"anonymous")+"]";else{if(ce=le&&typeof le.toString=="function"?le.toString():_.toString(le),/\[object [a-zA-Z0-9$_]+\]/.test(ce))try{ce=JSON.stringify(le)}catch{}ce.length===0&&(ce="(empty array)")}return"(<"+function(ye){return ye.length<41?ye:ye.substr(0,38)+"..."}(ce)+">, no stack trace)"}function se(){return typeof Ce=="function"}var pe=function(){return!1},me=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;function xe(le){var ce=le.match(me);if(ce)return{fileName:ce[1],line:parseInt(ce[2],10)}}function Te(le){this._parent=le,this._promisesCreated=0;var ce=this._length=1+(le===void 0?0:le._length);Ce(this,Te),ce>32&&this.uncycle()}_.inherits(Te,Error),f.CapturedTrace=Te,Te.prototype.uncycle=function(){var le=this._length;if(!(le<2)){for(var ce=[],ye={},ge=0,we=this;we!==void 0;++ge)ce.push(we),we=we._parent;for(ge=(le=this._length=ge)-1;ge>=0;--ge){var ke=ce[ge].stack;ye[ke]===void 0&&(ye[ke]=ge)}for(ge=0;ge0&&(ce[Me-1]._parent=void 0,ce[Me-1]._length=1),ce[ge]._parent=void 0,ce[ge]._length=1;var et=ge>0?ce[ge-1]:this;Me=0;--Ze)ce[Ze]._length=nt,nt++;return}}}},Te.prototype.attachExtraTrace=function(le){if(!le.__stackCleaned__){this.uncycle();for(var ce=Y(le),ye=ce.message,ge=[ce.stack],we=this;we!==void 0;)ge.push(J(we.stack.split(` +`))),we=we._parent;(function(ke){for(var Me=ke[0],et=1;et=0;--bn)if(nt[bn]===Gt){Ft=bn;break}for(bn=Ft;bn>=0;--bn){var Zn=nt[bn];if(Me[Ze]!==Zn)break;Me.pop(),Ze--}Me=nt}})(ge),function(ke){for(var Me=0;Me=0)return P=/@/,T=ce,A=!0,function(ke){ke.stack=new Error().stack};try{throw new Error}catch(ke){ge="stack"in ke}return"stack"in we||!ge||typeof Error.stackTraceLimit!="number"?(T=function(ke,Me){return typeof ke=="string"?ke:typeof Me!="object"&&typeof Me!="function"||Me.name===void 0||Me.message===void 0?Oe(Me):Me.toString()},null):(P=le,T=ce,function(ke){Error.stackTraceLimit+=6;try{throw new Error}catch(Me){ke.stack=Me.stack}Error.stackTraceLimit-=6})}();typeof console<"u"&&console.warn!==void 0&&(v=function(le){console.warn(le)},_.isNode&&r.stderr.isTTY?v=function(le,ce){var ye=ce?"\x1B[33m":"\x1B[31m";console.warn(ye+le+`\x1B[0m +`)}:_.isNode||typeof new Error().stack!="string"||(v=function(le,ce){console.warn("%c"+le,ce?"color: darkorange":"color: red")}));var Ae={warnings:k,longStackTraces:!1,cancellation:!1,monitoring:!1};return I&&u.longStackTraces(),{longStackTraces:function(){return Ae.longStackTraces},warnings:function(){return Ae.warnings},cancellation:function(){return Ae.cancellation},monitoring:function(){return Ae.monitoring},propagateFromFunction:function(){return ae},boundValueFunction:function(){return fe},checkForgottenReturns:function(le,ce,ye,ge,we){if(le===void 0&&ce!==null&&F){if(we!==void 0&&we._returnedNonUndefined()||!(65535&ge._bitField))return;ye&&(ye+=" ");var ke="",Me="";if(ce._trace){for(var et=ce._trace.stack.split(` +`),nt=J(et),Ze=nt.length-1;Ze>=0;--Ze){var Gt=nt[Ze];if(!O.test(Gt)){var Ft=Gt.match(E);Ft&&(ke="at "+Ft[1]+":"+Ft[2]+":"+Ft[3]+" ");break}}if(nt.length>0){var bn=nt[0];for(Ze=0;Ze0&&(Me=` +`+et[Ze-1]);break}}}var Zn="a promise was created in a "+ye+"handler "+ke+"but was not returned from it, see http://goo.gl/rRqMUw"+Me;ge._warn(Zn,!0,ce)}},setBounds:function(le,ce){if(se()){for(var ye,ge,we=le.stack.split(` +`),ke=ce.stack.split(` +`),Me=-1,et=-1,nt=0;nt=et||(pe=function(Gt){if(w.test(Gt))return!0;var Ft=xe(Gt);return!!(Ft&&Ft.fileName===ye&&Me<=Ft.line&&Ft.line<=et)})}},warn:U,deprecated:function(le,ce){var ye=le+" is deprecated and will be removed in a future version.";return ce&&(ye+=" Use "+ce+" instead."),U(ye)},CapturedTrace:Te,fireDomEvent:W,fireGlobalEvent:X}}},{"./errors":12,"./util":36}],10:[function(a,s,l){s.exports=function(u){function f(){return this.value}function d(){throw this.reason}u.prototype.return=u.prototype.thenReturn=function(h){return h instanceof u&&h.suppressUnhandledRejections(),this._then(f,void 0,void 0,{value:h},void 0)},u.prototype.throw=u.prototype.thenThrow=function(h){return this._then(d,void 0,void 0,{reason:h},void 0)},u.prototype.catchThrow=function(h){if(arguments.length<=1)return this._then(void 0,d,void 0,{reason:h},void 0);var v=arguments[1];return this.caught(h,function(){throw v})},u.prototype.catchReturn=function(h){if(arguments.length<=1)return h instanceof u&&h.suppressUnhandledRejections(),this._then(void 0,f,void 0,{value:h},void 0);var v=arguments[1];return v instanceof u&&v.suppressUnhandledRejections(),this.caught(h,function(){return v})}}},{}],11:[function(a,s,l){s.exports=function(u,f){var d=u.reduce,h=u.all;function v(){return h(this)}u.prototype.each=function(g){return d(this,g,f,0)._then(v,void 0,void 0,this,void 0)},u.prototype.mapSeries=function(g){return d(this,g,f,f)},u.each=function(g,y){return d(g,y,f,0)._then(v,void 0,void 0,g,void 0)},u.mapSeries=function(g,y){return d(g,y,f,f)}}},{}],12:[function(a,s,l){var u,f,d=a("./es5"),h=d.freeze,v=a("./util"),g=v.inherits,y=v.notEnumerableProp;function x(k,I){function F(q){if(!(this instanceof F))return new F(q);y(this,"message",typeof q=="string"?q:I),y(this,"name",k),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this)}return g(F,Error),F}var _=x("Warning","warning"),b=x("CancellationError","cancellation error"),w=x("TimeoutError","timeout error"),O=x("AggregateError","aggregate error");try{u=TypeError,f=RangeError}catch{u=x("TypeError","type error"),f=x("RangeError","range error")}for(var E="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),P=0;P1?P.cancelPromise._reject(T):P.cancelPromise._cancel(),P.cancelPromise=null,!0)}function w(){return E.call(this,this.promise._target()._settledValue())}function O(P){if(!b(this,P))return g.e=P,g}function E(P){var T=this.promise,A=this.handler;if(!this.called){this.called=!0;var D=this.isFinallyHandler()?A.call(T._boundValue()):A.call(T._boundValue(),P);if(D===d)return D;if(D!==void 0){T._setReturnedNonUndefined();var k=f(D,T);if(k instanceof u){if(this.cancelPromise!=null){if(k._isCancelled()){var I=new v("late cancellation observer");return T._attachExtraTrace(I),g.e=I,g}k.isPending()&&k._attachCancellationCallback(new _(this))}return k._then(w,O,void 0,this,void 0)}}}return T.isRejected()?(b(this),g.e=P,g):(b(this),P)}return x.prototype.isFinallyHandler=function(){return this.type===0},_.prototype._resultCancelled=function(){b(this.finallyHandler)},u.prototype._passThrough=function(P,T,A,D){return typeof P!="function"?this.then():this._then(A,D,void 0,new x(this,T,P),void 0)},u.prototype.lastly=u.prototype.finally=function(P){return this._passThrough(P,0,E,E)},u.prototype.tap=function(P){return this._passThrough(P,1,E)},u.prototype.tapCatch=function(P){var T=arguments.length;if(T===1)return this._passThrough(P,1,void 0,E);var A,D=new Array(T-1),k=0;for(A=0;A0&&typeof arguments[_]=="function"&&(x=arguments[_]);var b=[].slice.call(arguments);x&&b.pop();var w=new f(b).promise();return x!==void 0?w.spread(x):w}}},{"./util":36}],18:[function(a,s,l){s.exports=function(u,f,d,h,v,g){var y=u._getDomain,x=a("./util"),_=x.tryCatch,b=x.errorObj,w=u._async;function O(P,T,A,D){this.constructor$(P),this._promise._captureStackTrace();var k=y();this._callback=k===null?T:x.domainBind(k,T),this._preservedValues=D===v?new Array(this.length()):null,this._limit=A,this._inFlight=0,this._queue=[],w.invoke(this._asyncInit,this,void 0)}function E(P,T,A,D){if(typeof T!="function")return d("expecting a function but got "+x.classString(T));var k=0;if(A!==void 0){if(typeof A!="object"||A===null)return u.reject(new TypeError("options argument must be an object but it is "+x.classString(A)));if(typeof A.concurrency!="number")return u.reject(new TypeError("'concurrency' must be a number but it is "+x.classString(A.concurrency)));k=A.concurrency}return new O(P,T,k=typeof k=="number"&&isFinite(k)&&k>=1?k:0,D).promise()}x.inherits(O,f),O.prototype._asyncInit=function(){this._init$(void 0,-2)},O.prototype._init=function(){},O.prototype._promiseFulfilled=function(P,T){var A=this._values,D=this.length(),k=this._preservedValues,I=this._limit;if(T<0){if(A[T=-1*T-1]=P,I>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(I>=1&&this._inFlight>=I)return A[T]=P,this._queue.push(T),!1;k!==null&&(k[T]=P);var F=this._promise,q=this._callback,W=F._boundValue();F._pushContext();var X=_(q).call(W,P,T,D),Q=F._popContext();if(g.checkForgottenReturns(X,Q,k!==null?"Promise.filter":"Promise.map",F),X===b)return this._reject(X.e),!0;var ne=h(X,this._promise);if(ne instanceof u){var Z=(ne=ne._target())._bitField;if(!(50397184&Z))return I>=1&&this._inFlight++,A[T]=ne,ne._proxy(this,-1*(T+1)),!1;if(!(33554432&Z))return 16777216&Z?(this._reject(ne._reason()),!0):(this._cancel(),!0);X=ne._value()}A[T]=X}return++this._totalResolved>=D&&(k!==null?this._filter(A,k):this._resolve(A),!0)},O.prototype._drainQueue=function(){for(var P=this._queue,T=this._limit,A=this._values;P.length>0&&this._inFlight1){v.deprecated("calling Promise.try with more than 1 argument");var w=arguments[1],O=arguments[2];_=g.isArray(w)?y(x).apply(O,w):y(x).call(O,w)}else _=y(x)();var E=b._popContext();return v.checkForgottenReturns(_,E,"Promise.try",b),b._resolveFromSyncValue(_),b},u.prototype._resolveFromSyncValue=function(x){x===g.errorObj?this._rejectCallback(x.e,!1):this._resolveCallback(x,!0)}}},{"./util":36}],20:[function(a,s,l){var u=a("./util"),f=u.maybeWrapAsError,d=a("./errors").OperationalError,h=a("./es5"),v=/^(?:name|message|stack|cause)$/;function g(y){var x;if(function(O){return O instanceof Error&&h.getPrototypeOf(O)===Error.prototype}(y)){(x=new d(y)).name=y.name,x.message=y.message,x.stack=y.stack;for(var _=h.keys(y),b=0;b<_.length;++b){var w=_[b];v.test(w)||(x[w]=y[w])}return x}return u.markAsOriginatingFromRejection(y),y}s.exports=function(y,x){return function(_,b){if(y!==null){if(_){var w=g(f(_));y._attachExtraTrace(w),y._reject(w)}else if(x){var O=[].slice.call(arguments,1);y._fulfill(O)}else y._fulfill(b);y=null}}}},{"./errors":12,"./es5":13,"./util":36}],21:[function(a,s,l){s.exports=function(u){var f=a("./util"),d=u._async,h=f.tryCatch,v=f.errorObj;function g(_,b){if(!f.isArray(_))return y.call(this,_,b);var w=h(b).apply(this._boundValue(),[null].concat(_));w===v&&d.throwLater(w.e)}function y(_,b){var w=this._boundValue(),O=_===void 0?h(b).call(w,null):h(b).call(w,null,_);O===v&&d.throwLater(O.e)}function x(_,b){if(!_){var w=new Error(_+"");w.cause=_,_=w}var O=h(b).call(this._boundValue(),_);O===v&&d.throwLater(O.e)}u.prototype.asCallback=u.prototype.nodeify=function(_,b){if(typeof _=="function"){var w=y;b!==void 0&&Object(b).spread&&(w=g),this._then(w,x,void 0,this,_)}return this}}},{"./util":36}],22:[function(a,s,l){s.exports=function(){var u=function(){return new O(`circular promise resolution chain + + See http://goo.gl/MqrFmX +`)},f=function(){return new z.PromiseInspection(this._target())},d=function(K){return z.reject(new O(K))};function h(){}var v,g={},y=a("./util");v=y.isNode?function(){var K=r.domain;return K===void 0&&(K=null),K}:function(){return null},y.notEnumerableProp(z,"_getDomain",v);var x=a("./es5"),_=a("./async"),b=new _;x.defineProperty(z,"_async",{value:b});var w=a("./errors"),O=z.TypeError=w.TypeError;z.RangeError=w.RangeError;var E=z.CancellationError=w.CancellationError;z.TimeoutError=w.TimeoutError,z.OperationalError=w.OperationalError,z.RejectionError=w.OperationalError,z.AggregateError=w.AggregateError;var P=function(){},T={},A={},D=a("./thenables")(z,P),k=a("./promise_array")(z,P,D,d,h),I=a("./context")(z),F=I.create,q=a("./debuggability")(z,I),W=(q.CapturedTrace,a("./finally")(z,D,A)),X=a("./catch_filter")(A),Q=a("./nodeback"),ne=y.errorObj,Z=y.tryCatch;function z(K){K!==P&&function(te,ie){if(te==null||te.constructor!==z)throw new O(`the promise constructor cannot be invoked directly + + See http://goo.gl/MqrFmX +`);if(typeof ie!="function")throw new O("expecting a function but got "+y.classString(ie))}(this,K),this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,this._resolveFromExecutor(K),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function B(K){this.promise._resolveCallback(K)}function H(K){this.promise._rejectCallback(K,!1)}function ee(K){var te=new z(P);te._fulfillmentHandler0=K,te._rejectionHandler0=K,te._promise0=K,te._receiver0=K}return z.prototype.toString=function(){return"[object Promise]"},z.prototype.caught=z.prototype.catch=function(K){var te=arguments.length;if(te>1){var ie,ae=new Array(te-1),fe=0;for(ie=0;ie0&&typeof K!="function"&&typeof te!="function"){var ie=".then() only accepts functions but was passed: "+y.classString(K);arguments.length>1&&(ie+=", "+y.classString(te)),this._warn(ie)}return this._then(K,te,void 0,void 0,void 0)},z.prototype.done=function(K,te){this._then(K,te,void 0,void 0,void 0)._setIsFinal()},z.prototype.spread=function(K){return typeof K!="function"?d("expecting a function but got "+y.classString(K)):this.all()._then(K,void 0,void 0,T,void 0)},z.prototype.toJSON=function(){var K={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(K.fulfillmentValue=this.value(),K.isFulfilled=!0):this.isRejected()&&(K.rejectionReason=this.reason(),K.isRejected=!0),K},z.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new k(this).promise()},z.prototype.error=function(K){return this.caught(y.originatesFromRejection,K)},z.getNewLibraryCopy=s.exports,z.is=function(K){return K instanceof z},z.fromNode=z.fromCallback=function(K){var te=new z(P);te._captureStackTrace();var ie=arguments.length>1&&!!Object(arguments[1]).multiArgs,ae=Z(K)(Q(te,ie));return ae===ne&&te._rejectCallback(ae.e,!0),te._isFateSealed()||te._setAsyncGuaranteed(),te},z.all=function(K){return new k(K).promise()},z.cast=function(K){var te=D(K);return te instanceof z||((te=new z(P))._captureStackTrace(),te._setFulfilled(),te._rejectionHandler0=K),te},z.resolve=z.fulfilled=z.cast,z.reject=z.rejected=function(K){var te=new z(P);return te._captureStackTrace(),te._rejectCallback(K,!0),te},z.setScheduler=function(K){if(typeof K!="function")throw new O("expecting a function but got "+y.classString(K));return b.setScheduler(K)},z.prototype._then=function(K,te,ie,ae,fe){var j=fe!==void 0,N=j?fe:new z(P),U=this._target(),J=U._bitField;j||(N._propagateFrom(this,3),N._captureStackTrace(),ae===void 0&&2097152&this._bitField&&(ae=50397184&J?this._boundValue():U===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,N));var Y=v();if(50397184&J){var oe,he,Oe=U._settlePromiseCtx;33554432&J?(he=U._rejectionHandler0,oe=K):16777216&J?(he=U._fulfillmentHandler0,oe=te,U._unsetRejectionIsUnhandled()):(Oe=U._settlePromiseLateCancellationObserver,he=new E("late cancellation observer"),U._attachExtraTrace(he),oe=te),b.invoke(Oe,U,{handler:Y===null?oe:typeof oe=="function"&&y.domainBind(Y,oe),promise:N,receiver:ae,value:he})}else U._addCallbacks(K,te,N,ae,Y);return N},z.prototype._length=function(){return 65535&this._bitField},z.prototype._isFateSealed=function(){return(117506048&this._bitField)!=0},z.prototype._isFollowing=function(){return(67108864&this._bitField)==67108864},z.prototype._setLength=function(K){this._bitField=-65536&this._bitField|65535&K},z.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},z.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},z.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},z.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},z.prototype._isFinal=function(){return(4194304&this._bitField)>0},z.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},z.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},z.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},z.prototype._setAsyncGuaranteed=function(){b.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},z.prototype._receiverAt=function(K){var te=K===0?this._receiver0:this[4*K-4+3];if(te!==g)return te===void 0&&this._isBound()?this._boundValue():te},z.prototype._promiseAt=function(K){return this[4*K-4+2]},z.prototype._fulfillmentHandlerAt=function(K){return this[4*K-4+0]},z.prototype._rejectionHandlerAt=function(K){return this[4*K-4+1]},z.prototype._boundValue=function(){},z.prototype._migrateCallback0=function(K){K._bitField;var te=K._fulfillmentHandler0,ie=K._rejectionHandler0,ae=K._promise0,fe=K._receiverAt(0);fe===void 0&&(fe=g),this._addCallbacks(te,ie,ae,fe,null)},z.prototype._migrateCallbackAt=function(K,te){var ie=K._fulfillmentHandlerAt(te),ae=K._rejectionHandlerAt(te),fe=K._promiseAt(te),j=K._receiverAt(te);j===void 0&&(j=g),this._addCallbacks(ie,ae,fe,j,null)},z.prototype._addCallbacks=function(K,te,ie,ae,fe){var j=this._length();if(j>=65531&&(j=0,this._setLength(0)),j===0)this._promise0=ie,this._receiver0=ae,typeof K=="function"&&(this._fulfillmentHandler0=fe===null?K:y.domainBind(fe,K)),typeof te=="function"&&(this._rejectionHandler0=fe===null?te:y.domainBind(fe,te));else{var N=4*j-4;this[N+2]=ie,this[N+3]=ae,typeof K=="function"&&(this[N+0]=fe===null?K:y.domainBind(fe,K)),typeof te=="function"&&(this[N+1]=fe===null?te:y.domainBind(fe,te))}return this._setLength(j+1),j},z.prototype._proxy=function(K,te){this._addCallbacks(void 0,void 0,te,K,null)},z.prototype._resolveCallback=function(K,te){if(!(117506048&this._bitField)){if(K===this)return this._rejectCallback(u(),!1);var ie=D(K,this);if(!(ie instanceof z))return this._fulfill(K);te&&this._propagateFrom(ie,2);var ae=ie._target();if(ae!==this){var fe=ae._bitField;if(50397184&fe)if(33554432&fe)this._fulfill(ae._value());else if(16777216&fe)this._reject(ae._reason());else{var U=new E("late cancellation observer");ae._attachExtraTrace(U),this._reject(U)}else{var j=this._length();j>0&&ae._migrateCallback0(this);for(var N=1;N>>16)){if(K===this){var ie=u();return this._attachExtraTrace(ie),this._reject(ie)}this._setFulfilled(),this._rejectionHandler0=K,(65535&te)>0&&(134217728&te?this._settlePromises():b.settlePromises(this))}},z.prototype._reject=function(K){var te=this._bitField;if(!((117506048&te)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=K,this._isFinal())return b.fatalError(K,y.isNode);(65535&te)>0?b.settlePromises(this):this._ensurePossibleRejectionHandled()}},z.prototype._fulfillPromises=function(K,te){for(var ie=1;ie0){if(16842752&K){var ie=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,ie,K),this._rejectPromises(te,ie)}else{var ae=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,ae,K),this._fulfillPromises(te,ae)}this._setLength(0)}this._clearCancellationData()},z.prototype._settledValue=function(){var K=this._bitField;return 33554432&K?this._rejectionHandler0:16777216&K?this._fulfillmentHandler0:void 0},z.defer=z.pending=function(){return q.deprecated("Promise.defer","new Promise"),{promise:new z(P),resolve:B,reject:H}},y.notEnumerableProp(z,"_makeSelfResolutionError",u),a("./method")(z,P,D,d,q),a("./bind")(z,P,D,q),a("./cancel")(z,k,d,q),a("./direct_resolve")(z),a("./synchronous_inspection")(z),a("./join")(z,k,D,P,b,v),z.Promise=z,z.version="3.5.1",a("./map.js")(z,k,d,D,P,q),a("./call_get.js")(z),a("./using.js")(z,d,D,F,P,q),a("./timers.js")(z,P,q),a("./generators.js")(z,d,P,D,h,q),a("./nodeify.js")(z),a("./promisify.js")(z,P),a("./props.js")(z,k,D,d),a("./race.js")(z,P,D,d),a("./reduce.js")(z,k,d,D,P,q),a("./settle.js")(z,k,q),a("./some.js")(z,k,d),a("./filter.js")(z,P),a("./each.js")(z,P),a("./any.js")(z),y.toFastProperties(z),y.toFastProperties(z.prototype),ee({a:1}),ee({b:2}),ee({c:3}),ee(1),ee(function(){}),ee(void 0),ee(!1),ee(new z(P)),q.setBounds(_.firstLineError,y.lastLineError),z}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(a,s,l){s.exports=function(u,f,d,h,v){var g=a("./util");function y(x){var _=this._promise=new u(f);x instanceof u&&_._propagateFrom(x,3),_._setOnCancel(this),this._values=x,this._length=0,this._totalResolved=0,this._init(void 0,-2)}return g.isArray,g.inherits(y,v),y.prototype.length=function(){return this._length},y.prototype.promise=function(){return this._promise},y.prototype._init=function x(_,b){var w=d(this._values,this._promise);if(w instanceof u){var O=(w=w._target())._bitField;if(this._values=w,(50397184&O)==0)return this._promise._setAsyncGuaranteed(),w._then(x,this._reject,void 0,this,b);if(!(33554432&O))return 16777216&O?this._reject(w._reason()):this._cancel();w=w._value()}if((w=g.asArray(w))!==null)w.length!==0?this._iterate(w):b===-5?this._resolveEmptyArray():this._resolve(function(P){switch(b){case-2:return[];case-3:return{};case-6:return new Map}}());else{var E=h("expecting an array or an iterable object but got "+g.classString(w)).reason();this._promise._rejectCallback(E,!1)}},y.prototype._iterate=function(x){var _=this.getActualLength(x.length);this._length=_,this._values=this.shouldCopyValues()?new Array(_):this._values;for(var b=this._promise,w=!1,O=null,E=0;E<_;++E){var P=d(x[E],b);O=P instanceof u?(P=P._target())._bitField:null,w?O!==null&&P.suppressUnhandledRejections():O!==null?50397184&O?w=33554432&O?this._promiseFulfilled(P._value(),E):16777216&O?this._promiseRejected(P._reason(),E):this._promiseCancelled(E):(P._proxy(this,E),this._values[E]=P):w=this._promiseFulfilled(P,E)}w||b._setAsyncGuaranteed()},y.prototype._isResolved=function(){return this._values===null},y.prototype._resolve=function(x){this._values=null,this._promise._fulfill(x)},y.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},y.prototype._reject=function(x){this._values=null,this._promise._rejectCallback(x,!1)},y.prototype._promiseFulfilled=function(x,_){return this._values[_]=x,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},y.prototype._promiseCancelled=function(){return this._cancel(),!0},y.prototype._promiseRejected=function(x){return this._totalResolved++,this._reject(x),!0},y.prototype._resultCancelled=function(){if(!this._isResolved()){var x=this._values;if(this._cancel(),x instanceof u)x.cancel();else for(var _=0;_=this._length){var P;if(this._isMap)P=function(k){for(var I=new v,F=k.length/2|0,q=0;q>1},u.prototype.props=function(){return w(this)},u.props=function(O){return w(O)}}},{"./es5":13,"./util":36}],26:[function(a,s,l){function u(f){this._capacity=f,this._length=0,this._front=0}u.prototype._willBeOverCapacity=function(f){return this._capacity"u"){var h=i.setImmediate,v=r.nextTick;u=f.isRecentNode?function(y){h.call(i,y)}:function(y){v.call(r,y)}}else if(typeof d=="function"&&typeof d.resolve=="function"){var g=d.resolve();u=function(y){g.then(y)}}else u=typeof MutationObserver>"u"||typeof window<"u"&&window.navigator&&(window.navigator.standalone||window.cordova)?o!==void 0?function(y){o(y)}:typeof setTimeout<"u"?function(y){setTimeout(y,0)}:function(){throw new Error(`No async scheduler available + + See http://goo.gl/MqrFmX +`)}:function(){var y=document.createElement("div"),x={attributes:!0},_=!1,b=document.createElement("div");return new MutationObserver(function(){y.classList.toggle("foo"),_=!1}).observe(b,x),function(w){var O=new MutationObserver(function(){O.disconnect(),w()});O.observe(y,x),_||(_=!0,b.classList.toggle("foo"))}}();s.exports=u},{"./util":36}],30:[function(a,s,l){s.exports=function(u,f,d){var h=u.PromiseInspection;function v(g){this.constructor$(g)}a("./util").inherits(v,f),v.prototype._promiseResolved=function(g,y){return this._values[g]=y,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},v.prototype._promiseFulfilled=function(g,y){var x=new h;return x._bitField=33554432,x._settledValueField=g,this._promiseResolved(y,x)},v.prototype._promiseRejected=function(g,y){var x=new h;return x._bitField=16777216,x._settledValueField=g,this._promiseResolved(y,x)},u.settle=function(g){return d.deprecated(".settle()",".reflect()"),new v(g).promise()},u.prototype.settle=function(){return u.settle(this)}}},{"./util":36}],31:[function(a,s,l){s.exports=function(u,f,d){var h=a("./util"),v=a("./errors").RangeError,g=a("./errors").AggregateError,y=h.isArray,x={};function _(w){this.constructor$(w),this._howMany=0,this._unwrap=!1,this._initialized=!1}function b(w,O){if((0|O)!==O||O<0)return d(`expecting a positive integer + + See http://goo.gl/MqrFmX +`);var E=new _(w),P=E.promise();return E.setHowMany(O),E.init(),P}h.inherits(_,f),_.prototype._init=function(){if(this._initialized)if(this._howMany!==0){this._init$(void 0,-5);var w=y(this._values);!this._isResolved()&&w&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}else this._resolve([])},_.prototype.init=function(){this._initialized=!0,this._init()},_.prototype.setUnwrap=function(){this._unwrap=!0},_.prototype.howMany=function(){return this._howMany},_.prototype.setHowMany=function(w){this._howMany=w},_.prototype._promiseFulfilled=function(w){return this._addFulfilled(w),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),this.howMany()===1&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},_.prototype._promiseRejected=function(w){return this._addRejected(w),this._checkOutcome()},_.prototype._promiseCancelled=function(){return this._values instanceof u||this._values==null?this._cancel():(this._addRejected(x),this._checkOutcome())},_.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var w=new g,O=this.length();O0?this._reject(w):this._cancel(),!0}return!1},_.prototype._fulfilled=function(){return this._totalResolved},_.prototype._rejected=function(){return this._values.length-this.length()},_.prototype._addRejected=function(w){this._values.push(w)},_.prototype._addFulfilled=function(w){this._values[this._totalResolved++]=w},_.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},_.prototype._getRangeError=function(w){var O="Input array must contain at least "+this._howMany+" items but contains only "+w+" items";return new v(O)},_.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},u.some=function(w,O){return b(w,O)},u.prototype.some=function(w){return b(this,w)},u._SomePromiseArray=_}},{"./errors":12,"./util":36}],32:[function(a,s,l){s.exports=function(u){function f(_){_!==void 0?(_=_._target(),this._bitField=_._bitField,this._settledValueField=_._isFateSealed()?_._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}f.prototype._settledValue=function(){return this._settledValueField};var d=f.prototype.value=function(){if(!this.isFulfilled())throw new TypeError(`cannot get fulfillment value of a non-fulfilled promise + + See http://goo.gl/MqrFmX +`);return this._settledValue()},h=f.prototype.error=f.prototype.reason=function(){if(!this.isRejected())throw new TypeError(`cannot get rejection reason of a non-rejected promise + + See http://goo.gl/MqrFmX +`);return this._settledValue()},v=f.prototype.isFulfilled=function(){return(33554432&this._bitField)!=0},g=f.prototype.isRejected=function(){return(16777216&this._bitField)!=0},y=f.prototype.isPending=function(){return(50397184&this._bitField)==0},x=f.prototype.isResolved=function(){return(50331648&this._bitField)!=0};f.prototype.isCancelled=function(){return(8454144&this._bitField)!=0},u.prototype.__isCancelled=function(){return(65536&this._bitField)==65536},u.prototype._isCancelled=function(){return this._target().__isCancelled()},u.prototype.isCancelled=function(){return(8454144&this._target()._bitField)!=0},u.prototype.isPending=function(){return y.call(this._target())},u.prototype.isRejected=function(){return g.call(this._target())},u.prototype.isFulfilled=function(){return v.call(this._target())},u.prototype.isResolved=function(){return x.call(this._target())},u.prototype.value=function(){return d.call(this._target())},u.prototype.reason=function(){var _=this._target();return _._unsetRejectionIsUnhandled(),h.call(_)},u.prototype._value=function(){return this._settledValue()},u.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},u.PromiseInspection=f}},{}],33:[function(a,s,l){s.exports=function(u,f){var d=a("./util"),h=d.errorObj,v=d.isObject,g={}.hasOwnProperty;return function(y,x){if(v(y)){if(y instanceof u)return y;var _=function(w){try{return function(O){return O.then}(w)}catch(O){return h.e=O,h}}(y);if(_===h){x&&x._pushContext();var b=u.reject(_.e);return x&&x._popContext(),b}if(typeof _=="function")return function(w){try{return g.call(w,"_promise0")}catch{return!1}}(y)?(b=new u(f),y._then(b._fulfill,b._reject,void 0,b,null),b):function(w,O,E){var P=new u(f),T=P;E&&E._pushContext(),P._captureStackTrace(),E&&E._popContext();var A=!0,D=d.tryCatch(O).call(w,function(k){P&&(P._resolveCallback(k),P=null)},function(k){P&&(P._rejectCallback(k,A,!0),P=null)});return A=!1,P&&D===h&&(P._rejectCallback(D.e,!0,!0),P=null),T}(y,_,x)}return y}}},{"./util":36}],34:[function(a,s,l){s.exports=function(u,f,d){var h=a("./util"),v=u.TimeoutError;function g(w){this.handle=w}g.prototype._resultCancelled=function(){clearTimeout(this.handle)};var y=function(w){return x(+this).thenReturn(w)},x=u.delay=function(w,O){var E,P;return O!==void 0?(E=u.resolve(O)._then(y,null,null,w,void 0),d.cancellation()&&O instanceof u&&E._setOnCancel(O)):(E=new u(f),P=setTimeout(function(){E._fulfill()},+w),d.cancellation()&&E._setOnCancel(new g(P)),E._captureStackTrace()),E._setAsyncGuaranteed(),E};function _(w){return clearTimeout(this.handle),w}function b(w){throw clearTimeout(this.handle),w}u.prototype.delay=function(w){return x(w,this)},u.prototype.timeout=function(w,O){var E,P;w=+w;var T=new g(setTimeout(function(){E.isPending()&&function(A,D,k){var I;I=typeof D!="string"?D instanceof Error?D:new v("operation timed out"):new v(D),h.markAsOriginatingFromRejection(I),A._attachExtraTrace(I),A._reject(I),k!=null&&k.cancel()}(E,O,P)},w));return d.cancellation()?(P=this.then(),(E=P._then(_,b,void 0,T,void 0))._setOnCancel(T)):E=this._then(_,b,void 0,T,void 0),E}}},{"./util":36}],35:[function(a,s,l){s.exports=function(u,f,d,h,v,g){var y=a("./util"),x=a("./errors").TypeError,_=a("./util").inherits,b=y.errorObj,w=y.tryCatch,O={};function E(I){setTimeout(function(){throw I},0)}function P(I,F){var q=0,W=I.length,X=new u(v);return function Q(){if(q>=W)return X._fulfill();var ne=function(Z){var z=d(Z);return z!==Z&&typeof Z._isDisposable=="function"&&typeof Z._getDisposer=="function"&&Z._isDisposable()&&z._setDisposable(Z._getDisposer()),z}(I[q++]);if(ne instanceof u&&ne._isDisposable()){try{ne=d(ne._getDisposer().tryDispose(F),I.promise)}catch(Z){return E(Z)}if(ne instanceof u)return ne._then(Q,E,null,null,null)}Q()}(),X}function T(I,F,q){this._data=I,this._promise=F,this._context=q}function A(I,F,q){this.constructor$(I,F,q)}function D(I){return T.isDisposer(I)?(this.resources[this.index]._setDisposable(I),I.promise()):I}function k(I){this.length=I,this.promise=null,this[I-1]=null}T.prototype.data=function(){return this._data},T.prototype.promise=function(){return this._promise},T.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():O},T.prototype.tryDispose=function(I){var F=this.resource(),q=this._context;q!==void 0&&q._pushContext();var W=F!==O?this.doDispose(F,I):null;return q!==void 0&&q._popContext(),this._promise._unsetDisposable(),this._data=null,W},T.isDisposer=function(I){return I!=null&&typeof I.resource=="function"&&typeof I.tryDispose=="function"},_(A,T),A.prototype.doDispose=function(I,F){return this.data().call(I,I,F)},k.prototype._resultCancelled=function(){for(var I=this.length,F=0;F0},u.prototype._getDisposer=function(){return this._disposer},u.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},u.prototype.disposer=function(I){if(typeof I=="function")return new A(I,this,h());throw new x}}},{"./errors":12,"./util":36}],36:[function(a,s,l){var u,f=a("./es5"),d=typeof navigator>"u",h={e:{}},v=typeof self<"u"?self:typeof window<"u"?window:i!==void 0?i:this!==void 0?this:null;function g(){try{var W=u;return u=null,W.apply(this,arguments)}catch(X){return h.e=X,h}}function y(W){return W==null||W===!0||W===!1||typeof W=="string"||typeof W=="number"}function x(W,X,Q){if(y(W))return W;var ne={value:Q,configurable:!0,enumerable:!1,writable:!0};return f.defineProperty(W,X,ne),W}var _=function(){var W=[Array.prototype,Object.prototype,Function.prototype],X=function(Z){for(var z=0;z1,ne=X.length>0&&!(X.length===1&&X[0]==="constructor"),Z=b.test(W+"")&&f.names(W).length>0;if(Q||ne||Z)return!0}return!1}catch{return!1}},isIdentifier:function(W){return w.test(W)},inheritedDataKeys:_,getDataPropertyOrDefault:function(W,X,Q){if(!f.isES5)return{}.hasOwnProperty.call(W,X)?W[X]:void 0;var ne=Object.getOwnPropertyDescriptor(W,X);return ne!=null?ne.get==null&&ne.set==null?ne.value:Q:void 0},thrower:function(W){throw W},isArray:f.isArray,asArray:D,notEnumerableProp:x,isPrimitive:y,isObject:function(W){return typeof W=="function"||typeof W=="object"&&W!==null},isError:E,canEvaluate:d,errorObj:h,tryCatch:function(W){return u=W,g},inherits:function(W,X){var Q={}.hasOwnProperty;function ne(){for(var Z in this.constructor=W,this.constructor$=X,X.prototype)Q.call(X.prototype,Z)&&Z.charAt(Z.length-1)!=="$"&&(this[Z+"$"]=X.prototype[Z])}return ne.prototype=X.prototype,W.prototype=new ne,W.prototype},withAppended:function(W,X){var Q,ne=W.length,Z=new Array(ne+1);for(Q=0;Q10||W[0]>0}(),q.isNode&&q.toFastProperties(r);try{throw new Error}catch(W){q.lastLineError=W}s.exports=q},{"./es5":13}]},{},[4])(4),typeof window<"u"&&window!==null?window.P=window.Promise:typeof self<"u"&&self!==null&&(self.P=self.Promise)}).call(this,n(4),n(0),n(11).setImmediate)},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(r,i){if(!i.eol&&r){for(var o=0,a=r.length;o0?(typeof H=="string"||ae.objectMode||Object.getPrototypeOf(H)===f.prototype||(H=function(fe){return f.from(fe)}(H)),K?ae.endEmitted?B.emit("error",new Error("stream.unshift() after end event")):P(B,ae,H,!0):ae.ended?B.emit("error",new Error("stream.push() after EOF")):(ae.reading=!1,ae.decoder&&!ee?(H=ae.decoder.write(H),ae.objectMode||H.length!==0?P(B,ae,H,!1):I(B,ae)):P(B,ae,H,!1))):K||(ae.reading=!1)),function(fe){return!fe.ended&&(fe.needReadable||fe.lengthH.highWaterMark&&(H.highWaterMark=function(ee){return ee>=T?ee=T:(ee--,ee|=ee>>>1,ee|=ee>>>2,ee|=ee>>>4,ee|=ee>>>8,ee|=ee>>>16,ee++),ee}(B)),B<=H.length?B:H.ended?H.length:(H.needReadable=!0,0))}function D(B){var H=B._readableState;H.needReadable=!1,H.emittedReadable||(g("emitReadable",H.flowing),H.emittedReadable=!0,H.sync?o.nextTick(k,B):k(B))}function k(B){g("emit readable"),B.emit("readable"),X(B)}function I(B,H){H.readingMore||(H.readingMore=!0,o.nextTick(F,B,H))}function F(B,H){for(var ee=H.length;!H.reading&&!H.flowing&&!H.ended&&H.length=H.length?(ee=H.decoder?H.buffer.join(""):H.buffer.length===1?H.buffer.head.data:H.buffer.concat(H.length),H.buffer.clear()):ee=function(K,te,ie){var ae;return KY.length?Y.length:fe;if(oe===Y.length?J+=Y:J+=Y.slice(0,fe),(fe-=oe)==0){oe===Y.length?(++U,N.next?j.head=N.next:j.head=j.tail=null):(j.head=N,N.data=Y.slice(oe));break}++U}return j.length-=U,J}(K,te):function(fe,j){var N=f.allocUnsafe(fe),U=j.head,J=1;for(U.data.copy(N),fe-=U.data.length;U=U.next;){var Y=U.data,oe=fe>Y.length?Y.length:fe;if(Y.copy(N,N.length-fe,0,oe),(fe-=oe)==0){oe===Y.length?(++J,U.next?j.head=U.next:j.head=j.tail=null):(j.head=U,U.data=Y.slice(oe));break}++J}return j.length-=J,N}(K,te),ae}(B,H.buffer,H.decoder),ee);var ee}function ne(B){var H=B._readableState;if(H.length>0)throw new Error('"endReadable()" called on non-empty stream');H.endEmitted||(H.ended=!0,o.nextTick(Z,H,B))}function Z(B,H){B.endEmitted||B.length!==0||(B.endEmitted=!0,H.readable=!1,H.emit("end"))}function z(B,H){for(var ee=0,K=B.length;ee=H.highWaterMark||H.ended))return g("read: emitReadable",H.length,H.ended),H.length===0&&H.ended?ne(this):D(this),null;if((B=A(B,H))===0&&H.ended)return H.length===0&&ne(this),null;var K,te=H.needReadable;return g("need readable",te),(H.length===0||H.length-B0?Q(B,H):null)===null?(H.needReadable=!0,B=0):H.length-=B,H.length===0&&(H.ended||(H.needReadable=!0),ee!==B&&H.ended&&ne(this)),K!==null&&this.emit("data",K),K},O.prototype._read=function(B){this.emit("error",new Error("_read() is not implemented"))},O.prototype.pipe=function(B,H){var ee=this,K=this._readableState;switch(K.pipesCount){case 0:K.pipes=B;break;case 1:K.pipes=[K.pipes,B];break;default:K.pipes.push(B)}K.pipesCount+=1,g("pipe count=%d opts=%j",K.pipesCount,H);var te=H&&H.end===!1||B===i.stdout||B===i.stderr?oe:ie;function ie(){g("onend"),B.end()}K.endEmitted?o.nextTick(te):ee.once("end",te),B.on("unpipe",function he(Oe,se){g("onunpipe"),Oe===ee&&se&&se.hasUnpiped===!1&&(se.hasUnpiped=!0,g("cleanup"),B.removeListener("close",J),B.removeListener("finish",Y),B.removeListener("drain",ae),B.removeListener("error",U),B.removeListener("unpipe",he),ee.removeListener("end",ie),ee.removeListener("end",oe),ee.removeListener("data",N),fe=!0,!K.awaitDrain||B._writableState&&!B._writableState.needDrain||ae())});var ae=function(he){return function(){var Oe=he._readableState;g("pipeOnDrain",Oe.awaitDrain),Oe.awaitDrain&&Oe.awaitDrain--,Oe.awaitDrain===0&&l(he,"data")&&(Oe.flowing=!0,X(he))}}(ee);B.on("drain",ae);var fe=!1,j=!1;function N(he){g("ondata"),j=!1,B.write(he)!==!1||j||((K.pipesCount===1&&K.pipes===B||K.pipesCount>1&&z(K.pipes,B)!==-1)&&!fe&&(g("false write response, pause",ee._readableState.awaitDrain),ee._readableState.awaitDrain++,j=!0),ee.pause())}function U(he){g("onerror",he),oe(),B.removeListener("error",U),l(B,"error")===0&&B.emit("error",he)}function J(){B.removeListener("finish",Y),oe()}function Y(){g("onfinish"),B.removeListener("close",J),oe()}function oe(){g("unpipe"),ee.unpipe(B)}return ee.on("data",N),function(he,Oe,se){if(typeof he.prependListener=="function")return he.prependListener(Oe,se);he._events&&he._events[Oe]?s(he._events[Oe])?he._events[Oe].unshift(se):he._events[Oe]=[se,he._events[Oe]]:he.on(Oe,se)}(B,"error",U),B.once("close",J),B.once("finish",Y),B.emit("pipe",ee),K.flowing||(g("pipe resume"),ee.resume()),B},O.prototype.unpipe=function(B){var H=this._readableState,ee={hasUnpiped:!1};if(H.pipesCount===0)return this;if(H.pipesCount===1)return B&&B!==H.pipes?this:(B||(B=H.pipes),H.pipes=null,H.pipesCount=0,H.flowing=!1,B&&B.emit("unpipe",this,ee),this);if(!B){var K=H.pipes,te=H.pipesCount;H.pipes=null,H.pipesCount=0,H.flowing=!1;for(var ie=0;ie>5==6?2:g>>4==14?3:g>>3==30?4:g>>6==2?-1:-2}function s(g){var y=this.lastTotal-this.lastNeed,x=function(_,b,w){if((192&b[0])!=128)return _.lastNeed=0,"�";if(_.lastNeed>1&&b.length>1){if((192&b[1])!=128)return _.lastNeed=1,"�";if(_.lastNeed>2&&b.length>2&&(192&b[2])!=128)return _.lastNeed=2,"�"}}(this,g);return x!==void 0?x:this.lastNeed<=g.length?(g.copy(this.lastChar,y,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(g.copy(this.lastChar,y,0,g.length),void(this.lastNeed-=g.length))}function l(g,y){if((g.length-y)%2==0){var x=g.toString("utf16le",y);if(x){var _=x.charCodeAt(x.length-1);if(_>=55296&&_<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=g[g.length-2],this.lastChar[1]=g[g.length-1],x.slice(0,-1)}return x}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=g[g.length-1],g.toString("utf16le",y,g.length-1)}function u(g){var y=g&&g.length?this.write(g):"";if(this.lastNeed){var x=this.lastTotal-this.lastNeed;return y+this.lastChar.toString("utf16le",0,x)}return y}function f(g,y){var x=(g.length-y)%3;return x===0?g.toString("base64",y):(this.lastNeed=3-x,this.lastTotal=3,x===1?this.lastChar[0]=g[g.length-1]:(this.lastChar[0]=g[g.length-2],this.lastChar[1]=g[g.length-1]),g.toString("base64",y,g.length-x))}function d(g){var y=g&&g.length?this.write(g):"";return this.lastNeed?y+this.lastChar.toString("base64",0,3-this.lastNeed):y}function h(g){return g.toString(this.encoding)}function v(g){return g&&g.length?this.write(g):""}t.StringDecoder=o,o.prototype.write=function(g){if(g.length===0)return"";var y,x;if(this.lastNeed){if((y=this.fillLast(g))===void 0)return"";x=this.lastNeed,this.lastNeed=0}else x=0;return x=0?(P>0&&(b.lastNeed=P-1),P):--E=0?(P>0&&(b.lastNeed=P-2),P):--E=0?(P>0&&(P===2?P=0:b.lastNeed=P-3),P):0}(this,g,y);if(!this.lastNeed)return g.toString("utf8",y);this.lastTotal=x;var _=g.length-(x-this.lastNeed);return g.copy(this.lastChar,0,_),g.toString("utf8",y,_)},o.prototype.fillLast=function(g){if(this.lastNeed<=g.length)return g.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);g.copy(this.lastChar,this.lastTotal-this.lastNeed,0,g.length),this.lastNeed-=g.length}},function(e,t,n){e.exports=o;var r=n(1),i=n(5);function o(l){if(!(this instanceof o))return new o(l);r.call(this,l),this._transformState={afterTransform:(function(u,f){var d=this._transformState;d.transforming=!1;var h=d.writecb;if(!h)return this.emit("error",new Error("write callback called multiple times"));d.writechunk=null,d.writecb=null,f!=null&&this.push(f),h(u);var v=this._readableState;v.reading=!1,(v.needReadable||v.length-1&&a.push(i[s]);return a},t.trimLeft=String.prototype.trimLeft?function(i){return i.trimLeft()}:function(i){return i.replace(/^\s+/,"")},t.trimRight=String.prototype.trimRight?function(i){return i.trimRight()}:function(i){return i.replace(/\s+$/,"")}}).call(this,n(3).Buffer)},function(e,t,n){var r=this&&this.__extends||function(){var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,s){a.__proto__=s}||function(a,s){for(var l in s)s.hasOwnProperty(l)&&(a[l]=s[l])};return function(a,s){function l(){this.constructor=a}o(a,s),a.prototype=s===null?Object.create(s):(l.prototype=s.prototype,new l)}}();Object.defineProperty(t,"__esModule",{value:!0});var i=function(o){function a(s,l,u){var f=o.call(this,"Error: "+s+". JSON Line number: "+l+(u?" near: "+u:""))||this;return f.err=s,f.line=l,f.extra=u,f.name="CSV Parse Error",f}return r(a,o),a.column_mismatched=function(s,l){return new a("column_mismatched",s,l)},a.unclosed_quote=function(s,l){return new a("unclosed_quote",s,l)},a.fromJSON=function(s){return new a(s.err,s.line,s.extra)},a.prototype.toJSON=function(){return{err:this.err,line:this.line,extra:this.extra}},a}(Error);t.default=i},function(e,t,n){var r=n(18),i=n(68),o=n(69),a=r?r.toStringTag:void 0;e.exports=function(s){return s==null?s===void 0?"[object Undefined]":"[object Null]":a&&a in Object(s)?i(s):o(s)}},function(e,t){e.exports=function(n,r){return n===r||n!=n&&r!=r}},function(e,t,n){e.exports=n(33)},function(e,t,n){var r=n(34),i=function(o,a){return new r.Converter(o,a)};i.csv=i,i.Converter=r.Converter,e.exports=i},function(e,t,n){(function(r){var i=this&&this.__extends||function(){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,y){g.__proto__=y}||function(g,y){for(var x in y)y.hasOwnProperty(x)&&(g[x]=y[x])};return function(g,y){function x(){this.constructor=g}v(g,y),g.prototype=y===null?Object.create(y):(x.prototype=y.prototype,new x)}}(),o=this&&this.__importDefault||function(v){return v&&v.__esModule?v:{default:v}};Object.defineProperty(t,"__esModule",{value:!0});var a=n(36),s=n(50),l=n(51),u=o(n(15)),f=n(52),d=n(105),h=function(v){function g(y,x){x===void 0&&(x={});var _=v.call(this,x)||this;return _.options=x,_.params=s.mergeParams(y),_.runtime=l.initParseRuntime(_),_.result=new d.Result(_),_.processor=new f.ProcessorLocal(_),_.once("error",function(b){r(function(){_.result.processError(b),_.emit("done",b)})}),_.once("done",function(){_.processor.destroy()}),_}return i(g,v),g.prototype.preRawData=function(y){return this.runtime.preRawDataHook=y,this},g.prototype.preFileLine=function(y){return this.runtime.preFileLineHook=y,this},g.prototype.subscribe=function(y,x,_){return this.parseRuntime.subscribe={onNext:y,onError:x,onCompleted:_},this},g.prototype.fromFile=function(y,x){var _=this,b=n(!function(){var w=new Error("Cannot find module 'fs'");throw w.code="MODULE_NOT_FOUND",w}());return b.exists(y,function(w){w?b.createReadStream(y,x).pipe(_):_.emit("error",new Error("File does not exist. Check to make sure the file path to your csv is correct."))}),this},g.prototype.fromStream=function(y){return y.pipe(this),this},g.prototype.fromString=function(y){y.toString();var x=new a.Readable,_=0;return x._read=function(b){if(_>=y.length)this.push(null);else{var w=y.substr(_,b);this.push(w),_+=b}},this.fromStream(x)},g.prototype.then=function(y,x){var _=this;return new u.default(function(b,w){_.parseRuntime.then={onfulfilled:function(O){b(y?y(O):O)},onrejected:function(O){x?b(x(O)):w(O)}}})},Object.defineProperty(g.prototype,"parseParam",{get:function(){return this.params},enumerable:!0,configurable:!0}),Object.defineProperty(g.prototype,"parseRuntime",{get:function(){return this.runtime},enumerable:!0,configurable:!0}),g.prototype._transform=function(y,x,_){var b=this;this.processor.process(y).then(function(w){if(w.length>0)return b.runtime.started=!0,b.result.processResult(w)}).then(function(){b.emit("drained"),_()},function(w){b.runtime.hasError=!0,b.runtime.error=w,b.emit("error",w),_()})},g.prototype._flush=function(y){var x=this;this.processor.flush().then(function(_){if(_.length>0)return x.result.processResult(_)}).then(function(){x.processEnd(y)},function(_){x.emit("error",_),y()})},g.prototype.processEnd=function(y){this.result.endProcess(),this.emit("done"),y()},Object.defineProperty(g.prototype,"parsedLineNumber",{get:function(){return this.runtime.parsedLineNumber},enumerable:!0,configurable:!0}),g}(a.Transform);t.Converter=h}).call(this,n(11).setImmediate)},function(e,t,n){(function(r,i){(function(o,a){if(!o.setImmediate){var s,l=1,u={},f=!1,d=o.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(o);h=h&&h.setTimeout?h:o,{}.toString.call(o.process)==="[object process]"?s=function(y){i.nextTick(function(){g(y)})}:function(){if(o.postMessage&&!o.importScripts){var y=!0,x=o.onmessage;return o.onmessage=function(){y=!1},o.postMessage("","*"),o.onmessage=x,y}}()?function(){var y="setImmediate$"+Math.random()+"$",x=function(_){_.source===o&&typeof _.data=="string"&&_.data.indexOf(y)===0&&g(+_.data.slice(y.length))};o.addEventListener?o.addEventListener("message",x,!1):o.attachEvent("onmessage",x),s=function(_){o.postMessage(y+_,"*")}}():o.MessageChannel?function(){var y=new MessageChannel;y.port1.onmessage=function(x){g(x.data)},s=function(x){y.port2.postMessage(x)}}():d&&"onreadystatechange"in d.createElement("script")?function(){var y=d.documentElement;s=function(x){var _=d.createElement("script");_.onreadystatechange=function(){g(x),_.onreadystatechange=null,y.removeChild(_),_=null},y.appendChild(_)}}():s=function(y){setTimeout(g,0,y)},h.setImmediate=function(y){typeof y!="function"&&(y=new Function(""+y));for(var x=new Array(arguments.length-1),_=0;_"u"?r===void 0?this:r:self)}).call(this,n(0),n(4))},function(e,t,n){e.exports=i;var r=n(12).EventEmitter;function i(){r.call(this)}n(2)(i,r),i.Readable=n(13),i.Writable=n(46),i.Duplex=n(47),i.Transform=n(48),i.PassThrough=n(49),i.Stream=i,i.prototype.pipe=function(o,a){var s=this;function l(y){o.writable&&o.write(y)===!1&&s.pause&&s.pause()}function u(){s.readable&&s.resume&&s.resume()}s.on("data",l),o.on("drain",u),o._isStdio||a&&a.end===!1||(s.on("end",d),s.on("close",h));var f=!1;function d(){f||(f=!0,o.end())}function h(){f||(f=!0,typeof o.destroy=="function"&&o.destroy())}function v(y){if(g(),r.listenerCount(this,"error")===0)throw y}function g(){s.removeListener("data",l),o.removeListener("drain",u),s.removeListener("end",d),s.removeListener("close",h),s.removeListener("error",v),o.removeListener("error",v),s.removeListener("end",g),s.removeListener("close",g),o.removeListener("close",g)}return s.on("error",v),o.on("error",v),s.on("end",g),s.on("close",g),o.on("close",g),o.emit("pipe",s),o}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(r){return n.call(r)=="[object Array]"}},function(e,t,n){t.byteLength=function(h){var v=u(h),g=v[0],y=v[1];return 3*(g+y)/4-y},t.toByteArray=function(h){for(var v,g=u(h),y=g[0],x=g[1],_=new o(3*(y+x)/4-x),b=0,w=x>0?y-4:y,O=0;O>16&255,_[b++]=v>>8&255,_[b++]=255&v;return x===2&&(v=i[h.charCodeAt(O)]<<2|i[h.charCodeAt(O+1)]>>4,_[b++]=255&v),x===1&&(v=i[h.charCodeAt(O)]<<10|i[h.charCodeAt(O+1)]<<4|i[h.charCodeAt(O+2)]>>2,_[b++]=v>>8&255,_[b++]=255&v),_},t.fromByteArray=function(h){for(var v,g=h.length,y=g%3,x=[],_=0,b=g-y;_b?b:_+16383));return y===1?(v=h[g-1],x.push(r[v>>2]+r[v<<4&63]+"==")):y===2&&(v=(h[g-2]<<8)+h[g-1],x.push(r[v>>10]+r[v>>4&63]+r[v<<2&63]+"=")),x.join("")};for(var r=[],i=[],o=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var g=h.indexOf("=");return g===-1&&(g=v),[g,g===v?0:4-g%4]}function f(h){return r[h>>18&63]+r[h>>12&63]+r[h>>6&63]+r[63&h]}function d(h,v,g){for(var y,x=[],_=v;_>1,h=-7,v=i?a-1:0,g=i?-1:1,y=n[r+v];for(v+=g,s=y&(1<<-h)-1,y>>=-h,h+=u;h>0;s=256*s+n[r+v],v+=g,h-=8);for(l=s&(1<<-h)-1,s>>=-h,h+=o;h>0;l=256*l+n[r+v],v+=g,h-=8);if(s===0)s=1-d;else{if(s===f)return l?NaN:1/0*(y?-1:1);l+=Math.pow(2,o),s-=d}return(y?-1:1)*l*Math.pow(2,s-o)},t.write=function(n,r,i,o,a,s){var l,u,f,d=8*s-a-1,h=(1<>1,g=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,y=o?0:s-1,x=o?1:-1,_=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(u=isNaN(r)?1:0,l=h):(l=Math.floor(Math.log(r)/Math.LN2),r*(f=Math.pow(2,-l))<1&&(l--,f*=2),(r+=l+v>=1?g/f:g*Math.pow(2,1-v))*f>=2&&(l++,f/=2),l+v>=h?(u=0,l=h):l+v>=1?(u=(r*f-1)*Math.pow(2,a),l+=v):(u=r*Math.pow(2,v-1)*Math.pow(2,a),l=0));a>=8;n[i+y]=255&u,y+=x,u/=256,a-=8);for(l=l<0;n[i+y]=255&l,y+=x,l/=256,d-=8);n[i+y-x]|=128*_}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(r){return n.call(r)=="[object Array]"}},function(e,t){},function(e,t,n){var r=n(7).Buffer,i=n(43);function o(a,s,l){a.copy(s,l)}e.exports=function(){function a(){(function(s,l){if(!(s instanceof l))throw new TypeError("Cannot call a class as a function")})(this,a),this.head=null,this.tail=null,this.length=0}return a.prototype.push=function(s){var l={data:s,next:null};this.length>0?this.tail.next=l:this.head=l,this.tail=l,++this.length},a.prototype.unshift=function(s){var l={data:s,next:this.head};this.length===0&&(this.tail=l),this.head=l,++this.length},a.prototype.shift=function(){if(this.length!==0){var s=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,s}},a.prototype.clear=function(){this.head=this.tail=null,this.length=0},a.prototype.join=function(s){if(this.length===0)return"";for(var l=this.head,u=""+l.data;l=l.next;)u+=s+l.data;return u},a.prototype.concat=function(s){if(this.length===0)return r.alloc(0);if(this.length===1)return this.head.data;for(var l=r.allocUnsafe(s>>>0),u=this.head,f=0;u;)o(u.data,l,f),f+=u.data.length,u=u.next;return l},a}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var a=i.inspect({length:this.length});return this.constructor.name+" "+a})},function(e,t){},function(e,t,n){(function(r){function i(o){try{if(!r.localStorage)return!1}catch{return!1}var a=r.localStorage[o];return a!=null&&String(a).toLowerCase()==="true"}e.exports=function(o,a){if(i("noDeprecation"))return o;var s=!1;return function(){if(!s){if(i("throwDeprecation"))throw new Error(a);i("traceDeprecation")?console.trace(a):console.warn(a),s=!0}return o.apply(this,arguments)}}}).call(this,n(0))},function(e,t,n){e.exports=o;var r=n(27),i=n(5);function o(a){if(!(this instanceof o))return new o(a);r.call(this,a)}i.inherits=n(2),i.inherits(o,r),o.prototype._transform=function(a,s,l){l(null,a)}},function(e,t,n){e.exports=n(14)},function(e,t,n){e.exports=n(1)},function(e,t,n){e.exports=n(13).Transform},function(e,t,n){e.exports=n(13).PassThrough},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.mergeParams=function(r){var i={delimiter:",",ignoreColumns:void 0,includeColumns:void 0,quote:'"',trim:!0,checkType:!1,ignoreEmpty:!1,noheader:!1,headers:void 0,flatKeys:!1,maxRowLength:0,checkColumn:!1,escape:'"',colParser:{},eol:void 0,alwaysSplitAtEOL:!1,output:"json",nullObject:!1,downstreamFormat:"line",needEmitAll:!0};for(var o in r||(r={}),r)r.hasOwnProperty(o)&&(Array.isArray(r[o])?i[o]=[].concat(r[o]):i[o]=r[o]);return i}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.initParseRuntime=function(r){var i=r.parseParam,o={needProcessIgnoreColumn:!1,needProcessIncludeColumn:!1,selectedColumns:void 0,ended:!1,hasError:!1,error:void 0,delimiter:r.parseParam.delimiter,eol:r.parseParam.eol,columnConv:[],headerType:[],headerTitle:[],headerFlag:[],headers:void 0,started:!1,parsedLineNumber:0,columnValueSetter:[]};return i.ignoreColumns&&(o.needProcessIgnoreColumn=!0),i.includeColumns&&(o.needProcessIncludeColumn=!0),o}},function(e,t,n){(function(r){var i=this&&this.__extends||function(){var x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_,b){_.__proto__=b}||function(_,b){for(var w in b)b.hasOwnProperty(w)&&(_[w]=b[w])};return function(_,b){function w(){this.constructor=_}x(_,b),_.prototype=b===null?Object.create(b):(w.prototype=b.prototype,new w)}}(),o=this&&this.__importDefault||function(x){return x&&x.__esModule?x:{default:x}};Object.defineProperty(t,"__esModule",{value:!0});var a=n(53),s=o(n(15)),l=n(54),u=o(n(16)),f=n(57),d=n(28),h=n(58),v=o(n(59)),g=o(n(29)),y=function(x){function _(){var b=x!==null&&x.apply(this,arguments)||this;return b.rowSplit=new h.RowSplit(b.converter),b.eolEmitted=!1,b._needEmitEol=void 0,b.headEmitted=!1,b._needEmitHead=void 0,b}return i(_,x),_.prototype.flush=function(){var b=this;if(this.runtime.csvLineBuffer&&this.runtime.csvLineBuffer.length>0){var w=this.runtime.csvLineBuffer;return this.runtime.csvLineBuffer=void 0,this.process(w,!0).then(function(O){return b.runtime.csvLineBuffer&&b.runtime.csvLineBuffer.length>0?s.default.reject(g.default.unclosed_quote(b.runtime.parsedLineNumber,b.runtime.csvLineBuffer.toString())):s.default.resolve(O)})}return s.default.resolve([])},_.prototype.destroy=function(){return s.default.resolve()},Object.defineProperty(_.prototype,"needEmitEol",{get:function(){return this._needEmitEol===void 0&&(this._needEmitEol=this.converter.listeners("eol").length>0),this._needEmitEol},enumerable:!0,configurable:!0}),Object.defineProperty(_.prototype,"needEmitHead",{get:function(){return this._needEmitHead===void 0&&(this._needEmitHead=this.converter.listeners("header").length>0),this._needEmitHead},enumerable:!0,configurable:!0}),_.prototype.process=function(b,w){var O,E=this;return w===void 0&&(w=!1),O=w?b.toString():l.prepareData(b,this.converter.parseRuntime),s.default.resolve().then(function(){return E.runtime.preRawDataHook?E.runtime.preRawDataHook(O):O}).then(function(P){return P&&P.length>0?E.processCSV(P,w):s.default.resolve([])})},_.prototype.processCSV=function(b,w){var O=this,E=this.params,P=this.runtime;P.eol||u.default(b,P),this.needEmitEol&&!this.eolEmitted&&P.eol&&(this.converter.emit("eol",P.eol),this.eolEmitted=!0),E.ignoreEmpty&&!P.started&&(b=d.trimLeft(b));var T=f.stringToLines(b,P);return w?(T.lines.push(T.partial),T.partial=""):this.prependLeftBuf(d.bufFromString(T.partial)),T.lines.length>0?(P.preFileLineHook?this.runPreLineHook(T.lines):s.default.resolve(T.lines)).then(function(A){return P.started||O.runtime.headers?O.processCSVBody(A):O.processDataWithHead(A)}):s.default.resolve([])},_.prototype.processDataWithHead=function(b){if(this.params.noheader)this.params.headers?this.runtime.headers=this.params.headers:this.runtime.headers=[];else{for(var w="",O=[];b.length;){var E=w+b.shift(),P=this.rowSplit.parse(E);if(P.closed){O=P.cells,w="";break}w=E+u.default(E,this.runtime)}if(this.prependLeftBuf(d.bufFromString(w)),O.length===0)return[];this.params.headers?this.runtime.headers=this.params.headers:this.runtime.headers=O}return(this.runtime.needProcessIgnoreColumn||this.runtime.needProcessIncludeColumn)&&this.filterHeader(),this.needEmitHead&&!this.headEmitted&&(this.converter.emit("header",this.runtime.headers),this.headEmitted=!0),this.processCSVBody(b)},_.prototype.filterHeader=function(){if(this.runtime.selectedColumns=[],this.runtime.headers){for(var b=this.runtime.headers,w=0;w=T.length)k();else if(A.preFileLineHook){var I=T[D],F=A.preFileLineHook(I,A.parsedLineNumber+D);if(D++,F&&F.then)F.then(function(q){T[D-1]=q,P(T,A,D,k)});else{for(T[D-1]=F;D0?r.concat([d.csvLineBuffer,f]):f}(a,s);s.csvLineBuffer=void 0;var u=function(f,d){var h=f.length-1;if(128&f[h]){for(;(192&f[h])==128;)h--;h--}return h!=f.length-1?(d.csvLineBuffer=f.slice(h+1),f.slice(0,h+1)):f}(l,s).toString("utf8");return s.started===!1?o.default(u):u}}).call(this,n(3).Buffer)},function(e,t,n){(function(r){var i=n(56);e.exports=function(o){return typeof o=="string"&&o.charCodeAt(0)===65279?o.slice(1):r.isBuffer(o)&&i(o)&&o[0]===239&&o[1]===187&&o[2]===191?o.slice(3):o}}).call(this,n(3).Buffer)},function(e,t){e.exports=function(n){for(var r=0;r0),this._needEmitDelimiter},enumerable:!0,configurable:!0}),l.prototype.parse=function(u){if(u.length===0||this.conv.parseParam.ignoreEmpty&&u.trim().length===0)return{cells:[],closed:!0};var f=this.quote,d=this.trim;this.escape,(this.conv.parseRuntime.delimiter instanceof Array||this.conv.parseRuntime.delimiter.toLowerCase()==="auto")&&(this.conv.parseRuntime.delimiter=this.getDelimiter(u)),this.needEmitDelimiter&&!this.delimiterEmitted&&(this.conv.emit("delimiter",this.conv.parseRuntime.delimiter),this.delimiterEmitted=!0);var h=this.conv.parseRuntime.delimiter,v=u.split(h);if(f==="off"){if(d)for(var g=0;gd&&(h=v,d=g)}),h},l.prototype.isQuoteOpen=function(u){var f=this.quote,d=this.escape;return u[0]===f&&(u[1]!==f||u[1]===d&&(u[2]===f||u.length===2))},l.prototype.isQuoteClose=function(u){var f=this.quote,d=this.escape;this.conv.parseParam.trim&&(u=o.trimRight(u));for(var h=0,v=u.length-1;u[v]===f||u[v]===d;)v--,h++;return h%2!=0},l.prototype.escapeQuote=function(u){var f="es|"+this.quote+"|"+this.escape;this.cachedRegExp[f]===void 0&&(this.cachedRegExp[f]=new RegExp("\\"+this.escape+"\\"+this.quote,"g"));var d=this.cachedRegExp[f];return u.replace(d,this.quote)},l.prototype.parseMultiLines=function(u){for(var f=[],d="";u.length;){var h=d+u.shift(),v=this.parse(h);v.cells.length===0&&this.conv.parseParam.ignoreEmpty||(v.closed||this.conv.parseParam.alwaysSplitAtEOL?(this.conv.parseRuntime.selectedColumns?f.push(o.filterArray(v.cells,this.conv.parseRuntime.selectedColumns)):f.push(v.cells),d=""):d=h+(i.default(h,this.conv.parseRuntime)||` +`))}return{rowsCells:f,partial:d}},l}();t.RowSplit=s},function(e,t,n){var r=this&&this.__importDefault||function(_){return _&&_.__esModule?_:{default:_}};Object.defineProperty(t,"__esModule",{value:!0});var i=r(n(29)),o=r(n(60)),a=/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/;function s(_,b,w){if(b.parseParam.checkColumn&&b.parseRuntime.headers&&_.length!==b.parseRuntime.headers.length)throw i.default.column_mismatched(b.parseRuntime.parsedLineNumber+w);return function(O,E,P){for(var T=!1,A={},D=0,k=O.length;D-1){for(var P=b.split("."),T=!0;P.length>0;)if(P.shift().length===0){T=!1;break}!T||O.parseParam.colParser[b]&&O.parseParam.colParser[b].flat?O.parseRuntime.columnValueSetter[E]=d:O.parseRuntime.columnValueSetter[E]=h}else O.parseRuntime.columnValueSetter[E]=d;O.parseParam.nullObject===!0&&w==="null"&&(w=null),O.parseRuntime.columnValueSetter[E](_,b,w)}function d(_,b,w){_[b]=w}function h(_,b,w){o.default(_,b,w)}function v(_,b,w,O){return O.parseRuntime.headerType[w]?O.parseRuntime.headerType[w]:b.indexOf("number#!")>-1?O.parseRuntime.headerType[w]=g:b.indexOf("string#!")>-1?O.parseRuntime.headerType[w]=y:O.parseParam.checkType?O.parseRuntime.headerType[w]=x:O.parseRuntime.headerType[w]=y}function g(_){var b=parseFloat(_);return isNaN(b)?_:b}function y(_){return _.toString()}function x(_){var b=_.trim();return b===""?y(_):a.test(b)?g(_):b.length===5&&b.toLowerCase()==="false"||b.length===4&&b.toLowerCase()==="true"?function(w){var O=w.trim();return O.length!==5||O.toLowerCase()!=="false"}(_):b[0]==="{"&&b[b.length-1]==="}"||b[0]==="["&&b[b.length-1]==="]"?function(w){try{return JSON.parse(w)}catch{return w}}(_):y(_)}},function(e,t,n){var r=n(61);e.exports=function(i,o,a){return i==null?i:r(i,o,a)}},function(e,t,n){var r=n(62),i=n(74),o=n(103),a=n(20),s=n(104);e.exports=function(l,u,f,d){if(!a(l))return l;for(var h=-1,v=(u=i(u,l)).length,g=v-1,y=l;y!=null&&++h-1}},function(e,t,n){var r=n(9);e.exports=function(i,o){var a=this.__data__,s=r(a,i);return s<0?(++this.size,a.push([i,o])):a[s][1]=o,this}},function(e,t,n){var r=n(17)(n(19),"Map");e.exports=r},function(e,t,n){var r=n(10);e.exports=function(i){var o=r(this,i).delete(i);return this.size-=o?1:0,o}},function(e,t){e.exports=function(n){var r=typeof n;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?n!=="__proto__":n===null}},function(e,t,n){var r=n(10);e.exports=function(i){return r(this,i).get(i)}},function(e,t,n){var r=n(10);e.exports=function(i){return r(this,i).has(i)}},function(e,t,n){var r=n(10);e.exports=function(i,o){var a=r(this,i),s=a.size;return a.set(i,o),this.size+=a.size==s?0:1,this}},function(e,t,n){var r=n(101);e.exports=function(i){return i==null?"":r(i)}},function(e,t,n){var r=n(18),i=n(102),o=n(21),a=n(22),s=r?r.prototype:void 0,l=s?s.toString:void 0;e.exports=function u(f){if(typeof f=="string")return f;if(o(f))return i(f,u)+"";if(a(f))return l?l.call(f):"";var d=f+"";return d=="0"&&1/f==-1/0?"-0":d}},function(e,t){e.exports=function(n,r){for(var i=-1,o=n==null?0:n.length,a=Array(o);++i-1&&r%1==0&&r0||this.converter.listeners("readable").length>0),this._needPushDownstream},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"needEmitAll",{get:function(){return!!this.converter.parseRuntime.then&&this.converter.parseParam.needEmitAll},enumerable:!0,configurable:!0}),l.prototype.processResult=function(u){var f=this,d=this.converter.parseRuntime.parsedLineNumber;return this.needPushDownstream&&this.converter.parseParam.downstreamFormat==="array"&&d===0&&s(this.converter,"["+o.EOL),new i.default(function(h,v){f.needEmitLine?function g(y,x,_,b,w){if(_>=y.length)w();else if(x.parseRuntime.subscribe&&x.parseRuntime.subscribe.onNext){var O=x.parseRuntime.subscribe.onNext,E=y[_],P=O(E,x.parseRuntime.parsedLineNumber+_);if(_++,P&&P.then)P.then(function(){(function(A,D,k,I,F,q,W){F&&s(k,W),g(A,k,I,F,q)})(y,0,x,_,b,w,E)},w);else{for(b&&s(x,E);_new Promise(t=>{RFe().fromString(e).then(t)}),$Fe=new SF,IFe=e=>$Fe.parse(e),DFe="shlink",U$=e=>`${DFe}.${e}`;class FFe{constructor(t){Jl(this,"get",t=>{const n=this.localStorage.getItem(U$(t));return n?JSON.parse(n):void 0});Jl(this,"set",(t,n)=>this.localStorage.setItem(U$(t),JSON.stringify(n)));this.localStorage=t}}class BFe{constructor(t){this.storage=t}getTagColors(){return this.storage.get("colors")??{}}storeTagColors(t){this.storage.set("colors",t)}}const UFe=e=>{e.constant("localStorage",window.localStorage),e.service("Storage",FFe,"localStorage"),e.service("TagColorsStorage",BFe,"Storage"),e.constant("csvToJson",LFe),e.constant("jsonToCsv",IFe),e.serviceFactory("useTimeoutToggle",()=>M8)},Vl=new ND,{container:ZT}=Vl,zFe=(e,t)=>(...n)=>e[t](...n),VFe=(e,t)=>({...e,[t]:zFe(ZT,t)}),WFe=e=>t=>Object.fromEntries(e.map(n=>[n,t[n]])),d1=(e,t=[])=>lD(e?WFe(e):null,t.reduce(VFe,{}));_ue(Vl,d1);_8e(Vl,d1);XY(Vl);aFe(Vl,d1);UFe(Vl);NFe(Vl,d1);var XT={},oE={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isPlainObject=t.clone=t.recursive=t.merge=t.main=void 0,e.exports=t=n,t.default=n;function n(){for(var u=[],f=0;fz.length)&&(B=z.length);for(var H=0,ee=Array(B);HrC({appUpdated:bue,servers:z8e,selectedServer:e.selectedServerReducer,settings:_Fe}),qFe=e=>{var t;return e.settings&&((t=e.settings.visits)==null?void 0:t.defaultInterval)==="last180days"&&e.settings.visits&&(e.settings.visits.defaultInterval="last180Days"),e},KFe=!0,jV={states:["settings","servers"],namespace:"shlink",namespaceSeparator:".",debounce:300},YFe=qFe(XT.load(jV)),ZFe=e=>J8({devTools:!KFe,reducer:GFe(e),preloadedState:YFe,middleware:t=>t({immutableCheck:!1,serializableCheck:!1}).concat(XT.save(jV))}),XFe=!!(window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function QFe(e){if("serviceWorker"in navigator){if(new URL($g.homepage,window.location.href).origin!==window.location.origin)return;window.addEventListener("load",()=>{const n=`${$g.homepage}/service-worker.js`;XFe?(JFe(n,e),navigator.serviceWorker.ready.then(()=>{console.log("This web app is being served cache-first by a service worker. To learn more, visit https://cra.link/PWA")})):AV(n,e)})}}function AV(e,t){navigator.serviceWorker.register(e).then(n=>{n.onupdatefound=()=>{const r=n.installing;r!=null&&(r.onstatechange=()=>{r.state==="installed"&&(navigator.serviceWorker.controller?(console.log("New content is available and will be used when all tabs for this page are closed. See https://cra.link/PWA."),t&&t.onUpdate&&t.onUpdate(n)):(console.log("Content is cached for offline use."),t&&t.onSuccess&&t.onSuccess(n)))})}}).catch(n=>{console.error("Error during service worker registration:",n)})}function JFe(e,t){fetch(e,{headers:{"Service-Worker":"script"}}).then(n=>{const r=n.headers.get("content-type");n.status===404||r!=null&&r.indexOf("javascript")===-1?navigator.serviceWorker.ready.then(i=>{i.unregister().then(()=>{window.location.reload()})}):AV(e,t)}).catch(()=>{console.log("No internet connection found. App is running in offline mode.")})}const kV=ZFe(ZT),{App:e7e,ScrollToTop:t7e,ErrorHandler:n7e,appUpdateAvailable:r7e}=ZT;tD(document.getElementById("root")).render(m.jsx(uD,{store:kV,children:m.jsx(_D,{basename:$g.homepage,children:m.jsx(n7e,{children:m.jsx(t7e,{children:m.jsx(e7e,{})})})})}));QFe({onUpdate(){kV.dispatch(r7e())}}); diff --git a/feature/fixes/assets/index-CRq0OH9C.css b/feature/fixes/assets/index-CRq0OH9C.css new file mode 100644 index 00000000..86195a3d --- /dev/null +++ b/feature/fixes/assets/index-CRq0OH9C.css @@ -0,0 +1,6 @@ +@charset "UTF-8";.app-update-banner.app-update-banner{position:absolute;left:50%;transform:translate(-50%);position:fixed;top:31px;padding:0 4rem 0 0;z-index:1040;margin:0;color:var(--text-color);text-align:center;width:700px;max-width:calc(100% - 30px);box-shadow:0 0 1rem var(--brand-color)}.app-container{height:100%}.app{padding-top:56px;height:100%}.shlink-wrapper{min-height:100%;padding-bottom:3.1rem;margin-bottom:-3.1rem}.shlink-footer{height:2.3rem;margin-top:.8rem;padding:0}@media (min-width: 768px){.shlink-footer{padding:0 15px}}.servers-list__list-group.servers-list__list-group{width:100%}.servers-list__list-group:not(.servers-list__list-group--embedded){max-width:400px;box-shadow:0 .125rem .25rem #00000013}.servers-list__server-item.servers-list__server-item{text-align:left;position:relative;padding:.75rem 2.5rem .75rem 1rem}.servers-list__server-item:not(:hover){color:#4696e5}.servers-list__server-item:hover{background-color:var(--secondary-color)}.servers-list__server-item-icon{position:absolute;top:50%;transform:translateY(-50%);right:1rem}.servers-list__list-group--embedded.servers-list__list-group--embedded{border-radius:0;border-top:1px solid var(--border-color)}@media (min-width: 768px){.servers-list__list-group--embedded.servers-list__list-group--embedded{max-height:220px;overflow-x:auto;scrollbar-color:rgba(0,0,0,.2) #f5f5f5;scrollbar-width:thin}.servers-list__list-group--embedded.servers-list__list-group--embedded::-webkit-scrollbar{width:6px;background-color:#f5f5f5}.servers-list__list-group--embedded.servers-list__list-group--embedded::-webkit-scrollbar-thumb{background-color:#0003;border-radius:.5rem}}.servers-list__list-group--embedded.servers-list__list-group--embedded .servers-list__server-item{border:none;border-bottom:1px solid var(--border-color)}.home{position:relative;padding-top:15px;width:100%}@media (min-width: 768px){.home{padding-top:0;height:calc(100vh - 56px - 3.1rem)}}.home__logo-wrapper{padding:1.5rem!important;height:100%!important;min-height:300px}.home__logo{position:absolute;top:50%;transform:translateY(-50%);width:calc(300.024px - 3rem)}.home__main-card{margin:0 auto;max-width:720px}@media (min-width: 768px){.home__main-card{position:absolute;top:50%;transform:translateY(-50%)}}.home__title-wrapper{padding:1.5rem!important;border-bottom:1px solid var(--border-color)}.home__title{text-align:center;font-size:1.75rem;margin:0}@media (min-width: 768px){.home__title{font-size:2.2rem}}@media (min-width: 768px){.home__servers-container{border-left:1px solid var(--border-color)}}.main-header.main-header{color:#fff;background-color:var(--brand-color)!important}.main-header.main-header .navbar-brand{color:inherit!important}.main-header__brand-logo{width:26px;margin-right:5px}.main-header__toggle-icon{width:20px;transition:transform .3s}.main-header__toggle-icon--opened{transform:rotate(180deg)}.shlink-versions-container--with-sidebar{margin-left:0}@media (min-width: 768px){.shlink-versions-container--with-sidebar{margin-left:260px}}.no-menu-wrapper{padding:15px 0 0}@media (min-width: 768px){.no-menu-wrapper{padding:30px 20px 20px}}.server-error__container{text-align:center;display:flex;align-items:center;justify-content:center}.server-error__delete-btn{color:#dc3545;font-weight:inherit}.server-error__delete-btn:hover{text-decoration:underline}.user-interface__theme-icon{float:right;margin-top:.25rem}/*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #4696e5;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 70, 150, 229;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg-rgb: 255, 255, 255;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-bg: #fff;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-2xl: 2rem;--bs-border-radius-pill: 50rem;--bs-link-color: #4696e5;--bs-link-hover-color: #3878b7;--bs-code-color: #d63384;--bs-highlight-bg: #fff3cd}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color: var(--bs-body-color);--bs-table-bg: transparent;--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color: #000;--bs-table-bg: #daeafa;--bs-table-border-color: #c4d3e1;--bs-table-striped-bg: #cfdeee;--bs-table-striped-color: #000;--bs-table-active-bg: #c4d3e1;--bs-table-active-color: #000;--bs-table-hover-bg: #cad8e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #cbccce;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #bcd0c7;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #e6dbb9;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #dfc2c4;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#a3cbf2;outline:0;box-shadow:0 0 0 .25rem #4696e540}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#a3cbf2;outline:0;box-shadow:0 0 0 .25rem #4696e540}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#a3cbf2;outline:0;box-shadow:0 0 0 .25rem #4696e540}.form-check-input:checked{background-color:#4696e5;border-color:#4696e5}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#4696e5;border-color:#4696e5;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23a3cbf2'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #4696e540}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #4696e540}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#4696e5;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c8e0f7}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#4696e5;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#c8e0f7}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#198754e6;border-radius:.375rem}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem #19875440}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#dc3545e6;border-radius:.375rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem #dc354540}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #212529;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: .375rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #000;--bs-btn-bg: #4696e5;--bs-btn-border-color: #4696e5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #62a6e9;--bs-btn-hover-border-color: #59a1e8;--bs-btn-focus-shadow-rgb: 60, 128, 195;--bs-btn-active-color: #000;--bs-btn-active-bg: #6babea;--bs-btn-active-border-color: #59a1e8;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #4696e5;--bs-btn-disabled-border-color: #4696e5}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #4696e5;--bs-btn-border-color: #4696e5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #4696e5;--bs-btn-hover-border-color: #4696e5;--bs-btn-focus-shadow-rgb: 70, 150, 229;--bs-btn-active-color: #000;--bs-btn-active-bg: #4696e5;--bs-btn-active-border-color: #4696e5;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #4696e5;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #4696e5;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: none;--bs-btn-focus-shadow-rgb: 60, 128, 195;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: .5rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: .25rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: .375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(.375rem - 1px) ;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #1e2125;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #4696e5;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #4696e5;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #4696e5}.nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(0, 0, 0, .55);--bs-navbar-hover-color: rgba(0, 0, 0, .7);--bs-navbar-disabled-color: rgba(0, 0, 0, .3);--bs-navbar-active-color: rgba(0, 0, 0, .9);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(0, 0, 0, .9);--bs-navbar-brand-hover-color: rgba(0, 0, 0, .9);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(0, 0, 0, .1);--bs-navbar-toggler-border-radius: .375rem;--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .show>.nav-link,.navbar-nav .nav-link.active{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-border-width: 1px;--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: .375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(.375rem - 1px) ;--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(0, 0, 0, .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: #212529;--bs-accordion-bg: #fff;--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: 1px;--bs-accordion-border-radius: .375rem;--bs-accordion-inner-border-radius: calc(.375rem - 1px) ;--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #212529;--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233f87ce'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #a3cbf2;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(70, 150, 229, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: #3f87ce;--bs-accordion-active-bg: #edf5fc}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: #6c757d;--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: #6c757d;display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(70, 150, 229, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #4696e5;--bs-pagination-active-border-color: #4696e5;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: .5rem}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: .25rem}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: .375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 1px solid var(--bs-alert-border-color);--bs-alert-border-radius: .375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: #2a5a89;--bs-alert-bg: #daeafa;--bs-alert-border-color: #c8e0f7}.alert-primary .alert-link{color:#22486e}.alert-secondary{--bs-alert-color: #41464b;--bs-alert-bg: #e2e3e5;--bs-alert-border-color: #d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color: #0f5132;--bs-alert-bg: #d1e7dd;--bs-alert-border-color: #badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color: #055160;--bs-alert-bg: #cff4fc;--bs-alert-border-color: #b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color: #664d03;--bs-alert-bg: #fff3cd;--bs-alert-border-color: #ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color: #842029;--bs-alert-bg: #f8d7da;--bs-alert-border-color: #f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color: #636464;--bs-alert-bg: #fefefe;--bs-alert-border-color: #fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color: #141619;--bs-alert-bg: #d3d3d4;--bs-alert-border-color: #bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: .375rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #4696e5;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #212529;--bs-list-group-bg: #fff;--bs-list-group-border-color: rgba(0, 0, 0, .125);--bs-list-group-border-width: 1px;--bs-list-group-border-radius: .375rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: #495057;--bs-list-group-action-hover-color: #495057;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #212529;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: #6c757d;--bs-list-group-disabled-bg: #fff;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #4696e5;--bs-list-group-active-border-color: #4696e5;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#2a5a89;background-color:#daeafa}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#2a5a89;background-color:#c4d3e1}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#2a5a89;border-color:#2a5a89}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem #4696e540;opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255, 255, 255, .85);--bs-toast-border-width: 1px;--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: .375rem;--bs-toast-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-toast-header-color: #6c757d;--bs-toast-header-bg: rgba(255, 255, 255, .85);--bs-toast-header-border-color: rgba(0, 0, 0, .05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: 1px;--bs-modal-border-radius: .5rem;--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius: calc(.5rem - 1px) ;--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: .375rem;--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: #fff;--bs-popover-border-width: 1px;--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: .5rem;--bs-popover-inner-border-radius: calc(.5rem - 1px) ;--bs-popover-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: ;--bs-popover-header-bg: #f0f0f0;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #212529;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#000!important;background-color:RGBA(70,150,229,var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(108,117,125,var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(25,135,84,var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(13,202,240,var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(255,193,7,var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(220,53,69,var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(248,249,250,var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(33,37,41,var(--bs-bg-opacity, 1))!important}.link-primary{color:#4696e5!important}.link-primary:hover,.link-primary:focus{color:#6babea!important}.link-secondary{color:#6c757d!important}.link-secondary:hover,.link-secondary:focus{color:#565e64!important}.link-success{color:#198754!important}.link-success:hover,.link-success:focus{color:#146c43!important}.link-info{color:#0dcaf0!important}.link-info:hover,.link-info:focus{color:#3dd5f3!important}.link-warning{color:#ffc107!important}.link-warning:hover,.link-warning:focus{color:#ffcd39!important}.link-danger{color:#dc3545!important}.link-danger:hover,.link-danger:focus{color:#b02a37!important}.link-light{color:#f8f9fa!important}.link-light:hover,.link-light:focus{color:#f9fafb!important}.link-dark{color:#212529!important}.link-dark:hover,.link-dark:focus{color:#1a1e21!important}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-1{--bs-border-width: 1px}.border-2{--bs-border-width: 2px}.border-3{--bs-border-width: 3px}.border-4{--bs-border-width: 4px}.border-5{--bs-border-width: 5px}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-semibold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:#6c757d!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}@media (max-width: 991px){.responsive-table__header{display:none}}@media (max-width: 991px){.responsive-table.table>:not(:first-child){border:none}}@media (max-width: 991px){.responsive-table__row{display:block;border-bottom:1px solid var(--border-color);border-top:2px solid var(--border-color);position:relative}.responsive-table__row:not(:last-child){margin-bottom:10px}}.responsive-table__cell.responsive-table__cell{vertical-align:middle!important}@media (max-width: 991px){.responsive-table__cell.responsive-table__cell{display:block;width:100%;position:relative;padding:.5rem;font-size:.9rem}.responsive-table__cell.responsive-table__cell[data-th]:before{content:attr(data-th) ": ";font-weight:700}.responsive-table__cell.responsive-table__cell:last-child{position:absolute;top:3.5px;right:.5rem;width:auto;padding:0;border:none}}@media (max-width: 991px){.responsive-table__cell.responsive-table__cell .btn-sm,.responsive-table__cell.responsive-table__cell .btn-group-sm>.btn{padding:.1rem .4rem;margin-top:.16rem}}html:not([data-theme=dark]){--color-scheme: initial;--primary-color: #ffffff;--primary-color-alfa: rgba(255, 255, 255, .5);--secondary-color: #f5f6fe;--text-color: #232323;--border-color: rgba(0, 0, 0, .125);--active-color: #eeeeee;--brand-color: #4696e5;--input-color: #ffffff;--input-disabled-color: #f5f6fe;--input-border-color: rgba(0, 0, 0, .19);--input-text-color: #495057;--table-border-color: #dee2e6;--table-highlight-color: rgba(0, 0, 0, .075);--btn-close-filter: initial}html[data-theme=dark]{--color-scheme: dark;--primary-color: #161b22;--primary-color-alfa: rgba(22, 27, 34, .8);--secondary-color: #0f131a;--text-color: rgb(201, 209, 217);--border-color: rgba(255, 255, 255, .15);--active-color: #0f131a;--brand-color: #0b2d4e;--input-color: #12161c;--input-disabled-color: #1a2028;--input-border-color: rgba(255, 255, 255, .15);--input-text-color: rgb(201, 209, 217);--table-border-color: #393d43;--table-highlight-color: rgba(255, 255, 255, .15);--btn-close-filter: invert(1)}:root{scroll-behavior:auto;color-scheme:var(--color-scheme)}html,body,#root{height:100%;background:var(--secondary-color);color:var(--text-color)}a,.btn-link{text-decoration:none}a:not(.nav-link):not(.navbar-brand):not(.page-link):not(.highlight-card):not(.btn):not(.dropdown-item):hover,.btn-link:hover{text-decoration:underline}.bg-main{background-color:#4696e5!important}.bg-warning{color:#232323}.card-body,.card-header,.list-group-item{background-color:transparent}.card-footer{background-color:var(--primary-color-alfa)}.card.card{box-shadow:0 .125rem .25rem #00000013;background-color:var(--primary-color);border-color:var(--border-color)}.list-group,.modal-content,.page-link,.page-item.disabled .page-link,.dropdown-menu{background-color:var(--primary-color)}.modal-header.modal-header,.modal-footer.modal-footer,.card-header.card-header,.card-footer.card-footer,.table.table thead th,.table.table th,.table.table td,.page-link.page-link,.page-link.page-link:hover,.page-item.page-item.disabled .page-link.page-link,.dropdown-divider.dropdown-divider,.dropdown-menu.dropdown-menu,.list-group-item.list-group-item,.modal-content.modal-content,hr{border-color:var(--border-color)}.table-bordered,.table-bordered thead th,.table-bordered thead td{border-color:var(--table-border-color)}.page-link:hover,.page-link:focus{background-color:var(--secondary-color)}.page-item.active .page-link{background-color:var(--brand-color);border-color:var(--brand-color)}.pagination .page-link{cursor:pointer}@media (min-width: 1200px){.container-xl{max-width:1320px}}@media (max-width: 767px){.container-xl{padding-right:0;padding-left:0}}.btn-block{display:block;width:100%}.btn-primary,.btn-primary:hover,.btn-primary:disabled,.btn-primary:active,.btn-primary:focus-visible,.btn-primary.active,.btn-outline-primary:hover,.btn-outline-primary:active.btn-outline-primary:active,.btn-outline-primary:focus-visible.btn-outline-primary:focus-visible,.btn-outline-primary.active.btn-outline-primary.active{color:#fff}.dropdown-item,.dropdown-item-text{color:var(--text-color)}.dropdown-item:not(:disabled){cursor:pointer}.dropdown-item:focus:not(:disabled),.dropdown-item:hover:not(:disabled),.dropdown-item.active:not(:disabled),.dropdown-item:active:not(:disabled){background-color:var(--active-color)!important;color:var(--text-color)!important}.dropdown-item--danger.dropdown-item--danger{color:#dc3545}.dropdown-item--danger.dropdown-item--danger:hover,.dropdown-item--danger.dropdown-item--danger:active,.dropdown-item--danger.dropdown-item--danger.active{color:#dc3545!important}.badge-main{color:#fff;background-color:var(--brand-color)}.close,.close:hover,.table,.table-hover>tbody>tr:hover>*,.table-hover>tbody>tr>*{color:var(--text-color)}.btn-close{filter:var(--btn-close-filter)}.table-hover tbody tr:hover{background-color:var(--secondary-color)}.form-control.form-control,.form-control.form-control:focus,.form-select.form-select,.form-select.form-select:focus{background-color:var(--primary-color);border-color:var(--input-border-color);color:var(--input-text-color)}.form-control.disabled,.form-control:disabled,.form-select.disabled,.form-select:disabled{background-color:var(--input-disabled-color);cursor:not-allowed}.card .form-control:not(:disabled),.card .form-control:not(:disabled):hover,.card .form-select:not(:disabled),.card .form-select:not(:disabled):hover,.modal .form-control:not(:disabled),.modal .form-control:not(:disabled):hover,.modal .form-select:not(:disabled),.modal .form-select:not(:disabled):hover{background-color:var(--input-color)}.card input[type=text]:not(:disabled),.dropdown input[type=text]:not(:disabled){background-color:var(--input-color)!important}.card input[type=date]:not(:disabled),.dropdown input[type=date]:not(:disabled){background-color:var(--input-color)!important}.card input[type=datetime-local]:not(:disabled),.dropdown input[type=datetime-local]:not(:disabled){background-color:var(--input-color)!important}.card input[type=password]:not(:disabled),.dropdown input[type=password]:not(:disabled){background-color:var(--input-color)!important}.card input[type=number]:not(:disabled),.dropdown input[type=number]:not(:disabled){background-color:var(--input-color)!important}.card input[type=email]:not(:disabled),.dropdown input[type=email]:not(:disabled){background-color:var(--input-color)!important}.card input[type=search]:not(:disabled),.dropdown input[type=search]:not(:disabled){background-color:var(--input-color)!important}.card input[type=url]:not(:disabled),.dropdown input[type=url]:not(:disabled){background-color:var(--input-color)!important}.input-group-text.input-group-text{border-color:var(--input-border-color)}.dropdown label{color:var(--text-color)!important}.table-active,.table-active>th,.table-active>td{background-color:var(--table-highlight-color)!important}@media (max-width: 767px){.navbar-brand{margin:0 auto!important}}.indivisible{white-space:nowrap}.pointer{cursor:pointer}.progress-bar{background-color:#4696e5}@media (max-width: 575px){.btn-xs-block{width:100%;display:block}}@media (max-width: 991px){.btn-md-block{width:100%;display:block}}@media (max-width: 767px){.btn-sm-block{width:100%;display:block}}.search-field{position:relative}.search-field:focus-within{z-index:1}.search-field__input.search-field__input{padding-left:40px;padding-right:40px}.search-field__input--no-border.search-field__input--no-border{border:none;border-radius:0}.search-field__icon{position:absolute;top:50%;transform:translateY(-50%);left:15px;color:#6c757d}.search-field__close{position:absolute;top:50%;transform:translateY(-50%);right:10px;cursor:pointer}.dropdown-btn__toggle.dropdown-btn__toggle{text-align:left}.dropdown-btn__toggle.dropdown-btn__toggle--with-caret{padding-right:1.75rem}.dropdown-btn__toggle.dropdown-btn__toggle,.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled).active,.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):active,.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):focus,.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):hover,.show>.dropdown-btn__toggle.dropdown-btn__toggle.dropdown-toggle{color:var(--input-text-color);background-color:var(--primary-color);border-color:var(--input-border-color)}.card .dropdown-btn__toggle.dropdown-btn__toggle,.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled).active,.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):active,.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):focus,.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):hover,.show>.card .dropdown-btn__toggle.dropdown-btn__toggle.dropdown-toggle{background-color:var(--input-color)}.dropdown-btn__toggle.dropdown-btn__toggle.disabled,.dropdown-btn__toggle.dropdown-btn__toggle:disabled{background-color:var(--input-disabled-color)}.dropdown-btn__toggle.dropdown-btn__toggle:after{position:absolute;top:50%;transform:translateY(-50%);right:.75rem}.nav-pills__nav{position:sticky!important;top:55px;z-index:2}.nav-pills__nav-link.nav-pills__nav-link{border-radius:0!important;padding-bottom:calc(.5rem - 3px)!important;border-bottom:3px solid transparent!important;color:#5d6778;font-weight:700;cursor:pointer;text-decoration:none}@media (min-width: 576px) and (max-width: 991px){.nav-pills__nav-link.nav-pills__nav-link{font-size:89%}}.nav-pills__nav-link:hover{color:#4696e5!important}.nav-pills__nav-link.active{border-color:#4696e5!important;background-color:var(--primary-color)!important;color:#4696e5!important}.ordering-dropdown__menu--link.ordering-dropdown__menu--link{min-width:11rem}.ordering-dropdown__sort-icon{margin:3.5px 0 0;float:right}.domains-dropdown__toggle-btn.domains-dropdown__toggle-btn,.domains-dropdown__toggle-btn.domains-dropdown__toggle-btn:hover,.domains-dropdown__toggle-btn.domains-dropdown__toggle-btn:active{color:#6c757d!important}.domains-dropdown__toggle-btn--active.domains-dropdown__toggle-btn--active,.domains-dropdown__toggle-btn--active.domains-dropdown__toggle-btn--active:hover,.domains-dropdown__toggle-btn--active.domains-dropdown__toggle-btn--active:active{color:var(--input-text-color)!important}.domains-dropdown__back-btn.domains-dropdown__back-btn,.domains-dropdown__back-btn.domains-dropdown__back-btn:hover{border-color:var(--border-color)}.highlight-card.highlight-card.highlight-card{text-align:center;border-top:3px solid var(--brand-color);color:inherit;text-decoration:none}.highlight-card__link-icon{position:absolute;right:5px;bottom:5px;opacity:.1;transform:rotate(-45deg)}.highlight-card__title{color:#6c757d}.redirect-rule-modal__condition{border:1px solid var(--border-color)}.redirect-rule-modal__header.redirect-rule-modal__header,.redirect-rule-modal__footer.redirect-rule-modal__footer{background-color:var(--primary-color)}.create-short-url-result__copy-btn{margin-left:10px;vertical-align:inherit}.qr-code-modal__img{max-width:100%;box-shadow:0 0 .25rem #0003}.short-urls-visits-count__max-visits-control{cursor:help}.short-url-visits-count__amount{transition:transform .3s ease;display:inline-block}.short-url-visits-count__amount--big{transform:scale(1.5)}.short-url-visits-count__tooltip-list-item:not(:last-child){margin-bottom:.5rem}.tag:not(:last-child){margin-right:3px}.tag__close.tag__close{font-size:1.3rem}.short-urls-row__cell.short-urls-row__cell{vertical-align:middle!important}.short-urls-row__cell--break{word-break:break-all}@media (min-width: 992px){.short-urls-row__cell--indivisible{white-space:nowrap}}@media (max-width: 991px){.short-urls-row__short-url-wrapper{word-break:break-all}}@media (min-width: 992px){.short-urls-row__short-url-wrapper{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;vertical-align:bottom;display:inline-block;max-width:18rem}}.short-urls-row__copy-hint{position:absolute;top:50%;transform:translateY(-50%) translate(10px);box-shadow:0 3px 15px #00000040}@media (max-width: 991px){.short-urls-row__copy-hint{position:absolute;top:50%;transform:translateY(-50%) translate(calc(-100% - 20px))}}.icon-input-container{position:relative}.icon-input-container__input{padding-right:35px!important}.icon-input-container__input:not(:disabled){background-color:var(--primary-color)!important}.icon-input-container__icon{position:absolute;top:50%;transform:translateY(-50%);right:.75rem;cursor:pointer}.use-existing-if-found-info-icon__modal-quote{margin-bottom:0;padding:10px 15px;font-size:17.5px;border-left:5px solid #eeeeee;background-color:#f9f9f9}.short-url-form p:last-child{margin-bottom:0}.short-url-form .card{height:100%}.short-urls-filtering-bar__tags-icon{vertical-align:bottom;font-size:1.6rem}.short-urls-table.short-urls-table{margin-bottom:-1px}.short-urls-table__header-cell--with-action{cursor:pointer}.color-bullet{border-radius:50%;width:20px;height:20px;display:inline-block;vertical-align:-4px;margin-right:5px}.simple-paginator{-webkit-user-select:none;user-select:none}.tags-table__header-cell.tags-table__header-cell{z-index:1;position:relative;top:56px;position:sticky;cursor:pointer}.tags-table__header-cell.tags-table__header-cell:before{content:"";position:absolute;top:-1px;right:0;bottom:-1px;left:0;background:var(--table-border-color);z-index:-2}.tags-table__header-cell.tags-table__header-cell:first-child:before{left:0}.tags-table__header-cell.tags-table__header-cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary-color);z-index:-1}.tags-table__header-cell.tags-table__header-cell:first-child:after{left:0}.chart-card__footer--sticky{position:sticky;bottom:0}.doughnut-chart-legend{list-style-type:none;padding:0;margin:0}@media (max-width: 767px){.doughnut-chart-legend{margin-top:1rem}}.doughnut-chart-legend__item:not(:first-child){margin-top:.3rem}.doughnut-chart-legend__item-color{width:20px;min-width:20px;height:20px;margin-right:5px;border-radius:10px}.doughnut-chart-legend__item-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.map-modal__modal.map-modal__modal{width:calc(100% - 40px);max-width:calc(100% - 40px);height:calc(100% - 40px);margin:20px}}@media (max-width: 767px){.map-modal__modal.map-modal__modal{width:calc(100% - 20px);max-width:calc(100% - 20px);height:calc(100% - 20px);margin:10px}}.map-modal__modal-content.map-modal__modal-content{height:100%}.map-modal__modal-title.map-modal__modal-title{position:absolute;width:100%;z-index:1001;padding:.5rem 1rem 1rem;margin:0;color:#fff;background:linear-gradient(#00000080,#0000)}.map-modal__modal-body.map-modal__modal-body{padding:0;display:flex;overflow:hidden}.map-modal__modal.map-modal__modal .leaflet-container.leaflet-container{flex:1 1 auto;border-radius:.3rem}.map-modal__modal.map-modal__modal .leaflet-top.leaflet-top .leaflet-control.leaflet-control{margin-top:60px}.open-map-modal-btn__btn.open-map-modal-btn__btn{padding:0;margin-right:1rem}.visits-table{margin:1.5rem 0 0;position:relative;background-color:var(--primary-color);overflow-y:hidden}.visits-table__header-cell{cursor:pointer;margin-bottom:55px;z-index:1;position:relative}.visits-table__header-cell:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:0;background:var(--table-border-color);z-index:-2}.visits-table__header-cell:first-child:before{left:-1px}.visits-table__header-cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:1px;background:var(--primary-color);z-index:-1}.visits-table__header-cell:first-child:after{left:0}@media (min-width: 768px){.visits-table__header-cell.visits-table__sticky{top:96px}}.visits-table__header-icon{float:right;margin-top:3px}.visits-table__footer-cell.visits-table__footer-cell{bottom:0;margin-top:34px;padding:.5rem;z-index:1;position:relative}.visits-table__footer-cell.visits-table__footer-cell:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:0;background:var(--table-border-color);z-index:-2}.visits-table__footer-cell.visits-table__footer-cell:first-child:before{left:-1px}.visits-table__footer-cell.visits-table__footer-cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:1px;background:var(--primary-color);z-index:-1}.visits-table__footer-cell.visits-table__footer-cell:first-child:after{left:0}.visits-table__sticky.visits-table__sticky{position:sticky}.short-url-visits-header__created-at{cursor:default}.aside-menu{width:260px;background-color:var(--primary-color);box-shadow:#0000000d 0 8px 15px;position:fixed!important;padding-top:13px;padding-bottom:10px;top:56px;bottom:0;left:0;display:block;z-index:1010;overflow:hidden auto}@media (min-width: 768px){.aside-menu{padding:30px 15px 15px}}@media (max-width: 767px){.aside-menu{transition:left .3s;top:53px;box-shadow:-10px 0 50px 11px #0000008c}}@media (max-width: 767px){.aside-menu--hidden{left:-295px}}.aside-menu__nav{height:100%}.aside-menu__item{padding:10px 20px;margin:0 -15px;text-decoration:none!important;cursor:pointer}@media (max-width: 767px){.aside-menu__item{margin:0}}.aside-menu__item:hover{background-color:var(--secondary-color)}.aside-menu__item--selected,.aside-menu__item--selected:hover{color:#fff;background-color:var(--brand-color)}.aside-menu__item-text{margin-left:8px}.shlink-layout__swipeable,.shlink-layout__swipeable-inner{height:100%}.shlink-layout__burger-icon{display:none;transition:color .3s;position:fixed;top:18px;z-index:1035;font-size:1.5rem;cursor:pointer;color:#ffffff80}@media (max-width: 767px){.shlink-layout__burger-icon{display:inline-block}}.shlink-layout__burger-icon--active{color:#fff}.shlink-layout__container.shlink-layout__container{padding:20px 0 0;min-height:100%}@media (min-width: 768px){.shlink-layout__container.shlink-layout__container{padding:30px 0 0 260px}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.react-tags{position:relative;padding:5px 0 0 6px;border-radius:.5rem;background-color:var(--primary-color);border:1px solid var(--input-border-color);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;font-size:1em;line-height:1.2;cursor:text}.input-group>.react-tags{flex:1 1 auto;width:1%;min-width:0}.card .react-tags{background-color:var(--input-color)}.react-tags.is-active{box-shadow:0 0 0 .2rem #4696e540}.react-tags__label{display:none}.react-tags__tag{font-size:100%}.react-tags__list{display:inline;vertical-align:2px;padding:0;list-style-type:none}.react-tags__list-item{display:inline-block}.react-tags__list-item:not(:last-child){margin-right:3px}.react-tags__combobox{display:inline-block;padding:6px 2px;margin-top:2px;margin-bottom:3px;max-width:100%}@media screen and (min-width: 576px){.react-tags__combobox{position:relative}}.react-tags__combobox-input{font-size:1.25rem;line-height:inherit;color:var(--input-text-color);background-color:inherit;max-width:100%;margin:0 0 0 7px;padding:0;border:0;outline:none}.react-tags__combobox-input::placeholder{color:#6c757d}.react-tags__combobox-input::-ms-clear{display:none}.react-tags__listbox{position:absolute;top:100%;left:0;width:100%;z-index:10;margin:4px -1px;padding:0;background:var(--primary-color);border:1px solid var(--border-color);border-radius:.25rem;box-shadow:0 2px 6px #0003}@media screen and (min-width: 576px){.react-tags__listbox{width:240px}}.react-tags__listbox .react-tags__listbox-option{padding:8px 10px}.react-tags__listbox .react-tags__listbox-option:not(:last-child){border-bottom:1px solid var(--border-color)}.react-tags__listbox .react-tags__listbox-option:hover:not(.react-tags__listbox-option--not-selectable){cursor:pointer;background-color:var(--active-color)}.react-tags__listbox .react-tags__listbox-option.is-active{background-color:var(--active-color)}.react-tags__listbox .react-tags__listbox-option.is-disabled{opacity:.5;cursor:auto}.sticky-card-paginator{position:sticky;bottom:0;background-color:var(--primary-color-alfa);padding:.75rem 0;border-top:1px solid var(--border-color)}.top-sticky{position:sticky;top:56px;z-index:10} diff --git a/feature/fixes/index.html b/feature/fixes/index.html index 403d2f0c..976d3ff7 100644 --- a/feature/fixes/index.html +++ b/feature/fixes/index.html @@ -1 +1,91 @@ -Shlink — The URL shortener
\ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shlink — The URL shortener + + + + + +
+ + diff --git a/feature/fixes/manifest.json b/feature/fixes/manifest.json index 70ab6107..05f180e0 100644 --- a/feature/fixes/manifest.json +++ b/feature/fixes/manifest.json @@ -1,145 +1 @@ -{ - "short_name": "Shlink", - "name": "Shlink", - "start_url": "/", - "display": "standalone", - "theme_color": "#4696e5", - "background_color": "#4696e5", - "icons": [ - { - "src": "./icons/icon-16x16.png", - "type": "image/png", - "sizes": "16x16" - }, - { - "src": "./icons/icon-24x24.png", - "type": "image/png", - "sizes": "24x24" - }, - { - "src": "./icons/icon-32x32.png", - "type": "image/png", - "sizes": "32x32" - }, - { - "src": "./icons/icon-40x40.png", - "type": "image/png", - "sizes": "40x40" - }, - { - "src": "./icons/icon-48x48.png", - "type": "image/png", - "sizes": "48x48" - }, - { - "src": "./icons/icon-60x60.png", - "type": "image/png", - "sizes": "60x60" - }, - { - "src": "./icons/icon-64x64.png", - "type": "image/png", - "sizes": "64x64" - }, - { - "src": "./icons/icon-72x72.png", - "type": "image/png", - "sizes": "72x72" - }, - { - "src": "./icons/icon-76x76.png", - "type": "image/png", - "sizes": "76x76" - }, - { - "src": "./icons/icon-96x96.png", - "type": "image/png", - "sizes": "96x96" - }, - { - "src": "./icons/icon-114x114.png", - "type": "image/png", - "sizes": "114x114" - }, - { - "src": "./icons/icon-120x120.png", - "type": "image/png", - "sizes": "120x120" - }, - { - "src": "./icons/icon-128x128.png", - "type": "image/png", - "sizes": "128x128" - }, - { - "src": "./icons/icon-144x144.png", - "type": "image/png", - "sizes": "144x144" - }, - { - "src": "./icons/icon-150x150.png", - "type": "image/png", - "sizes": "150x150" - }, - { - "src": "./icons/icon-152x152.png", - "type": "image/png", - "sizes": "152x152" - }, - { - "src": "./icons/icon-160x160.png", - "type": "image/png", - "sizes": "160x160" - }, - { - "src": "./icons/icon-167x167.png", - "type": "image/png", - "sizes": "167x167" - }, - { - "src": "./icons/icon-180x180.png", - "type": "image/png", - "sizes": "180x180" - }, - { - "src": "./icons/icon-192x192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "./icons/icon-196x196.png", - "type": "image/png", - "sizes": "196x196" - }, - { - "src": "./icons/icon-228x228.png", - "type": "image/png", - "sizes": "228x228" - }, - { - "src": "./icons/icon-256x256.png", - "type": "image/png", - "sizes": "256x256" - }, - { - "src": "./icons/icon-310x310.png", - "type": "image/png", - "sizes": "310x310" - }, - { - "src": "./icons/icon-384x384.png", - "type": "image/png", - "sizes": "384x384" - }, - { - "src": "./icons/icon-512x512.png", - "type": "image/png", - "sizes": "512x512" - }, - { - "src": "./icons/icon-1024x1024.png", - "type": "image/png", - "sizes": "1024x1024" - } - ] -} +{"name":"Shlink","short_name":"Shlink","start_url":"/","display":"standalone","background_color":"#4696e5","lang":"en","scope":"/shlink-web-client/feature/fixes/","theme_color":"#4696e5","icons":[{"src":"./icons/icon-16x16.png","type":"image/png","sizes":"16x16"},{"src":"./icons/icon-24x24.png","type":"image/png","sizes":"24x24"},{"src":"./icons/icon-32x32.png","type":"image/png","sizes":"32x32"},{"src":"./icons/icon-40x40.png","type":"image/png","sizes":"40x40"},{"src":"./icons/icon-48x48.png","type":"image/png","sizes":"48x48"},{"src":"./icons/icon-60x60.png","type":"image/png","sizes":"60x60"},{"src":"./icons/icon-64x64.png","type":"image/png","sizes":"64x64"},{"src":"./icons/icon-72x72.png","type":"image/png","sizes":"72x72"},{"src":"./icons/icon-76x76.png","type":"image/png","sizes":"76x76"},{"src":"./icons/icon-96x96.png","type":"image/png","sizes":"96x96"},{"src":"./icons/icon-114x114.png","type":"image/png","sizes":"114x114"},{"src":"./icons/icon-120x120.png","type":"image/png","sizes":"120x120"},{"src":"./icons/icon-128x128.png","type":"image/png","sizes":"128x128"},{"src":"./icons/icon-144x144.png","type":"image/png","sizes":"144x144"},{"src":"./icons/icon-150x150.png","type":"image/png","sizes":"150x150"},{"src":"./icons/icon-152x152.png","type":"image/png","sizes":"152x152"},{"src":"./icons/icon-160x160.png","type":"image/png","sizes":"160x160"},{"src":"./icons/icon-167x167.png","type":"image/png","sizes":"167x167"},{"src":"./icons/icon-180x180.png","type":"image/png","sizes":"180x180"},{"src":"./icons/icon-192x192.png","type":"image/png","sizes":"192x192"},{"src":"./icons/icon-196x196.png","type":"image/png","sizes":"196x196"},{"src":"./icons/icon-228x228.png","type":"image/png","sizes":"228x228"},{"src":"./icons/icon-256x256.png","type":"image/png","sizes":"256x256"},{"src":"./icons/icon-310x310.png","type":"image/png","sizes":"310x310"},{"src":"./icons/icon-384x384.png","type":"image/png","sizes":"384x384"},{"src":"./icons/icon-512x512.png","type":"image/png","sizes":"512x512"},{"src":"./icons/icon-1024x1024.png","type":"image/png","sizes":"1024x1024"}]} diff --git a/feature/fixes/service-worker.js b/feature/fixes/service-worker.js new file mode 100644 index 00000000..72e00498 --- /dev/null +++ b/feature/fixes/service-worker.js @@ -0,0 +1,2 @@ +try{self["workbox:core:7.0.0"]&&_()}catch{}const G=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},Q=G;class h extends Error{constructor(e,t){const n=Q(e,t);super(n),this.name=e,this.details=t}}const B=new Set;function z(s){B.add(s)}const d={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},k=s=>[d.prefix,s,d.suffix].filter(e=>e&&e.length>0).join("-"),J=s=>{for(const e of Object.keys(d))s(e)},x={updateDetails:s=>{J(e=>{typeof s[e]=="string"&&(d[e]=s[e])})},getGoogleAnalyticsName:s=>s||k(d.googleAnalytics),getPrecacheName:s=>s||k(d.precache),getPrefix:()=>d.prefix,getRuntimeName:s=>s||k(d.runtime),getSuffix:()=>d.suffix};function K(s,e){const t=new URL(s);for(const n of e)t.searchParams.delete(n);return t.href}async function X(s,e,t,n){const r=K(e.url,t);if(e.url===r)return s.match(e,n);const a=Object.assign(Object.assign({},n),{ignoreSearch:!0}),i=await s.keys(e,a);for(const c of i){const o=K(c.url,t);if(r===o)return s.match(c,n)}}let m;function Y(){if(m===void 0){const s=new Response("");if("body"in s)try{new Response(s.body),m=!0}catch{m=!1}m=!1}return m}function q(s){s.then(()=>{})}class Z{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}async function ee(){for(const s of B)await s()}const te=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function se(s){return new Promise(e=>setTimeout(e,s))}function A(s,e){const t=e();return s.waitUntil(t),t}async function ne(s,e){let t=null;if(s.url&&(t=new URL(s.url).origin),t!==self.location.origin)throw new h("cross-origin-copy-response",{origin:t});const n=s.clone(),r={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},a=e?e(r):r,i=Y()?n.body:await n.blob();return new Response(i,a)}function re(){self.addEventListener("activate",()=>self.clients.claim())}const ae=(s,e)=>e.some(t=>s instanceof t);let j,O;function ie(){return j||(j=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function ce(){return O||(O=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const F=new WeakMap,U=new WeakMap,H=new WeakMap,E=new WeakMap,P=new WeakMap;function oe(s){const e=new Promise((t,n)=>{const r=()=>{s.removeEventListener("success",a),s.removeEventListener("error",i)},a=()=>{t(f(s.result)),r()},i=()=>{n(s.error),r()};s.addEventListener("success",a),s.addEventListener("error",i)});return e.then(t=>{t instanceof IDBCursor&&F.set(t,s)}).catch(()=>{}),P.set(e,s),e}function le(s){if(U.has(s))return;const e=new Promise((t,n)=>{const r=()=>{s.removeEventListener("complete",a),s.removeEventListener("error",i),s.removeEventListener("abort",i)},a=()=>{t(),r()},i=()=>{n(s.error||new DOMException("AbortError","AbortError")),r()};s.addEventListener("complete",a),s.addEventListener("error",i),s.addEventListener("abort",i)});U.set(s,e)}let T={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return U.get(s);if(e==="objectStoreNames")return s.objectStoreNames||H.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return f(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function he(s){T=s(T)}function ue(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const n=s.call(v(this),e,...t);return H.set(n,e.sort?e.sort():[e]),f(n)}:ce().includes(s)?function(...e){return s.apply(v(this),e),f(F.get(this))}:function(...e){return f(s.apply(v(this),e))}}function de(s){return typeof s=="function"?ue(s):(s instanceof IDBTransaction&&le(s),ae(s,ie())?new Proxy(s,T):s)}function f(s){if(s instanceof IDBRequest)return oe(s);if(E.has(s))return E.get(s);const e=de(s);return e!==s&&(E.set(s,e),P.set(e,s)),e}const v=s=>P.get(s);function fe(s,e,{blocked:t,upgrade:n,blocking:r,terminated:a}={}){const i=indexedDB.open(s,e),c=f(i);return n&&i.addEventListener("upgradeneeded",o=>{n(f(i.result),o.oldVersion,o.newVersion,f(i.transaction),o)}),t&&i.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{a&&o.addEventListener("close",()=>a()),r&&o.addEventListener("versionchange",l=>r(l.oldVersion,l.newVersion,l))}).catch(()=>{}),c}function pe(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",n=>e(n.oldVersion,n)),f(t).then(()=>{})}const ge=["get","getKey","getAll","getAllKeys","count"],me=["put","add","delete","clear"],D=new Map;function S(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(D.get(e))return D.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,r=me.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!(r||ge.includes(t)))return;const a=async function(i,...c){const o=this.transaction(i,r?"readwrite":"readonly");let l=o.store;return n&&(l=l.index(c.shift())),(await Promise.all([l[t](...c),r&&o.done]))[0]};return D.set(e,a),a}he(s=>({...s,get:(e,t,n)=>S(e,t)||s.get(e,t,n),has:(e,t)=>!!S(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.0.0"]&&_()}catch{}const we="workbox-expiration",w="cache-entries",W=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class ye{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(w,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&pe(this._cacheName)}async setTimestamp(e,t){e=W(e);const n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},a=(await this.getDb()).transaction(w,"readwrite",{durability:"relaxed"});await a.store.put(n),await a.done}async getTimestamp(e){const n=await(await this.getDb()).get(w,this._getId(e));return n==null?void 0:n.timestamp}async expireEntries(e,t){const n=await this.getDb();let r=await n.transaction(w).store.index("timestamp").openCursor(null,"prev");const a=[];let i=0;for(;r;){const o=r.value;o.cacheName===this._cacheName&&(e&&o.timestamp=t?a.push(r.value):i++),r=await r.continue()}const c=[];for(const o of a)await n.delete(w,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+W(e)}async getDb(){return this._db||(this._db=await fe(we,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class _e{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new ye(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(const r of t)await n.delete(r,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,q(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),n=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t{if(!a)return null;const i=this._isResponseDateFresh(a),c=this._getCacheExpiration(r);q(c.expireEntries());const o=c.updateTimestamp(n.url);if(t)try{t.waitUntil(o)}catch{}return i?a:null},this.cacheDidUpdate=async({cacheName:t,request:n})=>{const r=this._getCacheExpiration(t);await r.updateTimestamp(n.url),await r.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&z(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===x.getRuntimeName())throw new h("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new _e(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const n=Date.now();return t>=n-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),r=new Date(t).getTime();return isNaN(r)?null:r}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}try{self["workbox:precaching:7.0.0"]&&_()}catch{}const Re="__WB_REVISION__";function Ce(s){if(!s)throw new h("add-to-cache-list-unexpected-type",{entry:s});if(typeof s=="string"){const a=new URL(s,location.href);return{cacheKey:a.href,url:a.href}}const{revision:e,url:t}=s;if(!t)throw new h("add-to-cache-list-unexpected-type",{entry:s});if(!e){const a=new URL(t,location.href);return{cacheKey:a.href,url:a.href}}const n=new URL(t,location.href),r=new URL(t,location.href);return n.searchParams.set(Re,e),{cacheKey:n.href,url:r.href}}class xe{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type==="install"&&t&&t.originalRequest&&t.originalRequest instanceof Request){const r=t.originalRequest.url;n?this.notUpdatedURLs.push(r):this.updatedURLs.push(r)}return n}}}class ke{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:t,params:n})=>{const r=(n==null?void 0:n.cacheKey)||this._precacheController.getCacheKeyForURL(t.url);return r?new Request(r,{headers:t.headers}):t},this._precacheController=e}}try{self["workbox:strategies:7.0.0"]&&_()}catch{}function R(s){return typeof s=="string"?new Request(s):s}class Ee{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new Z,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=R(e);if(n.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const i=await t.preloadResponse;if(i)return i}const r=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const i of this.iterateCallbacks("requestWillFetch"))n=await i({request:n.clone(),event:t})}catch(i){if(i instanceof Error)throw new h("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const a=n.clone();try{let i;i=await fetch(n,n.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))i=await c({event:t,request:a,response:i});return i}catch(i){throw r&&await this.runCallbacks("fetchDidFail",{error:i,event:t,originalRequest:r.clone(),request:a.clone()}),i}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=R(e);let n;const{cacheName:r,matchOptions:a}=this._strategy,i=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},a),{cacheName:r});n=await caches.match(i,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await o({cacheName:r,matchOptions:a,cachedResponse:n,request:i,event:this.event})||void 0;return n}async cachePut(e,t){const n=R(e);await se(0);const r=await this.getCacheKey(n,"write");if(!t)throw new h("cache-put-with-no-response",{url:te(r.url)});const a=await this._ensureResponseSafeToCache(t);if(!a)return!1;const{cacheName:i,matchOptions:c}=this._strategy,o=await self.caches.open(i),l=this.hasCallback("cacheDidUpdate"),g=l?await X(o,r.clone(),["__WB_REVISION__"],c):null;try{await o.put(r,l?a.clone():a)}catch(u){if(u instanceof Error)throw u.name==="QuotaExceededError"&&await ee(),u}for(const u of this.iterateCallbacks("cacheDidUpdate"))await u({cacheName:i,oldResponse:g,newResponse:a.clone(),request:r,event:this.event});return!0}async getCacheKey(e,t){const n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let r=e;for(const a of this.iterateCallbacks("cacheKeyWillBeUsed"))r=R(await a({mode:t,request:r,event:this.event,params:this.params}));this._cacheKeys[n]=r}return this._cacheKeys[n]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const n=this._pluginStateMap.get(t);yield a=>{const i=Object.assign(Object.assign({},a),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const r of this.iterateCallbacks("cacheWillUpdate"))if(t=await r({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}}class V{constructor(e={}){this.cacheName=x.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n=typeof e.request=="string"?new Request(e.request):e.request,r="params"in e?e.params:void 0,a=new Ee(this,{event:t,request:n,params:r}),i=this._getResponse(a,n,t),c=this._awaitComplete(i,a,n,t);return[i,c]}async _getResponse(e,t,n){await e.runCallbacks("handlerWillStart",{event:n,request:t});let r;try{if(r=await this._handle(t,e),!r||r.type==="error")throw new h("no-response",{url:t.url})}catch(a){if(a instanceof Error){for(const i of e.iterateCallbacks("handlerDidError"))if(r=await i({error:a,event:n,request:t}),r)break}if(!r)throw a}for(const a of e.iterateCallbacks("handlerWillRespond"))r=await a({event:n,request:t,response:r});return r}async _awaitComplete(e,t,n,r){let a,i;try{a=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:r,request:n,response:a}),await t.doneWaiting()}catch(c){c instanceof Error&&(i=c)}if(await t.runCallbacks("handlerDidComplete",{event:r,request:n,response:a,error:i}),t.destroy(),i)throw i}}class p extends V{constructor(e={}){e.cacheName=x.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=e.fallbackToNetwork!==!1,this.plugins.push(p.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const n=await t.cacheMatch(e);return n||(t.event&&t.event.type==="install"?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n;const r=t.params||{};if(this._fallbackToNetwork){const a=r.integrity,i=e.integrity,c=!i||i===a;n=await t.fetch(new Request(e,{integrity:e.mode!=="no-cors"?i||a:void 0})),a&&c&&e.mode!=="no-cors"&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,n.clone()))}else throw new h("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const n=await t.fetch(e);if(!await t.cachePut(e,n.clone()))throw new h("bad-precaching-response",{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[n,r]of this.plugins.entries())r!==p.copyRedirectedCacheableResponsesPlugin&&(r===p.defaultPrecacheCacheabilityPlugin&&(e=n),r.cacheWillUpdate&&t++);t===0?this.plugins.push(p.defaultPrecacheCacheabilityPlugin):t>1&&e!==null&&this.plugins.splice(e,1)}}p.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:s}){return!s||s.status>=400?null:s}};p.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:s}){return s.redirected?await ne(s):s}};class ve{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new p({cacheName:x.getPrecacheName(e),plugins:[...t,new ke({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const t=[];for(const n of e){typeof n=="string"?t.push(n):n&&n.revision===void 0&&t.push(n.url);const{cacheKey:r,url:a}=Ce(n),i=typeof n!="string"&&n.revision?"reload":"default";if(this._urlsToCacheKeys.has(a)&&this._urlsToCacheKeys.get(a)!==r)throw new h("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(a),secondEntry:r});if(typeof n!="string"&&n.integrity){if(this._cacheKeysToIntegrities.has(r)&&this._cacheKeysToIntegrities.get(r)!==n.integrity)throw new h("add-to-cache-list-conflicting-integrities",{url:a});this._cacheKeysToIntegrities.set(r,n.integrity)}if(this._urlsToCacheKeys.set(a,r),this._urlsToCacheModes.set(a,i),t.length>0){const c=`Workbox is precaching URLs without revision info: ${t.join(", ")} +This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return A(e,async()=>{const t=new xe;this.strategy.plugins.push(t);for(const[a,i]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(i),o=this._urlsToCacheModes.get(a),l=new Request(a,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:i},request:l,event:e}))}const{updatedURLs:n,notUpdatedURLs:r}=t;return{updatedURLs:n,notUpdatedURLs:r}})}activate(e){return A(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),n=await t.keys(),r=new Set(this._urlsToCacheKeys.values()),a=[];for(const i of n)r.has(i.url)||(await t.delete(i),a.push(i.url));return{deletedURLs:a}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new h("non-precached-url",{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}}let L;const I=()=>(L||(L=new ve),L);try{self["workbox:routing:7.0.0"]&&_()}catch{}const $="GET",C=s=>s&&typeof s=="object"?s:{handle:s};class b{constructor(e,t,n=$){this.handler=C(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=C(e)}}class De extends b{constructor(e,t,n){const r=({url:a})=>{const i=e.exec(a.href);if(i&&!(a.origin!==location.origin&&i.index!==0))return i.slice(1)};super(r,t,n)}}class Le{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(r=>{typeof r=="string"&&(r=[r]);const a=new Request(...r);return this.handleRequest({request:a,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const r=n.origin===location.origin,{params:a,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:r,url:n});let c=i&&i.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:n,request:e,event:t,params:a})}catch(u){l=Promise.reject(u)}const g=i&&i.catchHandler;return l instanceof Promise&&(this._catchHandler||g)&&(l=l.catch(async u=>{if(g)try{return await g.handle({url:n,request:e,event:t,params:a})}catch(N){N instanceof Error&&(u=N)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw u})),l}findMatchingRoute({url:e,sameOrigin:t,request:n,event:r}){const a=this._routes.get(n.method)||[];for(const i of a){let c;const o=i.match({url:e,sameOrigin:t,request:n,event:r});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:i,params:c}}return{}}setDefaultHandler(e,t=$){this._defaultHandlerMap.set(t,C(e))}setCatchHandler(e){this._catchHandler=C(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new h("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new h("unregister-route-route-not-registered")}}let y;const Ue=()=>(y||(y=new Le,y.addFetchListener(),y.addCacheListener()),y);function M(s,e,t){let n;if(typeof s=="string"){const a=new URL(s,location.href),i=({url:c})=>c.href===a.href;n=new b(i,e,t)}else if(s instanceof RegExp)n=new De(s,e,t);else if(typeof s=="function")n=new b(s,e,t);else if(s instanceof b)n=s;else throw new h("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return Ue().registerRoute(n),n}function Te(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(n=>n.test(t))&&s.searchParams.delete(t);return s}function*Pe(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:n=!0,urlManipulation:r}={}){const a=new URL(s,location.href);a.hash="",yield a.href;const i=Te(a,e);if(yield i.href,t&&i.pathname.endsWith("/")){const c=new URL(i.href);c.pathname+=t,yield c.href}if(n){const c=new URL(i.href);c.pathname+=".html",yield c.href}if(r){const c=r({url:a});for(const o of c)yield o.href}}class Ie extends b{constructor(e,t){const n=({request:r})=>{const a=e.getURLsToCacheKeys();for(const i of Pe(r.url,t)){const c=a.get(i);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(n,e.strategy)}}function Me(s){const e=I(),t=new Ie(e,s);M(t)}function Ne(s){return I().createHandlerBoundToURL(s)}function Ke(s){I().precache(s)}function Ae(s,e){Ke(s),Me(e)}const je={cacheWillUpdate:async({response:s})=>s.status===200||s.status===0?s:null};class Oe extends V{constructor(e={}){super(e),this.plugins.some(t=>"cacheWillUpdate"in t)||this.plugins.unshift(je)}async _handle(e,t){const n=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(n);let r=await t.cacheMatch(e),a;if(!r)try{r=await n}catch(i){i instanceof Error&&(a=i)}if(!r)throw new h("no-response",{url:e.url,error:a});return r}}const Se="shlink-web-client",We="A React-based progressive web application for shlink",Be="/shlink-web-client/feature/fixes",qe="https://github.com/shlinkio/shlink-web-client",Fe="MIT",He="module",Ve={lint:"npm run lint:css && npm run lint:js","lint:css":"stylelint src/*.scss src/**/*.scss","lint:js":"eslint --ext .js,.ts,.tsx src test","lint:fix":"npm run lint:css:fix && npm run lint:js:fix","lint:css:fix":"npm run lint:css -- --fix","lint:js:fix":"npm run lint:js -- --fix",types:"tsc",start:"vite serve --host=0.0.0.0",preview:"vite preview --host=0.0.0.0",build:"npm run types && vite build && node scripts/replace-version.mjs","build:dist":"npm run build && node scripts/create-dist-file.mjs",test:"vitest run --run","test:watch":"vitest --watch","test:ci":"npm run test -- --coverage","test:verbose":"npm run test -- --verbose"},$e={"@fortawesome/fontawesome-free":"^6.5.2","@fortawesome/fontawesome-svg-core":"^6.5.2","@fortawesome/free-brands-svg-icons":"^6.5.2","@fortawesome/free-regular-svg-icons":"^6.5.2","@fortawesome/free-solid-svg-icons":"^6.5.2","@fortawesome/react-fontawesome":"^0.2.0","@json2csv/plainjs":"^7.0.6","@reduxjs/toolkit":"^2.2.3","@shlinkio/data-manipulation":"^1.0.3","@shlinkio/shlink-frontend-kit":"^0.5.1","@shlinkio/shlink-js-sdk":"^1.1.0","@shlinkio/shlink-web-component":"^0.6.2",bootstrap:"5.2.3",bottlejs:"^2.0.1",clsx:"^2.1.0","compare-versions":"^6.1.0",csvtojson:"^2.0.10","date-fns":"^3.6.0",react:"^18.2.0","react-dom":"^18.2.0","react-external-link":"^2.2.0","react-redux":"^9.1.0","react-router-dom":"^6.22.3",reactstrap:"^9.2.2","redux-localstorage-simple":"^2.5.1",uuid:"^9.0.1","workbox-core":"^7.0.0","workbox-expiration":"^7.0.0","workbox-precaching":"^7.0.0","workbox-routing":"^7.0.0","workbox-strategies":"^7.0.0"},Ge={"@shlinkio/eslint-config-js-coding-standard":"~2.4.1","@shlinkio/stylelint-config-css-coding-standard":"~1.1.1","@testing-library/jest-dom":"^6.4.2","@testing-library/react":"^14.2.2","@testing-library/user-event":"^14.5.2","@total-typescript/shoehorn":"^0.1.2","@types/react":"^18.2.74","@types/react-dom":"^18.2.24","@types/uuid":"^9.0.8","@typescript-eslint/eslint-plugin":"^7.5.0","@typescript-eslint/parser":"^7.5.0","@vitejs/plugin-react":"^4.2.1","@vitest/coverage-v8":"^1.4.0","adm-zip":"^0.5.12","axe-core":"^4.9.0",chalk:"^5.3.0",eslint:"^8.57.0",history:"^5.3.0",jsdom:"^24.0.0",sass:"^1.74.1",stylelint:"^15.11.0",typescript:"^5.4.4",vite:"^5.2.8","vite-plugin-pwa":"^0.19.8",vitest:"^1.2.2"},Qe=[">0.2%","not dead","not ie <= 11","not op_mini all"],ze={name:Se,description:We,private:!1,homepage:Be,repository:qe,license:Fe,type:He,scripts:Ve,dependencies:$e,devDependencies:Ge,browserslist:Qe};re();Ae([{"revision":null,"url":"assets/index-BJbgQlbl.js"},{"revision":null,"url":"assets/index-CRq0OH9C.css"},{"revision":"eaed8409fee5a9915a23f6875f64d3b5","url":"index.html"},{"revision":"3e8169a112865ef0d76bba4e2dfd3a89","url":"./icons/icon-16x16.png"},{"revision":"20f0b51945ae3c973420e31d6b4d43c1","url":"./icons/icon-24x24.png"},{"revision":"4c9695cfb4cea403c1b66bbb7b4f7420","url":"./icons/icon-32x32.png"},{"revision":"f74edb9cc54ac938c1589876f8da9f21","url":"./icons/icon-40x40.png"},{"revision":"52933970fac8498311687de13549b014","url":"./icons/icon-48x48.png"},{"revision":"40209a194f29b21882571c77bd2bd906","url":"./icons/icon-60x60.png"},{"revision":"c8ba5a8c1da76d74c7bb21827fcf975c","url":"./icons/icon-64x64.png"},{"revision":"ae3435baceb494f9c966e2c2c736ea35","url":"./icons/icon-72x72.png"},{"revision":"850aa5b026fd1452af6c1ddd9d71850f","url":"./icons/icon-76x76.png"},{"revision":"8c62535e6b7a498ece1f6c6ae62ede59","url":"./icons/icon-96x96.png"},{"revision":"2dff586aaefa4c8d17f4c0bcbdef8b53","url":"./icons/icon-114x114.png"},{"revision":"8e28257a68ef1c55bc68bfff80e1a310","url":"./icons/icon-120x120.png"},{"revision":"0059b6f0c97fa871a5c29643b2857585","url":"./icons/icon-128x128.png"},{"revision":"41478c2456281f61e54d714718743ecc","url":"./icons/icon-144x144.png"},{"revision":"625251910295f33a578ae6d8117711c9","url":"./icons/icon-150x150.png"},{"revision":"19b71508b1d05defe32cf16a7d453001","url":"./icons/icon-152x152.png"},{"revision":"9d029a32a54ba3084c67acd5d74f8ac4","url":"./icons/icon-160x160.png"},{"revision":"6ec104aeaf745f003ecdaef2edddce97","url":"./icons/icon-167x167.png"},{"revision":"871d67907434ed0ddf5d2a6c220e09af","url":"./icons/icon-180x180.png"},{"revision":"cee2529402074d73b2135e2ddee25f6b","url":"./icons/icon-192x192.png"},{"revision":"85055b452284c0193142936dee7d2cd1","url":"./icons/icon-196x196.png"},{"revision":"f471155dd70b99924422dd9dd87ea94d","url":"./icons/icon-228x228.png"},{"revision":"4d896c5c7025582605de31fb74f0316b","url":"./icons/icon-256x256.png"},{"revision":"d99b49e5bcad41968313c3e132e7c661","url":"./icons/icon-310x310.png"},{"revision":"f9597636bef677327c3abc0fd1a743c4","url":"./icons/icon-384x384.png"},{"revision":"de22c0eb9e08d3576df5cedb568ca56b","url":"./icons/icon-512x512.png"},{"revision":"583b223ad8e20f05aaa64923d7db2e46","url":"./icons/icon-1024x1024.png"},{"revision":"50c0dbdab84c46dc7d9d638c09060cde","url":"manifest.json"}]);const Je=new RegExp("/[^/?]+\\.[^/]+$");M(({request:s,url:e})=>!(s.mode!=="navigate"||e.pathname.startsWith("/_")||e.pathname.match(Je)),Ne(`${ze.homepage}/index.html`));M(({url:s})=>s.origin===self.location.origin&&s.pathname.endsWith(".png"),new Oe({cacheName:"images",plugins:[new be({maxEntries:50})]}));self.addEventListener("message",s=>{s.data&&s.data.type==="SKIP_WAITING"&&self.skipWaiting()}); diff --git a/feature/fixes/static/css/main.09af7d82.css b/feature/fixes/static/css/main.09af7d82.css deleted file mode 100644 index bd1b3b62..00000000 --- a/feature/fixes/static/css/main.09af7d82.css +++ /dev/null @@ -1,9 +0,0 @@ -@charset "UTF-8";.main-header.main-header{background-color:var(--brand-color)!important;color:#fff}.main-header.main-header .navbar-brand{color:inherit!important}.main-header__brand-logo{margin-right:5px;width:26px}.main-header__toggle-icon{transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;width:20px}.main-header__toggle-icon--opened{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.servers-list__list-group.servers-list__list-group{width:100%}.servers-list__list-group:not(.servers-list__list-group--embedded){box-shadow:0 .125rem .25rem rgba(0,0,0,.075);max-width:400px}.servers-list__server-item.servers-list__server-item{padding:.75rem 2.5rem .75rem 1rem;position:relative;text-align:left}.servers-list__server-item:not(:hover){color:#4696e5}.servers-list__server-item:hover{background-color:var(--secondary-color)}.servers-list__server-item-icon{position:absolute;right:1rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.servers-list__list-group--embedded.servers-list__list-group--embedded{border-radius:0;border-top:1px solid var(--border-color)}@media(min-width:768px){.servers-list__list-group--embedded.servers-list__list-group--embedded{max-height:220px;overflow-x:auto;scrollbar-color:rgba(0,0,0,.2) #f5f5f5;scrollbar-width:thin}.servers-list__list-group--embedded.servers-list__list-group--embedded::-webkit-scrollbar{background-color:#f5f5f5;width:6px}.servers-list__list-group--embedded.servers-list__list-group--embedded::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:.5rem}}.servers-list__list-group--embedded.servers-list__list-group--embedded .servers-list__server-item{border:none;border-bottom:1px solid var(--border-color)}.home{padding-top:15px;position:relative;width:100%}@media(min-width:768px){.home{height:calc(100vh - 56px - 3.1rem);padding-top:0}}.home__logo-wrapper{height:100%!important;min-height:300px;padding:1.5rem!important}.home__logo{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:calc(300.024px - 3rem)}.home__main-card{margin:0 auto;max-width:720px}@media(min-width:768px){.home__main-card{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}}.home__title-wrapper{border-bottom:1px solid var(--border-color);padding:1.5rem!important}.home__title{font-size:1.75rem;margin:0;text-align:center}@media(min-width:768px){.home__title{font-size:2.2rem}.home__servers-container{border-left:1px solid var(--border-color)}}.no-menu-wrapper{padding:15px 0 0}@media(min-width:768px){.no-menu-wrapper{padding:30px 20px 20px}}.menu-layout__swipeable,.menu-layout__swipeable-inner{height:100%}.menu-layout__burger-icon{color:hsla(0,0%,100%,.5);cursor:pointer;display:none;font-size:1.5rem;position:fixed;top:18px;transition:color .3s;z-index:1035}@media(max-width:767px){.menu-layout__burger-icon{display:inline-block}}.menu-layout__burger-icon--active{color:#fff}.menu-layout__container.menu-layout__container{min-height:100%;padding:20px 0 0}@media(min-width:768px){.menu-layout__container.menu-layout__container{padding:30px 0 0 260px}}.aside-menu{background-color:var(--primary-color);bottom:0;box-shadow:0 8px 15px rgba(0,0,0,.05);display:block;left:0;overflow-x:hidden;overflow-y:auto;padding-bottom:10px;padding-top:13px;position:fixed!important;top:56px;width:260px;z-index:1010}@media(min-width:768px){.aside-menu{padding:30px 15px 15px}}@media(max-width:767px){.aside-menu{box-shadow:-10px 0 50px 11px rgba(0,0,0,.55);top:53px;transition:left .3s}.aside-menu--hidden{left:-295px}}.aside-menu__nav{height:100%}.aside-menu__item{cursor:pointer;margin:0 -15px;padding:10px 20px;text-decoration:none!important}@media(max-width:767px){.aside-menu__item{margin:0}}.aside-menu__item:hover{background-color:var(--secondary-color)}.aside-menu__item--selected,.aside-menu__item--selected:hover{background-color:var(--brand-color);color:#fff}.aside-menu__item--divider{border-bottom:1px solid #eee;margin:20px 0}.aside-menu__item--danger{color:#dc3545}.aside-menu__item--push{margin-top:auto}.aside-menu__item--danger:hover{background-color:#dc3545;color:#fff}.aside-menu__item-text{margin-left:8px}.shlink-versions-container--with-sidebar{margin-left:0}@media(min-width:768px){.shlink-versions-container--with-sidebar{margin-left:260px}}.search-field{position:relative}.search-field:focus-within{z-index:1}.search-field__input.search-field__input{padding-left:40px;padding-right:40px}.search-field__input--no-border.search-field__input--no-border{border:none;border-radius:0}.search-field__icon{color:#6c757d;left:15px}.search-field__close,.search-field__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.search-field__close{cursor:pointer;right:10px}.dropdown-btn__toggle.dropdown-btn__toggle,.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled).active,.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):active,.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):focus,.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):hover,.show>.dropdown-btn__toggle.dropdown-btn__toggle.dropdown-toggle{background-color:var(--primary-color);border-color:var(--input-border-color);color:var(--input-text-color);text-align:left}.card .dropdown-btn__toggle.dropdown-btn__toggle,.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled).active,.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):active,.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):focus,.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):hover,.show>.card .dropdown-btn__toggle.dropdown-btn__toggle.dropdown-toggle{background-color:var(--input-color)}.dropdown-btn__toggle.dropdown-btn__toggle.disabled,.dropdown-btn__toggle.dropdown-btn__toggle:disabled{background-color:var(--input-disabled-color)}.dropdown-btn__toggle.dropdown-btn__toggle:after{position:absolute;right:.75rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.date-input-container{position:relative}.date-input-container__input{padding-right:35px!important}.date-input-container__input:not(:disabled){background-color:var(--primary-color)!important}.card .date-input-container__input:not(:disabled),.dropdown .date-input-container__input:not(:disabled){background-color:var(--input-color)!important}.date-input-container__icon{cursor:pointer;right:.75rem}.date-input-container__icon,.react-datepicker__close-icon.react-datepicker__close-icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.react-datepicker__close-icon.react-datepicker__close-icon{right:0}.react-datepicker__close-icon.react-datepicker__close-icon:after{background-color:#333;font-size:14px;line-height:11px;right:.75rem}.react-datepicker-wrapper,.react-datepicker__input-container{display:block!important}.react-datepicker__day--keyboard-selected{background-color:#4696e5}.react-datepicker__day--keyboard-selected:hover{background-color:#1d77d0}.react-datepicker.react-datepicker,.react-datepicker__time.react-datepicker__time{background-color:var(--primary-color)!important;border-color:var(--border-color);color:var(--text-color)}.react-datepicker__header.react-datepicker__header{background-color:var(--secondary-color);border-color:var(--border-color)}.react-datepicker-time__header.react-datepicker-time__header,.react-datepicker-year-header.react-datepicker-year-header,.react-datepicker__current-month.react-datepicker__current-month,.react-datepicker__day-name.react-datepicker__day-name,.react-datepicker__day.react-datepicker__day:not(:hover):not(.react-datepicker__day--selected),.react-datepicker__time-name.react-datepicker__time-name{color:inherit}.react-datepicker__day--disabled.react-datepicker__day--disabled{color:var(--border-color)!important;cursor:default}.react-datepicker__day--keyboard-selected.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected.react-datepicker__year-text--keyboard-selected{background-color:var(--brand-color)!important;color:#fff!important}.react-datepicker__time-list-item.react-datepicker__time-list-item:hover{color:#232323}.react-datepicker__time-container.react-datepicker__time-container{border-color:var(--border-color)}.react-datepicker__time-list.react-datepicker__time-list{scrollbar-color:rgba(0,0,0,.5) var(--secondary-color);scrollbar-width:thin}.react-datepicker__time-list.react-datepicker__time-list::-webkit-scrollbar{background-color:var(--secondary-color);width:10px}.react-datepicker__time-list.react-datepicker__time-list::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.5);border-radius:.5rem}.react-datepicker-popper.react-datepicker-popper{z-index:2}.react-datepicker-popper.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle.react-datepicker__triangle:after{border-top-color:var(--primary-color)}.react-datepicker-popper.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle.react-datepicker__triangle:before{border-top-color:var(--border-color)}.react-datepicker-popper.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle.react-datepicker__triangle:after{border-bottom-color:var(--secondary-color)}.react-datepicker-popper.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle.react-datepicker__triangle:before{border-bottom-color:var(--border-color)}.ordering-dropdown__menu--link.ordering-dropdown__menu--link{min-width:11rem}.ordering-dropdown__sort-icon{float:right;margin:3.5px 0 0}.short-urls-filtering-bar__tags-icon{font-size:1.6rem;vertical-align:bottom}.tag{color:#fff}.tag--light-bg{color:#222!important}.tag:not(:last-child){margin-right:3px}.tag__close-selected-tag.tag__close-selected-tag{color:inherit;cursor:pointer;font-size:inherit;margin-left:5px;opacity:1}.tag__close-selected-tag.tag__close-selected-tag:hover{color:inherit!important;opacity:1!important}.copy-to-clipboard-icon{cursor:pointer;font-size:1.2rem}.short-urls-visits-count__max-visits-control{cursor:help}.short-url-visits-count__amount{display:inline-block;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.short-url-visits-count__amount--big{-webkit-transform:scale(1.5);transform:scale(1.5)}.short-urls-row__cell.short-urls-row__cell{vertical-align:middle!important}.short-urls-row__cell--break{word-break:break-all}.short-urls-row__cell--relative{position:relative}@media(min-width:992px){.short-urls-row__cell--indivisible{white-space:nowrap}}@media(max-width:991px){.short-urls-row__short-url-wrapper{word-break:break-all}}@media(min-width:992px){.short-urls-row__short-url-wrapper{display:inline-block;max-width:18rem;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}}.short-urls-row__copy-hint{box-shadow:0 3px 15px rgba(0,0,0,.25);position:absolute;top:50%;-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px)}@media(max-width:991px){.short-urls-row__copy-hint{position:absolute;top:50%;-webkit-transform:translateY(-50%) translateX(calc(-100% - 20px));transform:translateY(-50%) translateX(calc(-100% - 20px))}}.dropdown-btn-menu__dropdown-toggle:after{display:none!important}.create-short-url-result__copy-btn{margin-left:10px;vertical-align:inherit}.short-urls-table__header-cell--with-action{cursor:pointer}.use-existing-if-found-info-icon__modal-quote{background-color:#f9f9f9;border-left:5px solid #eee;font-size:17.5px;margin-bottom:0;padding:10px 15px}.short-url-form p:last-child{margin-bottom:0}.short-url-form .card{height:100%}.qr-code-modal__img{box-shadow:0 0 .25rem rgba(0,0,0,.2);max-width:100%}.import-servers-btn__csv-select{left:-9999px;position:absolute;top:-9999px}.server-error__container{align-items:center;display:flex;justify-content:center;text-align:center}.server-error__delete-btn{color:#dc3545;cursor:pointer}.server-error__delete-btn:hover{text-decoration:underline}.highlight-card.highlight-card{border-top:3px solid var(--brand-color);color:inherit;text-align:center;text-decoration:none}.highlight-card__link-icon{bottom:5px;opacity:.1;position:absolute;right:5px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.highlight-card__title{color:#6c757d;text-transform:uppercase}@media(min-width:768px){.map-modal__modal.map-modal__modal{height:calc(100% - 40px);margin:20px;max-width:calc(100% - 40px);width:calc(100% - 40px)}}@media(max-width:767px){.map-modal__modal.map-modal__modal{height:calc(100% - 20px);margin:10px;max-width:calc(100% - 20px);width:calc(100% - 20px)}}.map-modal__modal-content.map-modal__modal-content{height:100%}.map-modal__modal-title.map-modal__modal-title{background:linear-gradient(rgba(0,0,0,.5),transparent);color:#fff;margin:0;padding:.5rem 1rem 1rem;position:absolute;width:100%;z-index:1001}.map-modal__modal-body.map-modal__modal-body{display:flex;overflow:hidden;padding:0}.map-modal__modal.map-modal__modal .leaflet-container.leaflet-container{border-radius:.3rem;flex:1 1 auto}.map-modal__modal.map-modal__modal .leaflet-top.leaflet-top .leaflet-control.leaflet-control{margin-top:60px}.short-url-visits-header__created-at{cursor:default}.nav-pills__nav{position:-webkit-sticky!important;position:sticky!important;top:55px;z-index:2}.nav-pills__nav-link.nav-pills__nav-link{border-bottom:3px solid transparent!important;border-radius:0!important;color:#5d6778;cursor:pointer;font-weight:700;padding-bottom:calc(.5rem - 3px)!important;text-decoration:none}@media(min-width:576px)and (max-width:991px){.nav-pills__nav-link.nav-pills__nav-link{font-size:89%}}.nav-pills__nav-link:hover{color:#4696e5!important}.nav-pills__nav-link.active{background-color:var(--primary-color)!important;border-color:#4696e5!important;color:#4696e5!important}.line-chart-card__body canvas{height:300px!important}@media(min-width:768px){.line-chart-card__body canvas{height:400px!important}}.simple-paginator{-webkit-user-select:none;user-select:none}.visits-table{background-color:var(--primary-color);margin:1.5rem 0 0;overflow-y:hidden;position:relative}.visits-table__header-cell{cursor:pointer;margin-bottom:55px;position:relative;z-index:1}.visits-table__header-cell:before{background:var(--table-border-color);bottom:-1px;content:"";left:0;position:absolute;right:-1px;top:-1px;z-index:-2}.visits-table__header-cell:first-child:before{left:-1px}.visits-table__header-cell:after{background:var(--primary-color);bottom:0;content:"";left:1px;position:absolute;right:0;top:0;z-index:-1}.visits-table__header-cell:first-child:after{left:0}@media(min-width:768px){.visits-table__header-cell.visits-table__sticky{top:96px}}.visits-table__header-icon{float:right;margin-top:3px}.visits-table__footer-cell.visits-table__footer-cell{bottom:0;margin-top:34px;padding:.5rem;position:relative;z-index:1}.visits-table__footer-cell.visits-table__footer-cell:before{background:var(--table-border-color);bottom:-1px;content:"";left:0;position:absolute;right:-1px;top:-1px;z-index:-2}.visits-table__footer-cell.visits-table__footer-cell:first-child:before{left:-1px}.visits-table__footer-cell.visits-table__footer-cell:after{background:var(--primary-color);bottom:0;content:"";left:1px;position:absolute;right:0;top:0;z-index:-1}.visits-table__footer-cell.visits-table__footer-cell:first-child:after{left:0}.visits-table__sticky.visits-table__sticky{position:-webkit-sticky;position:sticky}.open-map-modal-btn__btn.open-map-modal-btn__btn{margin-right:1rem;padding:0}.doughnut-chart-legend{list-style-type:none;margin:0;padding:0}@media(max-width:767px){.doughnut-chart-legend{margin-top:1rem}}.doughnut-chart-legend__item:not(:first-child){margin-top:.3rem}.doughnut-chart-legend__item-color{border-radius:10px;height:20px;margin-right:5px;min-width:20px;width:20px}.doughnut-chart-legend__item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-card__footer--sticky{bottom:0;position:-webkit-sticky;position:sticky}.tag-bullet{border-radius:50%;display:inline-block;height:20px;margin-right:7px;vertical-align:-4px;width:20px}.tag-card.tag-card{margin-bottom:.5rem}.tag-card__body.tag-card__body,.tag-card__header.tag-card__header{padding:.75rem}.tag-card__tag-title{line-height:31px;margin:0;padding-right:5px}.tag-card__btn{float:right}.tag-card__btn--last{margin-left:3px}.tag-card__table-cell.tag-card__table-cell{border:none}.tag-card__tag-name{color:#4696e5;cursor:pointer}.tag-card__tag-name:hover{color:#1b70c3;text-decoration:underline}.edit-tag-modal__color-picker-toggle{cursor:pointer}.edit-tag-modal__color-icon{color:#fff}.edit-tag-modal__popover.edit-tag-modal__popover{border-radius:.6rem}.tags-table__header-cell.tags-table__header-cell{cursor:pointer;position:relative;position:-webkit-sticky;position:sticky;top:56px;z-index:1}.tags-table__header-cell.tags-table__header-cell:before{background:var(--table-border-color);bottom:-1px;content:"";left:0;position:absolute;right:0;top:-1px;z-index:-2}.tags-table__header-cell.tags-table__header-cell:first-child:before{left:0}.tags-table__header-cell.tags-table__header-cell:after{background:var(--primary-color);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.tags-table__header-cell.tags-table__header-cell:first-child:after{left:0}.user-interface__theme-icon{float:right;margin-top:.25rem}.domains-dropdown__toggle-btn.domains-dropdown__toggle-btn,.domains-dropdown__toggle-btn.domains-dropdown__toggle-btn:active,.domains-dropdown__toggle-btn.domains-dropdown__toggle-btn:hover{color:#6c757d!important}.domains-dropdown__toggle-btn--active.domains-dropdown__toggle-btn--active,.domains-dropdown__toggle-btn--active.domains-dropdown__toggle-btn--active:active,.domains-dropdown__toggle-btn--active.domains-dropdown__toggle-btn--active:hover{color:var(--input-text-color)!important}.domains-dropdown__back-btn.domains-dropdown__back-btn,.domains-dropdown__back-btn.domains-dropdown__back-btn:hover{border-color:var(--border-color)}.app-update-banner.app-update-banner{box-shadow:0 0 1rem var(--brand-color);color:var(--text-color);left:50%;margin:0;max-width:calc(100% - 30px);padding:0 4rem 0 0;position:absolute;position:fixed;text-align:center;top:31px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:700px;z-index:1040}.app,.app-container{height:100%}.app{padding-top:56px}.shlink-wrapper{margin-bottom:-3.1rem;min-height:100%;padding-bottom:3.1rem}.shlink-footer{height:2.3rem;margin-top:.8rem;padding:0}@media(min-width:768px){.shlink-footer{padding:0 15px}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{margin-left:-4px;position:absolute;width:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border:8px solid transparent;box-sizing:initial;content:"";height:0;left:-8px;position:absolute;width:1px;z-index:-1}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-bottom-color:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{margin-top:-8px;top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#f0f0f0;border-top:none}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#aeaeae;top:-1px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{bottom:0;margin-bottom:-8px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-bottom:none;border-top-color:#fff}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after{bottom:0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-top-color:#aeaeae;bottom:-1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0;width:100%}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;position:relative}.react-datepicker--time-only .react-datepicker__triangle{left:35px}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__triangle{left:50px;position:absolute}.react-datepicker-popper{z-index:1}.react-datepicker-popper[data-placement^=bottom]{padding-top:10px}.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle,.react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle{left:auto;right:50px}.react-datepicker-popper[data-placement^=top]{padding-bottom:10px}.react-datepicker-popper[data-placement^=right]{padding-left:8px}.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle{left:auto;right:42px}.react-datepicker-popper[data-placement^=left]{padding-right:8px}.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle{left:42px;right:auto}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 2px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;-webkit-transform:rotate(225deg);transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-72px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day-names,.react-datepicker__week{white-space:nowrap}.react-datepicker__day-names{margin-bottom:-8px}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__month--in-range,.react-datepicker__month--in-selecting-range,.react-datepicker__month--selected,.react-datepicker__quarter--in-range,.react-datepicker__quarter--in-selecting-range,.react-datepicker__quarter--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__month--in-range:hover,.react-datepicker__month--in-selecting-range:hover,.react-datepicker__month--selected:hover,.react-datepicker__quarter--in-range:hover,.react-datepicker__quarter--in-selecting-range:hover,.react-datepicker__quarter--selected:hover{background-color:#1d5d90}.react-datepicker__month--disabled,.react-datepicker__quarter--disabled{color:#ccc;pointer-events:none}.react-datepicker__month--disabled:hover,.react-datepicker__quarter--disabled:hover{background-color:initial;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover,.react-datepicker__year-text:hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:hover,.react-datepicker__month-text--highlighted:hover,.react-datepicker__quarter-text--highlighted:hover,.react-datepicker__year-text--highlighted:hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:hover,.react-datepicker__day--in-selecting-range:hover,.react-datepicker__day--selected:hover,.react-datepicker__month-text--in-range:hover,.react-datepicker__month-text--in-selecting-range:hover,.react-datepicker__month-text--selected:hover,.react-datepicker__quarter-text--in-range:hover,.react-datepicker__quarter-text--in-selecting-range:hover,.react-datepicker__quarter-text--selected:hover,.react-datepicker__year-text--in-range:hover,.react-datepicker__year-text--in-selecting-range:hover,.react-datepicker__year-text--selected:hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#2579ba;border-radius:.3rem;color:#fff}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:rgba(33,107,165,.5)}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled:hover,.react-datepicker__month-text--disabled:hover,.react-datepicker__quarter-text--disabled:hover,.react-datepicker__year-text--disabled:hover{background-color:initial}.react-datepicker__month-text.react-datepicker__month--in-range:hover,.react-datepicker__month-text.react-datepicker__month--selected:hover,.react-datepicker__month-text.react-datepicker__quarter--in-range:hover,.react-datepicker__month-text.react-datepicker__quarter--selected:hover,.react-datepicker__quarter-text.react-datepicker__month--in-range:hover,.react-datepicker__quarter-text.react-datepicker__month--selected:hover,.react-datepicker__quarter-text.react-datepicker__quarter--in-range:hover,.react-datepicker__quarter-text.react-datepicker__quarter--selected:hover{background-color:#216ba5}.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover{background-color:#f0f0f0}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:rgba(0,0,0,.8);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1),-webkit-transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:hsla(0,0%,100%,.5);border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.65)}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px rgba(0,0,0,.4)}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:hsla(0,0%,100%,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fff;background:hsla(0,0%,100%,.5);border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;overflow:hidden;padding:2px 5px 1px;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid rgba(0,0,0,.2)}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.4);color:#333}.leaflet-container a.leaflet-popup-close-button{background:transparent;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.4);color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:transparent;border:6px solid transparent;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}} - -/*! - * Bootstrap v5.2.2 (https://getbootstrap.com/) - * Copyright 2011-2022 The Bootstrap Authors - * Copyright 2011-2022 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#4696e5;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:70,150,229;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#4696e5;--bs-link-hover-color:#3878b7;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd}*,:after,:before{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;background-color:var(--bs-body-bg);color:#212529;color:var(--bs-body-color);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-family:var(--bs-body-font-family);font-size:1rem;font-size:var(--bs-body-font-size);font-weight:400;font-weight:var(--bs-body-font-weight);line-height:1.5;line-height:var(--bs-body-line-height);margin:0;text-align:var(--bs-body-text-align)}hr{border:0;border-top:1px solid;color:inherit;margin:1rem 0;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-bottom:.5rem;margin-top:0}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media(min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media(min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media(min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-bottom:1rem;margin-top:0}abbr[title]{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-left:2rem}dl,ol,ul{margin-bottom:1rem;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{background-color:#fff3cd;background-color:var(--bs-highlight-bg);padding:.1875em}sub,sup{font-size:.75em;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}a{color:#4696e5;color:var(--bs-link-color);text-decoration:underline}a:hover{color:#3878b7;color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;font-size:.875em;margin-bottom:1rem;margin-top:0;overflow:auto}pre code{color:inherit;font-size:inherit;word-break:normal}code{word-wrap:break-word;color:#d63384;color:var(--bs-code-color);font-size:.875em}a>code{color:inherit}kbd{background-color:#212529;background-color:var(--bs-body-color);border-radius:.25rem;color:#fff;color:var(--bs-body-bg);font-size:.875em;padding:.1875rem .375rem}kbd kbd{font-size:1em;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{border-collapse:collapse;caption-side:bottom}caption{color:#6c757d;padding-bottom:.5rem;padding-top:.5rem;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{float:left;font-size:calc(1.275rem + .3vw);line-height:inherit;margin-bottom:.5rem;padding:0;width:100%}@media(min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::file-selector-button{-webkit-appearance:button;font:inherit}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:initial}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-6{font-size:2.5rem}}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{color:#6c757d;font-size:.875em;margin-bottom:1rem;margin-top:-1rem}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:#fff;border:1px solid #dee2e6;border:1px solid var(--bs-border-color);border-radius:.375rem;padding:.25rem}.figure{display:inline-block}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:#6c757d;font-size:.875em}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-left:auto;margin-right:auto;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}@media(min-width:576px){.container,.container-sm{max-width:540px}}@media(min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media(min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media(min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media(min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}.row>*{flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}.col{flex:1 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media(min-width:576px){.col-sm{flex:1 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media(min-width:768px){.col-md{flex:1 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media(min-width:992px){.col-lg{flex:1 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media(min-width:1200px){.col-xl{flex:1 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media(min-width:1400px){.col-xxl{flex:1 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0,0,0,.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0,0,0,.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0,0,0,.075);border-color:var(--bs-table-border-color);color:var(--bs-table-color);margin-bottom:1rem;vertical-align:top;width:100%}.table>:not(caption)>*>*{background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg);padding:.5rem}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped-columns>:not(caption)>tr>:nth-child(2n),.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color:#000;--bs-table-bg:#daeafa;--bs-table-border-color:#c4d3e1;--bs-table-striped-bg:#cfdeee;--bs-table-striped-color:#000;--bs-table-active-bg:#c4d3e1;--bs-table-active-color:#000;--bs-table-hover-bg:#cad8e7;--bs-table-hover-color:#000}.table-primary,.table-secondary{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#cbccce;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#bcd0c7;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000}.table-info,.table-success{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#badce3;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#e6dbb9;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000}.table-danger,.table-warning{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#dfc2c4;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#dfe0e1;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000}.table-dark,.table-light{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#373b3e;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media(max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media(max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media(max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media(max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media(max-width:1399.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}.form-label{margin-bottom:.5rem}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}.col-form-label-lg{font-size:1.25rem;padding-bottom:calc(.5rem + 1px);padding-top:calc(.5rem + 1px)}.col-form-label-sm{font-size:.875rem;padding-bottom:calc(.25rem + 1px);padding-top:calc(.25rem + 1px)}.form-text{color:#6c757d;font-size:.875em;margin-top:.25rem}.form-control{-webkit-appearance:none;appearance:none;background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.375rem;color:#212529;display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{background-color:#fff;border-color:#a3cbf2;box-shadow:0 0 0 .25rem rgba(70,150,229,.25);color:#212529;outline:0}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{-webkit-margin-end:.75rem;background-color:#e9ecef;border:0 solid;border-color:inherit;border-inline-end-width:1px;border-radius:0;color:#212529;margin:-.375rem -.75rem;margin-inline-end:.75rem;padding:.375rem .75rem;pointer-events:none;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{-webkit-margin-end:.75rem;background-color:#e9ecef;border:0 solid;border-color:inherit;border-inline-end-width:1px;border-radius:0;color:#212529;margin:-.375rem -.75rem;margin-inline-end:.75rem;padding:.375rem .75rem;pointer-events:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{background-color:transparent;border:solid transparent;border-width:1px 0;color:#212529;display:block;line-height:1.5;margin-bottom:0;padding:.375rem 0;width:100%}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{border-radius:.25rem;font-size:.875rem;min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem}.form-control-sm::-webkit-file-upload-button{-webkit-margin-end:.5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem;padding:.25rem .5rem}.form-control-sm::file-selector-button{-webkit-margin-end:.5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem;padding:.25rem .5rem}.form-control-lg{border-radius:.5rem;font-size:1.25rem;min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem}.form-control-lg::-webkit-file-upload-button{-webkit-margin-end:1rem;margin:-.5rem -1rem;margin-inline-end:1rem;padding:.5rem 1rem}.form-control-lg::file-selector-button{-webkit-margin-end:1rem;margin:-.5rem -1rem;margin-inline-end:1rem;padding:.5rem 1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{height:calc(1.5em + .75rem + 2px);padding:.375rem;width:3rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{-moz-padding-start:calc(.75rem - 3px);-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;color:#212529;display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem 2.25rem .375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#a3cbf2;box-shadow:0 0 0 .25rem rgba(70,150,229,.25);outline:0}.form-select[multiple],.form-select[size]:not([size="1"]){background-image:none;padding-right:.75rem}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{border-radius:.25rem;font-size:.875rem;padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.form-select-lg{border-radius:.5rem;font-size:1.25rem;padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}.form-check{display:block;margin-bottom:.125rem;min-height:1.5rem;padding-left:1.5em}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-left:0;padding-right:1.5em;text-align:right}.form-check-reverse .form-check-input{float:right;margin-left:0;margin-right:-1.5em}.form-check-input{print-color-adjust:exact;-webkit-appearance:none;appearance:none;background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain;border:1px solid rgba(0,0,0,.25);height:1em;margin-top:.25em;vertical-align:top;width:1em}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:#a3cbf2;box-shadow:0 0 0 .25rem rgba(70,150,229,.25);outline:0}.form-check-input:checked{background-color:#4696e5;border-color:#4696e5}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input[type=checkbox]:indeterminate{background-color:#4696e5;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E");border-color:#4696e5}.form-check-input:disabled{-webkit-filter:none;filter:none;opacity:.5;pointer-events:none}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3E%3C/svg%3E");background-position:0;border-radius:2em;margin-left:-2.5em;transition:background-position .15s ease-in-out;width:2em}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23a3cbf2'/%3E%3C/svg%3E")}.form-switch .form-check-input:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");background-position:100%}.form-switch.form-check-reverse{padding-left:0;padding-right:2.5em}.form-switch.form-check-reverse .form-check-input{margin-left:0;margin-right:-2.5em}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{-webkit-filter:none;filter:none;opacity:.65;pointer-events:none}.form-range{-webkit-appearance:none;appearance:none;background-color:transparent;height:1.5rem;padding:0;width:100%}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(70,150,229,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(70,150,229,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#4696e5;border:0;border-radius:1rem;height:1rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c8e0f7}.form-range::-webkit-slider-runnable-track{background-color:#dee2e6;border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.form-range::-moz-range-thumb{appearance:none;background-color:#4696e5;border:0;border-radius:1rem;height:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#c8e0f7}.form-range::-moz-range-track{background-color:#dee2e6;border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{border:1px solid transparent;height:100%;left:0;overflow:hidden;padding:1rem .75rem;pointer-events:none;position:absolute;text-align:start;text-overflow:ellipsis;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;transition:opacity .1s ease-in-out,-webkit-transform .1s ease-in-out;transition:opacity .1s ease-in-out,transform .1s ease-in-out;transition:opacity .1s ease-in-out,transform .1s ease-in-out,-webkit-transform .1s ease-in-out;white-space:nowrap;width:100%}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-webkit-input-placeholder,.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-select{padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{flex:1 1 auto;min-width:0;position:relative;width:1%}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{align-items:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem;color:#212529;display:flex;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;white-space:nowrap}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{border-radius:.5rem;font-size:1.25rem;padding:.5rem 1rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{border-radius:.25rem;font-size:.875rem;padding:.25rem .5rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-bottom-right-radius:0;border-top-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-bottom-left-radius:0;border-top-left-radius:0}.valid-feedback{color:#198754;display:none;font-size:.875em;margin-top:.25rem;width:100%}.valid-tooltip{background-color:rgba(25,135,84,.9);border-radius:.375rem;color:#fff;display:none;font-size:.875rem;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#198754;padding-right:calc(1.5em + .75rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);padding-right:4.125rem}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{color:#dc3545;display:none;font-size:.875em;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:rgba(220,53,69,.9);border-radius:.375rem;color:#fff;display:none;font-size:.875rem;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#dc3545;padding-right:calc(1.5em + .75rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);padding-right:4.125rem}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:#212529;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.15),0 1px 1px rgba(0,0,0,.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb),.5);background-color:var(--bs-btn-bg);border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);color:var(--bs-btn-color);cursor:pointer;display:inline-block;font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;user-select:none;vertical-align:middle}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);color:var(--bs-btn-hover-color)}.btn-check+.btn:hover{background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);color:var(--bs-btn-color)}.btn:focus-visible{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-focus-box-shadow);color:var(--bs-btn-hover-color);outline:0}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-focus-box-shadow);outline:0}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color);color:var(--bs-btn-active-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);color:var(--bs-btn-disabled-color);opacity:var(--bs-btn-disabled-opacity);pointer-events:none}.btn-primary{--bs-btn-color:#000;--bs-btn-bg:#4696e5;--bs-btn-border-color:#4696e5;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#62a6e9;--bs-btn-hover-border-color:#59a1e8;--bs-btn-focus-shadow-rgb:60,128,195;--bs-btn-active-color:#000;--bs-btn-active-bg:#6babea;--bs-btn-active-border-color:#59a1e8;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#4696e5;--bs-btn-disabled-border-color:#4696e5}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#4696e5;--bs-btn-border-color:#4696e5;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#4696e5;--bs-btn-hover-border-color:#4696e5;--bs-btn-focus-shadow-rgb:70,150,229;--bs-btn-active-color:#000;--bs-btn-active-bg:#4696e5;--bs-btn-active-border-color:#4696e5;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#4696e5;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#4696e5;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-rgb:60,128,195;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.5rem}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{height:auto;transition:width .35s ease;width:0}@media(prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:#212529;--bs-dropdown-bg:#fff;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:0.375rem;--bs-dropdown-border-width:1px;--bs-dropdown-inner-border-radius:calc(0.375rem - 1px);--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15);--bs-dropdown-link-color:#212529;--bs-dropdown-link-hover-color:#1e2125;--bs-dropdown-link-hover-bg:#e9ecef;--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#4696e5;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;background-clip:padding-box;background-color:var(--bs-dropdown-bg);border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius);color:var(--bs-dropdown-color);display:none;font-size:var(--bs-dropdown-font-size);list-style:none;margin:0;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);position:absolute;text-align:left;z-index:var(--bs-dropdown-zindex)}.dropdown-menu[data-bs-popper]{left:0;margin-top:var(--bs-dropdown-spacer);top:100%}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{left:auto;right:0}@media(min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{left:auto;right:0}}@media(min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{left:auto;right:0}}@media(min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{left:auto;right:0}}@media(min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{left:auto;right:0}}@media(min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{left:auto;right:0}}.dropup .dropdown-menu[data-bs-popper]{bottom:100%;margin-bottom:var(--bs-dropdown-spacer);margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:0;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{left:100%;margin-left:var(--bs-dropdown-spacer);margin-top:0;right:auto;top:0}.dropend .dropdown-toggle:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{left:auto;margin-right:var(--bs-dropdown-spacer);margin-top:0;right:100%;top:0}.dropstart .dropdown-toggle:after{content:"";display:inline-block;display:none;margin-left:.255em;vertical-align:.255em}.dropstart .dropdown-toggle:before{border-bottom:.3em solid transparent;border-right:.3em solid;border-top:.3em solid transparent;content:"";display:inline-block;margin-right:.255em;vertical-align:.255em}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{border-top:1px solid var(--bs-dropdown-divider-bg);height:0;margin:var(--bs-dropdown-divider-margin-y) 0;opacity:1;overflow:hidden}.dropdown-item{background-color:transparent;border:0;clear:both;color:var(--bs-dropdown-link-color);display:block;font-weight:400;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);text-align:inherit;text-decoration:none;white-space:nowrap;width:100%}.dropdown-item:focus,.dropdown-item:hover{background-color:var(--bs-dropdown-link-hover-bg);color:var(--bs-dropdown-link-hover-color)}.dropdown-item.active,.dropdown-item:active{background-color:var(--bs-dropdown-link-active-bg);color:var(--bs-dropdown-link-active-color);text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:transparent;color:var(--bs-dropdown-link-disabled-color);pointer-events:none}.dropdown-menu.show{display:block}.dropdown-header{color:var(--bs-dropdown-header-color);display:block;font-size:.875rem;margin-bottom:0;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);white-space:nowrap}.dropdown-item-text{color:var(--bs-dropdown-link-color);display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:hsla(0,0%,100%,.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#4696e5;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-bottom-left-radius:0;border-top-left-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#6c757d;display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{color:var(--bs-nav-link-color);display:block;font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);cursor:default;pointer-events:none}.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:#dee2e6;--bs-nav-tabs-border-radius:0.375rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color:#495057;--bs-nav-tabs-link-active-bg:#fff;--bs-nav-tabs-link-active-border-color:#dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius);margin-bottom:calc(var(--bs-nav-tabs-border-width)*-1)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:var(--bs-nav-tabs-link-hover-border-color);isolation:isolate}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{background-color:transparent;border-color:transparent;color:var(--bs-nav-link-disabled-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color);color:var(--bs-nav-tabs-link-active-color)}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:calc(var(--bs-nav-tabs-border-width)*-1)}.nav-pills{--bs-nav-pills-border-radius:0.375rem;--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#4696e5}.nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{background-color:transparent;border-color:transparent;color:var(--bs-nav-link-disabled-color)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:var(--bs-nav-pills-link-active-bg);color:var(--bs-nav-pills-link-active-color)}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0,0,0,.55);--bs-navbar-hover-color:rgba(0,0,0,.7);--bs-navbar-disabled-color:rgba(0,0,0,.3);--bs-navbar-active-color:rgba(0,0,0,.9);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(0,0,0,.9);--bs-navbar-brand-hover-color:rgba(0,0,0,.9);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");--bs-navbar-toggler-border-color:rgba(0,0,0,.1);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);position:relative}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{align-items:center;display:flex;flex-wrap:inherit;justify-content:space-between}.navbar-brand{color:var(--bs-navbar-brand-color);font-size:var(--bs-navbar-brand-font-size);margin-right:var(--bs-navbar-brand-margin-end);padding-bottom:var(--bs-navbar-brand-padding-y);padding-top:var(--bs-navbar-brand-padding-y);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{color:var(--bs-navbar-color);padding-bottom:.5rem;padding-top:.5rem}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);color:var(--bs-navbar-color);font-size:var(--bs-navbar-toggler-font-size);line-height:1;padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width);outline:0;text-decoration:none}.navbar-toggler-icon{background-image:var(--bs-navbar-toggler-icon-bg);background-position:50%;background-repeat:no-repeat;background-size:100%;display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-nav-scroll{max-height:75vh;max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media(min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;-webkit-transform:none!important;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;-webkit-transform:none!important;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;-webkit-transform:none!important;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;-webkit-transform:none!important;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;-webkit-transform:none!important;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;-webkit-transform:none!important;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}.navbar-dark{--bs-navbar-color:hsla(0,0%,100%,.55);--bs-navbar-hover-color:hsla(0,0%,100%,.75);--bs-navbar-disabled-color:hsla(0,0%,100%,.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:hsla(0,0%,100%,.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-border-width:1px;--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(0,0,0,.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#fff;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;word-wrap:break-word;background-clip:initial;background-color:var(--bs-card-bg);border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius);display:flex;flex-direction:column;height:var(--bs-card-height);min-width:0;position:relative}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius);border-top-width:0}.card>.list-group:last-child{border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{color:var(--bs-card-color);flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(var(--bs-card-title-spacer-y)*-.5)}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color);color:var(--bs-card-cap-color);margin-bottom:0;padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color);color:var(--bs-card-cap-color);padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{border-bottom:0;margin-bottom:calc(var(--bs-card-cap-padding-y)*-1);margin-left:calc(var(--bs-card-cap-padding-x)*-.5);margin-right:calc(var(--bs-card-cap-padding-x)*-.5)}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-left:calc(var(--bs-card-cap-padding-x)*-.5);margin-right:calc(var(--bs-card-cap-padding-x)*-.5)}.card-img-overlay{border-radius:var(--bs-card-inner-border-radius);bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);position:absolute;right:0;top:0}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:#212529;--bs-accordion-bg:#fff;--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:1px;--bs-accordion-border-radius:0.375rem;--bs-accordion-inner-border-radius:calc(0.375rem - 1px);--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:#212529;--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233f87ce'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");--bs-accordion-btn-focus-border-color:#a3cbf2;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(70,150,229,.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:#3f87ce;--bs-accordion-active-bg:#edf5fc}.accordion-button{align-items:center;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;color:var(--bs-accordion-btn-color);display:flex;font-size:1rem;overflow-anchor:none;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);position:relative;text-align:left;transition:var(--bs-accordion-transition);width:100%}@media(prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(var(--bs-accordion-border-width)*-1) 0 var(--bs-accordion-border-color);color:var(--bs-accordion-active-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);-webkit-transform:var(--bs-accordion-btn-icon-transform);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);content:"";flex-shrink:0;height:var(--bs-accordion-btn-icon-width);margin-left:auto;transition:var(--bs-accordion-btn-icon-transition);width:var(--bs-accordion-btn-icon-width)}@media(prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{border-color:var(--bs-accordion-btn-focus-border-color);box-shadow:var(--bs-accordion-btn-focus-box-shadow);outline:0;z-index:3}.accordion-header{margin-bottom:0}.accordion-item{background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);color:var(--bs-accordion-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-left-radius:var(--bs-accordion-border-radius);border-bottom-right-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-left-radius:var(--bs-accordion-inner-border-radius);border-bottom-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-left-radius:var(--bs-accordion-border-radius);border-bottom-right-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-left:0;border-radius:0;border-right:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:#6c757d;--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:#6c757d;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius);display:flex;flex-wrap:wrap;font-size:var(--bs-breadcrumb-font-size);list-style:none;margin-bottom:var(--bs-breadcrumb-margin-bottom);padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{color:var(--bs-breadcrumb-divider-color);content:"/";content:var(--bs-breadcrumb-divider,"/");float:left;padding-right:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:#fff;--bs-pagination-border-width:1px;--bs-pagination-border-color:#dee2e6;--bs-pagination-border-radius:0.375rem;--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:#e9ecef;--bs-pagination-hover-border-color:#dee2e6;--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:#e9ecef;--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(70,150,229,.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#4696e5;--bs-pagination-active-border-color:#4696e5;--bs-pagination-disabled-color:#6c757d;--bs-pagination-disabled-bg:#fff;--bs-pagination-disabled-border-color:#dee2e6;display:flex;list-style:none;padding-left:0}.page-link{background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);color:var(--bs-pagination-color);display:block;font-size:var(--bs-pagination-font-size);padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);position:relative;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color);color:var(--bs-pagination-hover-color);z-index:2}.page-link:focus{background-color:var(--bs-pagination-focus-bg);box-shadow:var(--bs-pagination-focus-box-shadow);color:var(--bs-pagination-focus-color);outline:0;z-index:3}.active>.page-link,.page-link.active{background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color);color:var(--bs-pagination-active-color);z-index:3}.disabled>.page-link,.page-link.disabled{background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color);color:var(--bs-pagination-disabled-color);pointer-events:none}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-bottom-left-radius:var(--bs-pagination-border-radius);border-top-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-bottom-right-radius:var(--bs-pagination-border-radius);border-top-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:0.5rem}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:0.25rem}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:0.375rem;border-radius:var(--bs-badge-border-radius);color:var(--bs-badge-color);display:inline-block;font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);text-align:center;vertical-align:initial;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:0.375rem;background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius);color:var(--bs-alert-color);margin-bottom:var(--bs-alert-margin-bottom);padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);position:relative}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{padding:1.25rem 1rem;position:absolute;right:0;top:0;z-index:2}.alert-primary{--bs-alert-color:#2a5a89;--bs-alert-bg:#daeafa;--bs-alert-border-color:#c8e0f7}.alert-primary .alert-link{color:#22486e}.alert-secondary{--bs-alert-color:#41464b;--bs-alert-bg:#e2e3e5;--bs-alert-border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color:#0f5132;--bs-alert-bg:#d1e7dd;--bs-alert-border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color:#055160;--bs-alert-bg:#cff4fc;--bs-alert-border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color:#664d03;--bs-alert-bg:#fff3cd;--bs-alert-border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color:#842029;--bs-alert-bg:#f8d7da;--bs-alert-border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color:#636464;--bs-alert-bg:#fefefe;--bs-alert-border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color:#141619;--bs-alert-bg:#d3d3d4;--bs-alert-border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:#e9ecef;--bs-progress-border-radius:0.375rem;--bs-progress-box-shadow:inset 0 1px 2px rgba(0,0,0,.075);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#4696e5;--bs-progress-bar-transition:width 0.6s ease;background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);font-size:var(--bs-progress-font-size);height:var(--bs-progress-height)}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{background-color:var(--bs-progress-bar-bg);color:var(--bs-progress-bar-color);flex-direction:column;justify-content:center;text-align:center;transition:var(--bs-progress-bar-transition);white-space:nowrap}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media(prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{--bs-list-group-color:#212529;--bs-list-group-bg:#fff;--bs-list-group-border-color:rgba(0,0,0,.125);--bs-list-group-border-width:1px;--bs-list-group-border-radius:0.375rem;--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:#495057;--bs-list-group-action-hover-color:#495057;--bs-list-group-action-hover-bg:#f8f9fa;--bs-list-group-action-active-color:#212529;--bs-list-group-action-active-bg:#e9ecef;--bs-list-group-disabled-color:#6c757d;--bs-list-group-disabled-bg:#fff;--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#4696e5;--bs-list-group-active-border-color:#4696e5;border-radius:var(--bs-list-group-border-radius);display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-numbered{counter-reset:section;list-style-type:none}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{color:var(--bs-list-group-action-color);text-align:inherit;width:100%}.list-group-item-action:focus,.list-group-item-action:hover{background-color:var(--bs-list-group-action-hover-bg);color:var(--bs-list-group-action-hover-color);text-decoration:none;z-index:1}.list-group-item-action:active{background-color:var(--bs-list-group-action-active-bg);color:var(--bs-list-group-action-active-color)}.list-group-item{background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);color:var(--bs-list-group-color);display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);position:relative;text-decoration:none}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{background-color:var(--bs-list-group-disabled-bg);color:var(--bs-list-group-disabled-color);pointer-events:none}.list-group-item.active{background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color);color:var(--bs-list-group-active-color);z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:var(--bs-list-group-border-width);margin-top:calc(var(--bs-list-group-border-width)*-1)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}@media(min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{background-color:#daeafa;color:#2a5a89}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{background-color:#c4d3e1;color:#2a5a89}.list-group-item-primary.list-group-item-action.active{background-color:#2a5a89;border-color:#2a5a89;color:#fff}.list-group-item-secondary{background-color:#e2e3e5;color:#41464b}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{background-color:#cbccce;color:#41464b}.list-group-item-secondary.list-group-item-action.active{background-color:#41464b;border-color:#41464b;color:#fff}.list-group-item-success{background-color:#d1e7dd;color:#0f5132}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{background-color:#bcd0c7;color:#0f5132}.list-group-item-success.list-group-item-action.active{background-color:#0f5132;border-color:#0f5132;color:#fff}.list-group-item-info{background-color:#cff4fc;color:#055160}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{background-color:#badce3;color:#055160}.list-group-item-info.list-group-item-action.active{background-color:#055160;border-color:#055160;color:#fff}.list-group-item-warning{background-color:#fff3cd;color:#664d03}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{background-color:#e6dbb9;color:#664d03}.list-group-item-warning.list-group-item-action.active{background-color:#664d03;border-color:#664d03;color:#fff}.list-group-item-danger{background-color:#f8d7da;color:#842029}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{background-color:#dfc2c4;color:#842029}.list-group-item-danger.list-group-item-action.active{background-color:#842029;border-color:#842029;color:#fff}.list-group-item-light{background-color:#fefefe;color:#636464}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{background-color:#e5e5e5;color:#636464}.list-group-item-light.list-group-item-action.active{background-color:#636464;border-color:#636464;color:#fff}.list-group-item-dark{background-color:#d3d3d4;color:#141619}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{background-color:#bebebf;color:#141619}.list-group-item-dark.list-group-item-action.active{background-color:#141619;border-color:#141619;color:#fff}.btn-close{background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E") 50%/1em auto no-repeat;border:0;border-radius:.375rem;box-sizing:initial;color:#000;height:1em;opacity:.5;padding:.25em;width:1em}.btn-close:hover{color:#000;opacity:.75;text-decoration:none}.btn-close:focus{box-shadow:0 0 0 .25rem rgba(70,150,229,.25);opacity:1;outline:0}.btn-close.disabled,.btn-close:disabled{opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:hsla(0,0%,100%,.85);--bs-toast-border-width:1px;--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:0.375rem;--bs-toast-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15);--bs-toast-header-color:#6c757d;--bs-toast-header-bg:hsla(0,0%,100%,.85);--bs-toast-header-border-color:rgba(0,0,0,.05);background-clip:padding-box;background-color:var(--bs-toast-bg);border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);border-radius:var(--bs-toast-border-radius);box-shadow:var(--bs-toast-box-shadow);color:var(--bs-toast-color);font-size:var(--bs-toast-font-size);max-width:100%;pointer-events:auto;width:var(--bs-toast-max-width)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;max-width:100%;pointer-events:none;position:absolute;width:-webkit-max-content;width:max-content;z-index:var(--bs-toast-zindex)}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{align-items:center;background-clip:padding-box;background-color:var(--bs-toast-header-bg);border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));color:var(--bs-toast-header-color);display:flex;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x)}.toast-header .btn-close{margin-left:var(--bs-toast-padding-x);margin-right:calc(var(--bs-toast-padding-x)*-.5)}.toast-body{word-wrap:break-word;padding:var(--bs-toast-padding-x)}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:#fff;--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:1px;--bs-modal-border-radius:0.5rem;--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.075);--bs-modal-inner-border-radius:calc(0.5rem - 1px);--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:1px;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:1px;display:none;height:100%;left:0;outline:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:100%;z-index:var(--bs-modal-zindex)}.modal-dialog{margin:var(--bs-modal-margin);pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{-webkit-transform:translateY(-50px);transform:translateY(-50px);transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{background-clip:padding-box;background-color:var(--bs-modal-bg);border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);color:var(--bs-modal-color);display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;background-color:var(--bs-backdrop-bg);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:var(--bs-backdrop-zindex)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{align-items:center;border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--bs-modal-header-padding)}.modal-header .btn-close{margin:calc(var(--bs-modal-header-padding-y)*-.5) calc(var(--bs-modal-header-padding-x)*-.5) calc(var(--bs-modal-header-padding-y)*-.5) auto;padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5)}.modal-title{line-height:var(--bs-modal-title-line-height);margin-bottom:0}.modal-body{flex:1 1 auto;padding:var(--bs-modal-padding);position:relative}.modal-footer{align-items:center;background-color:var(--bs-modal-footer-bg);border-bottom-left-radius:var(--bs-modal-inner-border-radius);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media(min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15)}.modal-dialog{margin-left:auto;margin-right:auto;max-width:var(--bs-modal-width)}.modal-sm{--bs-modal-width:300px}}@media(min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media(min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){.modal-fullscreen-sm-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-sm-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){.modal-fullscreen-md-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-md-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){.modal-fullscreen-lg-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-lg-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){.modal-fullscreen-xl-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-xl-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){.modal-fullscreen-xxl-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-xxl-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:#fff;--bs-tooltip-bg:#000;--bs-tooltip-border-radius:0.375rem;--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;word-wrap:break-word;display:block;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-family:var(--bs-font-sans-serif);font-size:var(--bs-tooltip-font-size);font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;margin:var(--bs-tooltip-margin);opacity:0;padding:var(--bs-tooltip-arrow-height);text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:var(--bs-tooltip-zindex)}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;height:var(--bs-tooltip-arrow-height);width:var(--bs-tooltip-arrow-width)}.tooltip .tooltip-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{border-top-color:var(--bs-tooltip-bg);border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;top:-1px}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{height:var(--bs-tooltip-arrow-width);left:0;width:var(--bs-tooltip-arrow-height)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{border-right-color:var(--bs-tooltip-bg);border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;right:-1px}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{border-bottom-color:var(--bs-tooltip-bg);border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);bottom:-1px}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{height:var(--bs-tooltip-arrow-width);right:0;width:var(--bs-tooltip-arrow-height)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{border-left-color:var(--bs-tooltip-bg);border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);left:-1px}.tooltip-inner{background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius);color:var(--bs-tooltip-color);max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);text-align:center}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:#fff;--bs-popover-border-width:1px;--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:0.5rem;--bs-popover-inner-border-radius:calc(0.5rem - 1px);--bs-popover-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: ;--bs-popover-header-bg:#f0f0f0;--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:#212529;--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);word-wrap:break-word;background-clip:padding-box;background-color:var(--bs-popover-bg);border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius);display:block;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-family:var(--bs-font-sans-serif);font-size:var(--bs-popover-font-size);font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;max-width:var(--bs-popover-max-width);text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:var(--bs-popover-zindex)}.popover .popover-arrow{display:block;height:var(--bs-popover-arrow-height);width:var(--bs-popover-arrow-width)}.popover .popover-arrow:after,.popover .popover-arrow:before{border:0 solid transparent;content:"";display:block;position:absolute}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{border-top-color:var(--bs-popover-arrow-border);bottom:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{border-top-color:var(--bs-popover-bg);bottom:var(--bs-popover-border-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{height:var(--bs-popover-arrow-width);left:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{border-right-color:var(--bs-popover-arrow-border);left:0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{border-right-color:var(--bs-popover-bg);left:var(--bs-popover-border-width)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{border-bottom-color:var(--bs-popover-arrow-border);top:0}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{border-bottom-color:var(--bs-popover-bg);top:var(--bs-popover-border-width)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg);content:"";display:block;left:50%;margin-left:calc(var(--bs-popover-arrow-width)*-.5);position:absolute;top:0;width:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{height:var(--bs-popover-arrow-width);right:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{border-left-color:var(--bs-popover-arrow-border);right:0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{border-left-color:var(--bs-popover-bg);right:var(--bs-popover-border-width)}.popover-header{background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius);color:var(--bs-popover-header-color);font-size:var(--bs-popover-header-font-size);margin-bottom:0;padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x)}.popover-header:empty{display:none}.popover-body{color:var(--bs-popover-body-color);padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{overflow:hidden;position:relative;width:100%}.carousel-inner:after{clear:both;content:"";display:block}.carousel-item{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;float:left;margin-right:-100%;position:relative;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;width:100%}@media(prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;-webkit-transform:none;transform:none;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{opacity:1;z-index:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{opacity:0;transition:opacity 0s .6s;z-index:0}@media(prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{align-items:center;background:none;border:0;bottom:0;color:#fff;display:flex;justify-content:center;opacity:.5;padding:0;position:absolute;text-align:center;top:0;transition:opacity .15s ease;width:15%;z-index:1}@media(prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;opacity:.9;outline:0;text-decoration:none}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{background-position:50%;background-repeat:no-repeat;background-size:100% 100%;display:inline-block;height:2rem;width:2rem}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E")}.carousel-indicators{bottom:0;display:flex;justify-content:center;left:0;list-style:none;margin-bottom:1rem;margin-left:15%;margin-right:15%;padding:0;position:absolute;right:0;z-index:2}.carousel-indicators [data-bs-target]{background-clip:padding-box;background-color:#fff;border:0;border-bottom:10px solid transparent;border-top:10px solid transparent;box-sizing:initial;cursor:pointer;flex:0 1 auto;height:3px;margin-left:3px;margin-right:3px;opacity:.5;padding:0;text-indent:-999px;transition:opacity .6s ease;width:30px}@media(prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{bottom:1.25rem;color:#fff;left:15%;padding-bottom:1.25rem;padding-top:1.25rem;position:absolute;right:15%;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{-webkit-filter:invert(1) grayscale(100);filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{-webkit-animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);border-radius:50%;display:inline-block;height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);width:var(--bs-spinner-width)}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border-right-color:currentcolor;border:var(--bs-spinner-border-width) solid;border-right:var(--bs-spinner-border-width) solid transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media(prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg:#fff;--bs-offcanvas-border-width:1px;--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.075)}@media(max-width:575.98px){.offcanvas-sm{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;visibility:hidden;z-index:var(--bs-offcanvas-zindex)}}@media(max-width:575.98px)and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media(max-width:575.98px){.offcanvas-sm.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas-sm.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;-webkit-transform:translateX(100%);transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas-sm.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom,.offcanvas-sm.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas-sm.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{-webkit-transform:none;transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media(min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{background-color:transparent!important;display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(max-width:767.98px){.offcanvas-md{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;visibility:hidden;z-index:var(--bs-offcanvas-zindex)}}@media(max-width:767.98px)and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media(max-width:767.98px){.offcanvas-md.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas-md.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;-webkit-transform:translateX(100%);transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas-md.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom,.offcanvas-md.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas-md.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{-webkit-transform:none;transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media(min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{background-color:transparent!important;display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(max-width:991.98px){.offcanvas-lg{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;visibility:hidden;z-index:var(--bs-offcanvas-zindex)}}@media(max-width:991.98px)and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media(max-width:991.98px){.offcanvas-lg.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas-lg.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;-webkit-transform:translateX(100%);transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas-lg.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom,.offcanvas-lg.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas-lg.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{-webkit-transform:none;transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media(min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{background-color:transparent!important;display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(max-width:1199.98px){.offcanvas-xl{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;visibility:hidden;z-index:var(--bs-offcanvas-zindex)}}@media(max-width:1199.98px)and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media(max-width:1199.98px){.offcanvas-xl.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas-xl.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;-webkit-transform:translateX(100%);transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas-xl.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom,.offcanvas-xl.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas-xl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{-webkit-transform:none;transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media(min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{background-color:transparent!important;display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(max-width:1399.98px){.offcanvas-xxl{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;visibility:hidden;z-index:var(--bs-offcanvas-zindex)}}@media(max-width:1399.98px)and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media(max-width:1399.98px){.offcanvas-xxl.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas-xxl.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;-webkit-transform:translateX(100%);transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas-xxl.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom,.offcanvas-xxl.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas-xxl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{-webkit-transform:none;transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media(min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{background-color:transparent!important;display:flex;flex-grow:0;overflow-y:visible;padding:0}}.offcanvas{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;visibility:hidden;z-index:var(--bs-offcanvas-zindex)}@media(prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;-webkit-transform:translateX(100%);transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas.offcanvas-bottom,.offcanvas.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{-webkit-transform:none;transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1040}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{align-items:center;display:flex;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{margin-bottom:calc(var(--bs-offcanvas-padding-y)*-.5);margin-right:calc(var(--bs-offcanvas-padding-x)*-.5);margin-top:calc(var(--bs-offcanvas-padding-y)*-.5);padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5)}.offcanvas-title{line-height:1.5;margin-bottom:0}.offcanvas-body{flex-grow:1;overflow-y:auto;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.placeholder{background-color:currentcolor;cursor:wait;display:inline-block;min-height:1em;opacity:.5;vertical-align:middle}.placeholder.btn:before{content:"";display:inline-block}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite;-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%}@-webkit-keyframes placeholder-wave{to{-webkit-mask-position:-200% 0;mask-position:-200% 0}}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.clearfix:after{clear:both;content:"";display:block}.text-bg-primary{background-color:#4696e5!important;background-color:RGBA(70,150,229,var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-secondary{background-color:#6c757d!important;background-color:RGBA(108,117,125,var(--bs-bg-opacity,1))!important;color:#fff!important}.text-bg-success{background-color:#198754!important;background-color:RGBA(25,135,84,var(--bs-bg-opacity,1))!important;color:#fff!important}.text-bg-info{background-color:#0dcaf0!important;background-color:RGBA(13,202,240,var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-warning{background-color:#ffc107!important;background-color:RGBA(255,193,7,var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-danger{background-color:#dc3545!important;background-color:RGBA(220,53,69,var(--bs-bg-opacity,1))!important;color:#fff!important}.text-bg-light{background-color:#f8f9fa!important;background-color:RGBA(248,249,250,var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-dark{background-color:#212529!important;background-color:RGBA(33,37,41,var(--bs-bg-opacity,1))!important;color:#fff!important}.link-primary{color:#4696e5!important}.link-primary:focus,.link-primary:hover{color:#6babea!important}.link-secondary{color:#6c757d!important}.link-secondary:focus,.link-secondary:hover{color:#565e64!important}.link-success{color:#198754!important}.link-success:focus,.link-success:hover{color:#146c43!important}.link-info{color:#0dcaf0!important}.link-info:focus,.link-info:hover{color:#3dd5f3!important}.link-warning{color:#ffc107!important}.link-warning:focus,.link-warning:hover{color:#ffcd39!important}.link-danger{color:#dc3545!important}.link-danger:focus,.link-danger:hover{color:#b02a37!important}.link-light{color:#f8f9fa!important}.link-light:focus,.link-light:hover{color:#f9fafb!important}.link-dark{color:#212529!important}.link-dark:focus,.link-dark:hover{color:#1a1e21!important}.ratio{position:relative;width:100%}.ratio:before{content:"";display:block;padding-top:var(--bs-aspect-ratio)}.ratio>*{height:100%;left:0;position:absolute;top:0;width:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{top:0}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}.fixed-bottom{bottom:0}.sticky-top{top:0}.sticky-bottom,.sticky-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-bottom{bottom:0}@media(min-width:576px){.sticky-sm-top{top:0}.sticky-sm-bottom,.sticky-sm-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-sm-bottom{bottom:0}}@media(min-width:768px){.sticky-md-top{top:0}.sticky-md-bottom,.sticky-md-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-md-bottom{bottom:0}}@media(min-width:992px){.sticky-lg-top{top:0}.sticky-lg-bottom,.sticky-lg-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-lg-bottom{bottom:0}}@media(min-width:1200px){.sticky-xl-top{top:0}.sticky-xl-bottom,.sticky-xl-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-xl-bottom{bottom:0}}@media(min-width:1400px){.sticky-xxl-top{top:0}.sticky-xxl-bottom,.sticky-xxl-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-xxl-bottom{bottom:0}}.hstack{align-items:center;flex-direction:row}.hstack,.vstack{align-self:stretch;display:flex}.vstack{flex:1 1 auto;flex-direction:column}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.stretched-link:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{align-self:stretch;background-color:currentcolor;display:inline-block;min-height:1em;opacity:.25;width:1px}.align-baseline{vertical-align:initial!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{-webkit-transform:translate(-50%,-50%)!important;transform:translate(-50%,-50%)!important}.translate-middle-x{-webkit-transform:translateX(-50%)!important;transform:translateX(-50%)!important}.translate-middle-y{-webkit-transform:translateY(-50%)!important;transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important;border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important;border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important;border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important;border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important;border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-1{--bs-border-width:1px}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-bottom:0!important;margin-top:0!important}.my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.py-0{padding-bottom:0!important;padding-top:0!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.font-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important;font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-semibold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(70,150,229,var(--bs-text-opacity))!important;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(108,117,125,var(--bs-text-opacity))!important;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(25,135,84,var(--bs-text-opacity))!important;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(13,202,240,var(--bs-text-opacity))!important;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(255,193,7,var(--bs-text-opacity))!important;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(220,53,69,var(--bs-text-opacity))!important;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(248,249,250,var(--bs-text-opacity))!important;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(33,37,41,var(--bs-text-opacity))!important;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(0,0,0,var(--bs-text-opacity))!important;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(255,255,255,var(--bs-text-opacity))!important;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(33,37,41,var(--bs-text-opacity))!important;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:hsla(0,0%,100%,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(70,150,229,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(108,117,125,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(25,135,84,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(13,202,240,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(255,193,7,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(220,53,69,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(248,249,250,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(33,37,41,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(0,0,0,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(255,255,255,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(255,255,255,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0))!important;background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.375rem!important;border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.25rem!important;border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:.375rem!important;border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:.5rem!important;border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:1rem!important;border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:2rem!important;border-radius:var(--bs-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important;border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:.375rem!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-end,.rounded-top{border-top-right-radius:.375rem!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-bottom,.rounded-end{border-bottom-right-radius:.375rem!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom,.rounded-start{border-bottom-left-radius:.375rem!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-start{border-top-left-radius:.375rem!important;border-top-left-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media(min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-bottom:0!important;margin-top:0!important}.my-sm-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-sm-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-sm-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-sm-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-sm-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-sm-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.py-sm-0{padding-bottom:0!important;padding-top:0!important}.py-sm-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-sm-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-sm-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-sm-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-sm-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media(min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-bottom:0!important;margin-top:0!important}.my-md-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-md-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-md-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-md-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-md-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-md-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.py-md-0{padding-bottom:0!important;padding-top:0!important}.py-md-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-md-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-md-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-md-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-md-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media(min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-bottom:0!important;margin-top:0!important}.my-lg-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-lg-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-lg-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-lg-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-lg-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-lg-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.py-lg-0{padding-bottom:0!important;padding-top:0!important}.py-lg-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-lg-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-lg-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-lg-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-lg-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media(min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-bottom:0!important;margin-top:0!important}.my-xl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xl-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-xl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xl-0{padding-bottom:0!important;padding-top:0!important}.py-xl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xl-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media(min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-bottom:0!important;margin-top:0!important}.my-xxl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xxl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xxl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xxl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xxl-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-xxl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xxl-0{padding-bottom:0!important;padding-top:0!important}.py-xxl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xxl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xxl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xxl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xxl-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media(min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.react-tags{background-color:var(--primary-color);border:1px solid var(--input-border-color);border-radius:.3rem;cursor:text;font-size:1em;line-height:1.2;padding:5px 0 0 6px;position:relative;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.input-group>.react-tags{flex:1 1 auto;min-width:0;width:1%}.card .react-tags{background-color:var(--input-color)}.react-tags.is-focused{box-shadow:0 0 0 .2rem rgba(70,150,229,.25)}.react-tags__tag{font-size:100%}.react-tags__selected{display:inline;vertical-align:2px}.react-tags__selected-tag{background:#f1f1f1;border:1px solid var(--input-border-color);border-radius:.25rem;box-sizing:border-box;display:inline-block;font-size:inherit;line-height:inherit;margin:0 6px 6px 0;padding:6px 8px}.react-tags__selected-tag:after{color:#aaa;content:"✕";margin-left:8px}.react-tags__selected-tag:focus,.react-tags__selected-tag:hover{border-color:var(--input-border-color)}.react-tags__search{display:inline-block;margin-bottom:5px;max-width:100%;padding:6px 2px}@media screen and (min-width:576px){.react-tags__search{position:relative}}.react-tags__search-input{background-color:inherit;border:0;color:var(--input-text-color);font-size:1.25rem;line-height:inherit;margin:0 0 0 7px;max-width:100%;outline:none;padding:0}.react-tags__search-input::-webkit-input-placeholder{color:#6c757d}.react-tags__search-input::placeholder{color:#6c757d}.react-tags__search-input::-ms-clear{display:none}.react-tags__suggestions{left:0;position:absolute;top:100%;width:100%;z-index:10}@media screen and (min-width:576px){.react-tags__suggestions{width:240px}}.react-tags__suggestions ul{background:var(--primary-color);border:1px solid var(--border-color);border-radius:.25rem;box-shadow:0 2px 6px rgba(0,0,0,.2);list-style:none;margin:4px -1px;padding:0}.react-tags__suggestions li{padding:8px 10px}.react-tags__suggestions li:not(:last-child){border-bottom:1px solid var(--border-color)}.react-tags__suggestions li .mark,.react-tags__suggestions li mark{background:none;font-weight:600;text-decoration:underline}.react-tags__suggestions li:hover{cursor:pointer}.react-tags__suggestions li.is-active,.react-tags__suggestions li:hover{background-color:var(--active-color)}.react-tags__suggestions li.is-disabled{cursor:auto;opacity:.5}html:not([data-theme=dark]){--color-scheme:initial;--primary-color:#fff;--primary-color-alfa:hsla(0,0%,100%,.5);--secondary-color:#f5f6fe;--text-color:#232323;--border-color:rgba(0,0,0,.125);--active-color:#eee;--brand-color:#4696e5;--input-color:#fff;--input-disabled-color:#f5f6fe;--input-border-color:rgba(0,0,0,.19);--input-text-color:#495057;--table-border-color:#dee2e6;--table-highlight-color:rgba(0,0,0,.075);--btn-close-filter:initial}html[data-theme=dark]{--color-scheme:dark;--primary-color:#161b22;--primary-color-alfa:rgba(22,27,34,.8);--secondary-color:#0f131a;--text-color:#c9d1d9;--border-color:hsla(0,0%,100%,.15);--active-color:#0f131a;--brand-color:#0b2d4e;--input-color:#12161c;--input-disabled-color:#1a2028;--input-border-color:hsla(0,0%,100%,.15);--input-text-color:#c9d1d9;--table-border-color:#393d43;--table-highlight-color:hsla(0,0%,100%,.15);--btn-close-filter:invert(1)}@media(max-width:991px){.responsive-table__header{display:none}.responsive-table.table>:not(:first-child){border:none}.responsive-table__row{border-bottom:1px solid var(--border-color);border-top:2px solid var(--border-color);display:block;margin-bottom:10px;position:relative}}.responsive-table__cell.responsive-table__cell{vertical-align:middle!important}@media(max-width:991px){.responsive-table__cell.responsive-table__cell{display:block;font-size:.9rem;padding:.5rem;position:relative;width:100%}.responsive-table__cell.responsive-table__cell[data-th]:before{content:attr(data-th) ": ";font-weight:700}.responsive-table__cell.responsive-table__cell:last-child{border:none;padding:0;position:absolute;right:.5rem;top:3.5px;width:auto}.responsive-table__cell.responsive-table__cell .btn-group-sm>.btn,.responsive-table__cell.responsive-table__cell .btn-sm{margin-top:.16rem;padding:.1rem .4rem}}.sticky-card-paginator{background-color:var(--primary-color-alfa);border-top:1px solid var(--border-color);bottom:0;padding:.75rem 0;position:-webkit-sticky;position:sticky}*{outline:none!important}:root{color-scheme:var(--color-scheme);scroll-behavior:auto}#root,body,html{background:var(--secondary-color);color:var(--text-color);height:100%}.btn-link,a{text-decoration:none}.btn-link:hover,a:not(.nav-link):not(.navbar-brand):not(.page-link):not(.highlight-card):not(.btn):not(.dropdown-item):hover{text-decoration:underline}.bg-main{background-color:#4696e5!important}.bg-warning{color:#232323}.card-body,.card-header,.list-group-item{background-color:transparent}.card-footer{background-color:var(--primary-color-alfa)}.card{border-color:var(--border-color);box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.card,.dropdown-menu,.list-group,.modal-content,.page-item.disabled .page-link,.page-link{background-color:var(--primary-color)}.card-footer,.card-header,.dropdown-divider,.dropdown-menu,.list-group-item,.modal-content,.modal-footer,.modal-header,.page-item.disabled .page-link,.page-link,.page-link:hover,.table td,.table th,.table thead th,hr{border-color:var(--border-color)}.table-bordered,.table-bordered thead td,.table-bordered thead th{border-color:var(--table-border-color)}.page-link:focus,.page-link:hover{background-color:var(--secondary-color)}.page-item.active .page-link{background-color:var(--brand-color);border-color:var(--brand-color)}.pagination .page-link{cursor:pointer}@media(min-width:1200px){.container-xl{max-width:1320px}}@media(max-width:767px){.container-xl{padding-left:0;padding-right:0}}.btn-block{display:block;width:100%}.btn-outline-primary.active,.btn-outline-primary:active,.btn-outline-primary:hover,.btn-primary,.btn-primary.active,.btn-primary:active,.btn-primary:hover{color:#fff}.dropdown-item,.dropdown-item-text{color:var(--text-color)}.dropdown-item:not(:disabled){cursor:pointer}.dropdown-item.active:not(:disabled),.dropdown-item:active:not(:disabled),.dropdown-item:focus:not(:disabled),.dropdown-item:hover:not(:disabled){background-color:var(--active-color)!important;color:var(--text-color)!important}.dropdown-item--danger.dropdown-item--danger{color:#dc3545}.dropdown-item--danger.dropdown-item--danger.active,.dropdown-item--danger.dropdown-item--danger:active,.dropdown-item--danger.dropdown-item--danger:hover{color:#dc3545!important}.badge-main{background-color:var(--brand-color);color:#fff}.close,.close:hover,.table,.table-hover>tbody>tr:hover>*,.table-hover>tbody>tr>*{color:var(--text-color)}.btn-close{-webkit-filter:var(--btn-close-filter);filter:var(--btn-close-filter)}.table-hover tbody tr:hover{background-color:var(--secondary-color)}.form-control,.form-control:focus{background-color:var(--primary-color);border-color:var(--input-border-color);color:var(--input-text-color)}.form-control.disabled,.form-control:disabled{background-color:var(--input-disabled-color);cursor:not-allowed}.card .form-control:not(:disabled),.card .form-control:not(:disabled):hover{background-color:var(--input-color)}.table-active,.table-active>td,.table-active>th{background-color:var(--table-highlight-color)!important}@media(max-width:767px){.navbar-brand{margin:0 auto!important}}.indivisible{white-space:nowrap}.pointer{cursor:pointer}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-bar{background-color:#4696e5}@media(max-width:575px){.btn-xs-block{display:block;width:100%}}@media(max-width:991px){.btn-md-block{display:block;width:100%}} -/*# sourceMappingURL=main.09af7d82.css.map*/ \ No newline at end of file diff --git a/feature/fixes/static/css/main.09af7d82.css.map b/feature/fixes/static/css/main.09af7d82.css.map deleted file mode 100644 index 99cea842..00000000 --- a/feature/fixes/static/css/main.09af7d82.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/main.09af7d82.css","mappings":"AAirBA,gBAcA,CC7rBA,yBAEE,8CADA,UACA,CAEA,uCACE,wBAIJ,yBAEE,iBADA,UACA,CAGF,0BAEE,yGADA,UACA,CAGF,kCACE,0DClBF,mDACE,WAGF,mEAEE,6CADA,eACA,CAGF,qDAGE,kCADA,kBADA,eAEA,CAGF,uCACE,aCRU,CDWZ,iCACE,wCAGF,gCE1BE,kBF6BA,WE5BA,QACA,6DF2BA,CAGF,uEACE,gBACA,yCAEA,wBAJF,uEAKI,iBACA,gBGrCF,uCACA,qBAGA,0FAEE,yBADA,SACA,CAGF,gGACE,gCACA,qBH+BF,kGACE,YACA,4CIxCJ,MAEE,iBADA,kBAEA,WAEA,wBALF,MAOI,mCADA,aACA,EAIJ,oBAEE,sBACA,iBAFA,wBAEA,CAGF,YFtBE,kBACA,QACA,8DEuBA,6BAGF,iBACE,cACA,eA5Bc,CA8Bd,wBAJF,iBF5BE,kBACA,QACA,+DEmCF,qBAEE,4CADA,wBACA,CAGF,aAEE,kBACA,QAAO,CAFP,iBAEA,CAEA,wBALF,aAMI,iBAIJ,yBAEI,0CANA,CC/CJ,iBACE,iBAEA,wBAHF,iBAII,wBCAJ,sDACE,YAGF,0BAQE,yBADA,eANA,aAKA,iBAHA,eACA,SAFA,qBAGA,YAGA,CAEA,wBAVF,0BAWI,sBAIJ,kCACE,WAGF,+CAEE,gBADA,gBACA,CAEA,wBAJF,+CAKI,wBC/BJ,YAEE,sCAMA,SALA,sCAOA,cADA,OAGA,kBACA,gBAPA,oBADA,iBADA,yBAGA,QNUa,CMhBb,WNiBe,CMPf,YAEA,CAEA,wBAfF,YAgBI,wBAGF,wBAnBF,YAsBI,6CADA,SADA,mBAEA,CAIJ,oBAEI,YANA,CAUJ,iBACE,YAGF,kBAIE,eAFA,eADA,kBAEA,8BACA,CAEA,wBANF,kBAOI,UAIJ,wBACE,wCAGF,8DAGE,oCADA,UACA,CAGF,2BACE,6BACA,cAGF,0BACE,aNnDY,CMsDd,wBACE,gBAGF,gCAEE,yBADA,UN3DY,CM+Dd,uBACE,gBC7EF,yCACE,cAEA,wBAHF,yCAII,iBPea,EQnBjB,cACE,kBAEA,2BACE,UAIJ,yCACE,kBACA,mBAGF,+DACE,YACA,gBAGF,oBAIE,cADA,SACA,CAGF,yCP1BE,kBACA,QACA,6DO4BA,CAJF,qBAIE,eADA,UACA,CC3BF,0aAQE,sCACA,uCAFA,8BADA,eAGA,CAGF,8cAME,oCAGF,wGAEE,6CAGF,iDR7BE,kBQgCA,aR/BA,QACA,6DQ8BA,CC9BF,sBACE,kBAGF,6BACE,6BAGF,4CACE,gDAGF,wGAEE,8CAGF,4BAIE,eADA,YACA,CAGF,uFT1BE,kBACA,QACA,6DS2BA,CAHF,2DAGE,QAGF,iEAGE,sBACA,eAFA,iBADA,YAGA,CAGF,6DAEE,wBAGF,0CACE,wBVlCU,CUoCV,gDACE,yBAIJ,kFAEE,gDAEA,iCADA,uBACA,CAGF,mDACE,wCACA,iCAGF,wYAME,cAGF,iEAEE,oCADA,cACA,CAGF,wXAIE,8CACA,qBAGF,yEACE,cAGF,mEACE,iCAGF,yDAEE,sDACA,qBAGA,4EAEE,wCADA,UACA,CAGF,kFACE,gCACA,oBAIJ,iDACE,UAGE,mIACE,sCAGF,oIACE,qCAKF,sIACE,2CAGF,uIACE,wCCnIN,6DACE,gBAGF,8BAEE,YADA,gBACA,CCNF,qCAEE,iBADA,qBACA,CCFF,KACE,WAGF,eACI,qBAGJ,sBACE,iBAGF,iDAEE,cAEA,eAHA,kBAIA,gBAFA,SAEA,CAGF,uDACE,wBACA,oBCtBF,wBACE,eACA,iBCFF,6CACE,YAGF,gCAEE,qBADA,4HACA,CAGF,qCACE,kDCNF,2CACE,gCAGF,6BACE,qBAGF,gCACE,kBAIA,wBADF,mCAEI,oBAKF,wBADF,mCAEI,sBAGF,wBALF,mCASI,qBACA,gBC9BF,gBADA,uBD6BE,sBC3BF,kBD6BE,EAIJ,2BAGE,sCftCA,kBACA,QACA,+FeoCA,CAEA,wBALF,2BfnCE,kBACA,QACA,6HiBHF,0CACE,uBCDF,mCACE,iBACA,uBCFF,4CACE,eCDF,8CAKE,yBADA,2BADA,iBAFA,gBACA,iBAGA,CCHF,6BACE,gBAGF,sBACE,YCPF,oBAEE,qCADA,cACA,CCFF,gCAEE,aADA,kBAEA,YCDF,yBAGE,mBADA,aAEA,uBAHA,iBAGA,CAGF,0BACE,azBKY,CyBJZ,eAGF,gCACE,0BCbF,+BAEE,wCACA,cAFA,kBAGA,qBAGF,2BAGE,WACA,WAHA,kBACA,UAGA,0DAGF,uBAEE,cADA,wB1BDgB,C2BbhB,wBADF,mCCEE,yBACA,YAFA,4BDDF,uBAEa,EAKX,wBAPF,mCCEE,yBACA,YAFA,4BDDF,uBAQa,EAMb,mDACE,YAGF,+CAOE,uDADA,WADA,SADA,wBAHA,kBACA,WACA,YAIA,CAGF,6CAEE,aACA,gBAFA,SAEA,CAGF,wEAEE,oBADA,aACA,CAGF,6FACE,gBE3CF,qCACE,eCCF,gBACE,4DACA,SACA,UAGF,yCAGE,8CAFA,0BAGA,cAEA,eADA,gBAHA,2CAKA,qBAEA,6CATF,yCAUI,eAIJ,2BACE,wBAGF,4BAEE,gDADA,+BAEA,wBC3BF,8BACE,uBAEA,wBAHF,8BAII,wBCNJ,kBACE,0CCEF,cAGE,sCAFA,kBAGA,kBAFA,iBAEA,CAGF,2BACE,eACA,mBCRA,kBADA,SACA,CAEA,kCAOE,qCAFA,YAJA,WAGA,OAFA,kBAIA,WAHA,SAKA,WAGF,8CACE,UAGF,iCAOE,gCAFA,SAJA,WAGA,SAFA,kBAIA,QAHA,MAKA,WAGF,6CACE,ODjBF,wBACE,gDACE,UAKN,2BACE,YACA,eAGF,qDACE,SACA,gBACA,cC3BA,kBADA,SACA,CAEA,4DAOE,qCAFA,YAJA,WAGA,OAFA,kBAIA,WAHA,SAKA,WAGF,wEACE,UAGF,2DAOE,gCAFA,SAJA,WAGA,SAFA,kBAIA,QAHA,MAKA,WAGF,uEACE,ODGJ,2CACE,wCErCF,iDAEE,kBADA,SACA,CCAF,uBACE,qBAEA,QAAO,CADP,SACA,CAEA,wBALF,uBAMI,iBAIJ,+CACE,iBAGF,mCAKE,mBAFA,YACA,iBAFA,eADA,UAIA,CAGF,kCAEE,gBACA,uBAFA,kBAEA,CC3BF,4BAEE,QAAO,CADP,uCACA,CCFF,YAGE,kBAGA,qBADA,WAJQ,CAOR,iBADA,oBAHA,UAIA,CCNF,mBACE,oBAGF,kEAEE,eAGF,qBAEE,iBADA,SAEA,kBAGF,eACE,YAGF,qBACE,gBAGF,2CACE,YAGF,oBACE,avClBU,CuCmBV,eAGF,0BACE,cACA,0BCpCF,qCACE,eAGF,4BACE,WAGF,iDACE,oBCNF,iDAKE,ePJA,kBOGA,wCADA,QzCca,CyCjBf,SAKE,CPFA,wDAOE,qCAFA,YAJA,WAGA,OAFA,kBAIA,QAHA,SAKA,WAGF,oEACE,OAGF,uDAOE,gCAFA,SAJA,WAGA,OAFA,kBAIA,QAHA,MAKA,WAGF,mEACE,OQjCJ,4BACE,YACA,kBCCF,8LAGE,wBAGF,8OAGE,wCAGF,oHAEE,iCCdF,qCAYE,uCAJA,wBCTA,SDQA,SAIA,4BANA,mBCPA,kBDKA,eAMA,kBALA,SCJA,8DDUA,YAJA,YAMA,CETF,oBAHE,WAKA,CAFF,KACE,gBACA,CAGF,gBAGE,sBAFA,gBACA,qBACA,CAGF,eACE,a9CIc,C8CHd,gB9CIc,C8CHd,UAEA,wBALF,eAMI,gBjDtBJ,2LAKE,iBAAyB,CAAzB,kBAAyB,CAAzB,wBAAyB,CACzB,UAAW,CACX,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,OAAQ,CACR,SACF,CACA,uJACE,gBAAiB,CACjB,iBAAkB,CAClB,OACF,CACA,wUAQE,4BAAiB,CAPjB,kBAAuB,CAKvB,UAAW,CAFX,QAAS,CAKT,SAAU,CAPV,iBAAkB,CAGlB,SAAU,CAEV,UAGF,CACA,qKACE,2BACF,CAEA,6EAEE,eAAgB,CADhB,KAEF,CACA,uKAEE,2BAA4B,CAD5B,eAEF,CACA,mFACE,KACF,CACA,oFAEE,2BAA4B,CAD5B,QAEF,CAEA,0EACE,QAAS,CACT,kBACF,CACA,iKACE,kBAAmB,CACnB,qBACF,CACA,gFACE,QACF,CACA,iFAEE,wBAAyB,CADzB,WAEF,CAEA,0BAGE,QAAS,CAFT,oBAAqB,CACrB,SAAU,CAEV,UACF,CAEA,kBAGE,qBAAsB,CAEtB,wBAAyB,CACzB,mBAAqB,CAFrB,UAAW,CAGX,oBAAqB,CANrB,qDAA2D,CAC3D,eAAiB,CAMjB,iBACF,CAEA,yDACE,SACF,CACA,+DACE,aACF,CACA,8GAEE,+BAAiC,CACjC,gCACF,CAEA,4BAEE,SAAU,CADV,iBAEF,CAEA,yBACE,SACF,CACA,iDACE,gBACF,CACA,6JACE,SAAU,CACV,UACF,CACA,8CACE,mBACF,CACA,gDACE,gBACF,CACA,4EACE,SAAU,CACV,UACF,CACA,+CACE,iBACF,CACA,2EACE,SAAU,CACV,UACF,CAEA,0BAEE,wBAAyB,CACzB,+BAAgC,CAChC,4BAA8B,CAC9B,aAAc,CACd,iBAAkB,CALlB,iBAMF,CACA,gCACE,kBAAmB,CACnB,gBAAiB,CACjB,iBACF,CACA,2EACE,wBACF,CACA,0EACE,6BACF,CAEA,gUAME,oBAAqB,CACrB,YACF,CAEA,8FAIE,UAAW,CAEX,iBAAmB,CADnB,eAAiB,CAFjB,YAIF,CAEA,+BAGE,eAAgB,CAFhB,sBAAuB,CACvB,kBAEF,CAEA,8BACE,kBAAmB,CACnB,eAAgB,CAQhB,WAAY,CAJZ,cAAe,CAHf,YAAa,CASb,WAAY,CARZ,sBAAuB,CAWvB,eAAgB,CANhB,SAAU,CAFV,iBAAkB,CAFlB,iBAAkB,CASlB,kBAAmB,CANnB,OAAQ,CAKR,UAAW,CAFX,SAKF,CACA,wCACE,QACF,CACA,oCACE,SACF,CACA,2GACE,UACF,CACA,qCAGE,aAAc,CACd,gBAAiB,CACjB,iBAAkB,CAJlB,iBAAkB,CAClB,KAIF,CACA,8CACE,OACF,CACA,8CACE,QACF,CACA,4CACE,oBACF,CAEA,mCAGE,cAAe,CAFf,iBAAkB,CAClB,QAAS,CAET,OACF,CACA,yCACE,SACF,CACA,gDAEE,SAAU,CADV,+BAAwB,CAAxB,uBAEF,CACA,6CACE,UACF,CACA,oDAEE,UAAW,CADX,gCAAyB,CAAzB,wBAEF,CAEA,mCACE,UACF,CAEA,wBACE,YAAc,CACd,iBACF,CACA,gCACE,YAAa,CACb,cAAe,CACf,eACF,CACA,qDACE,oBAAqB,CAErB,UAAW,CADX,UAEF,CAEA,yBACE,YAAc,CACd,iBACF,CACA,gHAEE,oBAAqB,CAErB,UAAW,CADX,UAEF,CAEA,wCACE,UAAW,CAEX,UAAW,CACX,sBAAuB,CACvB,eAAgB,CAHhB,UAIF,CAIA,wJACE,oBACF,CACA,8GACE,oBAAqB,CACrB,gBACF,CACA,oHACE,UACF,CACA,oTAEE,uBAAwB,CACxB,QACF,CACA,+HACE,yBACF,CACA,kHAEE,oBAAqB,CADrB,eAEF,CAEA,kCAEE,6BAA8B,CAD9B,WAAY,CAEZ,UACF,CACA,qDAEE,wBAAyB,CACzB,mBAAqB,CAFrB,cAAe,CAGf,iBAAkB,CAClB,WAAY,CACZ,KACF,CACA,0DAEE,eAAiB,CACjB,gCAAkC,CAFlC,iBAGF,CACA,sFAKE,gCAAkC,CAFlC,aAAc,CADd,iBAAkB,CAElB,iBAAkB,CAHlB,UAKF,CACA,qHAQE,kBAAuB,CALvB,2BAAkC,CAFlC,eAAgB,CAChB,QAAS,CAET,iBAAkB,CAElB,cAAe,CADf,eAAgB,CAEhB,UAEF,CACA,yJACE,WAAY,CACZ,gBAAiB,CACjB,kBACF,CACA,+JAEE,wBAAyB,CADzB,cAEF,CACA,mKACE,wBAAyB,CACzB,UAAY,CACZ,eACF,CACA,yKACE,wBACF,CACA,mKACE,UACF,CACA,yKAEE,wBAA6B,CAD7B,cAEF,CAEA,+BACE,UAAW,CACX,oBAAqB,CAErB,kBAAmB,CAEnB,cAAgB,CADhB,iBAAkB,CAFlB,YAIF,CACA,wEACE,cACF,CACA,8EAEE,wBAAyB,CADzB,mBAEF,CAEA,qDAEE,kBACF,CAEA,6BACE,kBACF,CAEA,gFAGE,UAAW,CACX,oBAAqB,CAErB,kBAAmB,CAEnB,cAAgB,CADhB,iBAAkB,CAFlB,YAIF,CAEA,4OAKE,wBAAyB,CADzB,mBAAqB,CAErB,UACF,CACA,gRAIE,wBACF,CACA,wEAEE,UAAW,CACX,mBACF,CACA,oFAGE,wBAA6B,CAD7B,cAEF,CAEA,kHAIE,cACF,CACA,0IAKE,wBAAyB,CADzB,mBAEF,CACA,8IAIE,eACF,CACA,sKAKE,wBAAyB,CADzB,mBAAqB,CAErB,UACF,CACA,8LAIE,wBACF,CACA,0MAIE,UACF,CACA,0MAIE,WACF,CACA,sfAWE,wBAAyB,CADzB,mBAAqB,CAErB,UACF,CACA,8jBAUE,wBACF,CACA,8LAKE,wBAAyB,CADzB,mBAAqB,CAErB,UACF,CACA,sNAIE,wBACF,CACA,8zBAgBE,oCACF,CACA,8lCAgBE,wBAAyB,CACzB,UACF,CACA,0JAKE,UAAW,CADX,cAEF,CACA,kLAIE,wBACF,CAEA,gkBAKE,wBACF,CACA,0EAEE,wBACF,CAEA,mCAEE,oBAAqB,CADrB,iBAAkB,CAElB,UACF,CAEA,6GAGE,4BAA6B,CAC7B,mBAAqB,CACrB,iBACF,CACA,+HAGE,cACF,CACA,qhBAME,wBACF,CACA,iJAIE,WAAY,CACZ,KAAM,CAFN,gCAAyB,CAAzB,wBAGF,CAEA,0GAGE,wBAAyB,CAQzB,wBAAyB,CADzB,mBAAqB,CAJrB,QAAS,CAFT,iBAAkB,CAKlB,iBAAkB,CAFlB,QAAS,CAFT,SAAU,CAGV,SAIF,CACA,4HAGE,cACF,CACA,8IAGE,YAAa,CACb,iBACF,CAEA,oGAKE,aAAc,CAFd,gBAAiB,CAGjB,gBAAiB,CACjB,iBAAkB,CAHlB,UAIF,CACA,8IAGE,4BAA8B,CAC9B,6BACF,CACA,2IAOE,+BAAiC,CACjC,gCAAkC,CALlC,wBAAyB,CAGzB,gBAGF,CACA,sHAGE,qBACF,CACA,gQAGE,2BACF,CACA,gQAGE,wBACF,CACA,kIAIE,SAAU,CADV,iBAEF,CAEA,8BAEE,wBAA6B,CAC7B,QAAS,CAFT,cAAe,CASf,kBAAmB,CADnB,WAAY,CALZ,SAAU,CACV,iBAAkB,CAClB,iBAAkB,CAElB,OAAQ,CADR,KAAM,CAIN,qBACF,CACA,oCAEE,wBAAyB,CAEzB,iBAAkB,CADlB,UAAW,CAUX,WAAY,CAZZ,cAAe,CAUf,kBAAmB,CAHnB,cAAe,CAHf,WAAY,CAIZ,aAAc,CAFd,WAAY,CAGZ,iBAAkB,CAElB,qBAAsB,CANtB,UAQF,CAEA,gCACE,kBAAmB,CACnB,4BAA6B,CAK7B,UAAW,CAJX,cAAe,CAEf,eAAiB,CACjB,aAAc,CAFd,iBAIF,CAEA,0BAQE,kBAAmB,CAJnB,+BAAoC,CAKpC,YAAa,CANb,YAAa,CAIb,sBAAuB,CAFvB,MAAO,CAJP,cAAe,CAKf,KAAM,CAJN,WAAY,CAQZ,kBACF,CACA,8JAIE,gBAAiB,CADjB,UAEF,CACA,4CACE,8JAIE,gBAAiB,CADjB,UAEF,CACF,CACA,oHAEE,iBACF,CkDtuBA,6LAWC,MAAO,CADP,iBAAkB,CAElB,KACA,CACD,mBACC,eACA,CACD,0DAMG,sBAAuB,CAHzB,wBAAyB,CAEjB,gBAER,CAED,yBACC,sBACD,CAEA,8BACC,yCACA,CAED,wCAEC,aAAc,CACd,4BAA6B,CAF7B,YAGA,CACD,4CAEC,aACA,CAGD,6CAEC,yBAA2B,CAD3B,wBAEA,CACD,8MAMC,yBAA2B,CAD3B,wBAA0B,CAG1B,SAAU,CADV,UAEA,CAED,sCAEC,wBACA,CACD,sCAGC,iBAAkB,CAClB,uBACD,CACA,yDAEC,iBACD,CACA,mBACC,uCACD,CACA,qBACC,+CACD,CACA,cACC,sBAAe,CAAf,cAAe,CACf,iBACA,CACD,qBACC,kBACA,CACD,kBAIM,qBAAsB,CAF3B,QAAS,CADT,OAAQ,CAIR,WACA,CAED,0BACC,qBACA,CAED,cAAwB,WAAc,CAEtC,mBAAwB,WAAc,CACtC,sBAAwB,WAAc,CACtC,qBAAwB,WAAc,CACtC,qBAAwB,WAAc,CACtC,sBAA0B,WAAc,CACxC,oBAAwB,WAAc,CAEtC,yBAA2B,WAAc,CACzC,sBAA2B,WAAc,CAEzC,mBAEC,UAAW,CADX,SAEA,CACD,MACC,0BAA2B,CAC3B,oBAAqB,CACrB,iBACA,CAKD,iBAGC,6BAA8B,CAC9B,mBAAoB,CAHpB,iBAAkB,CAClB,WAGA,CACD,6BAIC,mBAAoB,CAFpB,iBAAkB,CAClB,YAEA,CACD,aACC,KACA,CACD,eACC,OACA,CACD,gBACC,QACA,CACD,cACC,MACA,CACD,iBAEC,UAAW,CADX,UAEA,CACD,gCACC,WACA,CACD,8BACC,eACA,CACD,iCACC,kBACA,CACD,+BACC,gBACA,CACD,gCACC,iBACA,CAKD,kCACC,SAAU,CAGF,6BACR,CACD,oDACC,SACA,CACD,uBACC,4BAA6B,CAErB,oBACR,CACD,0BACC,qBACD,CAEA,0CAGS,yDAA4D,CAA5D,iDAA4D,CAA5D,gGACR,CACD,iEAIS,eACR,CAED,sCACC,iBACA,CAKD,qBACC,cACA,CACD,cAGC,WACA,CACD,2DAEC,gBACA,CACD,qCAEC,WACA,CACD,iIAGC,WAAY,CAGZ,eACA,CAGD,gHAKC,mBACA,CAED,8KAIC,6BAA8B,CAC9B,mBACA,CAID,mBACC,eAAgB,CAChB,kBACA,CACD,qBACC,aACA,CACD,kBAEC,6BAAiC,CADjC,sBAEA,CAID,mBACC,qDAA2D,CAC3D,cAAe,CACf,gBAAkB,CAClB,eACA,CAKD,aAEC,iBAAkB,CADlB,oCAEA,CACD,eACC,qBAAsB,CACtB,4BAA6B,CAO7B,UAAY,CAHZ,aAAc,CAFd,WAAY,CACZ,gBAAiB,CAEjB,iBAAkB,CAClB,oBAAqB,CALrB,UAOA,CACD,8CAEC,2BAA4B,CAC5B,2BAA4B,CAC5B,aACA,CACD,0CAEC,wBACA,CACD,2BACC,0BAA2B,CAC3B,2BACA,CACD,0BAGC,kBAAmB,CAFnB,6BAA8B,CAC9B,8BAEA,CACD,gCAEC,wBAAyB,CACzB,UAAW,CAFX,cAGA,CAED,8BAEC,WAAY,CACZ,gBAAiB,CAFjB,UAGA,CACD,0CACC,0BAA2B,CAC3B,2BACA,CACD,yCACC,6BAA8B,CAC9B,8BACA,CAID,mDAEC,6CAAmD,CACnD,eACA,CAED,iFACC,cACA,CAKD,wBAEC,eAAgB,CAChB,iBAAkB,CAFlB,mCAGA,CACD,+BACC,48BAAwC,CAExC,WAAY,CADZ,UAEA,CACD,+CACC,4rDAA2C,CAC3C,yBACA,CACD,8CAEC,WAAY,CADZ,UAEA,CACD,qHAEC,YACA,CACD,8DACC,aAAc,CACd,iBACA,CACD,iCAGC,eAAgB,CADhB,UAAW,CADX,wBAGA,CACD,kCAEC,iBAAkB,CADlB,iBAAkB,CAElB,iBACA,CACD,iCACC,cAAe,CACf,iBAAkB,CAClB,OACA,CACD,8BACC,aAAc,CACd,cAAe,CACf,mBACA,CACD,kCAEC,yBAA0B,CAD1B,QAAS,CAET,yBACA,CAGD,2BACC,g9DACA,CAKD,gDACC,eAAgB,CAChB,6BAAoC,CACpC,QACA,CACD,yDAGC,UAAW,CACX,eAAgB,CAFhB,aAGA,CACD,+BACC,oBACA,CACD,0EAEC,yBACA,CACD,0BACC,wBAA0B,CAG1B,cAAgB,CAFhB,gCAAmC,CACnC,SAEA,CACD,qCACC,eACA,CACD,uCACC,iBACA,CACD,4BAUC,eAAgB,CAChB,6BAAoC,CATpC,qBAAgB,CAAhB,eAAgB,CAMX,qBAAsB,CAL3B,eAAgB,CAGhB,eAAgB,CAFhB,mBAAoB,CACpB,kBAOA,CACD,8CAEC,kBAAmB,CADnB,yBAA0B,CAE1B,eACA,CACD,+DACC,4BACA,CAED,+GAGC,eACA,CACD,mEAGC,2BAA4B,CAD5B,+BAEA,CAKD,eAGC,kBAAmB,CAFnB,iBAAkB,CAClB,iBAEA,CACD,+BAGC,kBAAmB,CAFnB,WAAY,CACZ,eAEA,CACD,uBAGC,cAAe,CACf,mBAAoB,CAFpB,eAAgB,CADhB,0BAA2B,CAI3B,cACA,CACD,yBAEC,cACA,CACD,6BAEC,WAAY,CAEZ,QAAS,CAET,iBAAkB,CADlB,eAAgB,CAEhB,eAAgB,CAChB,mBAAoB,CALpB,iBAAkB,CAFlB,UAQA,CACD,mBAEC,WAAY,CAGZ,mBAAoB,CAFpB,WAAY,CAGZ,mBAAoB,CAEpB,+BAAgC,CAGxB,uBAAwB,CAVhC,UAWA,CACD,kDAEC,eAAiB,CAEjB,oCAAsC,CADtC,UAEA,CACD,gDAWC,sBAAuB,CAPvB,WAAY,CAKZ,aAAc,CADd,wCAA2C,CAD3C,WAAY,CANZ,iBAAkB,CAElB,OAAQ,CAER,iBAAkB,CAKlB,oBAAqB,CARrB,KAAM,CAIN,UAMA,CACD,4GAEC,aACA,CACD,wBACC,aACA,CAED,8CACC,UACA,CACD,kCAIC,sHAAuH,CACvH,6GAAiH,CAHjH,aAAc,CADd,UAKA,CAED,4JAIC,qBACA,CAKD,kBACC,eAAgB,CAChB,qBACA,CAKD,iBAGC,qBAAsB,CACtB,qBAAsB,CACtB,iBAAkB,CAQlB,mCAAqC,CAPrC,UAAW,CAJX,WAAY,CAUZ,mBAAoB,CAXpB,iBAAkB,CAOlB,wBAAyB,CAGzB,gBAAiB,CAJjB,kBAOA,CACD,qCACC,cAAe,CACf,mBACA,CACD,sHAOC,sBAAuB,CADvB,4BAA6B,CAE7B,UAAW,CAHX,mBAAoB,CADpB,iBAKA,CAID,wBACC,cACD,CACA,qBACC,eACD,CACA,2DAEC,QAAS,CACT,gBACA,CACD,4BAGC,qBAAsB,CAFtB,QAAS,CACT,mBAEA,CACD,+BAIC,wBAAyB,CADzB,gBAAiB,CADjB,gBAAiB,CADjB,KAIA,CACD,sBACC,gBACD,CACA,uBACC,eACD,CACA,2DAGC,eAAgB,CADhB,OAEA,CACD,6BAGC,sBAAuB,CADvB,kBAAmB,CADnB,OAGA,CACD,8BAGC,uBAAwB,CAFxB,MAAO,CACP,iBAEA,CAID,aAEC,iBACC,gCAAiC,CACjC,wBACA,CACD;;ACjpBD;;;;;ECCE,CCDF,MAQI,qQAIA,sMAIA,iKAIA,sNAGF,2BACA,qBACA,6BACA,6BAMA,yMACA,mGACA,4EAOA,gDC4PI,wBALI,CDrPR,0BACA,0BACA,wBAIA,kBAIA,sBACA,wBACA,0BACA,+CAEA,4BACA,8BACA,6BACA,2BACA,4BACA,8BAGA,wBACA,8BAEA,wBAEA,0BExDF,iBAGE,sBAeE,6CANJ,MAOM,wBAcN,KASE,8BACA,0CAFA,yDAFA,yCAJA,uNDmPI,cALI,CAKJ,kCALI,CC5OR,uDACA,uDAJA,SAMA,oCAGA,CASF,GAGE,SACA,qBAFA,aCijB4B,CDljB5B,cAIA,WCujB4B,CD7iB9B,0CAKE,eCwf4B,CDvf5B,gBAJA,mBCwf4B,CDzf5B,YC6f4B,CDpf9B,OD6MQ,iCAlKJ,yBC3CJ,ODoNQ,kBC/MR,ODwMQ,gCAlKJ,yBCtCJ,OD+MQ,gBC1MR,ODmMQ,8BAlKJ,yBCjCJ,OD0MQ,mBCrMR,OD8LQ,gCAlKJ,yBC5BJ,ODqMQ,kBChMR,ODqLM,iBALI,CC3KV,ODgLM,cALI,CChKV,EAEE,mBADA,YCoS0B,CDzR5B,YAEE,YADA,0EAEA,oEAMF,QAEE,kBACA,oBAFA,kBAEA,CAMF,MAEE,kBAGF,SAIE,mBADA,YACA,CAGF,wBAIE,gBAGF,GACE,eC6X4B,CDxX9B,GACE,oBACA,cAMF,WACE,gBAQF,SAEE,kBCsW4B,CD9V9B,aDmFM,gBALI,CCvEV,WAEE,iEADA,eACA,CASF,QDiEM,eALI,CCxDR,cAFA,kBAGA,uBAGF,kBACA,cAKA,EACE,yCACA,yBCqKwC,CDnKxC,QACE,+CAWF,4DAEE,cACA,qBAOJ,kBAIE,sFCkR4B,CDlR5B,oCCkR4B,CF7PxB,aALI,CCRV,IACE,cDYI,iBCVJ,mBADA,aAEA,aDIQ,CCCR,SAEE,cDEE,iBALI,CCIN,kBAIJ,KAGE,qBADA,yCDLI,gBCMJ,CAGA,OACE,cAIJ,IAIE,wBCuyCkC,CDvyClC,qCCuyCkC,CC3kDhC,qBFmSF,UCuyCkC,CDvyClC,uBCuyCkC,CFxzC9B,gBALI,CCoBR,wBEjSE,CFuSF,QDrBI,cCsBF,SD3BM,CCsCV,OACE,gBAMF,QAEE,sBAQF,MAEE,yBADA,mBACA,CAGF,QAGE,aCjVS,CDgVT,oBCqT4B,CDtT5B,iBCsT4B,CDnT5B,gBAOF,GAEE,mBACA,gCAGF,2BAQE,cAAa,CAFb,oBAEA,CAQF,MACE,qBAMF,OAEE,gBAQF,iCACE,UAKF,sCAME,oBDrHI,iBALI,CC4HR,oBAHA,QAGA,CAIF,cAEE,oBAKF,cACE,eAGF,OAGE,iBAGA,gBACE,UAOJ,0IACE,uBAQF,gDAIE,0BAGE,4GACE,eAON,mBAEE,kBADA,SACA,CAKF,SACE,gBAUF,SAIE,QAAO,CADP,SAFA,YACA,SAEA,CAQF,OACE,WDvMM,gCC6MN,oBAHA,mBC8I4B,CD/I5B,UADA,UAKA,CD/WE,yBCwWJ,OD/LQ,kBCwMN,SACE,WAOJ,+OAOE,UAGF,4BACE,YASF,cAEE,6BADA,mBACA,CAmBF,4BACE,wBAKF,+BACE,UAOF,6BAEE,0BADA,YACA,CAFF,uBAEE,0BADA,YACA,CAKF,OACE,qBAKF,OACE,SAOF,QAEE,eADA,iBACA,CAQF,SACE,uBAQF,SACE,uBGpkBF,MJyQM,iBALI,CIlQR,eFwkB4B,CEnkB5B,WJsQM,iCIlQJ,eFyjBkB,CExjBlB,eFwiB0B,CFzc1B,yBIpGF,WJ6QM,gBI7QN,WJsQM,iCIlQJ,eFyjBkB,CExjBlB,eFwiB0B,CFzc1B,yBIpGF,WJ6QM,kBI7QN,WJsQM,iCIlQJ,eFyjBkB,CExjBlB,eFwiB0B,CFzc1B,yBIpGF,WJ6QM,gBI7QN,WJsQM,iCIlQJ,eFyjBkB,CExjBlB,eFwiB0B,CFzc1B,yBIpGF,WJ6QM,kBI7QN,WJsQM,iCIlQJ,eFyjBkB,CExjBlB,eFwiB0B,CFzc1B,yBIpGF,WJ6QM,gBI7QN,WJsQM,iCIlQJ,eFyjBkB,CExjBlB,eFwiB0B,CFzc1B,yBIpGF,WJ6QM,kBIhPR,4BC3DE,gBADA,cACA,CD8DF,kBACE,qBAEA,mCACE,kBFgkB0B,CEtjB9B,YJoNM,gBALI,CI7MR,yBAIF,YJ8MM,kBI7MJ,kBJwMQ,CIrMR,wBACE,gBAIJ,mBAIE,cJiMI,gBALI,CI9LR,kBFmRO,CEpRP,gBFnFS,CEwFT,0BACE,aE1FJ,0BCCE,YAHA,cAGA,CDDF,eAEE,qBJPS,CIQT,iEHGE,sBGLF,cCAA,CDcF,QAEE,qBAGF,YAEE,aAAY,CADZ,mBACA,CAGF,gBAEE,cN6PI,gBEvRK,CMRT,mGCHA,qBACA,gBAKA,iBADA,kBADA,yCADA,0CADA,UAIA,CCsDE,wBF5CE,yBACE,eN6ae,EQlYnB,wBF5CE,uCACE,eN6ae,EQlYnB,wBF5CE,qDACE,eN6ae,EQlYnB,yBF5CE,mEACE,gBN6ae,EQlYnB,yBF5CE,kFACE,gBN6ae,ES5brB,0BCCA,gBACA,aACA,eAIA,yCADA,0CADA,sCAEA,CDJE,OCaF,cAKA,8BAHA,eAEA,yCADA,0CAFA,UAIA,CA+CI,KACE,SAGF,iBApCJ,cACA,WAcA,cACE,cACA,WAFF,cACE,cACA,UAFF,cACE,cACA,qBAFF,cACE,cACA,UAFF,cACE,cACA,UAFF,cACE,cACA,qBA+BE,UAhDJ,cACA,WAqDQ,OAhEN,cACA,kBA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,UA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,UA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,UA+DM,QAhEN,cACA,mBA+DM,QAhEN,cACA,mBA+DM,QAhEN,cACA,WAuEQ,UAxDV,wBAwDU,UAxDV,yBAwDU,UAxDV,gBAwDU,UAxDV,yBAwDU,UAxDV,yBAwDU,UAxDV,gBAwDU,UAxDV,yBAwDU,UAxDV,yBAwDU,UAxDV,gBAwDU,WAxDV,yBAwDU,WAxDV,yBAmEM,WAEE,gBAGF,WAEE,gBAPF,WAEE,sBAGF,WAEE,sBAPF,WAEE,qBAGF,WAEE,qBAPF,WAEE,mBAGF,WAEE,mBAPF,WAEE,qBAGF,WAEE,qBAPF,WAEE,mBAGF,WAEE,mBF1DN,wBEUE,QACE,SAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,gBAGF,iBAEE,gBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,qBAGF,iBAEE,qBAPF,iBAEE,mBAGF,iBAEE,mBAPF,iBAEE,qBAGF,iBAEE,qBAPF,iBAEE,mBAGF,iBAEE,oBF1DN,wBEUE,QACE,SAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,gBAGF,iBAEE,gBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,qBAGF,iBAEE,qBAPF,iBAEE,mBAGF,iBAEE,mBAPF,iBAEE,qBAGF,iBAEE,qBAPF,iBAEE,mBAGF,iBAEE,oBF1DN,wBEUE,QACE,SAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,gBAGF,iBAEE,gBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,qBAGF,iBAEE,qBAPF,iBAEE,mBAGF,iBAEE,mBAPF,iBAEE,qBAGF,iBAEE,qBAPF,iBAEE,mBAGF,iBAEE,oBF1DN,yBEUE,QACE,SAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,gBAGF,iBAEE,gBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,qBAGF,iBAEE,qBAPF,iBAEE,mBAGF,iBAEE,mBAPF,iBAEE,qBAGF,iBAEE,qBAPF,iBAEE,mBAGF,iBAEE,oBF1DN,yBEUE,SACE,SAGF,qBApCJ,cACA,WAcA,kBACE,cACA,WAFF,kBACE,cACA,UAFF,kBACE,cACA,qBAFF,kBACE,cACA,UAFF,kBACE,cACA,UAFF,kBACE,cACA,qBA+BE,cAhDJ,cACA,WAqDQ,WAhEN,cACA,kBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,UA+DM,YAhEN,cACA,mBA+DM,YAhEN,cACA,mBA+DM,YAhEN,cACA,WAuEQ,cAxDV,cAwDU,cAxDV,wBAwDU,cAxDV,yBAwDU,cAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAwDU,cAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAwDU,cAxDV,gBAwDU,eAxDV,yBAwDU,eAxDV,yBAmEM,mBAEE,gBAGF,mBAEE,gBAPF,mBAEE,sBAGF,mBAEE,sBAPF,mBAEE,qBAGF,mBAEE,qBAPF,mBAEE,mBAGF,mBAEE,mBAPF,mBAEE,qBAGF,mBAEE,qBAPF,mBAEE,mBAGF,mBAEE,oBCrHV,OACE,sCACA,0BACA,+CACA,iCACA,8CACA,sCACA,6CACA,oCACA,4CACA,qCAMA,0CAFA,4BADA,kBXoWO,CWlWP,kBXqoB4B,CWxoB5B,UAIA,CAOA,yBAEE,oCACA,uBXic0B,CWhc1B,wDAHA,aAGA,CAGF,aACE,uBAGF,aACE,sBAIJ,qBACE,qBAOF,aACE,iBAUA,4BACE,eAeF,gCACE,mBAGA,kCACE,mBAOJ,oCACE,sBAGF,qCACE,mBAkBF,kGACE,gDACA,oCAQJ,cACE,+CACA,mCAQA,8BACE,8CACA,kCCrIF,eAOE,sBACA,sBACA,gCACA,8BACA,8BACA,6BACA,6BACA,4BACA,2BAGA,CAlBF,gCAkBE,0CADA,2BACA,CAlBF,iBAOE,sBACA,sBACA,gCACA,8BACA,8BACA,6BACA,6BACA,4BACA,2BAGA,CAlBF,eAOE,sBACA,sBACA,gCACA,8BACA,8BACA,6BACA,6BACA,4BACA,2BAGA,CAlBF,2BAkBE,0CADA,2BACA,CAlBF,YAOE,sBACA,sBACA,gCACA,8BACA,8BACA,6BACA,6BACA,4BACA,2BAGA,CAlBF,eAOE,sBACA,sBACA,gCACA,8BACA,8BACA,6BACA,6BACA,4BACA,2BAGA,CAlBF,6BAkBE,0CADA,2BACA,CAlBF,cAOE,sBACA,sBACA,gCACA,8BACA,8BACA,6BACA,6BACA,4BACA,2BAGA,CAlBF,aAOE,sBACA,sBACA,gCACA,8BACA,8BACA,6BACA,6BACA,4BACA,2BAGA,CAlBF,yBAkBE,0CADA,2BACA,CAlBF,YAOE,sBACA,sBACA,gCACA,8BACA,8BACA,6BACA,6BACA,4BACA,2BAGA,CD0IA,kBAEE,iCADA,eACA,CHpFF,2BGkFA,qBAEE,iCADA,eACA,EHpFF,2BGkFA,qBAEE,iCADA,eACA,EHpFF,2BGkFA,qBAEE,iCADA,eACA,EHpFF,4BGkFA,qBAEE,iCADA,eACA,EHpFF,4BGkFA,sBAEE,iCADA,eACA,EE5JN,YACE,mBb8xBsC,CarxBxC,gBfuRM,iBALI,Ce3QR,gBAJA,gBADA,mCADA,+BbqiB4B,Ca3hB9B,mBf4QM,kBe1QJ,iCADA,6BfsQQ,CejQV,mBfsQM,kBepQJ,kCADA,8BfgQQ,CgB5RV,WAKE,chB4RI,gBALI,CgB3RR,iBdSS,CeVX,cAYE,wCAFA,4BADA,qBfLS,CeOT,yBdIE,sBcPF,afKS,CeZT,cjBgSI,cALI,CiBtRR,efmiB4B,CeliB5B,efyiB4B,Ce7iB5B,uBCSI,qEDVJ,UAgBA,CCFI,sCDhBN,cCiBQ,iBDGN,yBACE,gBAEA,wDACE,eAKJ,oBAEE,qBf3BO,Ce4BP,oBfqyBoC,Ce/xBlC,6CARF,afjBO,CeoBP,SfkrB4B,CetqB9B,2CAEE,aAIF,yCACE,af1CO,Ce4CP,UAHF,2BACE,af1CO,Ce4CP,UAQF,uBAEE,wBf1DO,Ce6DP,UAIF,0CAGE,yBfgoB0B,CiB1sB5B,wBjBMS,Ce0EP,eAFA,qBAGA,2Bf0Y0B,CezY1B,gBAPA,af9DO,Ce4DP,wBACA,wBfgoB0B,CeloB1B,uBAKA,oBCjEE,mQDuEF,CAZF,oCAGE,yBfgoB0B,CiB1sB5B,wBjBMS,Ce0EP,eAFA,qBAGA,2Bf0Y0B,CezY1B,gBAPA,af9DO,Ce4DP,wBACA,wBfgoB0B,CeloB1B,uBAKA,oBCjEE,6HDuEF,CCnEE,sCDuDJ,0CCtDM,wCDsDN,oCCtDM,iBDqEN,+EACE,wBfs4B8B,Cev4BhC,yEACE,wBfs4B8B,Ce73BlC,wBAOE,6BAEA,4CAHA,afzFS,CeoFT,cAIA,ef2c4B,Ce5c5B,gBADA,kBADA,UAOA,CAEA,8BACE,UAGF,gFAGE,cAAa,CADb,eACA,CAWJ,iBd9GI,qBHkRE,iBALI,CiB9JR,oCfstBsC,CertBtC,oBdhHE,CcoHF,6CAGE,yBADA,sBACA,wBAFA,oBfklB0B,CenlB5B,uCAGE,yBADA,sBACA,wBAFA,oBfklB0B,Ce5kB9B,iBd3HI,oBHkRE,iBALI,CiBjJR,mCf0sBsC,CezsBtC,kBd7HE,CciIF,6CAGE,wBADA,oBACA,uBAFA,kBfykB0B,Ce1kB5B,uCAGE,wBADA,oBACA,uBAFA,kBfykB0B,Ce/jB5B,sBACE,qCfurBoC,CeprBtC,yBACE,oCforBoC,CejrBtC,yBACE,mCfirBoC,Ce5qBxC,oBAEE,iCfwqBsC,CevqBtC,gBAFA,Uf+hB4B,Ce3hB5B,mDACE,eAGF,uCACE,mBdpKA,sBcwKF,0CdxKE,sBc4KF,oEfypBsC,CexpBtC,mEfypBsC,CkBp1BxC,aAIE,sCA4BA,wCAtBA,qBlBPS,CkBQT,8PAQA,wCFJI,CEIJ,4BFJI,yBACE,yBEKN,sBACE,CAbF,alBGS,CkBXT,cpB+RI,cALI,CoBpRR,elBiiB4B,CkBhiB5B,elBuiB4B,CkB5iB5B,uCAmBE,oEAUF,CA9BA,UA8BA,uCAGE,aAGF,oCAEE,oBAKF,6CAEE,CAFF,SAEE,2DAOF,qBpB0OI,CoB3OJ,oBpBsOQ,CG7QN,sBiB6CJ,wBACE,6BlB4pB4B,iBFxbxB,0BGlRF,iBDi1BsC,oBmB11BxC,CAFA,kBAHA,qBAEA,mBACC,CAJH,kBAME,iBAQA,mBACA,CAFA,iBACA,CANE,oBAIJ,kBACE,CANE,iBAQF,aAEA,cAEE,qBACA,CAHF,iBACE,mBAEA,CAIJ,8BAEE,UACA,mBACA,qBAEA,eADA,mBACA,iBACA,uCACA,WACA,cACA,CADA,mBACA,mBAiBA,wBACE,CAJA,uCAGF,CAbA,qBlBvBE,CkB2BF,uBAEE,ClB7BA,2BkB2BF,CAEE,uBAGF,iCACE,CAdF,UACA,oCAGA,CAJA,SAkBE,kCAEA,kDAGF,iBACE,0BACA,8BAEA,uBAII,8CAIJ,4CAII,CARA,SAQA,mDAKN,+DACE,4PAqBE,uCAgBJ,oKlBrGE,gDeHE,wBAIA,uPGwHE,CHxHF,oBGwHE,4BAKN,mBACE,CnBqvB8B,WmBpvB9B,WAEA,CAJF,mBAIE,4FAOJ,cACE,YACA,+BAIA,gCAME,iLC9JF,sBACA,kBAEA,CDuJA,kBAIE,CC3JF,+CAKE,CDiJF,SCjJE,qFACA,8MHfF,wCDYI,qKfGF,wBeHE,iCImBF,cJfE,CIeF,mBJfE,mDACE,cIKN,mBJLM,wCIgBJ,8BHjCF,kBGsCA,qBHtCA,iBGsCA,oDAKE,mBACA,yBAFA,mBAEA,aH5CF,uBGqDE,gBnBtCA,CmBkCF,4BHjDA,CGiDA,wBnBlCE,6BeHE,6MI6CF,+BJzCE,2CI8DF,wCJ7DI,wBI0CJ,4BH3DF,CDiBM,+BCjBN,8GGqEE,uGASA,CA7BF,UA6BE,uCAIA,kCACE,uBCvFN,gBACE,2CAEA,oEAOA,wBAEE,CACA,wBAEA,mBACA,CATA,iBAGF,gBAJE,YACA,CADA,UAUA,+BLAE,gBKGF,wBACA,SACA,mBACA,CAHA,YAGA,2GLNE,wGKEF,ULFE,yFAIA,uDACE,wBKMN,+BAIE,qEAFA,iBAEA,gBAJF,YAEE,CAFF,UAIE,yCACE,4CADF,gEACE,wBAGF,kMAQE,4BAIJ,CANE,YAHE,OAGF,oCACE,mBACA,CANA,iBACA,CAGF,wCAHE,MASJ,4BACE,qBACA,qEAOA,4JAEE,CAjBF,kBACE,CAJA,UAoBA,iJAKF,mBACE,2HACA,iBAKF,+FChEF,iBACA,qMAcA,kJAyBF,sBACE,CAbE,oBAaF,6BAEA,sBAEA,CAFA,oBAEA,oLAgBF,yIASA,mIxByNM,2DwBhNN,8CAEE,kBAaE,oVrBjEA,mBACA,oDqByEA,+WAaF,2KAKA,qBrB7EE,iBqB6EF,CrB9EE,oBqB8EF,8EC7EE,iqBAcI,4BACA,CADA,yBACA,2IA3DJ,4BAgEI,wBAhEJ,CAgEI,gBAhEJ,wHA0EI,2BA1EJ,CA0EI,wBA1EJ,iBAoFI,cApFJ,aAiFE,gBAGE,CApFJ,iBAiFE,CAjFF,UAoFI,yEAEE,CAFF,mIAEE,+HAEA,wEAKJ,wQA7FF,yDAgHE,CAhHF,4BAgHE,2DACE,CAxBE,uDAwBF,uEAGF,oBACE,4CAGF,2EACE,6EAzHJ,CAwHE,kCAxHF,61BAuDI,sEAEA,CAzDJ,sBAyDI,qEACA,oBACA,mHAGF,2BAEE,mEAhEJ,uGA0EI,uGA1EJ,2CAoFI,6gBASF,4BAEE,aA/FJ,CA6FE,YACE,CACA,mCADA,UA9FJ,qDA8GE,sBAEA,CAhHF,0CAuGI,gBAvGJ,CAuGI,oCAvGJ,oCAgHE,+IAIA,4EAIA,qUAxHF,iJCCF,CDoHM,oBAGF,mCCvHJ,2EAGA,oBACA,4CACA,+EAIA,6EAEA,CAHA,kCAGA,iFACA,qOAQA,mjBAmBE,6DAKA,sEAEA,C1BgPE,sB0BhPF,yEPjDF,gEOuDE,2EAUF,2BACE,uEAME,oBAIJ,uFAKE,2GAIA,2CAGA,gLAUF,+WC9EA,UACA,2DACA,uBACA,wBACA,yBACA,gDACA,kDACA,kCACA,gCACA,wCDyFA,iFCnGA,+BACA,gFAGA,kCACA,CAJA,kEAEA,0CACA,CAMA,0BAXA,eAKA,qBAEA,qCACA,wEAEA,sCACA,CANA,uDAEA,CAIA,iBAbA,qBACA,CAOA,6HAGA,CATA,wBACA,iBACA,CAHA,qBAUA,uCACA,oBACA,aAbA,uCAEA,8CACA,CAUA,+BAVA,uBAEA,iCACA,wCACA,CAHA,yBAGA,oBAEA,uCACA,+CACA,yCACA,CAJA,+BACA,CACA,SAEA,+BACA,6CAbA,0CAEA,CAFA,SAEA,oGAIA,wCAEA,+CACA,CAJA,gCAIA,0KAIA,yCAbA,oDAIA,0CAEA,iDACA,CALA,kCAEA,CAGA,sCACA,CAJA,mBAIA,cACA,uCACA,wDACA,0BACA,oCACA,qCAbA,2BACA,2BACA,qCACA,wDAEA,6BACA,6BACA,uCACA,gBACA,uCACA,wDACA,0BACA,oCACA,sCAbA,2BACA,2BACA,qCAEA,wDAEA,0DACA,uCAEA,iCACA,4EACA,0BACA,oCACA,qCAYA,2BACA,2BACA,qCACA,wDAEA,6BACA,6BACA,uCACA,8BACA,kDACA,oDACA,oCACA,qCD2FA,2BCvGA,2BACA,qCACA,wDAEA,6BACA,6BACA,uCACA,cACA,uCACA,wDACA,0BACA,oCACA,oCACA,2BD0FA,2BCvGA,qCAEA,wDAEA,6BACA,oEAEA,gCACA,kDACA,oDACA,oCACA,oCACA,2BACA,2BAbA,qCACA,wDAEA,6BACA,6BACA,uCACA,YACA,uCACA,8BACA,qDACA,mCACA,sCACA,sDD2FA,qCCvGA,CACA,uDAEA,6BACA,oEACA,CACA,6BACA,kDACA,0BACA,8DACA,mCACA,2BACA,2BACA,qCAbA,wDAEA,6BACA,6BACA,uCACA,sBACA,oDACA,CACA,mDACA,yEACA,2BACA,2BACA,qCACA,wDAZA,gCACA,iCACA,uCAEA,2CACA,uBACA,6BACA,oDACA,0EAEA,sDACA,qCD2FA,wDCtGA,gCACA,iCAEA,uCACA,yCACA,sBACA,8BACA,oDACA,oCACA,oCACA,2BACA,gEDuGF,wDAEE,gCAEA,iCACA,0DACA,yCACA,wDACA,0BACA,oCACA,qCACA,2BACA,gEAYA,wDAKE,gCAWJ,iCCxIE,uCACA,C3BoOI,wC2BlOJ,sBDyIF,8BC5IE,0BACA,0B3BoOI,oC2BlOJ,oCTnDI,2BAIA,2BUpBN,CVqBQ,oCUjBJ,wDAYF,CACA,+BVDI,iCAIA,uCACE,mBUDN,qBACE,sBVLE,8BAIA,wFWnBN,+DAME,2BAIA,qCCmBE,wDAGE,gCA/BJ,iCACA,uCAEA,mBAqDE,0CACE,CDzCN,6BAEE,0BACA,0BACA,oCACA,sCACA,C7B6QI,2BALI,0B6BtQR,qCAEA,wDACA,gCACA,iCACA,0DACA,uEACA,0BACA,8DACA,mCACA,2BACA,gEACA,wDAEA,gCACA,iCACA,uCACA,8BACA,4DACA,wBAIA,kCACA,gDACA,wCACA,iD7BiPI,yC6B9OJ,gCAEA,2CACA,yBACA,qCACA,mD1BzCE,yE0B6CF,CACE,2BAEA,yBAwBA,wBACE,2BAEA,8BACE,4BAKJ,0BAGE,sDnBxCF,+BmB4BA,qCAGE,uCACE,qBAKJ,mBACE,+BAEA,yBACE,QACA,gBnB1CJ,4BmB4BA,uCAGE,6DAMF,WACE,2BAEA,CAHF,OAGE,uCAEE,gCAdJ,uFAII,iBAKJ,kBACE,kBAEA,wBATA,eACE,mCAMF,CATA,mCAEA,CAHF,qBACE,CADF,WAYE,oBACE,CACA,kBnB1CJ,sBmBsCE,8BAEA,6BACE,yBnBzCJ,8BmB4BA,0BACE,+BAEA,8BAMF,6BACE,4BAEA,sBACE,8DAYJ,qCAGA,+BCzFA,uDAEE,4DAtBJ,sCACA,uDA+CE,wEDsEF,oCAGE,qCAEA,qCCvGA,0CAEE,kCAEA,qCAlBJ,mCAEA,oCACA,sCAuCE,CAbE,2BACE,CAbF,sCAYA,CACE,4EAKA,+CA5BN,CAOE,8BACE,CD2GF,YACE,CAWF,sCCxHA,CAEE,eACA,CDqHF,SAXE,sCAMJ,kEAKE,CC5FA,iBACE,CA5BA,eACA,CA2BA,iCApCJ,gCACA,2CACA,CADA,QACA,sBAiCE,yDDiGA,iBACE,oBAON,iBACE,oCACA,SACA,CADA,OACA,yBACA,2CACA,yCASA,OADA,UACA,+EAEA,SACA,CADA,OACA,kDAEA,mBACA,yCAEA,MAEA,CAHA,UAGA,wCAEE,uCVzLF,UUyLE,OVzLF,kDU8LA,4DAGE,OADA,UACA,uBVjMF,wDUqMA,4CAEE,2CACA,yCAOJ,wCAKA,iBACE,uCACA,qE7B2EI,mB6BxEJ,0CAKF,OAJE,UAIF,wBACE,iBACA,2DACA,uCAIF,WAEE,wCAEA,CAFA,aAFF,QAIE,gCAGA,wBACA,oCAFA,mCACA,CADA,wBAFA,uCACA,sBAGA,sCACA,sDAEA,+CACA,CADA,wBADA,KAEA,iCE9OA,oCAEE,uBAKF,CAPA,eAHA,iCAGA,CAHA,WFkPA,oBErPF,oBAEE,qBAWA,iSAWF,aAXE,yCAYA,mCAaA,6D5BpBE,iC4BoBF,CAJF,U5BhBI,C4BSF,oBAEA,0CASA,yCAMA,oF5BTE,kD4BmBF,CAVA,qD5BVE,C4BoBF,U5BpBE,e4BoBF,gBAuBA,sC5B5BE,W4BwBJ,mCAEE,CArBA,cAmBF,gBAnBE,2E5BLE,C4B0BF,kBAEA,yCAvBA,UAuBA,2CAOE,iDAIJ,CALE,yCAKF,6CAKA,kDACE,CALA,0CAIF,qBACE,iDAwBA,4BAEA,CALF,4CAEE,oBAGA,kCAEE,kBASF,sCANA,cAMA,kBAJE,eAIF,CANA,+EAEE,CAIF,uCAKA,oCALA,a5B1FE,4E4B+FF,gD5B7GE,yBACA,8D6BrBF,2BAEA,iCACA,oCACA,4DACA,gDAMA,qCAIF,qCAEE,2ChC4QI,kEgCzQJ,oBADA,iBACA,sBACA,0CdbI,kZcsCJ,SACA,oEACA,qCACA,iCACA,sFAGA,sKAKE,4B7BtCA,C6BsCA,yB7BtCA,8G6ByCA,2BAGE,CAHF,wBAGE,wBACA,qBAGF,CAHE,sBAGF,yGAGE,uDAKJ,wFAGE,qBADA,qBACA,0EAIF,mBAEE,CAFF,oBAEE,qB7BjEA,sBACA,C6BgEA,qB7BjEA,CACA,sB6B2EJ,yDAGE,uGAKE,e7B7FA,sH6BoGE,2BAIJ,CALI,4BAKJ,qFAEE,wBbzHF,4DaoIA,+BAEE,4BAMF,yCAEE,qDAQF,iEAWA,CACE,eAEF,CAHA,eACE,CADF,cAGA,WC7JA,+BD8JE,aCpKJ,CAIE,sCACA,2CACA,CANF,iEAIE,CAEA,oBACA,kGAEA,uCACA,UACA,iDACA,wDACA,uCACA,eACA,CADA,mBACA,yCACA,mCACA,mGACA,wCACA,kCACA,4DACA,oFAMA,qBAEA,wEAMA,iHACE,CARF,sDAQE,CACA,oDAsBJ,uDACE,CArBE,iBAqBF,CACA,0DjCmOI,qDiChOJ,CAFA,uCAEA,+DAME,kDAYF,yDAGA,CAjBA,0CAiBA,0BAEA,kDACA,CAFA,mDAEA,uFAIA,sCAGA,sBAEA,wEAEE,+BAcF,4BACA,yBACA,CAbA,uCAaA,wDAKE,mDAkBF,CArBA,2CAqBA,yCAKA,kFjCiJI,0CiC/IJ,kEAGA,8I9BtIE,kCeHE,uCAIA,0Ce+HN,wCAWI,sCAGF,kCAGE,2EAOF,6CAGA,sCACA,sCACA,sCAEA,sCAGF,CACE,iRAyBQ,gDACE,2CACA,wCAIJ,4DAIA,CAEE,kBAGF,CAJE,2BACA,CAGF,6BACE,CAGF,6DAIE,CAbF,iBAaE,4JAMA,kDf5NJ,6BeiOI,eA5CF,kCACA,CvBvIJ,0CuBsII,CAkDI,8CvBxLR,CuBsLM,+CAEE,CANF,4CAIA,CA/CF,oBAEA,mBACE,yCAEA,wCAIA,sCACE,2DACA,2CAIJ,uDAIA,6DAKA,mCACE,CAGF,eAEE,CAFF,gBAHE,cAKA,0DAIA,mCACA,4BACA,6BAEA,6BADA,oBACA,CAFA,iBAEA,0DAKA,mCAIA,kBACE,kBACA,CAFF,2BAEE,iBA5CF,6BAIA,yEAEE,qDAIJ,CAZE,4BAEA,CALF,4CAEA,cACE,CAgDE,6EAnDJ,CAeA,8CAIA,uCACE,gBACA,eAGF,wBACE,oBAGF,uBAIE,qDAGA,CAJA,SACA,CAFA,oBAKA,sBAEA,iDACA,CAKA,wBALA,2BAKA,qBACE,CATF,oBACA,mCACA,CADA,WAQE,oBAGF,uDAEE,gBAEA,yBvB1LR,kCuBoIA,2BAGI,+BAEA,gEAGE,0DAKE,gDACA,CAFF,iDAEE,sCAIJ,oDAIA,sBACE,mDAIF,0CAWE,sCACA,oBANA,WACA,CAEA,qBACA,CANF,gBASE,gCACA,0CAJA,4BACA,CAJA,oBAEA,CALF,YAUE,gDAKA,0DAIA,wBACE,CACA,kBACA,CAFA,SAEA,EACA,wBvB1LR,kCuBoIA,2BAGI,+BAEA,gEAGE,0DAKE,gDACA,CAFF,iDAEE,sCAIJ,oDAIA,sCACE,mCAIF,0CAWE,sCACA,oBANA,YAEA,qBACA,CALF,gBAQE,gCAEA,0CALA,4BAEA,CALA,oBAEA,CAJF,YAUE,gDAKA,0DAIA,yBACE,kBACA,CAFF,SAEE,0BAEA,kBAtDR,gBAEI,2BACA,+BAGE,mBAEA,6CACE,iBAGF,yCAEE,gDAIJ,CALI,iDAKJ,sCACE,gBAGF,oCACE,sBACA,gBAGF,mCAIA,0CAQE,sCACA,mBACA,CALA,YACA,qBACA,CAJA,eACA,CAMA,yDAKA,iBARA,4BACA,CAHA,oBACA,CAFA,YAWA,gDAIA,0DAEE,YAEA,aAiBZ,kBAEE,CAnBU,SAmBV,6CACA,2CACA,+FAEA,iBACA,yCACA,gDACA,CADA,iDACA,sCC7QA,oDAEA,sCACA,mCACA,0CAIA,sCACA,mBACA,CALA,WACA,CACA,sBAFA,gBAKA,gCACA,yBACA,gBACA,CANA,4BACA,CAFA,oBACA,CAFA,YAQA,gDAEA,0DAIA,YACA,YACA,mBACA,CADA,SACA,2BACA,mBACA,gBACA,2BACA,gCACA,iE/BdE,2D+BwBA,gDAGA,CARA,iDAQA,uC/BlBA,qDACA,0E+BsBA,YACE,+BAOJ,yDAEE,C/BnBA,YACA,sBADA,gB+BmBA,gCAQF,0C/B1BE,4B+BgBF,C/BjBE,oBACA,CADA,Y+B2BF,iDAIF,YACE,+CAGF,YACE,0DACA,gBAGF,2BASE,4BACE,6DASF,uDAGA,gDACA,CAHA,iDAGA,oF/BtFE,kF+B6FJ,2BAGE,sCACA,oBAHA,YACA,qBACA,CAFA,gBAGA,gCAEA,yB/BnGE,iB+BgGF,6BAFA,oBACA,CADA,Y/B9FE,yD+B6GJ,2CACE,yBACA,+EACA,4CAGA,+CAEE,2DAKF,uFACA,wR/BjHE,uD+B0IJ,+B/B7HI,qFACA,iC+ByIF,uBACE,mDxBtHA,+BwB2HA,6BAGA,iCAKE,sBACE,mBACA,kBAKA,qD/BrKJ,+B+BwKM,CAGE,oBAEF,gIAOF,2C/BvKJ,C+B2JM,+DAGE,CAHF,6B/B3JN,UACA,cADA,cACA,mB+ByKM,uEAGE,yDAEF,4DALA,kBAKA,8BCxNR,6DAFA,6DAEA,CD2NU,qBC3NV,uFAEA,2BAFA,aACA,wDACA,aACA,2CACA,kEAEA,sCADA,eAEA,0DACA,cAGA,kHAEA,CAHA,8BACA,CAFA,eACA,CAFA,iEAKA,iHACA,CACA,aACA,sCACA,yEAEA,CAHA,+BADA,iEAIA,CAIF,wBACE,uFAIA,mBhCjBE,egCwBF,CALA,mDAEA,mDhCrBE,CgCiBF,mDAOA,oCjB3BI,kCAIA,sCiBWN,CjBVQ,mBiB0BJ,kDACA,CAFF,mDAEE,mBAGA,gDACE,CAHF,0FAGE,oDACA,6IAOF,4BAEA,4DAEA,CAJA,6DAIA,mBACA,yCACA,yBjBlDE,8DAIA,iDACE,aiBiDN,CAZA,aAYA,oCAME,6BAFF,yBAEE,kGAMJ,yBAIA,qGAGE,iEAEA,2BhC/DE,CgC+DF,wBhC/DE,oGgCkEA,+HhCjEA,oEgCsEF,uBAKA,0KAII,mDhClEF,sEACA,wDgCsEA,qChCvEA,mEACA,6CgC4EJ,sTAoBI,sCAGE,gHC9IN,6TAeE,qHpCsRI,sCoClRJ,wGAMA,mBACE,kBAEA,CAIE,qEADA,mCACA,CANF,aAIE,cACA,CACA,oBAIJ,CARE,2EAEE,CAJF,kBAME,gBAIJ,yCACE,CATA,UASA,uCCnCF,iCACA,oCAEA,8CACA,gGAGA,CrC4RI,sCqC5RJ,yCACA,oDACA,yDACA,iDACA,yBAGA,6CAEA,+EACA,CAHA,WAFA,cACA,yCACA,kBAGA,kDAEA,CAPA,wCAOA,uCAGA,wBhCnBA,egCuBF,0BAEE,kCACA,uDrCsQI,oDqCnQJ,CrCmQI,UqCtQJ,SAGA,mBACA,gCACA,sHnBpBI,CmBmBJ,+BnBnBI,uFAIA,0DmBmBJ,iDAEE,8DAGA,gEAIA,qCACA,YACA,8BAEA,2DAMA,CARA,4DAQA,0DAEA,iEAKA,ClB7DF,kEkB6DE,kDAGA,2DAKF,CAPE,4DAOF,8FlCxBE,oDACA,+CkCmCE,iBlCnCF,ckCmCE,8ClClDF,yDACA,gIHiQE,esC9RJ,wCDmGF,4BCtGE,mCACA,qBtCgSI,gCsC9RJ,sCCFF,sCAGE,0CvC6RI,yCuCnRJ,iDAEA,CvCiRI,YuC3RJ,gBAMA,wCvCqRI,iBuCtRJ,gDACA,CANA,qEAWA,mCACA,gDpCHE,0CqCbF,wCACA,YACA,yCACA,CDoBE,UAKJ,kDCvBE,qEACA,8CACA,mCAIA,0EACA,wBACA,iCACA,qCACA,uCrCFE,uDqCcF,iCAQF,CACE,0CAGA,uDAKE,iCChDF,oEAEA,kCAOE,kCATF,4CAEA,uCAMA,iCDwDA,8CC/DA,cACA,0CAFA,wCAEA,iFAFA,CAQA,gCDwDA,CCvDE,cAPF,wCAMA,CDwDA,qEC9DA,CAMA,kBDwDA,oBChEA,8HDgEA,uCC/DA,0BACA,mBD8DA,8CC/DA,qDAOA,uCDwDA,CC9DA,SAMA,kBCLE,8CADF,iDAQA,CARA,iDDOE,SCCF,sCAGA,+CACA,sDACA,C1CoRI,uC0CtRJ,C1CsRI,S0CpRJ,0CAKA,iDAEA,wDAEA,CARA,yCACA,oBAOA,yCvCPE,mDuCeF,4DAGA,CANF,yDAME,kCxBrBI,6DAIA,CwBmBJ,0DxBnBI,gBwBWN,gCAYA,kCvBCE,4LuBCA,8CAIA,2BACE,yGAGE,kCAJJ,CCtCA,2CACA,CAJA,2BACA,CDwCA,oBAKM,CChDN,mCACA,wCACA,eD8CM,2DChDN,CAGA,iBACA,uBACA,CADA,kBAEA,0BACA,uCACA,2DACA,0BACA,uDACA,oCACA,yDACA,kCACA,CxCDE,iEwCeJ,4CAEE,CAPA,2BxCVE,CwCGF,2CAOA,CARA,2DACA,CAFA,iBAgBA,gBAEA,yCAEE,sCACA,+BAWF,oBACA,CAHF,iBACE,CACA,QADA,KACA,UACA,wCAGA,sDAGE,yCACA,kBACA,8EAGF,8BACE,6BACA,8CAQJ,gCAEE,4BACA,wEACA,gCACA,yBACA,6BACA,8EAEA,4BxCvDE,oDACA,sBwC0DF,gCxC7CE,2BACA,2BwCgDF,+CAEE,yDACA,aACA,2DAIF,gCAEE,yBACA,sDACA,+DAIF,6BACE,YAEA,yDACE,8DACA,0DAiBE,uGxCvDJ,CwC4DI,sCxCxEJ,+CAYA,CwC4DI,uCxC5DJ,sEwC4DI,eAaE,CxCzEN,cwCsEM,0CAGA,CAJF,mCAJA,4CACE,CAGF,iBACE,CAGA,6CAHA,kBAGA,uCACE,qDACA,qKxC3ER,oEwC4DI,iFxCxEJ,kDAYA,uCwCiEI,6CACE,eAGF,mEACE,8CAGA,wEACE,0EACA,qCjCtFR,2CiC+DE,wCAGE,4CxCvDJ,gFAZA,iCwCwEI,oExCxEJ,4CAYA,CwCkEM,gDAGF,CxCrEJ,awCiEI,qCACE,CADF,cAIA,sBACE,wFAGA,4DACE,gEACA,oBADA,UACA,6DApBJ,qDxCvDJ,CwCoDE,6CAGE,sBAHF,SxCpDF,gCwC4DI,sDxCxEJ,iEwCiFI,wCACE,iFAGA,CAJF,iCxCjFJ,aAYA,gFwCqEI,CxCjFJ,kBwCiFI,oBAIE,8BACE,8DACA,6BAxBR,iCACE,CAuBM,kCAvBN,qDxCpDF,iDAZA,CwCmEI,yCxCvDJ,oBAZA,yBwCwEI,+CxCxEJ,sDwC6EI,CALA,iDAKA,qDAIA,0CACE,kDAGA,CAJF,qDAIE,gHAEE,4DjCtFR,0BiC8DA,sExCnDA,4BwCuDI,0DxCvDJ,gDwC4DI,sExCxEJ,mBAYA,CAZA,kDAYA,iEwCqEI,mDACE,CAJA,sDAIA,yBACA,0BAEA,2FACE,4DACA,0BxClIR,yEwCsJA,2BACE,CAHF,0DAGE,mDCpKF,yEAGE,mBAEE,CAFF,kDAEE,oEAOA,mDAbJ,CAUE,sDAVF,0BACA,0BAGE,2FAEE,4DAIF,mGANA,4BALJ,0DAKI,4HAOE,mBACA,CAFF,kDAEE,oEARF,oDAJF,sDAIE,0BAEE,0BACA,kBAGF,yEAEE,4DAZJ,0BACA,yEAMI,2BAGF,CANA,0DAMA,mDACE,YACA,6DARF,oBALJ,kDAKI,oEAMA,oDANA,sDAMA,EACE,yBACA,0BACA,kBAdN,yEAKI,sFAEE,yEAOA,2BAdN,CAWI,0DAXJ,mDAKI,yEAGE,mBAGF,CANA,kDAMA,oECTJ,mDAGA,CDQM,sDCRN,EACA,yBACA,uHAMA,4D3C2iD2B,C2CriD3B,yBACE,0EAQA,2BACA,CAJF,0DAIE,oDAKF,0ECnCA,oBDmCA,kDCnCA,CACA,oEAIA,mDACA,CAHA,sDAIA,mCACA,sFACA,+CACA,qBACA,0BACA,mJ9CsRI,wB8C/QJ,C9C+QI,a8C/QJ,wDAEA,wBACA,qBACA,CAFA,UAEA,mLASE,wBAIJ,CALE,aAKF,0DAIE,wBACA,sBADA,UACA,0BAEA,wBAEA,CAFA,aAEA,6GAQA,8FAEA,wBACA,sBADA,UACA,uBACA,6I3ChCE,wBACA,CADA,aACA,6E2CkCF,qBACE,C3CnCA,U2CmCA,0BACA,yBADA,aACA,6GCrDF,wBACA,CADA,aACA,wDAGA,wBACA,sBADA,UACA,yBACA,wBACA,CADA,aACA,2GAEA,wBACA,CADA,aACA,uDAEA,6CACA,CAFA,UAEA,gDACA,CADA,aACA,yGAIA,4FAKA,wBAEA,qBACA,CAJA,UAIA,uBAGA,wBACA,CAFA,aAEA,uGAkBA,wB7B5CI,C6ByCJ,a7BzCI,yH6B8CF,+WAoBF,gC7BlEI,kB6B8CF,uBAqBA,WArBA,uBAqBA,kBAIJ,WAEE,YADA,oBAEA,8DAKA,WALA,SAMA,yCAMA,YAJA,mBAEA,yBACA,iBACA,kBACA,yDACA,kD5CrFE,2D4C+FF,4BACA,0BACA,2BClHA,8BAGA,qDAGA,4BAGA,2DACA,kCDgHF,oDAIE,gCACA,yCACA,gDAIE,4B5CzGA,mC4CyGA,uEACA,mF5C1GA,4BADA,mCACA,CADA,eACA,oB4CqGF,+BAKE,wDAKJ,kBACE,sBACA,CAUA,cAIF,oBACE,CAfA,kBAMA,yBAGA,CACA,kBAVA,8BAeA,oCAGA,qCACA,eACA,mBAEA,2B5C1HE,C4C0HF,2C5C1HE,oFACA,0F4CgIA,2FAQA,CAhBF,kCACA,CAFA,wEAiBE,0BAKA,qCAKF,CAVE,gDAUF,arC9HE,oBqCoIF,CALE,iCAKF,8BAEE,uBrCtIA,wBqC4IA,yBAUA,mBACE,mBAEA,2DAIE,4B5CzMJ,C4C8ME,yFAKA,kDrC1JF,iCqC0IE,iCAEA,oCAGA,sDAMA,iGAKA,6ErC1JF,CqCyIA,kCACE,CAKA,aACE,WACA,CALF,OASA,UAJE,iB5C1MJ,gB4C8ME,CAXA,cACA,MACA,CAGA,UACE,CAJF,8BASA,4C5C9MF,C4CmNE,oBALA,4BAKA,2BAXA,mC5CxMF,4B4C8ME,CAME,yCAlBJ,kCAEE,iEAUA,iE5C9MF,e4CmNE,kDrC1JF,kDqCyIA,6BAEE,sBAEA,0BAEA,4C5CxMF,yC4C8ME,qEAKA,uCrC1JF,mBqC2JI,YrC3JJ,iDqC2IE,gBAUA,sIAME,4CEnON,CFwNM,2B5CzMJ,C4CsME,YAEA,uBEvNJ,U9CeE,mB4C8ME,CATA,iBACA,CAEA,UEvNJ,0CACA,sBACA,0BACA,CAGA,sCACA,CADA,ajD2RI,OiD9RJ,cjD8RI,OiD5RJ,WACA,CjD2RI,iCiDzRJ,+BACA,wDACA,eAIA,kBACA,CClBA,mNDgBA,0BACA,CACA,oEClBA,0BAOA,4IAOA,CAZA,2FAYA,ClDsRI,0DiDvQJ,CjDuQI,eiDvQJ,0BAEA,gCACE,CAHF,iBAGE,eAEA,mBAME,0CAKN,CAGE,6DAEE,CAFF,+DAHF,wFAGE,CAfE,0BACA,wCAEA,sEAcA,4DACA,wDAKJ,mEAGE,iBADA,iBACA,CAHF,+BAGE,iCAEA,+FACE,UACA,4HACA,wBAMJ,CANI,WAMJ,+GAGE,gFACE,SACA,CAFF,0BAEE,+JAMJ,qEAEE,uDAGA,qBAFA,cAEA,CAFA,WAEA,8EACE,iFACA,sDACA,4CAsBJ,0BAEE,qBADA,cACA,CADA,WACA,0CACA,wBACA,CADA,WACA,iF9CjGE,egDnBJ,uCAGE,6CnDkSI,0BmD/RJ,WACA,UADA,eADA,WAEA,0CACA,yBADA,WACA,iFAEA,sDACA,6CACA,2BAEA,qBnDuRI,cmDvRJ,CnDuRI,WmDtRJ,2CACA,wBACA,CADA,WACA,mFAEA,eACA,wCACA,kDAGA,6BACA,8BACA,+BDzBA,iOAEA,CCyCE,oBAEE,CDzCJ,aACA,CAIA,+KCuBA,sCAEA,CASE,sCATF,kCAKE,qBACA,CACA,eAEA,CATF,gBD3BA,+BAEA,CCoCI,UDxCJ,sCAEA,CC2BA,gBhDhBE,sDgDoBF,oBACE,CACA,kBACA,CADA,kBACA,oBDvCF,gCC2CI,CACA,cACA,iCACA,yBAEA,cAMJ,yGACE,2CAEA,CAFA,4BAEA,8MAKA,sCAHE,oFAGF,CAHE,QAGF,8FAKA,qCAHE,2CAGF,4GAUA,wCARE,2HAQF,CARE,UAQF,kGAIA,qHAEE,yCAFF,oFAEE,CAFF,WAEE,+FAGF,8LAeF,uCAVE,2HAUF,CAVE,SAUF,gBAGE,oFAFA,6BAEA,CAHF,qGACE,CAEA,qIAEE,2FAGF,4IAEE,mCAGF,oGACE,+BACA,iCAKJ,gIAGE,yDAGA,CAaA,oBAEE,6IAGF,+CAlBA,cAEA,+KAOA,sCACA,CAGA,sCAHA,iCACA,CAEA,sCAFA,gBAXA,qCAEA,CASA,eAEA,qIAbA,gCAkBA,sCACE,CACA,qCAGF,CAJE,mCAIF,8DAEE,0BAuBN,CAxBM,WADF,aACE,CADF,iBAyBJ,4FAEE,iFAEA,iNhDzJE,oFgD+JA,0GAMF,+CCjLF,CDiLE,QCjLF,wGCZI,qCDwBF,CC3BA,qCD2BA,8FlCbI,qCkCkBJ,+ElClBI,0PkC6BN,2HAKA,4GAaE,iDAEE,CAFF,MAEE,0GAIF,6KAOA,8ElCxDI,6NkC6EJ,oFAKA,gHAbF,kDlCpEQ,CkCoER,KlCpEQ,8GkC2FJ,wCAKJ,CARE,kCAQF,kHA6BE,8EAGA,CAHA,WAdA,cADA,QACA,CAEA,mDAWF,CAhBE,iBlDi5CmC,CkD/4CnC,MACA,mCAiBA,+FAoBA,oCAGA,CAbA,gFAQA,qCAKA,uNAYE,2HlCpKE,6GkC4KJ,gDAWA,CAXA,OAYA,2GAYA,4FAUE,4CE5NF,kFAGA,6DAGA,+DFqNA,oCACE,CALF,4CAIA,CAJA,gBAHE,6EE9MF,oFAIF,CAJE,yEAIF,WACE,6FADF,4BACE,4CAIF,CAJE,aAIF,gBAIE,kCACA,2BACA,CAJA,YACA,YACA,mBAFA,kBAIA,4CACA,qCAGA,uEACA,CARA,UAQA,uCAKA,eACA,+EAUF,aAEI,yEAIA,kCANJ,2BAEI,yEAIA,mCAOF,4BACA,+BACA,UACA,sBACA,gBAFA,2BAEA,kJAaA,wGC5EF,oFAEE,oFAGA,iBACA,8CAGA,kBACA,CACA,yBAHA,QACA,CACA,WADA,aACA,uBACA,WADA,UAHA,iBACA,CAGA,kBAHA,MAGA,4B7C+DE,C6ChEF,UADA,S7CiEE,uC6C5CE,8CAGA,eACA,sHAIA,UACA,CACA,UrC1BA,CqCyBA,SACA,CADA,oBrCzBA,sHAIA,uBqCUJ,CrCVI,4BqCUJ,yBrCTM,CALF,qBAIA,YAJA,UAKE,6BRuDJ,sR6CtBE,6BAGE,uRAUA,sBACA,4CACA,CADA,O7CQJ,gB6CPI,kC7COJ,C6CPI,2BADA,mC7CQJ,uC6CEI,4BADA,qBACA,U7CFJ,oC6CKE,CAHE,iC7CFJ,C6CHI,kBAEA,CAEA,eAFA,cACA,WACA,iCAIF,WALE,SACA,oBAIF,2BAEE,CARA,UAQA,uC7CPJ,sC6CUE,8CAGE,S7C1BJ,mB6CgCI,eAEA,WAFA,QACA,uBACA,CADA,oB7CjCJ,iB6CjCF,UAiEM,CAEA,iBAEA,uFAME,uCAIA,sFA7EJ,qBACA,kCACA,UACA,+BrCnBA,iMAIA,CqCsBA,iBrC1BA,CqCqBA,oBACA,CACA,+BACA,gDAEA,CAJA,6BrClBA,mCACE,kCRuDJ,wB6C5BI,4BACA,kCACA,iEACA,8D7CyBJ,iC6CrBI,mCAEA,2CACA,gCACA,qJ7CiBJ,yB6CdE,gCAIE,iCACA,6BACA,uEACA,0E7COJ,qC6CJE,eACE,gBAEA,gDAEA,iHACA,8B7CFJ,4B6CKE,iDAEE,sC7CPJ,8B6CUE,qHAxDJ,0BAiEM,2BACA,2BACA,8BAEA,8BACE,uBAGF,uBAEE,gCAEA,+D7C/BN,8D6C1CE,4BACA,crCnBA,oEqCqBA,SAGA,+BACA,CAFA,kCACA,gBrCxBA,UqCoBA,cACA,CrCrBA,iFAIA,uEACE,CqCoBF,iBrCzBA,CqCqBA,kCrChBE,gEqCyBF,cAEE,eACA,6BACA,kH7C0BJ,C6C1BI,a7C0BJ,mC6CtBE,4BAGE,CAPA,+BAOA,CACA,+G7CkBJ,C6ClBI,c7CkBJ,kC6CdE,2BAIE,CARA,+BAQA,CACA,4BACA,qF7CQJ,C6CRI,M7CQJ,mC6CJE,4BAGE,CACA,2DARA,gEAaF,CALE,+BAEA,kF7CFJ,mC6CKE,4BAEE,sDAGF,sC7CvBF,8D6CgCI,kBACA,CAvCA,CAuCA,wBACA,wCAEA,8BACE,uCAIA,iCAGA,2CA7ER,sCAII,CA2EI,wB7CjCN,mB6C9CF,C7C8CE,S6C1CE,6BACA,crCnBA,oEqCqBA,SAGA,+BACA,CAFA,kCACA,gBrCxBA,UqCoBA,cACA,CrCrBA,iFAIA,uEACE,CqCoBF,iBrCzBA,CqCqBA,kCrChBG,CAAD,+DqCyBF,cACE,eAEA,6BACA,kH7C0BJ,C6C1BI,a7C0BJ,mC6CtBE,4BAGE,CAPA,+BAOA,CACA,+G7CkBJ,C6ClBI,c7CkBJ,kC6CdE,2BAGE,CAPA,+BAOA,CACA,4BAEA,qF7CQJ,C6CRI,M7CQJ,mC6CJE,4BAGE,4DAPA,gEAaF,CANE,+BAEA,kF7CDJ,mC6CKE,4BAEE,sDAGF,sCAGE,8DAMA,kBACA,CAvCA,CAuCA,wBACA,wCAEA,+BACE,sCAGF,iCAGE,YACA,+BA7ER,sCAII,CA2EI,wB7CjCN,mB6C9CF,C7C8CE,S6C1CE,2CrClBA,4BqC0BA,uCrC1BA,CqCoBA,QACA,CAGA,+BACA,CAHA,YACA,sBACA,gBrCxBA,UqCoBA,erCpBA,iFqC4BA,uEAdJ,CAWI,iBACA,CALA,kCAPJ,gEAgBI,6BAEE,6BACA,8BACA,oF7C0BJ,C6C1BI,a7C0BJ,mC6CtBE,4BAEE,CANA,+BAMA,CACA,4BACA,mF7CkBJ,C6ClBI,c7CkBJ,kC6CdE,2BACE,CALA,+BAMA,CAEA,4BAEA,qFACA,CAFA,MAEA,mCAGF,4BACE,CAEA,2DAPA,yDADA,OAcF,CANE,+BAEA,kFACA,mCAGF,4BAEE,sD7CPJ,sB6CUE,8EAxDJ,kBAiEM,CAvCA,CAuCA,wBACA,wCACA,8BAEA,uCAIA,iCACE,YACA,+BA3ER,sCAII,CAyEI,YAEA,+BA/ER,CA+EQ,SA3EJ,8BACA,crCnBA,oEqCqBA,SAGA,+BACA,CAFA,kCACA,gBrCxBA,UqCoBA,cACA,CrCrBA,iFAIA,uEqC0BA,CALA,iBrCzBA,CqCqBA,kCASA,iEAIE,yFACA,oFAOA,CAPA,aAOA,gEAPA,+BAOA,CACA,4BAKA,mFAIA,CATA,cASA,8DANF,+BAME,CACA,4BAMA,qFAEA,CARA,MAQA,mCACA,6BAGF,2DATA,iCAGE,CAHF,OAGE,gBANA,OP9DN,CO0EI,+BAKA,kFPpFJ,mCAGA,2BAEA,CAIA,sDACA,sBO4GF,eACE,CAEA,8DACA,mBAlEM,CAkEN,yBAEA,cACE,+FACA,6CACA,+BACA,sCAKF,CANE,YACA,yCAKF,8BAIF,eCtIE,2BAGA,CAJA,uCACA,CDwIA,SC5IA,+BAEA,CD0IA,YACA,sBC9IF,eACE,CAOA,SACE,CDmIF,cACA,CCpIE,4CAMJ,qCAKE,uEASA,CA1BA,iBACA,CDyIA,kCChHA,iEACE,4DAIJ,+BAEI,oFAKF,CALE,MAFJ,CAEI,MAKF,gEAPF,+BAOE,8BAEA,oFADA,cACA,kCAGF,2BAEI,CANF,+BAME,8BH9CF,qFIIE,CDwCJ,KACE,CCxCE,6HDyCA,wDH9CF,CG6CA,OCxCE,sJADA,2BACA,8FAFF,CAEE,oFDkCF,CClCE,wCAFF,0BAEE,oHAFF,+BAEE,uCADA,YACA,sDADA,2BACA,wCADA,CACA,QAFF,CAEE,mQCFE,CDEF,kBAFF,kCCAI,uCAEE,WANN,eACE,6BAKI,oFAFF,iDAEE,4BALJ,CAGE,+BAHF,0BADF,mFAMM,CAFF,cAEE,kCALJ,2BAGE,+IAHF,CAGE,MAHF,mCAGE,4BAEE,uFALJ,CAKI,OALJ,eAGE,CAEE,OCgBJ,CDhBI,4BCCJ,kFASA,mCAMA,4EADF,sBACE,qEChBF,kBAGF,qBAcM,mCAVJ,MACA,CAJA,cAEA,MACA,CASE,WACE,CATJ,YASI,0BAKF,mCACE,6BlDiCF,mBkD/BE,YlD+BF,8BkDvCE,oEAMA,8BACA,qDARF,CAMA,oDAEE,CAPA,kDAKF,CACE,qFAPF,kBACE,eACA,CADA,eACA,iBAIF,YlDkCA,gBkDlCA,mElDkCA,cRo9BgC,6B0Dr/B9B,CAJA,YAHF,oBACE,gBAMA,WANA,qBAMA,yBlDiCF,WkDhCE,oBlDgCF,iBkDxCA,eACE,iDAEA,gBAGF,gCACE,0DC5BJ,mDAGA,qCAKA,cACA,8BACA,ICRF,8BCUE,qDAEA,8CCTG,CFHL,+ECKE,wEAIA,4BACA,oBCPE,qC9DwZsC,G8DnZtC,6BCRJ,sBCCE,8BCLF,GACE,6BACA,sBAEA,kBACA,UACA,WC4DM,CD7DN,aC6DM,kBAOI,kCAPJ,mEAOI,2EAPJ,qEAOI,oBAPJ,oDAOI,wIAPJ,mEAOI,CAPJ,oBAOI,uHAPJ,oBAOI,mDAPJ,kEAOI,uEAPJ,wGAOI,8JAPJ,gEAOI,iBAPJ,uBAOI,oEAPJ,eAOI,uBAPJ,yCAOI,2DAPJ,wEAOI,uFAPJ,CAOI,+GAPJ,mFAOI,6FAPJ,QAOI,2CAPJ,UAOI,qQAPJ,iBAOI,gDAPJ,OAOI,iDAPJ,KAOI,mEAPJ,CAOI,4EAPJ,KAOI,0EAPJ,YAOI,yEAPJ,kCAOI,qDAPJ,kBAOI,4IAHI,CAGJ,kBAPJ,QAIQ,2BAGJ,0GAHI,CAGJ,kBAPJ,QAIQ,2BAGJ,6GAHI,CAGJ,mBAPJ,QAIQ,UAGJ,yEAHI,YAGJ,wHAHI,4BAGJ,8DAPJ,0BAIQ,CAGJ,gIAPJ,UAIQ,CAGJ,gDAHI,+BAGJ,+FAPJ,CAOI,oCAPJ,WAIQ,CAGJ,SAHI,iBAGJ,oKAHI,oBAGJ,oIAPJ,qBAIQ,iCAGJ,oIAjBJ,CACE,yFADF,yBACE,6CADF,kBACE,yBADF,WACE,yBADF,+EACE,SADF,sBACE,iCAgBE,cAPJ,0CAOI,qCAPJ,sBAOI,6CAPJ,SAOI,sBAPJ,SAOI,yOAPJ,yBAOI,oBAPJ,2BAOI,CAPJ,mBAOI,2BAPJ,iBAOI,wBAPJ,kBAOI,kCAPJ,yBAOI,6EAPJ,WAOI,kBAPJ,gCAOI,aAPJ,qBAOI,UAPJ,gBAOI,6BAPJ,YAOI,mBAPJ,yBAOI,4BAPJ,8BAOI,kNAPJ,qBAOI,4CAPJ,qCAOI,iIAPJ,WAOI,+BAPJ,sCAOI,+HAPJ,aAOI,wCAPJ,4FAOI,eAPJ,wBAOI,iMAPJ,eAOI,kIAPJ,iBAOI,uBAPJ,iBAOI,oHAPJ,sBAOI,oHAPJ,2EAOI,+dAPJ,CAOI,iMAPJ,qBAOI,+LAPJ,wBAOI,uFAPJ,CAOI,mEAPJ,OAOI,0BAPJ,mBAOI,yLAPJ,OAOI,oBAPJ,CAOI,0BAPJ,QAOI,qBAPJ,SAOI,qBAPJ,SAOI,2GAPJ,uBAOI,wWAPJ,wBAOI,8KAPJ,kCAOI,4QAPJ,kDAOI,mDAPJ,4BAOI,yQAPJ,CAOI,8KAPJ,kBAOI,6IAPJ,iDAOI,6BAPJ,qBAOI,8NAPJ,aAOI,mIAPJ,uBAOI,gEAPJ,uBAOI,6DAPJ,6BAOI,kCAPJ,CAOI,4BAPJ,CAOI,MAPJ,0BAOI,gEAPJ,6BAOI,oIAPJ,yBAOI,4DAPJ,6BAOI,MAPJ,6BAOI,kCAPJ,4BAOI,kGAPJ,4BAOI,2FAPJ,4BAOI,qIAPJ,gCAOI,yIAPJ,CAIQ,iCAGJ,2IAHI,qCAGJ,4GAPJ,CAIQ,kCAGJ,8GAPJ,2BAIQ,OAGJ,kIAPJ,MAIQ,oBAGJ,gJAHI,OAGJ,yBAHI,yBAGJ,0EAHI,4BAGJ,oGAPJ,6BAOI,+HAPJ,CAOI,uBAPJ,OAOI,gCAPJ,4BAOI,wEAHI,6BAGJ,kIAHI,CAGJ,0BAHI,8BAGJ,mCAHI,kCAGJ,iCAHI,mCAGJ,iCAHI,gCAGJ,OAjBJ,8BACE,OADF,6BACE,2GAaM,iCAGJ,qJAHI,OAGJ,qKAHI,oCAGJ,iHAPJ,yBAIQ,QAGJ,+SAPJ,OAIQ,uCAGJ,8HAPJ,2BAOI,2JAHI,UAGJ,8IAPJ,0BAOI,6IAPJ,CAIQ,wCAGJ,mJAHI,sCAGJ,wHAPJ,mCAOI,wCAjBJ,cACE,iMAgBE,kYAPJ,WAOI,0JAPJ,mBAOI,8aAPJ,+BAOI,sHAPJ,CAOI,23BAPJ,4JAOI,iBAPJ,kEAOI,2FAPJ,iBAOI,gEAPJ,sFAOI,2JAPJ,aAOI,iFAPJ,4EAOI,6BAPJ,gEAOI,sFAPJ,iBAOI,4IAPJ,2BAOI,oKAPJ,iJAOI,mFAPJ,0EAOI,2BAPJ,8IAOI,kCAPJ,uCAOI,gBAPJ,mBAOI,oCAPJ,mCAOI,oCAPJ,iBAOI,+BAPJ,mNAOI,gFAPJ,mBAOI,8GAPJ,uCAOI,+EAPJ,YAOI,yYAPJ,WAOI,4HAPJ,eAOI,+TAPJ,8BAOI,oLAPJ,4DAOI,gBAPJ,iGAOI,0IAPJ,CAOI,uEAPJ,cAOI,wBAPJ,oBAOI,oGAPJ,aAOI,uBAPJ,iBAOI,8HAPJ,6BAOI,YAPJ,sBAOI,eAPJ,uBAOI,cAPJ,6CAOI,qDAPJ,oCAOI,yBAPJ,uCAOI,uDAPJ,qBAOI,kpBAPJ,qBAOI,kFAPJ,0BAOI,oFAPJ,yBAOI,yFAPJ,CAOI,mTAPJ,+BAOI,iDAPJ,uBAOI,oDAPJ,6BAOI,oDAPJ,iBAOI,kBAPJ,aAOI,8BAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,gBAPJ,iBAOI,SAPJ,kBAOI,SAPJ,uBAOI,6DAPJ,gCAOI,S1DVR,iC0DGI,qBAOI,kCAPJ,wBAOI,sCAPJ,CAOI,6BAPJ,qCAOI,kEAPJ,2BAOI,sCAPJ,CAOI,6BAPJ,oCAOI,oEAPJ,2BAOI,UAPJ,yBAOI,uBAPJ,UAOI,+BAPJ,2BAOI,UAPJ,6BAOI,yKAPJ,6BAOI,yBAPJ,yCAOI,CAPJ,yBAOI,qEAPJ,UAOI,oCAPJ,yBAOI,qCAPJ,mCAOI,sCAPJ,UAOI,kCAPJ,6BAOI,sCAPJ,qCAOI,uCAPJ,UAOI,wCAPJ,2BAOI,mCAPJ,wCAOI,UAPJ,6BAOI,sCAPJ,CAOI,uCAPJ,sCAOI,aAPJ,4BAOI,iCAPJ,sCAOI,UAPJ,2BAOI,oCAPJ,sCAOI,oCAPJ,aAOI,mCAPJ,mBAOI,iCAPJ,gCAOI,+BAPJ,SAOI,yBAPJ,8BAOI,UAPJ,wBAOI,iEAPJ,yCAOI,6BAPJ,6BAOI,sCAPJ,4BAOI,UAPJ,sEAOI,2BAPJ,CAOI,4BAPJ,UAOI,oOAPJ,0BAOI,UAPJ,+BAOI,uCAPJ,6BAOI,4DAPJ,UAOI,yLAPJ,yBAOI,wCAPJ,UAOI,qHAPJ,4BAOI,8CAPJ,+BAOI,+JAPJ,kCAOI,uCAPJ,UAOI,uKAPJ,WAOI,oBAPJ,WAOI,8BAPJ,kBAOI,WAPJ,oBAOI,wNAPJ,CAOI,uEAPJ,cAOI,wBAPJ,oBAOI,oGAPJ,aAOI,uBAPJ,iBAOI,8HAPJ,6BAOI,YAPJ,sBAOI,eAPJ,uBAOI,cAPJ,6CAOI,qDAPJ,oCAOI,yBAPJ,uCAOI,uDAPJ,qBAOI,kpBAPJ,qBAOI,kFAPJ,0BAOI,oFAPJ,yBAOI,yFAPJ,CAOI,mTAPJ,+BAOI,iDAPJ,uBAOI,oDAPJ,6BAOI,oDAPJ,iBAOI,kBAPJ,aAOI,8BAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,gBAPJ,iBAOI,SAPJ,kBAOI,SAPJ,uBAOI,6DAPJ,gCAOI,S1DVR,iC0DGI,qBAOI,kCAPJ,wBAOI,sCAPJ,CAOI,6BAPJ,qCAOI,kEAPJ,2BAOI,sCAPJ,CAOI,6BAPJ,oCAOI,oEAPJ,2BAOI,UAPJ,yBAOI,uBAPJ,UAOI,+BAPJ,2BAOI,UAPJ,6BAOI,yKAPJ,6BAOI,yBAPJ,yCAOI,CAPJ,yBAOI,qEAPJ,UAOI,oCAPJ,yBAOI,qCAPJ,mCAOI,sCAPJ,UAOI,kCAPJ,6BAOI,sCAPJ,qCAOI,uCAPJ,UAOI,wCAPJ,2BAOI,mCAPJ,wCAOI,UAPJ,6BAOI,sCAPJ,CAOI,uCAPJ,sCAOI,aAPJ,4BAOI,iCAPJ,sCAOI,UAPJ,2BAOI,oCAPJ,sCAOI,oCAPJ,aAOI,mCAPJ,mBAOI,iCAPJ,gCAOI,+BAPJ,SAOI,yBAPJ,8BAOI,UAPJ,wBAOI,iEAPJ,yCAOI,6BAPJ,6BAOI,sCAPJ,4BAOI,UAPJ,sEAOI,2BAPJ,CAOI,4BAPJ,UAOI,oOAPJ,0BAOI,UAPJ,+BAOI,uCAPJ,6BAOI,4DAPJ,UAOI,yLAPJ,yBAOI,wCAPJ,UAOI,qHAPJ,4BAOI,8CAPJ,+BAOI,+JAPJ,kCAOI,uCAPJ,UAOI,uKAPJ,WAOI,oBAPJ,WAOI,8BAPJ,kBAOI,WAPJ,oBAOI,wNAPJ,CAOI,uEAPJ,cAOI,wBAPJ,oBAOI,oGAPJ,aAOI,uBAPJ,iBAOI,8HAPJ,6BAOI,YAPJ,sBAOI,eAPJ,uBAOI,cAPJ,6CAOI,qDAPJ,oCAOI,yBAPJ,uCAOI,uDAPJ,qBAOI,kpBAPJ,qBAOI,kFAPJ,0BAOI,oFAPJ,yBAOI,yFAPJ,CAOI,mTAPJ,+BAOI,iDAPJ,uBAOI,oDAPJ,6BAOI,oDAPJ,iBAOI,kBAPJ,aAOI,8BAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,gBAPJ,iBAOI,SAPJ,kBAOI,SAPJ,uBAOI,6DAPJ,gCAOI,S1DVR,iC0DGI,qBAOI,kCAPJ,wBAOI,sCAPJ,CAOI,6BAPJ,UAOI,6FAPJ,2BAOI,sCAPJ,CAOI,6BAPJ,oCAOI,oEAPJ,2BAOI,UAPJ,yBAOI,wBAPJ,SAOI,+BAPJ,2BAOI,UAPJ,6BAOI,qCAPJ,4BAOI,wGAPJ,6BAOI,yBAPJ,aAOI,6BAPJ,yBAOI,qEAPJ,UAOI,oCAPJ,yBAOI,qCAPJ,mCAOI,sCAPJ,UAOI,kCAPJ,6BAOI,sCAPJ,qCAOI,uCAPJ,qCAOI,aAPJ,2BAOI,mCAPJ,wCAOI,UAPJ,6BAOI,sCAPJ,UAOI,8BAPJ,sCAOI,aAPJ,4BAOI,iCAPJ,sCAOI,UAPJ,2BAOI,oCAPJ,sCAOI,oCAPJ,aAOI,mCAPJ,oBAOI,gCAPJ,gCAOI,+BAPJ,SAOI,iCAPJ,sBAOI,UAPJ,wBAOI,iEAPJ,yCAOI,6BAPJ,6BAOI,4EAPJ,sEAOI,2BAPJ,CAOI,4BAPJ,UAOI,oOAPJ,0BAOI,UAPJ,+BAOI,uCAPJ,6BAOI,4DAPJ,UAOI,yLAPJ,yBAOI,yCAPJ,SAOI,+LAPJ,+BAOI,+JAPJ,kCAOI,uCAPJ,UAOI,uKAPJ,WAOI,oBAPJ,WAOI,8BAPJ,kBAOI,WAPJ,oBAOI,yNAPJ,CAOI,uEAPJ,cAOI,wBAPJ,oBAOI,oGAPJ,aAOI,uBAPJ,iBAOI,8HAPJ,6BAOI,YAPJ,sBAOI,eAPJ,uBAOI,cAPJ,6CAOI,qDAPJ,oCAOI,yBAPJ,uCAOI,uDAPJ,qBAOI,kpBAPJ,qBAOI,kFAPJ,0BAOI,oFAPJ,yBAOI,yFAPJ,CAOI,mTAPJ,+BAOI,iDAPJ,uBAOI,oDAPJ,6BAOI,oDAPJ,iBAOI,kBAPJ,aAOI,8BAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,aAPJ,iBAOI,gBAPJ,iBAOI,SAPJ,kBAOI,SAPJ,uBAOI,6DAPJ,gCAOI,S1DVR,iC0DGI,qBAOI,iCAPJ,mCAOI,4BAPJ,CAOI,6BAPJ,UAOI,4BAPJ,4BAOI,oIAPJ,UAOI,2BAPJ,2BAOI,uCAPJ,CAOI,2BAPJ,UAOI,0BAPJ,sBAOI,wCAPJ,CAOI,2BAPJ,UAOI,kEAPJ,4BAOI,oCAPJ,8BAOI,6BAPJ,SAOI,6BAPJ,yBAOI,yCAPJ,CAOI,yBAPJ,UAOI,gCAPJ,2BAOI,UAPJ,0BAOI,mCAPJ,qCAOI,mCAPJ,aAOI,mCAPJ,wBAOI,uCAPJ,sCAOI,qCAPJ,uCAOI,qCAPJ,aAOI,qCAPJ,yBAOI,wCAPJ,UAOI,6BAPJ,sCAOI,8EAPJ,yCAOI,UAPJ,uBAOI,sCAPJ,qCAOI,UAPJ,0BAOI,sCAPJ,oCAOI,uCAPJ,SAOI,oDAPJ,SAOI,gCAPJ,sBAOI,iCAPJ,+BAOI,mGAPJ,qEAOI,mEAPJ,CAOI,4BAPJ,UAOI,ySAPJ,2BAOI,UAPJ,6BAOI,CAPJ,0BAOI,CAPJ,wCAOI,CAPJ,4BAOI,mGAPJ,UAOI,2PAPJ,sCAOI,sCAPJ,UAOI,kHAPJ,+BAOI,wCAPJ,UAOI,uHAPJ,wBAOI,wCAPJ,qCAOI,qCAPJ,UAOI,4FAPJ,WAOI,+BAPJ,mBAOI,4DAPJ,CAOI,4BAPJ,gBAOI,yBAPJ,cAOI,0BAPJ,iBAOI,sDAPJ,iBAOI,qBAPJ,eAOI,yEAPJ,wBAOI,mDAPJ,cAOI,uBAPJ,aAOI,sBAPJ,cAOI,oEAPJ,mBAOI,4BAPJ,aAOI,sBAPJ,oBAOI,oKAPJ,+BAOI,8IAPJ,qBAOI,uLAPJ,0BAOI,oLAPJ,6BAOI,iCAPJ,6BAOI,uCAPJ,6BAOI,sCAPJ,6BAOI,oHAPJ,8BAOI,8GAPJ,CAOI,yBAPJ,6BAOI,yMAPJ,qCAOI,2FAPJ,+BAOI,CAPJ,qBAOI,yBAPJ,uBAOI,oDAPJ,6BAOI,mDAPJ,0BAOI,oGAPJ,kBAOI,cAPJ,iBAOI,8DAPJ,cAOI,+BAPJ,iBAOI,cAPJ,iBAOI,iBAPJ,iBAOI,UAPJ,kBAOI,UAPJ,uBAOI,UAPJ,sBAOI,UAPJ,qBAOI,UAPJ,uBAOI,iEAPJ,WC/CR,wBDsDY,wBCtDZ,CD+CQ,UAOI,4BAPJ,CAOI,6BAPJ,WAOI,2BCnCZ,CDmCY,4BCnCZ,WDmCY,0BAPJ,mEAOI,oEAPJ,2BAOI,wCAPJ,CAOI,2BAPJ,WAOI,yBAPJ,uBAOI,WAPJ,8BAOI,oEEtEV,CF+DM,0BE/DN,WAEA,4BACA,CAFA,yBAEA,WACA,8BACA,CAFA,2BAEA,uCAGA,CAHA,yBAGA,cAOF,4BACE,CAPA,yBAOA,CACA,UACA,sBAGF,WACE,sCAGF,0BACE,oCAGF,sCAIA,WACE,yBACA,cAGF,yBACE,mCAEA,wCAEA,uCACA,sCAIA,wCAIF,sCAEE,cACA,2BAGF,6EAEE,WAGF,6BACE,WAGA,4BACA,WAGA,8BAGF,uCAGI,cAIJ,4BACE,kCAEA,uCACA,sCAMA,WACA,0BAKF,oHACE,CAGF,sCACE,wBAGF,iCAEE,UACA,sBAKF,4CACE,sBACE,WAKF,wBAEA,CAHF,yBAGE,WACA,6BACA,CAFA,8BAEA,WAEA,4BAGF,CAJE,6BAIF,WAIA,4BAJA,4BAIA,WACE,6BAGF,CAJA,8BAIA,sCACE,CADF,4BACE,WAEA,0BAGF,CALE,uBAKF,WAEE,+BAGF,CALA,4BAKA,WACE,8BAGF,CAJA,2BAIA,WACE,6BC5HF,CD2HA,0BC3HA,WACE,+BAEA,CAHF,4BAGE,wCACA,CADA,0BACA,CACA,iCACA,uCACA,WACA,2BACA,qCACA,WACA,iEACA,WACA,yBACA,yCACA,wCAGF,WACE,4BACA,yCACA,uCACA,WACA,0BACA,0CACA,yCACA,WACA,6BACA,0CACA,wCACA,mCACA,wCACA,uCACA,sCC/DF,wCAOE,sCADF,2BAEI,YAKF,gCADF,mBAEI,YACA,kBACA,4CACA,4DAKJ,yCACE,6CAEA,2BAHF,gCAII,+BAEA,kCAEA,OAEA,iFACE,uBAIF,qEACE,CACA,cACA,sBAEA,gBACA,uBAMJ,oBADF,iHAEI,sBACA,6BCpDF,sCACA,aAGA,gF5EUA,C4EZA,mBAEA,C5EkBA,WACA,CAFA,aACA,iB4EpBA,sC5EYA,oEASA,0BAGF,aAEE,YAIF,CAJE,QAIF,yHAEE,gCAIA,qCAGF,mBACE,2BAcA,kBACA,CALA,0CAIA,sBARA,sBAHF,oBAGE,CASA,qCACA,CAVA,kBAGF,gBAOE,iCAIA,WADF,WACE,iFAGF,sCAIE,qBAGF,2KAeE,wBAGF,SAGE,CArBF,6BAeE,CAfF,sCAkBA,gCAGE,aAHF,SAGE,sDAGF,aAEE,wCAGF,mDACE,YACA,0BAIA,OADF,0BACE,WAIA,gDACE,yBAGF,WALF,8BAiBA,8HAJE,eACA,CAPE,eAKJ,UAKA,6CAUA,8CAEE,2CAIA,oEAGF,4FAIE,cACA,yEADA,oCAKA,yCAEA,sIAGE,0BAKF,qBACA,gCAGF,6DAKE,+BAIA,gEAGF,6BACE,yCAGF,2BAEE,0CACA,wBACA,uCAGF,+CAEE,mCAIF,mEAEE,wEAGF,2BAGE,6BAIA,4CACE,6BAKF,yBAIA,0B/B5NA,aAEA,2C+BkOA,WAIA,CADF,uBAQE,2CAEE,0CAPA,cAKF,mBAEE,kB/BjPF,C+BiPE","sources":["../node_modules/react-datepicker/dist/react-datepicker.css","common/MainHeader.scss","servers/ServersListGroup.scss","utils/base.scss","utils/mixins/vertical-align.scss","utils/mixins/thin-scroll.scss","common/Home.scss","common/NoMenuLayout.scss","common/MenuLayout.scss","common/AsideMenu.scss","common/ShlinkVersionsContainer.scss","utils/SearchField.scss","utils/DropdownBtn.scss","utils/dates/DateInput.scss","utils/OrderingDropdown.scss","short-urls/ShortUrlsFilteringBar.scss","tags/helpers/Tag.scss","utils/CopyToClipboardIcon.scss","short-urls/helpers/ShortUrlVisitsCount.scss","short-urls/helpers/ShortUrlsRow.scss","utils/mixins/text-ellipsis.scss","utils/DropdownBtnMenu.scss","short-urls/helpers/CreateShortUrlResult.scss","short-urls/ShortUrlsTable.scss","short-urls/UseExistingIfFoundInfoIcon.scss","short-urls/ShortUrlForm.scss","short-urls/helpers/QrCodeModal.scss","servers/helpers/ImportServersBtn.scss","servers/helpers/ServerError.scss","servers/helpers/HighlightCard.scss","visits/helpers/MapModal.scss","utils/mixins/fit-with-margin.scss","visits/ShortUrlVisitsHeader.scss","utils/NavPills.scss","visits/charts/LineChartCard.scss","common/SimplePaginator.scss","visits/VisitsTable.scss","utils/mixins/sticky-cell.scss","visits/helpers/OpenMapModalBtn.scss","visits/charts/DoughnutChartLegend.scss","visits/charts/ChartCard.scss","tags/helpers/TagBullet.scss","tags/TagCard.scss","tags/helpers/EditTagModal.scss","tags/TagsTable.scss","settings/UserInterfaceSettings.scss","domains/DomainSelector.scss","common/AppUpdateBanner.scss","utils/mixins/horizontal-align.scss","app/App.scss","../node_modules/leaflet/dist/leaflet.css","index.scss","../node_modules/bootstrap/scss/mixins/_banner.scss","../node_modules/bootstrap/scss/_root.scss","../node_modules/bootstrap/scss/vendor/_rfs.scss","../node_modules/bootstrap/scss/_reboot.scss","../node_modules/bootstrap/scss/_variables.scss","../node_modules/bootstrap/scss/mixins/_border-radius.scss","../node_modules/bootstrap/scss/_type.scss","../node_modules/bootstrap/scss/mixins/_lists.scss","../node_modules/bootstrap/scss/_images.scss","../node_modules/bootstrap/scss/mixins/_image.scss","../node_modules/bootstrap/scss/_containers.scss","../node_modules/bootstrap/scss/mixins/_container.scss","../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../node_modules/bootstrap/scss/_grid.scss","../node_modules/bootstrap/scss/mixins/_grid.scss","../node_modules/bootstrap/scss/_tables.scss","../node_modules/bootstrap/scss/mixins/_table-variants.scss","../node_modules/bootstrap/scss/forms/_labels.scss","../node_modules/bootstrap/scss/forms/_form-text.scss","../node_modules/bootstrap/scss/forms/_form-control.scss","../node_modules/bootstrap/scss/mixins/_transition.scss","../node_modules/bootstrap/scss/mixins/_gradients.scss","../node_modules/bootstrap/scss/forms/_form-select.scss","../node_modules/bootstrap/scss/forms/_form-check.scss","../node_modules/bootstrap/scss/forms/_form-range.scss","../node_modules/bootstrap/scss/forms/_floating-labels.scss","../node_modules/bootstrap/scss/forms/_input-group.scss","../node_modules/bootstrap/scss/mixins/_forms.scss","../node_modules/bootstrap/scss/_buttons.scss","../node_modules/bootstrap/scss/mixins/_buttons.scss","../node_modules/bootstrap/scss/_transitions.scss","../node_modules/bootstrap/scss/_dropdown.scss","../node_modules/bootstrap/scss/mixins/_caret.scss","../node_modules/bootstrap/scss/_button-group.scss","../node_modules/bootstrap/scss/_nav.scss","../node_modules/bootstrap/scss/_navbar.scss","../node_modules/bootstrap/scss/_card.scss","../node_modules/bootstrap/scss/_accordion.scss","../node_modules/bootstrap/scss/_breadcrumb.scss","../node_modules/bootstrap/scss/_pagination.scss","../node_modules/bootstrap/scss/mixins/_pagination.scss","../node_modules/bootstrap/scss/_badge.scss","../node_modules/bootstrap/scss/_alert.scss","../node_modules/bootstrap/scss/mixins/_alert.scss","../node_modules/bootstrap/scss/_progress.scss","../node_modules/bootstrap/scss/_list-group.scss","../node_modules/bootstrap/scss/mixins/_list-group.scss","../node_modules/bootstrap/scss/_close.scss","../node_modules/bootstrap/scss/_toasts.scss","../node_modules/bootstrap/scss/_modal.scss","../node_modules/bootstrap/scss/mixins/_backdrop.scss","../node_modules/bootstrap/scss/_tooltip.scss","../node_modules/bootstrap/scss/mixins/_reset-text.scss","../node_modules/bootstrap/scss/_popover.scss","../node_modules/bootstrap/scss/_carousel.scss","../node_modules/bootstrap/scss/mixins/_clearfix.scss","../node_modules/bootstrap/scss/_spinners.scss","../node_modules/bootstrap/scss/_offcanvas.scss","../node_modules/bootstrap/scss/_placeholders.scss","../node_modules/bootstrap/scss/helpers/_color-bg.scss","../node_modules/bootstrap/scss/helpers/_colored-links.scss","../node_modules/bootstrap/scss/helpers/_ratio.scss","../node_modules/bootstrap/scss/helpers/_position.scss","../node_modules/bootstrap/scss/helpers/_stacks.scss","../node_modules/bootstrap/scss/helpers/_visually-hidden.scss","../node_modules/bootstrap/scss/mixins/_visually-hidden.scss","../node_modules/bootstrap/scss/helpers/_stretched-link.scss","../node_modules/bootstrap/scss/helpers/_text-truncation.scss","../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../node_modules/bootstrap/scss/helpers/_vr.scss","../node_modules/bootstrap/scss/mixins/_utilities.scss","../node_modules/bootstrap/scss/utilities/_api.scss","common/react-tag-autocomplete.scss","utils/theme/theme.scss","utils/table/ResponsiveTable.scss","utils/StickyCardPaginator.scss"],"sourcesContent":["@charset \"UTF-8\";\n.react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view--down-arrow, .react-datepicker__navigation-icon::before {\n border-color: #ccc;\n border-style: solid;\n border-width: 3px 3px 0 0;\n content: \"\";\n display: block;\n height: 9px;\n position: absolute;\n top: 6px;\n width: 9px;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {\n margin-left: -4px;\n position: absolute;\n width: 0;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {\n box-sizing: content-box;\n position: absolute;\n border: 8px solid transparent;\n height: 0;\n width: 1px;\n content: \"\";\n z-index: -1;\n border-width: 8px;\n left: -8px;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {\n border-bottom-color: #aeaeae;\n}\n\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {\n top: 0;\n margin-top: -8px;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {\n border-top: none;\n border-bottom-color: #f0f0f0;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {\n top: 0;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {\n top: -1px;\n border-bottom-color: #aeaeae;\n}\n\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {\n bottom: 0;\n margin-bottom: -8px;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {\n border-bottom: none;\n border-top-color: #fff;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {\n bottom: 0;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before {\n bottom: -1px;\n border-top-color: #aeaeae;\n}\n\n.react-datepicker-wrapper {\n display: inline-block;\n padding: 0;\n border: 0;\n width: 100%;\n}\n\n.react-datepicker {\n font-family: \"Helvetica Neue\", helvetica, arial, sans-serif;\n font-size: 0.8rem;\n background-color: #fff;\n color: #000;\n border: 1px solid #aeaeae;\n border-radius: 0.3rem;\n display: inline-block;\n position: relative;\n}\n\n.react-datepicker--time-only .react-datepicker__triangle {\n left: 35px;\n}\n.react-datepicker--time-only .react-datepicker__time-container {\n border-left: 0;\n}\n.react-datepicker--time-only .react-datepicker__time,\n.react-datepicker--time-only .react-datepicker__time-box {\n border-bottom-left-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.react-datepicker__triangle {\n position: absolute;\n left: 50px;\n}\n\n.react-datepicker-popper {\n z-index: 1;\n}\n.react-datepicker-popper[data-placement^=bottom] {\n padding-top: 10px;\n}\n.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle, .react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle {\n left: auto;\n right: 50px;\n}\n.react-datepicker-popper[data-placement^=top] {\n padding-bottom: 10px;\n}\n.react-datepicker-popper[data-placement^=right] {\n padding-left: 8px;\n}\n.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle {\n left: auto;\n right: 42px;\n}\n.react-datepicker-popper[data-placement^=left] {\n padding-right: 8px;\n}\n.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle {\n left: 42px;\n right: auto;\n}\n\n.react-datepicker__header {\n text-align: center;\n background-color: #f0f0f0;\n border-bottom: 1px solid #aeaeae;\n border-top-left-radius: 0.3rem;\n padding: 8px 0;\n position: relative;\n}\n.react-datepicker__header--time {\n padding-bottom: 8px;\n padding-left: 5px;\n padding-right: 5px;\n}\n.react-datepicker__header--time:not(.react-datepicker__header--time--only) {\n border-top-left-radius: 0;\n}\n.react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n border-top-right-radius: 0.3rem;\n}\n\n.react-datepicker__year-dropdown-container--select,\n.react-datepicker__month-dropdown-container--select,\n.react-datepicker__month-year-dropdown-container--select,\n.react-datepicker__year-dropdown-container--scroll,\n.react-datepicker__month-dropdown-container--scroll,\n.react-datepicker__month-year-dropdown-container--scroll {\n display: inline-block;\n margin: 0 2px;\n}\n\n.react-datepicker__current-month,\n.react-datepicker-time__header,\n.react-datepicker-year-header {\n margin-top: 0;\n color: #000;\n font-weight: bold;\n font-size: 0.944rem;\n}\n\n.react-datepicker-time__header {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.react-datepicker__navigation {\n align-items: center;\n background: none;\n display: flex;\n justify-content: center;\n text-align: center;\n cursor: pointer;\n position: absolute;\n top: 2px;\n padding: 0;\n border: none;\n z-index: 1;\n height: 32px;\n width: 32px;\n text-indent: -999em;\n overflow: hidden;\n}\n.react-datepicker__navigation--previous {\n left: 2px;\n}\n.react-datepicker__navigation--next {\n right: 2px;\n}\n.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {\n right: 85px;\n}\n.react-datepicker__navigation--years {\n position: relative;\n top: 0;\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.react-datepicker__navigation--years-previous {\n top: 4px;\n}\n.react-datepicker__navigation--years-upcoming {\n top: -4px;\n}\n.react-datepicker__navigation:hover *::before {\n border-color: #a6a6a6;\n}\n\n.react-datepicker__navigation-icon {\n position: relative;\n top: -1px;\n font-size: 20px;\n width: 0;\n}\n.react-datepicker__navigation-icon--next {\n left: -2px;\n}\n.react-datepicker__navigation-icon--next::before {\n transform: rotate(45deg);\n left: -7px;\n}\n.react-datepicker__navigation-icon--previous {\n right: -2px;\n}\n.react-datepicker__navigation-icon--previous::before {\n transform: rotate(225deg);\n right: -7px;\n}\n\n.react-datepicker__month-container {\n float: left;\n}\n\n.react-datepicker__year {\n margin: 0.4rem;\n text-align: center;\n}\n.react-datepicker__year-wrapper {\n display: flex;\n flex-wrap: wrap;\n max-width: 180px;\n}\n.react-datepicker__year .react-datepicker__year-text {\n display: inline-block;\n width: 4rem;\n margin: 2px;\n}\n\n.react-datepicker__month {\n margin: 0.4rem;\n text-align: center;\n}\n.react-datepicker__month .react-datepicker__month-text,\n.react-datepicker__month .react-datepicker__quarter-text {\n display: inline-block;\n width: 4rem;\n margin: 2px;\n}\n\n.react-datepicker__input-time-container {\n clear: both;\n width: 100%;\n float: left;\n margin: 5px 0 10px 15px;\n text-align: left;\n}\n.react-datepicker__input-time-container .react-datepicker-time__caption {\n display: inline-block;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container {\n display: inline-block;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {\n display: inline-block;\n margin-left: 10px;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {\n width: auto;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {\n -moz-appearance: textfield;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {\n margin-left: 5px;\n display: inline-block;\n}\n\n.react-datepicker__time-container {\n float: right;\n border-left: 1px solid #aeaeae;\n width: 85px;\n}\n.react-datepicker__time-container--with-today-button {\n display: inline;\n border: 1px solid #aeaeae;\n border-radius: 0.3rem;\n position: absolute;\n right: -72px;\n top: 0;\n}\n.react-datepicker__time-container .react-datepicker__time {\n position: relative;\n background: white;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {\n width: 85px;\n overflow-x: hidden;\n margin: 0 auto;\n text-align: center;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {\n list-style: none;\n margin: 0;\n height: calc(195px + (1.7rem / 2));\n overflow-y: scroll;\n padding-right: 0;\n padding-left: 0;\n width: 100%;\n box-sizing: content-box;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {\n height: 30px;\n padding: 5px 10px;\n white-space: nowrap;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {\n cursor: pointer;\n background-color: #f0f0f0;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {\n background-color: #216ba5;\n color: white;\n font-weight: bold;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {\n background-color: #216ba5;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {\n color: #ccc;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {\n cursor: default;\n background-color: transparent;\n}\n\n.react-datepicker__week-number {\n color: #ccc;\n display: inline-block;\n width: 1.7rem;\n line-height: 1.7rem;\n text-align: center;\n margin: 0.166rem;\n}\n.react-datepicker__week-number.react-datepicker__week-number--clickable {\n cursor: pointer;\n}\n.react-datepicker__week-number.react-datepicker__week-number--clickable:hover {\n border-radius: 0.3rem;\n background-color: #f0f0f0;\n}\n\n.react-datepicker__day-names,\n.react-datepicker__week {\n white-space: nowrap;\n}\n\n.react-datepicker__day-names {\n margin-bottom: -8px;\n}\n\n.react-datepicker__day-name,\n.react-datepicker__day,\n.react-datepicker__time-name {\n color: #000;\n display: inline-block;\n width: 1.7rem;\n line-height: 1.7rem;\n text-align: center;\n margin: 0.166rem;\n}\n\n.react-datepicker__month--selected, .react-datepicker__month--in-selecting-range, .react-datepicker__month--in-range,\n.react-datepicker__quarter--selected,\n.react-datepicker__quarter--in-selecting-range,\n.react-datepicker__quarter--in-range {\n border-radius: 0.3rem;\n background-color: #216ba5;\n color: #fff;\n}\n.react-datepicker__month--selected:hover, .react-datepicker__month--in-selecting-range:hover, .react-datepicker__month--in-range:hover,\n.react-datepicker__quarter--selected:hover,\n.react-datepicker__quarter--in-selecting-range:hover,\n.react-datepicker__quarter--in-range:hover {\n background-color: #1d5d90;\n}\n.react-datepicker__month--disabled,\n.react-datepicker__quarter--disabled {\n color: #ccc;\n pointer-events: none;\n}\n.react-datepicker__month--disabled:hover,\n.react-datepicker__quarter--disabled:hover {\n cursor: default;\n background-color: transparent;\n}\n\n.react-datepicker__day,\n.react-datepicker__month-text,\n.react-datepicker__quarter-text,\n.react-datepicker__year-text {\n cursor: pointer;\n}\n.react-datepicker__day:hover,\n.react-datepicker__month-text:hover,\n.react-datepicker__quarter-text:hover,\n.react-datepicker__year-text:hover {\n border-radius: 0.3rem;\n background-color: #f0f0f0;\n}\n.react-datepicker__day--today,\n.react-datepicker__month-text--today,\n.react-datepicker__quarter-text--today,\n.react-datepicker__year-text--today {\n font-weight: bold;\n}\n.react-datepicker__day--highlighted,\n.react-datepicker__month-text--highlighted,\n.react-datepicker__quarter-text--highlighted,\n.react-datepicker__year-text--highlighted {\n border-radius: 0.3rem;\n background-color: #3dcc4a;\n color: #fff;\n}\n.react-datepicker__day--highlighted:hover,\n.react-datepicker__month-text--highlighted:hover,\n.react-datepicker__quarter-text--highlighted:hover,\n.react-datepicker__year-text--highlighted:hover {\n background-color: #32be3f;\n}\n.react-datepicker__day--highlighted-custom-1,\n.react-datepicker__month-text--highlighted-custom-1,\n.react-datepicker__quarter-text--highlighted-custom-1,\n.react-datepicker__year-text--highlighted-custom-1 {\n color: magenta;\n}\n.react-datepicker__day--highlighted-custom-2,\n.react-datepicker__month-text--highlighted-custom-2,\n.react-datepicker__quarter-text--highlighted-custom-2,\n.react-datepicker__year-text--highlighted-custom-2 {\n color: green;\n}\n.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range,\n.react-datepicker__month-text--selected,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__month-text--in-range,\n.react-datepicker__quarter-text--selected,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__quarter-text--in-range,\n.react-datepicker__year-text--selected,\n.react-datepicker__year-text--in-selecting-range,\n.react-datepicker__year-text--in-range {\n border-radius: 0.3rem;\n background-color: #216ba5;\n color: #fff;\n}\n.react-datepicker__day--selected:hover, .react-datepicker__day--in-selecting-range:hover, .react-datepicker__day--in-range:hover,\n.react-datepicker__month-text--selected:hover,\n.react-datepicker__month-text--in-selecting-range:hover,\n.react-datepicker__month-text--in-range:hover,\n.react-datepicker__quarter-text--selected:hover,\n.react-datepicker__quarter-text--in-selecting-range:hover,\n.react-datepicker__quarter-text--in-range:hover,\n.react-datepicker__year-text--selected:hover,\n.react-datepicker__year-text--in-selecting-range:hover,\n.react-datepicker__year-text--in-range:hover {\n background-color: #1d5d90;\n}\n.react-datepicker__day--keyboard-selected,\n.react-datepicker__month-text--keyboard-selected,\n.react-datepicker__quarter-text--keyboard-selected,\n.react-datepicker__year-text--keyboard-selected {\n border-radius: 0.3rem;\n background-color: #2579ba;\n color: #fff;\n}\n.react-datepicker__day--keyboard-selected:hover,\n.react-datepicker__month-text--keyboard-selected:hover,\n.react-datepicker__quarter-text--keyboard-selected:hover,\n.react-datepicker__year-text--keyboard-selected:hover {\n background-color: #1d5d90;\n}\n.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,\n.react-datepicker__month-text--in-range,\n.react-datepicker__quarter-text--in-range,\n.react-datepicker__year-text--in-range),\n.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,\n.react-datepicker__month-text--in-range,\n.react-datepicker__quarter-text--in-range,\n.react-datepicker__year-text--in-range),\n.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,\n.react-datepicker__month-text--in-range,\n.react-datepicker__quarter-text--in-range,\n.react-datepicker__year-text--in-range),\n.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,\n.react-datepicker__month-text--in-range,\n.react-datepicker__quarter-text--in-range,\n.react-datepicker__year-text--in-range) {\n background-color: rgba(33, 107, 165, 0.5);\n}\n.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range),\n.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range),\n.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range),\n.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range) {\n background-color: #f0f0f0;\n color: #000;\n}\n.react-datepicker__day--disabled,\n.react-datepicker__month-text--disabled,\n.react-datepicker__quarter-text--disabled,\n.react-datepicker__year-text--disabled {\n cursor: default;\n color: #ccc;\n}\n.react-datepicker__day--disabled:hover,\n.react-datepicker__month-text--disabled:hover,\n.react-datepicker__quarter-text--disabled:hover,\n.react-datepicker__year-text--disabled:hover {\n background-color: transparent;\n}\n\n.react-datepicker__month-text.react-datepicker__month--selected:hover, .react-datepicker__month-text.react-datepicker__month--in-range:hover, .react-datepicker__month-text.react-datepicker__quarter--selected:hover, .react-datepicker__month-text.react-datepicker__quarter--in-range:hover,\n.react-datepicker__quarter-text.react-datepicker__month--selected:hover,\n.react-datepicker__quarter-text.react-datepicker__month--in-range:hover,\n.react-datepicker__quarter-text.react-datepicker__quarter--selected:hover,\n.react-datepicker__quarter-text.react-datepicker__quarter--in-range:hover {\n background-color: #216ba5;\n}\n.react-datepicker__month-text:hover,\n.react-datepicker__quarter-text:hover {\n background-color: #f0f0f0;\n}\n\n.react-datepicker__input-container {\n position: relative;\n display: inline-block;\n width: 100%;\n}\n\n.react-datepicker__year-read-view,\n.react-datepicker__month-read-view,\n.react-datepicker__month-year-read-view {\n border: 1px solid transparent;\n border-radius: 0.3rem;\n position: relative;\n}\n.react-datepicker__year-read-view:hover,\n.react-datepicker__month-read-view:hover,\n.react-datepicker__month-year-read-view:hover {\n cursor: pointer;\n}\n.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {\n border-top-color: #b3b3b3;\n}\n.react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view--down-arrow {\n transform: rotate(135deg);\n right: -16px;\n top: 0;\n}\n\n.react-datepicker__year-dropdown,\n.react-datepicker__month-dropdown,\n.react-datepicker__month-year-dropdown {\n background-color: #f0f0f0;\n position: absolute;\n width: 50%;\n left: 25%;\n top: 30px;\n z-index: 1;\n text-align: center;\n border-radius: 0.3rem;\n border: 1px solid #aeaeae;\n}\n.react-datepicker__year-dropdown:hover,\n.react-datepicker__month-dropdown:hover,\n.react-datepicker__month-year-dropdown:hover {\n cursor: pointer;\n}\n.react-datepicker__year-dropdown--scrollable,\n.react-datepicker__month-dropdown--scrollable,\n.react-datepicker__month-year-dropdown--scrollable {\n height: 150px;\n overflow-y: scroll;\n}\n\n.react-datepicker__year-option,\n.react-datepicker__month-option,\n.react-datepicker__month-year-option {\n line-height: 20px;\n width: 100%;\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.react-datepicker__year-option:first-of-type,\n.react-datepicker__month-option:first-of-type,\n.react-datepicker__month-year-option:first-of-type {\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n.react-datepicker__year-option:last-of-type,\n.react-datepicker__month-option:last-of-type,\n.react-datepicker__month-year-option:last-of-type {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border-bottom-left-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__year-option:hover,\n.react-datepicker__month-option:hover,\n.react-datepicker__month-year-option:hover {\n background-color: #ccc;\n}\n.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,\n.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,\n.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {\n border-bottom-color: #b3b3b3;\n}\n.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,\n.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,\n.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {\n border-top-color: #b3b3b3;\n}\n.react-datepicker__year-option--selected,\n.react-datepicker__month-option--selected,\n.react-datepicker__month-year-option--selected {\n position: absolute;\n left: 15px;\n}\n\n.react-datepicker__close-icon {\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n padding: 0 6px 0 0;\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n display: table-cell;\n vertical-align: middle;\n}\n.react-datepicker__close-icon::after {\n cursor: pointer;\n background-color: #216ba5;\n color: #fff;\n border-radius: 50%;\n height: 16px;\n width: 16px;\n padding: 2px;\n font-size: 12px;\n line-height: 1;\n text-align: center;\n display: table-cell;\n vertical-align: middle;\n content: \"×\";\n}\n\n.react-datepicker__today-button {\n background: #f0f0f0;\n border-top: 1px solid #aeaeae;\n cursor: pointer;\n text-align: center;\n font-weight: bold;\n padding: 5px 0;\n clear: left;\n}\n\n.react-datepicker__portal {\n position: fixed;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.8);\n left: 0;\n top: 0;\n justify-content: center;\n align-items: center;\n display: flex;\n z-index: 2147483647;\n}\n.react-datepicker__portal .react-datepicker__day-name,\n.react-datepicker__portal .react-datepicker__day,\n.react-datepicker__portal .react-datepicker__time-name {\n width: 3rem;\n line-height: 3rem;\n}\n@media (max-width: 400px), (max-height: 550px) {\n .react-datepicker__portal .react-datepicker__day-name,\n.react-datepicker__portal .react-datepicker__day,\n.react-datepicker__portal .react-datepicker__time-name {\n width: 2rem;\n line-height: 2rem;\n }\n}\n.react-datepicker__portal .react-datepicker__current-month,\n.react-datepicker__portal .react-datepicker-time__header {\n font-size: 1.44rem;\n}\n","@import '../utils/base';\n\n.main-header.main-header {\n color: white;\n background-color: var(--brand-color) !important;\n\n .navbar-brand {\n color: inherit !important;\n }\n}\n\n.main-header__brand-logo {\n width: 26px;\n margin-right: 5px;\n}\n\n.main-header__toggle-icon {\n width: 20px;\n transition: transform 300ms;\n}\n\n.main-header__toggle-icon--opened {\n transform: rotate(180deg);\n}\n","@import '../utils/base';\n@import '../utils/mixins/vertical-align';\n@import '../utils/mixins/thin-scroll';\n\n.servers-list__list-group.servers-list__list-group {\n width: 100%;\n}\n\n.servers-list__list-group:not(.servers-list__list-group--embedded) {\n max-width: 400px;\n box-shadow: 0 .125rem .25rem rgb(0 0 0 / .075);\n}\n\n.servers-list__server-item.servers-list__server-item {\n text-align: left;\n position: relative;\n padding: .75rem 2.5rem .75rem 1rem;\n}\n\n.servers-list__server-item:not(:hover) {\n color: $mainColor;\n}\n\n.servers-list__server-item:hover {\n background-color: var(--secondary-color);\n}\n\n.servers-list__server-item-icon {\n @include vertical-align();\n\n right: 1rem;\n}\n\n.servers-list__list-group--embedded.servers-list__list-group--embedded {\n border-radius: 0;\n border-top: 1px solid var(--border-color);\n\n @media (min-width: $mdMin) {\n max-height: 220px;\n overflow-x: auto;\n\n @include thin-scroll();\n }\n\n .servers-list__server-item {\n border: none;\n border-bottom: 1px solid var(--border-color);\n }\n}\n","// Breakpoints\n$xsMax: 575px;\n$smMin: 576px;\n$smMax: 767px;\n$mdMin: 768px;\n$mdMax: 991px;\n$lgMin: 992px;\n$lgMax: 1199px;\n$xlgMin: 1200px;\n$responsiveTableBreakpoint: $mdMax;\n\n// Colors\n$mainColor: #4696e5;\n$lightColor: #f5f6fe;\n$lightGrey: #eeeeee;\n$dangerColor: #dc3545;\n$mediumGrey: #dee2e6;\n$textPlaceholder: #6c757d;\n\n// Misc\n$headerHeight: 56px;\n$asideMenuWidth: 260px;\n$footer-height: 2.3rem;\n$footer-margin: .8rem;\n\n// Bootstrap overwrites\n$primary: $mainColor;\n","@mixin vertical-align($extraTransforms: null) {\n position: absolute;\n top: 50%;\n transform: translateY(-50%) $extraTransforms;\n}\n","@mixin thin-scroll() {\n /* Forefox scrollbar */\n scrollbar-color: rgba(0, 0, 0, .2) #f5f5f5;\n scrollbar-width: thin;\n\n /* Chrome webkit scrollbar */\n &::-webkit-scrollbar {\n width: 6px;\n background-color: #f5f5f5;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, .2);\n border-radius: .5rem;\n }\n}\n","@import '../utils/base';\n@import '../utils/mixins/vertical-align';\n\n$mainCardWidth: 720px;\n$fiveColumnsSize: .4167; // 12 / 5 -> Can't use \"/\" operator in latest dart-sass\n\n.home {\n position: relative;\n padding-top: 15px;\n width: 100%;\n\n @media (min-width: $mdMin) {\n padding-top: 0;\n height: calc(100vh - #{$headerHeight} - #{($footer-height + $footer-margin)});\n }\n}\n\n.home__logo-wrapper {\n padding: 1.5rem !important;\n height: 100% !important;\n min-height: 300px;\n}\n\n.home__logo {\n @include vertical-align();\n\n width: calc(#{$mainCardWidth * $fiveColumnsSize} - 3rem);\n}\n\n.home__main-card {\n margin: 0 auto;\n max-width: $mainCardWidth;\n\n @media (min-width: $mdMin) {\n @include vertical-align();\n }\n}\n\n.home__title-wrapper {\n padding: 1.5rem !important;\n border-bottom: 1px solid var(--border-color);\n}\n\n.home__title {\n text-align: center;\n font-size: 1.75rem;\n margin: 0;\n\n @media (min-width: $mdMin) {\n font-size: 2.2rem;\n }\n}\n\n.home__servers-container {\n @media (min-width: $mdMin) {\n border-left: 1px solid var(--border-color);\n }\n}\n","@import '../utils/base';\n\n.no-menu-wrapper {\n padding: 15px 0 0;\n\n @media (min-width: $mdMin) {\n padding: 30px 20px 20px;\n }\n}\n","@import '../utils/base';\n\n.menu-layout__swipeable {\n height: 100%;\n}\n\n.menu-layout__swipeable-inner {\n height: 100%;\n}\n\n.menu-layout__burger-icon {\n display: none;\n transition: color 300ms;\n position: fixed;\n top: 18px;\n z-index: 1035;\n font-size: 1.5rem;\n cursor: pointer;\n color: rgb(255 255 255 / .5);\n\n @media (max-width: $smMax) {\n display: inline-block;\n }\n}\n\n.menu-layout__burger-icon--active {\n color: white;\n}\n\n.menu-layout__container.menu-layout__container {\n padding: 20px 0 0;\n min-height: 100%;\n\n @media (min-width: $mdMin) {\n padding: 30px 0 0 $asideMenuWidth;\n }\n}\n","@import '../utils/base';\n@import '../utils/mixins/vertical-align';\n\n.aside-menu {\n width: $asideMenuWidth;\n background-color: var(--primary-color);\n box-shadow: rgb(0 0 0 / .05) 0 8px 15px;\n position: fixed !important;\n padding-top: 13px;\n padding-bottom: 10px;\n top: $headerHeight;\n bottom: 0;\n left: 0;\n display: block;\n z-index: 1010;\n overflow-x: hidden;\n overflow-y: auto;\n\n @media (min-width: $mdMin) {\n padding: 30px 15px 15px;\n }\n\n @media (max-width: $smMax) {\n transition: left 300ms;\n top: $headerHeight - 3px;\n box-shadow: -10px 0 50px 11px rgb(0 0 0 / .55);\n }\n}\n\n.aside-menu--hidden {\n @media (max-width: $smMax) {\n left: -($asideMenuWidth + 35px);\n }\n}\n\n.aside-menu__nav {\n height: 100%;\n}\n\n.aside-menu__item {\n padding: 10px 20px;\n margin: 0 -15px;\n text-decoration: none !important;\n cursor: pointer;\n\n @media (max-width: $smMax) {\n margin: 0;\n }\n}\n\n.aside-menu__item:hover {\n background-color: var(--secondary-color);\n}\n\n.aside-menu__item--selected,\n.aside-menu__item--selected:hover {\n color: #ffffff;\n background-color: var(--brand-color);\n}\n\n.aside-menu__item--divider {\n border-bottom: 1px solid #eeeeee;\n margin: 20px 0;\n}\n\n.aside-menu__item--danger {\n color: $dangerColor;\n}\n\n.aside-menu__item--push {\n margin-top: auto;\n}\n\n.aside-menu__item--danger:hover {\n color: #ffffff;\n background-color: $dangerColor;\n}\n\n.aside-menu__item-text {\n margin-left: 8px;\n}\n","@import '../utils/base';\n\n.shlink-versions-container--with-sidebar {\n margin-left: 0;\n\n @media (min-width: $mdMin) {\n margin-left: $asideMenuWidth;\n }\n}\n","@import '../utils/mixins/vertical-align';\n\n.search-field {\n position: relative;\n\n &:focus-within {\n z-index: 1;\n }\n}\n\n.search-field__input.search-field__input {\n padding-left: 40px;\n padding-right: 40px;\n}\n\n.search-field__input--no-border.search-field__input--no-border {\n border: none;\n border-radius: 0;\n}\n\n.search-field__icon {\n @include vertical-align();\n\n left: 15px;\n color: #6c757d;\n}\n\n.search-field__close {\n @include vertical-align();\n\n right: 10px;\n cursor: pointer;\n}\n","/* stylelint-disable no-descending-specificity */\n\n@import '../utils/mixins/vertical-align';\n\n.dropdown-btn__toggle.dropdown-btn__toggle,\n.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled).active,\n.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):active,\n.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):focus,\n.dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):hover,\n.show > .dropdown-btn__toggle.dropdown-btn__toggle.dropdown-toggle {\n text-align: left;\n color: var(--input-text-color);\n background-color: var(--primary-color);\n border-color: var(--input-border-color);\n}\n\n.card .dropdown-btn__toggle.dropdown-btn__toggle,\n.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled).active,\n.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):active,\n.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):focus,\n.card .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):hover,\n.show > .card .dropdown-btn__toggle.dropdown-btn__toggle.dropdown-toggle {\n background-color: var(--input-color);\n}\n\n.dropdown-btn__toggle.dropdown-btn__toggle.disabled,\n.dropdown-btn__toggle.dropdown-btn__toggle:disabled {\n background-color: var(--input-disabled-color);\n}\n\n.dropdown-btn__toggle.dropdown-btn__toggle:after {\n @include vertical-align();\n\n right: .75rem;\n}\n","@import '../mixins/vertical-align';\n@import '../base';\n\n.date-input-container {\n position: relative;\n}\n\n.date-input-container__input {\n padding-right: 35px !important;\n}\n\n.date-input-container__input:not(:disabled) {\n background-color: var(--primary-color) !important;\n}\n\n.card .date-input-container__input:not(:disabled),\n.dropdown .date-input-container__input:not(:disabled) {\n background-color: var(--input-color) !important;\n}\n\n.date-input-container__icon {\n @include vertical-align();\n\n right: .75rem;\n cursor: pointer;\n}\n\n.react-datepicker__close-icon.react-datepicker__close-icon {\n @include vertical-align();\n\n right: 0;\n}\n\n.react-datepicker__close-icon.react-datepicker__close-icon:after {\n right: .75rem;\n line-height: 11px;\n background-color: #333333;\n font-size: 14px;\n}\n\n.react-datepicker__input-container,\n.react-datepicker-wrapper {\n display: block !important;\n}\n\n.react-datepicker__day--keyboard-selected {\n background-color: $mainColor;\n\n &:hover {\n background-color: darken($mainColor, 12%);\n }\n}\n\n.react-datepicker__time.react-datepicker__time,\n.react-datepicker.react-datepicker {\n background-color: var(--primary-color) !important;\n color: var(--text-color);\n border-color: var(--border-color);\n}\n\n.react-datepicker__header.react-datepicker__header {\n background-color: var(--secondary-color);\n border-color: var(--border-color);\n}\n\n.react-datepicker__current-month.react-datepicker__current-month,\n.react-datepicker-time__header.react-datepicker-time__header,\n.react-datepicker-year-header.react-datepicker-year-header,\n.react-datepicker__day-name.react-datepicker__day-name,\n.react-datepicker__day.react-datepicker__day:not(:hover):not(.react-datepicker__day--selected),\n.react-datepicker__time-name.react-datepicker__time-name {\n color: inherit;\n}\n\n.react-datepicker__day--disabled.react-datepicker__day--disabled {\n cursor: default;\n color: var(--border-color) !important;\n}\n\n.react-datepicker__day--keyboard-selected.react-datepicker__day--keyboard-selected,\n.react-datepicker__month-text--keyboard-selected.react-datepicker__month-text--keyboard-selected,\n.react-datepicker__quarter-text--keyboard-selected.react-datepicker__quarter-text--keyboard-selected,\n.react-datepicker__year-text--keyboard-selected.react-datepicker__year-text--keyboard-selected {\n background-color: var(--brand-color) !important;\n color: white !important;\n}\n\n.react-datepicker__time-list-item.react-datepicker__time-list-item:hover {\n color: #232323;\n}\n\n.react-datepicker__time-container.react-datepicker__time-container {\n border-color: var(--border-color);\n}\n\n.react-datepicker__time-list.react-datepicker__time-list {\n /* Forefox scrollbar */\n scrollbar-color: rgba(0, 0, 0, 0.5) var(--secondary-color);\n scrollbar-width: thin;\n\n /* Chrome webkit scrollbar */\n &::-webkit-scrollbar {\n width: 10px;\n background-color: var(--secondary-color);\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: 0.5rem;\n }\n}\n\n.react-datepicker-popper.react-datepicker-popper {\n z-index: 2;\n\n &[data-placement^='top'] .react-datepicker__triangle.react-datepicker__triangle {\n &::after {\n border-top-color: var(--primary-color);\n }\n\n &::before {\n border-top-color: var(--border-color);\n }\n }\n\n &[data-placement^='bottom'] .react-datepicker__triangle.react-datepicker__triangle {\n &::after {\n border-bottom-color: var(--secondary-color);\n }\n\n &::before {\n border-bottom-color: var(--border-color);\n }\n }\n}\n",".ordering-dropdown__menu--link.ordering-dropdown__menu--link {\n min-width: 11rem;\n}\n\n.ordering-dropdown__sort-icon {\n margin: 3.5px 0 0;\n float: right;\n}\n",".short-urls-filtering-bar__tags-icon {\n vertical-align: bottom;\n font-size: 1.6rem;\n}\n",".tag {\n color: #fff;\n}\n\n.tag--light-bg {\n color: #222 !important;\n}\n\n.tag:not(:last-child) {\n margin-right: 3px;\n}\n\n.tag__close-selected-tag.tag__close-selected-tag {\n font-size: inherit;\n color: inherit;\n opacity: 1;\n cursor: pointer;\n margin-left: 5px;\n}\n\n.tag__close-selected-tag.tag__close-selected-tag:hover {\n color: inherit !important;\n opacity: 1 !important;\n}\n",".copy-to-clipboard-icon {\n cursor: pointer;\n font-size: 1.2rem;\n}\n",".short-urls-visits-count__max-visits-control {\n cursor: help;\n}\n\n.short-url-visits-count__amount {\n transition: transform .3s ease;\n display: inline-block;\n}\n\n.short-url-visits-count__amount--big {\n transform: scale(1.5);\n}\n","@import '../../utils/base';\n@import '../../utils/mixins/text-ellipsis';\n@import '../../utils/mixins/vertical-align';\n\n.short-urls-row__cell.short-urls-row__cell {\n vertical-align: middle !important;\n}\n\n.short-urls-row__cell--break {\n word-break: break-all;\n}\n\n.short-urls-row__cell--relative {\n position: relative;\n}\n\n.short-urls-row__cell--indivisible {\n @media (min-width: $lgMin) {\n white-space: nowrap;\n }\n}\n\n.short-urls-row__short-url-wrapper {\n @media (max-width: $mdMax) {\n word-break: break-all;\n }\n\n @media (min-width: $lgMin) {\n @include text-ellipsis();\n\n vertical-align: bottom;\n display: inline-block;\n max-width: 18rem;\n }\n}\n\n.short-urls-row__copy-hint {\n @include vertical-align(translateX(10px));\n\n box-shadow: 0 3px 15px rgba(0, 0, 0, .25);\n\n @media (max-width: $responsiveTableBreakpoint) {\n @include vertical-align(translateX(calc(-100% - 20px)));\n }\n}\n","@mixin text-ellipsis() {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n",".dropdown-btn-menu__dropdown-toggle:after {\n display: none !important;\n}\n",".create-short-url-result__copy-btn {\n margin-left: 10px;\n vertical-align: inherit;\n}\n",".short-urls-table__header-cell--with-action {\n cursor: pointer;\n}\n",".use-existing-if-found-info-icon__modal-quote {\n margin-bottom: 0;\n padding: 10px 15px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n background-color: #f9f9f9;\n}\n","@import '../utils/base';\n\n.short-url-form p:last-child {\n margin-bottom: 0;\n}\n\n.short-url-form .card {\n height: 100%;\n}\n",".qr-code-modal__img {\n max-width: 100%;\n box-shadow: 0 0 .25rem rgb(0 0 0 / .2);\n}\n",".import-servers-btn__csv-select {\n position: absolute;\n left: -9999px;\n top: -9999px;\n}\n","@import '../../utils/base';\n\n.server-error__container {\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.server-error__delete-btn {\n color: $dangerColor;\n cursor: pointer;\n}\n\n.server-error__delete-btn:hover {\n text-decoration: underline;\n}\n","@import '../../utils/base';\n\n.highlight-card.highlight-card {\n text-align: center;\n border-top: 3px solid var(--brand-color);\n color: inherit;\n text-decoration: none;\n}\n\n.highlight-card__link-icon {\n position: absolute;\n right: 5px;\n bottom: 5px;\n opacity: 0.1;\n transform: rotate(-45deg);\n}\n\n.highlight-card__title {\n text-transform: uppercase;\n color: $textPlaceholder;\n}\n","@import '../../utils/base';\n@import '../../utils/mixins/fit-with-margin';\n\n.map-modal__modal.map-modal__modal {\n @media (min-width: $mdMin) {\n $margin: 20px;\n\n @include fit-with-margin($margin);\n }\n\n @media (max-width: $smMax) {\n $margin: 10px;\n\n @include fit-with-margin($margin);\n }\n}\n\n.map-modal__modal-content.map-modal__modal-content {\n height: 100%;\n}\n\n.map-modal__modal-title.map-modal__modal-title {\n position: absolute;\n width: 100%;\n z-index: 1001;\n padding: .5rem 1rem 1rem;\n margin: 0;\n color: #fff;\n background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));\n}\n\n.map-modal__modal-body.map-modal__modal-body {\n padding: 0;\n display: flex;\n overflow: hidden;\n}\n\n.map-modal__modal.map-modal__modal .leaflet-container.leaflet-container {\n flex: 1 1 auto;\n border-radius: .3rem;\n}\n\n.map-modal__modal.map-modal__modal .leaflet-top.leaflet-top .leaflet-control.leaflet-control {\n margin-top: 60px;\n}\n","@mixin fit-with-margin($margin) {\n $offset: $margin * 2;\n\n width: calc(100% - #{$offset});\n max-width: calc(100% - #{$offset});\n height: calc(100% - #{$offset});\n margin: $margin;\n}\n",".short-url-visits-header__created-at {\n cursor: default;\n}\n","@import './base';\n\n.nav-pills__nav {\n position: sticky !important;\n top: $headerHeight - 1px;\n z-index: 2;\n}\n\n.nav-pills__nav-link.nav-pills__nav-link {\n border-radius: 0 !important;\n padding-bottom: calc(.5rem - 3px) !important;\n border-bottom: 3px solid transparent !important;\n color: #5d6778;\n font-weight: 700;\n cursor: pointer;\n text-decoration: none;\n\n @media (min-width: $smMin) and (max-width: $mdMax) {\n font-size: 89%;\n }\n}\n\n.nav-pills__nav-link:hover {\n color: $mainColor !important;\n}\n\n.nav-pills__nav-link.active {\n border-color: $mainColor !important;\n background-color: var(--primary-color) !important;\n color: $mainColor !important;\n}\n","@import '../../utils/base';\n\n.line-chart-card__body canvas {\n height: 300px !important;\n\n @media (min-width: $mdMin) {\n height: 400px !important;\n }\n}\n",".simple-paginator {\n user-select: none;\n}\n","@import '../utils/base';\n@import '../utils/mixins/sticky-cell';\n\n.visits-table {\n margin: 1.5rem 0 0;\n position: relative;\n background-color: var(--primary-color);\n overflow-y: hidden;\n}\n\n.visits-table__header-cell {\n cursor: pointer;\n margin-bottom: 55px;\n\n @include sticky-cell();\n\n @media (min-width: $mdMin) {\n &.visits-table__sticky {\n top: $headerHeight + 40px;\n }\n }\n}\n\n.visits-table__header-icon {\n float: right;\n margin-top: 3px;\n}\n\n.visits-table__footer-cell.visits-table__footer-cell {\n bottom: 0;\n margin-top: 34px;\n padding: .5rem;\n\n @include sticky-cell();\n}\n\n.visits-table__sticky.visits-table__sticky {\n position: sticky;\n}\n","@import '../base';\n\n@mixin sticky-cell($with-separators: true) {\n z-index: 1;\n position: relative;\n\n &:before {\n content: '';\n position: absolute;\n top: -1px;\n left: 0;\n bottom: -1px;\n right: if($with-separators, -1px, 0);\n background: var(--table-border-color);\n z-index: -2;\n }\n\n &:first-child:before {\n left: if($with-separators, -1px, 0);\n }\n\n &:after {\n content: '';\n position: absolute;\n top: 0;\n left: if($with-separators, 1px, 0);\n bottom: 0;\n right: 0;\n background: var(--primary-color);\n z-index: -1;\n }\n\n &:first-child:after {\n left: 0;\n }\n}\n",".open-map-modal-btn__btn.open-map-modal-btn__btn {\n padding: 0;\n margin-right: 1rem;\n}\n","@import '../../utils/base';\n\n.doughnut-chart-legend {\n list-style-type: none;\n padding: 0;\n margin: 0;\n\n @media (max-width: $smMax) {\n margin-top: 1rem;\n }\n}\n\n.doughnut-chart-legend__item:not(:first-child) {\n margin-top: .3rem;\n}\n\n.doughnut-chart-legend__item-color {\n width: 20px;\n min-width: 20px;\n height: 20px;\n margin-right: 5px;\n border-radius: 10px;\n}\n\n.doughnut-chart-legend__item-text {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n",".chart-card__footer--sticky {\n position: sticky;\n bottom: 0;\n}\n",".tag-bullet {\n $width: 20px;\n\n border-radius: 50%;\n width: $width;\n height: $width;\n display: inline-block;\n vertical-align: -4px;\n margin-right: 7px;\n}\n","@import '../utils/base';\n\n.tag-card.tag-card {\n margin-bottom: .5rem;\n}\n\n.tag-card__header.tag-card__header,\n.tag-card__body.tag-card__body {\n padding: .75rem;\n}\n\n.tag-card__tag-title {\n margin: 0;\n line-height: 31px;\n padding-right: 5px;\n}\n\n.tag-card__btn {\n float: right;\n}\n\n.tag-card__btn--last {\n margin-left: 3px;\n}\n\n.tag-card__table-cell.tag-card__table-cell {\n border: none;\n}\n\n.tag-card__tag-name {\n color: $mainColor;\n cursor: pointer;\n}\n\n.tag-card__tag-name:hover {\n color: darken($mainColor, 15%);\n text-decoration: underline;\n}\n",".edit-tag-modal__color-picker-toggle {\n cursor: pointer;\n}\n\n.edit-tag-modal__color-icon {\n color: #fff;\n}\n\n.edit-tag-modal__popover.edit-tag-modal__popover {\n border-radius: .6rem;\n}\n","@import '../utils/base';\n@import '../utils/mixins/sticky-cell';\n\n.tags-table__header-cell.tags-table__header-cell {\n @include sticky-cell(false);\n\n top: $headerHeight;\n position: sticky;\n cursor: pointer;\n}\n",".user-interface__theme-icon {\n float: right;\n margin-top: .25rem;\n}\n","@import '../utils/base';\n@import '../utils/mixins/vertical-align';\n\n.domains-dropdown__toggle-btn.domains-dropdown__toggle-btn,\n.domains-dropdown__toggle-btn.domains-dropdown__toggle-btn:hover,\n.domains-dropdown__toggle-btn.domains-dropdown__toggle-btn:active {\n color: $textPlaceholder !important;\n}\n\n.domains-dropdown__toggle-btn--active.domains-dropdown__toggle-btn--active,\n.domains-dropdown__toggle-btn--active.domains-dropdown__toggle-btn--active:hover,\n.domains-dropdown__toggle-btn--active.domains-dropdown__toggle-btn--active:active {\n color: var(--input-text-color) !important;\n}\n\n.domains-dropdown__back-btn.domains-dropdown__back-btn,\n.domains-dropdown__back-btn.domains-dropdown__back-btn:hover {\n border-color: var(--border-color);\n}\n","@import '../utils/base';\n@import '../utils/mixins/horizontal-align';\n\n.app-update-banner.app-update-banner {\n @include horizontal-align();\n\n position: fixed;\n top: $headerHeight - 25px;\n padding: 0 4rem 0 0;\n z-index: 1040;\n margin: 0;\n color: var(--text-color);\n text-align: center;\n width: 700px;\n max-width: calc(100% - 30px);\n box-shadow: 0 0 1rem var(--brand-color);\n}\n","@mixin horizontal-align {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n}\n","@import '../utils/base';\n\n.app-container {\n height: 100%;\n}\n\n.app {\n padding-top: $headerHeight;\n height: 100%;\n}\n\n.shlink-wrapper {\n min-height: 100%;\n padding-bottom: $footer-height + $footer-margin;\n margin-bottom: -($footer-height + $footer-margin);\n}\n\n.shlink-footer {\n height: $footer-height;\n margin-top: $footer-margin;\n padding: 0;\n\n @media (min-width: $mdMin) {\n padding: 0 15px;\n }\n}\n","/* required styles */\r\n\r\n.leaflet-pane,\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-tile-container,\r\n.leaflet-pane > svg,\r\n.leaflet-pane > canvas,\r\n.leaflet-zoom-box,\r\n.leaflet-image-layer,\r\n.leaflet-layer {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\t}\r\n.leaflet-container {\r\n\toverflow: hidden;\r\n\t}\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow {\r\n\t-webkit-user-select: none;\r\n\t -moz-user-select: none;\r\n\t user-select: none;\r\n\t -webkit-user-drag: none;\r\n\t}\r\n/* Prevents IE11 from highlighting tiles in blue */\r\n.leaflet-tile::selection {\r\n\tbackground: transparent;\r\n}\r\n/* Safari renders non-retina tile on retina better with this, but Chrome is worse */\r\n.leaflet-safari .leaflet-tile {\r\n\timage-rendering: -webkit-optimize-contrast;\r\n\t}\r\n/* hack that prevents hw layers \"stretching\" when loading new tiles */\r\n.leaflet-safari .leaflet-tile-container {\r\n\twidth: 1600px;\r\n\theight: 1600px;\r\n\t-webkit-transform-origin: 0 0;\r\n\t}\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow {\r\n\tdisplay: block;\r\n\t}\r\n/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */\r\n/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */\r\n.leaflet-container .leaflet-overlay-pane svg {\r\n\tmax-width: none !important;\r\n\tmax-height: none !important;\r\n\t}\r\n.leaflet-container .leaflet-marker-pane img,\r\n.leaflet-container .leaflet-shadow-pane img,\r\n.leaflet-container .leaflet-tile-pane img,\r\n.leaflet-container img.leaflet-image-layer,\r\n.leaflet-container .leaflet-tile {\r\n\tmax-width: none !important;\r\n\tmax-height: none !important;\r\n\twidth: auto;\r\n\tpadding: 0;\r\n\t}\r\n\r\n.leaflet-container.leaflet-touch-zoom {\r\n\t-ms-touch-action: pan-x pan-y;\r\n\ttouch-action: pan-x pan-y;\r\n\t}\r\n.leaflet-container.leaflet-touch-drag {\r\n\t-ms-touch-action: pinch-zoom;\r\n\t/* Fallback for FF which doesn't support pinch-zoom */\r\n\ttouch-action: none;\r\n\ttouch-action: pinch-zoom;\r\n}\r\n.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {\r\n\t-ms-touch-action: none;\r\n\ttouch-action: none;\r\n}\r\n.leaflet-container {\r\n\t-webkit-tap-highlight-color: transparent;\r\n}\r\n.leaflet-container a {\r\n\t-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);\r\n}\r\n.leaflet-tile {\r\n\tfilter: inherit;\r\n\tvisibility: hidden;\r\n\t}\r\n.leaflet-tile-loaded {\r\n\tvisibility: inherit;\r\n\t}\r\n.leaflet-zoom-box {\r\n\twidth: 0;\r\n\theight: 0;\r\n\t-moz-box-sizing: border-box;\r\n\t box-sizing: border-box;\r\n\tz-index: 800;\r\n\t}\r\n/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */\r\n.leaflet-overlay-pane svg {\r\n\t-moz-user-select: none;\r\n\t}\r\n\r\n.leaflet-pane { z-index: 400; }\r\n\r\n.leaflet-tile-pane { z-index: 200; }\r\n.leaflet-overlay-pane { z-index: 400; }\r\n.leaflet-shadow-pane { z-index: 500; }\r\n.leaflet-marker-pane { z-index: 600; }\r\n.leaflet-tooltip-pane { z-index: 650; }\r\n.leaflet-popup-pane { z-index: 700; }\r\n\r\n.leaflet-map-pane canvas { z-index: 100; }\r\n.leaflet-map-pane svg { z-index: 200; }\r\n\r\n.leaflet-vml-shape {\r\n\twidth: 1px;\r\n\theight: 1px;\r\n\t}\r\n.lvml {\r\n\tbehavior: url(#default#VML);\r\n\tdisplay: inline-block;\r\n\tposition: absolute;\r\n\t}\r\n\r\n\r\n/* control positioning */\r\n\r\n.leaflet-control {\r\n\tposition: relative;\r\n\tz-index: 800;\r\n\tpointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\r\n\tpointer-events: auto;\r\n\t}\r\n.leaflet-top,\r\n.leaflet-bottom {\r\n\tposition: absolute;\r\n\tz-index: 1000;\r\n\tpointer-events: none;\r\n\t}\r\n.leaflet-top {\r\n\ttop: 0;\r\n\t}\r\n.leaflet-right {\r\n\tright: 0;\r\n\t}\r\n.leaflet-bottom {\r\n\tbottom: 0;\r\n\t}\r\n.leaflet-left {\r\n\tleft: 0;\r\n\t}\r\n.leaflet-control {\r\n\tfloat: left;\r\n\tclear: both;\r\n\t}\r\n.leaflet-right .leaflet-control {\r\n\tfloat: right;\r\n\t}\r\n.leaflet-top .leaflet-control {\r\n\tmargin-top: 10px;\r\n\t}\r\n.leaflet-bottom .leaflet-control {\r\n\tmargin-bottom: 10px;\r\n\t}\r\n.leaflet-left .leaflet-control {\r\n\tmargin-left: 10px;\r\n\t}\r\n.leaflet-right .leaflet-control {\r\n\tmargin-right: 10px;\r\n\t}\r\n\r\n\r\n/* zoom and fade animations */\r\n\r\n.leaflet-fade-anim .leaflet-popup {\r\n\topacity: 0;\r\n\t-webkit-transition: opacity 0.2s linear;\r\n\t -moz-transition: opacity 0.2s linear;\r\n\t transition: opacity 0.2s linear;\r\n\t}\r\n.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {\r\n\topacity: 1;\r\n\t}\r\n.leaflet-zoom-animated {\r\n\t-webkit-transform-origin: 0 0;\r\n\t -ms-transform-origin: 0 0;\r\n\t transform-origin: 0 0;\r\n\t}\r\nsvg.leaflet-zoom-animated {\r\n\twill-change: transform;\r\n}\r\n\r\n.leaflet-zoom-anim .leaflet-zoom-animated {\r\n\t-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);\r\n\t -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);\r\n\t transition: transform 0.25s cubic-bezier(0,0,0.25,1);\r\n\t}\r\n.leaflet-zoom-anim .leaflet-tile,\r\n.leaflet-pan-anim .leaflet-tile {\r\n\t-webkit-transition: none;\r\n\t -moz-transition: none;\r\n\t transition: none;\r\n\t}\r\n\r\n.leaflet-zoom-anim .leaflet-zoom-hide {\r\n\tvisibility: hidden;\r\n\t}\r\n\r\n\r\n/* cursors */\r\n\r\n.leaflet-interactive {\r\n\tcursor: pointer;\r\n\t}\r\n.leaflet-grab {\r\n\tcursor: -webkit-grab;\r\n\tcursor: -moz-grab;\r\n\tcursor: grab;\r\n\t}\r\n.leaflet-crosshair,\r\n.leaflet-crosshair .leaflet-interactive {\r\n\tcursor: crosshair;\r\n\t}\r\n.leaflet-popup-pane,\r\n.leaflet-control {\r\n\tcursor: auto;\r\n\t}\r\n.leaflet-dragging .leaflet-grab,\r\n.leaflet-dragging .leaflet-grab .leaflet-interactive,\r\n.leaflet-dragging .leaflet-marker-draggable {\r\n\tcursor: move;\r\n\tcursor: -webkit-grabbing;\r\n\tcursor: -moz-grabbing;\r\n\tcursor: grabbing;\r\n\t}\r\n\r\n/* marker & overlays interactivity */\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-image-layer,\r\n.leaflet-pane > svg path,\r\n.leaflet-tile-container {\r\n\tpointer-events: none;\r\n\t}\r\n\r\n.leaflet-marker-icon.leaflet-interactive,\r\n.leaflet-image-layer.leaflet-interactive,\r\n.leaflet-pane > svg path.leaflet-interactive,\r\nsvg.leaflet-image-layer.leaflet-interactive path {\r\n\tpointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\r\n\tpointer-events: auto;\r\n\t}\r\n\r\n/* visual tweaks */\r\n\r\n.leaflet-container {\r\n\tbackground: #ddd;\r\n\toutline-offset: 1px;\r\n\t}\r\n.leaflet-container a {\r\n\tcolor: #0078A8;\r\n\t}\r\n.leaflet-zoom-box {\r\n\tborder: 2px dotted #38f;\r\n\tbackground: rgba(255,255,255,0.5);\r\n\t}\r\n\r\n\r\n/* general typography */\r\n.leaflet-container {\r\n\tfont-family: \"Helvetica Neue\", Arial, Helvetica, sans-serif;\r\n\tfont-size: 12px;\r\n\tfont-size: 0.75rem;\r\n\tline-height: 1.5;\r\n\t}\r\n\r\n\r\n/* general toolbar styles */\r\n\r\n.leaflet-bar {\r\n\tbox-shadow: 0 1px 5px rgba(0,0,0,0.65);\r\n\tborder-radius: 4px;\r\n\t}\r\n.leaflet-bar a {\r\n\tbackground-color: #fff;\r\n\tborder-bottom: 1px solid #ccc;\r\n\twidth: 26px;\r\n\theight: 26px;\r\n\tline-height: 26px;\r\n\tdisplay: block;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcolor: black;\r\n\t}\r\n.leaflet-bar a,\r\n.leaflet-control-layers-toggle {\r\n\tbackground-position: 50% 50%;\r\n\tbackground-repeat: no-repeat;\r\n\tdisplay: block;\r\n\t}\r\n.leaflet-bar a:hover,\r\n.leaflet-bar a:focus {\r\n\tbackground-color: #f4f4f4;\r\n\t}\r\n.leaflet-bar a:first-child {\r\n\tborder-top-left-radius: 4px;\r\n\tborder-top-right-radius: 4px;\r\n\t}\r\n.leaflet-bar a:last-child {\r\n\tborder-bottom-left-radius: 4px;\r\n\tborder-bottom-right-radius: 4px;\r\n\tborder-bottom: none;\r\n\t}\r\n.leaflet-bar a.leaflet-disabled {\r\n\tcursor: default;\r\n\tbackground-color: #f4f4f4;\r\n\tcolor: #bbb;\r\n\t}\r\n\r\n.leaflet-touch .leaflet-bar a {\r\n\twidth: 30px;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\t}\r\n.leaflet-touch .leaflet-bar a:first-child {\r\n\tborder-top-left-radius: 2px;\r\n\tborder-top-right-radius: 2px;\r\n\t}\r\n.leaflet-touch .leaflet-bar a:last-child {\r\n\tborder-bottom-left-radius: 2px;\r\n\tborder-bottom-right-radius: 2px;\r\n\t}\r\n\r\n/* zoom control */\r\n\r\n.leaflet-control-zoom-in,\r\n.leaflet-control-zoom-out {\r\n\tfont: bold 18px 'Lucida Console', Monaco, monospace;\r\n\ttext-indent: 1px;\r\n\t}\r\n\r\n.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {\r\n\tfont-size: 22px;\r\n\t}\r\n\r\n\r\n/* layers control */\r\n\r\n.leaflet-control-layers {\r\n\tbox-shadow: 0 1px 5px rgba(0,0,0,0.4);\r\n\tbackground: #fff;\r\n\tborder-radius: 5px;\r\n\t}\r\n.leaflet-control-layers-toggle {\r\n\tbackground-image: url(images/layers.png);\r\n\twidth: 36px;\r\n\theight: 36px;\r\n\t}\r\n.leaflet-retina .leaflet-control-layers-toggle {\r\n\tbackground-image: url(images/layers-2x.png);\r\n\tbackground-size: 26px 26px;\r\n\t}\r\n.leaflet-touch .leaflet-control-layers-toggle {\r\n\twidth: 44px;\r\n\theight: 44px;\r\n\t}\r\n.leaflet-control-layers .leaflet-control-layers-list,\r\n.leaflet-control-layers-expanded .leaflet-control-layers-toggle {\r\n\tdisplay: none;\r\n\t}\r\n.leaflet-control-layers-expanded .leaflet-control-layers-list {\r\n\tdisplay: block;\r\n\tposition: relative;\r\n\t}\r\n.leaflet-control-layers-expanded {\r\n\tpadding: 6px 10px 6px 6px;\r\n\tcolor: #333;\r\n\tbackground: #fff;\r\n\t}\r\n.leaflet-control-layers-scrollbar {\r\n\toverflow-y: scroll;\r\n\toverflow-x: hidden;\r\n\tpadding-right: 5px;\r\n\t}\r\n.leaflet-control-layers-selector {\r\n\tmargin-top: 2px;\r\n\tposition: relative;\r\n\ttop: 1px;\r\n\t}\r\n.leaflet-control-layers label {\r\n\tdisplay: block;\r\n\tfont-size: 13px;\r\n\tfont-size: 1.08333em;\r\n\t}\r\n.leaflet-control-layers-separator {\r\n\theight: 0;\r\n\tborder-top: 1px solid #ddd;\r\n\tmargin: 5px -10px 5px -6px;\r\n\t}\r\n\r\n/* Default icon URLs */\r\n.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */\r\n\tbackground-image: url(images/marker-icon.png);\r\n\t}\r\n\r\n\r\n/* attribution and scale controls */\r\n\r\n.leaflet-container .leaflet-control-attribution {\r\n\tbackground: #fff;\r\n\tbackground: rgba(255, 255, 255, 0.8);\r\n\tmargin: 0;\r\n\t}\r\n.leaflet-control-attribution,\r\n.leaflet-control-scale-line {\r\n\tpadding: 0 5px;\r\n\tcolor: #333;\r\n\tline-height: 1.4;\r\n\t}\r\n.leaflet-control-attribution a {\r\n\ttext-decoration: none;\r\n\t}\r\n.leaflet-control-attribution a:hover,\r\n.leaflet-control-attribution a:focus {\r\n\ttext-decoration: underline;\r\n\t}\r\n.leaflet-attribution-flag {\r\n\tdisplay: inline !important;\r\n\tvertical-align: baseline !important;\r\n\twidth: 1em;\r\n\theight: 0.6669em;\r\n\t}\r\n.leaflet-left .leaflet-control-scale {\r\n\tmargin-left: 5px;\r\n\t}\r\n.leaflet-bottom .leaflet-control-scale {\r\n\tmargin-bottom: 5px;\r\n\t}\r\n.leaflet-control-scale-line {\r\n\tborder: 2px solid #777;\r\n\tborder-top: none;\r\n\tline-height: 1.1;\r\n\tpadding: 2px 5px 1px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\t-moz-box-sizing: border-box;\r\n\t box-sizing: border-box;\r\n\r\n\tbackground: #fff;\r\n\tbackground: rgba(255, 255, 255, 0.5);\r\n\t}\r\n.leaflet-control-scale-line:not(:first-child) {\r\n\tborder-top: 2px solid #777;\r\n\tborder-bottom: none;\r\n\tmargin-top: -2px;\r\n\t}\r\n.leaflet-control-scale-line:not(:first-child):not(:last-child) {\r\n\tborder-bottom: 2px solid #777;\r\n\t}\r\n\r\n.leaflet-touch .leaflet-control-attribution,\r\n.leaflet-touch .leaflet-control-layers,\r\n.leaflet-touch .leaflet-bar {\r\n\tbox-shadow: none;\r\n\t}\r\n.leaflet-touch .leaflet-control-layers,\r\n.leaflet-touch .leaflet-bar {\r\n\tborder: 2px solid rgba(0,0,0,0.2);\r\n\tbackground-clip: padding-box;\r\n\t}\r\n\r\n\r\n/* popup */\r\n\r\n.leaflet-popup {\r\n\tposition: absolute;\r\n\ttext-align: center;\r\n\tmargin-bottom: 20px;\r\n\t}\r\n.leaflet-popup-content-wrapper {\r\n\tpadding: 1px;\r\n\ttext-align: left;\r\n\tborder-radius: 12px;\r\n\t}\r\n.leaflet-popup-content {\r\n\tmargin: 13px 24px 13px 20px;\r\n\tline-height: 1.3;\r\n\tfont-size: 13px;\r\n\tfont-size: 1.08333em;\r\n\tmin-height: 1px;\r\n\t}\r\n.leaflet-popup-content p {\r\n\tmargin: 17px 0;\r\n\tmargin: 1.3em 0;\r\n\t}\r\n.leaflet-popup-tip-container {\r\n\twidth: 40px;\r\n\theight: 20px;\r\n\tposition: absolute;\r\n\tleft: 50%;\r\n\tmargin-top: -1px;\r\n\tmargin-left: -20px;\r\n\toverflow: hidden;\r\n\tpointer-events: none;\r\n\t}\r\n.leaflet-popup-tip {\r\n\twidth: 17px;\r\n\theight: 17px;\r\n\tpadding: 1px;\r\n\r\n\tmargin: -10px auto 0;\r\n\tpointer-events: auto;\r\n\r\n\t-webkit-transform: rotate(45deg);\r\n\t -moz-transform: rotate(45deg);\r\n\t -ms-transform: rotate(45deg);\r\n\t transform: rotate(45deg);\r\n\t}\r\n.leaflet-popup-content-wrapper,\r\n.leaflet-popup-tip {\r\n\tbackground: white;\r\n\tcolor: #333;\r\n\tbox-shadow: 0 3px 14px rgba(0,0,0,0.4);\r\n\t}\r\n.leaflet-container a.leaflet-popup-close-button {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tborder: none;\r\n\ttext-align: center;\r\n\twidth: 24px;\r\n\theight: 24px;\r\n\tfont: 16px/24px Tahoma, Verdana, sans-serif;\r\n\tcolor: #757575;\r\n\ttext-decoration: none;\r\n\tbackground: transparent;\r\n\t}\r\n.leaflet-container a.leaflet-popup-close-button:hover,\r\n.leaflet-container a.leaflet-popup-close-button:focus {\r\n\tcolor: #585858;\r\n\t}\r\n.leaflet-popup-scrolled {\r\n\toverflow: auto;\r\n\t}\r\n\r\n.leaflet-oldie .leaflet-popup-content-wrapper {\r\n\t-ms-zoom: 1;\r\n\t}\r\n.leaflet-oldie .leaflet-popup-tip {\r\n\twidth: 24px;\r\n\tmargin: 0 auto;\r\n\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)\";\r\n\tfilter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);\r\n\t}\r\n\r\n.leaflet-oldie .leaflet-control-zoom,\r\n.leaflet-oldie .leaflet-control-layers,\r\n.leaflet-oldie .leaflet-popup-content-wrapper,\r\n.leaflet-oldie .leaflet-popup-tip {\r\n\tborder: 1px solid #999;\r\n\t}\r\n\r\n\r\n/* div icon */\r\n\r\n.leaflet-div-icon {\r\n\tbackground: #fff;\r\n\tborder: 1px solid #666;\r\n\t}\r\n\r\n\r\n/* Tooltip */\r\n/* Base styles for the element that has a tooltip */\r\n.leaflet-tooltip {\r\n\tposition: absolute;\r\n\tpadding: 6px;\r\n\tbackground-color: #fff;\r\n\tborder: 1px solid #fff;\r\n\tborder-radius: 3px;\r\n\tcolor: #222;\r\n\twhite-space: nowrap;\r\n\t-webkit-user-select: none;\r\n\t-moz-user-select: none;\r\n\t-ms-user-select: none;\r\n\tuser-select: none;\r\n\tpointer-events: none;\r\n\tbox-shadow: 0 1px 3px rgba(0,0,0,0.4);\r\n\t}\r\n.leaflet-tooltip.leaflet-interactive {\r\n\tcursor: pointer;\r\n\tpointer-events: auto;\r\n\t}\r\n.leaflet-tooltip-top:before,\r\n.leaflet-tooltip-bottom:before,\r\n.leaflet-tooltip-left:before,\r\n.leaflet-tooltip-right:before {\r\n\tposition: absolute;\r\n\tpointer-events: none;\r\n\tborder: 6px solid transparent;\r\n\tbackground: transparent;\r\n\tcontent: \"\";\r\n\t}\r\n\r\n/* Directions */\r\n\r\n.leaflet-tooltip-bottom {\r\n\tmargin-top: 6px;\r\n}\r\n.leaflet-tooltip-top {\r\n\tmargin-top: -6px;\r\n}\r\n.leaflet-tooltip-bottom:before,\r\n.leaflet-tooltip-top:before {\r\n\tleft: 50%;\r\n\tmargin-left: -6px;\r\n\t}\r\n.leaflet-tooltip-top:before {\r\n\tbottom: 0;\r\n\tmargin-bottom: -12px;\r\n\tborder-top-color: #fff;\r\n\t}\r\n.leaflet-tooltip-bottom:before {\r\n\ttop: 0;\r\n\tmargin-top: -12px;\r\n\tmargin-left: -6px;\r\n\tborder-bottom-color: #fff;\r\n\t}\r\n.leaflet-tooltip-left {\r\n\tmargin-left: -6px;\r\n}\r\n.leaflet-tooltip-right {\r\n\tmargin-left: 6px;\r\n}\r\n.leaflet-tooltip-left:before,\r\n.leaflet-tooltip-right:before {\r\n\ttop: 50%;\r\n\tmargin-top: -6px;\r\n\t}\r\n.leaflet-tooltip-left:before {\r\n\tright: 0;\r\n\tmargin-right: -12px;\r\n\tborder-left-color: #fff;\r\n\t}\r\n.leaflet-tooltip-right:before {\r\n\tleft: 0;\r\n\tmargin-left: -12px;\r\n\tborder-right-color: #fff;\r\n\t}\r\n\r\n/* Printing */\r\n\t\r\n@media print {\r\n\t/* Prevent printers from removing background-images of controls. */\r\n\t.leaflet-control {\r\n\t\t-webkit-print-color-adjust: exact;\r\n\t\tprint-color-adjust: exact;\r\n\t\t}\r\n\t}\r\n","/* stylelint-disable no-descending-specificity */\n\n@import './utils/base';\n@import 'node_modules/bootstrap/scss/bootstrap.scss';\n@import './common/react-tag-autocomplete.scss';\n@import './utils/theme/theme';\n@import './utils/mixins/text-ellipsis';\n@import './utils/table/ResponsiveTable';\n@import './utils/StickyCardPaginator';\n\n* {\n outline: none !important;\n}\n\n:root {\n scroll-behavior: auto;\n color-scheme: var(--color-scheme);\n}\n\nhtml,\nbody,\n#root {\n height: 100%;\n background: var(--secondary-color);\n color: var(--text-color);\n}\n\na,\n.btn-link {\n text-decoration: none;\n}\n\n/* stylelint-disable-next-line selector-max-pseudo-class */\na:not(.nav-link):not(.navbar-brand):not(.page-link):not(.highlight-card):not(.btn):not(.dropdown-item):hover,\n.btn-link:hover {\n text-decoration: underline;\n}\n\n.bg-main {\n background-color: $mainColor !important;\n}\n\n.bg-warning {\n color: $lightTextColor;\n}\n\n.card-body,\n.card-header,\n.list-group-item {\n background-color: transparent;\n}\n\n.card-footer {\n background-color: var(--primary-color-alfa);\n}\n\n.card {\n box-shadow: 0 .125rem .25rem rgb(0 0 0 / .075);\n background-color: var(--primary-color);\n border-color: var(--border-color);\n}\n\n.list-group {\n background-color: var(--primary-color);\n}\n\n.modal-content,\n.page-link,\n.page-item.disabled .page-link,\n.dropdown-menu {\n background-color: var(--primary-color);\n}\n\n.modal-header,\n.modal-footer,\n.card-header,\n.card-footer,\n.table thead th,\n.table th,\n.table td,\n.page-link,\n.page-link:hover,\n.page-item.disabled .page-link,\n.dropdown-divider,\n.dropdown-menu,\n.list-group-item,\n.modal-content,\nhr {\n border-color: var(--border-color);\n}\n\n.table-bordered,\n.table-bordered thead th,\n.table-bordered thead td {\n border-color: var(--table-border-color);\n}\n\n.page-link:hover,\n.page-link:focus {\n background-color: var(--secondary-color);\n}\n\n.page-item.active .page-link {\n background-color: var(--brand-color);\n border-color: var(--brand-color);\n}\n\n.pagination .page-link {\n cursor: pointer;\n}\n\n.container-xl {\n @media (min-width: $xlgMin) {\n max-width: 1320px;\n }\n\n @media (max-width: $smMax) {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n/* Deprecated. Brought from bootstrap 4 */\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-primary,\n.btn-primary:hover,\n.btn-primary:active,\n.btn-primary.active,\n.btn-outline-primary:hover,\n.btn-outline-primary:active,\n.btn-outline-primary.active, {\n color: #ffffff;\n}\n\n.dropdown-item,\n.dropdown-item-text {\n color: var(--text-color);\n}\n\n.dropdown-item:not(:disabled) {\n cursor: pointer;\n}\n\n.dropdown-item:focus:not(:disabled),\n.dropdown-item:hover:not(:disabled),\n.dropdown-item.active:not(:disabled),\n.dropdown-item:active:not(:disabled) {\n background-color: var(--active-color) !important;\n color: var(--text-color) !important;\n}\n\n.dropdown-item--danger.dropdown-item--danger {\n color: $dangerColor;\n\n &:hover,\n &:active,\n &.active {\n color: $dangerColor !important;\n }\n}\n\n.badge-main {\n color: #ffffff;\n background-color: var(--brand-color);\n}\n\n.close,\n.close:hover,\n.table,\n.table-hover > tbody > tr:hover > *,\n.table-hover > tbody > tr > * {\n color: var(--text-color);\n}\n\n.btn-close {\n filter: var(--btn-close-filter);\n}\n\n.table-hover tbody tr:hover {\n background-color: var(--secondary-color);\n}\n\n.form-control,\n.form-control:focus {\n background-color: var(--primary-color);\n border-color: var(--input-border-color);\n color: var(--input-text-color);\n}\n\n.form-control.disabled,\n.form-control:disabled {\n background-color: var(--input-disabled-color);\n cursor: not-allowed;\n}\n\n.card .form-control:not(:disabled),\n.card .form-control:not(:disabled):hover {\n background-color: var(--input-color);\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: var(--table-highlight-color) !important;\n}\n\n.navbar-brand {\n @media (max-width: $smMax) {\n margin: 0 auto !important;\n }\n}\n\n.indivisible {\n white-space: nowrap;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.text-ellipsis {\n @include text-ellipsis();\n}\n\n.progress-bar {\n background-color: $mainColor;\n}\n\n.btn-xs-block {\n @media (max-width: $xsMax) {\n width: 100%;\n display: block;\n }\n}\n\n.btn-md-block {\n @media (max-width: $mdMax) {\n width: 100%;\n display: block;\n }\n}\n","@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.2.2 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors\n * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n\n",":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$prefix}gradient: #{$gradient};\n\n // Root and body\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$prefix}root-font-size: #{$font-size-root};\n }\n --#{$prefix}body-font-family: #{$font-family-base};\n @include rfs($font-size-base, --#{$prefix}body-font-size);\n --#{$prefix}body-font-weight: #{$font-weight-base};\n --#{$prefix}body-line-height: #{$line-height-base};\n --#{$prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n --#{$prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n\n // scss-docs-start root-border-var\n --#{$prefix}border-width: #{$border-width};\n --#{$prefix}border-style: #{$border-style};\n --#{$prefix}border-color: #{$border-color};\n --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n --#{$prefix}border-radius: #{$border-radius};\n --#{$prefix}border-radius-sm: #{$border-radius-sm};\n --#{$prefix}border-radius-lg: #{$border-radius-lg};\n --#{$prefix}border-radius-xl: #{$border-radius-xl};\n --#{$prefix}border-radius-2xl: #{$border-radius-2xl};\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-hover-color: #{$link-hover-color};\n\n --#{$prefix}code-color: #{$code-color};\n\n --#{$prefix}highlight-bg: #{$mark-bg};\n}\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n @include font-size(var(--#{$prefix}root-font-size));\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$prefix}body-font-family);\n @include font-size(var(--#{$prefix}body-font-size));\n font-weight: var(--#{$prefix}body-font-weight);\n line-height: var(--#{$prefix}body-line-height);\n color: var(--#{$prefix}body-color);\n text-align: var(--#{$prefix}body-text-align);\n background-color: var(--#{$prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n opacity: $hr-opacity;\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: var(--#{$prefix}link-color);\n text-decoration: $link-decoration;\n\n &:hover {\n color: var(--#{$prefix}link-hover-color);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`\r\n * \r\n * )\r\n * }\r\n */\n\nexport const useDispatch = /*#__PURE__*/createDispatchHook();","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _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\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import { useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { ReactReduxContext } from '../components/Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStoreWithSelector = notInitialized;\nexport const initializeUseSelector = fn => {\n useSyncExternalStoreWithSelector = fn;\n};\n\nconst refEquality = (a, b) => a === b;\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context = ReactReduxContext) {\n const useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : () => useContext(context);\n return function useSelector(selector, equalityFn = refEquality) {\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`);\n }\n\n if (typeof selector !== 'function') {\n throw new Error(`You must pass a function as a selector to useSelector`);\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(`You must pass a function as an equality function to useSelector`);\n }\n }\n\n const {\n store,\n subscription,\n getServerState\n } = useReduxContext();\n const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, selector, equalityFn);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return

{counter}
\r\n * }\r\n */\n\nexport const useSelector = /*#__PURE__*/createSelectorHook();","// The primary entry point assumes we're working with standard ReactDOM/RN, but\n// older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x).\n// Because of that, the useSyncExternalStore compat shim is needed.\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch';\nimport { initializeUseSelector } from './hooks/useSelector';\nimport { initializeConnect } from './components/connect';\ninitializeUseSelector(useSyncExternalStoreWithSelector);\ninitializeConnect(useSyncExternalStore); // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };\nexport * from './exports';","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: any;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. May be either a URL or the pieces of a\n * URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref(to) {\n return typeof to === \"string\" ? to : createPath(to);\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation });\n }\n },\n go(delta) {\n action = Action.Pop;\n index = clampIndex(index + delta);\n if (listener) {\n listener({ action, location: getCurrentLocation() });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function handlePop() {\n action = Action.Pop;\n if (listener) {\n listener({ action, location: history.location });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n let historyState = getHistoryState(location);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n let historyState = getHistoryState(location);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: location });\n }\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { parsePath } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\nexport type FormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\";\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport interface Submission {\n formMethod: Exclude;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n}\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n}\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Route loader function signature\n */\nexport interface LoaderFunction {\n (args: LoaderFunctionArgs): Promise | Response | Promise | any;\n}\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (args: ActionFunctionArgs): Promise | Response | Promise | any;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n formData?: Submission[\"formData\"];\n actionResult?: DataResult;\n defaultShouldRevalidate: boolean;\n }): boolean;\n}\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface AgnosticRouteObject {\n caseSensitive?: boolean;\n children?: AgnosticRouteObject[];\n index?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction;\n action?: ActionFunction;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n}\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport interface AgnosticDataRouteObject extends AgnosticRouteObject {\n children?: AgnosticDataRouteObject[];\n id: string;\n}\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `${string}:${infer Param}`\n ? Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\ntype PathParam =\n // check if path is just a wildcard\n Path extends \"*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\n// Walk the route tree generating unique IDs where necessary so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n parentPath: number[] = [],\n allIds: Set = new Set()\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n !allIds.has(id),\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n allIds.add(id);\n let dataRoute: AgnosticDataRouteObject = {\n ...route,\n id,\n children: route.children\n ? convertRoutesToDataRoutes(route.children, treePath, allIds)\n : undefined,\n };\n return dataRoute;\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/generate-path\n */\nexport function generatePath(\n path: Path,\n params: {\n [key in PathParam]: string;\n } = {} as any\n): string {\n return path\n .replace(/:(\\w+)/g, (_, key: PathParam) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/(\\/?)\\*/, (_, prefix, __, str) => {\n const star = \"*\" as PathParam;\n\n if (params[star] == null) {\n // If no splat was provided, trim the trailing slash _unless_ it's\n // the entire path\n return str === \"/*\" ? \"/\" : \"\";\n }\n\n // Apply the splat\n return `${prefix}${params[star]}`;\n });\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n // but do not consume the character in the matched path so they can match against\n // nested paths.\n \"(?:(?=[@.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\n/**\n * @private\n */\nexport function warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : { ...toArg };\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeys: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscriber?: (aborted: boolean) => void = undefined;\n data: Record;\n\n constructor(data: Record) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n }\n\n private trackPromise(\n key: string | number,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.pendingKeys.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, null, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string | number,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeys.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n const subscriber = this.subscriber;\n if (error) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n subscriber && subscriber(false);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n subscriber && subscriber(false);\n return data;\n }\n\n subscribe(fn: (aborted: boolean) => void) {\n this.subscriber = fn;\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeys.forEach((v, k) => this.pendingKeys.delete(k));\n let subscriber = this.subscriber;\n subscriber && subscriber(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeys.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport function defer(data: Record) {\n return new DeferredData(data);\n}\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nexport class ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n\n constructor(status: number, statusText: string | undefined, data: any) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.data = data;\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response throw from an action/loader\n */\nexport function isRouteErrorResponse(e: any): e is ErrorResponse {\n return e instanceof ErrorResponse;\n}\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as React from \"react\";\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction isPolyfill(x: any, y: any) {\n return (\n (x === y && (x !== 0 || 1 / x === 1 / y)) || (x !== x && y !== y) // eslint-disable-line no-self-compare\n );\n}\n\nconst is: (x: any, y: any) => boolean =\n typeof Object.is === \"function\" ? Object.is : isPolyfill;\n\n// Intentionally not using named imports because Rollup uses dynamic\n// dispatch for CommonJS interop named imports.\nconst { useState, useEffect, useLayoutEffect, useDebugValue } = React;\n\nlet didWarnOld18Alpha = false;\nlet didWarnUncachedGetSnapshot = false;\n\n// Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\nexport function useSyncExternalStore(\n subscribe: (fn: () => void) => () => void,\n getSnapshot: () => T,\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n getServerSnapshot?: () => T\n): T {\n if (__DEV__) {\n if (!didWarnOld18Alpha) {\n if (\"startTransition\" in React) {\n didWarnOld18Alpha = true;\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that \" +\n \"does not support useSyncExternalStore. The \" +\n \"use-sync-external-store shim will not work correctly. Upgrade \" +\n \"to a newer pre-release.\"\n );\n }\n }\n }\n\n // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n const value = getSnapshot();\n if (__DEV__) {\n if (!didWarnUncachedGetSnapshot) {\n const cachedValue = getSnapshot();\n if (!is(value, cachedValue)) {\n console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n );\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n\n // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n const [{ inst }, forceUpdate] = useState({ inst: { value, getSnapshot } });\n\n // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n useLayoutEffect(() => {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n\n // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe, value, getSnapshot]);\n\n useEffect(() => {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n const handleStoreChange = () => {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n };\n // Subscribe to the store and return a clean-up function.\n return subscribe(handleStoreChange);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe]);\n\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst: any) {\n const latestGetSnapshot = inst.getSnapshot;\n const prevValue = inst.value;\n try {\n const nextValue = latestGetSnapshot();\n return !is(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n","/**\n * Inlined into the react-router repo since use-sync-external-store does not\n * provide a UMD-compatible package, so we need this to be able to distribute\n * UMD react-router bundles\n */\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n */\n\nimport * as React from \"react\";\n\nimport { useSyncExternalStore as client } from \"./useSyncExternalStoreShimClient\";\nimport { useSyncExternalStore as server } from \"./useSyncExternalStoreShimServer\";\n\nconst canUseDOM: boolean = !!(\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\"\n);\nconst isServerEnvironment = !canUseDOM;\nconst shim = isServerEnvironment ? server : client;\n\nexport const useSyncExternalStore =\n \"useSyncExternalStore\" in React\n ? ((module) => module.useSyncExternalStore)(React)\n : shim;\n","import * as React from \"react\";\nimport type {\n TrackedPromise,\n History,\n Location,\n Router,\n StaticHandlerContext,\n To,\n AgnosticRouteObject,\n AgnosticRouteMatch,\n} from \"@remix-run/router\";\nimport type { Action as NavigationType } from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface RouteObject extends AgnosticRouteObject {\n children?: RouteObject[];\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport interface DataRouteObject extends RouteObject {\n children?: DataRouteObject[];\n id: string;\n}\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch {}\n\nexport interface DataRouteMatch extends RouteMatch {}\n\n// Contexts for data routers\nexport const DataStaticRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataStaticRouterContext.displayName = \"DataStaticRouterContext\";\n}\n\nexport interface DataRouterContextObject extends NavigationContextObject {\n router: Router;\n}\n\nexport const DataRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n Router as RemixRouter,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n warning,\n} from \"@remix-run/router\";\n\nimport type {\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n DataRouteMatch,\n RelativeRoutingType,\n} from \"./context\";\nimport {\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n AwaitContext,\n DataStaticRouterContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\n/**\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nfunction getPathContributingMatches(matches: RouteMatch[]) {\n return matches.filter(\n (match, index) =>\n index === 0 ||\n (!match.route.index &&\n match.pathnameBase !== matches[index - 1].pathnameBase)\n );\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history. If this is a root navigation, then we\n // navigate to the raw basename which allows the basename to have full\n // control over the presence of a trailing slash on root links\n if (basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/hooks/use-outlet-context\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let dataRouterStateContext = React.useContext(DataRouterStateContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase]),\n })\n ),\n parentMatches,\n dataRouterStateContext || undefined\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg) {\n return (\n \n {renderedMatches}\n \n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorElement() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n return (\n <>\n

Unhandled Thrown Error!

\n

{message}

\n {stack ?
{stack}
: null}\n

💿 Hey developer 👋

\n

\n You can provide a way better UX than this when your app throws errors by\n providing your own \n errorElement props on \n <Route>\n

\n \n );\n}\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n error: any;\n component: React.ReactNode;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location) {\n return {\n error: props.error,\n location: props.location,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error ? (\n \n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataStaticRouterContext = React.useContext(DataStaticRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (dataStaticRouterContext && match.route.errorElement) {\n dataStaticRouterContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState?: RemixRouter[\"state\"]\n): React.ReactElement | null {\n if (matches == null) {\n if (dataRouterState?.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id]\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for the current errors: ${errors}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors?.[match.route.id] : null;\n // Only data routers handle errors\n let errorElement = dataRouterState\n ? match.route.errorElement || \n : null;\n let getChildren = () => (\n \n {error\n ? errorElement\n : match.route.element !== undefined\n ? match.route.element\n : outlet}\n \n );\n // Only wrap in an error boundary within data router usages when we have an\n // errorElement on this route. Otherwise let it bubble up to an ancestor\n // errorElement\n return dataRouterState && (match.route.errorElement || index === 0) ? (\n \n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n}\n\nfunction useDataRouterState(hookName: DataRouterHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, `${hookName} must be used within a DataRouterStateContext`);\n return state;\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = React.useContext(DataRouterContext);\n invariant(\n dataRouterContext,\n `useRevalidator must be used within a DataRouterContext`\n );\n let state = useDataRouterState(DataRouterHook.UseRevalidator);\n return {\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n };\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches() {\n let { matches, loaderData } = useDataRouterState(DataRouterHook.UseMatches);\n return React.useMemo(\n () =>\n matches.map((match) => {\n let { pathname, params } = match;\n // Note: This structure matches that created by createUseMatchesMatch\n // in the @remix-run/router , so if you change this please also change\n // that :) Eventually we'll DRY this up\n return {\n id: match.route.id,\n pathname,\n params,\n data: loaderData[match.route.id] as unknown,\n handle: match.route.handle as unknown,\n };\n }),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterHook.UseLoaderData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useLoaderData must be used inside a RouteContext`);\n\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `useLoaderData can only be used on routes that contain a unique \"id\"`\n );\n\n return state.loaderData[thisRoute.route.id];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterHook.UseActionData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useActionData must be used inside a RouteContext`);\n\n return Object.values(state?.actionData || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterHook.UseRouteError);\n let route = React.useContext(RouteContext);\n let thisRoute = route.matches[route.matches.length - 1];\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n invariant(route, `useRouteError must be used inside a RouteContext`);\n invariant(\n thisRoute.route.id,\n `useRouteError can only be used on routes that contain a unique \"id\"`\n );\n\n // Otherwise look for errors from our data router state\n return state.errors?.[thisRoute.route.id];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nconst alreadyWarned: Record = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import * as React from \"react\";\nimport type {\n TrackedPromise,\n HydrationState,\n InitialEntry,\n Location,\n MemoryHistory,\n Router as RemixRouter,\n RouterState,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n AbortedDeferredError,\n createMemoryHistory,\n invariant,\n parsePath,\n stripBasename,\n warning,\n} from \"@remix-run/router\";\nimport { useSyncExternalStore as useSyncExternalStoreShim } from \"./use-sync-external-store-shim\";\n\nimport type {\n DataRouteObject,\n RouteMatch,\n RouteObject,\n Navigator,\n RelativeRoutingType,\n} from \"./context\";\nimport {\n LocationContext,\n NavigationContext,\n DataRouterContext,\n DataRouterStateContext,\n AwaitContext,\n} from \"./context\";\nimport {\n useAsyncValue,\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n} from \"./hooks\";\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n}\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n}: RouterProviderProps): React.ReactElement {\n // Sync router state to our component state to force re-renders\n let state: RouterState = useSyncExternalStoreShim(\n router.subscribe,\n () => router.state,\n // We have to provide this so React@18 doesn't complain during hydration,\n // but we pass our serialized hydration data into the router so state here\n // is already synced with what the server saw\n () => router.state\n );\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n return (\n \n \n \n {router.state.initialized ? : fallbackElement}\n
\n \n \n );\n}\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/routers/memory-router\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true,\n });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n relative?: RelativeRoutingType;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/components/navigate\n */\nexport function Navigate({\n to,\n replace,\n state,\n relative,\n}: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let dataRouterState = React.useContext(DataRouterStateContext);\n let navigate = useNavigate();\n\n React.useEffect(() => {\n // Avoid kicking off multiple navigations if we're in the middle of a\n // data-router navigation, since components get re-rendered when we enter\n // a submitting/loading state\n if (dataRouterState && dataRouterState.navigation.state !== \"idle\") {\n return;\n }\n navigate(to, { replace, state, relative });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/components/outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\ninterface DataRouteProps {\n id?: RouteObject[\"id\"];\n loader?: RouteObject[\"loader\"];\n action?: RouteObject[\"action\"];\n errorElement?: RouteObject[\"errorElement\"];\n shouldRevalidate?: RouteObject[\"shouldRevalidate\"];\n handle?: RouteObject[\"handle\"];\n}\n\nexport interface RouteProps extends DataRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps extends DataRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps extends DataRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps extends DataRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/components/route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/routers/router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n // Preserve trailing slashes on basename, so we can let the user control\n // the enforcement of trailing slashes throughout the app\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/components/routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n let dataRouterContext = React.useContext(DataRouterContext);\n // When in a DataRouterContext _without_ children, we use the router routes\n // directly. If we have children, then we're in a descendant tree and we\n // need to use child routes.\n let routes =\n dataRouterContext && !children\n ? (dataRouterContext.router.routes as DataRouteObject[])\n : createRoutesFromChildren(children);\n return useRoutes(routes, location);\n}\n\nexport interface AwaitResolveRenderFunction {\n (data: Awaited): React.ReactElement;\n}\n\nexport interface AwaitProps {\n children: React.ReactNode | AwaitResolveRenderFunction;\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}\n\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nexport function Await({ children, errorElement, resolve }: AwaitProps) {\n return (\n \n {children}\n \n );\n}\n\ntype AwaitErrorBoundaryProps = React.PropsWithChildren<{\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}>;\n\ntype AwaitErrorBoundaryState = {\n error: any;\n};\n\nenum AwaitRenderStatus {\n pending,\n success,\n error,\n}\n\nconst neverSettledPromise = new Promise(() => {});\n\nclass AwaitErrorBoundary extends React.Component<\n AwaitErrorBoundaryProps,\n AwaitErrorBoundaryState\n> {\n constructor(props: AwaitErrorBoundaryProps) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \" caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n let { children, errorElement, resolve } = this.props;\n\n let promise: TrackedPromise | null = null;\n let status: AwaitRenderStatus = AwaitRenderStatus.pending;\n\n if (!(resolve instanceof Promise)) {\n // Didn't get a promise - provide as a resolved promise\n status = AwaitRenderStatus.success;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_data\", { get: () => resolve });\n } else if (this.state.error) {\n // Caught a render error, provide it as a rejected promise\n status = AwaitRenderStatus.error;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_error\", { get: () => renderError });\n } else if ((resolve as TrackedPromise)._tracked) {\n // Already tracked promise - check contents\n promise = resolve;\n status =\n promise._error !== undefined\n ? AwaitRenderStatus.error\n : promise._data !== undefined\n ? AwaitRenderStatus.success\n : AwaitRenderStatus.pending;\n } else {\n // Raw (untracked) promise - track it\n status = AwaitRenderStatus.pending;\n Object.defineProperty(resolve, \"_tracked\", { get: () => true });\n promise = resolve.then(\n (data: any) =>\n Object.defineProperty(resolve, \"_data\", { get: () => data }),\n (error: any) =>\n Object.defineProperty(resolve, \"_error\", { get: () => error })\n );\n }\n\n if (\n status === AwaitRenderStatus.error &&\n promise._error instanceof AbortedDeferredError\n ) {\n // Freeze the UI by throwing a never resolved promise\n throw neverSettledPromise;\n }\n\n if (status === AwaitRenderStatus.error && !errorElement) {\n // No errorElement, throw to the nearest route-level error boundary\n throw promise._error;\n }\n\n if (status === AwaitRenderStatus.error) {\n // Render via our errorElement\n return ;\n }\n\n if (status === AwaitRenderStatus.success) {\n // Render children with resolved value\n return ;\n }\n\n // Throw to the suspense boundary\n throw promise;\n }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on \n */\nfunction ResolveAwait({\n children,\n}: {\n children: React.ReactNode | AwaitResolveRenderFunction;\n}) {\n let data = useAsyncValue();\n if (typeof children === \"function\") {\n return children(data);\n }\n return <>{children};\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/create-routes-from-children\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode,\n parentPath: number[] = []\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element, index) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children, parentPath)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let treePath = [...parentPath, index];\n let route: RouteObject = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n errorElement: element.props.errorElement,\n hasErrorBoundary: element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(\n element.props.children,\n treePath\n );\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\n/**\n * @private\n * Walk the route tree and add hasErrorBoundary if it's not provided, so that\n * users providing manual route arrays can just specify errorElement\n */\nexport function enhanceManualRouteObjects(\n routes: RouteObject[]\n): RouteObject[] {\n return routes.map((route) => {\n let routeClone = { ...route };\n if (routeClone.hasErrorBoundary == null) {\n routeClone.hasErrorBoundary = routeClone.errorElement != null;\n }\n if (routeClone.children) {\n routeClone.children = enhanceManualRouteObjects(routeClone.children);\n }\n return routeClone;\n });\n}\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport type {\n NavigateOptions,\n RelativeRoutingType,\n RouteObject,\n To,\n} from \"react-router\";\nimport {\n Router,\n createPath,\n useHref,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useResolvedPath,\n UNSAFE_DataRouterContext as DataRouterContext,\n UNSAFE_DataRouterStateContext as DataRouterStateContext,\n UNSAFE_RouteContext as RouteContext,\n UNSAFE_enhanceManualRouteObjects as enhanceManualRouteObjects,\n} from \"react-router\";\nimport type {\n BrowserHistory,\n Fetcher,\n FormEncType,\n FormMethod,\n GetScrollRestorationKeyFunction,\n HashHistory,\n History,\n HydrationState,\n Router as RemixRouter,\n} from \"@remix-run/router\";\nimport {\n createRouter,\n createBrowserHistory,\n createHashHistory,\n invariant,\n matchPath,\n} from \"@remix-run/router\";\n\nimport type {\n SubmitOptions,\n ParamKeyValuePair,\n URLSearchParamsInit,\n} from \"./dom\";\nimport {\n createSearchParams,\n defaultMethod,\n getFormSubmissionInfo,\n getSearchParamsForLocation,\n shouldProcessLinkClick,\n} from \"./dom\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Re-exports\n////////////////////////////////////////////////////////////////////////////////\n\nexport type {\n FormEncType,\n FormMethod,\n ParamKeyValuePair,\n SubmitOptions,\n URLSearchParamsInit,\n};\nexport { createSearchParams };\n\n// Note: Keep in sync with react-router exports!\nexport type {\n ActionFunction,\n ActionFunctionArgs,\n AwaitProps,\n DataRouteMatch,\n DataRouteObject,\n Fetcher,\n Hash,\n IndexRouteProps,\n JsonFunction,\n LayoutRouteProps,\n LoaderFunction,\n LoaderFunctionArgs,\n Location,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigation,\n Navigator,\n OutletProps,\n Params,\n ParamParseKey,\n Path,\n PathMatch,\n Pathname,\n PathPattern,\n PathRouteProps,\n RedirectFunction,\n RelativeRoutingType,\n RouteMatch,\n RouteObject,\n RouteProps,\n RouterProps,\n RouterProviderProps,\n RoutesProps,\n Search,\n ShouldRevalidateFunction,\n To,\n} from \"react-router\";\nexport {\n AbortedDeferredError,\n Await,\n MemoryRouter,\n Navigate,\n NavigationType,\n Outlet,\n Route,\n Router,\n RouterProvider,\n Routes,\n createMemoryRouter,\n createPath,\n createRoutesFromChildren,\n createRoutesFromElements,\n defer,\n isRouteErrorResponse,\n generatePath,\n json,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n renderMatches,\n resolvePath,\n useActionData,\n useAsyncError,\n useAsyncValue,\n useHref,\n useInRouterContext,\n useLoaderData,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useNavigationType,\n useOutlet,\n useOutletContext,\n useParams,\n useResolvedPath,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n useRoutes,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_DataRouterContext,\n UNSAFE_DataRouterStateContext,\n UNSAFE_DataStaticRouterContext,\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n UNSAFE_enhanceManualRouteObjects,\n} from \"react-router\";\n//#endregion\n\ndeclare global {\n var __staticRouterHydrationData: HydrationState | undefined;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Routers\n////////////////////////////////////////////////////////////////////////////////\n\nexport function createBrowserRouter(\n routes: RouteObject[],\n opts?: {\n basename?: string;\n hydrationData?: HydrationState;\n window?: Window;\n }\n): RemixRouter {\n return createRouter({\n basename: opts?.basename,\n history: createBrowserHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || window?.__staticRouterHydrationData,\n routes: enhanceManualRouteObjects(routes),\n }).initialize();\n}\n\nexport function createHashRouter(\n routes: RouteObject[],\n opts?: {\n basename?: string;\n hydrationData?: HydrationState;\n window?: Window;\n }\n): RemixRouter {\n return createRouter({\n basename: opts?.basename,\n history: createHashHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || window?.__staticRouterHydrationData,\n routes: enhanceManualRouteObjects(routes),\n }).initialize();\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Components\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window, v5Compat: true });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window, v5Compat: true });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware
.\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n {\n onClick,\n relative,\n reloadDocument,\n replace,\n state,\n target,\n to,\n preventScrollReset,\n ...rest\n },\n ref\n ) {\n let href = useHref(to, { relative });\n let internalOnClick = useLinkClickHandler(to, {\n replace,\n state,\n target,\n preventScrollReset,\n relative,\n });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children?:\n | React.ReactNode\n | ((props: { isActive: boolean; isPending: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?:\n | string\n | ((props: {\n isActive: boolean;\n isPending: boolean;\n }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: {\n isActive: boolean;\n isPending: boolean;\n }) => React.CSSProperties | undefined);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let path = useResolvedPath(to);\n let match = useMatch({ path: path.pathname, end, caseSensitive });\n\n let routerState = React.useContext(DataRouterStateContext);\n let nextLocation = routerState?.navigation.location;\n let nextPath = useResolvedPath(nextLocation || \"\");\n let nextMatch = React.useMemo(\n () =>\n nextLocation\n ? matchPath(\n { path: path.pathname, end, caseSensitive },\n nextPath.pathname\n )\n : null,\n [nextLocation, path.pathname, caseSensitive, end, nextPath.pathname]\n );\n\n let isPending = nextMatch != null;\n let isActive = match != null;\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive, isPending });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [\n classNameProp,\n isActive ? \"active\" : null,\n isPending ? \"pending\" : null,\n ]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\"\n ? styleProp({ isActive, isPending })\n : styleProp;\n\n return (\n \n {typeof children === \"function\"\n ? children({ isActive, isPending })\n : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\nexport interface FormProps extends React.FormHTMLAttributes {\n /**\n * The HTTP verb to use when the form is submit. Supports \"get\", \"post\",\n * \"put\", \"delete\", \"patch\".\n */\n method?: FormMethod;\n\n /**\n * Normal `` but supports React Router's relative paths.\n */\n action?: string;\n\n /**\n * Forces a full document navigation instead of a fetch.\n */\n reloadDocument?: boolean;\n\n /**\n * Replaces the current entry in the browser history stack when the form\n * navigates. Use this if you don't want the user to be able to click \"back\"\n * to the page with the form on it.\n */\n replace?: boolean;\n\n /**\n * Determines whether the form action is relative to the route hierarchy or\n * the pathname. Use this if you want to opt out of navigating the route\n * hierarchy and want to instead route based on /-delimited URL segments\n */\n relative?: RelativeRoutingType;\n\n /**\n * A function to call when the form is submitted. If you call\n * `event.preventDefault()` then this form will not do anything.\n */\n onSubmit?: React.FormEventHandler;\n}\n\n/**\n * A `@remix-run/router`-aware ``. It behaves like a normal form except\n * that the interaction with the server is with `fetch` instead of new document\n * requests, allowing components to add nicer UX to the page as the form is\n * submitted and returns with data.\n */\nexport const Form = React.forwardRef(\n (props, ref) => {\n return ;\n }\n);\n\nif (__DEV__) {\n Form.displayName = \"Form\";\n}\n\ntype HTMLSubmitEvent = React.BaseSyntheticEvent<\n SubmitEvent,\n Event,\n HTMLFormElement\n>;\n\ntype HTMLFormSubmitter = HTMLButtonElement | HTMLInputElement;\n\ninterface FormImplProps extends FormProps {\n fetcherKey?: string;\n routeId?: string;\n}\n\nconst FormImpl = React.forwardRef(\n (\n {\n reloadDocument,\n replace,\n method = defaultMethod,\n action,\n onSubmit,\n fetcherKey,\n routeId,\n relative,\n ...props\n },\n forwardedRef\n ) => {\n let submit = useSubmitImpl(fetcherKey, routeId);\n let formMethod: FormMethod =\n method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n let formAction = useFormAction(action, { relative });\n let submitHandler: React.FormEventHandler = (event) => {\n onSubmit && onSubmit(event);\n if (event.defaultPrevented) return;\n event.preventDefault();\n\n let submitter = (event as unknown as HTMLSubmitEvent).nativeEvent\n .submitter as HTMLFormSubmitter | null;\n\n submit(submitter || event.currentTarget, { method, replace, relative });\n };\n\n return (\n \n );\n }\n);\n\nif (__DEV__) {\n Form.displayName = \"Form\";\n}\n\ninterface ScrollRestorationProps {\n getKey?: GetScrollRestorationKeyFunction;\n storageKey?: string;\n}\n\n/**\n * This component will emulate the browser's scroll restoration on location\n * changes.\n */\nexport function ScrollRestoration({\n getKey,\n storageKey,\n}: ScrollRestorationProps) {\n useScrollRestoration({ getKey, storageKey });\n return null;\n}\n\nif (__DEV__) {\n ScrollRestoration.displayName = \"ScrollRestoration\";\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hooks\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n preventScrollReset,\n relative,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to, { relative });\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (shouldProcessLinkClick(event, target)) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here unless the replace prop is explicitly set\n let replace =\n replaceProp !== undefined\n ? replaceProp\n : createPath(location) === createPath(path);\n\n navigate(to, { replace, state, preventScrollReset, relative });\n }\n },\n [\n location,\n navigate,\n path,\n replaceProp,\n state,\n target,\n to,\n preventScrollReset,\n relative,\n ]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(\n defaultInit?: URLSearchParamsInit\n): [URLSearchParams, SetURLSearchParams] {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(\n () =>\n getSearchParamsForLocation(\n location.search,\n defaultSearchParamsRef.current\n ),\n [location.search]\n );\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (nextInit, navigateOptions) => {\n const newSearchParams = createSearchParams(\n typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit\n );\n navigate(\"?\" + newSearchParams, navigateOptions);\n },\n [navigate, searchParams]\n );\n\n return [searchParams, setSearchParams];\n}\n\ntype SetURLSearchParams = (\n nextInit?:\n | URLSearchParamsInit\n | ((prev: URLSearchParams) => URLSearchParamsInit),\n navigateOpts?: NavigateOptions\n) => void;\n\ntype SubmitTarget =\n | HTMLFormElement\n | HTMLButtonElement\n | HTMLInputElement\n | FormData\n | URLSearchParams\n | { [name: string]: string }\n | null;\n\n/**\n * Submits a HTML `` to the server without reloading the page.\n */\nexport interface SubmitFunction {\n (\n /**\n * Specifies the `` to be submitted to the server, a specific\n * `\n * \n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import PropTypes from 'prop-types';\n\n// https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/js/src/modal.js#L436-L443\nexport function getScrollbarWidth() {\n let scrollDiv = document.createElement('div');\n // .modal-scrollbar-measure styles // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/scss/_modal.scss#L106-L113\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n}\n\nexport function setScrollbarWidth(padding) {\n document.body.style.paddingRight = padding > 0 ? `${padding}px` : null;\n}\n\nexport function isBodyOverflowing() {\n return document.body.clientWidth < window.innerWidth;\n}\n\nexport function getOriginalBodyPadding() {\n const style = window.getComputedStyle(document.body, null);\n\n return parseInt((style && style.getPropertyValue('padding-right')) || 0, 10);\n}\n\nexport function conditionallyUpdateScrollbar() {\n const scrollbarWidth = getScrollbarWidth();\n // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.6/js/src/modal.js#L433\n const fixedContent = document.querySelectorAll(\n '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n )[0];\n const bodyPadding = fixedContent\n ? parseInt(fixedContent.style.paddingRight || 0, 10)\n : 0;\n\n if (isBodyOverflowing()) {\n setScrollbarWidth(bodyPadding + scrollbarWidth);\n }\n}\n\nlet globalCssModule;\n\nexport function setGlobalCssModule(cssModule) {\n globalCssModule = cssModule;\n}\n\nexport function mapToCssModules(className = '', cssModule = globalCssModule) {\n if (!cssModule) return className;\n return className\n .split(' ')\n .map((c) => cssModule[c] || c)\n .join(' ');\n}\n\n/**\n * Returns a new object with the key/value pairs from `obj` that are not in the array `omitKeys`.\n */\nexport function omit(obj, omitKeys) {\n const result = {};\n Object.keys(obj).forEach((key) => {\n if (omitKeys.indexOf(key) === -1) {\n result[key] = obj[key];\n }\n });\n return result;\n}\n\n/**\n * Returns a filtered copy of an object with only the specified keys.\n */\nexport function pick(obj, keys) {\n const pickKeys = Array.isArray(keys) ? keys : [keys];\n let { length } = pickKeys;\n let key;\n const result = {};\n\n while (length > 0) {\n length -= 1;\n key = pickKeys[length];\n result[key] = obj[key];\n }\n return result;\n}\n\nlet warned = {};\n\nexport function warnOnce(message) {\n if (!warned[message]) {\n /* istanbul ignore else */\n if (typeof console !== 'undefined') {\n console.error(message); // eslint-disable-line no-console\n }\n warned[message] = true;\n }\n}\n\nexport function deprecated(propType, explanation) {\n return function validate(props, propName, componentName, ...rest) {\n if (props[propName] !== null && typeof props[propName] !== 'undefined') {\n warnOnce(\n `\"${propName}\" property of \"${componentName}\" has been deprecated.\\n${explanation}`,\n );\n }\n\n return propType(props, propName, componentName, ...rest);\n };\n}\n\n// Shim Element if needed (e.g. in Node environment)\nconst Element =\n (typeof window === 'object' && window.Element) || function () {};\n\nexport function DOMElement(props, propName, componentName) {\n if (!(props[propName] instanceof Element)) {\n return new Error(\n 'Invalid prop `' +\n propName +\n '` supplied to `' +\n componentName +\n '`. Expected prop to be an instance of Element. Validation failed.',\n );\n }\n}\n\nexport const targetPropType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n DOMElement,\n PropTypes.shape({ current: PropTypes.any }),\n]);\n\nexport const tagPropType = PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string,\n PropTypes.shape({ $$typeof: PropTypes.symbol, render: PropTypes.func }),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string,\n PropTypes.shape({ $$typeof: PropTypes.symbol, render: PropTypes.func }),\n ]),\n ),\n]);\n\n// These are all setup to match what is in the bootstrap _variables.scss\n// https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss\nexport const TransitionTimeouts = {\n Fade: 150, // $transition-fade\n Collapse: 350, // $transition-collapse\n Modal: 300, // $modal-transition\n Carousel: 600, // $carousel-transition\n Offcanvas: 300, // $offcanvas-transition\n};\n\n// Duplicated Transition.propType keys to ensure that Reactstrap builds\n// for distribution properly exclude these keys for nested child HTML attributes\n// since `react-transition-group` removes propTypes in production builds.\nexport const TransitionPropTypeKeys = [\n 'in',\n 'mountOnEnter',\n 'unmountOnExit',\n 'appear',\n 'enter',\n 'exit',\n 'timeout',\n 'onEnter',\n 'onEntering',\n 'onEntered',\n 'onExit',\n 'onExiting',\n 'onExited',\n];\n\nexport const TransitionStatuses = {\n ENTERING: 'entering',\n ENTERED: 'entered',\n EXITING: 'exiting',\n EXITED: 'exited',\n};\n\nexport const keyCodes = {\n esc: 27,\n space: 32,\n enter: 13,\n tab: 9,\n up: 38,\n down: 40,\n home: 36,\n end: 35,\n n: 78,\n p: 80,\n};\n\nexport const PopperPlacements = [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n\nexport const canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nexport function isReactRefObj(target) {\n if (target && typeof target === 'object') {\n return 'current' in target;\n }\n return false;\n}\n\nfunction getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return Object.prototype.toString.call(value);\n}\n\nexport function isObject(value) {\n const type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n}\n\nexport function toNumber(value) {\n const type = typeof value;\n const NAN = 0 / 0;\n if (type === 'number') {\n return value;\n }\n if (\n type === 'symbol' ||\n (type === 'object' && getTag(value) === '[object Symbol]')\n ) {\n return NAN;\n }\n if (isObject(value)) {\n const other = typeof value.valueOf === 'function' ? value.valueOf() : value;\n value = isObject(other) ? `${other}` : other;\n }\n if (type !== 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(/^\\s+|\\s+$/g, '');\n const isBinary = /^0b[01]+$/i.test(value);\n return isBinary || /^0o[0-7]+$/i.test(value)\n ? parseInt(value.slice(2), isBinary ? 2 : 8)\n : /^[-+]0x[0-9a-f]+$/i.test(value)\n ? NAN\n : +value;\n}\n\nexport function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n\n const tag = getTag(value);\n return (\n tag === '[object Function]' ||\n tag === '[object AsyncFunction]' ||\n tag === '[object GeneratorFunction]' ||\n tag === '[object Proxy]'\n );\n}\n\nexport function findDOMElements(target) {\n if (isReactRefObj(target)) {\n return target.current;\n }\n if (isFunction(target)) {\n return target();\n }\n if (typeof target === 'string' && canUseDOM) {\n let selection = document.querySelectorAll(target);\n if (!selection.length) {\n selection = document.querySelectorAll(`#${target}`);\n }\n if (!selection.length) {\n throw new Error(\n `The target '${target}' could not be identified in the dom, tip: check spelling`,\n );\n }\n return selection;\n }\n return target;\n}\n\nexport function isArrayOrNodeList(els) {\n if (els === null) {\n return false;\n }\n return Array.isArray(els) || (canUseDOM && typeof els.length === 'number');\n}\n\nexport function getTarget(target, allElements) {\n const els = findDOMElements(target);\n if (allElements) {\n if (isArrayOrNodeList(els)) {\n return els;\n }\n if (els === null) {\n return [];\n }\n return [els];\n }\n if (isArrayOrNodeList(els)) {\n return els[0];\n }\n return els;\n}\n\nexport const defaultToggleEvents = ['touchstart', 'click'];\n\nexport function addMultipleEventListeners(_els, handler, _events, useCapture) {\n let els = _els;\n if (!isArrayOrNodeList(els)) {\n els = [els];\n }\n\n let events = _events;\n if (typeof events === 'string') {\n events = events.split(/\\s+/);\n }\n\n if (\n !isArrayOrNodeList(els) ||\n typeof handler !== 'function' ||\n !Array.isArray(events)\n ) {\n throw new Error(`\n The first argument of this function must be DOM node or an array on DOM nodes or NodeList.\n The second must be a function.\n The third is a string or an array of strings that represents DOM events\n `);\n }\n\n Array.prototype.forEach.call(events, (event) => {\n Array.prototype.forEach.call(els, (el) => {\n el.addEventListener(event, handler, useCapture);\n });\n });\n return function removeEvents() {\n Array.prototype.forEach.call(events, (event) => {\n Array.prototype.forEach.call(els, (el) => {\n el.removeEventListener(event, handler, useCapture);\n });\n });\n };\n}\n\nexport const focusableElements = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'object',\n 'embed',\n '[tabindex]:not(.modal)',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n];\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n fluid: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction Container(props) {\n const { className, cssModule, fluid, tag: Tag, ...attributes } = props;\n\n let containerClass = 'container';\n if (fluid === true) {\n containerClass = 'container-fluid';\n } else if (fluid) {\n containerClass = `container-${fluid}`;\n }\n\n const classes = mapToCssModules(\n classNames(className, containerClass),\n cssModule,\n );\n\n return ;\n}\n\nContainer.propTypes = propTypes;\nContainer.defaultProps = defaultProps;\n\nexport default Container;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType, deprecated } from './utils';\n\nconst rowColWidths = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nconst rowColsPropType = PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n]);\n\nconst propTypes = {\n tag: tagPropType,\n noGutters: deprecated(\n PropTypes.bool,\n 'Please use Bootstrap 5 gutter utility classes. https://getbootstrap.com/docs/5.0/layout/gutters/',\n ),\n className: PropTypes.string,\n cssModule: PropTypes.object,\n xs: rowColsPropType,\n sm: rowColsPropType,\n md: rowColsPropType,\n lg: rowColsPropType,\n xl: rowColsPropType,\n xxl: rowColsPropType,\n widths: PropTypes.array,\n};\n\nconst defaultProps = {\n tag: 'div',\n widths: rowColWidths,\n};\n\nfunction Row(props) {\n const {\n className,\n cssModule,\n noGutters,\n tag: Tag,\n widths,\n ...attributes\n } = props;\n\n const colClasses = [];\n\n widths.forEach((colWidth, i) => {\n let colSize = props[colWidth];\n\n delete attributes[colWidth];\n\n if (!colSize) {\n return;\n }\n\n const isXs = !i;\n colClasses.push(\n isXs ? `row-cols-${colSize}` : `row-cols-${colWidth}-${colSize}`,\n );\n });\n\n const classes = mapToCssModules(\n classNames(className, noGutters ? 'gx-0' : null, 'row', colClasses),\n cssModule,\n );\n\n return ;\n}\n\nRow.propTypes = propTypes;\nRow.defaultProps = defaultProps;\n\nexport default Row;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType, isObject } from './utils';\n\nconst colWidths = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nconst stringOrNumberProp = PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n]);\n\nconst columnProps = PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.number,\n PropTypes.string,\n PropTypes.shape({\n size: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.number,\n PropTypes.string,\n ]),\n order: stringOrNumberProp,\n offset: stringOrNumberProp,\n }),\n]);\n\nconst propTypes = {\n tag: tagPropType,\n xs: columnProps,\n sm: columnProps,\n md: columnProps,\n lg: columnProps,\n xl: columnProps,\n xxl: columnProps,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n widths: PropTypes.array,\n};\n\nconst defaultProps = {\n tag: 'div',\n widths: colWidths,\n};\n\nconst getColumnSizeClass = (isXs, colWidth, colSize) => {\n if (colSize === true || colSize === '') {\n return isXs ? 'col' : `col-${colWidth}`;\n }\n if (colSize === 'auto') {\n return isXs ? 'col-auto' : `col-${colWidth}-auto`;\n }\n\n return isXs ? `col-${colSize}` : `col-${colWidth}-${colSize}`;\n};\n\nexport const getColumnClasses = (attributes, cssModule, widths = colWidths) => {\n const modifiedAttributes = attributes;\n const colClasses = [];\n\n widths.forEach((colWidth, i) => {\n let columnProp = modifiedAttributes[colWidth];\n\n delete modifiedAttributes[colWidth];\n\n if (!columnProp && columnProp !== '') {\n return;\n }\n\n const isXs = !i;\n\n if (isObject(columnProp)) {\n const colSizeInterfix = isXs ? '-' : `-${colWidth}-`;\n const colClass = getColumnSizeClass(isXs, colWidth, columnProp.size);\n\n colClasses.push(\n mapToCssModules(\n classNames({\n [colClass]: columnProp.size || columnProp.size === '',\n [`order${colSizeInterfix}${columnProp.order}`]:\n columnProp.order || columnProp.order === 0,\n [`offset${colSizeInterfix}${columnProp.offset}`]:\n columnProp.offset || columnProp.offset === 0,\n }),\n cssModule,\n ),\n );\n } else {\n const colClass = getColumnSizeClass(isXs, colWidth, columnProp);\n colClasses.push(colClass);\n }\n });\n\n return {\n colClasses,\n modifiedAttributes,\n };\n};\n\nfunction Col(props) {\n const { className, cssModule, widths, tag: Tag, ...attributes } = props;\n\n let { modifiedAttributes, colClasses } = getColumnClasses(\n attributes,\n cssModule,\n widths,\n );\n\n if (!colClasses.length) {\n colClasses.push('col');\n }\n\n const classes = mapToCssModules(classNames(className, colClasses), cssModule);\n\n return ;\n}\n\nCol.propTypes = propTypes;\nCol.defaultProps = defaultProps;\n\nexport default Col;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n children: PropTypes.node,\n /** Add custom class */\n className: PropTypes.string,\n /** Theme the navbar by adding a background color */\n color: PropTypes.string,\n /** Use any of the responsive containers to change how wide the content in your navbar is presented. */\n container: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n /** This prop is passed if the background is dark, to make the text lighter */\n dark: PropTypes.bool,\n /** Determine if to show toggler button */\n expand: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /** Make the navbar fixed at the top */\n fixed: PropTypes.string,\n full: PropTypes.bool,\n /** Add `.navbar-light` class */\n light: PropTypes.bool,\n role: PropTypes.string,\n /** Use `position: sticky` which isn't fully supported in every browser */\n sticky: PropTypes.string,\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'nav',\n expand: false,\n container: 'fluid',\n};\n\nconst getExpandClass = (expand) => {\n if (expand === false) {\n return false;\n }\n if (expand === true || expand === 'xs') {\n return 'navbar-expand';\n }\n\n return `navbar-expand-${expand}`;\n};\n\nfunction Navbar(props) {\n const {\n expand,\n className,\n cssModule,\n light,\n dark,\n fixed,\n sticky,\n color,\n container,\n tag: Tag,\n children,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(\n classNames(className, 'navbar', getExpandClass(expand), {\n 'navbar-light': light,\n 'navbar-dark': dark,\n [`bg-${color}`]: color,\n [`fixed-${fixed}`]: fixed,\n [`sticky-${sticky}`]: sticky,\n }),\n cssModule,\n );\n\n const containerClass =\n container && container === true ? 'container' : `container-${container}`;\n\n return (\n \n {container ?
{children}
: children}\n
\n );\n}\n\nNavbar.propTypes = propTypes;\nNavbar.defaultProps = defaultProps;\n\nexport default Navbar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Add custom class */\n className: PropTypes.string,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'a',\n};\n\nfunction NavbarBrand(props) {\n const { className, cssModule, tag: Tag, ...attributes } = props;\n\n const classes = mapToCssModules(\n classNames(className, 'navbar-brand'),\n cssModule,\n );\n\n return ;\n}\n\nNavbarBrand.propTypes = propTypes;\nNavbarBrand.defaultProps = defaultProps;\n\nexport default NavbarBrand;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Add custom class */\n className: PropTypes.string,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n /** Set a custom element for this component */\n tag: tagPropType,\n active: PropTypes.bool,\n};\n\nconst defaultProps = {\n tag: 'span',\n};\n\nfunction NavbarText(props) {\n const { className, cssModule, active, tag: Tag, ...attributes } = props;\n\n const classes = mapToCssModules(\n classNames(className, 'navbar-text'),\n cssModule,\n );\n\n return ;\n}\n\nNavbarText.propTypes = propTypes;\nNavbarText.defaultProps = defaultProps;\n\nexport default NavbarText;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Add custom class */\n className: PropTypes.string,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n /** Set a custom element for this component */\n tag: tagPropType,\n type: PropTypes.string,\n /** Pass children so this component can wrap the child elements */\n children: PropTypes.node,\n};\n\nconst defaultProps = {\n tag: 'button',\n type: 'button',\n};\n\nfunction NavbarToggler(props) {\n const { className, cssModule, children, tag: Tag, ...attributes } = props;\n\n const classes = mapToCssModules(\n classNames(className, 'navbar-toggler'),\n cssModule,\n );\n\n return (\n \n {children || (\n \n )}\n \n );\n}\n\nNavbarToggler.propTypes = propTypes;\nNavbarToggler.defaultProps = defaultProps;\n\nexport default NavbarToggler;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Adding card prop adds `.card-header-tabs` or `.card-header-pills` class */\n card: PropTypes.bool,\n /** Add custom class */\n className: PropTypes.string,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n /** fills the nav to extend to full available width */\n fill: PropTypes.bool,\n /** Change the horizontal alignment of your nav */\n horizontal: PropTypes.oneOf(['center', 'end']),\n /** All horizontal space will be occupied by nav links, but unlike the `fill` above, every nav item will be the same width. */\n justified: PropTypes.bool,\n /** Add navbar for a full-height and lightweight navigation */\n navbar: PropTypes.bool,\n /** Make NavItems look like pills */\n pills: PropTypes.bool,\n /** Make NavItems look like tabs */\n tabs: PropTypes.bool,\n /** Set a custom element for this component */\n tag: tagPropType,\n /** Stack your navigation by changing the flex item direction */\n vertical: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n};\n\nconst defaultProps = {\n tag: 'ul',\n vertical: false,\n};\n\nconst getVerticalClass = (vertical) => {\n if (vertical === false) {\n return false;\n }\n if (vertical === true || vertical === 'xs') {\n return 'flex-column';\n }\n\n return `flex-${vertical}-column`;\n};\n\nfunction Nav(props) {\n const {\n className,\n cssModule,\n tabs,\n pills,\n vertical,\n horizontal,\n justified,\n fill,\n navbar,\n card,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(\n classNames(\n className,\n navbar ? 'navbar-nav' : 'nav',\n horizontal ? `justify-content-${horizontal}` : false,\n getVerticalClass(vertical),\n {\n 'nav-tabs': tabs,\n 'card-header-tabs': card && tabs,\n 'nav-pills': pills,\n 'card-header-pills': card && pills,\n 'nav-justified': justified,\n 'nav-fill': fill,\n },\n ),\n cssModule,\n );\n\n return ;\n}\n\nNav.propTypes = propTypes;\nNav.defaultProps = defaultProps;\n\nexport default Nav;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Add active class to element */\n active: PropTypes.bool,\n /** Add custom class */\n className: PropTypes.string,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'li',\n};\n\nfunction NavItem(props) {\n const { className, cssModule, active, tag: Tag, ...attributes } = props;\n\n const classes = mapToCssModules(\n classNames(className, 'nav-item', active ? 'active' : false),\n cssModule,\n );\n\n return ;\n}\n\nNavItem.propTypes = propTypes;\nNavItem.defaultProps = defaultProps;\n\nexport default NavItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Add active class to NavLink */\n active: PropTypes.bool,\n /** Add custom class */\n className: PropTypes.string,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n /** Disable the link */\n disabled: PropTypes.bool,\n href: PropTypes.any,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.string,\n ]),\n /** Function to be triggered on click */\n onClick: PropTypes.func,\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'a',\n};\n\nclass NavLink extends React.Component {\n constructor(props) {\n super(props);\n\n this.onClick = this.onClick.bind(this);\n }\n\n onClick(e) {\n if (this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n if (this.props.href === '#') {\n e.preventDefault();\n }\n\n if (this.props.onClick) {\n this.props.onClick(e);\n }\n }\n\n render() {\n let {\n className,\n cssModule,\n active,\n tag: Tag,\n innerRef,\n ...attributes\n } = this.props;\n\n const classes = mapToCssModules(\n classNames(className, 'nav-link', {\n disabled: attributes.disabled,\n active: active,\n }),\n cssModule,\n );\n\n return (\n \n );\n }\n}\n\nNavLink.propTypes = propTypes;\nNavLink.defaultProps = defaultProps;\n\nexport default NavLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Aria label */\n 'aria-label': PropTypes.string,\n /** Pass children so this component can wrap them */\n children: PropTypes.node,\n /** Add custom class */\n className: PropTypes.string,\n /** Change existing className with a new className */\n cssModule: PropTypes.object,\n /** Add custom class to list tag */\n listClassName: PropTypes.string,\n /** Set a custom element for list tag */\n listTag: tagPropType,\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'nav',\n listTag: 'ol',\n 'aria-label': 'breadcrumb',\n};\n\nfunction Breadcrumb(props) {\n const {\n className,\n listClassName,\n cssModule,\n children,\n tag: Tag,\n listTag: ListTag,\n 'aria-label': label,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(className), cssModule);\n\n const listClasses = mapToCssModules(\n classNames('breadcrumb', listClassName),\n cssModule,\n );\n\n return (\n \n {children}\n \n );\n}\n\nBreadcrumb.propTypes = propTypes;\nBreadcrumb.defaultProps = defaultProps;\n\nexport default Breadcrumb;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Adds a visual \"active\" state to a Breadcrumb Item */\n active: PropTypes.bool,\n /** Add custom class to the element */\n className: PropTypes.string,\n /** Change existing className with a new className */\n cssModule: PropTypes.object,\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'li',\n};\n\nfunction BreadcrumbItem(props) {\n const { className, cssModule, active, tag: Tag, ...attributes } = props;\n const classes = mapToCssModules(\n classNames(className, active ? 'active' : false, 'breadcrumb-item'),\n cssModule,\n );\n\n return (\n \n );\n}\n\nBreadcrumbItem.propTypes = propTypes;\nBreadcrumbItem.defaultProps = defaultProps;\n\nexport default BreadcrumbItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules } from './utils';\n\nconst propTypes = {\n /** Disable the button if needed */\n active: PropTypes.bool,\n /** Aria label */\n 'aria-label': PropTypes.string,\n /** Function to be triggered on click */\n onClick: PropTypes.func,\n /** Change the variant to white */\n variant: PropTypes.oneOf(['white']),\n className: PropTypes.string,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n};\n\nconst defaultProps = {\n 'aria-label': 'close',\n};\n\nfunction CloseButton(props) {\n const { className, cssModule, variant, innerRef, ...attributes } = props;\n\n const classes = mapToCssModules(\n classNames(className, 'btn-close', variant && `btn-close-${variant}`),\n );\n\n return (\n \n \n );\n}\n\nAccordionHeader.propTypes = propTypes;\nAccordionHeader.defaultProps = defaultProps;\n\nexport default AccordionHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n children: PropTypes.node,\n /** To add custom class */\n className: PropTypes.string,\n /** Change existing base class name with a new class name */\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction AccordionItem(props) {\n const { className, cssModule, tag: Tag, innerRef, ...attributes } = props;\n const classes = mapToCssModules(\n classNames(className, 'accordion-item'),\n cssModule,\n );\n\n return ;\n}\n\nAccordionItem.propTypes = propTypes;\nAccordionItem.defaultProps = defaultProps;\n\nexport default AccordionItem;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Transition } from 'react-transition-group';\nimport {\n mapToCssModules,\n omit,\n pick,\n TransitionTimeouts,\n TransitionPropTypeKeys,\n TransitionStatuses,\n tagPropType,\n} from './utils';\n\nconst propTypes = {\n ...Transition.propTypes,\n /** Make content animation appear horizontally */\n horizontal: PropTypes.bool,\n /** Set if Collapse is open or closed */\n isOpen: PropTypes.bool,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /** Set a custom element for this component */\n tag: tagPropType,\n /** Add custom class */\n className: PropTypes.node,\n navbar: PropTypes.bool,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n innerRef: PropTypes.shape({ current: PropTypes.object }),\n};\n\nconst defaultProps = {\n ...Transition.defaultProps,\n horizontal: false,\n isOpen: false,\n appear: false,\n enter: true,\n exit: true,\n tag: 'div',\n timeout: TransitionTimeouts.Collapse,\n};\n\nconst transitionStatusToClassHash = {\n [TransitionStatuses.ENTERING]: 'collapsing',\n [TransitionStatuses.ENTERED]: 'collapse show',\n [TransitionStatuses.EXITING]: 'collapsing',\n [TransitionStatuses.EXITED]: 'collapse',\n};\n\nfunction getTransitionClass(status) {\n return transitionStatusToClassHash[status] || 'collapse';\n}\n\nclass Collapse extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n dimension: null,\n };\n\n this.nodeRef = props.innerRef || React.createRef();\n\n ['onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'].forEach(\n (name) => {\n this[name] = this[name].bind(this);\n },\n );\n }\n\n onEntering(_, isAppearing) {\n const node = this.getNode();\n this.setState({ dimension: this.getDimension(node) });\n this.props.onEntering(node, isAppearing);\n }\n\n onEntered(_, isAppearing) {\n const node = this.getNode();\n this.setState({ dimension: null });\n this.props.onEntered(node, isAppearing);\n }\n\n onExit() {\n const node = this.getNode();\n this.setState({ dimension: this.getDimension(node) });\n this.props.onExit(node);\n }\n\n onExiting() {\n const node = this.getNode();\n // getting this variable triggers a reflow\n const _unused = this.getDimension(node); // eslint-disable-line no-unused-vars\n this.setState({ dimension: 0 });\n this.props.onExiting(node);\n }\n\n onExited() {\n const node = this.getNode();\n this.setState({ dimension: null });\n this.props.onExited(node);\n }\n\n getNode() {\n return this.nodeRef.current;\n }\n\n getDimension(node) {\n return this.props.horizontal ? node.scrollWidth : node.scrollHeight;\n }\n\n render() {\n const {\n tag: Tag,\n horizontal,\n isOpen,\n className,\n navbar,\n cssModule,\n children,\n innerRef,\n ...otherProps\n } = this.props;\n\n const { dimension } = this.state;\n\n const transitionProps = pick(otherProps, TransitionPropTypeKeys);\n const childProps = omit(otherProps, TransitionPropTypeKeys);\n return (\n \n {(status) => {\n let collapseClass = getTransitionClass(status);\n const classes = mapToCssModules(\n classNames(\n className,\n horizontal && 'collapse-horizontal',\n collapseClass,\n navbar && 'navbar-collapse',\n ),\n cssModule,\n );\n const style =\n dimension === null\n ? null\n : { [horizontal ? 'width' : 'height']: dimension };\n return (\n \n {children}\n \n );\n }}\n \n );\n }\n}\n\nCollapse.propTypes = propTypes;\nCollapse.defaultProps = defaultProps;\nexport default Collapse;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nimport Collapse from './Collapse';\nimport { AccordionContext } from './AccordionContext';\n\nconst propTypes = {\n /** Unique key used to control item's collapse/expand */\n accordionId: PropTypes.string.isRequired,\n /** To add custom class */\n className: PropTypes.string,\n children: PropTypes.node,\n /** Change existing base class name with a new class name */\n cssModule: PropTypes.object,\n /** Pass ref to the component */\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction AccordionBody(props) {\n const {\n className,\n cssModule,\n tag: Tag,\n innerRef,\n children,\n accordionId,\n ...attributes\n } = props;\n\n const { open } = useContext(AccordionContext);\n\n const classes = mapToCssModules(\n classNames(className, 'accordion-collapse'),\n cssModule,\n );\n\n return (\n \n {children}\n \n );\n}\n\nAccordionBody.propTypes = propTypes;\nAccordionBody.defaultProps = defaultProps;\n\nexport default AccordionBody;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Pass children so this component can wrap the child elements */\n children: PropTypes.node,\n /** Add custom class */\n className: PropTypes.string,\n /** Change background color of Badge */\n color: PropTypes.string,\n /** Change existing className with a new className */\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.string,\n ]),\n /** Add rounded corners to the Badge */\n pill: PropTypes.bool,\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n color: 'secondary',\n pill: false,\n tag: 'span',\n};\n\nfunction Badge(props) {\n let {\n className,\n cssModule,\n color,\n innerRef,\n pill,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(\n classNames(\n className,\n 'badge',\n 'bg-' + color,\n pill ? 'rounded-pill' : false,\n ),\n cssModule,\n );\n\n if (attributes.href && Tag === 'span') {\n Tag = 'a';\n }\n\n return ;\n}\n\nBadge.propTypes = propTypes;\nBadge.defaultProps = defaultProps;\n\nexport default Badge;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Toggles card padding using `.card-body` */\n body: PropTypes.bool,\n /** Add custom class */\n className: PropTypes.string,\n /** Change background color of component */\n color: PropTypes.string,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n /** Inverts the color */\n inverse: PropTypes.bool,\n /** Changes the card to have only outline */\n outline: PropTypes.bool,\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction Card(props) {\n const {\n className,\n cssModule,\n color,\n body,\n inverse,\n outline,\n tag: Tag,\n innerRef,\n ...attributes\n } = props;\n const classes = mapToCssModules(\n classNames(\n className,\n 'card',\n inverse ? 'text-white' : false,\n body ? 'card-body' : false,\n color ? `${outline ? 'border' : 'bg'}-${color}` : false,\n ),\n cssModule,\n );\n\n return ;\n}\n\nCard.propTypes = propTypes;\nCard.defaultProps = defaultProps;\n\nexport default Card;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction CardGroup(props) {\n const { className, cssModule, tag: Tag, ...attributes } = props;\n const classes = mapToCssModules(\n classNames(className, 'card-group'),\n cssModule,\n );\n\n return ;\n}\n\nCardGroup.propTypes = propTypes;\nCardGroup.defaultProps = defaultProps;\n\nexport default CardGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction CardDeck(props) {\n const { className, cssModule, tag: Tag, ...attributes } = props;\n const classes = mapToCssModules(\n classNames(className, 'card-deck'),\n cssModule,\n );\n\n return ;\n}\n\nCardDeck.propTypes = propTypes;\nCardDeck.defaultProps = defaultProps;\n\nexport default CardDeck;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction CardColumns(props) {\n const { className, cssModule, tag: Tag, ...attributes } = props;\n const classes = mapToCssModules(\n classNames(className, 'card-columns'),\n cssModule,\n );\n\n return ;\n}\n\nCardColumns.propTypes = propTypes;\nCardColumns.defaultProps = defaultProps;\n\nexport default CardColumns;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Add custom class */\n className: PropTypes.string,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction CardBody(props) {\n const { className, cssModule, innerRef, tag: Tag, ...attributes } = props;\n const classes = mapToCssModules(\n classNames(className, 'card-body'),\n cssModule,\n );\n\n return ;\n}\n\nCardBody.propTypes = propTypes;\nCardBody.defaultProps = defaultProps;\n\nexport default CardBody;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.string,\n ]),\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'a',\n};\n\nfunction CardLink(props) {\n const { className, cssModule, tag: Tag, innerRef, ...attributes } = props;\n const classes = mapToCssModules(\n classNames(className, 'card-link'),\n cssModule,\n );\n\n return ;\n}\n\nCardLink.propTypes = propTypes;\nCardLink.defaultProps = defaultProps;\n\nexport default CardLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Add custom class */\n className: PropTypes.string,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction CardFooter(props) {\n const { className, cssModule, tag: Tag, ...attributes } = props;\n const classes = mapToCssModules(\n classNames(className, 'card-footer'),\n cssModule,\n );\n\n return ;\n}\n\nCardFooter.propTypes = propTypes;\nCardFooter.defaultProps = defaultProps;\n\nexport default CardFooter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Add custom class */\n className: PropTypes.string,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n /** Set a custom element for this component */\n tag: tagPropType,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction CardHeader(props) {\n const { className, cssModule, tag: Tag, ...attributes } = props;\n const classes = mapToCssModules(\n classNames(className, 'card-header'),\n cssModule,\n );\n\n return ;\n}\n\nCardHeader.propTypes = propTypes;\nCardHeader.defaultProps = defaultProps;\n\nexport default CardHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n /** Add `bottom` prop if image is at bottom of card */\n bottom: PropTypes.bool,\n /** Add custom class */\n className: PropTypes.string,\n /** Change existing className with a new className */\n cssModule: PropTypes.object,\n /** Set a custom element for this component */\n tag: tagPropType,\n /** Add `top` prop if image is at top of card */\n top: PropTypes.bool,\n};\n\nconst defaultProps = {\n tag: 'img',\n};\n\nfunction CardImg(props) {\n const { className, cssModule, top, bottom, tag: Tag, ...attributes } = props;\n\n let cardImgClassName = 'card-img';\n if (top) {\n cardImgClassName = 'card-img-top';\n }\n if (bottom) {\n cardImgClassName = 'card-img-bottom';\n }\n\n const classes = mapToCssModules(\n classNames(className, cardImgClassName),\n cssModule,\n );\n\n return ;\n}\n\nCardImg.propTypes = propTypes;\nCardImg.defaultProps = defaultProps;\n\nexport default CardImg;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nfunction CardImgOverlay(props) {\n const { className, cssModule, tag: Tag, ...attributes } = props;\n const classes = mapToCssModules(\n classNames(className, 'card-img-overlay'),\n cssModule,\n );\n\n return ;\n}\n\nCardImgOverlay.propTypes = propTypes;\nCardImgOverlay.defaultProps = defaultProps;\n\nexport default CardImgOverlay;\n","import React from 'react';\n\n/**\n * CarouselContext\n * {\n * direction: PropTypes.oneOf(['start', 'end']).isRequired,\n * }\n */\nexport const CarouselContext = React.createContext({});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Transition } from 'react-transition-group';\nimport { CarouselContext } from './CarouselContext';\nimport {\n mapToCssModules,\n TransitionTimeouts,\n TransitionStatuses,\n tagPropType,\n} from './utils';\n\nclass CarouselItem extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n startAnimation: false,\n };\n\n this.onEnter = this.onEnter.bind(this);\n this.onEntering = this.onEntering.bind(this);\n this.onExit = this.onExit.bind(this);\n this.onExiting = this.onExiting.bind(this);\n this.onExited = this.onExited.bind(this);\n }\n\n onEnter(node, isAppearing) {\n this.setState({ startAnimation: false });\n this.props.onEnter(node, isAppearing);\n }\n\n onEntering(node, isAppearing) {\n // getting this variable triggers a reflow\n const { offsetHeight } = node;\n this.setState({ startAnimation: true });\n this.props.onEntering(node, isAppearing);\n return offsetHeight;\n }\n\n onExit(node) {\n this.setState({ startAnimation: false });\n this.props.onExit(node);\n }\n\n onExiting(node) {\n this.setState({ startAnimation: true });\n node.dispatchEvent(new CustomEvent('slide.bs.carousel'));\n this.props.onExiting(node);\n }\n\n onExited(node) {\n node.dispatchEvent(new CustomEvent('slid.bs.carousel'));\n this.props.onExited(node);\n }\n\n render() {\n const {\n in: isIn,\n children,\n cssModule,\n slide,\n tag: Tag,\n className,\n ...transitionProps\n } = this.props;\n\n return (\n \n {(status) => {\n const { direction } = this.context;\n const isActive =\n status === TransitionStatuses.ENTERED ||\n status === TransitionStatuses.EXITING;\n const directionClassName =\n (status === TransitionStatuses.ENTERING ||\n status === TransitionStatuses.EXITING) &&\n this.state.startAnimation &&\n (direction === 'end' ? 'carousel-item-start' : 'carousel-item-end');\n const orderClassName =\n status === TransitionStatuses.ENTERING &&\n (direction === 'end' ? 'carousel-item-next' : 'carousel-item-prev');\n const itemClasses = mapToCssModules(\n classNames(\n className,\n 'carousel-item',\n isActive && 'active',\n directionClassName,\n orderClassName,\n ),\n cssModule,\n );\n\n return {children};\n }}\n \n );\n }\n}\n\nCarouselItem.propTypes = {\n ...Transition.propTypes,\n /** Set a custom element for this component */\n tag: tagPropType,\n in: PropTypes.bool,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n children: PropTypes.node,\n /** Enable/disable animation */\n slide: PropTypes.bool,\n /** Add custom class */\n className: PropTypes.string,\n};\n\nCarouselItem.defaultProps = {\n ...Transition.defaultProps,\n tag: 'div',\n timeout: TransitionTimeouts.Carousel,\n slide: true,\n};\n\nCarouselItem.contextType = CarouselContext;\n\nexport default CarouselItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport CarouselItem from './CarouselItem';\nimport { CarouselContext } from './CarouselContext';\nimport { mapToCssModules, omit } from './utils';\n\nconst SWIPE_THRESHOLD = 40;\n\nconst propTypes = {\n /** the current active slide of the carousel */\n activeIndex: PropTypes.number,\n /** a function which should advance the carousel to the next slide (via activeIndex) */\n next: PropTypes.func.isRequired,\n /** a function which should advance the carousel to the previous slide (via activeIndex) */\n previous: PropTypes.func.isRequired,\n /** controls if the left and right arrow keys should control the carousel */\n keyboard: PropTypes.bool,\n /** If set to \"hover\", pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on\n * mouseleave. If set to false, hovering over the carousel won't pause it.\n */\n pause: PropTypes.oneOf(['hover', false]),\n /** Autoplays the carousel after the user manually cycles the first item. If \"carousel\", autoplays the carousel on load. */\n ride: PropTypes.oneOf(['carousel']),\n /** the interval at which the carousel automatically cycles */\n interval: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n ]),\n children: PropTypes.array,\n /** called when the mouse enters the Carousel */\n mouseEnter: PropTypes.func,\n /** called when the mouse exits the Carousel */\n mouseLeave: PropTypes.func,\n /** controls whether the slide animation on the Carousel works or not */\n slide: PropTypes.bool,\n /** make the controls, indicators and captions dark on the Carousel */\n dark: PropTypes.bool,\n fade: PropTypes.bool,\n /** Change underlying component's CSS base class name */\n cssModule: PropTypes.object,\n /** Add custom class */\n className: PropTypes.string,\n /** Enable touch support */\n enableTouch: PropTypes.bool,\n};\n\nconst propsToOmit = Object.keys(propTypes);\n\nconst defaultProps = {\n interval: 5000,\n pause: 'hover',\n keyboard: true,\n slide: true,\n enableTouch: true,\n fade: false,\n};\n\nclass Carousel extends React.Component {\n constructor(props) {\n super(props);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.renderItems = this.renderItems.bind(this);\n this.hoverStart = this.hoverStart.bind(this);\n this.hoverEnd = this.hoverEnd.bind(this);\n this.handleTouchStart = this.handleTouchStart.bind(this);\n this.handleTouchEnd = this.handleTouchEnd.bind(this);\n this.touchStartX = 0;\n this.touchStartY = 0;\n this.state = {\n activeIndex: this.props.activeIndex,\n direction: 'end',\n indicatorClicked: false,\n };\n }\n\n componentDidMount() {\n // Set up the cycle\n if (this.props.ride === 'carousel') {\n this.setInterval();\n }\n\n // TODO: move this to the specific carousel like bootstrap. Currently it will trigger ALL carousels on the page.\n document.addEventListener('keyup', this.handleKeyPress);\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n let newState = null;\n let { activeIndex, direction, indicatorClicked } = prevState;\n\n if (nextProps.activeIndex !== activeIndex) {\n // Calculate the direction to turn\n if (nextProps.activeIndex === activeIndex + 1) {\n direction = 'end';\n } else if (nextProps.activeIndex === activeIndex - 1) {\n direction = 'start';\n } else if (nextProps.activeIndex < activeIndex) {\n direction = indicatorClicked ? 'start' : 'end';\n } else if (nextProps.activeIndex !== activeIndex) {\n direction = indicatorClicked ? 'end' : 'start';\n }\n\n newState = {\n activeIndex: nextProps.activeIndex,\n direction,\n indicatorClicked: false,\n };\n }\n\n return newState;\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.activeIndex === this.state.activeIndex) return;\n this.setInterval();\n }\n\n componentWillUnmount() {\n this.clearInterval();\n document.removeEventListener('keyup', this.handleKeyPress);\n }\n\n handleKeyPress(evt) {\n if (this.props.keyboard) {\n if (evt.keyCode === 37) {\n this.props.previous();\n } else if (evt.keyCode === 39) {\n this.props.next();\n }\n }\n }\n\n handleTouchStart(e) {\n if (!this.props.enableTouch) {\n return;\n }\n this.touchStartX = e.changedTouches[0].screenX;\n this.touchStartY = e.changedTouches[0].screenY;\n }\n\n handleTouchEnd(e) {\n if (!this.props.enableTouch) {\n return;\n }\n\n const currentX = e.changedTouches[0].screenX;\n const currentY = e.changedTouches[0].screenY;\n const diffX = Math.abs(this.touchStartX - currentX);\n const diffY = Math.abs(this.touchStartY - currentY);\n\n // Don't swipe if Y-movement is bigger than X-movement\n if (diffX < diffY) {\n return;\n }\n\n if (diffX < SWIPE_THRESHOLD) {\n return;\n }\n\n if (currentX < this.touchStartX) {\n this.props.next();\n } else {\n this.props.previous();\n }\n }\n\n getContextValue() {\n return { direction: this.state.direction };\n }\n\n setInterval() {\n // make sure not to have multiple intervals going...\n this.clearInterval();\n if (this.props.interval) {\n this.cycleInterval = setInterval(() => {\n this.props.next();\n }, parseInt(this.props.interval, 10));\n }\n }\n\n clearInterval() {\n clearInterval(this.cycleInterval);\n }\n\n hoverStart(...args) {\n if (this.props.pause === 'hover') {\n this.clearInterval();\n }\n if (this.props.mouseEnter) {\n this.props.mouseEnter(...args);\n }\n }\n\n hoverEnd(...args) {\n if (this.props.pause === 'hover') {\n this.setInterval();\n }\n if (this.props.mouseLeave) {\n this.props.mouseLeave(...args);\n }\n }\n\n renderItems(carouselItems, className) {\n const { slide } = this.props;\n return (\n
\n {carouselItems.map((item, index) => {\n const isIn = index === this.state.activeIndex;\n return React.cloneElement(item, {\n in: isIn,\n slide: slide,\n });\n })}\n
\n );\n }\n\n render() {\n const { cssModule, slide, className, dark, fade } = this.props;\n const attributes = omit(this.props, propsToOmit);\n const outerClasses = mapToCssModules(\n classNames(\n className,\n 'carousel',\n fade && 'carousel-fade',\n slide && 'slide',\n dark && 'carousel-dark',\n ),\n cssModule,\n );\n\n const innerClasses = mapToCssModules(\n classNames('carousel-inner'),\n cssModule,\n );\n\n // filter out booleans, null, or undefined\n const children = this.props.children.filter(\n (child) =>\n child !== null && child !== undefined && typeof child !== 'boolean',\n );\n\n const slidesOnly = children.every((child) => child.type === CarouselItem);\n\n // Rendering only slides\n if (slidesOnly) {\n return (\n \n \n {this.renderItems(children, innerClasses)}\n \n \n );\n }\n\n // Rendering slides and controls\n if (children[0] instanceof Array) {\n const carouselItems = children[0];\n const controlLeft = children[1];\n const controlRight = children[2];\n\n return (\n \n \n {this.renderItems(carouselItems, innerClasses)}\n {controlLeft}\n {controlRight}\n \n \n );\n }\n\n // Rendering indicators, slides and controls\n const indicators = children[0];\n const wrappedOnClick = (e) => {\n if (typeof indicators.props.onClickHandler === 'function') {\n this.setState({ indicatorClicked: true }, () =>\n indicators.props.onClickHandler(e),\n );\n }\n };\n const wrappedIndicators = React.cloneElement(indicators, {\n onClickHandler: wrappedOnClick,\n });\n const carouselItems = children[1];\n const controlLeft = children[2];\n const controlRight = children[3];\n\n return (\n \n \n {wrappedIndicators}\n {this.renderItems(carouselItems, innerClasses)}\n {controlLeft}\n {controlRight}\n \n \n );\n }\n}\n\nCarousel.propTypes = propTypes;\nCarousel.defaultProps = defaultProps;\n\nexport default Carousel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules } from './utils';\n\nfunction CarouselControl(props) {\n const {\n direction,\n onClickHandler,\n cssModule,\n directionText,\n className,\n ...attributes\n } = props;\n\n const anchorClasses = mapToCssModules(\n classNames(className, `carousel-control-${direction}`),\n cssModule,\n );\n\n const iconClasses = mapToCssModules(\n classNames(`carousel-control-${direction}-icon`),\n cssModule,\n );\n\n const screenReaderClasses = mapToCssModules(\n classNames('visually-hidden'),\n cssModule,\n );\n\n return (\n // We need to disable this linting rule to use an `
` instead of\n // `\n \n \n );\n }\n\n const { children } = this.props;\n return children;\n }\n};\n","import { pipe } from 'ramda';\nimport { ExternalLink } from 'react-external-link';\nimport { versionToPrintable, versionToSemVer } from '../utils/helpers/version';\nimport { isReachableServer, SelectedServer } from '../servers/data';\n\nconst SHLINK_WEB_CLIENT_VERSION = '%_VERSION_%';\nconst normalizeVersion = pipe(versionToSemVer(), versionToPrintable);\n\nexport interface ShlinkVersionsProps {\n selectedServer: SelectedServer;\n clientVersion?: string;\n}\n\nconst VersionLink = ({ project, version }: { project: 'shlink' | 'shlink-web-client'; version: string }) => (\n \n {version}\n \n);\n\nexport const ShlinkVersions = ({ selectedServer, clientVersion = SHLINK_WEB_CLIENT_VERSION }: ShlinkVersionsProps) => {\n const normalizedClientVersion = normalizeVersion(clientVersion);\n\n return (\n \n {isReachableServer(selectedServer) && (\n <>Server: - \n )}\n Client: \n \n );\n};\n","import classNames from 'classnames';\nimport { SelectedServer } from '../servers/data';\nimport { ShlinkVersions } from './ShlinkVersions';\nimport { Sidebar } from './reducers/sidebar';\nimport './ShlinkVersionsContainer.scss';\n\nexport interface ShlinkVersionsContainerProps {\n selectedServer: SelectedServer;\n sidebar: Sidebar;\n}\n\nexport const ShlinkVersionsContainer = ({ selectedServer, sidebar }: ShlinkVersionsContainerProps) => {\n const classes = classNames('text-center', {\n 'shlink-versions-container--with-sidebar': sidebar.sidebarPresent,\n });\n\n return (\n
\n \n
\n );\n};\n","import { FC, useEffect } from 'react';\n\ninterface WithoutSelectedServerProps {\n resetSelectedServer: Function;\n}\n\nexport function withoutSelectedServer(WrappedComponent: FC) {\n return (props: WithoutSelectedServerProps & T) => {\n const { resetSelectedServer } = props;\n useEffect(() => {\n resetSelectedServer();\n }, []);\n\n return ;\n };\n}\n","const errors = {\n\t0: \"Illegal state\",\n\t1: \"Immer drafts cannot have computed properties\",\n\t2: \"This object has been frozen and should not be mutated\",\n\t3(data: any) {\n\t\treturn (\n\t\t\t\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" +\n\t\t\tdata\n\t\t)\n\t},\n\t4: \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n\t5: \"Immer forbids circular references\",\n\t6: \"The first or second argument to `produce` must be a function\",\n\t7: \"The third argument to `produce` must be a function or undefined\",\n\t8: \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n\t9: \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n\t10: \"The given draft is already finalized\",\n\t11: \"Object.defineProperty() cannot be used on an Immer draft\",\n\t12: \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n\t13: \"Immer only supports deleting array indices\",\n\t14: \"Immer only supports setting array indices and the 'length' property\",\n\t15(path: string) {\n\t\treturn \"Cannot apply patch, path doesn't resolve: \" + path\n\t},\n\t16: 'Sets cannot have \"replace\" patches.',\n\t17(op: string) {\n\t\treturn \"Unsupported patch operation: \" + op\n\t},\n\t18(plugin: string) {\n\t\treturn `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`\n\t},\n\t20: \"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available\",\n\t21(thing: string) {\n\t\treturn `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`\n\t},\n\t22(thing: string) {\n\t\treturn `'current' expects a draft, got: ${thing}`\n\t},\n\t23(thing: string) {\n\t\treturn `'original' expects a draft, got: ${thing}`\n\t},\n\t24: \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n} as const\n\nexport function die(error: keyof typeof errors, ...args: any[]): never {\n\tif (__DEV__) {\n\t\tconst e = errors[error]\n\t\tconst msg = !e\n\t\t\t? \"unknown error nr: \" + error\n\t\t\t: typeof e === \"function\"\n\t\t\t? e.apply(null, args as any)\n\t\t\t: e\n\t\tthrow new Error(`[Immer] ${msg}`)\n\t}\n\tthrow new Error(\n\t\t`[Immer] minified error nr: ${error}${\n\t\t\targs.length ? \" \" + args.map(s => `'${s}'`).join(\",\") : \"\"\n\t\t}. Find the full error at: https://bit.ly/3cXEKWf`\n\t)\n}\n","import {\n\tDRAFT_STATE,\n\tDRAFTABLE,\n\thasSet,\n\tObjectish,\n\tDrafted,\n\tAnyObject,\n\tAnyMap,\n\tAnySet,\n\tImmerState,\n\thasMap,\n\tArchtype,\n\tdie\n} from \"../internal\"\n\n/** Returns true if the given value is an Immer draft */\n/*#__PURE__*/\nexport function isDraft(value: any): boolean {\n\treturn !!value && !!value[DRAFT_STATE]\n}\n\n/** Returns true if the given value can be drafted by Immer */\n/*#__PURE__*/\nexport function isDraftable(value: any): boolean {\n\tif (!value) return false\n\treturn (\n\t\tisPlainObject(value) ||\n\t\tArray.isArray(value) ||\n\t\t!!value[DRAFTABLE] ||\n\t\t!!value.constructor?.[DRAFTABLE] ||\n\t\tisMap(value) ||\n\t\tisSet(value)\n\t)\n}\n\nconst objectCtorString = Object.prototype.constructor.toString()\n/*#__PURE__*/\nexport function isPlainObject(value: any): boolean {\n\tif (!value || typeof value !== \"object\") return false\n\tconst proto = Object.getPrototypeOf(value)\n\tif (proto === null) {\n\t\treturn true\n\t}\n\tconst Ctor =\n\t\tObject.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n\n\tif (Ctor === Object) return true\n\n\treturn (\n\t\ttypeof Ctor == \"function\" &&\n\t\tFunction.toString.call(Ctor) === objectCtorString\n\t)\n}\n\n/** Get the underlying object that is represented by the given draft */\n/*#__PURE__*/\nexport function original(value: T): T | undefined\nexport function original(value: Drafted): any {\n\tif (!isDraft(value)) die(23, value)\n\treturn value[DRAFT_STATE].base_\n}\n\n/*#__PURE__*/\nexport const ownKeys: (target: AnyObject) => PropertyKey[] =\n\ttypeof Reflect !== \"undefined\" && Reflect.ownKeys\n\t\t? Reflect.ownKeys\n\t\t: typeof Object.getOwnPropertySymbols !== \"undefined\"\n\t\t? obj =>\n\t\t\t\tObject.getOwnPropertyNames(obj).concat(\n\t\t\t\t\tObject.getOwnPropertySymbols(obj) as any\n\t\t\t\t)\n\t\t: /* istanbul ignore next */ Object.getOwnPropertyNames\n\nexport const getOwnPropertyDescriptors =\n\tObject.getOwnPropertyDescriptors ||\n\tfunction getOwnPropertyDescriptors(target: any) {\n\t\t// Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n\t\tconst res: any = {}\n\t\townKeys(target).forEach(key => {\n\t\t\tres[key] = Object.getOwnPropertyDescriptor(target, key)\n\t\t})\n\t\treturn res\n\t}\n\nexport function each(\n\tobj: T,\n\titer: (key: string | number, value: any, source: T) => void,\n\tenumerableOnly?: boolean\n): void\nexport function each(obj: any, iter: any, enumerableOnly = false) {\n\tif (getArchtype(obj) === Archtype.Object) {\n\t\t;(enumerableOnly ? Object.keys : ownKeys)(obj).forEach(key => {\n\t\t\tif (!enumerableOnly || typeof key !== \"symbol\") iter(key, obj[key], obj)\n\t\t})\n\t} else {\n\t\tobj.forEach((entry: any, index: any) => iter(index, entry, obj))\n\t}\n}\n\n/*#__PURE__*/\nexport function getArchtype(thing: any): Archtype {\n\t/* istanbul ignore next */\n\tconst state: undefined | ImmerState = thing[DRAFT_STATE]\n\treturn state\n\t\t? state.type_ > 3\n\t\t\t? state.type_ - 4 // cause Object and Array map back from 4 and 5\n\t\t\t: (state.type_ as any) // others are the same\n\t\t: Array.isArray(thing)\n\t\t? Archtype.Array\n\t\t: isMap(thing)\n\t\t? Archtype.Map\n\t\t: isSet(thing)\n\t\t? Archtype.Set\n\t\t: Archtype.Object\n}\n\n/*#__PURE__*/\nexport function has(thing: any, prop: PropertyKey): boolean {\n\treturn getArchtype(thing) === Archtype.Map\n\t\t? thing.has(prop)\n\t\t: Object.prototype.hasOwnProperty.call(thing, prop)\n}\n\n/*#__PURE__*/\nexport function get(thing: AnyMap | AnyObject, prop: PropertyKey): any {\n\t// @ts-ignore\n\treturn getArchtype(thing) === Archtype.Map ? thing.get(prop) : thing[prop]\n}\n\n/*#__PURE__*/\nexport function set(thing: any, propOrOldValue: PropertyKey, value: any) {\n\tconst t = getArchtype(thing)\n\tif (t === Archtype.Map) thing.set(propOrOldValue, value)\n\telse if (t === Archtype.Set) {\n\t\tthing.delete(propOrOldValue)\n\t\tthing.add(value)\n\t} else thing[propOrOldValue] = value\n}\n\n/*#__PURE__*/\nexport function is(x: any, y: any): boolean {\n\t// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n\tif (x === y) {\n\t\treturn x !== 0 || 1 / x === 1 / y\n\t} else {\n\t\treturn x !== x && y !== y\n\t}\n}\n\n/*#__PURE__*/\nexport function isMap(target: any): target is AnyMap {\n\treturn hasMap && target instanceof Map\n}\n\n/*#__PURE__*/\nexport function isSet(target: any): target is AnySet {\n\treturn hasSet && target instanceof Set\n}\n/*#__PURE__*/\nexport function latest(state: ImmerState): any {\n\treturn state.copy_ || state.base_\n}\n\n/*#__PURE__*/\nexport function shallowCopy(base: any) {\n\tif (Array.isArray(base)) return Array.prototype.slice.call(base)\n\tconst descriptors = getOwnPropertyDescriptors(base)\n\tdelete descriptors[DRAFT_STATE as any]\n\tlet keys = ownKeys(descriptors)\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key: any = keys[i]\n\t\tconst desc = descriptors[key]\n\t\tif (desc.writable === false) {\n\t\t\tdesc.writable = true\n\t\t\tdesc.configurable = true\n\t\t}\n\t\t// like object.assign, we will read any _own_, get/set accessors. This helps in dealing\n\t\t// with libraries that trap values, like mobx or vue\n\t\t// unlike object.assign, non-enumerables will be copied as well\n\t\tif (desc.get || desc.set)\n\t\t\tdescriptors[key] = {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true, // could live with !!desc.set as well here...\n\t\t\t\tenumerable: desc.enumerable,\n\t\t\t\tvalue: base[key]\n\t\t\t}\n\t}\n\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n}\n\n/**\n * Freezes draftable objects. Returns the original object.\n * By default freezes shallowly, but if the second argument is `true` it will freeze recursively.\n *\n * @param obj\n * @param deep\n */\nexport function freeze(obj: T, deep?: boolean): T\nexport function freeze(obj: any, deep: boolean = false): T {\n\tif (isFrozen(obj) || isDraft(obj) || !isDraftable(obj)) return obj\n\tif (getArchtype(obj) > 1 /* Map or Set */) {\n\t\tobj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections as any\n\t}\n\tObject.freeze(obj)\n\tif (deep) each(obj, (key, value) => freeze(value, true), true)\n\treturn obj\n}\n\nfunction dontMutateFrozenCollections() {\n\tdie(2)\n}\n\nexport function isFrozen(obj: any): boolean {\n\tif (obj == null || typeof obj !== \"object\") return true\n\t// See #600, IE dies on non-objects in Object.isFrozen\n\treturn Object.isFrozen(obj)\n}\n","import {\n\tImmerState,\n\tPatch,\n\tImmerScope,\n\tDrafted,\n\tAnyObject,\n\tImmerBaseState,\n\tAnyMap,\n\tAnySet,\n\tProxyType,\n\tdie\n} from \"../internal\"\n\n/** Plugin utilities */\nconst plugins: {\n\tPatches?: {\n\t\tgeneratePatches_(\n\t\t\tstate: ImmerState,\n\t\t\tbasePath: PatchPath,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tgenerateReplacementPatches_(\n\t\t\tbase: any,\n\t\t\treplacement: any,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tapplyPatches_(draft: T, patches: Patch[]): T\n\t}\n\tES5?: {\n\t\twillFinalizeES5_(scope: ImmerScope, result: any, isReplaced: boolean): void\n\t\tcreateES5Proxy_(\n\t\t\tbase: T,\n\t\t\tparent?: ImmerState\n\t\t): Drafted\n\t\thasChanges_(state: ES5ArrayState | ES5ObjectState): boolean\n\t}\n\tMapSet?: {\n\t\tproxyMap_(target: T, parent?: ImmerState): T\n\t\tproxySet_(target: T, parent?: ImmerState): T\n\t}\n} = {}\n\ntype Plugins = typeof plugins\n\nexport function getPlugin(\n\tpluginKey: K\n): Exclude {\n\tconst plugin = plugins[pluginKey]\n\tif (!plugin) {\n\t\tdie(18, pluginKey)\n\t}\n\t// @ts-ignore\n\treturn plugin\n}\n\nexport function loadPlugin(\n\tpluginKey: K,\n\timplementation: Plugins[K]\n): void {\n\tif (!plugins[pluginKey]) plugins[pluginKey] = implementation\n}\n\n/** ES5 Plugin */\n\ninterface ES5BaseState extends ImmerBaseState {\n\tassigned_: {[key: string]: any}\n\tparent_?: ImmerState\n\trevoked_: boolean\n}\n\nexport interface ES5ObjectState extends ES5BaseState {\n\ttype_: ProxyType.ES5Object\n\tdraft_: Drafted\n\tbase_: AnyObject\n\tcopy_: AnyObject | null\n}\n\nexport interface ES5ArrayState extends ES5BaseState {\n\ttype_: ProxyType.ES5Array\n\tdraft_: Drafted\n\tbase_: any\n\tcopy_: any\n}\n\n/** Map / Set plugin */\n\nexport interface MapState extends ImmerBaseState {\n\ttype_: ProxyType.Map\n\tcopy_: AnyMap | undefined\n\tassigned_: Map | undefined\n\tbase_: AnyMap\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\nexport interface SetState extends ImmerBaseState {\n\ttype_: ProxyType.Set\n\tcopy_: AnySet | undefined\n\tbase_: AnySet\n\tdrafts_: Map // maps the original value to the draft value in the new set\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\n/** Patches plugin */\n\nexport type PatchPath = (string | number)[]\n","import {\n\tPatch,\n\tPatchListener,\n\tDrafted,\n\tImmer,\n\tDRAFT_STATE,\n\tImmerState,\n\tProxyType,\n\tgetPlugin\n} from \"../internal\"\nimport {die} from \"../utils/errors\"\n\n/** Each scope represents a `produce` call. */\n\nexport interface ImmerScope {\n\tpatches_?: Patch[]\n\tinversePatches_?: Patch[]\n\tcanAutoFreeze_: boolean\n\tdrafts_: any[]\n\tparent_?: ImmerScope\n\tpatchListener_?: PatchListener\n\timmer_: Immer\n\tunfinalizedDrafts_: number\n}\n\nlet currentScope: ImmerScope | undefined\n\nexport function getCurrentScope() {\n\tif (__DEV__ && !currentScope) die(0)\n\treturn currentScope!\n}\n\nfunction createScope(\n\tparent_: ImmerScope | undefined,\n\timmer_: Immer\n): ImmerScope {\n\treturn {\n\t\tdrafts_: [],\n\t\tparent_,\n\t\timmer_,\n\t\t// Whenever the modified draft contains a draft from another scope, we\n\t\t// need to prevent auto-freezing so the unowned draft can be finalized.\n\t\tcanAutoFreeze_: true,\n\t\tunfinalizedDrafts_: 0\n\t}\n}\n\nexport function usePatchesInScope(\n\tscope: ImmerScope,\n\tpatchListener?: PatchListener\n) {\n\tif (patchListener) {\n\t\tgetPlugin(\"Patches\") // assert we have the plugin\n\t\tscope.patches_ = []\n\t\tscope.inversePatches_ = []\n\t\tscope.patchListener_ = patchListener\n\t}\n}\n\nexport function revokeScope(scope: ImmerScope) {\n\tleaveScope(scope)\n\tscope.drafts_.forEach(revokeDraft)\n\t// @ts-ignore\n\tscope.drafts_ = null\n}\n\nexport function leaveScope(scope: ImmerScope) {\n\tif (scope === currentScope) {\n\t\tcurrentScope = scope.parent_\n\t}\n}\n\nexport function enterScope(immer: Immer) {\n\treturn (currentScope = createScope(currentScope, immer))\n}\n\nfunction revokeDraft(draft: Drafted) {\n\tconst state: ImmerState = draft[DRAFT_STATE]\n\tif (\n\t\tstate.type_ === ProxyType.ProxyObject ||\n\t\tstate.type_ === ProxyType.ProxyArray\n\t)\n\t\tstate.revoke_()\n\telse state.revoked_ = true\n}\n","import {\n\tImmerScope,\n\tDRAFT_STATE,\n\tisDraftable,\n\tNOTHING,\n\tPatchPath,\n\teach,\n\thas,\n\tfreeze,\n\tImmerState,\n\tisDraft,\n\tSetState,\n\tset,\n\tProxyType,\n\tgetPlugin,\n\tdie,\n\trevokeScope,\n\tisFrozen,\n\tshallowCopy\n} from \"../internal\"\n\nexport function processResult(result: any, scope: ImmerScope) {\n\tscope.unfinalizedDrafts_ = scope.drafts_.length\n\tconst baseDraft = scope.drafts_![0]\n\tconst isReplaced = result !== undefined && result !== baseDraft\n\tif (!scope.immer_.useProxies_)\n\t\tgetPlugin(\"ES5\").willFinalizeES5_(scope, result, isReplaced)\n\tif (isReplaced) {\n\t\tif (baseDraft[DRAFT_STATE].modified_) {\n\t\t\trevokeScope(scope)\n\t\t\tdie(4)\n\t\t}\n\t\tif (isDraftable(result)) {\n\t\t\t// Finalize the result in case it contains (or is) a subset of the draft.\n\t\t\tresult = finalize(scope, result)\n\t\t\tif (!scope.parent_) maybeFreeze(scope, result)\n\t\t}\n\t\tif (scope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(\n\t\t\t\tbaseDraft[DRAFT_STATE].base_,\n\t\t\t\tresult,\n\t\t\t\tscope.patches_,\n\t\t\t\tscope.inversePatches_!\n\t\t\t)\n\t\t}\n\t} else {\n\t\t// Finalize the base draft.\n\t\tresult = finalize(scope, baseDraft, [])\n\t}\n\trevokeScope(scope)\n\tif (scope.patches_) {\n\t\tscope.patchListener_!(scope.patches_, scope.inversePatches_!)\n\t}\n\treturn result !== NOTHING ? result : undefined\n}\n\nfunction finalize(rootScope: ImmerScope, value: any, path?: PatchPath) {\n\t// Don't recurse in tho recursive data structures\n\tif (isFrozen(value)) return value\n\n\tconst state: ImmerState = value[DRAFT_STATE]\n\t// A plain object, might need freezing, might contain drafts\n\tif (!state) {\n\t\teach(\n\t\t\tvalue,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, value, key, childValue, path),\n\t\t\ttrue // See #590, don't recurse into non-enumerable of non drafted objects\n\t\t)\n\t\treturn value\n\t}\n\t// Never finalize drafts owned by another scope.\n\tif (state.scope_ !== rootScope) return value\n\t// Unmodified draft, return the (frozen) original\n\tif (!state.modified_) {\n\t\tmaybeFreeze(rootScope, state.base_, true)\n\t\treturn state.base_\n\t}\n\t// Not finalized yet, let's do that now\n\tif (!state.finalized_) {\n\t\tstate.finalized_ = true\n\t\tstate.scope_.unfinalizedDrafts_--\n\t\tconst result =\n\t\t\t// For ES5, create a good copy from the draft first, with added keys and without deleted keys.\n\t\t\tstate.type_ === ProxyType.ES5Object || state.type_ === ProxyType.ES5Array\n\t\t\t\t? (state.copy_ = shallowCopy(state.draft_))\n\t\t\t\t: state.copy_\n\t\t// Finalize all children of the copy\n\t\t// For sets we clone before iterating, otherwise we can get in endless loop due to modifying during iteration, see #628\n\t\t// Although the original test case doesn't seem valid anyway, so if this in the way we can turn the next line\n\t\t// back to each(result, ....)\n\t\teach(\n\t\t\tstate.type_ === ProxyType.Set ? new Set(result) : result,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, result, key, childValue, path)\n\t\t)\n\t\t// everything inside is frozen, we can freeze here\n\t\tmaybeFreeze(rootScope, result, false)\n\t\t// first time finalizing, let's create those patches\n\t\tif (path && rootScope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generatePatches_(\n\t\t\t\tstate,\n\t\t\t\tpath,\n\t\t\t\trootScope.patches_,\n\t\t\t\trootScope.inversePatches_!\n\t\t\t)\n\t\t}\n\t}\n\treturn state.copy_\n}\n\nfunction finalizeProperty(\n\trootScope: ImmerScope,\n\tparentState: undefined | ImmerState,\n\ttargetObject: any,\n\tprop: string | number,\n\tchildValue: any,\n\trootPath?: PatchPath\n) {\n\tif (__DEV__ && childValue === targetObject) die(5)\n\tif (isDraft(childValue)) {\n\t\tconst path =\n\t\t\trootPath &&\n\t\t\tparentState &&\n\t\t\tparentState!.type_ !== ProxyType.Set && // Set objects are atomic since they have no keys.\n\t\t\t!has((parentState as Exclude).assigned_!, prop) // Skip deep patches for assigned keys.\n\t\t\t\t? rootPath!.concat(prop)\n\t\t\t\t: undefined\n\t\t// Drafts owned by `scope` are finalized here.\n\t\tconst res = finalize(rootScope, childValue, path)\n\t\tset(targetObject, prop, res)\n\t\t// Drafts from another scope must prevented to be frozen\n\t\t// if we got a draft back from finalize, we're in a nested produce and shouldn't freeze\n\t\tif (isDraft(res)) {\n\t\t\trootScope.canAutoFreeze_ = false\n\t\t} else return\n\t}\n\t// Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n\tif (isDraftable(childValue) && !isFrozen(childValue)) {\n\t\tif (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n\t\t\t// optimization: if an object is not a draft, and we don't have to\n\t\t\t// deepfreeze everything, and we are sure that no drafts are left in the remaining object\n\t\t\t// cause we saw and finalized all drafts already; we can stop visiting the rest of the tree.\n\t\t\t// This benefits especially adding large data tree's without further processing.\n\t\t\t// See add-data.js perf test\n\t\t\treturn\n\t\t}\n\t\tfinalize(rootScope, childValue)\n\t\t// immer deep freezes plain objects, so if there is no parent state, we freeze as well\n\t\tif (!parentState || !parentState.scope_.parent_)\n\t\t\tmaybeFreeze(rootScope, childValue)\n\t}\n}\n\nfunction maybeFreeze(scope: ImmerScope, value: any, deep = false) {\n\tif (scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n\t\tfreeze(value, deep)\n\t}\n}\n","import {\n\teach,\n\thas,\n\tis,\n\tisDraftable,\n\tshallowCopy,\n\tlatest,\n\tImmerBaseState,\n\tImmerState,\n\tDrafted,\n\tAnyObject,\n\tAnyArray,\n\tObjectish,\n\tgetCurrentScope,\n\tDRAFT_STATE,\n\tdie,\n\tcreateProxy,\n\tProxyType\n} from \"../internal\"\n\ninterface ProxyBaseState extends ImmerBaseState {\n\tassigned_: {\n\t\t[property: string]: boolean\n\t}\n\tparent_?: ImmerState\n\trevoke_(): void\n}\n\nexport interface ProxyObjectState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyObject\n\tbase_: any\n\tcopy_: any\n\tdraft_: Drafted\n}\n\nexport interface ProxyArrayState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyArray\n\tbase_: AnyArray\n\tcopy_: AnyArray | null\n\tdraft_: Drafted\n}\n\ntype ProxyState = ProxyObjectState | ProxyArrayState\n\n/**\n * Returns a new draft of the `base` object.\n *\n * The second argument is the parent draft-state (used internally).\n */\nexport function createProxyProxy(\n\tbase: T,\n\tparent?: ImmerState\n): Drafted {\n\tconst isArray = Array.isArray(base)\n\tconst state: ProxyState = {\n\t\ttype_: isArray ? ProxyType.ProxyArray : (ProxyType.ProxyObject as any),\n\t\t// Track which produce call this is associated with.\n\t\tscope_: parent ? parent.scope_ : getCurrentScope()!,\n\t\t// True for both shallow and deep changes.\n\t\tmodified_: false,\n\t\t// Used during finalization.\n\t\tfinalized_: false,\n\t\t// Track which properties have been assigned (true) or deleted (false).\n\t\tassigned_: {},\n\t\t// The parent draft state.\n\t\tparent_: parent,\n\t\t// The base state.\n\t\tbase_: base,\n\t\t// The base proxy.\n\t\tdraft_: null as any, // set below\n\t\t// The base copy with any updated values.\n\t\tcopy_: null,\n\t\t// Called by the `produce` function.\n\t\trevoke_: null as any,\n\t\tisManual_: false\n\t}\n\n\t// the traps must target something, a bit like the 'real' base.\n\t// but also, we need to be able to determine from the target what the relevant state is\n\t// (to avoid creating traps per instance to capture the state in closure,\n\t// and to avoid creating weird hidden properties as well)\n\t// So the trick is to use 'state' as the actual 'target'! (and make sure we intercept everything)\n\t// Note that in the case of an array, we put the state in an array to have better Reflect defaults ootb\n\tlet target: T = state as any\n\tlet traps: ProxyHandler> = objectTraps\n\tif (isArray) {\n\t\ttarget = [state] as any\n\t\ttraps = arrayTraps\n\t}\n\n\tconst {revoke, proxy} = Proxy.revocable(target, traps)\n\tstate.draft_ = proxy as any\n\tstate.revoke_ = revoke\n\treturn proxy as any\n}\n\n/**\n * Object drafts\n */\nexport const objectTraps: ProxyHandler = {\n\tget(state, prop) {\n\t\tif (prop === DRAFT_STATE) return state\n\n\t\tconst source = latest(state)\n\t\tif (!has(source, prop)) {\n\t\t\t// non-existing or non-own property...\n\t\t\treturn readPropFromProto(state, source, prop)\n\t\t}\n\t\tconst value = source[prop]\n\t\tif (state.finalized_ || !isDraftable(value)) {\n\t\t\treturn value\n\t\t}\n\t\t// Check for existing draft in modified state.\n\t\t// Assigned values are never drafted. This catches any drafts we created, too.\n\t\tif (value === peek(state.base_, prop)) {\n\t\t\tprepareCopy(state)\n\t\t\treturn (state.copy_![prop as any] = createProxy(\n\t\t\t\tstate.scope_.immer_,\n\t\t\t\tvalue,\n\t\t\t\tstate\n\t\t\t))\n\t\t}\n\t\treturn value\n\t},\n\thas(state, prop) {\n\t\treturn prop in latest(state)\n\t},\n\townKeys(state) {\n\t\treturn Reflect.ownKeys(latest(state))\n\t},\n\tset(\n\t\tstate: ProxyObjectState,\n\t\tprop: string /* strictly not, but helps TS */,\n\t\tvalue\n\t) {\n\t\tconst desc = getDescriptorFromProto(latest(state), prop)\n\t\tif (desc?.set) {\n\t\t\t// special case: if this write is captured by a setter, we have\n\t\t\t// to trigger it with the correct context\n\t\t\tdesc.set.call(state.draft_, value)\n\t\t\treturn true\n\t\t}\n\t\tif (!state.modified_) {\n\t\t\t// the last check is because we need to be able to distinguish setting a non-existing to undefined (which is a change)\n\t\t\t// from setting an existing property with value undefined to undefined (which is not a change)\n\t\t\tconst current = peek(latest(state), prop)\n\t\t\t// special case, if we assigning the original value to a draft, we can ignore the assignment\n\t\t\tconst currentState: ProxyObjectState = current?.[DRAFT_STATE]\n\t\t\tif (currentState && currentState.base_ === value) {\n\t\t\t\tstate.copy_![prop] = value\n\t\t\t\tstate.assigned_[prop] = false\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (is(value, current) && (value !== undefined || has(state.base_, prop)))\n\t\t\t\treturn true\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t}\n\n\t\tif (\n\t\t\tstate.copy_![prop] === value &&\n\t\t\t// special case: NaN\n\t\t\ttypeof value !== \"number\" &&\n\t\t\t// special case: handle new props with value 'undefined'\n\t\t\t(value !== undefined || prop in state.copy_)\n\t\t)\n\t\t\treturn true\n\n\t\t// @ts-ignore\n\t\tstate.copy_![prop] = value\n\t\tstate.assigned_[prop] = true\n\t\treturn true\n\t},\n\tdeleteProperty(state, prop: string) {\n\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\tif (peek(state.base_, prop) !== undefined || prop in state.base_) {\n\t\t\tstate.assigned_[prop] = false\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t} else {\n\t\t\t// if an originally not assigned property was deleted\n\t\t\tdelete state.assigned_[prop]\n\t\t}\n\t\t// @ts-ignore\n\t\tif (state.copy_) delete state.copy_[prop]\n\t\treturn true\n\t},\n\t// Note: We never coerce `desc.value` into an Immer draft, because we can't make\n\t// the same guarantee in ES5 mode.\n\tgetOwnPropertyDescriptor(state, prop) {\n\t\tconst owner = latest(state)\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(owner, prop)\n\t\tif (!desc) return desc\n\t\treturn {\n\t\t\twritable: true,\n\t\t\tconfigurable: state.type_ !== ProxyType.ProxyArray || prop !== \"length\",\n\t\t\tenumerable: desc.enumerable,\n\t\t\tvalue: owner[prop]\n\t\t}\n\t},\n\tdefineProperty() {\n\t\tdie(11)\n\t},\n\tgetPrototypeOf(state) {\n\t\treturn Object.getPrototypeOf(state.base_)\n\t},\n\tsetPrototypeOf() {\n\t\tdie(12)\n\t}\n}\n\n/**\n * Array drafts\n */\n\nconst arrayTraps: ProxyHandler<[ProxyArrayState]> = {}\neach(objectTraps, (key, fn) => {\n\t// @ts-ignore\n\tarrayTraps[key] = function() {\n\t\targuments[0] = arguments[0][0]\n\t\treturn fn.apply(this, arguments)\n\t}\n})\narrayTraps.deleteProperty = function(state, prop) {\n\tif (__DEV__ && isNaN(parseInt(prop as any))) die(13)\n\t// @ts-ignore\n\treturn arrayTraps.set!.call(this, state, prop, undefined)\n}\narrayTraps.set = function(state, prop, value) {\n\tif (__DEV__ && prop !== \"length\" && isNaN(parseInt(prop as any))) die(14)\n\treturn objectTraps.set!.call(this, state[0], prop, value, state[0])\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft: Drafted, prop: PropertyKey) {\n\tconst state = draft[DRAFT_STATE]\n\tconst source = state ? latest(state) : draft\n\treturn source[prop]\n}\n\nfunction readPropFromProto(state: ImmerState, source: any, prop: PropertyKey) {\n\tconst desc = getDescriptorFromProto(source, prop)\n\treturn desc\n\t\t? `value` in desc\n\t\t\t? desc.value\n\t\t\t: // This is a very special case, if the prop is a getter defined by the\n\t\t\t // prototype, we should invoke it with the draft as context!\n\t\t\t desc.get?.call(state.draft_)\n\t\t: undefined\n}\n\nfunction getDescriptorFromProto(\n\tsource: any,\n\tprop: PropertyKey\n): PropertyDescriptor | undefined {\n\t// 'in' checks proto!\n\tif (!(prop in source)) return undefined\n\tlet proto = Object.getPrototypeOf(source)\n\twhile (proto) {\n\t\tconst desc = Object.getOwnPropertyDescriptor(proto, prop)\n\t\tif (desc) return desc\n\t\tproto = Object.getPrototypeOf(proto)\n\t}\n\treturn undefined\n}\n\nexport function markChanged(state: ImmerState) {\n\tif (!state.modified_) {\n\t\tstate.modified_ = true\n\t\tif (state.parent_) {\n\t\t\tmarkChanged(state.parent_)\n\t\t}\n\t}\n}\n\nexport function prepareCopy(state: {base_: any; copy_: any}) {\n\tif (!state.copy_) {\n\t\tstate.copy_ = shallowCopy(state.base_)\n\t}\n}\n","import {\n\tIProduceWithPatches,\n\tIProduce,\n\tImmerState,\n\tDrafted,\n\tisDraftable,\n\tprocessResult,\n\tPatch,\n\tObjectish,\n\tDRAFT_STATE,\n\tDraft,\n\tPatchListener,\n\tisDraft,\n\tisMap,\n\tisSet,\n\tcreateProxyProxy,\n\tgetPlugin,\n\tdie,\n\thasProxies,\n\tenterScope,\n\trevokeScope,\n\tleaveScope,\n\tusePatchesInScope,\n\tgetCurrentScope,\n\tNOTHING,\n\tfreeze,\n\tcurrent\n} from \"../internal\"\n\ninterface ProducersFns {\n\tproduce: IProduce\n\tproduceWithPatches: IProduceWithPatches\n}\n\nexport class Immer implements ProducersFns {\n\tuseProxies_: boolean = hasProxies\n\n\tautoFreeze_: boolean = true\n\n\tconstructor(config?: {useProxies?: boolean; autoFreeze?: boolean}) {\n\t\tif (typeof config?.useProxies === \"boolean\")\n\t\t\tthis.setUseProxies(config!.useProxies)\n\t\tif (typeof config?.autoFreeze === \"boolean\")\n\t\t\tthis.setAutoFreeze(config!.autoFreeze)\n\t}\n\n\t/**\n\t * The `produce` function takes a value and a \"recipe function\" (whose\n\t * return value often depends on the base state). The recipe function is\n\t * free to mutate its first argument however it wants. All mutations are\n\t * only ever applied to a __copy__ of the base state.\n\t *\n\t * Pass only a function to create a \"curried producer\" which relieves you\n\t * from passing the recipe function every time.\n\t *\n\t * Only plain objects and arrays are made mutable. All other objects are\n\t * considered uncopyable.\n\t *\n\t * Note: This function is __bound__ to its `Immer` instance.\n\t *\n\t * @param {any} base - the initial state\n\t * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n\t * @param {Function} patchListener - optional function that will be called with all the patches produced here\n\t * @returns {any} a new state, or the initial state if nothing was modified\n\t */\n\tproduce: IProduce = (base: any, recipe?: any, patchListener?: any) => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\" && typeof recipe !== \"function\") {\n\t\t\tconst defaultBase = recipe\n\t\t\trecipe = base\n\n\t\t\tconst self = this\n\t\t\treturn function curriedProduce(\n\t\t\t\tthis: any,\n\t\t\t\tbase = defaultBase,\n\t\t\t\t...args: any[]\n\t\t\t) {\n\t\t\t\treturn self.produce(base, (draft: Drafted) => recipe.call(this, draft, ...args)) // prettier-ignore\n\t\t\t}\n\t\t}\n\n\t\tif (typeof recipe !== \"function\") die(6)\n\t\tif (patchListener !== undefined && typeof patchListener !== \"function\")\n\t\t\tdie(7)\n\n\t\tlet result\n\n\t\t// Only plain objects, arrays, and \"immerable classes\" are drafted.\n\t\tif (isDraftable(base)) {\n\t\t\tconst scope = enterScope(this)\n\t\t\tconst proxy = createProxy(this, base, undefined)\n\t\t\tlet hasError = true\n\t\t\ttry {\n\t\t\t\tresult = recipe(proxy)\n\t\t\t\thasError = false\n\t\t\t} finally {\n\t\t\t\t// finally instead of catch + rethrow better preserves original stack\n\t\t\t\tif (hasError) revokeScope(scope)\n\t\t\t\telse leaveScope(scope)\n\t\t\t}\n\t\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\t\treturn result.then(\n\t\t\t\t\tresult => {\n\t\t\t\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\t\t\t\treturn processResult(result, scope)\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\trevokeScope(scope)\n\t\t\t\t\t\tthrow error\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\treturn processResult(result, scope)\n\t\t} else if (!base || typeof base !== \"object\") {\n\t\t\tresult = recipe(base)\n\t\t\tif (result === undefined) result = base\n\t\t\tif (result === NOTHING) result = undefined\n\t\t\tif (this.autoFreeze_) freeze(result, true)\n\t\t\tif (patchListener) {\n\t\t\t\tconst p: Patch[] = []\n\t\t\t\tconst ip: Patch[] = []\n\t\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip)\n\t\t\t\tpatchListener(p, ip)\n\t\t\t}\n\t\t\treturn result\n\t\t} else die(21, base)\n\t}\n\n\tproduceWithPatches: IProduceWithPatches = (\n\t\tbase: any,\n\t\trecipe?: any,\n\t): any => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\") {\n\t\t\treturn (state: any, ...args: any[]) =>\n\t\t\t\tthis.produceWithPatches(state, (draft: any) => base(draft, ...args))\n\t\t}\n\n\t\tlet patches: Patch[], inversePatches: Patch[]\n\t\tconst result = this.produce(base, recipe, (p: Patch[], ip: Patch[]) => {\n\t\t\tpatches = p\n\t\t\tinversePatches = ip\n\t\t})\n\n\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\treturn result.then(nextState => [nextState, patches!, inversePatches!])\n\t\t}\n\t\treturn [result, patches!, inversePatches!]\n\t}\n\n\tcreateDraft(base: T): Draft {\n\t\tif (!isDraftable(base)) die(8)\n\t\tif (isDraft(base)) base = current(base)\n\t\tconst scope = enterScope(this)\n\t\tconst proxy = createProxy(this, base, undefined)\n\t\tproxy[DRAFT_STATE].isManual_ = true\n\t\tleaveScope(scope)\n\t\treturn proxy as any\n\t}\n\n\tfinishDraft>(\n\t\tdraft: D,\n\t\tpatchListener?: PatchListener\n\t): D extends Draft ? T : never {\n\t\tconst state: ImmerState = draft && (draft as any)[DRAFT_STATE]\n\t\tif (__DEV__) {\n\t\t\tif (!state || !state.isManual_) die(9)\n\t\t\tif (state.finalized_) die(10)\n\t\t}\n\t\tconst {scope_: scope} = state\n\t\tusePatchesInScope(scope, patchListener)\n\t\treturn processResult(undefined, scope)\n\t}\n\n\t/**\n\t * Pass true to automatically freeze all copies created by Immer.\n\t *\n\t * By default, auto-freezing is enabled.\n\t */\n\tsetAutoFreeze(value: boolean) {\n\t\tthis.autoFreeze_ = value\n\t}\n\n\t/**\n\t * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n\t * always faster than using ES5 proxies.\n\t *\n\t * By default, feature detection is used, so calling this is rarely necessary.\n\t */\n\tsetUseProxies(value: boolean) {\n\t\tif (value && !hasProxies) {\n\t\t\tdie(20)\n\t\t}\n\t\tthis.useProxies_ = value\n\t}\n\n\tapplyPatches(base: T, patches: Patch[]): T {\n\t\t// If a patch replaces the entire state, take that replacement as base\n\t\t// before applying patches\n\t\tlet i: number\n\t\tfor (i = patches.length - 1; i >= 0; i--) {\n\t\t\tconst patch = patches[i]\n\t\t\tif (patch.path.length === 0 && patch.op === \"replace\") {\n\t\t\t\tbase = patch.value\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// If there was a patch that replaced the entire state, start from the\n\t\t// patch after that.\n\t\tif (i > -1) {\n\t\t\tpatches = patches.slice(i + 1)\n\t\t}\n\n\t\tconst applyPatchesImpl = getPlugin(\"Patches\").applyPatches_\n\t\tif (isDraft(base)) {\n\t\t\t// N.B: never hits if some patch a replacement, patches are never drafts\n\t\t\treturn applyPatchesImpl(base, patches)\n\t\t}\n\t\t// Otherwise, produce a copy of the base state.\n\t\treturn this.produce(base, (draft: Drafted) =>\n\t\t\tapplyPatchesImpl(draft, patches)\n\t\t)\n\t}\n}\n\nexport function createProxy(\n\timmer: Immer,\n\tvalue: T,\n\tparent?: ImmerState\n): Drafted {\n\t// precondition: createProxy should be guarded by isDraftable, so we know we can safely draft\n\tconst draft: Drafted = isMap(value)\n\t\t? getPlugin(\"MapSet\").proxyMap_(value, parent)\n\t\t: isSet(value)\n\t\t? getPlugin(\"MapSet\").proxySet_(value, parent)\n\t\t: immer.useProxies_\n\t\t? createProxyProxy(value, parent)\n\t\t: getPlugin(\"ES5\").createES5Proxy_(value, parent)\n\n\tconst scope = parent ? parent.scope_ : getCurrentScope()\n\tscope.drafts_.push(draft)\n\treturn draft\n}\n","import {\n\tdie,\n\tisDraft,\n\tshallowCopy,\n\teach,\n\tDRAFT_STATE,\n\tget,\n\tset,\n\tImmerState,\n\tisDraftable,\n\tArchtype,\n\tgetArchtype,\n\tgetPlugin\n} from \"../internal\"\n\n/** Takes a snapshot of the current state of a draft and finalizes it (but without freezing). This is a great utility to print the current state during debugging (no Proxies in the way). The output of current can also be safely leaked outside the producer. */\nexport function current(value: T): T\nexport function current(value: any): any {\n\tif (!isDraft(value)) die(22, value)\n\treturn currentImpl(value)\n}\n\nfunction currentImpl(value: any): any {\n\tif (!isDraftable(value)) return value\n\tconst state: ImmerState | undefined = value[DRAFT_STATE]\n\tlet copy: any\n\tconst archType = getArchtype(value)\n\tif (state) {\n\t\tif (\n\t\t\t!state.modified_ &&\n\t\t\t(state.type_ < 4 || !getPlugin(\"ES5\").hasChanges_(state as any))\n\t\t)\n\t\t\treturn state.base_\n\t\t// Optimization: avoid generating new drafts during copying\n\t\tstate.finalized_ = true\n\t\tcopy = copyHelper(value, archType)\n\t\tstate.finalized_ = false\n\t} else {\n\t\tcopy = copyHelper(value, archType)\n\t}\n\n\teach(copy, (key, childValue) => {\n\t\tif (state && get(state.base_, key) === childValue) return // no need to copy or search in something that didn't change\n\t\tset(copy, key, currentImpl(childValue))\n\t})\n\t// In the future, we might consider freezing here, based on the current settings\n\treturn archType === Archtype.Set ? new Set(copy) : copy\n}\n\nfunction copyHelper(value: any, archType: number): any {\n\t// creates a shallow copy, even if it is a map or set\n\tswitch (archType) {\n\t\tcase Archtype.Map:\n\t\t\treturn new Map(value)\n\t\tcase Archtype.Set:\n\t\t\t// Set will be cloned as array temporarily, so that we can replace individual items\n\t\t\treturn Array.from(value)\n\t}\n\treturn shallowCopy(value)\n}\n","import {\n\tImmerState,\n\tDrafted,\n\tES5ArrayState,\n\tES5ObjectState,\n\teach,\n\thas,\n\tisDraft,\n\tlatest,\n\tDRAFT_STATE,\n\tis,\n\tloadPlugin,\n\tImmerScope,\n\tProxyType,\n\tgetCurrentScope,\n\tdie,\n\tmarkChanged,\n\tobjectTraps,\n\townKeys,\n\tgetOwnPropertyDescriptors\n} from \"../internal\"\n\ntype ES5State = ES5ArrayState | ES5ObjectState\n\nexport function enableES5() {\n\tfunction willFinalizeES5_(\n\t\tscope: ImmerScope,\n\t\tresult: any,\n\t\tisReplaced: boolean\n\t) {\n\t\tif (!isReplaced) {\n\t\t\tif (scope.patches_) {\n\t\t\t\tmarkChangesRecursively(scope.drafts_![0])\n\t\t\t}\n\t\t\t// This is faster when we don't care about which attributes changed.\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t\t// When a child draft is returned, look for changes.\n\t\telse if (\n\t\t\tisDraft(result) &&\n\t\t\t(result[DRAFT_STATE] as ES5State).scope_ === scope\n\t\t) {\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t}\n\n\tfunction createES5Draft(isArray: boolean, base: any) {\n\t\tif (isArray) {\n\t\t\tconst draft = new Array(base.length)\n\t\t\tfor (let i = 0; i < base.length; i++)\n\t\t\t\tObject.defineProperty(draft, \"\" + i, proxyProperty(i, true))\n\t\t\treturn draft\n\t\t} else {\n\t\t\tconst descriptors = getOwnPropertyDescriptors(base)\n\t\t\tdelete descriptors[DRAFT_STATE as any]\n\t\t\tconst keys = ownKeys(descriptors)\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst key: any = keys[i]\n\t\t\t\tdescriptors[key] = proxyProperty(\n\t\t\t\t\tkey,\n\t\t\t\t\tisArray || !!descriptors[key].enumerable\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n\t\t}\n\t}\n\n\tfunction createES5Proxy_(\n\t\tbase: T,\n\t\tparent?: ImmerState\n\t): Drafted {\n\t\tconst isArray = Array.isArray(base)\n\t\tconst draft = createES5Draft(isArray, base)\n\n\t\tconst state: ES5ObjectState | ES5ArrayState = {\n\t\t\ttype_: isArray ? ProxyType.ES5Array : (ProxyType.ES5Object as any),\n\t\t\tscope_: parent ? parent.scope_ : getCurrentScope(),\n\t\t\tmodified_: false,\n\t\t\tfinalized_: false,\n\t\t\tassigned_: {},\n\t\t\tparent_: parent,\n\t\t\t// base is the object we are drafting\n\t\t\tbase_: base,\n\t\t\t// draft is the draft object itself, that traps all reads and reads from either the base (if unmodified) or copy (if modified)\n\t\t\tdraft_: draft,\n\t\t\tcopy_: null,\n\t\t\trevoked_: false,\n\t\t\tisManual_: false\n\t\t}\n\n\t\tObject.defineProperty(draft, DRAFT_STATE, {\n\t\t\tvalue: state,\n\t\t\t// enumerable: false <- the default\n\t\t\twritable: true\n\t\t})\n\t\treturn draft\n\t}\n\n\t// property descriptors are recycled to make sure we don't create a get and set closure per property,\n\t// but share them all instead\n\tconst descriptors: {[prop: string]: PropertyDescriptor} = {}\n\n\tfunction proxyProperty(\n\t\tprop: string | number,\n\t\tenumerable: boolean\n\t): PropertyDescriptor {\n\t\tlet desc = descriptors[prop]\n\t\tif (desc) {\n\t\t\tdesc.enumerable = enumerable\n\t\t} else {\n\t\t\tdescriptors[prop] = desc = {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable,\n\t\t\t\tget(this: any) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn objectTraps.get(state, prop)\n\t\t\t\t},\n\t\t\t\tset(this: any, value) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tobjectTraps.set(state, prop, value)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn desc\n\t}\n\n\t// This looks expensive, but only proxies are visited, and only objects without known changes are scanned.\n\tfunction markChangesSweep(drafts: Drafted[]) {\n\t\t// The natural order of drafts in the `scope` array is based on when they\n\t\t// were accessed. By processing drafts in reverse natural order, we have a\n\t\t// better chance of processing leaf nodes first. When a leaf node is known to\n\t\t// have changed, we can avoid any traversal of its ancestor nodes.\n\t\tfor (let i = drafts.length - 1; i >= 0; i--) {\n\t\t\tconst state: ES5State = drafts[i][DRAFT_STATE]\n\t\t\tif (!state.modified_) {\n\t\t\t\tswitch (state.type_) {\n\t\t\t\t\tcase ProxyType.ES5Array:\n\t\t\t\t\t\tif (hasArrayChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase ProxyType.ES5Object:\n\t\t\t\t\t\tif (hasObjectChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markChangesRecursively(object: any) {\n\t\tif (!object || typeof object !== \"object\") return\n\t\tconst state: ES5State | undefined = object[DRAFT_STATE]\n\t\tif (!state) return\n\t\tconst {base_, draft_, assigned_, type_} = state\n\t\tif (type_ === ProxyType.ES5Object) {\n\t\t\t// Look for added keys.\n\t\t\t// probably there is a faster way to detect changes, as sweep + recurse seems to do some\n\t\t\t// unnecessary work.\n\t\t\t// also: probably we can store the information we detect here, to speed up tree finalization!\n\t\t\teach(draft_, key => {\n\t\t\t\tif ((key as any) === DRAFT_STATE) return\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif ((base_ as any)[key] === undefined && !has(base_, key)) {\n\t\t\t\t\tassigned_[key] = true\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t} else if (!assigned_[key]) {\n\t\t\t\t\t// Only untouched properties trigger recursion.\n\t\t\t\t\tmarkChangesRecursively(draft_[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Look for removed keys.\n\t\t\teach(base_, key => {\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif (draft_[key] === undefined && !has(draft_, key)) {\n\t\t\t\t\tassigned_[key] = false\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t}\n\t\t\t})\n\t\t} else if (type_ === ProxyType.ES5Array) {\n\t\t\tif (hasArrayChanges(state as ES5ArrayState)) {\n\t\t\t\tmarkChanged(state)\n\t\t\t\tassigned_.length = true\n\t\t\t}\n\n\t\t\tif (draft_.length < base_.length) {\n\t\t\t\tfor (let i = draft_.length; i < base_.length; i++) assigned_[i] = false\n\t\t\t} else {\n\t\t\t\tfor (let i = base_.length; i < draft_.length; i++) assigned_[i] = true\n\t\t\t}\n\n\t\t\t// Minimum count is enough, the other parts has been processed.\n\t\t\tconst min = Math.min(draft_.length, base_.length)\n\n\t\t\tfor (let i = 0; i < min; i++) {\n\t\t\t\t// Only untouched indices trigger recursion.\n\t\t\t\tif (!draft_.hasOwnProperty(i)) {\n\t\t\t\t\tassigned_[i] = true\n\t\t\t\t}\n\t\t\t\tif (assigned_[i] === undefined) markChangesRecursively(draft_[i])\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction hasObjectChanges(state: ES5ObjectState) {\n\t\tconst {base_, draft_} = state\n\n\t\t// Search for added keys and changed keys. Start at the back, because\n\t\t// non-numeric keys are ordered by time of definition on the object.\n\t\tconst keys = ownKeys(draft_)\n\t\tfor (let i = keys.length - 1; i >= 0; i--) {\n\t\t\tconst key: any = keys[i]\n\t\t\tif (key === DRAFT_STATE) continue\n\t\t\tconst baseValue = base_[key]\n\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\tif (baseValue === undefined && !has(base_, key)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Once a base key is deleted, future changes go undetected, because its\n\t\t\t// descriptor is erased. This branch detects any missed changes.\n\t\t\telse {\n\t\t\t\tconst value = draft_[key]\n\t\t\t\tconst state: ImmerState = value && value[DRAFT_STATE]\n\t\t\t\tif (state ? state.base_ !== baseValue : !is(value, baseValue)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// At this point, no keys were added or changed.\n\t\t// Compare key count to determine if keys were deleted.\n\t\tconst baseIsDraft = !!base_[DRAFT_STATE as any]\n\t\treturn keys.length !== ownKeys(base_).length + (baseIsDraft ? 0 : 1) // + 1 to correct for DRAFT_STATE\n\t}\n\n\tfunction hasArrayChanges(state: ES5ArrayState) {\n\t\tconst {draft_} = state\n\t\tif (draft_.length !== state.base_.length) return true\n\t\t// See #116\n\t\t// If we first shorten the length, our array interceptors will be removed.\n\t\t// If after that new items are added, result in the same original length,\n\t\t// those last items will have no intercepting property.\n\t\t// So if there is no own descriptor on the last position, we know that items were removed and added\n\t\t// N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check\n\t\t// the last one\n\t\t// last descriptor can be not a trap, if the array was extended\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(\n\t\t\tdraft_,\n\t\t\tdraft_.length - 1\n\t\t)\n\t\t// descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)\n\t\tif (descriptor && !descriptor.get) return true\n\t\t// if we miss a property, it has been deleted, so array probobaly changed\n\t\tfor (let i = 0; i < draft_.length; i++) {\n\t\t\tif (!draft_.hasOwnProperty(i)) return true\n\t\t}\n\t\t// For all other cases, we don't have to compare, as they would have been picked up by the index setters\n\t\treturn false\n\t}\n\n\tfunction hasChanges_(state: ES5State) {\n\t\treturn state.type_ === ProxyType.ES5Object\n\t\t\t? hasObjectChanges(state)\n\t\t\t: hasArrayChanges(state)\n\t}\n\n\tfunction assertUnrevoked(state: any /*ES5State | MapState | SetState*/) {\n\t\tif (state.revoked_) die(3, JSON.stringify(latest(state)))\n\t}\n\n\tloadPlugin(\"ES5\", {\n\t\tcreateES5Proxy_,\n\t\twillFinalizeES5_,\n\t\thasChanges_\n\t})\n}\n","import {\n\tIProduce,\n\tIProduceWithPatches,\n\tImmer,\n\tDraft,\n\tImmutable\n} from \"./internal\"\n\nexport {\n\tDraft,\n\tImmutable,\n\tPatch,\n\tPatchListener,\n\toriginal,\n\tcurrent,\n\tisDraft,\n\tisDraftable,\n\tNOTHING as nothing,\n\tDRAFTABLE as immerable,\n\tfreeze\n} from \"./internal\"\n\nconst immer = new Immer()\n\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\nexport const produce: IProduce = immer.produce\nexport default produce\n\n/**\n * Like `produce`, but `produceWithPatches` always returns a tuple\n * [nextState, patches, inversePatches] (instead of just the next state)\n */\nexport const produceWithPatches: IProduceWithPatches = immer.produceWithPatches.bind(\n\timmer\n)\n\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * Always freeze by default, even in production mode\n */\nexport const setAutoFreeze = immer.setAutoFreeze.bind(immer)\n\n/**\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n * always faster than using ES5 proxies.\n *\n * By default, feature detection is used, so calling this is rarely necessary.\n */\nexport const setUseProxies = immer.setUseProxies.bind(immer)\n\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\nexport const applyPatches = immer.applyPatches.bind(immer)\n\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\nexport const createDraft = immer.createDraft.bind(immer)\n\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\nexport const finishDraft = immer.finishDraft.bind(immer)\n\n/**\n * This function is actually a no-op, but can be used to cast an immutable type\n * to an draft type and make TypeScript happy\n *\n * @param value\n */\nexport function castDraft(value: T): Draft {\n\treturn value as any\n}\n\n/**\n * This function is actually a no-op, but can be used to cast a mutable type\n * to an immutable type and make TypeScript happy\n * @param value\n */\nexport function castImmutable(value: T): Immutable {\n\treturn value as any\n}\n\nexport {Immer}\n\nexport {enableES5} from \"./plugins/es5\"\nexport {enablePatches} from \"./plugins/patches\"\nexport {enableMapSet} from \"./plugins/mapset\"\nexport {enableAllPlugins} from \"./plugins/all\"\n","// Should be no imports here!\n\n// Some things that should be evaluated before all else...\n\n// We only want to know if non-polyfilled symbols are available\nconst hasSymbol =\n\ttypeof Symbol !== \"undefined\" && typeof Symbol(\"x\") === \"symbol\"\nexport const hasMap = typeof Map !== \"undefined\"\nexport const hasSet = typeof Set !== \"undefined\"\nexport const hasProxies =\n\ttypeof Proxy !== \"undefined\" &&\n\ttypeof Proxy.revocable !== \"undefined\" &&\n\ttypeof Reflect !== \"undefined\"\n\n/**\n * The sentinel value returned by producers to replace the draft with undefined.\n */\nexport const NOTHING: Nothing = hasSymbol\n\t? Symbol.for(\"immer-nothing\")\n\t: ({[\"immer-nothing\"]: true} as any)\n\n/**\n * To let Immer treat your class instances as plain immutable objects\n * (albeit with a custom prototype), you must define either an instance property\n * or a static property on each of your custom classes.\n *\n * Otherwise, your class instance will never be drafted, which means it won't be\n * safe to mutate in a produce callback.\n */\nexport const DRAFTABLE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-draftable\")\n\t: (\"__$immer_draftable\" as any)\n\nexport const DRAFT_STATE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-state\")\n\t: (\"__$immer_state\" as any)\n\n// Even a polyfilled Symbol might provide Symbol.iterator\nexport const iteratorSymbol: typeof Symbol.iterator =\n\t(typeof Symbol != \"undefined\" && Symbol.iterator) || (\"@@iterator\" as any)\n\n/** Use a class type for `nothing` so its type is unique */\nexport class Nothing {\n\t// This lets us do `Exclude`\n\t// @ts-ignore\n\tprivate _!: unique symbol\n}\n","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","import type { Action, ActionCreator, StoreEnhancer } from 'redux'\r\nimport { compose } from 'redux'\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface DevToolsEnhancerOptions {\r\n /**\r\n * the instance name to be showed on the monitor page. Default value is `document.title`.\r\n * If not specified and there's no document title, it will consist of `tabId` and `instanceId`.\r\n */\r\n name?: string\r\n /**\r\n * action creators functions to be available in the Dispatcher.\r\n */\r\n actionCreators?: ActionCreator[] | { [key: string]: ActionCreator }\r\n /**\r\n * if more than one action is dispatched in the indicated interval, all new actions will be collected and sent at once.\r\n * It is the joint between performance and speed. When set to `0`, all actions will be sent instantly.\r\n * Set it to a higher value when experiencing perf issues (also `maxAge` to a lower value).\r\n *\r\n * @default 500 ms.\r\n */\r\n latency?: number\r\n /**\r\n * (> 1) - maximum allowed actions to be stored in the history tree. The oldest actions are removed once maxAge is reached. It's critical for performance.\r\n *\r\n * @default 50\r\n */\r\n maxAge?: number\r\n /**\r\n * Customizes how actions and state are serialized and deserialized. Can be a boolean or object. If given a boolean, the behavior is the same as if you\r\n * were to pass an object and specify `options` as a boolean. Giving an object allows fine-grained customization using the `replacer` and `reviver`\r\n * functions.\r\n */\r\n serialize?:\r\n | boolean\r\n | {\r\n /**\r\n * - `undefined` - will use regular `JSON.stringify` to send data (it's the fast mode).\r\n * - `false` - will handle also circular references.\r\n * - `true` - will handle also date, regex, undefined, error objects, symbols, maps, sets and functions.\r\n * - object, which contains `date`, `regex`, `undefined`, `error`, `symbol`, `map`, `set` and `function` keys.\r\n * For each of them you can indicate if to include (by setting as `true`).\r\n * For `function` key you can also specify a custom function which handles serialization.\r\n * See [`jsan`](https://github.com/kolodny/jsan) for more details.\r\n */\r\n options?:\r\n | undefined\r\n | boolean\r\n | {\r\n date?: true\r\n regex?: true\r\n undefined?: true\r\n error?: true\r\n symbol?: true\r\n map?: true\r\n set?: true\r\n function?: true | ((fn: (...args: any[]) => any) => string)\r\n }\r\n /**\r\n * [JSON replacer function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter) used for both actions and states stringify.\r\n * In addition, you can specify a data type by adding a [`__serializedType__`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/helpers/index.js#L4)\r\n * key. So you can deserialize it back while importing or persisting data.\r\n * Moreover, it will also [show a nice preview showing the provided custom type](https://cloud.githubusercontent.com/assets/7957859/21814330/a17d556a-d761-11e6-85ef-159dd12f36c5.png):\r\n */\r\n replacer?: (key: string, value: unknown) => any\r\n /**\r\n * [JSON `reviver` function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Using_the_reviver_parameter)\r\n * used for parsing the imported actions and states. See [`remotedev-serialize`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/immutable/serialize.js#L8-L41)\r\n * as an example on how to serialize special data types and get them back.\r\n */\r\n reviver?: (key: string, value: unknown) => any\r\n /**\r\n * Automatically serialize/deserialize immutablejs via [remotedev-serialize](https://github.com/zalmoxisus/remotedev-serialize).\r\n * Just pass the Immutable library. It will support all ImmutableJS structures. You can even export them into a file and get them back.\r\n * The only exception is `Record` class, for which you should pass this in addition the references to your classes in `refs`.\r\n */\r\n immutable?: any\r\n /**\r\n * ImmutableJS `Record` classes used to make possible restore its instances back when importing, persisting...\r\n */\r\n refs?: any\r\n }\r\n /**\r\n * function which takes `action` object and id number as arguments, and should return `action` object back.\r\n */\r\n actionSanitizer?: (action: A, id: number) => A\r\n /**\r\n * function which takes `state` object and index as arguments, and should return `state` object back.\r\n */\r\n stateSanitizer?: (state: S, index: number) => S\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n * @deprecated Use actionsDenylist instead.\r\n */\r\n actionsBlacklist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n * @deprecated Use actionsAllowlist instead.\r\n */\r\n actionsWhitelist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsAllowlist` specified, `actionsDenylist` is ignored.\r\n */\r\n actionsDenylist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsAllowlist` specified, `actionsDenylist` is ignored.\r\n */\r\n actionsAllowlist?: string | string[]\r\n /**\r\n * called for every action before sending, takes `state` and `action` object, and returns `true` in case it allows sending the current data to the monitor.\r\n * Use it as a more advanced version of `actionsDenylist`/`actionsAllowlist` parameters.\r\n */\r\n predicate?: (state: S, action: A) => boolean\r\n /**\r\n * if specified as `false`, it will not record the changes till clicking on `Start recording` button.\r\n * Available only for Redux enhancer, for others use `autoPause`.\r\n *\r\n * @default true\r\n */\r\n shouldRecordChanges?: boolean\r\n /**\r\n * if specified, whenever clicking on `Pause recording` button and there are actions in the history log, will add this action type.\r\n * If not specified, will commit when paused. Available only for Redux enhancer.\r\n *\r\n * @default \"@@PAUSED\"\"\r\n */\r\n pauseActionType?: string\r\n /**\r\n * auto pauses when the extension’s window is not opened, and so has zero impact on your app when not in use.\r\n * Not available for Redux enhancer (as it already does it but storing the data to be sent).\r\n *\r\n * @default false\r\n */\r\n autoPause?: boolean\r\n /**\r\n * if specified as `true`, it will not allow any non-monitor actions to be dispatched till clicking on `Unlock changes` button.\r\n * Available only for Redux enhancer.\r\n *\r\n * @default false\r\n */\r\n shouldStartLocked?: boolean\r\n /**\r\n * if set to `false`, will not recompute the states on hot reloading (or on replacing the reducers). Available only for Redux enhancer.\r\n *\r\n * @default true\r\n */\r\n shouldHotReload?: boolean\r\n /**\r\n * if specified as `true`, whenever there's an exception in reducers, the monitors will show the error message, and next actions will not be dispatched.\r\n *\r\n * @default false\r\n */\r\n shouldCatchErrors?: boolean\r\n /**\r\n * If you want to restrict the extension, specify the features you allow.\r\n * If not specified, all of the features are enabled. When set as an object, only those included as `true` will be allowed.\r\n * Note that except `true`/`false`, `import` and `export` can be set as `custom` (which is by default for Redux enhancer), meaning that the importing/exporting occurs on the client side.\r\n * Otherwise, you'll get/set the data right from the monitor part.\r\n */\r\n features?: {\r\n /**\r\n * start/pause recording of dispatched actions\r\n */\r\n pause?: boolean\r\n /**\r\n * lock/unlock dispatching actions and side effects\r\n */\r\n lock?: boolean\r\n /**\r\n * persist states on page reloading\r\n */\r\n persist?: boolean\r\n /**\r\n * export history of actions in a file\r\n */\r\n export?: boolean | 'custom'\r\n /**\r\n * import history of actions from a file\r\n */\r\n import?: boolean | 'custom'\r\n /**\r\n * jump back and forth (time travelling)\r\n */\r\n jump?: boolean\r\n /**\r\n * skip (cancel) actions\r\n */\r\n skip?: boolean\r\n /**\r\n * drag and drop actions in the history list\r\n */\r\n reorder?: boolean\r\n /**\r\n * dispatch custom actions or action creators\r\n */\r\n dispatch?: boolean\r\n /**\r\n * generate tests for the selected actions\r\n */\r\n test?: boolean\r\n }\r\n /**\r\n * Set to true or a stacktrace-returning function to record call stack traces for dispatched actions.\r\n * Defaults to false.\r\n */\r\n trace?: boolean | ((action: A) => string)\r\n /**\r\n * The maximum number of stack trace entries to record per action. Defaults to 10.\r\n */\r\n traceLimit?: number\r\n}\r\n\r\ntype Compose = typeof compose\r\n\r\ninterface ComposeWithDevTools {\r\n (options: DevToolsEnhancerOptions): Compose\r\n (...funcs: StoreEnhancer[]): StoreEnhancer\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const composeWithDevTools: ComposeWithDevTools =\r\n typeof window !== 'undefined' &&\r\n (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n : function () {\r\n if (arguments.length === 0) return undefined\r\n if (typeof arguments[0] === 'object') return compose\r\n return compose.apply(null, arguments as any as Function[])\r\n }\r\n\r\n/**\r\n * @public\r\n */\r\nexport const devToolsEnhancer: {\r\n (options: DevToolsEnhancerOptions): StoreEnhancer\r\n} =\r\n typeof window !== 'undefined' && (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n : function () {\r\n return function (noop) {\r\n return noop\r\n }\r\n }\r\n","/**\r\n * Returns true if the passed value is \"plain\" object, i.e. an object whose\r\n * prototype is the root `Object.prototype`. This includes objects created\r\n * using object literals, but not for instance for class instances.\r\n *\r\n * @param {any} value The value to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n *\r\n * @public\r\n */\r\nexport default function isPlainObject(value: unknown): value is object {\r\n if (typeof value !== 'object' || value === null) return false\r\n\r\n let proto = Object.getPrototypeOf(value)\r\n if (proto === null) return true\r\n\r\n let baseProto = proto\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto)\r\n }\r\n\r\n return proto === baseProto\r\n}\r\n","import createNextState, { isDraftable } from 'immer'\r\nimport type { Middleware } from 'redux'\r\n\r\nexport function getTimeMeasureUtils(maxDelay: number, fnName: string) {\r\n let elapsed = 0\r\n return {\r\n measureTime(fn: () => T): T {\r\n const started = Date.now()\r\n try {\r\n return fn()\r\n } finally {\r\n const finished = Date.now()\r\n elapsed += finished - started\r\n }\r\n },\r\n warnIfExceeded() {\r\n if (elapsed > maxDelay) {\r\n console.warn(`${fnName} took ${elapsed}ms, which is more than the warning threshold of ${maxDelay}ms. \r\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\r\nIt is disabled in production builds, so you don't need to worry about that.`)\r\n }\r\n },\r\n }\r\n}\r\n\r\nexport function delay(ms: number) {\r\n return new Promise((resolve) => setTimeout(resolve, ms))\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport class MiddlewareArray<\r\n Middlewares extends Middleware[]\r\n> extends Array {\r\n constructor(...items: Middlewares)\r\n constructor(...args: any[]) {\r\n super(...args)\r\n Object.setPrototypeOf(this, MiddlewareArray.prototype)\r\n }\r\n\r\n static get [Symbol.species]() {\r\n return MiddlewareArray as any\r\n }\r\n\r\n concat>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n\r\n concat>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n concat(...arr: any[]) {\r\n return super.concat.apply(this, arr)\r\n }\r\n\r\n prepend>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend(...arr: any[]) {\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new MiddlewareArray(...arr[0].concat(this))\r\n }\r\n return new MiddlewareArray(...arr.concat(this))\r\n }\r\n}\r\n\r\nexport function freezeDraftable(val: T) {\r\n return isDraftable(val) ? createNextState(val, () => {}) : val\r\n}\r\n","import type { Middleware, AnyAction } from 'redux'\r\nimport type { ThunkMiddleware } from 'redux-thunk'\r\nimport thunkMiddleware from 'redux-thunk'\r\nimport type { ImmutableStateInvariantMiddlewareOptions } from './immutableStateInvariantMiddleware'\r\n/* PROD_START_REMOVE_UMD */\r\nimport { createImmutableStateInvariantMiddleware } from './immutableStateInvariantMiddleware'\r\n/* PROD_STOP_REMOVE_UMD */\r\n\r\nimport type { SerializableStateInvariantMiddlewareOptions } from './serializableStateInvariantMiddleware'\r\nimport { createSerializableStateInvariantMiddleware } from './serializableStateInvariantMiddleware'\r\nimport type { ExcludeFromTuple } from './tsHelpers'\r\nimport { MiddlewareArray } from './utils'\r\n\r\nfunction isBoolean(x: any): x is boolean {\r\n return typeof x === 'boolean'\r\n}\r\n\r\ninterface ThunkOptions {\r\n extraArgument: E\r\n}\r\n\r\ninterface GetDefaultMiddlewareOptions {\r\n thunk?: boolean | ThunkOptions\r\n immutableCheck?: boolean | ImmutableStateInvariantMiddlewareOptions\r\n serializableCheck?: boolean | SerializableStateInvariantMiddlewareOptions\r\n}\r\n\r\nexport type ThunkMiddlewareFor<\r\n S,\r\n O extends GetDefaultMiddlewareOptions = {}\r\n> = O extends {\r\n thunk: false\r\n}\r\n ? never\r\n : O extends { thunk: { extraArgument: infer E } }\r\n ? ThunkMiddleware\r\n : ThunkMiddleware\r\n\r\nexport type CurriedGetDefaultMiddleware = <\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(\r\n options?: O\r\n) => MiddlewareArray], never>>\r\n\r\nexport function curryGetDefaultMiddleware<\r\n S = any\r\n>(): CurriedGetDefaultMiddleware {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options)\r\n }\r\n}\r\n\r\n/**\r\n * Returns any array containing the default middleware installed by\r\n * `configureStore()`. Useful if you want to configure your store with a custom\r\n * `middleware` array but still keep the default set.\r\n *\r\n * @return The default middleware used by `configureStore()`.\r\n *\r\n * @public\r\n *\r\n * @deprecated Prefer to use the callback notation for the `middleware` option in `configureStore`\r\n * to access a pre-typed `getDefaultMiddleware` instead.\r\n */\r\nexport function getDefaultMiddleware<\r\n S = any,\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(\r\n options: O = {} as O\r\n): MiddlewareArray], never>> {\r\n const {\r\n thunk = true,\r\n immutableCheck = true,\r\n serializableCheck = true,\r\n } = options\r\n\r\n let middlewareArray = new MiddlewareArray()\r\n\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware)\r\n } else {\r\n middlewareArray.push(\r\n thunkMiddleware.withExtraArgument(thunk.extraArgument)\r\n )\r\n }\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (immutableCheck) {\r\n /* PROD_START_REMOVE_UMD */\r\n let immutableOptions: ImmutableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck\r\n }\r\n\r\n middlewareArray.unshift(\r\n createImmutableStateInvariantMiddleware(immutableOptions)\r\n )\r\n /* PROD_STOP_REMOVE_UMD */\r\n }\r\n\r\n if (serializableCheck) {\r\n let serializableOptions: SerializableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck\r\n }\r\n\r\n middlewareArray.push(\r\n createSerializableStateInvariantMiddleware(serializableOptions)\r\n )\r\n }\r\n }\r\n\r\n return middlewareArray as any\r\n}\r\n","import type {\r\n Reducer,\r\n ReducersMapObject,\r\n Middleware,\r\n Action,\r\n AnyAction,\r\n StoreEnhancer,\r\n Store,\r\n Dispatch,\r\n PreloadedState,\r\n CombinedState,\r\n} from 'redux'\r\nimport { createStore, compose, applyMiddleware, combineReducers } from 'redux'\r\nimport type { DevToolsEnhancerOptions as DevToolsOptions } from './devtoolsExtension'\r\nimport { composeWithDevTools } from './devtoolsExtension'\r\n\r\nimport isPlainObject from './isPlainObject'\r\nimport type {\r\n ThunkMiddlewareFor,\r\n CurriedGetDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nimport { curryGetDefaultMiddleware } from './getDefaultMiddleware'\r\nimport type {\r\n NoInfer,\r\n ExtractDispatchExtensions,\r\n ExtractStoreExtensions,\r\n} from './tsHelpers'\r\n\r\nconst IS_PRODUCTION = process.env.NODE_ENV === 'production'\r\n\r\n/**\r\n * Callback function type, to be used in `ConfigureStoreOptions.enhancers`\r\n *\r\n * @public\r\n */\r\nexport type ConfigureEnhancersCallback = (\r\n defaultEnhancers: readonly StoreEnhancer[]\r\n) => [...E]\r\n\r\n/**\r\n * Options for `configureStore()`.\r\n *\r\n * @public\r\n */\r\nexport interface ConfigureStoreOptions<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares,\r\n E extends Enhancers = Enhancers\r\n> {\r\n /**\r\n * A single reducer function that will be used as the root reducer, or an\r\n * object of slice reducers that will be passed to `combineReducers()`.\r\n */\r\n reducer: Reducer | ReducersMapObject\r\n\r\n /**\r\n * An array of Redux middleware to install. If not supplied, defaults to\r\n * the set of middleware returned by `getDefaultMiddleware()`.\r\n *\r\n * @example `middleware: (gDM) => gDM().concat(logger, apiMiddleware, yourCustomMiddleware)`\r\n * @see https://redux-toolkit.js.org/api/getDefaultMiddleware#intended-usage\r\n */\r\n middleware?: ((getDefaultMiddleware: CurriedGetDefaultMiddleware) => M) | M\r\n\r\n /**\r\n * Whether to enable Redux DevTools integration. Defaults to `true`.\r\n *\r\n * Additional configuration can be done by passing Redux DevTools options\r\n */\r\n devTools?: boolean | DevToolsOptions\r\n\r\n /**\r\n * The initial state, same as Redux's createStore.\r\n * You may optionally specify it to hydrate the state\r\n * from the server in universal apps, or to restore a previously serialized\r\n * user session. If you use `combineReducers()` to produce the root reducer\r\n * function (either directly or indirectly by passing an object as `reducer`),\r\n * this must be an object with the same shape as the reducer map keys.\r\n */\r\n /*\r\n Not 100% correct but the best approximation we can get:\r\n - if S is a `CombinedState` applying a second `CombinedState` on it does not change anything.\r\n - if it is not, there could be two cases:\r\n - `ReducersMapObject` is being passed in. In this case, we will call `combineReducers` on it and `CombinedState` is correct\r\n - `Reducer` is being passed in. In this case, actually `CombinedState` is wrong and `S` would be correct.\r\n As we cannot distinguish between those two cases without adding another generic parameter,\r\n we just make the pragmatic assumption that the latter almost never happens.\r\n */\r\n preloadedState?: PreloadedState>>\r\n\r\n /**\r\n * The store enhancers to apply. See Redux's `createStore()`.\r\n * All enhancers will be included before the DevTools Extension enhancer.\r\n * If you need to customize the order of enhancers, supply a callback\r\n * function that will receive the original array (ie, `[applyMiddleware]`),\r\n * and should return a new array (such as `[applyMiddleware, offline]`).\r\n * If you only need to add middleware, you can use the `middleware` parameter instead.\r\n */\r\n enhancers?: E | ConfigureEnhancersCallback\r\n}\r\n\r\ntype Middlewares = ReadonlyArray>\r\n\r\ntype Enhancers = ReadonlyArray\r\n\r\nexport interface ToolkitStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares,\r\n> extends Store {\r\n /**\r\n * The `dispatch` method of your store, enhanced by all its middlewares.\r\n *\r\n * @inheritdoc\r\n */\r\n dispatch: ExtractDispatchExtensions & Dispatch\r\n}\r\n\r\n/**\r\n * A Redux store returned by `configureStore()`. Supports dispatching\r\n * side-effectful _thunks_ in addition to plain actions.\r\n *\r\n * @public\r\n */\r\nexport type EnhancedStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares,\r\n E extends Enhancers = Enhancers\r\n> = ToolkitStore & ExtractStoreExtensions\r\n\r\n/**\r\n * A friendly abstraction over the standard Redux `createStore()` function.\r\n *\r\n * @param options The store configuration.\r\n * @returns A configured Redux store.\r\n *\r\n * @public\r\n */\r\nexport function configureStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = [ThunkMiddlewareFor],\r\n E extends Enhancers = [StoreEnhancer]\r\n>(options: ConfigureStoreOptions): EnhancedStore {\r\n const curriedGetDefaultMiddleware = curryGetDefaultMiddleware()\r\n\r\n const {\r\n reducer = undefined,\r\n middleware = curriedGetDefaultMiddleware(),\r\n devTools = true,\r\n preloadedState = undefined,\r\n enhancers = undefined,\r\n } = options || {}\r\n\r\n let rootReducer: Reducer\r\n\r\n if (typeof reducer === 'function') {\r\n rootReducer = reducer\r\n } else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer) as unknown as Reducer\r\n } else {\r\n throw new Error(\r\n '\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'\r\n )\r\n }\r\n\r\n let finalMiddleware = middleware\r\n if (typeof finalMiddleware === 'function') {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware)\r\n\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\r\n 'when using a middleware builder function, an array of middleware must be returned'\r\n )\r\n }\r\n }\r\n if (\r\n !IS_PRODUCTION &&\r\n finalMiddleware.some((item: any) => typeof item !== 'function')\r\n ) {\r\n throw new Error(\r\n 'each middleware provided to configureStore must be a function'\r\n )\r\n }\r\n\r\n const middlewareEnhancer: StoreEnhancer = applyMiddleware(...finalMiddleware)\r\n\r\n let finalCompose = compose\r\n\r\n if (devTools) {\r\n finalCompose = composeWithDevTools({\r\n // Enable capture of stack traces for dispatched Redux actions\r\n trace: !IS_PRODUCTION,\r\n ...(typeof devTools === 'object' && devTools),\r\n })\r\n }\r\n\r\n let storeEnhancers: Enhancers = [middlewareEnhancer]\r\n\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = [middlewareEnhancer, ...enhancers]\r\n } else if (typeof enhancers === 'function') {\r\n storeEnhancers = enhancers(storeEnhancers)\r\n }\r\n\r\n const composedEnhancer = finalCompose(...storeEnhancers) as StoreEnhancer\r\n\r\n return createStore(rootReducer, preloadedState, composedEnhancer)\r\n}\r\n","import type { Action } from 'redux'\r\nimport type {\r\n IsUnknownOrNonInferrable,\r\n IfMaybeUndefined,\r\n IfVoid,\r\n IsAny,\r\n} from './tsHelpers'\r\nimport isPlainObject from './isPlainObject'\r\n\r\n/**\r\n * An action with a string type and an associated payload. This is the\r\n * type of action returned by `createAction()` action creators.\r\n *\r\n * @template P The type of the action's payload.\r\n * @template T the type used for the action type.\r\n * @template M The type of the action's meta (optional)\r\n * @template E The type of the action's error (optional)\r\n *\r\n * @public\r\n */\r\nexport type PayloadAction<\r\n P = void,\r\n T extends string = string,\r\n M = never,\r\n E = never\r\n> = {\r\n payload: P\r\n type: T\r\n} & ([M] extends [never]\r\n ? {}\r\n : {\r\n meta: M\r\n }) &\r\n ([E] extends [never]\r\n ? {}\r\n : {\r\n error: E\r\n })\r\n\r\n/**\r\n * A \"prepare\" method to be used as the second parameter of `createAction`.\r\n * Takes any number of arguments and returns a Flux Standard Action without\r\n * type (will be added later) that *must* contain a payload (might be undefined).\r\n *\r\n * @public\r\n */\r\nexport type PrepareAction

=\r\n | ((...args: any[]) => { payload: P })\r\n | ((...args: any[]) => { payload: P; meta: any })\r\n | ((...args: any[]) => { payload: P; error: any })\r\n | ((...args: any[]) => { payload: P; meta: any; error: any })\r\n\r\n/**\r\n * Internal version of `ActionCreatorWithPreparedPayload`. Not to be used externally.\r\n *\r\n * @internal\r\n */\r\nexport type _ActionCreatorWithPreparedPayload<\r\n PA extends PrepareAction | void,\r\n T extends string = string\r\n> = PA extends PrepareAction\r\n ? ActionCreatorWithPreparedPayload<\r\n Parameters,\r\n P,\r\n T,\r\n ReturnType extends {\r\n error: infer E\r\n }\r\n ? E\r\n : never,\r\n ReturnType extends {\r\n meta: infer M\r\n }\r\n ? M\r\n : never\r\n >\r\n : void\r\n\r\n/**\r\n * Basic type for all action creators.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n */\r\nexport interface BaseActionCreator {\r\n type: T\r\n match: (action: Action) => action is PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that takes multiple arguments that are passed\r\n * to a `PrepareAction` method to create the final Action.\r\n * @typeParam Args arguments for the action creator function\r\n * @typeParam P `payload` type\r\n * @typeParam T `type` name\r\n * @typeParam E optional `error` type\r\n * @typeParam M optional `meta` type\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPreparedPayload<\r\n Args extends unknown[],\r\n P,\r\n T extends string = string,\r\n E = never,\r\n M = never\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with `Args` will return\r\n * an Action with a payload of type `P` and (depending on the `PrepareAction`\r\n * method used) a `meta`- and `error` property of types `M` and `E` respectively.\r\n */\r\n (...args: Args): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes an optional payload of type `P`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithOptionalPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`.\r\n * Calling it without an argument will return a PayloadAction with a payload of `undefined`.\r\n */\r\n (payload?: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes no payload.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithoutPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} will\r\n * return a {@link PayloadAction} of type `T` with a payload of `undefined`\r\n */\r\n (): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that requires a payload of type P.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`\r\n */\r\n (payload: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` whose `payload` type could not be inferred. Accepts everything as `payload`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithNonInferrablePayload<\r\n T extends string = string\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload\r\n * of exactly the type of the argument.\r\n */\r\n (payload: PT): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that produces actions with a `payload` attribute.\r\n *\r\n * @typeParam P the `payload` type\r\n * @typeParam T the `type` of the resulting action\r\n * @typeParam PA if the resulting action is preprocessed by a `prepare` method, the signature of said method.\r\n *\r\n * @public\r\n */\r\nexport type PayloadActionCreator<\r\n P = void,\r\n T extends string = string,\r\n PA extends PrepareAction

| void = void\r\n> = IfPrepareActionMethodProvided<\r\n PA,\r\n _ActionCreatorWithPreparedPayload,\r\n // else\r\n IsAny<\r\n P,\r\n ActionCreatorWithPayload,\r\n IsUnknownOrNonInferrable<\r\n P,\r\n ActionCreatorWithNonInferrablePayload,\r\n // else\r\n IfVoid<\r\n P,\r\n ActionCreatorWithoutPayload,\r\n // else\r\n IfMaybeUndefined<\r\n P,\r\n ActionCreatorWithOptionalPayload,\r\n // else\r\n ActionCreatorWithPayload\r\n >\r\n >\r\n >\r\n >\r\n>\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overriden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction

= PayloadActionCreator

\r\n\r\n/**\r\n * The return value of `createSlice`\r\n *\r\n * @public\r\n */\r\nexport interface Slice<\r\n State = any,\r\n CaseReducers extends SliceCaseReducers = SliceCaseReducers,\r\n Name extends string = string\r\n> {\r\n /**\r\n * The slice name.\r\n */\r\n name: Name\r\n\r\n /**\r\n * The slice's reducer.\r\n */\r\n reducer: Reducer\r\n\r\n /**\r\n * Action creators for the types of actions that are handled by the slice\r\n * reducer.\r\n */\r\n actions: CaseReducerActions\r\n\r\n /**\r\n * The individual case reducer functions that were passed in the `reducers` parameter.\r\n * This enables reuse and testing if they were defined inline when calling `createSlice`.\r\n */\r\n caseReducers: SliceDefinedCaseReducers\r\n\r\n /**\r\n * Provides access to the initial state value given to the slice.\r\n * If a lazy state initializer was provided, it will be called and a fresh value returned.\r\n */\r\n getInitialState: () => State\r\n}\r\n\r\n/**\r\n * Options for `createSlice()`.\r\n *\r\n * @public\r\n */\r\nexport interface CreateSliceOptions<\r\n State = any,\r\n CR extends SliceCaseReducers = SliceCaseReducers,\r\n Name extends string = string\r\n> {\r\n /**\r\n * The slice's name. Used to namespace the generated action types.\r\n */\r\n name: Name\r\n\r\n /**\r\n * The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n */\r\n initialState: State | (() => State)\r\n\r\n /**\r\n * A mapping from action types to action-type-specific *case reducer*\r\n * functions. For every action type, a matching action creator will be\r\n * generated using `createAction()`.\r\n */\r\n reducers: ValidateSliceCaseReducers\r\n\r\n /**\r\n * A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n * \r\n * Alternatively, a mapping from action types to action-type-specific *case reducer*\r\n * functions. These reducers should have existing action types used\r\n * as the keys, and action creators will _not_ be generated.\r\n * \r\n * @example\r\n```ts\r\nimport { createAction, createSlice, Action, AnyAction } from '@reduxjs/toolkit'\r\nconst incrementBy = createAction('incrementBy')\r\nconst decrement = createAction('decrement')\r\n\r\ninterface RejectedAction extends Action {\r\n error: Error\r\n}\r\n\r\nfunction isRejectedAction(action: AnyAction): action is RejectedAction {\r\n return action.type.endsWith('rejected')\r\n}\r\n\r\ncreateSlice({\r\n name: 'counter',\r\n initialState: 0,\r\n reducers: {},\r\n extraReducers: builder => {\r\n builder\r\n .addCase(incrementBy, (state, action) => {\r\n // action is inferred correctly here if using TS\r\n })\r\n // You can chain calls, or have separate `builder.addCase()` lines each time\r\n .addCase(decrement, (state, action) => {})\r\n // You can match a range of action types\r\n .addMatcher(\r\n isRejectedAction,\r\n // `action` will be inferred as a RejectedAction due to isRejectedAction being defined as a type guard\r\n (state, action) => {}\r\n )\r\n // and provide a default case if no other handlers matched\r\n .addDefaultCase((state, action) => {})\r\n }\r\n})\r\n```\r\n */\r\n extraReducers?:\r\n | CaseReducers, any>\r\n | ((builder: ActionReducerMapBuilder>) => void)\r\n}\r\n\r\n/**\r\n * A CaseReducer with a `prepare` method.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducerWithPrepare = {\r\n reducer: CaseReducer\r\n prepare: PrepareAction\r\n}\r\n\r\n/**\r\n * The type describing a slice's `reducers` option.\r\n *\r\n * @public\r\n */\r\nexport type SliceCaseReducers = {\r\n [K: string]:\r\n | CaseReducer>\r\n | CaseReducerWithPrepare>\r\n}\r\n\r\ntype SliceActionType<\r\n SliceName extends string,\r\n ActionName extends keyof any\r\n> = ActionName extends string | number ? `${SliceName}/${ActionName}` : string\r\n\r\n/**\r\n * Derives the slice's `actions` property from the `reducers` options\r\n *\r\n * @public\r\n */\r\nexport type CaseReducerActions<\r\n CaseReducers extends SliceCaseReducers,\r\n SliceName extends string\r\n> = {\r\n [Type in keyof CaseReducers]: CaseReducers[Type] extends { prepare: any }\r\n ? ActionCreatorForCaseReducerWithPrepare<\r\n CaseReducers[Type],\r\n SliceActionType\r\n >\r\n : ActionCreatorForCaseReducer<\r\n CaseReducers[Type],\r\n SliceActionType\r\n >\r\n}\r\n\r\n/**\r\n * Get a `PayloadActionCreator` type for a passed `CaseReducerWithPrepare`\r\n *\r\n * @internal\r\n */\r\ntype ActionCreatorForCaseReducerWithPrepare<\r\n CR extends { prepare: any },\r\n Type extends string\r\n> = _ActionCreatorWithPreparedPayload\r\n\r\n/**\r\n * Get a `PayloadActionCreator` type for a passed `CaseReducer`\r\n *\r\n * @internal\r\n */\r\ntype ActionCreatorForCaseReducer = CR extends (\r\n state: any,\r\n action: infer Action\r\n) => any\r\n ? Action extends { payload: infer P }\r\n ? PayloadActionCreator\r\n : ActionCreatorWithoutPayload\r\n : ActionCreatorWithoutPayload\r\n\r\n/**\r\n * Extracts the CaseReducers out of a `reducers` object, even if they are\r\n * tested into a `CaseReducerWithPrepare`.\r\n *\r\n * @internal\r\n */\r\ntype SliceDefinedCaseReducers> = {\r\n [Type in keyof CaseReducers]: CaseReducers[Type] extends {\r\n reducer: infer Reducer\r\n }\r\n ? Reducer\r\n : CaseReducers[Type]\r\n}\r\n\r\n/**\r\n * Used on a SliceCaseReducers object.\r\n * Ensures that if a CaseReducer is a `CaseReducerWithPrepare`, that\r\n * the `reducer` and the `prepare` function use the same type of `payload`.\r\n *\r\n * Might do additional such checks in the future.\r\n *\r\n * This type is only ever useful if you want to write your own wrapper around\r\n * `createSlice`. Please don't use it otherwise!\r\n *\r\n * @public\r\n */\r\nexport type ValidateSliceCaseReducers<\r\n S,\r\n ACR extends SliceCaseReducers\r\n> = ACR &\r\n {\r\n [T in keyof ACR]: ACR[T] extends {\r\n reducer(s: S, action?: infer A): any\r\n }\r\n ? {\r\n prepare(...a: never[]): Omit\r\n }\r\n : {}\r\n }\r\n\r\nfunction getType(slice: string, actionKey: string): string {\r\n return `${slice}/${actionKey}`\r\n}\r\n\r\n/**\r\n * A function that accepts an initial state, an object full of reducer\r\n * functions, and a \"slice name\", and automatically generates\r\n * action creators and action types that correspond to the\r\n * reducers and state.\r\n *\r\n * The `reducer` argument is passed to `createReducer()`.\r\n *\r\n * @public\r\n */\r\nexport function createSlice<\r\n State,\r\n CaseReducers extends SliceCaseReducers,\r\n Name extends string = string\r\n>(\r\n options: CreateSliceOptions\r\n): Slice {\r\n const { name } = options\r\n if (!name) {\r\n throw new Error('`name` is a required option for createSlice')\r\n }\r\n\r\n if (\r\n typeof process !== 'undefined' &&\r\n process.env.NODE_ENV === 'development'\r\n ) {\r\n if (options.initialState === undefined) {\r\n console.error(\r\n 'You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`'\r\n )\r\n }\r\n }\r\n\r\n const initialState =\r\n typeof options.initialState == 'function'\r\n ? options.initialState\r\n : freezeDraftable(options.initialState)\r\n\r\n const reducers = options.reducers || {}\r\n\r\n const reducerNames = Object.keys(reducers)\r\n\r\n const sliceCaseReducersByName: Record = {}\r\n const sliceCaseReducersByType: Record = {}\r\n const actionCreators: Record = {}\r\n\r\n reducerNames.forEach((reducerName) => {\r\n const maybeReducerWithPrepare = reducers[reducerName]\r\n const type = getType(name, reducerName)\r\n\r\n let caseReducer: CaseReducer\r\n let prepareCallback: PrepareAction | undefined\r\n\r\n if ('reducer' in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer\r\n prepareCallback = maybeReducerWithPrepare.prepare\r\n } else {\r\n caseReducer = maybeReducerWithPrepare\r\n }\r\n\r\n sliceCaseReducersByName[reducerName] = caseReducer\r\n sliceCaseReducersByType[type] = caseReducer\r\n actionCreators[reducerName] = prepareCallback\r\n ? createAction(type, prepareCallback)\r\n : createAction(type)\r\n })\r\n\r\n function buildReducer() {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (typeof options.extraReducers === 'object') {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true\r\n console.warn(\r\n \"The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\"\r\n )\r\n }\r\n }\r\n }\r\n const [\r\n extraReducers = {},\r\n actionMatchers = [],\r\n defaultCaseReducer = undefined,\r\n ] =\r\n typeof options.extraReducers === 'function'\r\n ? executeReducerBuilderCallback(options.extraReducers)\r\n : [options.extraReducers]\r\n\r\n const finalCaseReducers = { ...extraReducers, ...sliceCaseReducersByType }\r\n\r\n return createReducer(initialState, (builder) => {\r\n for (let key in finalCaseReducers) {\r\n builder.addCase(key, finalCaseReducers[key] as CaseReducer)\r\n }\r\n for (let m of actionMatchers) {\r\n builder.addMatcher(m.matcher, m.reducer)\r\n }\r\n if (defaultCaseReducer) {\r\n builder.addDefaultCase(defaultCaseReducer)\r\n }\r\n })\r\n }\r\n\r\n let _reducer: ReducerWithInitialState\r\n\r\n return {\r\n name,\r\n reducer(state, action) {\r\n if (!_reducer) _reducer = buildReducer()\r\n\r\n return _reducer(state, action)\r\n },\r\n actions: actionCreators as any,\r\n caseReducers: sliceCaseReducersByName as any,\r\n getInitialState() {\r\n if (!_reducer) _reducer = buildReducer()\r\n\r\n return _reducer.getInitialState()\r\n },\r\n }\r\n}\r\n","import type { Draft } from 'immer'\r\nimport createNextState, { isDraft, isDraftable } from 'immer'\r\nimport type { AnyAction, Action, Reducer } from 'redux'\r\nimport type { ActionReducerMapBuilder } from './mapBuilders'\r\nimport { executeReducerBuilderCallback } from './mapBuilders'\r\nimport type { NoInfer } from './tsHelpers'\r\nimport { freezeDraftable } from './utils'\r\n\r\n/**\r\n * Defines a mapping from action types to corresponding action object shapes.\r\n *\r\n * @deprecated This should not be used manually - it is only used for internal\r\n * inference purposes and should not have any further value.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type Actions = Record\r\n\r\n/**\r\n * @deprecated use `TypeGuard` instead\r\n */\r\nexport interface ActionMatcher {\r\n (action: AnyAction): action is A\r\n}\r\n\r\nexport type ActionMatcherDescription = {\r\n matcher: ActionMatcher\r\n reducer: CaseReducer>\r\n}\r\n\r\nexport type ReadonlyActionMatcherDescriptionCollection = ReadonlyArray<\r\n ActionMatcherDescription\r\n>\r\n\r\nexport type ActionMatcherDescriptionCollection = Array<\r\n ActionMatcherDescription\r\n>\r\n\r\n/**\r\n * A *case reducer* is a reducer function for a specific action type. Case\r\n * reducers can be composed to full reducers using `createReducer()`.\r\n *\r\n * Unlike a normal Redux reducer, a case reducer is never called with an\r\n * `undefined` state to determine the initial state. Instead, the initial\r\n * state is explicitly specified as an argument to `createReducer()`.\r\n *\r\n * In addition, a case reducer can choose to mutate the passed-in `state`\r\n * value directly instead of returning a new state. This does not actually\r\n * cause the store state to be mutated directly; instead, thanks to\r\n * [immer](https://github.com/mweststrate/immer), the mutations are\r\n * translated to copy operations that result in a new state.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducer = (\r\n state: Draft,\r\n action: A\r\n) => S | void | Draft\r\n\r\n/**\r\n * A mapping from action types to case reducers for `createReducer()`.\r\n *\r\n * @deprecated This should not be used manually - it is only used\r\n * for internal inference purposes and using it manually\r\n * would lead to type erasure.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type CaseReducers = {\r\n [T in keyof AS]: AS[T] extends Action ? CaseReducer : void\r\n}\r\n\r\nexport type NotFunction = T extends Function ? never : T\r\n\r\nfunction isStateFunction(x: unknown): x is () => S {\r\n return typeof x === 'function'\r\n}\r\n\r\nexport type ReducerWithInitialState> = Reducer & {\r\n getInitialState: () => S\r\n}\r\n\r\nlet hasWarnedAboutObjectNotation = false\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * @remarks\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n *\r\n * @overloadSummary\r\n * This overload accepts a callback function that receives a `builder` object as its argument.\r\n * That builder provides `addCase`, `addMatcher` and `addDefaultCase` functions that may be\r\n * called to define what actions this reducer will handle.\r\n *\r\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n * @param builderCallback - `(builder: Builder) => void` A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n * @example\r\n```ts\r\nimport {\r\n createAction,\r\n createReducer,\r\n AnyAction,\r\n PayloadAction,\r\n} from \"@reduxjs/toolkit\";\r\n\r\nconst increment = createAction(\"increment\");\r\nconst decrement = createAction(\"decrement\");\r\n\r\nfunction isActionWithNumberPayload(\r\n action: AnyAction\r\n): action is PayloadAction {\r\n return typeof action.payload === \"number\";\r\n}\r\n\r\nconst reducer = createReducer(\r\n {\r\n counter: 0,\r\n sumOfNumberPayloads: 0,\r\n unhandledActions: 0,\r\n },\r\n (builder) => {\r\n builder\r\n .addCase(increment, (state, action) => {\r\n // action is inferred correctly here\r\n state.counter += action.payload;\r\n })\r\n // You can chain calls, or have separate `builder.addCase()` lines each time\r\n .addCase(decrement, (state, action) => {\r\n state.counter -= action.payload;\r\n })\r\n // You can apply a \"matcher function\" to incoming actions\r\n .addMatcher(isActionWithNumberPayload, (state, action) => {})\r\n // and provide a default case if no other handlers matched\r\n .addDefaultCase((state, action) => {});\r\n }\r\n);\r\n```\r\n * @public\r\n */\r\nexport function createReducer>(\r\n initialState: S | (() => S),\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): ReducerWithInitialState\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n * \r\n * @overloadSummary\r\n * This overload accepts an object where the keys are string action types, and the values\r\n * are case reducer functions to handle those action types.\r\n *\r\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n * @param actionsMap - An object mapping from action types to _case reducers_, each of which handles one specific action type.\r\n * @param actionMatchers - An array of matcher definitions in the form `{matcher, reducer}`.\r\n * All matching reducers will be executed in order, independently if a case reducer matched or not.\r\n * @param defaultCaseReducer - A \"default case\" reducer that is executed if no case reducer and no matcher\r\n * reducer was executed for this action.\r\n *\r\n * @example\r\n```js\r\nconst counterReducer = createReducer(0, {\r\n increment: (state, action) => state + action.payload,\r\n decrement: (state, action) => state - action.payload\r\n})\r\n\r\n// Alternately, use a \"lazy initializer\" to provide the initial state\r\n// (works with either form of createReducer)\r\nconst initialState = () => 0\r\nconst counterReducer = createReducer(initialState, {\r\n increment: (state, action) => state + action.payload,\r\n decrement: (state, action) => state - action.payload\r\n})\r\n```\r\n \r\n * Action creators that were generated using [`createAction`](./createAction) may be used directly as the keys here, using computed property syntax:\r\n\r\n```js\r\nconst increment = createAction('increment')\r\nconst decrement = createAction('decrement')\r\n\r\nconst counterReducer = createReducer(0, {\r\n [increment]: (state, action) => state + action.payload,\r\n [decrement.type]: (state, action) => state - action.payload\r\n})\r\n```\r\n * @public\r\n */\r\nexport function createReducer<\r\n S extends NotFunction,\r\n CR extends CaseReducers = CaseReducers\r\n>(\r\n initialState: S | (() => S),\r\n actionsMap: CR,\r\n actionMatchers?: ActionMatcherDescriptionCollection,\r\n defaultCaseReducer?: CaseReducer\r\n): ReducerWithInitialState\r\n\r\nexport function createReducer>(\r\n initialState: S | (() => S),\r\n mapOrBuilderCallback:\r\n | CaseReducers\r\n | ((builder: ActionReducerMapBuilder) => void),\r\n actionMatchers: ReadonlyActionMatcherDescriptionCollection = [],\r\n defaultCaseReducer?: CaseReducer\r\n): ReducerWithInitialState {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (typeof mapOrBuilderCallback === 'object') {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true\r\n console.warn(\r\n \"The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\"\r\n )\r\n }\r\n }\r\n }\r\n\r\n let [actionsMap, finalActionMatchers, finalDefaultCaseReducer] =\r\n typeof mapOrBuilderCallback === 'function'\r\n ? executeReducerBuilderCallback(mapOrBuilderCallback)\r\n : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer]\r\n\r\n // Ensure the initial state gets frozen either way (if draftable)\r\n let getInitialState: () => S\r\n if (isStateFunction(initialState)) {\r\n getInitialState = () => freezeDraftable(initialState())\r\n } else {\r\n const frozenInitialState = freezeDraftable(initialState)\r\n getInitialState = () => frozenInitialState\r\n }\r\n\r\n function reducer(state = getInitialState(), action: any): S {\r\n let caseReducers = [\r\n actionsMap[action.type],\r\n ...finalActionMatchers\r\n .filter(({ matcher }) => matcher(action))\r\n .map(({ reducer }) => reducer),\r\n ]\r\n if (caseReducers.filter((cr) => !!cr).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer]\r\n }\r\n\r\n return caseReducers.reduce((previousState, caseReducer): S => {\r\n if (caseReducer) {\r\n if (isDraft(previousState)) {\r\n // If it's already a draft, we must already be inside a `createNextState` call,\r\n // likely because this is being wrapped in `createReducer`, `createSlice`, or nested\r\n // inside an existing draft. It's safe to just pass the draft to the mutator.\r\n const draft = previousState as Draft // We can assume this is already a draft\r\n const result = caseReducer(draft, action)\r\n\r\n if (result === undefined) {\r\n return previousState\r\n }\r\n\r\n return result as S\r\n } else if (!isDraftable(previousState)) {\r\n // If state is not draftable (ex: a primitive, such as 0), we want to directly\r\n // return the caseReducer func and not wrap it with produce.\r\n const result = caseReducer(previousState as any, action)\r\n\r\n if (result === undefined) {\r\n if (previousState === null) {\r\n return previousState\r\n }\r\n throw Error(\r\n 'A case reducer on a non-draftable value must not return undefined'\r\n )\r\n }\r\n\r\n return result as S\r\n } else {\r\n // @ts-ignore createNextState() produces an Immutable> rather\r\n // than an Immutable, and TypeScript cannot find out how to reconcile\r\n // these two types.\r\n return createNextState(previousState, (draft: Draft) => {\r\n return caseReducer(draft, action)\r\n })\r\n }\r\n }\r\n\r\n return previousState\r\n }, state)\r\n }\r\n\r\n reducer.getInitialState = getInitialState\r\n\r\n return reducer as ReducerWithInitialState\r\n}\r\n","// Borrowed from https://github.com/ai/nanoid/blob/3.0.2/non-secure/index.js\r\n// This alphabet uses `A-Za-z0-9_-` symbols. A genetic algorithm helped\r\n// optimize the gzip compression for this alphabet.\r\nlet urlAlphabet =\r\n 'ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW'\r\n\r\n/**\r\n *\r\n * @public\r\n */\r\nexport let nanoid = (size = 21) => {\r\n let id = ''\r\n // A compact alternative for `for (var i = 0; i < step; i++)`.\r\n let i = size\r\n while (i--) {\r\n // `| 0` is more compact and faster than `Math.floor()`.\r\n id += urlAlphabet[(Math.random() * 64) | 0]\r\n }\r\n return id\r\n}\r\n","import type { Dispatch, AnyAction } from 'redux'\r\nimport type {\r\n PayloadAction,\r\n ActionCreatorWithPreparedPayload,\r\n} from './createAction'\r\nimport { createAction } from './createAction'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport type { FallbackIfUnknown, Id, IsAny, IsUnknown } from './tsHelpers'\r\nimport { nanoid } from './nanoid'\r\n\r\n// @ts-ignore we need the import of these types due to a bundling issue.\r\ntype _Keep = PayloadAction | ActionCreatorWithPreparedPayload\r\n\r\nexport type BaseThunkAPI<\r\n S,\r\n E,\r\n D extends Dispatch = Dispatch,\r\n RejectedValue = undefined,\r\n RejectedMeta = unknown,\r\n FulfilledMeta = unknown\r\n> = {\r\n dispatch: D\r\n getState: () => S\r\n extra: E\r\n requestId: string\r\n signal: AbortSignal\r\n abort: (reason?: string) => void\r\n rejectWithValue: IsUnknown<\r\n RejectedMeta,\r\n (value: RejectedValue) => RejectWithValue,\r\n (\r\n value: RejectedValue,\r\n meta: RejectedMeta\r\n ) => RejectWithValue\r\n >\r\n fulfillWithValue: IsUnknown<\r\n FulfilledMeta,\r\n (\r\n value: FulfilledValue\r\n ) => FulfillWithMeta,\r\n (\r\n value: FulfilledValue,\r\n meta: FulfilledMeta\r\n ) => FulfillWithMeta\r\n >\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface SerializedError {\r\n name?: string\r\n message?: string\r\n stack?: string\r\n code?: string\r\n}\r\n\r\nconst commonProperties: Array = [\r\n 'name',\r\n 'message',\r\n 'stack',\r\n 'code',\r\n]\r\n\r\nclass RejectWithValue {\r\n /*\r\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\r\n does not exist at runtime\r\n */\r\n private readonly _type!: 'RejectWithValue'\r\n constructor(\r\n public readonly payload: Payload,\r\n public readonly meta: RejectedMeta\r\n ) {}\r\n}\r\n\r\nclass FulfillWithMeta {\r\n /*\r\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\r\n does not exist at runtime\r\n */\r\n private readonly _type!: 'FulfillWithMeta'\r\n constructor(\r\n public readonly payload: Payload,\r\n public readonly meta: FulfilledMeta\r\n ) {}\r\n}\r\n\r\n/**\r\n * Serializes an error into a plain object.\r\n * Reworked from https://github.com/sindresorhus/serialize-error\r\n *\r\n * @public\r\n */\r\nexport const miniSerializeError = (value: any): SerializedError => {\r\n if (typeof value === 'object' && value !== null) {\r\n const simpleError: SerializedError = {}\r\n for (const property of commonProperties) {\r\n if (typeof value[property] === 'string') {\r\n simpleError[property] = value[property]\r\n }\r\n }\r\n\r\n return simpleError\r\n }\r\n\r\n return { message: String(value) }\r\n}\r\n\r\ntype AsyncThunkConfig = {\r\n state?: unknown\r\n dispatch?: Dispatch\r\n extra?: unknown\r\n rejectValue?: unknown\r\n serializedErrorType?: unknown\r\n pendingMeta?: unknown\r\n fulfilledMeta?: unknown\r\n rejectedMeta?: unknown\r\n}\r\n\r\ntype GetState = ThunkApiConfig extends {\r\n state: infer State\r\n}\r\n ? State\r\n : unknown\r\ntype GetExtra = ThunkApiConfig extends { extra: infer Extra }\r\n ? Extra\r\n : unknown\r\ntype GetDispatch = ThunkApiConfig extends {\r\n dispatch: infer Dispatch\r\n}\r\n ? FallbackIfUnknown<\r\n Dispatch,\r\n ThunkDispatch<\r\n GetState,\r\n GetExtra,\r\n AnyAction\r\n >\r\n >\r\n : ThunkDispatch, GetExtra, AnyAction>\r\n\r\ntype GetThunkAPI = BaseThunkAPI<\r\n GetState,\r\n GetExtra,\r\n GetDispatch,\r\n GetRejectValue,\r\n GetRejectedMeta,\r\n GetFulfilledMeta\r\n>\r\n\r\ntype GetRejectValue = ThunkApiConfig extends {\r\n rejectValue: infer RejectValue\r\n}\r\n ? RejectValue\r\n : unknown\r\n\r\ntype GetPendingMeta = ThunkApiConfig extends {\r\n pendingMeta: infer PendingMeta\r\n}\r\n ? PendingMeta\r\n : unknown\r\n\r\ntype GetFulfilledMeta = ThunkApiConfig extends {\r\n fulfilledMeta: infer FulfilledMeta\r\n}\r\n ? FulfilledMeta\r\n : unknown\r\n\r\ntype GetRejectedMeta = ThunkApiConfig extends {\r\n rejectedMeta: infer RejectedMeta\r\n}\r\n ? RejectedMeta\r\n : unknown\r\n\r\ntype GetSerializedErrorType = ThunkApiConfig extends {\r\n serializedErrorType: infer GetSerializedErrorType\r\n}\r\n ? GetSerializedErrorType\r\n : SerializedError\r\n\r\ntype MaybePromise = T | Promise | (T extends any ? Promise : never)\r\n\r\n/**\r\n * A type describing the return value of the `payloadCreator` argument to `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkPayloadCreatorReturnValue<\r\n Returned,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = MaybePromise<\r\n | IsUnknown<\r\n GetFulfilledMeta,\r\n Returned,\r\n FulfillWithMeta>\r\n >\r\n | RejectWithValue<\r\n GetRejectValue,\r\n GetRejectedMeta\r\n >\r\n>\r\n/**\r\n * A type describing the `payloadCreator` argument to `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg = void,\r\n ThunkApiConfig extends AsyncThunkConfig = {}\r\n> = (\r\n arg: ThunkArg,\r\n thunkAPI: GetThunkAPI\r\n) => AsyncThunkPayloadCreatorReturnValue\r\n\r\n/**\r\n * A ThunkAction created by `createAsyncThunk`.\r\n * Dispatching it returns a Promise for either a\r\n * fulfilled or rejected action.\r\n * Also, the returned value contains an `abort()` method\r\n * that allows the asyncAction to be cancelled from the outside.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkAction<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = (\r\n dispatch: GetDispatch,\r\n getState: () => GetState,\r\n extra: GetExtra\r\n) => Promise<\r\n | ReturnType>\r\n | ReturnType>\r\n> & {\r\n abort: (reason?: string) => void\r\n requestId: string\r\n arg: ThunkArg\r\n unwrap: () => Promise\r\n}\r\n\r\ntype AsyncThunkActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = IsAny<\r\n ThunkArg,\r\n // any handling\r\n (arg: ThunkArg) => AsyncThunkAction,\r\n // unknown handling\r\n unknown extends ThunkArg\r\n ? (arg: ThunkArg) => AsyncThunkAction // argument not specified or specified as void or undefined\r\n : [ThunkArg] extends [void] | [undefined]\r\n ? () => AsyncThunkAction // argument contains void\r\n : [void] extends [ThunkArg] // make optional\r\n ? (arg?: ThunkArg) => AsyncThunkAction // argument contains undefined\r\n : [undefined] extends [ThunkArg]\r\n ? WithStrictNullChecks<\r\n // with strict nullChecks: make optional\r\n (\r\n arg?: ThunkArg\r\n ) => AsyncThunkAction,\r\n // without strict null checks this will match everything, so don't make it optional\r\n (arg: ThunkArg) => AsyncThunkAction\r\n > // default case: normal argument\r\n : (arg: ThunkArg) => AsyncThunkAction\r\n>\r\n\r\n/**\r\n * Options object for `createAsyncThunk`.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkOptions<\r\n ThunkArg = void,\r\n ThunkApiConfig extends AsyncThunkConfig = {}\r\n> = {\r\n /**\r\n * A method to control whether the asyncThunk should be executed. Has access to the\r\n * `arg`, `api.getState()` and `api.extra` arguments.\r\n *\r\n * @returns `false` if it should be skipped\r\n */\r\n condition?(\r\n arg: ThunkArg,\r\n api: Pick, 'getState' | 'extra'>\r\n ): MaybePromise\r\n /**\r\n * If `condition` returns `false`, the asyncThunk will be skipped.\r\n * This option allows you to control whether a `rejected` action with `meta.condition == false`\r\n * will be dispatched or not.\r\n *\r\n * @default `false`\r\n */\r\n dispatchConditionRejection?: boolean\r\n\r\n serializeError?: (x: unknown) => GetSerializedErrorType\r\n\r\n /**\r\n * A function to use when generating the `requestId` for the request sequence.\r\n *\r\n * @default `nanoid`\r\n */\r\n idGenerator?: (arg: ThunkArg) => string\r\n} & IsUnknown<\r\n GetPendingMeta,\r\n {\r\n /**\r\n * A method to generate additional properties to be added to `meta` of the pending action.\r\n *\r\n * Using this optional overload will not modify the types correctly, this overload is only in place to support JavaScript users.\r\n * Please use the `ThunkApiConfig` parameter `pendingMeta` to get access to a correctly typed overload\r\n */\r\n getPendingMeta?(\r\n base: {\r\n arg: ThunkArg\r\n requestId: string\r\n },\r\n api: Pick, 'getState' | 'extra'>\r\n ): GetPendingMeta\r\n },\r\n {\r\n /**\r\n * A method to generate additional properties to be added to `meta` of the pending action.\r\n */\r\n getPendingMeta(\r\n base: {\r\n arg: ThunkArg\r\n requestId: string\r\n },\r\n api: Pick, 'getState' | 'extra'>\r\n ): GetPendingMeta\r\n }\r\n>\r\n\r\nexport type AsyncThunkPendingActionCreator<\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [string, ThunkArg, GetPendingMeta?],\r\n undefined,\r\n string,\r\n never,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'pending'\r\n } & GetPendingMeta\r\n>\r\n\r\nexport type AsyncThunkRejectedActionCreator<\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [\r\n Error | null,\r\n string,\r\n ThunkArg,\r\n GetRejectValue?,\r\n GetRejectedMeta?\r\n ],\r\n GetRejectValue | undefined,\r\n string,\r\n GetSerializedErrorType,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'rejected'\r\n aborted: boolean\r\n condition: boolean\r\n } & (\r\n | ({ rejectedWithValue: false } & {\r\n [K in keyof GetRejectedMeta]?: undefined\r\n })\r\n | ({ rejectedWithValue: true } & GetRejectedMeta)\r\n )\r\n>\r\n\r\nexport type AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [Returned, string, ThunkArg, GetFulfilledMeta?],\r\n Returned,\r\n string,\r\n never,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'fulfilled'\r\n } & GetFulfilledMeta\r\n>\r\n\r\n/**\r\n * A type describing the return value of `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = AsyncThunkActionCreator & {\r\n pending: AsyncThunkPendingActionCreator\r\n rejected: AsyncThunkRejectedActionCreator\r\n fulfilled: AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >\r\n typePrefix: string\r\n}\r\n\r\ntype OverrideThunkApiConfigs = Id<\r\n NewConfig & Omit\r\n>\r\n\r\ntype CreateAsyncThunk = {\r\n /**\r\n *\r\n * @param typePrefix\r\n * @param payloadCreator\r\n * @param options\r\n *\r\n * @public\r\n */\r\n // separate signature without `AsyncThunkConfig` for better inference\r\n (\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n CurriedThunkApiConfig\r\n >,\r\n options?: AsyncThunkOptions\r\n ): AsyncThunk\r\n\r\n /**\r\n *\r\n * @param typePrefix\r\n * @param payloadCreator\r\n * @param options\r\n *\r\n * @public\r\n */\r\n (\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >,\r\n options?: AsyncThunkOptions<\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >\r\n ): AsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >\r\n\r\n withTypes(): CreateAsyncThunk<\r\n OverrideThunkApiConfigs\r\n >\r\n}\r\n\r\nexport const createAsyncThunk = (() => {\r\n function createAsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n >(\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >,\r\n options?: AsyncThunkOptions\r\n ): AsyncThunk {\r\n type RejectedValue = GetRejectValue\r\n type PendingMeta = GetPendingMeta\r\n type FulfilledMeta = GetFulfilledMeta\r\n type RejectedMeta = GetRejectedMeta\r\n\r\n const fulfilled: AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n > = createAction(\r\n typePrefix + '/fulfilled',\r\n (\r\n payload: Returned,\r\n requestId: string,\r\n arg: ThunkArg,\r\n meta?: FulfilledMeta\r\n ) => ({\r\n payload,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n requestStatus: 'fulfilled' as const,\r\n },\r\n })\r\n )\r\n\r\n const pending: AsyncThunkPendingActionCreator =\r\n createAction(\r\n typePrefix + '/pending',\r\n (requestId: string, arg: ThunkArg, meta?: PendingMeta) => ({\r\n payload: undefined,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n requestStatus: 'pending' as const,\r\n },\r\n })\r\n )\r\n\r\n const rejected: AsyncThunkRejectedActionCreator =\r\n createAction(\r\n typePrefix + '/rejected',\r\n (\r\n error: Error | null,\r\n requestId: string,\r\n arg: ThunkArg,\r\n payload?: RejectedValue,\r\n meta?: RejectedMeta\r\n ) => ({\r\n payload,\r\n error: ((options && options.serializeError) || miniSerializeError)(\r\n error || 'Rejected'\r\n ) as GetSerializedErrorType,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: 'rejected' as const,\r\n aborted: error?.name === 'AbortError',\r\n condition: error?.name === 'ConditionError',\r\n },\r\n })\r\n )\r\n\r\n let displayedWarning = false\r\n\r\n const AC =\r\n typeof AbortController !== 'undefined'\r\n ? AbortController\r\n : class implements AbortController {\r\n signal = {\r\n aborted: false,\r\n addEventListener() {},\r\n dispatchEvent() {\r\n return false\r\n },\r\n onabort() {},\r\n removeEventListener() {},\r\n reason: undefined,\r\n throwIfAborted() {},\r\n }\r\n abort() {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!displayedWarning) {\r\n displayedWarning = true\r\n console.info(\r\n `This platform does not implement AbortController. \r\nIf you want to use the AbortController to react to \\`abort\\` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.`\r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n function actionCreator(\r\n arg: ThunkArg\r\n ): AsyncThunkAction {\r\n return (dispatch, getState, extra) => {\r\n const requestId = options?.idGenerator\r\n ? options.idGenerator(arg)\r\n : nanoid()\r\n\r\n const abortController = new AC()\r\n let abortReason: string | undefined\r\n\r\n const abortedPromise = new Promise((_, reject) =>\r\n abortController.signal.addEventListener('abort', () =>\r\n reject({ name: 'AbortError', message: abortReason || 'Aborted' })\r\n )\r\n )\r\n\r\n let started = false\r\n function abort(reason?: string) {\r\n if (started) {\r\n abortReason = reason\r\n abortController.abort()\r\n }\r\n }\r\n\r\n const promise = (async function () {\r\n let finalAction: ReturnType\r\n try {\r\n let conditionResult = options?.condition?.(arg, { getState, extra })\r\n if (isThenable(conditionResult)) {\r\n conditionResult = await conditionResult\r\n }\r\n if (conditionResult === false) {\r\n // eslint-disable-next-line no-throw-literal\r\n throw {\r\n name: 'ConditionError',\r\n message: 'Aborted due to condition callback returning false.',\r\n }\r\n }\r\n started = true\r\n dispatch(\r\n pending(\r\n requestId,\r\n arg,\r\n options?.getPendingMeta?.(\r\n { requestId, arg },\r\n { getState, extra }\r\n )\r\n )\r\n )\r\n finalAction = await Promise.race([\r\n abortedPromise,\r\n Promise.resolve(\r\n payloadCreator(arg, {\r\n dispatch,\r\n getState,\r\n extra,\r\n requestId,\r\n signal: abortController.signal,\r\n abort,\r\n rejectWithValue: ((\r\n value: RejectedValue,\r\n meta?: RejectedMeta\r\n ) => {\r\n return new RejectWithValue(value, meta)\r\n }) as any,\r\n fulfillWithValue: ((value: unknown, meta?: FulfilledMeta) => {\r\n return new FulfillWithMeta(value, meta)\r\n }) as any,\r\n })\r\n ).then((result) => {\r\n if (result instanceof RejectWithValue) {\r\n throw result\r\n }\r\n if (result instanceof FulfillWithMeta) {\r\n return fulfilled(result.payload, requestId, arg, result.meta)\r\n }\r\n return fulfilled(result as any, requestId, arg)\r\n }),\r\n ])\r\n } catch (err) {\r\n finalAction =\r\n err instanceof RejectWithValue\r\n ? rejected(null, requestId, arg, err.payload, err.meta)\r\n : rejected(err as any, requestId, arg)\r\n }\r\n // We dispatch the result action _after_ the catch, to avoid having any errors\r\n // here get swallowed by the try/catch block,\r\n // per https://twitter.com/dan_abramov/status/770914221638942720\r\n // and https://github.com/reduxjs/redux-toolkit/blob/e85eb17b39a2118d859f7b7746e0f3fee523e089/docs/tutorials/advanced-tutorial.md#async-error-handling-logic-in-thunks\r\n\r\n const skipDispatch =\r\n options &&\r\n !options.dispatchConditionRejection &&\r\n rejected.match(finalAction) &&\r\n (finalAction as any).meta.condition\r\n\r\n if (!skipDispatch) {\r\n dispatch(finalAction)\r\n }\r\n return finalAction\r\n })()\r\n return Object.assign(promise as Promise, {\r\n abort,\r\n requestId,\r\n arg,\r\n unwrap() {\r\n return promise.then(unwrapResult)\r\n },\r\n })\r\n }\r\n }\r\n\r\n return Object.assign(\r\n actionCreator as AsyncThunkActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >,\r\n {\r\n pending,\r\n rejected,\r\n fulfilled,\r\n typePrefix,\r\n }\r\n )\r\n }\r\n createAsyncThunk.withTypes = createAsyncThunk as unknown\r\n\r\n return createAsyncThunk as CreateAsyncThunk\r\n})()\r\n\r\ninterface UnwrappableAction {\r\n payload: any\r\n meta?: any\r\n error?: any\r\n}\r\n\r\ntype UnwrappedActionPayload = Exclude<\r\n T,\r\n { error: any }\r\n>['payload']\r\n\r\n/**\r\n * @public\r\n */\r\nexport function unwrapResult(\r\n action: R\r\n): UnwrappedActionPayload {\r\n if (action.meta && action.meta.rejectedWithValue) {\r\n throw action.payload\r\n }\r\n if (action.error) {\r\n throw action.error\r\n }\r\n return action.payload\r\n}\r\n\r\ntype WithStrictNullChecks = undefined extends boolean\r\n ? False\r\n : True\r\n\r\nfunction isThenable(value: any): value is PromiseLike {\r\n return (\r\n value !== null &&\r\n typeof value === 'object' &&\r\n typeof value.then === 'function'\r\n )\r\n}\r\n","import type { AbortSignalWithReason } from './types'\r\n\r\nexport const assertFunction: (\r\n func: unknown,\r\n expected: string\r\n) => asserts func is (...args: unknown[]) => unknown = (\r\n func: unknown,\r\n expected: string\r\n) => {\r\n if (typeof func !== 'function') {\r\n throw new TypeError(`${expected} is not a function`)\r\n }\r\n}\r\n\r\nexport const noop = () => {}\r\n\r\nexport const catchRejection = (\r\n promise: Promise,\r\n onError = noop\r\n): Promise => {\r\n promise.catch(onError)\r\n\r\n return promise\r\n}\r\n\r\nexport const addAbortSignalListener = (\r\n abortSignal: AbortSignal,\r\n callback: (evt: Event) => void\r\n) => {\r\n abortSignal.addEventListener('abort', callback, { once: true })\r\n}\r\n\r\n/**\r\n * Calls `abortController.abort(reason)` and patches `signal.reason`.\r\n * if it is not supported.\r\n *\r\n * At the time of writing `signal.reason` is available in FF chrome, edge node 17 and deno.\r\n * @param abortController\r\n * @param reason\r\n * @returns\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/reason\r\n */\r\nexport const abortControllerWithReason = (\r\n abortController: AbortController,\r\n reason: T\r\n): void => {\r\n type Consumer = (val: T) => void\r\n\r\n const signal = abortController.signal as AbortSignalWithReason\r\n\r\n if (signal.aborted) {\r\n return\r\n }\r\n\r\n // Patch `reason` if necessary.\r\n // - We use defineProperty here because reason is a getter of `AbortSignal.__proto__`.\r\n // - We need to patch 'reason' before calling `.abort()` because listeners to the 'abort'\r\n // event are are notified immediately.\r\n if (!('reason' in signal)) {\r\n Object.defineProperty(signal, 'reason', {\r\n enumerable: true,\r\n value: reason,\r\n configurable: true,\r\n writable: true,\r\n })\r\n }\r\n\r\n ;(abortController.abort as Consumer)(reason)\r\n}\r\n","import type { SerializedError } from '@reduxjs/toolkit'\r\n\r\nconst task = 'task'\r\nconst listener = 'listener'\r\nconst completed = 'completed'\r\nconst cancelled = 'cancelled'\r\n\r\n/* TaskAbortError error codes */\r\nexport const taskCancelled = `task-${cancelled}` as const\r\nexport const taskCompleted = `task-${completed}` as const\r\nexport const listenerCancelled = `${listener}-${cancelled}` as const\r\nexport const listenerCompleted = `${listener}-${completed}` as const\r\n\r\nexport class TaskAbortError implements SerializedError {\r\n name = 'TaskAbortError'\r\n message: string\r\n constructor(public code: string | undefined) {\r\n this.message = `${task} ${cancelled} (reason: ${code})`\r\n }\r\n}\r\n","import { TaskAbortError } from './exceptions'\r\nimport type { AbortSignalWithReason, TaskResult } from './types'\r\nimport { addAbortSignalListener, catchRejection } from './utils'\r\n\r\n/**\r\n * Synchronously raises {@link TaskAbortError} if the task tied to the input `signal` has been cancelled.\r\n * @param signal\r\n * @param reason\r\n * @see {TaskAbortError}\r\n */\r\nexport const validateActive = (signal: AbortSignal): void => {\r\n if (signal.aborted) {\r\n throw new TaskAbortError((signal as AbortSignalWithReason).reason)\r\n }\r\n}\r\n\r\n/**\r\n * Returns a promise that will reject {@link TaskAbortError} if the task is cancelled.\r\n * @param signal\r\n * @returns\r\n */\r\nexport const promisifyAbortSignal = (\r\n signal: AbortSignalWithReason\r\n): Promise => {\r\n return catchRejection(\r\n new Promise((_, reject) => {\r\n const notifyRejection = () => reject(new TaskAbortError(signal.reason))\r\n\r\n if (signal.aborted) {\r\n notifyRejection()\r\n } else {\r\n addAbortSignalListener(signal, notifyRejection)\r\n }\r\n })\r\n )\r\n}\r\n\r\n/**\r\n * Runs a task and returns promise that resolves to {@link TaskResult}.\r\n * Second argument is an optional `cleanUp` function that always runs after task.\r\n *\r\n * **Note:** `runTask` runs the executor in the next microtask.\r\n * @returns\r\n */\r\nexport const runTask = async (\r\n task: () => Promise,\r\n cleanUp?: () => void\r\n): Promise> => {\r\n try {\r\n await Promise.resolve()\r\n const value = await task()\r\n return {\r\n status: 'ok',\r\n value,\r\n }\r\n } catch (error: any) {\r\n return {\r\n status: error instanceof TaskAbortError ? 'cancelled' : 'rejected',\r\n error,\r\n }\r\n } finally {\r\n cleanUp?.()\r\n }\r\n}\r\n\r\n/**\r\n * Given an input `AbortSignal` and a promise returns another promise that resolves\r\n * as soon the input promise is provided or rejects as soon as\r\n * `AbortSignal.abort` is `true`.\r\n * @param signal\r\n * @returns\r\n */\r\nexport const createPause = (signal: AbortSignal) => {\r\n return (promise: Promise): Promise => {\r\n return catchRejection(\r\n Promise.race([promisifyAbortSignal(signal), promise]).then((output) => {\r\n validateActive(signal)\r\n return output\r\n })\r\n )\r\n }\r\n}\r\n\r\n/**\r\n * Given an input `AbortSignal` and `timeoutMs` returns a promise that resolves\r\n * after `timeoutMs` or rejects as soon as `AbortSignal.abort` is `true`.\r\n * @param signal\r\n * @returns\r\n */\r\nexport const createDelay = (signal: AbortSignal) => {\r\n const pause = createPause(signal)\r\n return (timeoutMs: number): Promise => {\r\n return pause(new Promise((resolve) => setTimeout(resolve, timeoutMs)))\r\n }\r\n}\r\n","import type { Dispatch, AnyAction, MiddlewareAPI } from 'redux'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport { createAction } from '../createAction'\r\nimport { nanoid } from '../nanoid'\r\n\r\nimport type {\r\n ListenerMiddleware,\r\n ListenerMiddlewareInstance,\r\n AddListenerOverloads,\r\n AnyListenerPredicate,\r\n CreateListenerMiddlewareOptions,\r\n TypedAddListener,\r\n TypedCreateListenerEntry,\r\n FallbackAddListenerOptions,\r\n ListenerEntry,\r\n ListenerErrorHandler,\r\n UnsubscribeListener,\r\n TakePattern,\r\n ListenerErrorInfo,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n TypedRemoveListener,\r\n TaskResult,\r\n AbortSignalWithReason,\r\n UnsubscribeListenerOptions,\r\n} from './types'\r\nimport {\r\n abortControllerWithReason,\r\n addAbortSignalListener,\r\n assertFunction,\r\n catchRejection,\r\n} from './utils'\r\nimport {\r\n listenerCancelled,\r\n listenerCompleted,\r\n TaskAbortError,\r\n taskCancelled,\r\n taskCompleted,\r\n} from './exceptions'\r\nimport {\r\n runTask,\r\n promisifyAbortSignal,\r\n validateActive,\r\n createPause,\r\n createDelay,\r\n} from './task'\r\nexport { TaskAbortError } from './exceptions'\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './types'\r\n\r\n//Overly-aggressive byte-shaving\r\nconst { assign } = Object\r\n/**\r\n * @internal\r\n */\r\nconst INTERNAL_NIL_TOKEN = {} as const\r\n\r\nconst alm = 'listenerMiddleware' as const\r\n\r\nconst createFork = (parentAbortSignal: AbortSignalWithReason) => {\r\n const linkControllers = (controller: AbortController) =>\r\n addAbortSignalListener(parentAbortSignal, () =>\r\n abortControllerWithReason(controller, parentAbortSignal.reason)\r\n )\r\n\r\n return (taskExecutor: ForkedTaskExecutor): ForkedTask => {\r\n assertFunction(taskExecutor, 'taskExecutor')\r\n const childAbortController = new AbortController()\r\n\r\n linkControllers(childAbortController)\r\n\r\n const result = runTask(\r\n async (): Promise => {\r\n validateActive(parentAbortSignal)\r\n validateActive(childAbortController.signal)\r\n const result = (await taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal,\r\n })) as T\r\n validateActive(childAbortController.signal)\r\n return result\r\n },\r\n () => abortControllerWithReason(childAbortController, taskCompleted)\r\n )\r\n\r\n return {\r\n result: createPause>(parentAbortSignal)(result),\r\n cancel() {\r\n abortControllerWithReason(childAbortController, taskCancelled)\r\n },\r\n }\r\n }\r\n}\r\n\r\nconst createTakePattern = (\r\n startListening: AddListenerOverloads<\r\n UnsubscribeListener,\r\n S,\r\n Dispatch\r\n >,\r\n signal: AbortSignal\r\n): TakePattern => {\r\n /**\r\n * A function that takes a ListenerPredicate and an optional timeout,\r\n * and resolves when either the predicate returns `true` based on an action\r\n * state combination or when the timeout expires.\r\n * If the parent listener is canceled while waiting, this will throw a\r\n * TaskAbortError.\r\n */\r\n const take = async

>(\r\n predicate: P,\r\n timeout: number | undefined\r\n ) => {\r\n validateActive(signal)\r\n\r\n // Placeholder unsubscribe function until the listener is added\r\n let unsubscribe: UnsubscribeListener = () => {}\r\n\r\n const tuplePromise = new Promise<[AnyAction, S, S]>((resolve) => {\r\n // Inside the Promise, we synchronously add the listener.\r\n unsubscribe = startListening({\r\n predicate: predicate as any,\r\n effect: (action, listenerApi): void => {\r\n // One-shot listener that cleans up as soon as the predicate passes\r\n listenerApi.unsubscribe()\r\n // Resolve the promise with the same arguments the predicate saw\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState(),\r\n ])\r\n },\r\n })\r\n })\r\n\r\n const promises: (Promise | Promise<[AnyAction, S, S]>)[] = [\r\n promisifyAbortSignal(signal),\r\n tuplePromise,\r\n ]\r\n\r\n if (timeout != null) {\r\n promises.push(\r\n new Promise((resolve) => setTimeout(resolve, timeout, null))\r\n )\r\n }\r\n\r\n try {\r\n const output = await Promise.race(promises)\r\n\r\n validateActive(signal)\r\n return output\r\n } finally {\r\n // Always clean up the listener\r\n unsubscribe()\r\n }\r\n }\r\n\r\n return ((predicate: AnyListenerPredicate, timeout: number | undefined) =>\r\n catchRejection(take(predicate, timeout))) as TakePattern\r\n}\r\n\r\nconst getListenerEntryPropsFrom = (options: FallbackAddListenerOptions) => {\r\n let { type, actionCreator, matcher, predicate, effect } = options\r\n\r\n if (type) {\r\n predicate = createAction(type).match\r\n } else if (actionCreator) {\r\n type = actionCreator!.type\r\n predicate = actionCreator.match\r\n } else if (matcher) {\r\n predicate = matcher\r\n } else if (predicate) {\r\n // pass\r\n } else {\r\n throw new Error(\r\n 'Creating or removing a listener requires one of the known fields for matching an action'\r\n )\r\n }\r\n\r\n assertFunction(effect, 'options.listener')\r\n\r\n return { predicate, type, effect }\r\n}\r\n\r\n/** Accepts the possible options for creating a listener, and returns a formatted listener entry */\r\nexport const createListenerEntry: TypedCreateListenerEntry = (\r\n options: FallbackAddListenerOptions\r\n) => {\r\n const { type, predicate, effect } = getListenerEntryPropsFrom(options)\r\n\r\n const id = nanoid()\r\n const entry: ListenerEntry = {\r\n id,\r\n effect,\r\n type,\r\n predicate,\r\n pending: new Set(),\r\n unsubscribe: () => {\r\n throw new Error('Unsubscribe not initialized')\r\n },\r\n }\r\n\r\n return entry\r\n}\r\n\r\nconst createClearListenerMiddleware = (\r\n listenerMap: Map\r\n) => {\r\n return () => {\r\n listenerMap.forEach(cancelActiveListeners)\r\n\r\n listenerMap.clear()\r\n }\r\n}\r\n\r\n/**\r\n * Safely reports errors to the `errorHandler` provided.\r\n * Errors that occur inside `errorHandler` are notified in a new task.\r\n * Inspired by [rxjs reportUnhandledError](https://github.com/ReactiveX/rxjs/blob/6fafcf53dc9e557439b25debaeadfd224b245a66/src/internal/util/reportUnhandledError.ts)\r\n * @param errorHandler\r\n * @param errorToNotify\r\n */\r\nconst safelyNotifyError = (\r\n errorHandler: ListenerErrorHandler,\r\n errorToNotify: unknown,\r\n errorInfo: ListenerErrorInfo\r\n): void => {\r\n try {\r\n errorHandler(errorToNotify, errorInfo)\r\n } catch (errorHandlerError) {\r\n // We cannot let an error raised here block the listener queue.\r\n // The error raised here will be picked up by `window.onerror`, `process.on('error')` etc...\r\n setTimeout(() => {\r\n throw errorHandlerError\r\n }, 0)\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const addListener = createAction(\r\n `${alm}/add`\r\n) as TypedAddListener\r\n\r\n/**\r\n * @public\r\n */\r\nexport const clearAllListeners = createAction(`${alm}/removeAll`)\r\n\r\n/**\r\n * @public\r\n */\r\nexport const removeListener = createAction(\r\n `${alm}/remove`\r\n) as TypedRemoveListener\r\n\r\nconst defaultErrorHandler: ListenerErrorHandler = (...args: unknown[]) => {\r\n console.error(`${alm}/error`, ...args)\r\n}\r\n\r\nconst cancelActiveListeners = (\r\n entry: ListenerEntry>\r\n) => {\r\n entry.pending.forEach((controller) => {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n })\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport function createListenerMiddleware<\r\n S = unknown,\r\n D extends Dispatch = ThunkDispatch,\r\n ExtraArgument = unknown\r\n>(middlewareOptions: CreateListenerMiddlewareOptions = {}) {\r\n const listenerMap = new Map()\r\n const { extra, onError = defaultErrorHandler } = middlewareOptions\r\n\r\n assertFunction(onError, 'onError')\r\n\r\n const insertEntry = (entry: ListenerEntry) => {\r\n entry.unsubscribe = () => listenerMap.delete(entry!.id)\r\n\r\n listenerMap.set(entry.id, entry)\r\n return (cancelOptions?: UnsubscribeListenerOptions) => {\r\n entry.unsubscribe()\r\n if (cancelOptions?.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n }\r\n\r\n const findListenerEntry = (\r\n comparator: (entry: ListenerEntry) => boolean\r\n ): ListenerEntry | undefined => {\r\n for (const entry of Array.from(listenerMap.values())) {\r\n if (comparator(entry)) {\r\n return entry\r\n }\r\n }\r\n\r\n return undefined\r\n }\r\n\r\n const startListening = (options: FallbackAddListenerOptions) => {\r\n let entry = findListenerEntry(\r\n (existingEntry) => existingEntry.effect === options.effect\r\n )\r\n\r\n if (!entry) {\r\n entry = createListenerEntry(options as any)\r\n }\r\n\r\n return insertEntry(entry)\r\n }\r\n\r\n const stopListening = (\r\n options: FallbackAddListenerOptions & UnsubscribeListenerOptions\r\n ): boolean => {\r\n const { type, effect, predicate } = getListenerEntryPropsFrom(options)\r\n\r\n const entry = findListenerEntry((entry) => {\r\n const matchPredicateOrType =\r\n typeof type === 'string'\r\n ? entry.type === type\r\n : entry.predicate === predicate\r\n\r\n return matchPredicateOrType && entry.effect === effect\r\n })\r\n\r\n if (entry) {\r\n entry.unsubscribe()\r\n if (options.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n\r\n return !!entry\r\n }\r\n\r\n const notifyListener = async (\r\n entry: ListenerEntry>,\r\n action: AnyAction,\r\n api: MiddlewareAPI,\r\n getOriginalState: () => S\r\n ) => {\r\n const internalTaskController = new AbortController()\r\n const take = createTakePattern(\r\n startListening,\r\n internalTaskController.signal\r\n )\r\n\r\n try {\r\n entry.pending.add(internalTaskController)\r\n await Promise.resolve(\r\n entry.effect(\r\n action,\r\n // Use assign() rather than ... to avoid extra helper functions added to bundle\r\n assign({}, api, {\r\n getOriginalState,\r\n condition: (\r\n predicate: AnyListenerPredicate,\r\n timeout?: number\r\n ) => take(predicate, timeout).then(Boolean),\r\n take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: () => {\r\n listenerMap.set(entry.id, entry)\r\n },\r\n cancelActiveListeners: () => {\r\n entry.pending.forEach((controller, _, set) => {\r\n if (controller !== internalTaskController) {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n set.delete(controller)\r\n }\r\n })\r\n },\r\n })\r\n )\r\n )\r\n } catch (listenerError) {\r\n if (!(listenerError instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError, {\r\n raisedBy: 'effect',\r\n })\r\n }\r\n } finally {\r\n abortControllerWithReason(internalTaskController, listenerCompleted) // Notify that the task has completed\r\n entry.pending.delete(internalTaskController)\r\n }\r\n }\r\n\r\n const clearListenerMiddleware = createClearListenerMiddleware(listenerMap)\r\n\r\n const middleware: ListenerMiddleware =\r\n (api) => (next) => (action) => {\r\n if (addListener.match(action)) {\r\n return startListening(action.payload)\r\n }\r\n\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware()\r\n return\r\n }\r\n\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload)\r\n }\r\n\r\n // Need to get this state _before_ the reducer processes the action\r\n let originalState: S | typeof INTERNAL_NIL_TOKEN = api.getState()\r\n\r\n // `getOriginalState` can only be called synchronously.\r\n // @see https://github.com/reduxjs/redux-toolkit/discussions/1648#discussioncomment-1932820\r\n const getOriginalState = (): S => {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(\r\n `${alm}: getOriginalState can only be called synchronously`\r\n )\r\n }\r\n\r\n return originalState as S\r\n }\r\n\r\n let result: unknown\r\n\r\n try {\r\n // Actually forward the action to the reducer before we handle listeners\r\n result = next(action)\r\n\r\n if (listenerMap.size > 0) {\r\n let currentState = api.getState()\r\n // Work around ESBuild+TS transpilation issue\r\n const listenerEntries = Array.from(listenerMap.values())\r\n for (let entry of listenerEntries) {\r\n let runListener = false\r\n\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState)\r\n } catch (predicateError) {\r\n runListener = false\r\n\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: 'predicate',\r\n })\r\n }\r\n\r\n if (!runListener) {\r\n continue\r\n }\r\n\r\n notifyListener(entry, action, api, getOriginalState)\r\n }\r\n }\r\n } finally {\r\n // Remove `originalState` store from this scope.\r\n originalState = INTERNAL_NIL_TOKEN\r\n }\r\n\r\n return result\r\n }\r\n\r\n return {\r\n middleware,\r\n startListening,\r\n stopListening,\r\n clearListeners: clearListenerMiddleware,\r\n } as ListenerMiddlewareInstance\r\n}\r\n","import type { StoreEnhancer } from 'redux'\r\n\r\nexport const SHOULD_AUTOBATCH = 'RTK_autoBatch'\r\n\r\nexport const prepareAutoBatched =\r\n () =>\r\n (payload: T): { payload: T; meta: unknown } => ({\r\n payload,\r\n meta: { [SHOULD_AUTOBATCH]: true },\r\n })\r\n\r\n// TODO Remove this in 2.0\r\n// Copied from https://github.com/feross/queue-microtask\r\nlet promise: Promise\r\nconst queueMicrotaskShim =\r\n typeof queueMicrotask === 'function'\r\n ? queueMicrotask.bind(typeof window !== 'undefined' ? window : global)\r\n : // reuse resolved promise, and allocate it lazily\r\n (cb: () => void) =>\r\n (promise || (promise = Promise.resolve())).then(cb).catch((err: any) =>\r\n setTimeout(() => {\r\n throw err\r\n }, 0)\r\n )\r\n\r\nexport type AutoBatchOptions =\r\n | { type: 'tick' }\r\n | { type: 'timer'; timeout: number }\r\n | { type: 'raf' }\r\n | { type: 'callback'; queueNotification: (notify: () => void) => void }\r\n\r\nconst createQueueWithTimer = (timeout: number) => {\r\n return (notify: () => void) => {\r\n setTimeout(notify, timeout)\r\n }\r\n}\r\n\r\n/**\r\n * A Redux store enhancer that watches for \"low-priority\" actions, and delays\r\n * notifying subscribers until either the queued callback executes or the\r\n * next \"standard-priority\" action is dispatched.\r\n *\r\n * This allows dispatching multiple \"low-priority\" actions in a row with only\r\n * a single subscriber notification to the UI after the sequence of actions\r\n * is finished, thus improving UI re-render performance.\r\n *\r\n * Watches for actions with the `action.meta[SHOULD_AUTOBATCH]` attribute.\r\n * This can be added to `action.meta` manually, or by using the\r\n * `prepareAutoBatched` helper.\r\n *\r\n * By default, it will queue a notification for the end of the event loop tick.\r\n * However, you can pass several other options to configure the behavior:\r\n * - `{type: 'tick'}: queues using `queueMicrotask` (default)\r\n * - `{type: 'timer, timeout: number}`: queues using `setTimeout`\r\n * - `{type: 'raf'}`: queues using `requestAnimationFrame`\r\n * - `{type: 'callback', queueNotification: (notify: () => void) => void}: lets you provide your own callback\r\n *\r\n *\r\n */\r\nexport const autoBatchEnhancer =\r\n (options: AutoBatchOptions = { type: 'raf' }): StoreEnhancer =>\r\n (next) =>\r\n (...args) => {\r\n const store = next(...args)\r\n\r\n let notifying = true\r\n let shouldNotifyAtEndOfTick = false\r\n let notificationQueued = false\r\n\r\n const listeners = new Set<() => void>()\r\n\r\n const queueCallback =\r\n options.type === 'tick'\r\n ? queueMicrotaskShim\r\n : options.type === 'raf'\r\n ? requestAnimationFrame\r\n : options.type === 'callback'\r\n ? options.queueNotification\r\n : createQueueWithTimer(options.timeout)\r\n\r\n const notifyListeners = () => {\r\n // We're running at the end of the event loop tick.\r\n // Run the real listener callbacks to actually update the UI.\r\n notificationQueued = false\r\n if (shouldNotifyAtEndOfTick) {\r\n shouldNotifyAtEndOfTick = false\r\n listeners.forEach((l) => l())\r\n }\r\n }\r\n\r\n return Object.assign({}, store, {\r\n // Override the base `store.subscribe` method to keep original listeners\r\n // from running if we're delaying notifications\r\n subscribe(listener: () => void) {\r\n // Each wrapped listener will only call the real listener if\r\n // the `notifying` flag is currently active when it's called.\r\n // This lets the base store work as normal, while the actual UI\r\n // update becomes controlled by this enhancer.\r\n const wrappedListener: typeof listener = () => notifying && listener()\r\n const unsubscribe = store.subscribe(wrappedListener)\r\n listeners.add(listener)\r\n return () => {\r\n unsubscribe()\r\n listeners.delete(listener)\r\n }\r\n },\r\n // Override the base `store.dispatch` method so that we can check actions\r\n // for the `shouldAutoBatch` flag and determine if batching is active\r\n dispatch(action: any) {\r\n try {\r\n // If the action does _not_ have the `shouldAutoBatch` flag,\r\n // we resume/continue normal notify-after-each-dispatch behavior\r\n notifying = !action?.meta?.[SHOULD_AUTOBATCH]\r\n // If a `notifyListeners` microtask was queued, you can't cancel it.\r\n // Instead, we set a flag so that it's a no-op when it does run\r\n shouldNotifyAtEndOfTick = !notifying\r\n if (shouldNotifyAtEndOfTick) {\r\n // We've seen at least 1 action with `SHOULD_AUTOBATCH`. Try to queue\r\n // a microtask to notify listeners at the end of the event loop tick.\r\n // Make sure we only enqueue this _once_ per tick.\r\n if (!notificationQueued) {\r\n notificationQueued = true\r\n queueCallback(notifyListeners)\r\n }\r\n }\r\n // Go ahead and process the action as usual, including reducers.\r\n // If normal notification behavior is enabled, the store will notify\r\n // all of its own listeners, and the wrapper callbacks above will\r\n // see `notifying` is true and pass on to the real listener callbacks.\r\n // If we're \"batching\" behavior, then the wrapped callbacks will\r\n // bail out, causing the base store notification behavior to be no-ops.\r\n return store.dispatch(action)\r\n } finally {\r\n // Assume we're back to normal behavior after each action\r\n notifying = true\r\n }\r\n },\r\n })\r\n }\r\n","import { enableES5 } from 'immer'\r\nexport * from 'redux'\r\nexport {\r\n default as createNextState,\r\n current,\r\n freeze,\r\n original,\r\n isDraft,\r\n} from 'immer'\r\nexport type { Draft } from 'immer'\r\nexport { createSelector } from 'reselect'\r\nexport type {\r\n Selector,\r\n OutputParametricSelector,\r\n OutputSelector,\r\n ParametricSelector,\r\n} from 'reselect'\r\nexport { createDraftSafeSelector } from './createDraftSafeSelector'\r\nexport type { ThunkAction, ThunkDispatch, ThunkMiddleware } from 'redux-thunk'\r\n\r\n// We deliberately enable Immer's ES5 support, on the grounds that\r\n// we assume RTK will be used with React Native and other Proxy-less\r\n// environments. In addition, that's how Immer 4 behaved, and since\r\n// we want to ship this in an RTK minor, we should keep the same behavior.\r\nenableES5()\r\n\r\nexport {\r\n // js\r\n configureStore,\r\n} from './configureStore'\r\nexport type {\r\n // types\r\n ConfigureEnhancersCallback,\r\n ConfigureStoreOptions,\r\n EnhancedStore,\r\n} from './configureStore'\r\nexport type { DevToolsEnhancerOptions } from './devtoolsExtension'\r\nexport {\r\n // js\r\n createAction,\r\n getType,\r\n} from './createAction'\r\nexport type {\r\n // types\r\n PayloadAction,\r\n PayloadActionCreator,\r\n ActionCreatorWithNonInferrablePayload,\r\n ActionCreatorWithOptionalPayload,\r\n ActionCreatorWithPayload,\r\n ActionCreatorWithoutPayload,\r\n ActionCreatorWithPreparedPayload,\r\n PrepareAction,\r\n} from './createAction'\r\nexport {\r\n // js\r\n createReducer,\r\n} from './createReducer'\r\nexport type {\r\n // types\r\n Actions,\r\n CaseReducer,\r\n CaseReducers,\r\n} from './createReducer'\r\nexport {\r\n // js\r\n createSlice,\r\n} from './createSlice'\r\n\r\nexport type {\r\n // types\r\n CreateSliceOptions,\r\n Slice,\r\n CaseReducerActions,\r\n SliceCaseReducers,\r\n ValidateSliceCaseReducers,\r\n CaseReducerWithPrepare,\r\n SliceActionCreator,\r\n} from './createSlice'\r\nexport {\r\n // js\r\n createImmutableStateInvariantMiddleware,\r\n isImmutableDefault,\r\n} from './immutableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n ImmutableStateInvariantMiddlewareOptions,\r\n} from './immutableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n createSerializableStateInvariantMiddleware,\r\n findNonSerializableValue,\r\n isPlain,\r\n} from './serializableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n SerializableStateInvariantMiddlewareOptions,\r\n} from './serializableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n getDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nexport type {\r\n // types\r\n ActionReducerMapBuilder,\r\n} from './mapBuilders'\r\nexport { MiddlewareArray } from './utils'\r\n\r\nexport { createEntityAdapter } from './entities/create_adapter'\r\nexport type {\r\n Dictionary,\r\n EntityState,\r\n EntityAdapter,\r\n EntitySelectors,\r\n EntityStateAdapter,\r\n EntityId,\r\n Update,\r\n IdSelector,\r\n Comparer,\r\n} from './entities/models'\r\n\r\nexport {\r\n createAsyncThunk,\r\n unwrapResult,\r\n miniSerializeError,\r\n} from './createAsyncThunk'\r\nexport type {\r\n AsyncThunk,\r\n AsyncThunkOptions,\r\n AsyncThunkAction,\r\n AsyncThunkPayloadCreatorReturnValue,\r\n AsyncThunkPayloadCreator,\r\n SerializedError,\r\n} from './createAsyncThunk'\r\n\r\nexport {\r\n // js\r\n isAllOf,\r\n isAnyOf,\r\n isPending,\r\n isRejected,\r\n isFulfilled,\r\n isAsyncThunkAction,\r\n isRejectedWithValue,\r\n} from './matchers'\r\nexport type {\r\n // types\r\n ActionMatchingAllOf,\r\n ActionMatchingAnyOf,\r\n} from './matchers'\r\n\r\nexport { nanoid } from './nanoid'\r\n\r\nexport { default as isPlainObject } from './isPlainObject'\r\n\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './listenerMiddleware/index'\r\nexport type { AnyListenerPredicate } from './listenerMiddleware/types'\r\n\r\nexport {\r\n createListenerMiddleware,\r\n addListener,\r\n removeListener,\r\n clearAllListeners,\r\n TaskAbortError,\r\n} from './listenerMiddleware/index'\r\n\r\nexport {\r\n SHOULD_AUTOBATCH,\r\n prepareAutoBatched,\r\n autoBatchEnhancer,\r\n AutoBatchOptions,\r\n} from './autoBatchEnhancer'\r\n","import { createSlice } from '@reduxjs/toolkit';\n\nexport interface Sidebar {\n sidebarPresent: boolean;\n}\n\nconst initialState: Sidebar = {\n sidebarPresent: false,\n};\n\nconst { actions, reducer } = createSlice({\n name: 'shlink/sidebar',\n initialState,\n reducers: {\n sidebarPresent: () => ({ sidebarPresent: true }),\n sidebarNotPresent: () => ({ sidebarPresent: false }),\n },\n});\n\nexport const { sidebarPresent, sidebarNotPresent } = actions;\n\nexport const sidebarReducer = reducer;\n","import { useState } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSearch as searchIcon } from '@fortawesome/free-solid-svg-icons';\nimport classNames from 'classnames';\nimport './SearchField.scss';\n\nconst DEFAULT_SEARCH_INTERVAL = 500;\nlet timer: NodeJS.Timeout | null;\n\ninterface SearchFieldProps {\n onChange: (value: string) => void;\n className?: string;\n large?: boolean;\n noBorder?: boolean;\n initialValue?: string;\n}\n\nexport const SearchField = ({ onChange, className, large = true, noBorder = false, initialValue = '' }: SearchFieldProps) => {\n const [searchTerm, setSearchTerm] = useState(initialValue);\n\n const resetTimer = () => {\n timer && clearTimeout(timer);\n timer = null;\n };\n const searchTermChanged = (newSearchTerm: string, timeout = DEFAULT_SEARCH_INTERVAL) => {\n setSearchTerm(newSearchTerm);\n\n resetTimer();\n\n timer = setTimeout(() => {\n onChange(newSearchTerm);\n resetTimer();\n }, timeout);\n };\n\n return (\n

\n );\n};\n","export const saveUrl = ({ document }: Window, url: string, filename: string) => {\n const link = document.createElement('a');\n\n link.setAttribute('href', url);\n link.setAttribute('download', filename);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n};\n\nexport const saveCsv = (window: Window, csv: string, filename: string) => {\n const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });\n const url = URL.createObjectURL(blob);\n\n saveUrl(window, url, filename);\n};\n","import { saveUrl } from '../../utils/helpers/files';\nimport { HttpClient } from './HttpClient';\n\nexport class ImageDownloader {\n public constructor(private readonly httpClient: HttpClient, private readonly window: Window) {}\n\n public async saveImage(imgUrl: string, filename: string): Promise {\n const data = await this.httpClient.fetchBlob(imgUrl);\n const url = URL.createObjectURL(data);\n\n saveUrl(this.window, url, filename);\n }\n}\n","import { NormalizedVisit } from '../../visits/types';\nimport { ExportableShortUrl } from '../../short-urls/data';\nimport { saveCsv } from '../../utils/helpers/files';\nimport { JsonToCsv } from '../../utils/helpers/csvjson';\n\nexport class ReportExporter {\n public constructor(private readonly window: Window, private readonly jsonToCsv: JsonToCsv) {}\n\n public readonly exportVisits = (filename: string, visits: NormalizedVisit[]) => {\n if (!visits.length) {\n return;\n }\n\n this.exportCsv(filename, visits);\n };\n\n public readonly exportShortUrls = (shortUrls: ExportableShortUrl[]) => {\n if (!shortUrls.length) {\n return;\n }\n\n this.exportCsv('short_urls.csv', shortUrls);\n };\n\n private readonly exportCsv = (filename: string, rows: object[]) => {\n const csv = this.jsonToCsv(rows);\n\n saveCsv(this.window, csv, filename);\n };\n}\n","import { Fetch } from '../../utils/types';\n\nconst applicationJsonHeader = { 'Content-Type': 'application/json' };\nconst withJsonContentType = (options?: RequestInit): RequestInit | undefined => {\n if (!options?.body) {\n return options;\n }\n\n return options ? {\n ...options,\n headers: {\n ...(options.headers ?? {}),\n ...applicationJsonHeader,\n },\n } : {\n headers: applicationJsonHeader,\n };\n};\n\nexport class HttpClient {\n constructor(private readonly fetch: Fetch) {}\n\n public readonly fetchJson = (url: string, options?: RequestInit): Promise =>\n this.fetch(url, withJsonContentType(options)).then(async (resp) => {\n const json = await resp.json();\n\n if (!resp.ok) {\n throw json;\n }\n\n return json as T;\n });\n\n public readonly fetchEmpty = (url: string, options?: RequestInit): Promise =>\n this.fetch(url, withJsonContentType(options)).then(async (resp) => {\n if (!resp.ok) {\n throw await resp.json();\n }\n });\n\n public readonly fetchBlob = (url: string): Promise => this.fetch(url).then((resp) => resp.blob());\n}\n","import Bottle from 'bottlejs';\nimport { ScrollToTop } from '../ScrollToTop';\nimport { MainHeader } from '../MainHeader';\nimport { Home } from '../Home';\nimport { MenuLayout } from '../MenuLayout';\nimport { AsideMenu } from '../AsideMenu';\nimport { ErrorHandler } from '../ErrorHandler';\nimport { ShlinkVersionsContainer } from '../ShlinkVersionsContainer';\nimport { ConnectDecorator } from '../../container/types';\nimport { withoutSelectedServer } from '../../servers/helpers/withoutSelectedServer';\nimport { sidebarNotPresent, sidebarPresent } from '../reducers/sidebar';\nimport { ImageDownloader } from './ImageDownloader';\nimport { ReportExporter } from './ReportExporter';\nimport { HttpClient } from './HttpClient';\n\nconst provideServices = (bottle: Bottle, connect: ConnectDecorator) => {\n // Services\n bottle.constant('window', (global as any).window);\n bottle.constant('console', global.console);\n bottle.constant('fetch', (global as any).fetch.bind(global));\n\n bottle.service('HttpClient', HttpClient, 'fetch');\n bottle.service('ImageDownloader', ImageDownloader, 'HttpClient', 'window');\n bottle.service('ReportExporter', ReportExporter, 'window', 'jsonToCsv');\n\n // Components\n bottle.serviceFactory('ScrollToTop', () => ScrollToTop);\n\n bottle.serviceFactory('MainHeader', MainHeader, 'ServersDropdown');\n\n bottle.serviceFactory('Home', () => Home);\n bottle.decorator('Home', withoutSelectedServer);\n bottle.decorator('Home', connect(['servers'], ['resetSelectedServer']));\n\n bottle.serviceFactory(\n 'MenuLayout',\n MenuLayout,\n 'TagsList',\n 'ShortUrlsList',\n 'AsideMenu',\n 'CreateShortUrl',\n 'ShortUrlVisits',\n 'TagVisits',\n 'DomainVisits',\n 'OrphanVisits',\n 'NonOrphanVisits',\n 'ServerError',\n 'Overview',\n 'EditShortUrl',\n 'ManageDomains',\n );\n bottle.decorator('MenuLayout', connect(['selectedServer'], ['selectServer', 'sidebarPresent', 'sidebarNotPresent']));\n\n bottle.serviceFactory('AsideMenu', AsideMenu, 'DeleteServerButton');\n\n bottle.serviceFactory('ShlinkVersionsContainer', () => ShlinkVersionsContainer);\n bottle.decorator('ShlinkVersionsContainer', connect(['selectedServer', 'sidebar']));\n\n bottle.serviceFactory('ErrorHandler', ErrorHandler, 'window', 'console');\n\n // Actions\n bottle.serviceFactory('sidebarPresent', () => sidebarPresent);\n bottle.serviceFactory('sidebarNotPresent', () => sidebarNotPresent);\n};\n\nexport default provideServices;\n","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};","import _curry2 from \"./internal/_curry2.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nexport default nth;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport nth from \"./nth.js\";\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Object\n * @typedefn Idx = [String | Int]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n return pathsArray.map(function (paths) {\n var val = obj;\n var idx = 0;\n var p;\n\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n\n p = paths[idx];\n val = _isInteger(p) ? nth(p, val) : val[p];\n idx += 1;\n }\n\n return val;\n });\n});\n\nexport default paths;","import _curry2 from \"./internal/_curry2.js\";\nimport paths from \"./paths.js\";\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n return paths([pathAr], obj)[0];\n});\n\nexport default path;","import _curry2 from \"./internal/_curry2.js\";\nimport path from \"./path.js\";\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig Idx -> {s: a} -> a | Undefined\n * @param {String|Number} p The property name or array index\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path, R.nth\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.prop(0, [100]); //=> 100\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop =\n/*#__PURE__*/\n_curry2(function prop(p, obj) {\n return path([p], obj);\n});\n\nexport default prop;","import { FC, PropsWithChildren } from 'react';\nimport { Dropdown, DropdownMenu, DropdownToggle } from 'reactstrap';\nimport { useToggle } from './helpers/hooks';\nimport './DropdownBtn.scss';\n\nexport type DropdownBtnProps = PropsWithChildren<{\n text: string;\n disabled?: boolean;\n className?: string;\n dropdownClassName?: string;\n right?: boolean;\n minWidth?: number;\n}>;\n\nexport const DropdownBtn: FC = (\n { text, disabled = false, className = '', children, dropdownClassName, right = false, minWidth },\n) => {\n const [isOpen, toggle] = useToggle();\n const toggleClasses = `dropdown-btn__toggle btn-block ${className}`;\n const style = { minWidth: minWidth && `${minWidth}px` };\n\n return (\n \n {text}\n {children}\n \n );\n};\n","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap =\n/*#__PURE__*/\n_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\n\nexport default _xmap;","import _arity from \"./_arity.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _curryN from \"./internal/_curryN.js\";\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nexport default curryN;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _map from \"./internal/_map.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xmap from \"./internal/_xmap.js\";\nimport curryN from \"./curryN.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nexport default map;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n * R.max(789, 123); //=> 789\n * R.max('a', 'b'); //=> 'b'\n */\n\nvar max =\n/*#__PURE__*/\n_curry2(function max(a, b) {\n return b > a ? b : a;\n});\n\nexport default max;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport map from \"./map.js\";\nimport max from \"./max.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n * to `fn` are applied to each of the predicates in turn until one returns a\n * \"truthy\" value, at which point `fn` returns the result of applying its\n * arguments to the corresponding transformer. If none of the predicates\n * matches, `fn` returns undefined.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Logic\n * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n * @param {Array} pairs A list of [predicate, transformer]\n * @return {Function}\n * @see R.ifElse, R.unless, R.when\n * @example\n *\n * const fn = R.cond([\n * [R.equals(0), R.always('water freezes at 0°C')],\n * [R.equals(100), R.always('water boils at 100°C')],\n * [R.T, temp => 'nothing special happens at ' + temp + '°C']\n * ]);\n * fn(0); //=> 'water freezes at 0°C'\n * fn(50); //=> 'nothing special happens at 50°C'\n * fn(100); //=> 'water boils at 100°C'\n */\n\nvar cond =\n/*#__PURE__*/\n_curry1(function cond(pairs) {\n var arity = reduce(max, 0, map(function (pair) {\n return pair[0].length;\n }, pairs));\n return _arity(arity, function () {\n var idx = 0;\n\n while (idx < pairs.length) {\n if (pairs[idx][0].apply(this, arguments)) {\n return pairs[idx][1].apply(this, arguments);\n }\n\n idx += 1;\n }\n });\n});\n\nexport default cond;","/**\n * A function that always returns `true`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.F\n * @example\n *\n * R.T(); //=> true\n */\nvar T = function () {\n return true;\n};\n\nexport default T;","import { format, formatISO, isBefore, isEqual, isWithinInterval, parse, parseISO as stdParseISO } from 'date-fns';\nimport { OptionalString } from '../utils';\n\nexport const STANDARD_DATE_FORMAT = 'yyyy-MM-dd';\n\nexport const STANDARD_DATE_AND_TIME_FORMAT = 'yyyy-MM-dd HH:mm';\n\nexport type DateOrString = Date | string;\n\ntype NullableDate = DateOrString | null;\n\nexport const now = () => new Date();\n\nexport const isDateObject = (date: DateOrString): date is Date => typeof date !== 'string';\n\nconst formatDateFromFormat = (date?: NullableDate, theFormat?: string): OptionalString => {\n if (!date || !isDateObject(date)) {\n return date;\n }\n\n return theFormat ? format(date, theFormat) : formatISO(date);\n};\n\nexport const formatDate = (theFormat = STANDARD_DATE_FORMAT) => (date?: NullableDate) => formatDateFromFormat(\n date,\n theFormat,\n);\n\nexport const formatIsoDate = (date?: NullableDate) => formatDateFromFormat(date, undefined);\n\nexport const formatInternational = formatDate();\n\nexport const parseDate = (date: string, theFormat: string) => parse(date, theFormat, now());\n\nexport const parseISO = (date: DateOrString): Date => (isDateObject(date) ? date : stdParseISO(date));\n\nexport const dateOrNull = (date?: string): Date | null => (date ? parseISO(date) : null);\n\nexport const isBetween = (date: DateOrString, start?: DateOrString, end?: DateOrString): boolean => {\n try {\n return isWithinInterval(parseISO(date), { start: parseISO(start ?? date), end: parseISO(end ?? date) });\n } catch (e) {\n return false;\n }\n};\n\nexport const isBeforeOrEqual = (date: Date | number, dateToCompare: Date | number) =>\n isEqual(date, dateToCompare) || isBefore(date, dateToCompare);\n","import toDate from \"../toDate/index.js\";\nimport addLeadingZeros from \"../_lib/addLeadingZeros/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name formatISO\n * @category Common Helpers\n * @summary Format the date according to the ISO 8601 standard (https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a003169814.htm).\n *\n * @description\n * Return the formatted date string in ISO 8601 format. Options may be passed to control the parts and notations of the date.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {'extended'|'basic'} [options.format='extended'] - if 'basic', hide delimiters between date and time values.\n * @param {'complete'|'date'|'time'} [options.representation='complete'] - format date, time with local time zone, or both.\n * @returns {String} the formatted date string (in local time zone)\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.format` must be 'extended' or 'basic'\n * @throws {RangeError} `options.representation` must be 'date', 'time' or 'complete'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52))\n * //=> '2019-09-18T19:00:52Z'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601, short format (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { format: 'basic' })\n * //=> '20190918T190052'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format, date only:\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'date' })\n * //=> '2019-09-18'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format, time only (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'time' })\n * //=> '19:00:52Z'\n */\n\nexport default function formatISO(date, options) {\n var _options$format, _options$representati;\n\n requiredArgs(1, arguments);\n var originalDate = toDate(date);\n\n if (isNaN(originalDate.getTime())) {\n throw new RangeError('Invalid time value');\n }\n\n var format = String((_options$format = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format !== void 0 ? _options$format : 'extended');\n var representation = String((_options$representati = options === null || options === void 0 ? void 0 : options.representation) !== null && _options$representati !== void 0 ? _options$representati : 'complete');\n\n if (format !== 'extended' && format !== 'basic') {\n throw new RangeError(\"format must be 'extended' or 'basic'\");\n }\n\n if (representation !== 'date' && representation !== 'time' && representation !== 'complete') {\n throw new RangeError(\"representation must be 'date', 'time', or 'complete'\");\n }\n\n var result = '';\n var tzOffset = '';\n var dateDelimiter = format === 'extended' ? '-' : '';\n var timeDelimiter = format === 'extended' ? ':' : ''; // Representation is either 'date' or 'complete'\n\n if (representation !== 'time') {\n var day = addLeadingZeros(originalDate.getDate(), 2);\n var month = addLeadingZeros(originalDate.getMonth() + 1, 2);\n var year = addLeadingZeros(originalDate.getFullYear(), 4); // yyyyMMdd or yyyy-MM-dd.\n\n result = \"\".concat(year).concat(dateDelimiter).concat(month).concat(dateDelimiter).concat(day);\n } // Representation is either 'time' or 'complete'\n\n\n if (representation !== 'date') {\n // Add the timezone.\n var offset = originalDate.getTimezoneOffset();\n\n if (offset !== 0) {\n var absoluteOffset = Math.abs(offset);\n var hourOffset = addLeadingZeros(Math.floor(absoluteOffset / 60), 2);\n var minuteOffset = addLeadingZeros(absoluteOffset % 60, 2); // If less than 0, the sign is +, because it is ahead of time.\n\n var sign = offset < 0 ? '+' : '-';\n tzOffset = \"\".concat(sign).concat(hourOffset, \":\").concat(minuteOffset);\n } else {\n tzOffset = 'Z';\n }\n\n var hour = addLeadingZeros(originalDate.getHours(), 2);\n var minute = addLeadingZeros(originalDate.getMinutes(), 2);\n var second = addLeadingZeros(originalDate.getSeconds(), 2); // If there's also date, separate it with time with 'T'\n\n var separator = result === '' ? '' : 'T'; // Creates a time string consisting of hour, minute, and second, separated by delimiters, if defined.\n\n var time = [hour, minute, second].join(timeDelimiter); // HHmmss or HH:mm:ss.\n\n result = \"\".concat(result).concat(separator).concat(time).concat(tzOffset);\n }\n\n return result;\n}","import { subDays, startOfDay, endOfDay } from 'date-fns';\nimport { cond, filter, isEmpty, T } from 'ramda';\nimport { dateOrNull, DateOrString, formatInternational, isBeforeOrEqual, now, parseISO } from './date';\nimport { equals } from '../utils';\n\nexport interface DateRange {\n startDate?: Date | null;\n endDate?: Date | null;\n}\n\nexport const ALL = 'all';\nconst INTERVAL_TO_STRING_MAP = {\n today: 'Today',\n yesterday: 'Yesterday',\n last7Days: 'Last 7 days',\n last30Days: 'Last 30 days',\n last90Days: 'Last 90 days',\n last180Days: 'Last 180 days',\n last365Days: 'Last 365 days',\n [ALL]: undefined,\n};\n\nexport type DateInterval = keyof typeof INTERVAL_TO_STRING_MAP;\n\nconst INTERVALS = Object.keys(INTERVAL_TO_STRING_MAP) as DateInterval[];\n\nexport const dateRangeIsEmpty = (dateRange?: DateRange): boolean => dateRange === undefined\n || isEmpty(filter(Boolean, dateRange as any));\n\nexport const rangeIsInterval = (range?: DateRange | DateInterval): range is DateInterval =>\n typeof range === 'string' && INTERVALS.includes(range);\n\nexport const DATE_INTERVALS = INTERVALS.filter((value) => value !== ALL) as DateInterval[];\n\nexport const datesToDateRange = (startDate?: string, endDate?: string): DateRange => ({\n startDate: dateOrNull(startDate),\n endDate: dateOrNull(endDate),\n});\n\nconst dateRangeToString = (range?: DateRange): string | undefined => {\n if (!range || dateRangeIsEmpty(range)) {\n return undefined;\n }\n\n if (range.startDate && !range.endDate) {\n return `Since ${formatInternational(range.startDate)}`;\n }\n\n if (!range.startDate && range.endDate) {\n return `Until ${formatInternational(range.endDate)}`;\n }\n\n return `${formatInternational(range.startDate)} - ${formatInternational(range.endDate)}`;\n};\n\nexport const rangeOrIntervalToString = (range?: DateRange | DateInterval): string | undefined => {\n if (!range || range === ALL) {\n return undefined;\n }\n\n if (!rangeIsInterval(range)) {\n return dateRangeToString(range);\n }\n\n return INTERVAL_TO_STRING_MAP[range];\n};\n\nconst startOfDaysAgo = (daysAgo: number) => startOfDay(subDays(now(), daysAgo));\nconst endingToday = (startDate: Date): DateRange => ({ startDate, endDate: endOfDay(now()) });\n\nexport const intervalToDateRange = cond<[DateInterval | undefined], DateRange>([\n [equals('today'), () => endingToday(startOfDay(now()))],\n [equals('yesterday'), () => ({ startDate: startOfDaysAgo(1), endDate: endOfDay(subDays(now(), 1)) })],\n [equals('last7Days'), () => endingToday(startOfDaysAgo(7))],\n [equals('last30Days'), () => endingToday(startOfDaysAgo(30))],\n [equals('last90Days'), () => endingToday(startOfDaysAgo(90))],\n [equals('last180Days'), () => endingToday(startOfDaysAgo(180))],\n [equals('last365Days'), () => endingToday(startOfDaysAgo(365))],\n [T, () => ({})],\n]);\n\nexport const dateToMatchingInterval = (date: DateOrString): DateInterval => {\n const theDate = parseISO(date);\n\n return cond([\n [() => isBeforeOrEqual(startOfDay(now()), theDate), () => 'today'],\n [() => isBeforeOrEqual(startOfDaysAgo(1), theDate), () => 'yesterday'],\n [() => isBeforeOrEqual(startOfDaysAgo(7), theDate), () => 'last7Days'],\n [() => isBeforeOrEqual(startOfDaysAgo(30), theDate), () => 'last30Days'],\n [() => isBeforeOrEqual(startOfDaysAgo(90), theDate), () => 'last90Days'],\n [() => isBeforeOrEqual(startOfDaysAgo(180), theDate), () => 'last180Days'],\n [() => isBeforeOrEqual(startOfDaysAgo(365), theDate), () => 'last365Days'],\n [T, () => ALL],\n ])();\n};\n\nexport const toDateRange = (rangeOrInterval: DateRange | DateInterval): DateRange => {\n if (rangeIsInterval(rangeOrInterval)) {\n return intervalToDateRange(rangeOrInterval);\n }\n\n return rangeOrInterval;\n};\n","var prefix = \"far\";\nvar faTrashCan = {\n prefix: 'far',\n iconName: 'trash-can',\n icon: [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M160 400C160 408.8 152.8 416 144 416C135.2 416 128 408.8 128 400V192C128 183.2 135.2 176 144 176C152.8 176 160 183.2 160 192V400zM240 400C240 408.8 232.8 416 224 416C215.2 416 208 408.8 208 400V192C208 183.2 215.2 176 224 176C232.8 176 240 183.2 240 192V400zM320 400C320 408.8 312.8 416 304 416C295.2 416 288 408.8 288 400V192C288 183.2 295.2 176 304 176C312.8 176 320 183.2 320 192V400zM317.5 24.94L354.2 80H424C437.3 80 448 90.75 448 104C448 117.3 437.3 128 424 128H416V432C416 476.2 380.2 512 336 512H112C67.82 512 32 476.2 32 432V128H24C10.75 128 0 117.3 0 104C0 90.75 10.75 80 24 80H93.82L130.5 24.94C140.9 9.357 158.4 0 177.1 0H270.9C289.6 0 307.1 9.358 317.5 24.94H317.5zM151.5 80H296.5L277.5 51.56C276 49.34 273.5 48 270.9 48H177.1C174.5 48 171.1 49.34 170.5 51.56L151.5 80zM80 432C80 449.7 94.33 464 112 464H336C353.7 464 368 449.7 368 432V128H80V432z\"]\n};\nvar faTrashAlt = faTrashCan;\nvar faMessage = {\n prefix: 'far',\n iconName: 'message',\n icon: [512, 512, [\"comment-alt\"], \"f27a\", \"M447.1 0h-384c-35.25 0-64 28.75-64 63.1v287.1c0 35.25 28.75 63.1 64 63.1h96v83.98c0 9.836 11.02 15.55 19.12 9.7l124.9-93.68h144c35.25 0 64-28.75 64-63.1V63.1C511.1 28.75 483.2 0 447.1 0zM464 352c0 8.75-7.25 16-16 16h-160l-80 60v-60H64c-8.75 0-16-7.25-16-16V64c0-8.75 7.25-16 16-16h384c8.75 0 16 7.25 16 16V352z\"]\n};\nvar faCommentAlt = faMessage;\nvar faFileLines = {\n prefix: 'far',\n iconName: 'file-lines',\n icon: [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0L64-.0001c-35.35 0-64 28.65-64 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM96 280C96 293.3 106.8 304 120 304h144C277.3 304 288 293.3 288 280S277.3 256 264 256h-144C106.8 256 96 266.8 96 280zM264 352h-144C106.8 352 96 362.8 96 376s10.75 24 24 24h144c13.25 0 24-10.75 24-24S277.3 352 264 352z\"]\n};\nvar faFileAlt = faFileLines;\nvar faFileText = faFileLines;\nvar faCalendarDays = {\n prefix: 'far',\n iconName: 'calendar-days',\n icon: [448, 512, [\"calendar-alt\"], \"f073\", \"M152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 248H128V192H48V248zM48 296V360H128V296H48zM176 296V360H272V296H176zM320 296V360H400V296H320zM400 192H320V248H400V192zM400 408H320V464H384C392.8 464 400 456.8 400 448V408zM272 408H176V464H272V408zM128 408H48V448C48 456.8 55.16 464 64 464H128V408zM272 192H176V248H272V192z\"]\n};\nvar faCalendarAlt = faCalendarDays;\nvar faHandPointRight = {\n prefix: 'far',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M320 408c0-6.428-.8457-12.66-2.434-18.6C338.2 376.7 352 353.9 352 328c0-6.428-.8457-12.66-2.434-18.6C370.2 296.7 384 273.9 384 248c0-2.705-.1484-5.373-.4414-8H440C479.7 240 512 207.7 512 168S479.7 96 440 96H243.7C227.5 76.51 203.2 64 176 64H126.1C94.02 64 64.47 81.1 49 108.6L17.65 164.5C6.104 185.1 0 208.4 0 231.8v107.9C0 417.1 64.6 480 144 480h104C287.7 480 320 447.7 320 408zM280 304c13.23 0 24 10.78 24 24S293.2 352 280 352H232.1C218.9 352 208 341.2 208 328S218.8 304 232 304H280zM312 224c13.23 0 24 10.78 24 24S325.2 272 312 272h-48c-3.029 0-5.875-.7012-8.545-1.73C260.7 259.9 264 248.4 264 236V224H312zM440 144c13.23 0 24 10.78 24 24S453.2 192 440 192h-176V152c0-2.686-.5566-5.217-.793-7.84C263.5 144.2 263.7 144 264 144H440zM48 339.7V231.8c0-15.25 3.984-30.41 11.52-43.88l31.34-55.78C97.84 119.7 111.4 112 126.1 112H176c22.06 0 40 17.94 40 40v84c0 15.44-12.56 28-28 28S160 251.4 160 236V184C160 170.8 149.3 160 136 160S112 170.8 112 184v52c0 33.23 21.58 61.25 51.36 71.54C161.3 314 160 320.9 160 328c0 5.041 1.166 9.836 2.178 14.66C137.4 354 120 378.1 120 408c0 7.684 1.557 14.94 3.836 21.87C80.56 420.9 48 383.9 48 339.7zM192 432c-13.23 0-24-10.78-24-24S178.8 384 192 384h56c13.23 0 24 10.78 24 24s-10.77 24-24 24H192z\"]\n};\nvar faFaceSmileBeam = {\n prefix: 'far',\n iconName: 'face-smile-beam',\n icon: [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M256 352C293.2 352 319.2 334.5 334.4 318.1C343.3 308.4 358.5 307.7 368.3 316.7C378 325.7 378.6 340.9 369.6 350.6C347.7 374.5 309.7 400 256 400C202.3 400 164.3 374.5 142.4 350.6C133.4 340.9 133.1 325.7 143.7 316.7C153.5 307.7 168.7 308.4 177.6 318.1C192.8 334.5 218.8 352 256 352zM217.6 228.8L217.6 228.8L217.4 228.5C217.2 228.3 217 228 216.7 227.6C216 226.8 215.1 225.7 213.9 224.3C211.4 221.4 207.9 217.7 203.7 213.1C194.9 206.2 184.8 200 176 200C167.2 200 157.1 206.2 148.3 213.1C144.1 217.7 140.6 221.4 138.1 224.3C136.9 225.7 135.1 226.8 135.3 227.6C134.1 228 134.8 228.3 134.6 228.5L134.4 228.8L134.4 228.8C132.3 231.6 128.7 232.7 125.5 231.6C122.2 230.5 120 227.4 120 224C120 206.1 126.7 188.4 136.6 175.2C146.4 162.2 160.5 152 176 152C191.5 152 205.6 162.2 215.4 175.2C225.3 188.4 232 206.1 232 224C232 227.4 229.8 230.5 226.5 231.6C223.3 232.7 219.7 231.6 217.6 228.8V228.8zM377.6 228.8L377.4 228.5C377.2 228.3 377 228 376.7 227.6C376 226.8 375.1 225.7 373.9 224.3C371.4 221.4 367.9 217.7 363.7 213.1C354.9 206.2 344.8 200 336 200C327.2 200 317.1 206.2 308.3 213.1C304.1 217.7 300.6 221.4 298.1 224.3C296.9 225.7 295.1 226.8 295.3 227.6C294.1 228 294.8 228.3 294.6 228.5L294.4 228.8L294.4 228.8C292.3 231.6 288.7 232.7 285.5 231.6C282.2 230.5 280 227.4 280 224C280 206.1 286.7 188.4 296.6 175.2C306.4 162.2 320.5 152 336 152C351.5 152 365.6 162.2 375.4 175.2C385.3 188.4 392 206.1 392 224C392 227.4 389.8 230.5 386.5 231.6C383.3 232.7 379.7 231.6 377.6 228.8L377.6 228.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faSmileBeam = faFaceSmileBeam;\nvar faFaceGrinStars = {\n prefix: 'far',\n iconName: 'face-grin-stars',\n icon: [512, 512, [129321, \"grin-stars\"], \"f587\", \"M199.8 167.3L237.9 172.3C240.1 172.7 243.5 174.8 244.5 177.8C245.4 180.7 244.6 183.9 242.4 186L214.5 212.5L221.5 250.3C222 253.4 220.8 256.4 218.3 258.2C215.8 260.1 212.5 260.3 209.8 258.8L175.1 240.5L142.2 258.8C139.5 260.3 136.2 260.1 133.7 258.2C131.2 256.4 129.1 253.4 130.5 250.3L137.5 212.5L109.6 186C107.4 183.9 106.6 180.7 107.5 177.8C108.5 174.8 111 172.7 114.1 172.3L152.2 167.3L168.8 132.6C170.1 129.8 172.9 128 175.1 128C179.1 128 181.9 129.8 183.2 132.6L199.8 167.3zM359.8 167.3L397.9 172.3C400.1 172.7 403.5 174.8 404.5 177.8C405.4 180.7 404.6 183.9 402.4 186L374.5 212.5L381.5 250.3C382 253.4 380.8 256.4 378.3 258.2C375.8 260.1 372.5 260.3 369.8 258.8L336 240.5L302.2 258.8C299.5 260.3 296.2 260.1 293.7 258.2C291.2 256.4 289.1 253.4 290.5 250.3L297.5 212.5L269.6 186C267.4 183.9 266.6 180.7 267.5 177.8C268.5 174.8 271 172.7 274.1 172.3L312.2 167.3L328.8 132.6C330.1 129.8 332.9 128 336 128C339.1 128 341.9 129.8 343.2 132.6L359.8 167.3zM349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464z\"]\n};\nvar faGrinStars = faFaceGrinStars;\nvar faAddressBook = {\n prefix: 'far',\n iconName: 'address-book',\n icon: [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M272 288h-64C163.8 288 128 323.8 128 368C128 376.8 135.2 384 144 384h192c8.836 0 16-7.164 16-16C352 323.8 316.2 288 272 288zM240 256c35.35 0 64-28.65 64-64s-28.65-64-64-64c-35.34 0-64 28.65-64 64S204.7 256 240 256zM496 320H480v96h16c8.836 0 16-7.164 16-16v-64C512 327.2 504.8 320 496 320zM496 64H480v96h16C504.8 160 512 152.8 512 144v-64C512 71.16 504.8 64 496 64zM496 192H480v96h16C504.8 288 512 280.8 512 272v-64C512 199.2 504.8 192 496 192zM384 0H96C60.65 0 32 28.65 32 64v384c0 35.35 28.65 64 64 64h288c35.35 0 64-28.65 64-64V64C448 28.65 419.3 0 384 0zM400 448c0 8.836-7.164 16-16 16H96c-8.836 0-16-7.164-16-16V64c0-8.838 7.164-16 16-16h288c8.836 0 16 7.162 16 16V448z\"]\n};\nvar faContactBook = faAddressBook;\nvar faComments = {\n prefix: 'far',\n iconName: 'comments',\n icon: [640, 512, [128490, 61670], \"f086\", \"M208 0C322.9 0 416 78.8 416 176C416 273.2 322.9 352 208 352C189.3 352 171.2 349.7 153.9 345.8C123.3 364.8 79.13 384 24.95 384C14.97 384 5.93 378.1 2.018 368.9C-1.896 359.7-.0074 349.1 6.739 341.9C7.26 341.5 29.38 317.4 45.73 285.9C17.18 255.8 0 217.6 0 176C0 78.8 93.13 0 208 0zM164.6 298.1C179.2 302.3 193.8 304 208 304C296.2 304 368 246.6 368 176C368 105.4 296.2 48 208 48C119.8 48 48 105.4 48 176C48 211.2 65.71 237.2 80.57 252.9L104.1 277.8L88.31 308.1C84.74 314.1 80.73 321.9 76.55 328.5C94.26 323.4 111.7 315.5 128.7 304.1L145.4 294.6L164.6 298.1zM441.6 128.2C552 132.4 640 209.5 640 304C640 345.6 622.8 383.8 594.3 413.9C610.6 445.4 632.7 469.5 633.3 469.9C640 477.1 641.9 487.7 637.1 496.9C634.1 506.1 625 512 615 512C560.9 512 516.7 492.8 486.1 473.8C468.8 477.7 450.7 480 432 480C350 480 279.1 439.8 245.2 381.5C262.5 379.2 279.1 375.3 294.9 369.9C322.9 407.1 373.9 432 432 432C446.2 432 460.8 430.3 475.4 426.1L494.6 422.6L511.3 432.1C528.3 443.5 545.7 451.4 563.5 456.5C559.3 449.9 555.3 442.1 551.7 436.1L535.9 405.8L559.4 380.9C574.3 365.3 592 339.2 592 304C592 237.7 528.7 183.1 447.1 176.6L448 176C448 159.5 445.8 143.5 441.6 128.2H441.6z\"]\n};\nvar faPaste = {\n prefix: 'far',\n iconName: 'paste',\n icon: [512, 512, [\"file-clipboard\"], \"f0ea\", \"M502.6 198.6l-61.25-61.25C435.4 131.4 427.3 128 418.8 128H256C220.7 128 191.1 156.7 192 192l.0065 255.1C192 483.3 220.7 512 256 512h192c35.2 0 64-28.8 64-64l.0098-226.7C512 212.8 508.6 204.6 502.6 198.6zM464 448c0 8.836-7.164 16-16 16h-192c-8.838 0-16-7.164-16-16L240 192.1c0-8.836 7.164-16 16-16h128L384 224c0 17.67 14.33 32 32 32h48.01V448zM317.7 96C310.6 68.45 285.8 48 256 48H215.2C211.3 20.93 188.1 0 160 0C131.9 0 108.7 20.93 104.8 48H64c-35.35 0-64 28.65-64 64V384c0 35.34 28.65 64 64 64h96v-48H64c-8.836 0-16-7.164-16-16V112C48 103.2 55.18 96 64 96h16v16c0 17.67 14.33 32 32 32h61.35C190 115.4 220.6 96 256 96H317.7zM160 72c-8.822 0-16-7.176-16-16s7.178-16 16-16s16 7.176 16 16S168.8 72 160 72z\"]\n};\nvar faFileClipboard = faPaste;\nvar faFaceGrinTongueSquint = {\n prefix: 'far',\n iconName: 'face-grin-tongue-squint',\n icon: [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M116 157.1C116 148.2 125.6 142.4 133.5 146.7L223.4 194.6C234.1 200.3 234.1 215.7 223.4 221.4L133.5 269.3C125.6 273.6 116 267.8 116 258.9C116 256.1 116.1 253.4 118.8 251.2L154.8 208L118.8 164.8C116.1 162.6 116 159.9 116 157.1V157.1zM378.5 146.7C386.4 142.4 396 148.2 396 157.1C396 159.9 395 162.6 393.2 164.8L357.2 208L393.2 251.2C395 253.4 396 256.1 396 258.9C396 267.8 386.4 273.6 378.5 269.3L288.6 221.4C277.9 215.7 277.9 200.3 288.6 194.6L378.5 146.7zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 337.7 95.13 408.4 163.7 442.4C161.3 434 160 425.2 160 416V392.7C135.1 375.1 116.9 351.3 105.2 323.5C100.2 311.7 112.2 301 124.5 304.8C164.1 316.9 208.9 323.8 256.3 323.8C303.7 323.8 348.4 316.9 388.1 304.8C400.4 301 412.4 311.7 407.4 323.5C395.6 351.5 376.3 375.5 352 393.1V416C352 425.2 350.7 434 348.3 442.4C416.9 408.4 464 337.7 464 255.1C464 141.1 370.9 47.1 256 47.1L256 48zM320 416V378.6C320 363.9 308.1 352 293.4 352H291.4C280.1 352 270.3 359.9 267.8 370.9C264.1 383.5 247 383.5 244.2 370.9C241.7 359.9 231.9 352 220.6 352H218.6C203.9 352 192 363.9 192 378.6V416C192 451.3 220.7 480 256 480C291.3 480 320 451.3 320 416z\"]\n};\nvar faGrinTongueSquint = faFaceGrinTongueSquint;\nvar faFaceFlushed = {\n prefix: 'far',\n iconName: 'face-flushed',\n icon: [512, 512, [128563, \"flushed\"], \"f579\", \"M320 336C333.3 336 344 346.7 344 360C344 373.3 333.3 384 320 384H192C178.7 384 168 373.3 168 360C168 346.7 178.7 336 192 336H320zM136.4 224C136.4 210.7 147.1 200 160.4 200C173.6 200 184.4 210.7 184.4 224C184.4 237.3 173.6 248 160.4 248C147.1 248 136.4 237.3 136.4 224zM80 224C80 179.8 115.8 144 160 144C204.2 144 240 179.8 240 224C240 268.2 204.2 304 160 304C115.8 304 80 268.2 80 224zM160 272C186.5 272 208 250.5 208 224C208 197.5 186.5 176 160 176C133.5 176 112 197.5 112 224C112 250.5 133.5 272 160 272zM376.4 224C376.4 237.3 365.6 248 352.4 248C339.1 248 328.4 237.3 328.4 224C328.4 210.7 339.1 200 352.4 200C365.6 200 376.4 210.7 376.4 224zM432 224C432 268.2 396.2 304 352 304C307.8 304 272 268.2 272 224C272 179.8 307.8 144 352 144C396.2 144 432 179.8 432 224zM352 176C325.5 176 304 197.5 304 224C304 250.5 325.5 272 352 272C378.5 272 400 250.5 400 224C400 197.5 378.5 176 352 176zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464z\"]\n};\nvar faFlushed = faFaceFlushed;\nvar faSquareCaretRight = {\n prefix: 'far',\n iconName: 'square-caret-right',\n icon: [448, 512, [\"caret-square-right\"], \"f152\", \"M200.3 142.4C193.3 135.9 183.1 134.2 174.4 138C165.7 141.8 160 150.5 160 159.1v192C160 361.5 165.7 370.2 174.4 374c8.719 3.812 18.91 2.094 25.91-4.375l104-96C309.2 269.1 312 262.7 312 256s-2.812-13.09-7.719-17.62L200.3 142.4zM384 32H64C28.66 32 0 60.66 0 96v320c0 35.34 28.66 64 64 64h320c35.34 0 64-28.66 64-64V96C448 60.66 419.3 32 384 32zM400 416c0 8.82-7.18 16-16 16H64c-8.82 0-16-7.18-16-16V96c0-8.82 7.18-16 16-16h320c8.82 0 16 7.18 16 16V416z\"]\n};\nvar faCaretSquareRight = faSquareCaretRight;\nvar faSquareMinus = {\n prefix: 'far',\n iconName: 'square-minus',\n icon: [448, 512, [61767, \"minus-square\"], \"f146\", \"M312 232C325.3 232 336 242.7 336 256C336 269.3 325.3 280 312 280H136C122.7 280 112 269.3 112 256C112 242.7 122.7 232 136 232H312zM0 96C0 60.65 28.65 32 64 32H384C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80H64C55.16 80 48 87.16 48 96z\"]\n};\nvar faMinusSquare = faSquareMinus;\nvar faCompass = {\n prefix: 'far',\n iconName: 'compass',\n icon: [512, 512, [129517], \"f14e\", \"M306.7 325.1L162.4 380.6C142.1 388.1 123.9 369 131.4 349.6L186.9 205.3C190.1 196.8 196.8 190.1 205.3 186.9L349.6 131.4C369 123.9 388.1 142.1 380.6 162.4L325.1 306.7C321.9 315.2 315.2 321.9 306.7 325.1V325.1zM255.1 224C238.3 224 223.1 238.3 223.1 256C223.1 273.7 238.3 288 255.1 288C273.7 288 288 273.7 288 256C288 238.3 273.7 224 255.1 224V224zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faSquareCaretDown = {\n prefix: 'far',\n iconName: 'square-caret-down',\n icon: [448, 512, [\"caret-square-down\"], \"f150\", \"M320 192H128C118.5 192 109.8 197.7 105.1 206.4C102.2 215.1 103.9 225.3 110.4 232.3l96 104C210.9 341.2 217.3 344 224 344s13.09-2.812 17.62-7.719l96-104c6.469-7 8.188-17.19 4.375-25.91C338.2 197.7 329.5 192 320 192zM384 32H64C28.65 32 0 60.66 0 96v320c0 35.34 28.65 64 64 64h320c35.35 0 64-28.66 64-64V96C448 60.66 419.3 32 384 32zM400 416c0 8.82-7.178 16-16 16H64c-8.822 0-16-7.18-16-16V96c0-8.82 7.178-16 16-16h320c8.822 0 16 7.18 16 16V416z\"]\n};\nvar faCaretSquareDown = faSquareCaretDown;\nvar faFaceKissBeam = {\n prefix: 'far',\n iconName: 'face-kiss-beam',\n icon: [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M304.7 297.7C308.9 302.8 312 309.1 312 316C312 322.9 308.9 329.2 304.7 334.3C300.4 339.5 294.5 344 287.9 347.7C285.2 349.3 282.3 350.7 279.2 352C282.3 353.3 285.2 354.7 287.9 356.3C294.5 359.1 300.4 364.5 304.7 369.7C308.9 374.8 312 381.1 312 388C312 394.9 308.9 401.2 304.7 406.3C300.4 411.5 294.5 416 287.9 419.7C274.7 427.1 257.4 432 240 432C236.4 432 233.2 429.5 232.3 426C231.3 422.5 232.9 418.8 236.1 417L236.1 417L236.3 416.9C236.5 416.8 236.8 416.6 237.2 416.3C238 415.9 239.2 415.1 240.6 414.2C243.4 412.4 247.2 409.7 250.8 406.6C254.6 403.5 258 400 260.5 396.6C262.1 393 264 390.2 264 388C264 385.8 262.1 382.1 260.5 379.4C258 375.1 254.6 372.5 250.8 369.4C247.2 366.3 243.4 363.6 240.6 361.8C239.2 360.9 238 360.1 237.2 359.7C236.8 359.4 236.5 359.2 236.3 359.1L236.1 358.1L236.1 358.1C233.6 357.6 232 354.9 232 352C232 349.1 233.6 346.4 236.1 345L236.1 345L236.3 344.9C236.5 344.8 236.8 344.6 237.2 344.3C238 343.9 239.2 343.1 240.6 342.2C243.4 340.4 247.2 337.7 250.8 334.6C254.6 331.5 258 328.1 260.5 324.6C262.1 321 264 318.2 264 316C264 313.8 262.1 310.1 260.5 307.4C258 303.1 254.6 300.5 250.8 297.4C247.2 294.3 243.4 291.6 240.6 289.8C239.2 288.9 238 288.1 237.2 287.7C236.8 287.4 236.5 287.2 236.3 287.1L236.1 286.1L236.1 286.1C232.9 285.2 231.3 281.5 232.3 277.1C233.2 274.5 236.4 272 240 272C257.4 272 274.7 276.9 287.9 284.3C294.5 287.1 300.4 292.5 304.7 297.7L304.7 297.7zM217.6 228.8L217.6 228.8L217.4 228.5C217.2 228.3 217 228 216.7 227.6C216 226.8 215.1 225.7 213.9 224.3C211.4 221.4 207.9 217.7 203.7 213.1C194.9 206.2 184.8 200 176 200C167.2 200 157.1 206.2 148.3 213.1C144.1 217.7 140.6 221.4 138.1 224.3C136.9 225.7 135.1 226.8 135.3 227.6C134.1 228 134.8 228.3 134.6 228.5L134.4 228.8L134.4 228.8C132.3 231.6 128.7 232.7 125.5 231.6C122.2 230.5 120 227.4 120 224C120 206.1 126.7 188.4 136.6 175.2C146.4 162.2 160.5 152 176 152C191.5 152 205.6 162.2 215.4 175.2C225.3 188.4 232 206.1 232 224C232 227.4 229.8 230.5 226.5 231.6C223.3 232.7 219.7 231.6 217.6 228.8V228.8zM377.6 228.8L377.4 228.5C377.2 228.3 377 228 376.7 227.6C376 226.8 375.1 225.7 373.9 224.3C371.4 221.4 367.9 217.7 363.7 213.1C354.9 206.2 344.8 200 336 200C327.2 200 317.1 206.2 308.3 213.1C304.1 217.7 300.6 221.4 298.1 224.3C296.9 225.7 295.1 226.8 295.3 227.6C294.1 228 294.8 228.3 294.6 228.5L294.4 228.8L294.4 228.8C292.3 231.6 288.7 232.7 285.5 231.6C282.2 230.5 280 227.4 280 224C280 206.1 286.7 188.4 296.6 175.2C306.4 162.2 320.5 152 336 152C351.5 152 365.6 162.2 375.4 175.2C385.3 188.4 392 206.1 392 224C392 227.4 389.8 230.5 386.5 231.6C383.3 232.7 379.7 231.6 377.6 228.8L377.6 228.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faKissBeam = faFaceKissBeam;\nvar faLightbulb = {\n prefix: 'far',\n iconName: 'lightbulb',\n icon: [384, 512, [128161], \"f0eb\", \"M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM192 0C90.02 .3203 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.8 289.2 .0039 192 0zM288.4 260.1c-15.66 17.85-35.04 46.3-49.05 75.89h-94.61c-14.01-29.59-33.39-58.04-49.04-75.88C75.24 236.8 64 206.1 64 175.1C64 113.3 112.1 48.25 191.1 48C262.6 48 320 105.4 320 175.1C320 206.1 308.8 236.8 288.4 260.1zM176 80C131.9 80 96 115.9 96 160c0 8.844 7.156 16 16 16S128 168.8 128 160c0-26.47 21.53-48 48-48c8.844 0 16-7.148 16-15.99S184.8 80 176 80z\"]\n};\nvar faFlag = {\n prefix: 'far',\n iconName: 'flag',\n icon: [512, 512, [127988, 61725], \"f024\", \"M476.3 0c-6.365 0-13.01 1.35-19.34 4.233c-45.69 20.86-79.56 27.94-107.8 27.94c-59.96 0-94.81-31.86-163.9-31.87c-34.63 0-77.87 8.003-137.2 32.05V24C48 10.75 37.25 0 24 0S0 10.75 0 24v464C0 501.3 10.75 512 24 512s24-10.75 24-24v-104c53.59-23.86 96.02-31.81 132.8-31.81c73.63 0 124.9 31.78 198.6 31.78c31.91 0 68.02-5.971 111.1-23.09C504.1 355.9 512 344.4 512 332.1V30.73C512 11.1 495.3 0 476.3 0zM464 319.8c-30.31 10.82-58.08 16.1-84.6 16.1c-30.8 0-58.31-7-87.44-14.41c-32.01-8.141-68.29-17.37-111.1-17.37c-42.35 0-85.99 9.09-132.8 27.73V84.14l18.03-7.301c47.39-19.2 86.38-28.54 119.2-28.54c28.24 .0039 49.12 6.711 73.31 14.48c25.38 8.148 54.13 17.39 90.58 17.39c35.43 0 72.24-8.496 114.9-26.61V319.8z\"]\n};\nvar faSquareCheck = {\n prefix: 'far',\n iconName: 'square-check',\n icon: [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M211.8 339.8C200.9 350.7 183.1 350.7 172.2 339.8L108.2 275.8C97.27 264.9 97.27 247.1 108.2 236.2C119.1 225.3 136.9 225.3 147.8 236.2L192 280.4L300.2 172.2C311.1 161.3 328.9 161.3 339.8 172.2C350.7 183.1 350.7 200.9 339.8 211.8L211.8 339.8zM0 96C0 60.65 28.65 32 64 32H384C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80H64C55.16 80 48 87.16 48 96z\"]\n};\nvar faCheckSquare = faSquareCheck;\nvar faCircleDot = {\n prefix: 'far',\n iconName: 'circle-dot',\n icon: [512, 512, [128280, \"dot-circle\"], \"f192\", \"M160 256C160 202.1 202.1 160 256 160C309 160 352 202.1 352 256C352 309 309 352 256 352C202.1 352 160 309 160 256zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faDotCircle = faCircleDot;\nvar faFaceDizzy = {\n prefix: 'far',\n iconName: 'face-dizzy',\n icon: [512, 512, [\"dizzy\"], \"f567\", \"M192 352C192 316.7 220.7 288 256 288C291.3 288 320 316.7 320 352C320 387.3 291.3 416 256 416C220.7 416 192 387.3 192 352zM103 135C112.4 125.7 127.6 125.7 136.1 135L160 158.1L183 135C192.4 125.7 207.6 125.7 216.1 135C226.3 144.4 226.3 159.6 216.1 168.1L193.9 192L216.1 215C226.3 224.4 226.3 239.6 216.1 248.1C207.6 258.3 192.4 258.3 183 248.1L160 225.9L136.1 248.1C127.6 258.3 112.4 258.3 103 248.1C93.66 239.6 93.66 224.4 103 215L126.1 192L103 168.1C93.66 159.6 93.66 144.4 103 135V135zM295 135C304.4 125.7 319.6 125.7 328.1 135L352 158.1L375 135C384.4 125.7 399.6 125.7 408.1 135C418.3 144.4 418.3 159.6 408.1 168.1L385.9 192L408.1 215C418.3 224.4 418.3 239.6 408.1 248.1C399.6 258.3 384.4 258.3 375 248.1L352 225.9L328.1 248.1C319.6 258.3 304.4 258.3 295 248.1C285.7 239.6 285.7 224.4 295 215L318.1 192L295 168.1C285.7 159.6 285.7 144.4 295 135V135zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faDizzy = faFaceDizzy;\nvar faFutbol = {\n prefix: 'far',\n iconName: 'futbol',\n icon: [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M177.1 228.6L207.9 320h96.5l29.62-91.38L256 172.1L177.1 228.6zM255.1 0C114.6 0 .0001 114.6 .0001 256S114.6 512 256 512s255.1-114.6 255.1-255.1S397.4 0 255.1 0zM435.2 361.1l-103.9-1.578l-30.67 99.52C286.2 462.2 271.3 464 256 464s-30.19-1.773-44.56-4.93L180.8 359.6L76.83 361.1c-14.93-25.35-24.79-54.01-27.8-84.72L134.3 216.4L100.7 118.1c19.85-22.34 44.32-40.45 72.04-52.62L256 128l83.29-62.47c27.72 12.17 52.19 30.27 72.04 52.62L377.7 216.4l85.23 59.97C459.1 307.1 450.1 335.8 435.2 361.1z\"]\n};\nvar faFutbolBall = faFutbol;\nvar faSoccerBall = faFutbol;\nvar faPenToSquare = {\n prefix: 'far',\n iconName: 'pen-to-square',\n icon: [512, 512, [\"edit\"], \"f044\", \"M373.1 24.97C401.2-3.147 446.8-3.147 474.9 24.97L487 37.09C515.1 65.21 515.1 110.8 487 138.9L289.8 336.2C281.1 344.8 270.4 351.1 258.6 354.5L158.6 383.1C150.2 385.5 141.2 383.1 135 376.1C128.9 370.8 126.5 361.8 128.9 353.4L157.5 253.4C160.9 241.6 167.2 230.9 175.8 222.2L373.1 24.97zM440.1 58.91C431.6 49.54 416.4 49.54 407 58.91L377.9 88L424 134.1L453.1 104.1C462.5 95.6 462.5 80.4 453.1 71.03L440.1 58.91zM203.7 266.6L186.9 325.1L245.4 308.3C249.4 307.2 252.9 305.1 255.8 302.2L390.1 168L344 121.9L209.8 256.2C206.9 259.1 204.8 262.6 203.7 266.6zM200 64C213.3 64 224 74.75 224 88C224 101.3 213.3 112 200 112H88C65.91 112 48 129.9 48 152V424C48 446.1 65.91 464 88 464H360C382.1 464 400 446.1 400 424V312C400 298.7 410.7 288 424 288C437.3 288 448 298.7 448 312V424C448 472.6 408.6 512 360 512H88C39.4 512 0 472.6 0 424V152C0 103.4 39.4 64 88 64H200z\"]\n};\nvar faEdit = faPenToSquare;\nvar faHourglassHalf = {\n prefix: 'far',\n iconName: 'hourglass-half',\n icon: [384, 512, [\"hourglass-2\"], \"f252\", \"M0 24C0 10.75 10.75 0 24 0H360C373.3 0 384 10.75 384 24C384 37.25 373.3 48 360 48H352V66.98C352 107.3 335.1 145.1 307.5 174.5L225.9 256L307.5 337.5C335.1 366 352 404.7 352 445V464H360C373.3 464 384 474.7 384 488C384 501.3 373.3 512 360 512H24C10.75 512 0 501.3 0 488C0 474.7 10.75 464 24 464H32V445C32 404.7 48.01 366 76.52 337.5L158.1 256L76.52 174.5C48.01 145.1 32 107.3 32 66.98V48H24C10.75 48 0 37.25 0 24V24zM99.78 384H284.2C281 379.6 277.4 375.4 273.5 371.5L192 289.9L110.5 371.5C106.6 375.4 102.1 379.6 99.78 384H99.78zM284.2 128C296.1 110.4 304 89.03 304 66.98V48H80V66.98C80 89.03 87 110.4 99.78 128H284.2z\"]\n};\nvar faHourglass2 = faHourglassHalf;\nvar faEyeSlash = {\n prefix: 'far',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M150.7 92.77C195 58.27 251.8 32 320 32C400.8 32 465.5 68.84 512.6 112.6C559.4 156 590.7 207.1 605.5 243.7C608.8 251.6 608.8 260.4 605.5 268.3C592.1 300.6 565.2 346.1 525.6 386.7L630.8 469.1C641.2 477.3 643.1 492.4 634.9 502.8C626.7 513.2 611.6 515.1 601.2 506.9L9.196 42.89C-1.236 34.71-3.065 19.63 5.112 9.196C13.29-1.236 28.37-3.065 38.81 5.112L150.7 92.77zM189.8 123.5L235.8 159.5C258.3 139.9 287.8 128 320 128C390.7 128 448 185.3 448 256C448 277.2 442.9 297.1 433.8 314.7L487.6 356.9C521.1 322.8 545.9 283.1 558.6 256C544.1 225.1 518.4 183.5 479.9 147.7C438.8 109.6 385.2 79.1 320 79.1C269.5 79.1 225.1 97.73 189.8 123.5L189.8 123.5zM394.9 284.2C398.2 275.4 400 265.9 400 255.1C400 211.8 364.2 175.1 320 175.1C319.3 175.1 318.7 176 317.1 176C319.3 181.1 320 186.5 320 191.1C320 202.2 317.6 211.8 313.4 220.3L394.9 284.2zM404.3 414.5L446.2 447.5C409.9 467.1 367.8 480 320 480C239.2 480 174.5 443.2 127.4 399.4C80.62 355.1 49.34 304 34.46 268.3C31.18 260.4 31.18 251.6 34.46 243.7C44 220.8 60.29 191.2 83.09 161.5L120.8 191.2C102.1 214.5 89.76 237.6 81.45 255.1C95.02 286 121.6 328.5 160.1 364.3C201.2 402.4 254.8 432 320 432C350.7 432 378.8 425.4 404.3 414.5H404.3zM192 255.1C192 253.1 192.1 250.3 192.3 247.5L248.4 291.7C258.9 312.8 278.5 328.6 302 333.1L358.2 378.2C346.1 381.1 333.3 384 319.1 384C249.3 384 191.1 326.7 191.1 255.1H192z\"]\n};\nvar faHand = {\n prefix: 'far',\n iconName: 'hand',\n icon: [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M408 80c-3.994 0-7.91 .3262-11.73 .9551c-9.586-28.51-36.57-49.11-68.27-49.11c-6.457 0-12.72 .8555-18.68 2.457C296.6 13.73 273.9 0 248 0C222.1 0 199.3 13.79 186.6 34.44C180.7 32.85 174.5 32 168.1 32C128.4 32 96.01 64.3 96.01 104v121.6C90.77 224.6 85.41 224 80.01 224c-.0026 0 .0026 0 0 0C36.43 224 0 259.2 0 304.1c0 20.29 7.558 39.52 21.46 54.45l81.25 87.24C141.9 487.9 197.4 512 254.9 512h33.08C393.9 512 480 425.9 480 320V152C480 112.3 447.7 80 408 80zM432 320c0 79.41-64.59 144-143.1 144H254.9c-44.41 0-86.83-18.46-117.1-50.96l-79.76-85.63c-6.202-6.659-9.406-15.4-9.406-23.1c0-22.16 18.53-31.4 31.35-31.4c8.56 0 17.1 3.416 23.42 10.18l26.72 28.69C131.8 312.7 133.9 313.4 135.9 313.4c4.106 0 8.064-3.172 8.064-8.016V104c0-13.25 10.75-24 23.1-24c13.25 0 23.1 10.75 23.1 24v152C192 264.8 199.2 272 208 272s15.1-7.163 15.1-15.1L224 72c0-13.25 10.75-24 23.1-24c13.25 0 23.1 10.75 23.1 24v184C272 264.8 279.2 272 288 272s15.99-7.164 15.99-15.1l.0077-152.2c0-13.25 10.75-24 23.1-24c13.25 0 23.1 10.75 23.1 24v152.2C352 264.8 359.2 272 368 272s15.1-7.163 15.1-15.1V152c0-13.25 10.75-24 23.1-24c13.25 0 23.1 10.75 23.1 24V320z\"]\n};\nvar faHandPaper = faHand;\nvar faHandSpock = {\n prefix: 'far',\n iconName: 'hand-spock',\n icon: [576, 512, [128406], \"f259\", \"M234.9 48.02c10.43 0 20.72 5.834 24.13 19.17l47.33 184.1c2.142 8.456 9.174 12.62 16.21 12.62c7.326 0 14.66-4.505 16.51-13.37l31.72-155.1c2.921-14.09 13.76-20.57 24.67-20.57c13.01 0 26.14 9.19 26.14 25.62c0 2.19-.2333 4.508-.7313 6.951l-28.48 139.2c-.2389 1.156-.3514 2.265-.3514 3.323c0 8.644 7.504 13.9 14.86 13.9c5.869 0 11.65-3.341 13.46-10.98l24.73-104.2c.2347-.9802 4.12-19.76 24.28-19.76c13.21 0 26.64 9.4 26.64 24.79c0 2.168-.2665 4.455-.8378 6.852l-48.06 204.7c-13.59 57.85-65.15 98.74-124.5 98.74l-48.79-.0234c-40.7-.0196-79.86-15.58-109.5-43.51l-75.93-71.55c-5.938-5.584-8.419-11.1-8.419-18.2c0-13.88 12.45-26.69 26.38-26.69c5.756 0 11.76 2.182 17.26 7.376l51.08 48.14c1.682 1.569 3.599 2.249 5.448 2.249c4.192 0 8.04-3.49 8.04-8.001c0-23.76-3.372-47.39-10.12-70.28L142 161.1C141.2 159.1 140.8 156.3 140.8 153.7c0-15.23 13.48-24.82 26.75-24.82c10.11 0 20.1 5.559 23.94 18.42l31.22 105.8c2.231 7.546 8.029 10.8 13.9 10.8c7.752 0 15.64-5.659 15.64-14.57c0-1.339-.1783-2.752-.562-4.23L209.3 80.06C208.7 77.45 208.3 74.97 208.3 72.62C208.3 57.33 221.7 48.02 234.9 48.02zM234.9 0C201.5 0 160.4 25.24 160.4 72.72c0 2.807 .1579 5.632 .4761 8.463C129.9 83.9 92.84 108.9 92.84 153.8c0 7.175 1.038 14.47 3.148 21.68l24.33 81.94C115.8 256.5 111.1 256 106.4 256C65.74 256 32 290.6 32 330.8c0 19.59 8.162 38.58 23.6 53.1l75.89 71.51c38.68 36.45 89.23 56.53 142.3 56.56L322.6 512c82.1 0 152.5-55.83 171.3-135.8l48.06-204.7C543.3 165.7 544 159.7 544 153.9c0-54.55-49.55-72.95-74.59-72.95c-.7689 0-1.534 .0117-2.297 .0352c-10.49-39.43-46.46-54.11-71.62-54.11c-34.1 0-64.45 24.19-71.63 58.83L319.2 108.5l-13.7-53.29C297.1 22.22 268.7 0 234.9 0z\"]\n};\nvar faFaceKiss = {\n prefix: 'far',\n iconName: 'face-kiss',\n icon: [512, 512, [128535, \"kiss\"], \"f596\", \"M304.7 281.7C308.9 286.8 312 293.1 312 300C312 306.9 308.9 313.2 304.7 318.3C300.4 323.5 294.5 328 287.9 331.7C285.2 333.3 282.3 334.7 279.2 336C282.3 337.3 285.2 338.7 287.9 340.3C294.5 343.1 300.4 348.5 304.7 353.7C308.9 358.8 312 365.1 312 372C312 378.9 308.9 385.2 304.7 390.3C300.4 395.5 294.5 400 287.9 403.7C274.7 411.1 257.4 416 240 416C236.4 416 233.2 413.5 232.3 410C231.3 406.5 232.9 402.8 236.1 401L236.1 401L236.3 400.9C236.5 400.8 236.8 400.6 237.2 400.3C238 399.9 239.2 399.1 240.6 398.2C243.4 396.4 247.2 393.7 250.8 390.6C254.6 387.5 258 384 260.5 380.6C262.1 377 264 374.2 264 372C264 369.8 262.1 366.1 260.5 363.4C258 359.1 254.6 356.5 250.8 353.4C247.2 350.3 243.4 347.6 240.6 345.8C239.2 344.9 238 344.1 237.2 343.7L236.5 343.2L236.3 343.1L236.1 342.1L236.1 342.1C233.6 341.6 232 338.9 232 336C232 333.1 233.6 330.4 236.1 329L236.1 329L236.3 328.9C236.5 328.8 236.8 328.6 237.2 328.3C238 327.9 239.2 327.1 240.6 326.2C243.4 324.4 247.2 321.7 250.8 318.6C254.6 315.5 258 312.1 260.5 308.6C262.1 305 264 302.2 264 300C264 297.8 262.1 294.1 260.5 291.4C258 287.1 254.6 284.5 250.8 281.4C247.2 278.3 243.4 275.6 240.6 273.8C239.2 272.9 238 272.1 237.2 271.7C236.8 271.4 236.5 271.2 236.3 271.1L236.1 270.1L236.1 270.1C232.9 269.2 231.3 265.5 232.3 261.1C233.2 258.5 236.4 256 240 256C257.4 256 274.7 260.9 287.9 268.3C294.5 271.1 300.4 276.5 304.7 281.7V281.7zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faKiss = faFaceKiss;\nvar faFaceGrinTongue = {\n prefix: 'far',\n iconName: 'face-grin-tongue',\n icon: [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208zM368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 337.7 95.13 408.4 163.7 442.4C161.3 434 160 425.2 160 416V363.6C151.1 355.6 143.3 346.5 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C368.6 346.4 360.8 355.5 352 363.5V416C352 425.2 350.7 434 348.3 442.4C416.9 408.4 464 337.7 464 256C464 141.1 370.9 48 255.1 48H256zM320 416V378.6C320 363.9 308.1 352 293.4 352H291.4C280.1 352 270.3 359.9 267.8 370.9C264.1 383.5 247 383.5 244.2 370.9C241.7 359.9 231.9 352 220.6 352H218.6C203.9 352 192 363.9 192 378.6V416C192 451.3 220.7 480 256 480C291.3 480 320 451.3 320 416z\"]\n};\nvar faGrinTongue = faFaceGrinTongue;\nvar faChessBishop = {\n prefix: 'far',\n iconName: 'chess-bishop',\n icon: [320, 512, [9821], \"f43a\", \"M296 464H23.1C10.75 464 0 474.7 0 487.1S10.75 512 23.1 512h272C309.3 512 320 501.3 320 488S309.3 464 296 464zM0 304c0 51.63 30.12 85.25 64 96v32h48v-67.13l-33.5-10.63C63.75 349.5 48 333.9 48 304c0-84.1 93.2-206.5 112.6-206.5c19.63 0 60.01 67.18 70.28 85.8l-66.13 66.13c-3.125 3.125-4.688 7.219-4.688 11.31S161.6 268.9 164.8 272L176 283.2c3.125 3.125 7.219 4.688 11.31 4.688s8.188-1.562 11.31-4.688L253 229C264.4 256.8 272 283.5 272 304c0 29.88-15.75 45.5-30.5 50.25L208 364.9V432H256v-32c33.88-10.75 64-44.38 64-96c0-73.38-67.75-197.2-120.6-241.5C213.4 59.12 224 47 224 32c0-17.62-14.38-32-32-32H128C110.4 0 96 14.38 96 32c0 15 10.62 27.12 24.62 30.5C67.75 106.8 0 230.6 0 304z\"]\n};\nvar faFaceGrinWink = {\n prefix: 'far',\n iconName: 'face-grin-wink',\n icon: [512, 512, [\"grin-wink\"], \"f58c\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM281.9 230.6C273.9 223 273.5 210.4 281 202.3C295.6 186.8 316.3 180 335.6 180C354.1 180 375.7 186.8 390.2 202.3C397.8 210.4 397.4 223 389.3 230.6C381.2 238.1 368.6 237.7 361 229.7C355.6 223.8 346.3 220 335.6 220C324.1 220 315.7 223.8 310.2 229.7C302.7 237.7 290 238.1 281.9 230.6zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faGrinWink = faFaceGrinWink;\nvar faFaceGrinWide = {\n prefix: 'far',\n iconName: 'face-grin-wide',\n icon: [512, 512, [128515, \"grin-alt\"], \"f581\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM224 192C224 227.3 209.7 256 192 256C174.3 256 160 227.3 160 192C160 156.7 174.3 128 192 128C209.7 128 224 156.7 224 192zM288 192C288 156.7 302.3 128 320 128C337.7 128 352 156.7 352 192C352 227.3 337.7 256 320 256C302.3 256 288 227.3 288 192zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faGrinAlt = faFaceGrinWide;\nvar faFaceFrownOpen = {\n prefix: 'far',\n iconName: 'face-frown-open',\n icon: [512, 512, [128550, \"frown-open\"], \"f57a\", \"M179.3 369.3C166.1 374.5 153.1 365.1 158.4 352.9C175.1 314.7 214.3 287.8 259.9 287.8C305.6 287.8 344.8 314.7 361.4 352.1C366.7 365.2 352.9 374.5 340.6 369.3C316.2 359 288.8 353.2 259.9 353.2C231 353.2 203.7 358.1 179.3 369.3L179.3 369.3zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faFrownOpen = faFaceFrownOpen;\nvar faHandPointUp = {\n prefix: 'far',\n iconName: 'hand-point-up',\n icon: [448, 512, [9757], \"f0a6\", \"M376 192c-6.428 0-12.66 .8457-18.6 2.434C344.7 173.8 321.9 160 296 160c-6.428 0-12.66 .8457-18.6 2.434C264.7 141.8 241.9 128 216 128C213.3 128 210.6 128.1 208 128.4V72C208 32.3 175.7 0 136 0S64 32.3 64 72v196.3C44.51 284.5 32 308.8 32 336v49.88c0 32.1 17.1 61.65 44.63 77.12l55.83 31.35C153.1 505.9 176.4 512 199.8 512h107.9C385.1 512 448 447.4 448 368V264C448 224.3 415.7 192 376 192zM272 232c0-13.23 10.78-24 24-24S320 218.8 320 232v47.91C320 293.1 309.2 304 296 304S272 293.2 272 280V232zM192 200C192 186.8 202.8 176 216 176s24 10.77 24 24v48c0 3.029-.7012 5.875-1.73 8.545C227.9 251.3 216.4 248 204 248H192V200zM112 72c0-13.23 10.78-24 24-24S160 58.77 160 72v176H120c-2.686 0-5.217 .5566-7.84 .793C112.2 248.5 112 248.3 112 248V72zM307.7 464H199.8c-15.25 0-30.41-3.984-43.88-11.52l-55.78-31.34C87.72 414.2 80 400.6 80 385.9V336c0-22.06 17.94-40 40-40h84c15.44 0 28 12.56 28 28S219.4 352 204 352H152C138.8 352 128 362.8 128 376s10.75 24 24 24h52c33.23 0 61.25-21.58 71.54-51.36C282 350.7 288.9 352 296 352c5.041 0 9.836-1.166 14.66-2.178C322 374.6 346.1 392 376 392c7.684 0 14.94-1.557 21.87-3.836C388.9 431.4 351.9 464 307.7 464zM400 320c0 13.23-10.78 24-24 24S352 333.2 352 320V264c0-13.23 10.78-24 24-24s24 10.77 24 24V320z\"]\n};\nvar faBookmark = {\n prefix: 'far',\n iconName: 'bookmark',\n icon: [384, 512, [128278, 61591], \"f02e\", \"M336 0h-288C21.49 0 0 21.49 0 48v431.9c0 24.7 26.79 40.08 48.12 27.64L192 423.6l143.9 83.93C357.2 519.1 384 504.6 384 479.9V48C384 21.49 362.5 0 336 0zM336 452L192 368l-144 84V54C48 50.63 50.63 48 53.1 48h276C333.4 48 336 50.63 336 54V452z\"]\n};\nvar faHandPointDown = {\n prefix: 'far',\n iconName: 'hand-point-down',\n icon: [448, 512, [], \"f0a7\", \"M448 248V144C448 64.6 385.1 0 307.7 0H199.8C176.4 0 153.1 6.104 132.5 17.65L76.63 49C49.1 64.47 32 94.02 32 126.1V176c0 27.23 12.51 51.53 32 67.69V440C64 479.7 96.3 512 136 512s72-32.3 72-72v-56.44C210.6 383.9 213.3 384 216 384c25.95 0 48.73-13.79 61.4-34.43C283.3 351.2 289.6 352 296 352c25.95 0 48.73-13.79 61.4-34.43C363.3 319.2 369.6 320 376 320C415.7 320 448 287.7 448 248zM272 232c0-13.23 10.78-24 24-24S320 218.9 320 232.1V280c0 13.23-10.78 24-24 24S272 293.2 272 280V232zM192 264h12c12.39 0 23.93-3.264 34.27-8.545C239.3 258.1 240 260.1 240 264v48c0 13.23-10.78 24-24 24S192 325.2 192 312V264zM112 264c0-.2813 .1504-.5137 .1602-.793C114.8 263.4 117.3 264 120 264H160v176c0 13.23-10.78 24-24 24S112 453.2 112 440V264zM397.9 123.8C390.9 121.6 383.7 120 376 120c-29.04 0-53.96 17.37-65.34 42.18C305.8 161.2 301 160 296 160c-7.139 0-13.96 1.273-20.46 3.355C265.2 133.6 237.2 112 204 112H152C138.8 112 128 122.8 128 136S138.8 160 152 160h52c15.44 0 28 12.56 28 28S219.4 216 204 216H120C97.94 216 80 198.1 80 176V126.1c0-14.77 7.719-28.28 20.16-35.27l55.78-31.34C169.4 51.98 184.6 48 199.8 48h107.9C351.9 48 388.9 80.56 397.9 123.8zM400 248c0 13.23-10.78 24-24 24S352 261.2 352 248V192c0-13.23 10.78-24 24-24S400 178.8 400 192V248z\"]\n};\nvar faFolder = {\n prefix: 'far',\n iconName: 'folder',\n icon: [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M447.1 96h-172.1L226.7 50.75C214.7 38.74 198.5 32 181.5 32H63.1c-35.35 0-64 28.66-64 64v320c0 35.34 28.65 64 64 64h384c35.35 0 64-28.66 64-64V160C511.1 124.7 483.3 96 447.1 96zM463.1 416c0 8.824-7.178 16-16 16h-384c-8.822 0-16-7.176-16-16V96c0-8.824 7.178-16 16-16h117.5c4.273 0 8.293 1.664 11.31 4.688L255.1 144h192c8.822 0 16 7.176 16 16V416z\"]\n};\nvar faFolderBlank = faFolder;\nvar faUser = {\n prefix: 'far',\n iconName: 'user',\n icon: [448, 512, [128100, 62144], \"f007\", \"M272 304h-96C78.8 304 0 382.8 0 480c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32C448 382.8 369.2 304 272 304zM48.99 464C56.89 400.9 110.8 352 176 352h96c65.16 0 119.1 48.95 127 112H48.99zM224 256c70.69 0 128-57.31 128-128c0-70.69-57.31-128-128-128S96 57.31 96 128C96 198.7 153.3 256 224 256zM224 48c44.11 0 80 35.89 80 80c0 44.11-35.89 80-80 80S144 172.1 144 128C144 83.89 179.9 48 224 48z\"]\n};\nvar faSquareCaretLeft = {\n prefix: 'far',\n iconName: 'square-caret-left',\n icon: [448, 512, [\"caret-square-left\"], \"f191\", \"M384 32H64C28.66 32 0 60.66 0 96v320c0 35.34 28.66 64 64 64h320c35.34 0 64-28.66 64-64V96C448 60.66 419.3 32 384 32zM400 416c0 8.82-7.18 16-16 16H64c-8.82 0-16-7.18-16-16V96c0-8.82 7.18-16 16-16h320c8.82 0 16 7.18 16 16V416zM273.6 138c-8.719-3.812-18.91-2.094-25.91 4.375l-104 96C138.8 242.9 136 249.3 136 256s2.812 13.09 7.719 17.62l104 96c7 6.469 17.19 8.188 25.91 4.375C282.3 370.2 288 361.5 288 352V160C288 150.5 282.3 141.8 273.6 138z\"]\n};\nvar faCaretSquareLeft = faSquareCaretLeft;\nvar faStar = {\n prefix: 'far',\n iconName: 'star',\n icon: [576, 512, [11088, 61446], \"f005\", \"M287.9 0C297.1 0 305.5 5.25 309.5 13.52L378.1 154.8L531.4 177.5C540.4 178.8 547.8 185.1 550.7 193.7C553.5 202.4 551.2 211.9 544.8 218.2L433.6 328.4L459.9 483.9C461.4 492.9 457.7 502.1 450.2 507.4C442.8 512.7 432.1 513.4 424.9 509.1L287.9 435.9L150.1 509.1C142.9 513.4 133.1 512.7 125.6 507.4C118.2 502.1 114.5 492.9 115.1 483.9L142.2 328.4L31.11 218.2C24.65 211.9 22.36 202.4 25.2 193.7C28.03 185.1 35.5 178.8 44.49 177.5L197.7 154.8L266.3 13.52C270.4 5.249 278.7 0 287.9 0L287.9 0zM287.9 78.95L235.4 187.2C231.9 194.3 225.1 199.3 217.3 200.5L98.98 217.9L184.9 303C190.4 308.5 192.9 316.4 191.6 324.1L171.4 443.7L276.6 387.5C283.7 383.7 292.2 383.7 299.2 387.5L404.4 443.7L384.2 324.1C382.9 316.4 385.5 308.5 391 303L476.9 217.9L358.6 200.5C350.7 199.3 343.9 194.3 340.5 187.2L287.9 78.95z\"]\n};\nvar faChessKnight = {\n prefix: 'far',\n iconName: 'chess-knight',\n icon: [384, 512, [9822], \"f441\", \"M44 320.6l14.5 6.5c-17.01 20.24-26.44 45.91-26.44 72.35C32.06 399.7 32.12 432 32.12 432h48v-32c0-24.75 14-47.5 36.13-58.63l38.13-23.37c13.25-6.625 21.75-20.25 21.75-35.13v-58.75l-15.37 9C155.6 235.8 151.9 240.4 150.5 245.9L143 271c-2.25 7.625-8 13.88-15.38 16.75L117.1 292C114 293.3 110.7 293.9 107.4 293.9c-3.626 0-7.263-.7514-10.66-2.254L63.5 276.9C54.12 272.6 48 263.2 48 252.9V140.5c0-5.125 2.125-10.12 5.75-13.88l7.375-7.375L49.5 96C48.5 94.12 48 92 48 89.88C48 84.38 52.38 80 57.88 80h105c86.75 0 156.1 70.38 156.1 157.1V432h48.06l-.0625-194.9C367.9 124 276 32 162.9 32H57.88C25.88 32 0 57.88 0 89.88c0 8.5 1.75 16.88 5.125 24.62C1.75 122.8 0 131.6 0 140.5v112.4C0 282.2 17.25 308.8 44 320.6zM80.12 164c0 11 8.875 20 20 20c11 0 20-9 20-20s-9-20-20-20C89 144 80.12 153 80.12 164zM360 464H23.1C10.75 464 0 474.7 0 487.1S10.75 512 23.1 512H360C373.3 512 384 501.3 384 488S373.3 464 360 464z\"]\n};\nvar faFaceLaughSquint = {\n prefix: 'far',\n iconName: 'face-laugh-squint',\n icon: [512, 512, [\"laugh-squint\"], \"f59b\", \"M130.7 313.9C126.5 300.4 137.8 288 151.1 288H364.5C378.7 288 389.9 300.4 385.8 313.9C368.1 368.4 318.2 408 258.2 408C198.2 408 147.5 368.4 130.7 313.9V313.9zM223.4 178.6C234.1 184.3 234.1 199.7 223.4 205.4L133.5 253.3C125.6 257.6 116 251.8 116 242.9C116 240.1 116.1 237.4 118.8 235.2L154.8 192L118.8 148.8C116.1 146.6 116 143.9 116 141.1C116 132.2 125.6 126.4 133.5 130.7L223.4 178.6zM393.2 148.8L357.2 192L393.2 235.2C395 237.4 396 240.1 396 242.9C396 251.8 386.4 257.6 378.5 253.3L288.6 205.4C277.9 199.7 277.9 184.3 288.6 178.6L378.5 130.7C386.4 126.4 396 132.2 396 141.1C396 143.9 395 146.6 393.2 148.8V148.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faLaughSquint = faFaceLaughSquint;\nvar faFaceLaugh = {\n prefix: 'far',\n iconName: 'face-laugh',\n icon: [512, 512, [\"laugh\"], \"f599\", \"M130.7 313.9C126.5 300.4 137.8 288 151.1 288H364.5C378.7 288 389.9 300.4 385.8 313.9C368.1 368.4 318.2 408 258.2 408C198.2 408 147.5 368.4 130.7 313.9V313.9zM208.4 192C208.4 209.7 194 224 176.4 224C158.7 224 144.4 209.7 144.4 192C144.4 174.3 158.7 160 176.4 160C194 160 208.4 174.3 208.4 192zM304.4 192C304.4 174.3 318.7 160 336.4 160C354 160 368.4 174.3 368.4 192C368.4 209.7 354 224 336.4 224C318.7 224 304.4 209.7 304.4 192zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faLaugh = faFaceLaugh;\nvar faFolderOpen = {\n prefix: 'far',\n iconName: 'folder-open',\n icon: [576, 512, [128194, 128449, 61717], \"f07c\", \"M572.6 270.3l-96 192C471.2 473.2 460.1 480 447.1 480H64c-35.35 0-64-28.66-64-64V96c0-35.34 28.65-64 64-64h117.5c16.97 0 33.25 6.742 45.26 18.75L275.9 96H416c35.35 0 64 28.66 64 64v32h-48V160c0-8.824-7.178-16-16-16H256L192.8 84.69C189.8 81.66 185.8 80 181.5 80H64C55.18 80 48 87.18 48 96v288l71.16-142.3C124.6 230.8 135.7 224 147.8 224h396.2C567.7 224 583.2 249 572.6 270.3z\"]\n};\nvar faClipboard = {\n prefix: 'far',\n iconName: 'clipboard',\n icon: [384, 512, [128203], \"f328\", \"M320 64h-49.61C262.1 27.48 230.7 0 192 0S121 27.48 113.6 64H64C28.65 64 0 92.66 0 128v320c0 35.34 28.65 64 64 64h256c35.35 0 64-28.66 64-64V128C384 92.66 355.3 64 320 64zM192 48c13.23 0 24 10.77 24 24S205.2 96 192 96S168 85.23 168 72S178.8 48 192 48zM336 448c0 8.82-7.178 16-16 16H64c-8.822 0-16-7.18-16-16V128c0-8.82 7.178-16 16-16h18.26C80.93 117.1 80 122.4 80 128v16C80 152.8 87.16 160 96 160h192c8.836 0 16-7.164 16-16V128c0-5.559-.9316-10.86-2.264-16H320c8.822 0 16 7.18 16 16V448z\"]\n};\nvar faChessQueen = {\n prefix: 'far',\n iconName: 'chess-queen',\n icon: [512, 512, [9819], \"f445\", \"M256 112c30.88 0 56-25.12 56-56S286.9 0 256 0S199.1 25.12 199.1 56S225.1 112 256 112zM511.1 197.4c0-5.178-2.509-10.2-7.096-13.26L476.4 168.2c-2.5-1.75-5.497-2.62-8.497-2.62c-5.501 .125-10.63 2.87-13.75 7.245c-9.001 12-23.16 19.13-38.16 19.13c-3.125 0-6.089-.2528-9.089-.8778c-23.13-4.25-38.88-26.25-38.88-49.75C367.1 134 361.1 128 354.6 128h-38.75c-6.001 0-11.63 4-12.88 9.875C298.2 160.1 278.7 176 255.1 176c-22.75 0-42.25-15.88-47-38.12C207.7 132 202.2 128 196.1 128h-38.75C149.1 128 143.1 134 143.1 141.4c0 18.49-13.66 50.62-47.95 50.62c-15.13 0-29.3-7.118-38.3-19.24C54.6 168.4 49.66 165.7 44.15 165.6c-3 0-5.931 .8951-8.432 2.645l-28.63 16C2.509 187.2 0 192.3 0 197.4c0 2.438 .5583 4.901 1.72 7.185L109.9 432h53.13L69.85 236.4C78.35 238.8 87.11 240 95.98 240c2.432 0 56.83 1.503 84.76-52.5C198.1 210.5 226.6 224 255.9 224c29.38 0 57.01-13.38 75.26-36.25C336.1 197.6 360.6 240 416 240c8.751 0 17.5-1.125 26-3.5L349 432h53.13l108.1-227.4C511.4 202.3 511.1 199.8 511.1 197.4zM424 464H87.98c-13.26 0-24 10.75-24 23.1S74.72 512 87.98 512h336c13.26 0 24-10.75 24-23.1S437.3 464 424 464z\"]\n};\nvar faHandBackFist = {\n prefix: 'far',\n iconName: 'hand-back-fist',\n icon: [448, 512, [\"hand-rock\"], \"f255\", \"M377.1 68.05C364.4 50.65 343.7 40 321.2 40h-13.53c-3.518 0-7.039 .2754-10.53 .8184C284.8 31.33 269.6 26 253.5 26H240c-3.977 0-7.904 .3691-11.75 1.084C216.7 10.71 197.6 0 176 0H160C124.7 0 96 28.65 96 64v49.71L63.04 143.3C43.3 160 32 184.6 32 210.9v78.97c0 32.1 17.11 61.65 44.65 77.12L112 386.9v101.1C112 501.3 122.7 512 135.1 512S160 501.3 160 488v-129.9c-1.316-.6543-2.775-.9199-4.062-1.639l-55.78-31.34C87.72 318.2 80 304.6 80 289.9V210.9c0-12.31 5.281-23.77 14.5-31.39L112 163.8V208C112 216.8 119.2 224 128 224s16-7.156 16-16V64c0-8.828 7.188-16 16-16h16C184.8 48 192 55.17 192 64v16c0 9.578 7.942 16.04 16.15 16.04c6.432 0 12.31-4.018 14.73-10.17C223.3 84.84 228.3 74 240 74h13.53c20.97 0 17.92 19.58 34.27 19.58c8.177 0 9.9-5.584 19.88-5.584h13.53c25.54 0 18.27 28.23 38.66 28.23c.1562 0 .3125-.002 .4668-.0078L375.4 116C388.1 116 400 127.7 400 142V272c0 36.15-19.54 67.32-48 83.69v132.3C352 501.3 362.7 512 375.1 512S400 501.3 400 488v-108.1C430.1 352.8 448 313.6 448 272V142C448 102.1 416.8 69.44 377.1 68.05z\"]\n};\nvar faHandRock = faHandBackFist;\nvar faSquareCaretUp = {\n prefix: 'far',\n iconName: 'square-caret-up',\n icon: [448, 512, [\"caret-square-up\"], \"f151\", \"M241.6 175.7C237.1 170.8 230.7 168 224 168S210.9 170.8 206.4 175.7l-96 104c-6.469 7-8.188 17.19-4.375 25.91C109.8 314.3 118.5 320 127.1 320h192c9.531 0 18.16-5.656 22-14.38c3.813-8.719 2.094-18.91-4.375-25.91L241.6 175.7zM384 32H64C28.65 32 0 60.66 0 96v320c0 35.34 28.65 64 64 64h320c35.35 0 64-28.66 64-64V96C448 60.66 419.3 32 384 32zM400 416c0 8.82-7.178 16-16 16H64c-8.822 0-16-7.18-16-16V96c0-8.82 7.178-16 16-16h320c8.822 0 16 7.18 16 16V416z\"]\n};\nvar faCaretSquareUp = faSquareCaretUp;\nvar faChartBar = {\n prefix: 'far',\n iconName: 'chart-bar',\n icon: [512, 512, [\"bar-chart\"], \"f080\", \"M24 32C37.25 32 48 42.75 48 56V408C48 421.3 58.75 432 72 432H488C501.3 432 512 442.7 512 456C512 469.3 501.3 480 488 480H72C32.24 480 0 447.8 0 408V56C0 42.75 10.75 32 24 32zM128 136C128 122.7 138.7 112 152 112H360C373.3 112 384 122.7 384 136C384 149.3 373.3 160 360 160H152C138.7 160 128 149.3 128 136zM296 208C309.3 208 320 218.7 320 232C320 245.3 309.3 256 296 256H152C138.7 256 128 245.3 128 232C128 218.7 138.7 208 152 208H296zM424 304C437.3 304 448 314.7 448 328C448 341.3 437.3 352 424 352H152C138.7 352 128 341.3 128 328C128 314.7 138.7 304 152 304H424z\"]\n};\nvar faBarChart = faChartBar;\nvar faWindowRestore = {\n prefix: 'far',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M432 48H208C190.3 48 176 62.33 176 80V96H128V80C128 35.82 163.8 0 208 0H432C476.2 0 512 35.82 512 80V304C512 348.2 476.2 384 432 384H416V336H432C449.7 336 464 321.7 464 304V80C464 62.33 449.7 48 432 48zM320 128C355.3 128 384 156.7 384 192V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V192C0 156.7 28.65 128 64 128H320zM64 464H320C328.8 464 336 456.8 336 448V256H48V448C48 456.8 55.16 464 64 464z\"]\n};\nvar faSquarePlus = {\n prefix: 'far',\n iconName: 'square-plus',\n icon: [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M200 344V280H136C122.7 280 112 269.3 112 256C112 242.7 122.7 232 136 232H200V168C200 154.7 210.7 144 224 144C237.3 144 248 154.7 248 168V232H312C325.3 232 336 242.7 336 256C336 269.3 325.3 280 312 280H248V344C248 357.3 237.3 368 224 368C210.7 368 200 357.3 200 344zM0 96C0 60.65 28.65 32 64 32H384C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80H64C55.16 80 48 87.16 48 96z\"]\n};\nvar faPlusSquare = faSquarePlus;\nvar faImage = {\n prefix: 'far',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M152 120c-26.51 0-48 21.49-48 48s21.49 48 48 48s48-21.49 48-48S178.5 120 152 120zM447.1 32h-384C28.65 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM463.1 409.3l-136.8-185.9C323.8 218.8 318.1 216 312 216c-6.113 0-11.82 2.768-15.21 7.379l-106.6 144.1l-37.09-46.1c-3.441-4.279-8.934-6.809-14.77-6.809c-5.842 0-11.33 2.529-14.78 6.809l-75.52 93.81c0-.0293 0 .0293 0 0L47.99 96c0-8.822 7.178-16 16-16h384c8.822 0 16 7.178 16 16V409.3z\"]\n};\nvar faFolderClosed = {\n prefix: 'far',\n iconName: 'folder-closed',\n icon: [512, 512, [], \"e185\", \"M448 96h-172.1L226.7 50.75C214.7 38.74 198.5 32 181.5 32H64C28.65 32 0 60.66 0 96v320c0 35.34 28.65 64 64 64h384c35.35 0 64-28.66 64-64V160C512 124.7 483.3 96 448 96zM64 80h117.5c4.273 0 8.293 1.664 11.31 4.688L256 144h192c8.822 0 16 7.176 16 16v32h-416V96C48 87.18 55.18 80 64 80zM448 432H64c-8.822 0-16-7.176-16-16V240h416V416C464 424.8 456.8 432 448 432z\"]\n};\nvar faLemon = {\n prefix: 'far',\n iconName: 'lemon',\n icon: [448, 512, [127819], \"f094\", \"M439.9 144.6c15.34-26.38 8.372-62.41-16.96-87.62c-25.21-25.32-61.22-32.26-87.61-16.95c-9.044 5.218-27.15 3.702-48.08 1.968c-50.78-4.327-127.4-10.73-207.6 69.56C-.6501 191.9 5.801 268.5 10.07 319.3c1.749 20.96 3.28 39.07-1.984 48.08c-15.35 26.4-8.357 62.45 16.92 87.57c16.26 16.37 37.05 25.09 56.83 25.09c10.89 0 21.46-2.64 30.83-8.092c9.013-5.249 27.12-3.718 48.08-1.968c50.69 4.233 127.4 10.7 207.6-69.56c80.27-80.28 73.82-156.9 69.56-207.7C436.2 171.8 434.7 153.7 439.9 144.6zM398.4 120.5c-12.87 22.09-10.67 48.41-8.326 76.25c4.155 49.3 8.841 105.2-55.67 169.7c-64.53 64.49-120.5 59.78-169.7 55.68c-27.85-2.328-54.12-4.53-76.26 8.311c-6.139 3.64-19.17 1.031-29.58-9.451c-10.39-10.33-12.95-23.35-9.372-29.49c12.87-22.09 10.67-48.41 8.326-76.25C53.72 265.1 49.04 210.1 113.5 145.5c48.27-48.27 91.71-57.8 131.2-57.8c13.28 0 26.12 1.078 38.52 2.125c27.9 2.359 54.17 4.561 76.26-8.311c6.123-3.577 19.18-1.031 29.49 9.357C399.4 101.2 402 114.4 398.4 120.5zM239.5 124.1c2.156 8.561-3.062 17.25-11.62 19.43C183.6 154.7 122.7 215.6 111.6 259.9C109.7 267.1 103.2 271.1 96.05 271.1c-1.281 0-2.593-.1562-3.905-.4687C83.58 269.3 78.4 260.6 80.52 252.1C94.67 195.8 163.8 126.7 220.1 112.5C228.8 110.4 237.3 115.5 239.5 124.1z\"]\n};\nvar faHandshake = {\n prefix: 'far',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M506.1 127.1c-17.97-20.17-61.46-61.65-122.7-71.1c-22.5-3.354-45.39 3.606-63.41 18.21C302 60.47 279.1 53.42 256.5 56.86C176.8 69.17 126.7 136.2 124.6 139.1c-7.844 10.69-5.531 25.72 5.125 33.57c4.281 3.157 9.281 4.657 14.19 4.657c7.406 0 14.69-3.375 19.38-9.782c.4062-.5626 40.19-53.91 100.5-63.23c7.457-.9611 14.98 .67 21.56 4.483L227.2 168.2C214.8 180.5 207.1 196.1 207.1 214.5c0 17.5 6.812 33.94 19.16 46.29C239.5 273.2 255.9 279.1 273.4 279.1s33.94-6.813 46.31-19.19l11.35-11.35l124.2 100.9c2.312 1.875 2.656 5.251 .5 7.97l-27.69 35.75c-1.844 2.25-5.25 2.594-7.156 1.063l-22.22-18.69l-26.19 27.75c-2.344 2.875-5.344 3.563-6.906 3.719c-1.656 .1562-4.562 .125-6.812-1.719l-32.41-27.66L310.7 392.3l-2.812 2.938c-5.844 7.157-14.09 11.66-23.28 12.6c-9.469 .8126-18.25-1.75-24.5-6.782L170.3 319.8H96V128.3L0 128.3v255.6l64 .0404c11.74 0 21.57-6.706 27.14-16.14h60.64l77.06 69.66C243.7 449.6 261.9 456 280.8 456c2.875 0 5.781-.125 8.656-.4376c13.62-1.406 26.41-6.063 37.47-13.5l.9062 .8126c12.03 9.876 27.28 14.41 42.69 12.78c13.19-1.375 25.28-7.032 33.91-15.35c21.09 8.188 46.09 2.344 61.25-16.47l27.69-35.75c18.47-22.82 14.97-56.48-7.844-75.01l-120.3-97.76l8.381-8.382c9.375-9.376 9.375-24.57 0-33.94c-9.375-9.376-24.56-9.376-33.94 0L285.8 226.8C279.2 233.5 267.7 233.5 261.1 226.8c-3.312-3.282-5.125-7.657-5.125-12.31c0-4.688 1.812-9.064 5.281-12.53l85.91-87.64c7.812-7.845 18.53-11.75 28.94-10.03c59.75 9.22 100.2 62.73 100.6 63.29c3.088 4.155 7.264 6.946 11.84 8.376H544v175.1c0 17.67 14.33 32.05 31.1 32.05L640 384V128.1L506.1 127.1zM48 352c-8.75 0-16-7.245-16-15.99c0-8.876 7.25-15.99 16-15.99S64 327.2 64 336.1C64 344.8 56.75 352 48 352zM592 352c-8.75 0-16-7.245-16-15.99c0-8.876 7.25-15.99 16-15.99s16 7.117 16 15.99C608 344.8 600.8 352 592 352z\"]\n};\nvar faGem = {\n prefix: 'far',\n iconName: 'gem',\n icon: [512, 512, [128142], \"f3a5\", \"M507.9 196.4l-104-153.8C399.4 35.95 391.1 32 384 32H127.1C120 32 112.6 35.95 108.1 42.56l-103.1 153.8c-6.312 9.297-5.281 21.72 2.406 29.89l231.1 246.2C243.1 477.3 249.4 480 256 480s12.94-2.734 17.47-7.547l232-246.2C513.2 218.1 514.2 205.7 507.9 196.4zM382.5 96.59L446.1 192h-140.1L382.5 96.59zM256 178.9L177.6 80h156.7L256 178.9zM129.5 96.59L205.1 192H65.04L129.5 96.59zM256 421L85.42 240h341.2L256 421z\"]\n};\nvar faCirclePlay = {\n prefix: 'far',\n iconName: 'circle-play',\n icon: [512, 512, [61469, \"play-circle\"], \"f144\", \"M188.3 147.1C195.8 142.8 205.1 142.1 212.5 147.5L356.5 235.5C363.6 239.9 368 247.6 368 256C368 264.4 363.6 272.1 356.5 276.5L212.5 364.5C205.1 369 195.8 369.2 188.3 364.9C180.7 360.7 176 352.7 176 344V167.1C176 159.3 180.7 151.3 188.3 147.1V147.1zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faPlayCircle = faCirclePlay;\nvar faCircleCheck = {\n prefix: 'far',\n iconName: 'circle-check',\n icon: [512, 512, [61533, \"check-circle\"], \"f058\", \"M243.8 339.8C232.9 350.7 215.1 350.7 204.2 339.8L140.2 275.8C129.3 264.9 129.3 247.1 140.2 236.2C151.1 225.3 168.9 225.3 179.8 236.2L224 280.4L332.2 172.2C343.1 161.3 360.9 161.3 371.8 172.2C382.7 183.1 382.7 200.9 371.8 211.8L243.8 339.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faCheckCircle = faCircleCheck;\nvar faCircleStop = {\n prefix: 'far',\n iconName: 'circle-stop',\n icon: [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M328 160h-144C170.8 160 160 170.8 160 184v144C160 341.2 170.8 352 184 352h144c13.2 0 24-10.8 24-24v-144C352 170.8 341.2 160 328 160zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"]\n};\nvar faStopCircle = faCircleStop;\nvar faIdBadge = {\n prefix: 'far',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M320 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h256c35.35 0 64-28.65 64-64V64C384 28.65 355.3 0 320 0zM336 448c0 8.836-7.164 16-16 16H64c-8.836 0-16-7.164-16-16V64c0-8.838 7.164-16 16-16h64V64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V48h64c8.836 0 16 7.162 16 16V448zM192 288c35.35 0 64-28.65 64-64s-28.65-64-64-64C156.7 160 128 188.7 128 224S156.7 288 192 288zM224 320H160c-44.18 0-80 35.82-80 80C80 408.8 87.16 416 96 416h192c8.836 0 16-7.164 16-16C304 355.8 268.2 320 224 320z\"]\n};\nvar faFaceLaughBeam = {\n prefix: 'far',\n iconName: 'face-laugh-beam',\n icon: [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M130.7 313.9C126.5 300.4 137.8 288 151.1 288H364.5C378.7 288 389.9 300.4 385.8 313.9C368.1 368.4 318.2 408 258.2 408C198.2 408 147.5 368.4 130.7 313.9V313.9zM217.6 228.8L217.6 228.8L217.4 228.5C217.2 228.3 217 228 216.7 227.6C216 226.8 215.1 225.7 213.9 224.3C211.4 221.4 207.9 217.7 203.7 213.1C194.9 206.2 184.8 200 176 200C167.2 200 157.1 206.2 148.3 213.1C144.1 217.7 140.6 221.4 138.1 224.3C136.9 225.7 135.1 226.8 135.3 227.6C134.1 228 134.8 228.3 134.6 228.5L134.4 228.8L134.4 228.8C132.3 231.6 128.7 232.7 125.5 231.6C122.2 230.5 120 227.4 120 224C120 206.1 126.7 188.4 136.6 175.2C146.4 162.2 160.5 152 176 152C191.5 152 205.6 162.2 215.4 175.2C225.3 188.4 232 206.1 232 224C232 227.4 229.8 230.5 226.5 231.6C223.3 232.7 219.7 231.6 217.6 228.8V228.8zM377.6 228.8L377.4 228.5C377.2 228.3 377 228 376.7 227.6C376 226.8 375.1 225.7 373.9 224.3C371.4 221.4 367.9 217.7 363.7 213.1C354.9 206.2 344.8 200 336 200C327.2 200 317.1 206.2 308.3 213.1C304.1 217.7 300.6 221.4 298.1 224.3C296.9 225.7 295.1 226.8 295.3 227.6C294.1 228 294.8 228.3 294.6 228.5L294.4 228.8L294.4 228.8C292.3 231.6 288.7 232.7 285.5 231.6C282.2 230.5 280 227.4 280 224C280 206.1 286.7 188.4 296.6 175.2C306.4 162.2 320.5 152 336 152C351.5 152 365.6 162.2 375.4 175.2C385.3 188.4 392 206.1 392 224C392 227.4 389.8 230.5 386.5 231.6C383.3 232.7 379.7 231.6 377.6 228.8L377.6 228.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faLaughBeam = faFaceLaughBeam;\nvar faRegistered = {\n prefix: 'far',\n iconName: 'registered',\n icon: [512, 512, [174], \"f25d\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM352 208c0-44.13-35.88-80-80-80L184 128c-13.25 0-24 10.75-24 24v208c0 13.25 10.75 24 24 24s24-10.75 24-24v-72h59.79l38.46 82.19C310.3 378.9 319 384 328 384c3.438 0 6.875-.7187 10.19-2.25c12-5.625 17.16-19.91 11.56-31.94l-34.87-74.5C337.1 261.1 352 236.3 352 208zM272 240h-64v-64h64c17.66 0 32 14.34 32 32S289.7 240 272 240z\"]\n};\nvar faAddressCard = {\n prefix: 'far',\n iconName: 'address-card',\n icon: [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M208 256c35.35 0 64-28.65 64-64c0-35.35-28.65-64-64-64s-64 28.65-64 64C144 227.3 172.7 256 208 256zM464 232h-96c-13.25 0-24 10.75-24 24s10.75 24 24 24h96c13.25 0 24-10.75 24-24S477.3 232 464 232zM240 288h-64C131.8 288 96 323.8 96 368C96 376.8 103.2 384 112 384h192c8.836 0 16-7.164 16-16C320 323.8 284.2 288 240 288zM464 152h-96c-13.25 0-24 10.75-24 24s10.75 24 24 24h96c13.25 0 24-10.75 24-24S477.3 152 464 152zM512 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h448c35.35 0 64-28.65 64-64V96C576 60.65 547.3 32 512 32zM528 416c0 8.822-7.178 16-16 16H64c-8.822 0-16-7.178-16-16V96c0-8.822 7.178-16 16-16h448c8.822 0 16 7.178 16 16V416z\"]\n};\nvar faContactCard = faAddressCard;\nvar faVcard = faAddressCard;\nvar faFaceTired = {\n prefix: 'far',\n iconName: 'face-tired',\n icon: [512, 512, [128555, \"tired\"], \"f5c8\", \"M176.5 320.3C196.1 302.1 223.8 288 256 288C288.2 288 315.9 302.1 335.5 320.3C354.5 338.1 368 362 368 384C368 389.4 365.3 394.4 360.8 397.4C356.2 400.3 350.5 400.8 345.6 398.7L328.4 391.1C305.6 381.2 280.9 376 256 376C231.1 376 206.4 381.2 183.6 391.1L166.4 398.7C161.5 400.8 155.8 400.3 151.2 397.4C146.7 394.4 144 389.4 144 384C144 362 157.5 338.1 176.5 320.3zM223.4 194.6C234.1 200.3 234.1 215.7 223.4 221.4L133.5 269.3C125.6 273.6 116 267.8 116 258.9C116 256.1 116.1 253.4 118.8 251.2L154.8 208L118.8 164.8C116.1 162.6 116 159.9 116 157.1C116 148.2 125.6 142.4 133.5 146.7L223.4 194.6zM393.2 164.8L357.2 208L393.2 251.2C395 253.4 396 256.1 396 258.9C396 267.8 386.4 273.6 378.5 269.3L288.6 221.4C277.9 215.7 277.9 200.3 288.6 194.6L378.5 146.7C386.4 142.4 396 148.2 396 157.1C396 159.9 395 162.6 393.2 164.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faTired = faFaceTired;\nvar faFontAwesome = {\n prefix: 'far',\n iconName: 'font-awesome',\n icon: [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M448 48V384c-63.09 22.54-82.34 32-119.5 32c-62.82 0-86.6-32-149.3-32c-21.69 0-38.48 3.791-53.74 8.766C110.1 397.5 96 386.1 96 371.7v-.7461c0-9.275 5.734-17.6 14.42-20.86C129.1 342.8 150.2 336 179.2 336c62.73 0 86.51 32 149.3 32c25.5 0 42.85-4.604 71.47-14.7v-240C379.2 120.6 357.7 128 328.5 128c-.0039 0 .0039 0 0 0c-62.81 0-86.61-32-149.3-32C122.1 96 98.8 122.1 48 126.1V456C48 469.3 37.25 480 24 480S0 469.3 0 456V56C0 42.74 10.75 32 24 32S48 42.74 48 56v22.99C98.8 74.14 122.1 48 179.2 48c62.77 0 86.45 32 149.3 32C366.1 80 386.8 69.85 448 48z\"]\n};\nvar faFontAwesomeFlag = faFontAwesome;\nvar faFontAwesomeLogoFull = faFontAwesome;\nvar faFaceSmileWink = {\n prefix: 'far',\n iconName: 'face-smile-wink',\n icon: [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M256 352C293.2 352 319.2 334.5 334.4 318.1C343.3 308.4 358.5 307.7 368.3 316.7C378 325.7 378.6 340.9 369.6 350.6C347.7 374.5 309.7 400 256 400C202.3 400 164.3 374.5 142.4 350.6C133.4 340.9 133.1 325.7 143.7 316.7C153.5 307.7 168.7 308.4 177.6 318.1C192.8 334.5 218.8 352 256 352zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM281.9 230.6C273.9 223 273.5 210.4 281 202.3C295.6 186.8 316.3 180 335.6 180C354.1 180 375.7 186.8 390.2 202.3C397.8 210.4 397.4 223 389.3 230.6C381.2 238.1 368.6 237.7 361 229.7C355.6 223.8 346.3 220 335.6 220C324.1 220 315.7 223.8 310.2 229.7C302.7 237.7 290 238.1 281.9 230.6zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faSmileWink = faFaceSmileWink;\nvar faFileWord = {\n prefix: 'far',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM214.6 248C211.3 238.4 202.2 232 192 232s-19.25 6.406-22.62 16L144.7 318.1l-25.89-77.66C114.6 227.8 101 221.2 88.41 225.2C75.83 229.4 69.05 243 73.23 255.6l48 144C124.5 409.3 133.5 415.9 143.8 416c10.17 0 19.45-6.406 22.83-16L192 328.1L217.4 400C220.8 409.6 229.8 416 240 416c10.27-.0938 19.53-6.688 22.77-16.41l48-144c4.188-12.59-2.594-26.16-15.17-30.38c-12.61-4.125-26.2 2.594-30.36 15.19l-25.89 77.66L214.6 248z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'far',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM200 224H128C119.2 224 112 231.2 112 240v168c0 13.25 10.75 24 24 24S160 421.3 160 408v-32h44c44.21 0 79.73-37.95 75.69-82.98C276.1 253.2 240 224 200 224zM204 328H160V272h44c15.44 0 28 12.56 28 28S219.4 328 204 328z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'far',\n iconName: 'envelope-open',\n icon: [512, 512, [62135], \"f2b6\", \"M493.6 163c-24.88-19.62-45.5-35.37-164.3-121.6C312.7 29.21 279.7 0 256.4 0H255.6C232.3 0 199.3 29.21 182.6 41.38C63.88 127.6 43.25 143.4 18.38 163C6.75 172 0 186 0 200.8v247.2C0 483.3 28.65 512 64 512h384c35.35 0 64-28.67 64-64.01V200.8C512 186 505.3 172 493.6 163zM464 448c0 8.822-7.178 16-16 16H64c-8.822 0-16-7.178-16-16V276.7l136.1 113.4C204.3 406.8 229.8 416 256 416s51.75-9.211 71.97-26.01L464 276.7V448zM464 214.2l-166.8 138.1c-23.19 19.28-59.34 19.27-82.47 .0156L48 214.2l.1055-13.48c23.24-18.33 42.25-32.97 162.9-120.6c3.082-2.254 6.674-5.027 10.63-8.094C229.4 65.99 246.7 52.59 256 48.62c9.312 3.973 26.62 17.37 34.41 23.41c3.959 3.066 7.553 5.84 10.76 8.186C421.6 167.7 440.7 182.4 464 200.8V214.2z\"]\n};\nvar faFileZipper = {\n prefix: 'far',\n iconName: 'file-zipper',\n icon: [384, 512, [\"file-archive\"], \"f1c6\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0L64-.0001c-35.35 0-64 28.65-64 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h48V64h64V48.13h48.01L224 128c0 17.67 14.33 32 32 32h79.1V448zM176 96h-64v32h64V96zM176 160h-64v32h64V160zM176 224h-64l-30.56 116.5C73.51 379.5 103.7 416 144.3 416c40.26 0 70.45-36.3 62.68-75.15L176 224zM160 368H128c-8.836 0-16-7.164-16-16s7.164-16 16-16h32c8.836 0 16 7.164 16 16S168.8 368 160 368z\"]\n};\nvar faFileArchive = faFileZipper;\nvar faSquare = {\n prefix: 'far',\n iconName: 'square',\n icon: [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M384 32C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96C0 60.65 28.65 32 64 32H384zM384 80H64C55.16 80 48 87.16 48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80z\"]\n};\nvar faSnowflake = {\n prefix: 'far',\n iconName: 'snowflake',\n icon: [512, 512, [10052, 10054], \"f2dc\", \"M484.4 294.4c1.715 6.402 .6758 12.89-2.395 18.21s-8.172 9.463-14.57 11.18l-31.46 8.43l32.96 19.03C480.4 357.8 484.4 372.5 477.8 384s-21.38 15.41-32.86 8.783l-32.96-19.03l8.43 31.46c3.432 12.81-4.162 25.96-16.97 29.39s-25.96-4.162-29.39-16.97l-20.85-77.82L280 297.6v84.49l56.97 56.97c9.375 9.375 9.375 24.56 0 33.94C332.3 477.7 326.1 480 320 480s-12.28-2.344-16.97-7.031L280 449.9V488c0 13.25-10.75 24-24 24s-24-10.75-24-24v-38.06l-23.03 23.03c-9.375 9.375-24.56 9.375-33.94 0s-9.375-24.56 0-33.94L232 382.1V297.6l-73.17 42.25l-20.85 77.82c-3.432 12.81-16.58 20.4-29.39 16.97s-20.4-16.58-16.97-29.39l8.43-31.46l-32.96 19.03C55.61 399.4 40.85 395.5 34.22 384s-2.615-26.16 8.859-32.79l32.96-19.03l-31.46-8.43c-12.81-3.432-20.4-16.58-16.97-29.39s16.58-20.4 29.39-16.97l77.82 20.85L208 255.1L134.8 213.8L57.01 234.6C44.2 238 31.05 230.4 27.62 217.6s4.162-25.96 16.97-29.39l31.46-8.432L43.08 160.8C31.61 154.2 27.6 139.5 34.22 128s21.38-15.41 32.86-8.785l32.96 19.03L91.62 106.8C88.18 93.98 95.78 80.83 108.6 77.39s25.96 4.162 29.39 16.97l20.85 77.82L232 214.4V129.9L175 72.97c-9.375-9.375-9.375-24.56 0-33.94s24.56-9.375 33.94 0L232 62.06V24C232 10.75 242.8 0 256 0s24 10.75 24 24v38.06l23.03-23.03c9.375-9.375 24.56-9.375 33.94 0s9.375 24.56 0 33.94L280 129.9v84.49l73.17-42.25l20.85-77.82c3.432-12.81 16.58-20.4 29.39-16.97c6.402 1.715 11.5 5.861 14.57 11.18s4.109 11.81 2.395 18.21l-8.43 31.46l32.96-19.03C456.4 112.6 471.2 116.5 477.8 128s2.615 26.16-8.859 32.78l-32.96 19.03l31.46 8.432c12.81 3.432 20.4 16.58 16.97 29.39s-16.58 20.4-29.39 16.97l-77.82-20.85L304 255.1l73.17 42.25l77.82-20.85C467.8 273.1 480.1 281.6 484.4 294.4z\"]\n};\nvar faNewspaper = {\n prefix: 'far',\n iconName: 'newspaper',\n icon: [512, 512, [128240], \"f1ea\", \"M456 32h-304C121.1 32 96 57.13 96 88v320c0 13.22-10.77 24-24 24S48 421.2 48 408V112c0-13.25-10.75-24-24-24S0 98.75 0 112v296C0 447.7 32.3 480 72 480h352c48.53 0 88-39.47 88-88v-304C512 57.13 486.9 32 456 32zM464 392c0 22.06-17.94 40-40 40H139.9C142.5 424.5 144 416.4 144 408v-320c0-4.406 3.594-8 8-8h304c4.406 0 8 3.594 8 8V392zM264 272h-64C186.8 272 176 282.8 176 296S186.8 320 200 320h64C277.3 320 288 309.3 288 296S277.3 272 264 272zM408 272h-64C330.8 272 320 282.8 320 296S330.8 320 344 320h64c13.25 0 24-10.75 24-24S421.3 272 408 272zM264 352h-64c-13.25 0-24 10.75-24 24s10.75 24 24 24h64c13.25 0 24-10.75 24-24S277.3 352 264 352zM408 352h-64C330.8 352 320 362.8 320 376s10.75 24 24 24h64c13.25 0 24-10.75 24-24S421.3 352 408 352zM400 112h-192c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64C432 126.3 417.7 112 400 112z\"]\n};\nvar faFaceKissWinkHeart = {\n prefix: 'far',\n iconName: 'face-kiss-wink-heart',\n icon: [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M345.3 472.1C347.3 479.7 350.9 486.4 355.7 491.8C325.1 504.8 291.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 285.3 507.1 313.4 498 339.7C486.9 334.1 474.5 333.1 461.8 334.6C459.7 329.4 457 324.6 453.9 320.1C460.5 299.9 464 278.4 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C285.4 464 313.5 457.9 338.9 446.8L345.3 472.1zM288.7 334.3C284.4 339.5 278.5 344 271.9 347.7C269.2 349.3 266.3 350.7 263.2 352C266.3 353.3 269.2 354.7 271.9 356.3C278.5 359.1 284.4 364.5 288.7 369.7C292.9 374.8 296 381.1 296 388C296 394.9 292.9 401.2 288.7 406.3C284.4 411.5 278.5 416 271.9 419.7C258.7 427.1 241.4 432 224 432C220.4 432 217.2 429.5 216.3 426C215.3 422.5 216.9 418.8 220.1 417L220.1 417L220.3 416.9C220.5 416.8 220.8 416.6 221.2 416.3C222 415.9 223.2 415.1 224.6 414.2C227.4 412.4 231.2 409.7 234.8 406.6C238.6 403.5 242 400 244.5 396.6C246.1 393 248 390.2 248 388C248 385.8 246.1 382.1 244.5 379.4C242 375.1 238.6 372.5 234.8 369.4C231.2 366.3 227.4 363.6 224.6 361.8C223.2 360.9 222 360.1 221.2 359.7C220.8 359.4 220.5 359.2 220.3 359.1L220.1 358.1L220.1 358.1C217.6 357.6 216 354.9 216 352C216 349.1 217.6 346.4 220.1 345L220.1 345L220.3 344.9C220.5 344.8 220.8 344.6 221.2 344.3C222 343.9 223.2 343.1 224.6 342.2C227.4 340.4 231.2 337.7 234.8 334.6C238.6 331.5 242 328.1 244.5 324.6C246.1 321 248 318.2 248 316C248 313.8 246.1 310.1 244.5 307.4C242 303.1 238.6 300.5 234.8 297.4C231.2 294.3 227.4 291.6 224.6 289.8C223.2 288.9 222 288.1 221.2 287.7C220.8 287.4 220.5 287.2 220.3 287.1L220.1 286.1L220.1 286.1C216.9 285.2 215.3 281.5 216.3 277.1C217.2 274.5 220.4 272 224 272C241.4 272 258.7 276.9 271.9 284.3C278.5 287.1 284.4 292.5 288.7 297.7C292.9 302.8 296 309.1 296 316C296 322.9 292.9 329.2 288.7 334.3V334.3zM144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208zM335.6 220C324.1 220 315.7 223.8 310.2 229.7C302.7 237.7 290 238.1 281.9 230.6C273.9 223 273.5 210.4 281 202.3C295.6 186.8 316.3 180 335.6 180C354.1 180 375.7 186.8 390.2 202.3C397.8 210.4 397.4 223 389.3 230.6C381.2 238.1 368.6 237.7 361 229.7C355.6 223.8 346.3 220 335.6 220zM439.4 373.3L459.5 367.6C481.7 361.4 504.6 375.2 510.6 398.4C516.5 421.7 503.3 445.6 481.1 451.8L396.1 475.6C387.5 478 378.6 472.9 376.3 464.2L353.4 374.9C347.5 351.6 360.7 327.7 382.9 321.5C405.2 315.3 428 329.1 433.1 352.3L439.4 373.3z\"]\n};\nvar faKissWinkHeart = faFaceKissWinkHeart;\nvar faStarHalfStroke = {\n prefix: 'far',\n iconName: 'star-half-stroke',\n icon: [576, 512, [\"star-half-alt\"], \"f5c0\", \"M378.1 154.8L531.4 177.5C540.4 178.8 547.8 185.1 550.7 193.7C553.5 202.4 551.2 211.9 544.8 218.2L433.6 328.4L459.9 483.9C461.4 492.9 457.7 502.1 450.2 507.4C442.8 512.7 432.1 513.4 424.9 509.1L287.9 435.9L150.1 509.1C142.9 513.4 133.1 512.7 125.6 507.4C118.2 502.1 114.5 492.9 115.1 483.9L142.2 328.4L31.11 218.2C24.65 211.9 22.36 202.4 25.2 193.7C28.03 185.1 35.5 178.8 44.49 177.5L197.7 154.8L266.3 13.52C270.4 5.249 278.7 0 287.9 0C297.1 0 305.5 5.25 309.5 13.52L378.1 154.8zM287.1 384.7C291.9 384.7 295.7 385.6 299.2 387.5L404.4 443.7L384.2 324.1C382.9 316.4 385.5 308.5 391 303L476.9 217.9L358.6 200.5C350.7 199.3 343.9 194.3 340.5 187.2L287.1 79.09L287.1 384.7z\"]\n};\nvar faStarHalfAlt = faStarHalfStroke;\nvar faFileExcel = {\n prefix: 'far',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM229.1 233.3L192 280.9L154.9 233.3C146.8 222.8 131.8 220.9 121.3 229.1C110.8 237.2 108.9 252.3 117.1 262.8L161.6 320l-44.53 57.25c-8.156 10.47-6.25 25.56 4.188 33.69C125.7 414.3 130.8 416 135.1 416c7.156 0 14.25-3.188 18.97-9.25L192 359.1l37.06 47.65C233.8 412.8 240.9 416 248 416c5.125 0 10.31-1.656 14.72-5.062c10.44-8.125 12.34-23.22 4.188-33.69L222.4 320l44.53-57.25c8.156-10.47 6.25-25.56-4.188-33.69C252.2 220.9 237.2 222.8 229.1 233.3z\"]\n};\nvar faFaceGrinBeam = {\n prefix: 'far',\n iconName: 'face-grin-beam',\n icon: [512, 512, [128516, \"grin-beam\"], \"f582\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM217.6 228.8L217.6 228.8L217.4 228.5C217.2 228.3 217 228 216.7 227.6C216 226.8 215.1 225.7 213.9 224.3C211.4 221.4 207.9 217.7 203.7 213.1C194.9 206.2 184.8 200 176 200C167.2 200 157.1 206.2 148.3 213.1C144.1 217.7 140.6 221.4 138.1 224.3C136.9 225.7 135.1 226.8 135.3 227.6C134.1 228 134.8 228.3 134.6 228.5L134.4 228.8L134.4 228.8C132.3 231.6 128.7 232.7 125.5 231.6C122.2 230.5 120 227.4 120 224C120 206.1 126.7 188.4 136.6 175.2C146.4 162.2 160.5 152 176 152C191.5 152 205.6 162.2 215.4 175.2C225.3 188.4 232 206.1 232 224C232 227.4 229.8 230.5 226.5 231.6C223.3 232.7 219.7 231.6 217.6 228.8V228.8zM377.6 228.8L377.4 228.5C377.2 228.3 377 228 376.7 227.6C376 226.8 375.1 225.7 373.9 224.3C371.4 221.4 367.9 217.7 363.7 213.1C354.9 206.2 344.8 200 336 200C327.2 200 317.1 206.2 308.3 213.1C304.1 217.7 300.6 221.4 298.1 224.3C296.9 225.7 295.1 226.8 295.3 227.6C294.1 228 294.8 228.3 294.6 228.5L294.4 228.8L294.4 228.8C292.3 231.6 288.7 232.7 285.5 231.6C282.2 230.5 280 227.4 280 224C280 206.1 286.7 188.4 296.6 175.2C306.4 162.2 320.5 152 336 152C351.5 152 365.6 162.2 375.4 175.2C385.3 188.4 392 206.1 392 224C392 227.4 389.8 230.5 386.5 231.6C383.3 232.7 379.7 231.6 377.6 228.8L377.6 228.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faGrinBeam = faFaceGrinBeam;\nvar faObjectUngroup = {\n prefix: 'far',\n iconName: 'object-ungroup',\n icon: [640, 512, [], \"f248\", \"M64 0C90.86 0 113.9 16.55 123.3 40H324.7C334.1 16.55 357.1 0 384 0C419.3 0 448 28.65 448 64C448 90.86 431.5 113.9 408 123.3V228.7C431.5 238.1 448 261.1 448 288C448 323.3 419.3 352 384 352C357.1 352 334.1 335.5 324.7 312H123.3C113.9 335.5 90.86 352 64 352C28.65 352 0 323.3 0 288C0 261.1 16.55 238.1 40 228.7V123.3C16.55 113.9 0 90.86 0 64C0 28.65 28.65 0 64 0V0zM64 80C72.84 80 80 72.84 80 64C80 56.1 74.28 49.54 66.75 48.24C65.86 48.08 64.94 48 64 48C55.16 48 48 55.16 48 64C48 64.07 48 64.14 48 64.21C48.01 65.07 48.09 65.92 48.24 66.75C49.54 74.28 56.1 80 64 80zM384 48C383.1 48 382.1 48.08 381.2 48.24C373.7 49.54 368 56.1 368 64C368 72.84 375.2 80 384 80C391.9 80 398.5 74.28 399.8 66.75C399.9 65.86 400 64.94 400 64C400 55.16 392.8 48 384 48V48zM324.7 88H123.3C116.9 104 104 116.9 88 123.3V228.7C104 235.1 116.9 247.1 123.3 264H324.7C331.1 247.1 343.1 235.1 360 228.7V123.3C343.1 116.9 331.1 104 324.7 88zM400 288C400 287.1 399.9 286.1 399.8 285.2C398.5 277.7 391.9 272 384 272C375.2 272 368 279.2 368 288C368 295.9 373.7 302.5 381.2 303.8C382.1 303.9 383.1 304 384 304C392.8 304 400 296.8 400 288zM64 272C56.1 272 49.54 277.7 48.24 285.2C48.08 286.1 48 287.1 48 288C48 296.8 55.16 304 64 304L64.22 303.1C65.08 303.1 65.93 303.9 66.75 303.8C74.28 302.5 80 295.9 80 288C80 279.2 72.84 272 64 272zM471.3 248C465.8 235.9 457.8 225.2 448 216.4V200H516.7C526.1 176.5 549.1 160 576 160C611.3 160 640 188.7 640 224C640 250.9 623.5 273.9 600 283.3V388.7C623.5 398.1 640 421.1 640 448C640 483.3 611.3 512 576 512C549.1 512 526.1 495.5 516.7 472H315.3C305.9 495.5 282.9 512 256 512C220.7 512 192 483.3 192 448C192 421.1 208.5 398.1 232 388.7V352H280V388.7C296 395.1 308.9 407.1 315.3 424H516.7C523.1 407.1 535.1 395.1 552 388.7V283.3C535.1 276.9 523.1 264 516.7 248H471.3zM592 224C592 215.2 584.8 208 576 208C575.1 208 574.1 208.1 573.2 208.2C565.7 209.5 560 216.1 560 224C560 232.8 567.2 240 576 240C583.9 240 590.5 234.3 591.8 226.8C591.9 225.9 592 224.9 592 224zM240 448C240 456.8 247.2 464 256 464C256.9 464 257.9 463.9 258.8 463.8C266.3 462.5 272 455.9 272 448C272 439.2 264.8 432 256 432C248.1 432 241.5 437.7 240.2 445.2C240.1 446.1 240 447.1 240 448zM573.2 463.8C574.1 463.9 575.1 464 576 464C584.8 464 592 456.8 592 448C592 447.1 591.9 446.2 591.8 445.3L591.8 445.2C590.5 437.7 583.9 432 576 432C567.2 432 560 439.2 560 448C560 455.9 565.7 462.5 573.2 463.8V463.8z\"]\n};\nvar faCircleRight = {\n prefix: 'far',\n iconName: 'circle-right',\n icon: [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M280.2 150.2C273.1 143.8 262.1 142.2 254.3 146.1S239.1 158.5 239.1 167.1l.002 56L152 224C138.8 224 128 234.8 128 248v16C128 277.3 138.8 288 152 288L240 287.1v56c0 9.531 5.656 18.16 14.38 22c8.75 3.812 18.91 2.094 25.91-4.375l96-88.75C381.2 268.3 384 261.9 384 255.2c-.3125-7.781-2.875-13.25-7.844-17.75L280.2 150.2zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"]\n};\nvar faArrowAltCircleRight = faCircleRight;\nvar faFaceRollingEyes = {\n prefix: 'far',\n iconName: 'face-rolling-eyes',\n icon: [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M168 376C168 362.7 178.7 352 192 352H320C333.3 352 344 362.7 344 376C344 389.3 333.3 400 320 400H192C178.7 400 168 389.3 168 376zM80 224C80 179.8 115.8 144 160 144C204.2 144 240 179.8 240 224C240 268.2 204.2 304 160 304C115.8 304 80 268.2 80 224zM160 272C186.5 272 208 250.5 208 224C208 209.7 201.7 196.8 191.8 188C191.9 189.3 192 190.6 192 192C192 209.7 177.7 224 160 224C142.3 224 128 209.7 128 192C128 190.6 128.1 189.3 128.2 188C118.3 196.8 112 209.7 112 224C112 250.5 133.5 272 160 272V272zM272 224C272 179.8 307.8 144 352 144C396.2 144 432 179.8 432 224C432 268.2 396.2 304 352 304C307.8 304 272 268.2 272 224zM352 272C378.5 272 400 250.5 400 224C400 209.7 393.7 196.8 383.8 188C383.9 189.3 384 190.6 384 192C384 209.7 369.7 224 352 224C334.3 224 320 209.7 320 192C320 190.6 320.1 189.3 320.2 188C310.3 196.8 304 209.7 304 224C304 250.5 325.5 272 352 272zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464z\"]\n};\nvar faMehRollingEyes = faFaceRollingEyes;\nvar faObjectGroup = {\n prefix: 'far',\n iconName: 'object-group',\n icon: [576, 512, [], \"f247\", \"M128 160C128 142.3 142.3 128 160 128H288C305.7 128 320 142.3 320 160V256C320 273.7 305.7 288 288 288H160C142.3 288 128 273.7 128 256V160zM288 320C323.3 320 352 291.3 352 256V224H416C433.7 224 448 238.3 448 256V352C448 369.7 433.7 384 416 384H288C270.3 384 256 369.7 256 352V320H288zM48 115.8C38.18 106.1 32 94.22 32 80C32 53.49 53.49 32 80 32C94.22 32 106.1 38.18 115.8 48H460.2C469 38.18 481.8 32 496 32C522.5 32 544 53.49 544 80C544 94.22 537.8 106.1 528 115.8V396.2C537.8 405 544 417.8 544 432C544 458.5 522.5 480 496 480C481.8 480 469 473.8 460.2 464H115.8C106.1 473.8 94.22 480 80 480C53.49 480 32 458.5 32 432C32 417.8 38.18 405 48 396.2V115.8zM96 125.3V386.7C109.6 391.6 120.4 402.4 125.3 416H450.7C455.6 402.4 466.4 391.6 480 386.7V125.3C466.4 120.4 455.6 109.6 450.7 96H125.3C120.4 109.6 109.6 120.4 96 125.3z\"]\n};\nvar faHeart = {\n prefix: 'far',\n iconName: 'heart',\n icon: [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M244 84L255.1 96L267.1 84.02C300.6 51.37 347 36.51 392.6 44.1C461.5 55.58 512 115.2 512 185.1V190.9C512 232.4 494.8 272.1 464.4 300.4L283.7 469.1C276.2 476.1 266.3 480 256 480C245.7 480 235.8 476.1 228.3 469.1L47.59 300.4C17.23 272.1 0 232.4 0 190.9V185.1C0 115.2 50.52 55.58 119.4 44.1C164.1 36.51 211.4 51.37 244 84C243.1 84 244 84.01 244 84L244 84zM255.1 163.9L210.1 117.1C188.4 96.28 157.6 86.4 127.3 91.44C81.55 99.07 48 138.7 48 185.1V190.9C48 219.1 59.71 246.1 80.34 265.3L256 429.3L431.7 265.3C452.3 246.1 464 219.1 464 190.9V185.1C464 138.7 430.4 99.07 384.7 91.44C354.4 86.4 323.6 96.28 301.9 117.1L255.1 163.9z\"]\n};\nvar faFaceSurprise = {\n prefix: 'far',\n iconName: 'face-surprise',\n icon: [512, 512, [128558, \"surprise\"], \"f5c2\", \"M144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208zM368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208zM192 352C192 316.7 220.7 288 256 288C291.3 288 320 316.7 320 352C320 387.3 291.3 416 256 416C220.7 416 192 387.3 192 352zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faSurprise = faFaceSurprise;\nvar faCirclePause = {\n prefix: 'far',\n iconName: 'circle-pause',\n icon: [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M200 160C186.8 160 176 170.8 176 184v144C176 341.3 186.8 352 200 352S224 341.3 224 328v-144C224 170.8 213.3 160 200 160zM312 160C298.8 160 288 170.8 288 184v144c0 13.25 10.75 24 24 24s24-10.75 24-24v-144C336 170.8 325.3 160 312 160zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"]\n};\nvar faPauseCircle = faCirclePause;\nvar faCircle = {\n prefix: 'far',\n iconName: 'circle',\n icon: [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faCircleUp = {\n prefix: 'far',\n iconName: 'circle-up',\n icon: [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M272.9 135.7C268.3 130.8 261.9 128 255.2 128C247.5 128.3 241.1 130.9 237.5 135.8l-87.25 96C143.8 238.9 142.2 249 146.1 257.7C149.9 266.4 158.5 272 167.1 272h56L224 360c0 13.25 10.75 24 24 24h16c13.25 0 23.1-10.75 23.1-24L287.1 272h56c9.531 0 18.16-5.656 22-14.38c3.811-8.75 2.092-18.91-4.377-25.91L272.9 135.7zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"]\n};\nvar faArrowAltCircleUp = faCircleUp;\nvar faFileAudio = {\n prefix: 'far',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0L64-.0001c-35.35 0-64 28.65-64 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM171.5 259.5L136 296H92C85.38 296 80 301.4 80 308v56C80 370.7 85.38 376 92 376H136l35.5 36.5C179.1 420 192 414.8 192 404v-136C192 257.3 179.1 251.9 171.5 259.5zM235.1 260.7c-6.25 6.25-6.25 16.38 0 22.62C235.3 283.5 256 305.1 256 336c0 30.94-20.77 52.53-20.91 52.69c-6.25 6.25-6.25 16.38 0 22.62C238.2 414.4 242.3 416 246.4 416s8.188-1.562 11.31-4.688C258.1 410.1 288 380.5 288 336s-29.05-74.06-30.28-75.31C251.5 254.4 241.3 254.4 235.1 260.7z\"]\n};\nvar faFileImage = {\n prefix: 'far',\n iconName: 'file-image',\n icon: [384, 512, [128443], \"f1c5\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM215.3 292c-4.68 0-9.051 2.34-11.65 6.234L164 357.8l-11.68-17.53C149.7 336.3 145.3 334 140.7 334c-4.682 0-9.053 2.34-11.65 6.234l-46.67 70c-2.865 4.297-3.131 9.82-.6953 14.37C84.09 429.2 88.84 432 93.1 432h196c5.163 0 9.907-2.844 12.34-7.395c2.436-4.551 2.17-10.07-.6953-14.37l-74.67-112C224.4 294.3 220 292 215.3 292zM128 288c17.67 0 32-14.33 32-32S145.7 224 128 224S96 238.3 96 256S110.3 288 128 288z\"]\n};\nvar faCircleQuestion = {\n prefix: 'far',\n iconName: 'circle-question',\n icon: [512, 512, [62108, \"question-circle\"], \"f059\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM256 336c-18 0-32 14-32 32s13.1 32 32 32c17.1 0 32-14 32-32S273.1 336 256 336zM289.1 128h-51.1C199 128 168 159 168 198c0 13 11 24 24 24s24-11 24-24C216 186 225.1 176 237.1 176h51.1C301.1 176 312 186 312 198c0 8-4 14.1-11 18.1L244 251C236 256 232 264 232 272V288c0 13 11 24 24 24S280 301 280 288V286l45.1-28c21-13 34-36 34-60C360 159 329 128 289.1 128z\"]\n};\nvar faQuestionCircle = faCircleQuestion;\nvar faFaceMehBlank = {\n prefix: 'far',\n iconName: 'face-meh-blank',\n icon: [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faMehBlank = faFaceMehBlank;\nvar faEye = {\n prefix: 'far',\n iconName: 'eye',\n icon: [576, 512, [128065], \"f06e\", \"M160 256C160 185.3 217.3 128 288 128C358.7 128 416 185.3 416 256C416 326.7 358.7 384 288 384C217.3 384 160 326.7 160 256zM288 336C332.2 336 368 300.2 368 256C368 211.8 332.2 176 288 176C287.3 176 286.7 176 285.1 176C287.3 181.1 288 186.5 288 192C288 227.3 259.3 256 224 256C218.5 256 213.1 255.3 208 253.1C208 254.7 208 255.3 208 255.1C208 300.2 243.8 336 288 336L288 336zM95.42 112.6C142.5 68.84 207.2 32 288 32C368.8 32 433.5 68.84 480.6 112.6C527.4 156 558.7 207.1 573.5 243.7C576.8 251.6 576.8 260.4 573.5 268.3C558.7 304 527.4 355.1 480.6 399.4C433.5 443.2 368.8 480 288 480C207.2 480 142.5 443.2 95.42 399.4C48.62 355.1 17.34 304 2.461 268.3C-.8205 260.4-.8205 251.6 2.461 243.7C17.34 207.1 48.62 156 95.42 112.6V112.6zM288 80C222.8 80 169.2 109.6 128.1 147.7C89.6 183.5 63.02 225.1 49.44 256C63.02 286 89.6 328.5 128.1 364.3C169.2 402.4 222.8 432 288 432C353.2 432 406.8 402.4 447.9 364.3C486.4 328.5 512.1 286 526.6 256C512.1 225.1 486.4 183.5 447.9 147.7C406.8 109.6 353.2 80 288 80V80z\"]\n};\nvar faFaceSadCry = {\n prefix: 'far',\n iconName: 'face-sad-cry',\n icon: [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M159.6 220C148.1 220 139.7 223.8 134.2 229.7C126.7 237.7 114 238.1 105.1 230.6C97.89 223 97.48 210.4 105 202.3C119.6 186.8 140.3 180 159.6 180C178.1 180 199.7 186.8 214.2 202.3C221.8 210.4 221.4 223 213.3 230.6C205.2 238.1 192.6 237.7 185 229.7C179.6 223.8 170.3 220 159.6 220zM297.9 230.6C289.9 223 289.5 210.4 297 202.3C311.6 186.8 332.3 180 351.6 180C370.1 180 391.7 186.8 406.2 202.3C413.8 210.4 413.4 223 405.3 230.6C397.2 238.1 384.6 237.7 377 229.7C371.6 223.8 362.3 220 351.6 220C340.1 220 331.7 223.8 326.2 229.7C318.7 237.7 306 238.1 297.9 230.6zM208 320C208 293.5 229.5 272 256 272C282.5 272 304 293.5 304 320V352C304 378.5 282.5 400 256 400C229.5 400 208 378.5 208 352V320zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM400 406.1C439.4 368.2 464 314.1 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 314.1 72.55 368.2 112 406.1V288C112 274.7 122.7 264 136 264C149.3 264 160 274.7 160 288V440.6C188.7 455.5 221.4 464 256 464C290.6 464 323.3 455.5 352 440.6V288C352 274.7 362.7 264 376 264C389.3 264 400 274.7 400 288V406.1z\"]\n};\nvar faSadCry = faFaceSadCry;\nvar faFileCode = {\n prefix: 'far',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M162.1 257.8c-7.812-7.812-20.47-7.812-28.28 0l-48 48c-7.812 7.812-7.812 20.5 0 28.31l48 48C137.8 386.1 142.9 388 148 388s10.23-1.938 14.14-5.844c7.812-7.812 7.812-20.5 0-28.31L128.3 320l33.86-33.84C169.1 278.3 169.1 265.7 162.1 257.8zM365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM221.9 257.8c-7.812 7.812-7.812 20.5 0 28.31L255.7 320l-33.86 33.84c-7.812 7.812-7.812 20.5 0 28.31C225.8 386.1 230.9 388 236 388s10.23-1.938 14.14-5.844l48-48c7.812-7.812 7.812-20.5 0-28.31l-48-48C242.3 250 229.7 250 221.9 257.8z\"]\n};\nvar faWindowMaximize = {\n prefix: 'far',\n iconName: 'window-maximize',\n icon: [512, 512, [128470], \"f2d0\", \"M7.724 65.49C13.36 55.11 21.79 46.47 32 40.56C39.63 36.15 48.25 33.26 57.46 32.33C59.61 32.11 61.79 32 64 32H448C483.3 32 512 60.65 512 96V416C512 451.3 483.3 480 448 480H64C28.65 480 0 451.3 0 416V96C0 93.79 .112 91.61 .3306 89.46C1.204 80.85 3.784 72.75 7.724 65.49V65.49zM48 416C48 424.8 55.16 432 64 432H448C456.8 432 464 424.8 464 416V224H48V416z\"]\n};\nvar faFaceFrown = {\n prefix: 'far',\n iconName: 'face-frown',\n icon: [512, 512, [9785, \"frown\"], \"f119\", \"M143.9 398.6C131.4 394.1 124.9 380.3 129.4 367.9C146.9 319.4 198.9 288 256 288C313.1 288 365.1 319.4 382.6 367.9C387.1 380.3 380.6 394.1 368.1 398.6C355.7 403.1 341.9 396.6 337.4 384.1C328.2 358.5 297.2 336 256 336C214.8 336 183.8 358.5 174.6 384.1C170.1 396.6 156.3 403.1 143.9 398.6V398.6zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faFrown = faFaceFrown;\nvar faFloppyDisk = {\n prefix: 'far',\n iconName: 'floppy-disk',\n icon: [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M224 256c-35.2 0-64 28.8-64 64c0 35.2 28.8 64 64 64c35.2 0 64-28.8 64-64C288 284.8 259.2 256 224 256zM433.1 129.1l-83.9-83.9C341.1 37.06 328.8 32 316.1 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V163.9C448 151.2 442.9 138.9 433.1 129.1zM128 80h144V160H128V80zM400 416c0 8.836-7.164 16-16 16H64c-8.836 0-16-7.164-16-16V96c0-8.838 7.164-16 16-16h16v104c0 13.25 10.75 24 24 24h192C309.3 208 320 197.3 320 184V83.88l78.25 78.25C399.4 163.2 400 164.8 400 166.3V416z\"]\n};\nvar faSave = faFloppyDisk;\nvar faCommentDots = {\n prefix: 'far',\n iconName: 'comment-dots',\n icon: [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M144 208C126.3 208 112 222.2 112 239.1C112 257.7 126.3 272 144 272s31.1-14.25 31.1-32S161.8 208 144 208zM256 207.1c-17.75 0-31.1 14.25-31.1 32s14.25 31.1 31.1 31.1s31.1-14.25 31.1-31.1S273.8 207.1 256 207.1zM368 208c-17.75 0-31.1 14.25-31.1 32s14.25 32 31.1 32c17.75 0 31.99-14.25 31.99-32C400 222.2 385.8 208 368 208zM256 31.1c-141.4 0-255.1 93.12-255.1 208c0 47.62 19.91 91.25 52.91 126.3c-14.87 39.5-45.87 72.88-46.37 73.25c-6.624 7-8.373 17.25-4.624 26C5.818 474.2 14.38 480 24 480c61.49 0 109.1-25.75 139.1-46.25c28.87 9 60.16 14.25 92.9 14.25c141.4 0 255.1-93.13 255.1-207.1S397.4 31.1 256 31.1zM256 400c-26.75 0-53.12-4.125-78.36-12.12l-22.75-7.125L135.4 394.5c-14.25 10.12-33.87 21.38-57.49 29c7.374-12.12 14.37-25.75 19.87-40.25l10.62-28l-20.62-21.87C69.81 314.1 48.06 282.2 48.06 240c0-88.25 93.24-160 207.1-160s207.1 71.75 207.1 160S370.8 400 256 400z\"]\n};\nvar faCommenting = faCommentDots;\nvar faFaceGrinSquint = {\n prefix: 'far',\n iconName: 'face-grin-squint',\n icon: [512, 512, [128518, \"grin-squint\"], \"f585\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM223.4 194.6C234.1 200.3 234.1 215.7 223.4 221.4L133.5 269.3C125.6 273.6 116 267.8 116 258.9C116 256.1 116.1 253.4 118.8 251.2L154.8 208L118.8 164.8C116.1 162.6 116 159.9 116 157.1C116 148.2 125.6 142.4 133.5 146.7L223.4 194.6zM393.2 164.8L357.2 208L393.2 251.2C395 253.4 396 256.1 396 258.9C396 267.8 386.4 273.6 378.5 269.3L288.6 221.4C277.9 215.7 277.9 200.3 288.6 194.6L378.5 146.7C386.4 142.4 396 148.2 396 157.1C396 159.9 395 162.6 393.2 164.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faGrinSquint = faFaceGrinSquint;\nvar faHandPointer = {\n prefix: 'far',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M208 288C199.2 288 192 295.2 192 304v96C192 408.8 199.2 416 208 416s16-7.164 16-16v-96C224 295.2 216.8 288 208 288zM272 288C263.2 288 256 295.2 256 304v96c0 8.836 7.162 16 15.1 16S288 408.8 288 400l-.0013-96C287.1 295.2 280.8 288 272 288zM376.9 201.2c-13.74-17.12-34.8-27.45-56.92-27.45h-13.72c-3.713 0-7.412 .291-11.07 .8652C282.7 165.1 267.4 160 251.4 160h-11.44V72c0-39.7-32.31-72-72.01-72c-39.7 0-71.98 32.3-71.98 72v168.5C84.85 235.1 75.19 235.4 69.83 235.4c-44.35 0-69.83 37.23-69.83 69.85c0 14.99 4.821 29.51 13.99 41.69l78.14 104.2C120.7 489.3 166.2 512 213.7 512h109.7c6.309 0 12.83-.957 18.14-2.645c28.59-5.447 53.87-19.41 73.17-40.44C436.1 446.3 448 416.2 448 384.2V274.3C448 234.6 416.3 202.3 376.9 201.2zM400 384.2c0 19.62-7.219 38.06-20.44 52.06c-12.53 13.66-29.03 22.67-49.69 26.56C327.4 463.6 325.3 464 323.4 464H213.7c-32.56 0-63.65-15.55-83.18-41.59L52.36 318.2C49.52 314.4 48.02 309.8 48.02 305.2c0-16.32 14.5-21.75 21.72-21.75c4.454 0 12.01 1.55 17.34 8.703l28.12 37.5c3.093 4.105 7.865 6.419 12.8 6.419c11.94 0 16.01-10.7 16.01-16.01V72c0-13.23 10.78-24 23.1-24c13.22 0 24 10.77 24 24v130.7c0 6.938 5.451 16.01 16.03 16.01C219.5 218.7 220.1 208 237.7 208h13.72c21.5 0 18.56 19.21 34.7 19.21c8.063 0 9.805-5.487 20.15-5.487h13.72c26.96 0 17.37 27.43 40.77 27.43l14.07-.0037c13.88 0 25.16 11.28 25.16 25.14V384.2zM336 288C327.2 288 320 295.2 320 304v96c0 8.836 7.164 16 16 16s16-7.164 16-16v-96C352 295.2 344.8 288 336 288z\"]\n};\nvar faHandScissors = {\n prefix: 'far',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M270.1 480h97.92C447.4 480 512 417.1 512 339.7V231.8c0-23.45-6.106-46.73-17.66-67.33l-31.35-55.85C447.5 81.1 417.1 64 385.9 64h-46.97c-26.63 0-51.56 11.63-68.4 31.93l-15.46 18.71L127.3 68.44C119 65.46 110.5 64.05 102.1 64.05c-30.02 0-58.37 18.06-69.41 47.09C15.06 156.8 46.19 194 76.75 204.9l2.146 .7637L68.79 206.4C30.21 209 0 241.2 0 279.3c0 39.7 33.27 72.09 73.92 72.09c1.745 0 3.501-.0605 5.268-.1833l88.79-6.135v8.141c0 22.11 10.55 43.11 28.05 56.74C197.4 448.8 230.2 480 270.1 480zM269.1 432c-14.34 0-26-11.03-26-24.62c0 0 .0403-14.31 .0403-14.71c0-6.894-4.102-14.2-10.67-16.39c-10.39-3.5-17.38-12.78-17.38-23.06v-13.53c0-16.98 13.7-16.4 13.7-29.89c0-9.083-7.392-15.96-15.96-15.96c-.3646 0-.7311 .0125-1.099 .0377c0 0-138.1 9.505-138.7 9.505c-14.32 0-25.93-11.04-25.93-24.49c0-13.28 10.7-23.74 24.1-24.64l163.2-11.28c2.674-.1882 14.92-2.907 14.92-16.18c0-6.675-4.284-12.58-10.65-14.85L92.84 159.7C85.39 156.1 75.97 149.4 75.97 136.7c0-11.14 9.249-24.66 25.97-24.66c3.043 0 6.141 .5115 9.166 1.59l234.1 85.03c1.801 .6581 3.644 .9701 5.456 .9701c8.96 0 16-7.376 16-15.1c0-6.514-4.068-12.69-10.59-15.04l-64.81-23.47l15.34-18.56C315.2 117.3 326.6 112 338.9 112h46.97c14.77 0 28.28 7.719 35.27 20.16L452.5 188c7.531 13.41 11.52 28.56 11.52 43.81v107.9c0 50.91-43.06 92.31-96 92.31H269.1z\"]\n};\nvar faFaceGrinTears = {\n prefix: 'far',\n iconName: 'face-grin-tears',\n icon: [640, 512, [128514, \"grin-tears\"], \"f588\", \"M519.4 334.4C522.7 342.5 527.8 352.1 535.9 361.1C539.9 365 544.1 368.4 548.6 371.4C506.4 454.8 419.9 512 319.1 512C220.1 512 133.6 454.8 91.4 371.4C95.87 368.4 100.1 365 104.1 361.1C112.2 352.1 117.3 342.5 120.6 334.4C121.8 331.5 122.9 328.6 123.9 325.5C152.5 406.2 229.5 464 319.1 464C410.5 464 487.5 406.2 516.1 325.5C517.1 328.6 518.2 331.5 519.4 334.4V334.4zM319.1 47.1C218.6 47.1 134.2 120.5 115.7 216.5C109.1 213.4 101.4 212.2 93.4 213.3C86.59 214.3 77.18 215.7 66.84 217.7C85.31 94.5 191.6 0 319.1 0C448.4 0 554.7 94.5 573.2 217.7C562.8 215.7 553.4 214.3 546.6 213.3C538.6 212.2 530.9 213.4 524.2 216.5C505.8 120.5 421.4 48 319.1 48V47.1zM78.5 341.1C59.98 356.7 32.01 355.5 14.27 337.7C-4.442 319-4.825 288.9 13.55 270.6C22.19 261.9 43.69 255.4 64.05 250.1C77.02 248.2 89.53 246.2 97.94 245C103.3 244.2 107.8 248.7 106.1 254.1C103.9 275.6 95.58 324.3 81.43 338.4C80.49 339.4 79.51 340.3 78.5 341.1V341.1zM561.5 341.1C560.7 340.5 559.1 339.8 559.2 339.1C559 338.9 558.8 338.7 558.6 338.4C544.4 324.3 536.1 275.6 533 254.1C532.2 248.7 536.7 244.2 542.1 245C543.1 245.2 544.2 245.3 545.4 245.5C553.6 246.7 564.6 248.5 575.1 250.1C596.3 255.4 617.8 261.9 626.4 270.6C644.8 288.9 644.4 319 625.7 337.7C607.1 355.5 580 356.7 561.5 341.1L561.5 341.1zM319.9 399.1C269.6 399.1 225.5 374.6 200.9 336.5C190.5 320.4 207.7 303.1 226.3 308.4C255.3 315.1 286.8 318.8 319.9 318.8C353 318.8 384.6 315.1 413.5 308.4C432.2 303.1 449.4 320.4 438.1 336.5C414.4 374.6 370.3 399.1 319.9 399.1zM281.6 228.8L281.4 228.5C281.2 228.3 281 228 280.7 227.6C280 226.8 279.1 225.7 277.9 224.3C275.4 221.4 271.9 217.7 267.7 213.1C258.9 206.2 248.8 200 239.1 200C231.2 200 221.1 206.2 212.3 213.1C208.1 217.7 204.6 221.4 202.1 224.3C200.9 225.7 199.1 226.8 199.3 227.6C198.1 228 198.8 228.3 198.6 228.5L198.4 228.8L198.4 228.8C196.3 231.6 192.7 232.7 189.5 231.6C186.2 230.5 183.1 227.4 183.1 224C183.1 206.1 190.7 188.4 200.6 175.2C210.4 162.2 224.5 152 239.1 152C255.5 152 269.6 162.2 279.4 175.2C289.3 188.4 295.1 206.1 295.1 224C295.1 227.4 293.8 230.5 290.5 231.6C287.3 232.7 283.7 231.6 281.6 228.8L281.6 228.8zM441.6 228.8L441.6 228.8L441.4 228.5C441.2 228.3 441 228 440.7 227.6C440 226.8 439.1 225.7 437.9 224.3C435.4 221.4 431.9 217.7 427.7 213.1C418.9 206.2 408.8 200 400 200C391.2 200 381.1 206.2 372.3 213.1C368.1 217.7 364.6 221.4 362.1 224.3C360.9 225.7 359.1 226.8 359.3 227.6C358.1 228 358.8 228.3 358.6 228.5L358.4 228.8L358.4 228.8C356.3 231.6 352.7 232.7 349.5 231.6C346.2 230.5 344 227.4 344 223.1C344 206.1 350.7 188.4 360.6 175.2C370.4 162.2 384.5 151.1 400 151.1C415.5 151.1 429.6 162.2 439.4 175.2C449.3 188.4 456 206.1 456 223.1C456 227.4 453.8 230.5 450.5 231.6C447.3 232.7 443.7 231.6 441.6 228.8V228.8z\"]\n};\nvar faGrinTears = faFaceGrinTears;\nvar faCalendarXmark = {\n prefix: 'far',\n iconName: 'calendar-xmark',\n icon: [448, 512, [\"calendar-times\"], \"f273\", \"M257.9 328L304.1 375C314.3 384.4 314.3 399.6 304.1 408.1C295.6 418.3 280.4 418.3 271 408.1L224 361.9L176.1 408.1C167.6 418.3 152.4 418.3 143 408.1C133.7 399.6 133.7 384.4 143 375L190.1 328L143 280.1C133.7 271.6 133.7 256.4 143 247C152.4 237.7 167.6 237.7 176.1 247L224 294.1L271 247C280.4 237.7 295.6 237.7 304.1 247C314.3 256.4 314.3 271.6 304.1 280.1L257.9 328zM128 0C141.3 0 152 10.75 152 24V64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0zM400 192H48V448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192z\"]\n};\nvar faCalendarTimes = faCalendarXmark;\nvar faFileVideo = {\n prefix: 'far',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H64C28.65 0 0 28.65 0 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM240 288c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-16.52l43.84 30.2C292.3 403.5 304 397.6 304 387.4V284.6c0-10.16-11.64-16.16-20.16-10.32L240 304.5V288z\"]\n};\nvar faFilePdf = {\n prefix: 'far',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z\"]\n};\nvar faComment = {\n prefix: 'far',\n iconName: 'comment',\n icon: [512, 512, [128489, 61669], \"f075\", \"M256 32C114.6 32 .0272 125.1 .0272 240c0 47.63 19.91 91.25 52.91 126.2c-14.88 39.5-45.87 72.88-46.37 73.25c-6.625 7-8.375 17.25-4.625 26C5.818 474.2 14.38 480 24 480c61.5 0 109.1-25.75 139.1-46.25C191.1 442.8 223.3 448 256 448c141.4 0 255.1-93.13 255.1-208S397.4 32 256 32zM256.1 400c-26.75 0-53.12-4.125-78.38-12.12l-22.75-7.125l-19.5 13.75c-14.25 10.12-33.88 21.38-57.5 29c7.375-12.12 14.37-25.75 19.88-40.25l10.62-28l-20.62-21.87C69.82 314.1 48.07 282.2 48.07 240c0-88.25 93.25-160 208-160s208 71.75 208 160S370.8 400 256.1 400z\"]\n};\nvar faEnvelope = {\n prefix: 'far',\n iconName: 'envelope',\n icon: [512, 512, [128386, 9993, 61443], \"f0e0\", \"M0 128C0 92.65 28.65 64 64 64H448C483.3 64 512 92.65 512 128V384C512 419.3 483.3 448 448 448H64C28.65 448 0 419.3 0 384V128zM48 128V150.1L220.5 291.7C241.1 308.7 270.9 308.7 291.5 291.7L464 150.1V127.1C464 119.2 456.8 111.1 448 111.1H64C55.16 111.1 48 119.2 48 127.1L48 128zM48 212.2V384C48 392.8 55.16 400 64 400H448C456.8 400 464 392.8 464 384V212.2L322 328.8C283.6 360.3 228.4 360.3 189.1 328.8L48 212.2z\"]\n};\nvar faHourglass = {\n prefix: 'far',\n iconName: 'hourglass',\n icon: [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M360 0C373.3 0 384 10.75 384 24C384 37.25 373.3 48 360 48H352V66.98C352 107.3 335.1 145.1 307.5 174.5L225.9 256L307.5 337.5C335.1 366 352 404.7 352 445V464H360C373.3 464 384 474.7 384 488C384 501.3 373.3 512 360 512H24C10.75 512 0 501.3 0 488C0 474.7 10.75 464 24 464H32V445C32 404.7 48.01 366 76.52 337.5L158.1 256L76.52 174.5C48.01 145.1 32 107.3 32 66.98V48H24C10.75 48 0 37.25 0 24C0 10.75 10.75 0 24 0L360 0zM192 289.9L110.5 371.5C90.96 390.1 80 417.4 80 445V464H304V445C304 417.4 293 390.1 273.5 371.5L192 289.9zM192 222.1L273.5 140.5C293 121 304 94.56 304 66.98V47.1H80V66.98C80 94.56 90.96 121 110.5 140.5L192 222.1z\"]\n};\nvar faHourglassEmpty = faHourglass;\nvar faCalendarCheck = {\n prefix: 'far',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M216.1 408.1C207.6 418.3 192.4 418.3 183 408.1L119 344.1C109.7 335.6 109.7 320.4 119 311C128.4 301.7 143.6 301.7 152.1 311L200 358.1L295 263C304.4 253.7 319.6 253.7 328.1 263C338.3 272.4 338.3 287.6 328.1 296.1L216.1 408.1zM128 0C141.3 0 152 10.75 152 24V64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0zM400 192H48V448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192z\"]\n};\nvar faHardDrive = {\n prefix: 'far',\n iconName: 'hard-drive',\n icon: [512, 512, [128436, \"hdd\"], \"f0a0\", \"M304 344c-13.25 0-24 10.74-24 24c0 13.25 10.75 24 24 24c13.26 0 24-10.75 24-24C328 354.7 317.3 344 304 344zM448 32h-384c-35.35 0-64 28.65-64 64v320c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V96C512 60.65 483.3 32 448 32zM464 416c0 8.822-7.178 16-16 16H64c-8.822 0-16-7.178-16-16v-96c0-8.822 7.178-16 16-16h384C456.8 304 464 311.2 464 320V416zM464 258.3C458.9 256.9 453.6 256 448 256H64C58.44 256 53.14 256.9 48 258.3V96c0-8.822 7.178-16 16-16h384c8.822 0 16 7.178 16 16V258.3zM400 344c-13.25 0-24 10.74-24 24c0 13.25 10.75 24 24 24c13.26 0 24-10.75 24-24C424 354.7 413.3 344 400 344z\"]\n};\nvar faHdd = faHardDrive;\nvar faFaceGrinSquintTears = {\n prefix: 'far',\n iconName: 'face-grin-squint-tears',\n icon: [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M426.8 14.18C446-5.046 477.5-4.646 497.1 14.92C516.6 34.49 517 65.95 497.8 85.18C483 99.97 432.2 108.8 409.6 111.9C403.1 112.8 399.2 108 400.1 102.4C403.3 79.94 412 28.97 426.8 14.18H426.8zM74.98 74.98C158.2-8.253 284.5-22.19 382.2 33.17C380.6 37.96 379.3 42.81 378.1 47.52C375 59.67 372.6 72.08 370.8 82.52C290.1 28.93 180.1 37.74 108.9 108.9C37.75 180.1 28.94 290 82.49 370.8C72.01 372.6 59.6 374.1 47.46 378.1C42.76 379.3 37.93 380.6 33.15 382.1C-22.19 284.5-8.245 158.2 74.98 74.98V74.98zM478.8 129.9C534.2 227.5 520.2 353.8 437 437C353.8 520.3 227.5 534.2 129.8 478.8C131.3 474 132.7 469.2 133.9 464.5C136.1 452.3 139.4 439.9 141.2 429.5C221.9 483.1 331.9 474.3 403.1 403.1C474.3 331.9 483.1 221.1 429.5 141.2C439.1 139.4 452.4 137 464.5 133.9C469.2 132.7 474.1 131.4 478.8 129.9L478.8 129.9zM359.2 226.9C369.3 210.6 393 210 397 228.8C406.6 273.1 393.4 322.3 357.8 357.9C322.2 393.5 273 406.7 228.6 397.1C209.9 393.1 210.5 369.4 226.8 359.3C252 343.6 276.1 323.9 300.4 300.5C323.8 277.1 343.5 252.1 359.2 226.9L359.2 226.9zM189.5 235.7C201.1 232.1 211.1 242.1 208.5 254.6L178.8 352.1C176.2 360.7 165.4 363.4 159 357C157.1 355 155.8 352.5 155.6 349.7L150.5 293.6L94.43 288.5C91.66 288.3 89.07 287.1 87.1 285.1C80.76 278.7 83.46 267.9 92.05 265.3L189.5 235.7zM288.5 94.43L293.6 150.5L349.7 155.6C352.5 155.8 355 157.1 357 159C363.4 165.4 360.7 176.2 352.1 178.8L254.6 208.5C242.1 211.1 232.1 201.1 235.7 189.5L265.3 92.05C267.9 83.46 278.7 80.76 285.1 87.1C287.1 89.07 288.3 91.66 288.5 94.43V94.43zM14.18 426.8C28.97 412 79.85 403.2 102.4 400.1C108 399.2 112.8 403.1 111.9 409.6C108.7 432.1 99.97 483 85.18 497.8C65.95 517 34.5 516.6 14.93 497.1C-4.645 477.5-5.046 446 14.18 426.8H14.18z\"]\n};\nvar faGrinSquintTears = faFaceGrinSquintTears;\nvar faRectangleList = {\n prefix: 'far',\n iconName: 'rectangle-list',\n icon: [576, 512, [\"list-alt\"], \"f022\", \"M128 192C110.3 192 96 177.7 96 160C96 142.3 110.3 128 128 128C145.7 128 160 142.3 160 160C160 177.7 145.7 192 128 192zM200 160C200 146.7 210.7 136 224 136H448C461.3 136 472 146.7 472 160C472 173.3 461.3 184 448 184H224C210.7 184 200 173.3 200 160zM200 256C200 242.7 210.7 232 224 232H448C461.3 232 472 242.7 472 256C472 269.3 461.3 280 448 280H224C210.7 280 200 269.3 200 256zM200 352C200 338.7 210.7 328 224 328H448C461.3 328 472 338.7 472 352C472 365.3 461.3 376 448 376H224C210.7 376 200 365.3 200 352zM128 224C145.7 224 160 238.3 160 256C160 273.7 145.7 288 128 288C110.3 288 96 273.7 96 256C96 238.3 110.3 224 128 224zM128 384C110.3 384 96 369.7 96 352C96 334.3 110.3 320 128 320C145.7 320 160 334.3 160 352C160 369.7 145.7 384 128 384zM0 96C0 60.65 28.65 32 64 32H512C547.3 32 576 60.65 576 96V416C576 451.3 547.3 480 512 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H512C520.8 432 528 424.8 528 416V96C528 87.16 520.8 80 512 80H64C55.16 80 48 87.16 48 96z\"]\n};\nvar faListAlt = faRectangleList;\nvar faCalendarPlus = {\n prefix: 'far',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M224 232C237.3 232 248 242.7 248 256V304H296C309.3 304 320 314.7 320 328C320 341.3 309.3 352 296 352H248V400C248 413.3 237.3 424 224 424C210.7 424 200 413.3 200 400V352H152C138.7 352 128 341.3 128 328C128 314.7 138.7 304 152 304H200V256C200 242.7 210.7 232 224 232zM152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192H48V448z\"]\n};\nvar faCircleLeft = {\n prefix: 'far',\n iconName: 'circle-left',\n icon: [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M360 224L272 224v-56c0-9.531-5.656-18.16-14.38-22C248.9 142.2 238.7 143.9 231.7 150.4l-96 88.75C130.8 243.7 128 250.1 128 256.8c.3125 7.781 2.875 13.25 7.844 17.75l96 87.25c7.031 6.406 17.19 8.031 25.88 4.188s14.28-12.44 14.28-21.94l-.002-56L360 288C373.3 288 384 277.3 384 264v-16C384 234.8 373.3 224 360 224zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"]\n};\nvar faArrowAltCircleLeft = faCircleLeft;\nvar faMoneyBill1 = {\n prefix: 'far',\n iconName: 'money-bill-1',\n icon: [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M400 256C400 317.9 349.9 368 288 368C226.1 368 176 317.9 176 256C176 194.1 226.1 144 288 144C349.9 144 400 194.1 400 256zM272 224V288H264C255.2 288 248 295.2 248 304C248 312.8 255.2 320 264 320H312C320.8 320 328 312.8 328 304C328 295.2 320.8 288 312 288H304V208C304 199.2 296.8 192 288 192H272C263.2 192 256 199.2 256 208C256 216.8 263.2 224 272 224zM0 128C0 92.65 28.65 64 64 64H512C547.3 64 576 92.65 576 128V384C576 419.3 547.3 448 512 448H64C28.65 448 0 419.3 0 384V128zM48 176V336C83.35 336 112 364.7 112 400H464C464 364.7 492.7 336 528 336V176C492.7 176 464 147.3 464 112H112C112 147.3 83.35 176 48 176z\"]\n};\nvar faMoneyBillAlt = faMoneyBill1;\nvar faClock = {\n prefix: 'far',\n iconName: 'clock',\n icon: [512, 512, [128339, \"clock-four\"], \"f017\", \"M232 120C232 106.7 242.7 96 256 96C269.3 96 280 106.7 280 120V243.2L365.3 300C376.3 307.4 379.3 322.3 371.1 333.3C364.6 344.3 349.7 347.3 338.7 339.1L242.7 275.1C236 271.5 232 264 232 255.1L232 120zM256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0zM48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256z\"]\n};\nvar faClockFour = faClock;\nvar faKeyboard = {\n prefix: 'far',\n iconName: 'keyboard',\n icon: [576, 512, [9000], \"f11c\", \"M512 64H64C28.65 64 0 92.65 0 128v256c0 35.35 28.65 64 64 64h448c35.35 0 64-28.65 64-64V128C576 92.65 547.3 64 512 64zM528 384c0 8.822-7.178 16-16 16H64c-8.822 0-16-7.178-16-16V128c0-8.822 7.178-16 16-16h448c8.822 0 16 7.178 16 16V384zM140 152h-24c-6.656 0-12 5.344-12 12v24c0 6.656 5.344 12 12 12h24c6.656 0 12-5.344 12-12v-24C152 157.3 146.7 152 140 152zM196 200h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C184 194.7 189.3 200 196 200zM276 200h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C264 194.7 269.3 200 276 200zM356 200h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C344 194.7 349.3 200 356 200zM460 152h-24c-6.656 0-12 5.344-12 12v24c0 6.656 5.344 12 12 12h24c6.656 0 12-5.344 12-12v-24C472 157.3 466.7 152 460 152zM140 232h-24c-6.656 0-12 5.344-12 12v24c0 6.656 5.344 12 12 12h24c6.656 0 12-5.344 12-12v-24C152 237.3 146.7 232 140 232zM196 280h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C184 274.7 189.3 280 196 280zM276 280h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C264 274.7 269.3 280 276 280zM356 280h24c6.656 0 12-5.344 12-12v-24c0-6.656-5.344-12-12-12h-24c-6.656 0-12 5.344-12 12v24C344 274.7 349.3 280 356 280zM460 232h-24c-6.656 0-12 5.344-12 12v24c0 6.656 5.344 12 12 12h24c6.656 0 12-5.344 12-12v-24C472 237.3 466.7 232 460 232zM400 320h-224C167.1 320 160 327.1 160 336V352c0 8.875 7.125 16 16 16h224c8.875 0 16-7.125 16-16v-16C416 327.1 408.9 320 400 320z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'far',\n iconName: 'closed-captioning',\n icon: [576, 512, [], \"f20a\", \"M512 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h448c35.35 0 64-28.65 64-64V96C576 60.65 547.3 32 512 32zM528 416c0 8.822-7.178 16-16 16H64c-8.822 0-16-7.178-16-16V96c0-8.822 7.178-16 16-16h448c8.822 0 16 7.178 16 16V416zM236.5 222.1c9.375 9.375 24.56 9.375 33.94 0c9.375-9.375 9.375-24.56 0-33.94c-37.44-37.44-98.31-37.44-135.7 0C116.5 206.2 106.5 230.4 106.5 256s9.1 49.75 28.12 67.88c18.72 18.72 43.28 28.08 67.87 28.08s49.16-9.359 67.87-28.08c9.375-9.375 9.375-24.56 0-33.94c-9.375-9.375-24.56-9.375-33.94 0c-18.69 18.72-49.19 18.72-67.87 0C159.5 280.9 154.5 268.8 154.5 256s5-24.88 14.06-33.94C187.3 203.3 217.8 203.3 236.5 222.1zM428.5 222.1c9.375 9.375 24.56 9.375 33.94 0c9.375-9.375 9.375-24.56 0-33.94c-37.44-37.44-98.31-37.44-135.7 0C308.5 206.2 298.5 230.4 298.5 256s9.1 49.75 28.12 67.88c18.72 18.72 43.28 28.08 67.87 28.08s49.16-9.359 67.87-28.08c9.375-9.375 9.375-24.56 0-33.94c-9.375-9.375-24.56-9.375-33.94 0c-18.69 18.72-49.19 18.72-67.87 0C351.5 280.9 346.5 268.8 346.5 256s5-24.88 14.06-33.94C379.3 203.3 409.8 203.3 428.5 222.1z\"]\n};\nvar faImages = {\n prefix: 'far',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M512 32H160c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64H512c35.35 0 64-28.65 64-64V96C576 60.65 547.3 32 512 32zM528 320c0 8.822-7.178 16-16 16h-16l-109.3-160.9C383.7 170.7 378.7 168 373.3 168c-5.352 0-10.35 2.672-13.31 7.125l-62.74 94.11L274.9 238.6C271.9 234.4 267.1 232 262 232c-5.109 0-9.914 2.441-12.93 6.574L176 336H160c-8.822 0-16-7.178-16-16V96c0-8.822 7.178-16 16-16H512c8.822 0 16 7.178 16 16V320zM224 112c-17.67 0-32 14.33-32 32s14.33 32 32 32c17.68 0 32-14.33 32-32S241.7 112 224 112zM456 480H120C53.83 480 0 426.2 0 360v-240C0 106.8 10.75 96 24 96S48 106.8 48 120v240c0 39.7 32.3 72 72 72h336c13.25 0 24 10.75 24 24S469.3 480 456 480z\"]\n};\nvar faFaceGrin = {\n prefix: 'far',\n iconName: 'face-grin',\n icon: [512, 512, [128512, \"grin\"], \"f580\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faGrin = faFaceGrin;\nvar faFaceMeh = {\n prefix: 'far',\n iconName: 'face-meh',\n icon: [512, 512, [128528, \"meh\"], \"f11a\", \"M144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208zM368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208zM328 328C341.3 328 352 338.7 352 352C352 365.3 341.3 376 328 376H184C170.7 376 160 365.3 160 352C160 338.7 170.7 328 184 328H328zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464z\"]\n};\nvar faMeh = faFaceMeh;\nvar faIdCard = {\n prefix: 'far',\n iconName: 'id-card',\n icon: [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M368 344h96c13.25 0 24-10.75 24-24s-10.75-24-24-24h-96c-13.25 0-24 10.75-24 24S354.8 344 368 344zM208 320c35.35 0 64-28.65 64-64c0-35.35-28.65-64-64-64s-64 28.65-64 64C144 291.3 172.7 320 208 320zM512 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h448c35.35 0 64-28.65 64-64V96C576 60.65 547.3 32 512 32zM528 416c0 8.822-7.178 16-16 16h-192c0-44.18-35.82-80-80-80h-64C131.8 352 96 387.8 96 432H64c-8.822 0-16-7.178-16-16V160h480V416zM368 264h96c13.25 0 24-10.75 24-24s-10.75-24-24-24h-96c-13.25 0-24 10.75-24 24S354.8 264 368 264z\"]\n};\nvar faDriversLicense = faIdCard;\nvar faSun = {\n prefix: 'far',\n iconName: 'sun',\n icon: [512, 512, [9728], \"f185\", \"M505.2 324.8l-47.73-68.78l47.75-68.81c7.359-10.62 8.797-24.12 3.844-36.06c-4.969-11.94-15.52-20.44-28.22-22.72l-82.39-14.88l-14.89-82.41c-2.281-12.72-10.76-23.25-22.69-28.22c-11.97-4.936-25.42-3.498-36.12 3.844L256 54.49L187.2 6.709C176.5-.6016 163.1-2.039 151.1 2.896c-11.92 4.971-20.4 15.5-22.7 28.19l-14.89 82.44L31.15 128.4C18.42 130.7 7.854 139.2 2.9 151.2C-2.051 163.1-.5996 176.6 6.775 187.2l47.73 68.78l-47.75 68.81c-7.359 10.62-8.795 24.12-3.844 36.06c4.969 11.94 15.52 20.44 28.22 22.72l82.39 14.88l14.89 82.41c2.297 12.72 10.78 23.25 22.7 28.22c11.95 4.906 25.44 3.531 36.09-3.844L256 457.5l68.83 47.78C331.3 509.7 338.8 512 346.3 512c4.906 0 9.859-.9687 14.56-2.906c11.92-4.969 20.4-15.5 22.7-28.19l14.89-82.44l82.37-14.88c12.73-2.281 23.3-10.78 28.25-22.75C514.1 348.9 512.6 335.4 505.2 324.8zM456.8 339.2l-99.61 18l-18 99.63L256 399.1L172.8 456.8l-18-99.63l-99.61-18L112.9 255.1L55.23 172.8l99.61-18l18-99.63L256 112.9l83.15-57.75l18.02 99.66l99.61 18L399.1 255.1L456.8 339.2zM256 143.1c-61.85 0-111.1 50.14-111.1 111.1c0 61.85 50.15 111.1 111.1 111.1s111.1-50.14 111.1-111.1C367.1 194.1 317.8 143.1 256 143.1zM256 319.1c-35.28 0-63.99-28.71-63.99-63.99S220.7 192 256 192s63.99 28.71 63.99 63.1S291.3 319.1 256 319.1z\"]\n};\nvar faFaceLaughWink = {\n prefix: 'far',\n iconName: 'face-laugh-wink',\n icon: [512, 512, [\"laugh-wink\"], \"f59c\", \"M130.7 313.9C126.5 300.4 137.8 288 151.1 288H364.5C378.7 288 389.9 300.4 385.8 313.9C368.1 368.4 318.2 408 258.2 408C198.2 408 147.5 368.4 130.7 313.9V313.9zM208.4 192C208.4 209.7 194 224 176.4 224C158.7 224 144.4 209.7 144.4 192C144.4 174.3 158.7 160 176.4 160C194 160 208.4 174.3 208.4 192zM281.9 214.6C273.9 207 273.5 194.4 281 186.3C295.6 170.8 316.3 164 335.6 164C354.1 164 375.7 170.8 390.2 186.3C397.8 194.4 397.4 207 389.3 214.6C381.2 222.1 368.6 221.7 361 213.7C355.6 207.8 346.3 204 335.6 204C324.1 204 315.7 207.8 310.2 213.7C302.7 221.7 290 222.1 281.9 214.6zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faLaughWink = faFaceLaughWink;\nvar faCircleDown = {\n prefix: 'far',\n iconName: 'circle-down',\n icon: [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M344 240h-56L287.1 152c0-13.25-10.75-24-24-24h-16C234.7 128 223.1 138.8 223.1 152L224 240h-56c-9.531 0-18.16 5.656-22 14.38C142.2 263.1 143.9 273.3 150.4 280.3l88.75 96C243.7 381.2 250.1 384 256.8 384c7.781-.3125 13.25-2.875 17.75-7.844l87.25-96c6.406-7.031 8.031-17.19 4.188-25.88S353.5 240 344 240zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464z\"]\n};\nvar faArrowAltCircleDown = faCircleDown;\nvar faThumbsDown = {\n prefix: 'far',\n iconName: 'thumbs-down',\n icon: [512, 512, [128078, 61576], \"f165\", \"M128 288V64.03c0-17.67-14.33-31.1-32-31.1H32c-17.67 0-32 14.33-32 31.1v223.1c0 17.67 14.33 31.1 32 31.1h64C113.7 320 128 305.7 128 288zM481.5 229.1c1.234-5.092 1.875-10.32 1.875-15.64c0-22.7-11.44-43.13-29.28-55.28c.4219-3.015 .6406-6.076 .6406-9.122c0-22.32-11.06-42.6-28.83-54.83c-2.438-34.71-31.47-62.2-66.8-62.2h-52.53c-35.94 0-71.55 11.87-100.3 33.41L169.6 92.93c-6.285 4.71-9.596 11.85-9.596 19.13c0 12.76 10.29 24.04 24.03 24.04c5.013 0 10.07-1.565 14.38-4.811l36.66-27.51c20.48-15.34 45.88-23.81 71.5-23.81h52.53c10.45 0 18.97 8.497 18.97 18.95c0 3.5-1.11 4.94-1.11 9.456c0 26.97 29.77 17.91 29.77 40.64c0 9.254-6.392 10.96-6.392 22.25c0 13.97 10.85 21.95 19.58 23.59c8.953 1.671 15.45 9.481 15.45 18.56c0 13.04-11.39 13.37-11.39 28.91c0 12.54 9.702 23.08 22.36 23.94C456.2 266.1 464 275.2 464 284.1c0 10.43-8.516 18.93-18.97 18.93H307.4c-12.44 0-24 10.02-24 23.1c0 4.038 1.02 8.078 3.066 11.72C304.4 371.7 312 403.8 312 411.2c0 8.044-5.984 20.79-22.06 20.79c-12.53 0-14.27-.9059-24.94-28.07c-24.75-62.91-61.74-99.9-80.98-99.9c-13.8 0-24.02 11.27-24.02 23.99c0 7.041 3.083 14.02 9.016 18.76C238.1 402 211.4 480 289.9 480C333.8 480 360 445 360 411.2c0-12.7-5.328-35.21-14.83-59.33h99.86C481.1 351.9 512 321.9 512 284.1C512 261.8 499.9 241 481.5 229.1z\"]\n};\nvar faChessPawn = {\n prefix: 'far',\n iconName: 'chess-pawn',\n icon: [320, 512, [9823], \"f443\", \"M296 463.1H23.1c-13.25 0-23.1 10.75-23.1 24s10.75 24 23.1 24h272c13.25 0 23.1-10.75 23.1-23.1S309.3 463.1 296 463.1zM55.1 287.1L80 287.1v29.5c0 40.25-3.5 81.25-23.38 114.5h53.5C125.1 394.1 128 354.6 128 317.5v-29.5h64v29.5c0 37.13 2.875 77.5 17.88 114.5h53.5C243.5 398.7 240 357.7 240 317.5V287.1l24-.0001C277.3 287.1 288 277.3 288 263.1c0-13.25-10.75-24-23.1-24H241c23.75-21.88 38.1-53.12 38.1-87.1c0-9.393-1.106-19.05-3.451-28.86C272.3 105.4 244.9 32 159.1 32C93.75 32 40 85.75 40 151.1c0 34.88 15.12 66.12 39 88H55.1C42.75 239.1 32 250.7 32 263.1C32 277.3 42.75 287.1 55.1 287.1zM160 79.1c39.75 0 72 32.25 72 72S199.8 223.1 160 223.1S88 191.7 88 151.1S120.2 79.1 160 79.1z\"]\n};\nvar faCreditCard = {\n prefix: 'far',\n iconName: 'credit-card',\n icon: [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M168 336C181.3 336 192 346.7 192 360C192 373.3 181.3 384 168 384H120C106.7 384 96 373.3 96 360C96 346.7 106.7 336 120 336H168zM360 336C373.3 336 384 346.7 384 360C384 373.3 373.3 384 360 384H248C234.7 384 224 373.3 224 360C224 346.7 234.7 336 248 336H360zM512 32C547.3 32 576 60.65 576 96V416C576 451.3 547.3 480 512 480H64C28.65 480 0 451.3 0 416V96C0 60.65 28.65 32 64 32H512zM512 80H64C55.16 80 48 87.16 48 96V128H528V96C528 87.16 520.8 80 512 80zM528 224H48V416C48 424.8 55.16 432 64 432H512C520.8 432 528 424.8 528 416V224z\"]\n};\nvar faCreditCardAlt = faCreditCard;\nvar faBell = {\n prefix: 'far',\n iconName: 'bell',\n icon: [448, 512, [128276, 61602], \"f0f3\", \"M256 32V49.88C328.5 61.39 384 124.2 384 200V233.4C384 278.8 399.5 322.9 427.8 358.4L442.7 377C448.5 384.2 449.6 394.1 445.6 402.4C441.6 410.7 433.2 416 424 416H24C14.77 416 6.365 410.7 2.369 402.4C-1.628 394.1-.504 384.2 5.26 377L20.17 358.4C48.54 322.9 64 278.8 64 233.4V200C64 124.2 119.5 61.39 192 49.88V32C192 14.33 206.3 0 224 0C241.7 0 256 14.33 256 32V32zM216 96C158.6 96 112 142.6 112 200V233.4C112 281.3 98.12 328 72.31 368H375.7C349.9 328 336 281.3 336 233.4V200C336 142.6 289.4 96 232 96H216zM288 448C288 464.1 281.3 481.3 269.3 493.3C257.3 505.3 240.1 512 224 512C207 512 190.7 505.3 178.7 493.3C166.7 481.3 160 464.1 160 448H288z\"]\n};\nvar faFile = {\n prefix: 'far',\n iconName: 'file',\n icon: [384, 512, [128196, 128459, 61462], \"f15b\", \"M0 64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V64zM336 448V160H256C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V448C48 456.8 55.16 464 64 464H320C328.8 464 336 456.8 336 448z\"]\n};\nvar faHospital = {\n prefix: 'far',\n iconName: 'hospital',\n icon: [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M296 96C296 87.16 303.2 80 312 80H328C336.8 80 344 87.16 344 96V120H368C376.8 120 384 127.2 384 136V152C384 160.8 376.8 168 368 168H344V192C344 200.8 336.8 208 328 208H312C303.2 208 296 200.8 296 192V168H272C263.2 168 256 160.8 256 152V136C256 127.2 263.2 120 272 120H296V96zM408 0C447.8 0 480 32.24 480 72V80H568C607.8 80 640 112.2 640 152V440C640 479.8 607.8 512 568 512H71.98C32.19 512 0 479.8 0 440V152C0 112.2 32.24 80 72 80H160V72C160 32.24 192.2 0 232 0L408 0zM480 128V464H568C581.3 464 592 453.3 592 440V336H536C522.7 336 512 325.3 512 312C512 298.7 522.7 288 536 288H592V240H536C522.7 240 512 229.3 512 216C512 202.7 522.7 192 536 192H592V152C592 138.7 581.3 128 568 128H480zM48 152V192H104C117.3 192 128 202.7 128 216C128 229.3 117.3 240 104 240H48V288H104C117.3 288 128 298.7 128 312C128 325.3 117.3 336 104 336H48V440C48 453.3 58.74 464 71.98 464H160V128H72C58.75 128 48 138.7 48 152V152zM208 464H272V400C272 373.5 293.5 352 320 352C346.5 352 368 373.5 368 400V464H432V72C432 58.75 421.3 48 408 48H232C218.7 48 208 58.75 208 72V464z\"]\n};\nvar faHospitalAlt = faHospital;\nvar faHospitalWide = faHospital;\nvar faChessRook = {\n prefix: 'far',\n iconName: 'chess-rook',\n icon: [384, 512, [9820], \"f447\", \"M360 464H23.1C10.75 464 0 474.7 0 487.1S10.75 512 23.1 512H360C373.3 512 384 501.3 384 488S373.3 464 360 464zM345.1 32h-308C17 32 0 49 0 70v139.4C0 218.8 4 227.5 11 233.6L48 265.8c0 8.885 .0504 17.64 .0504 26.46c0 39.32-1.001 79.96-11.93 139.8h49C94.95 374.3 96.11 333.3 96.11 285.5C96.11 270.7 96 255.1 96 238.2L48 196.5V80h64V128H160V80h64V128h48V80h64v116.5L288 238.2c0 16.77-.1124 32.25-.1124 47.1c0 47.79 1.164 89.15 10.99 146.7h49c-10.92-59.83-11.93-100.6-11.93-139.9C335.9 283.3 336 274.6 336 265.8l37-32.13C380 227.5 384 218.8 384 209.4V70C384 49 367 32 345.1 32zM192 224C174.4 224 160 238.4 160 256v64h64V256C224 238.4 209.6 224 192 224z\"]\n};\nvar faStarHalf = {\n prefix: 'far',\n iconName: 'star-half',\n icon: [576, 512, [61731], \"f089\", \"M293.3 .6123C304.2 3.118 311.9 12.82 311.9 24V408.7C311.9 417.5 307.1 425.7 299.2 429.8L150.1 509.1C142.9 513.4 133.1 512.7 125.6 507.4C118.2 502.1 114.5 492.1 115.1 483.9L142.2 328.4L31.11 218.3C24.65 211.9 22.36 202.4 25.2 193.7C28.03 185.1 35.5 178.8 44.49 177.5L197.7 154.8L266.3 13.52C271.2 3.46 282.4-1.893 293.3 .6127L293.3 .6123zM263.9 128.4L235.4 187.2C231.9 194.3 225.1 199.3 217.3 200.5L98.98 217.9L184.9 303C190.4 308.5 192.9 316.4 191.6 324.1L171.4 443.7L263.9 394.3L263.9 128.4z\"]\n};\nvar faChessKing = {\n prefix: 'far',\n iconName: 'chess-king',\n icon: [448, 512, [9818], \"f43f\", \"M391.9 464H55.95c-13.25 0-23.1 10.75-23.1 23.1S42.7 512 55.95 512h335.1c13.25 0 23.1-10.75 23.1-23.1S405.2 464 391.9 464zM448 216c0-11.82-3.783-23.51-11.08-33.17c-10.3-14.39-27-22.88-44.73-22.88L247.9 160V104h31.1c13.2 0 24.06-10.8 24.06-24S293.1 56 279.9 56h-31.1V23.1C247.9 10.8 237.2 0 223.1 0S199.9 10.8 199.9 23.1V56H167.9c-13.2 0-23.97 10.8-23.97 24S154.7 104 167.9 104h31.1V160H55.95C24.72 160 0 185.3 0 215.9C0 221.6 .8893 227.4 2.704 233L68.45 432h50.5L48.33 218.4C48.09 217.6 47.98 216.9 47.98 216.1C47.98 212.3 50.93 208 55.95 208h335.9c6.076 0 8.115 5.494 8.115 8.113c0 .6341-.078 1.269-.2405 1.887L328.8 432h50.62l65.1-199.2C447.2 227.3 448 221.7 448 216z\"]\n};\nvar faCircleUser = {\n prefix: 'far',\n iconName: 'circle-user',\n icon: [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M256 112c-48.6 0-88 39.4-88 88C168 248.6 207.4 288 256 288s88-39.4 88-88C344 151.4 304.6 112 256 112zM256 240c-22.06 0-40-17.95-40-40C216 177.9 233.9 160 256 160s40 17.94 40 40C296 222.1 278.1 240 256 240zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-46.73 0-89.76-15.68-124.5-41.79C148.8 389 182.4 368 220.2 368h71.69c37.75 0 71.31 21.01 88.68 54.21C345.8 448.3 302.7 464 256 464zM416.2 388.5C389.2 346.3 343.2 320 291.8 320H220.2c-51.36 0-97.35 26.25-124.4 68.48C65.96 352.5 48 306.3 48 256c0-114.7 93.31-208 208-208s208 93.31 208 208C464 306.3 446 352.5 416.2 388.5z\"]\n};\nvar faUserCircle = faCircleUser;\nvar faCopy = {\n prefix: 'far',\n iconName: 'copy',\n icon: [512, 512, [], \"f0c5\", \"M502.6 70.63l-61.25-61.25C435.4 3.371 427.2 0 418.7 0H255.1c-35.35 0-64 28.66-64 64l.0195 256C192 355.4 220.7 384 256 384h192c35.2 0 64-28.8 64-64V93.25C512 84.77 508.6 76.63 502.6 70.63zM464 320c0 8.836-7.164 16-16 16H255.1c-8.838 0-16-7.164-16-16L239.1 64.13c0-8.836 7.164-16 16-16h128L384 96c0 17.67 14.33 32 32 32h47.1V320zM272 448c0 8.836-7.164 16-16 16H63.1c-8.838 0-16-7.164-16-16L47.98 192.1c0-8.836 7.164-16 16-16H160V128H63.99c-35.35 0-64 28.65-64 64l.0098 256C.002 483.3 28.66 512 64 512h192c35.2 0 64-28.8 64-64v-32h-47.1L272 448z\"]\n};\nvar faShareFromSquare = {\n prefix: 'far',\n iconName: 'share-from-square',\n icon: [576, 512, [61509, \"share-square\"], \"f14d\", \"M568.5 142.6l-144-135.1c-9.625-9.156-24.81-8.656-33.91 .9687c-9.125 9.625-8.688 24.81 .9687 33.91l100.1 94.56h-163.4C287.5 134.2 249.7 151 221 179.4C192 208.2 176 246.7 176 288v87.1c0 13.25 10.75 23.1 24 23.1S224 389.3 224 376V288c0-28.37 10.94-54.84 30.78-74.5C274.3 194.2 298.9 183 328 184h163.6l-100.1 94.56c-9.656 9.094-10.09 24.28-.9687 33.91c4.719 4.1 11.06 7.531 17.44 7.531c5.906 0 11.84-2.156 16.47-6.562l144-135.1C573.3 172.9 576 166.6 576 160S573.3 147.1 568.5 142.6zM360 384c-13.25 0-24 10.75-24 23.1v47.1c0 4.406-3.594 7.1-8 7.1h-272c-4.406 0-8-3.594-8-7.1V184c0-4.406 3.594-7.1 8-7.1H112c13.25 0 24-10.75 24-23.1s-10.75-23.1-24-23.1H56c-30.88 0-56 25.12-56 55.1v271.1C0 486.9 25.13 512 56 512h272c30.88 0 56-25.12 56-55.1v-47.1C384 394.8 373.3 384 360 384z\"]\n};\nvar faShareSquare = faShareFromSquare;\nvar faCopyright = {\n prefix: 'far',\n iconName: 'copyright',\n icon: [512, 512, [169], \"f1f9\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM255.1 176C255.1 176 255.1 176 255.1 176c21.06 0 40.92 8.312 55.83 23.38c9.375 9.344 24.53 9.5 33.97 .1562c9.406-9.344 9.469-24.53 .1562-33.97c-24-24.22-55.95-37.56-89.95-37.56c0 0 .0313 0 0 0c-33.97 0-65.95 13.34-89.95 37.56c-49.44 49.88-49.44 131 0 180.9c24 24.22 55.98 37.56 89.95 37.56c.0313 0 0 0 0 0c34 0 65.95-13.34 89.95-37.56c9.312-9.438 9.25-24.62-.1562-33.97c-9.438-9.312-24.59-9.219-33.97 .1562c-14.91 15.06-34.77 23.38-55.83 23.38c0 0 .0313 0 0 0c-21.09 0-40.95-8.312-55.89-23.38c-30.94-31.22-30.94-82.03 0-113.3C214.2 184.3 234 176 255.1 176z\"]\n};\nvar faMap = {\n prefix: 'far',\n iconName: 'map',\n icon: [576, 512, [128506, 62072], \"f279\", \"M565.6 36.24C572.1 40.72 576 48.11 576 56V392C576 401.1 569.8 410.9 560.5 414.4L392.5 478.4C387.4 480.4 381.7 480.5 376.4 478.8L192.5 417.5L32.54 478.4C25.17 481.2 16.88 480.2 10.38 475.8C3.882 471.3 0 463.9 0 456V120C0 110 6.15 101.1 15.46 97.57L183.5 33.57C188.6 31.6 194.3 31.48 199.6 33.23L383.5 94.52L543.5 33.57C550.8 30.76 559.1 31.76 565.6 36.24H565.6zM48 421.2L168 375.5V90.83L48 136.5V421.2zM360 137.3L216 89.3V374.7L360 422.7V137.3zM408 421.2L528 375.5V90.83L408 136.5V421.2z\"]\n};\nvar faBellSlash = {\n prefix: 'far',\n iconName: 'bell-slash',\n icon: [640, 512, [128277, 61943], \"f1f6\", \"M183.6 118.6C206.5 82.58 244.1 56.84 288 49.88V32C288 14.33 302.3 .0003 320 .0003C337.7 .0003 352 14.33 352 32V49.88C424.5 61.39 480 124.2 480 200V233.4C480 278.8 495.5 322.9 523.8 358.4L538.7 377C543.1 383.5 545.4 392.2 542.6 400L630.8 469.1C641.2 477.3 643.1 492.4 634.9 502.8C626.7 513.2 611.6 515.1 601.2 506.9L9.196 42.89C-1.236 34.71-3.065 19.63 5.112 9.196C13.29-1.236 28.37-3.065 38.81 5.112L183.6 118.6zM221.7 148.4L450.7 327.1C438.4 298.2 432 266.1 432 233.4V200C432 142.6 385.4 96 328 96H312C273.3 96 239.6 117.1 221.7 148.4V148.4zM160 233.4V222.1L206.7 258.9C202.7 297.7 189.5 335.2 168.3 368H345.2L406.2 416H120C110.8 416 102.4 410.7 98.37 402.4C94.37 394.1 95.5 384.2 101.3 377L116.2 358.4C144.5 322.9 160 278.8 160 233.4V233.4zM384 448C384 464.1 377.3 481.3 365.3 493.3C353.3 505.3 336.1 512 320 512C303 512 286.7 505.3 274.7 493.3C262.7 481.3 256 464.1 256 448H384z\"]\n};\nvar faHandLizard = {\n prefix: 'far',\n iconName: 'hand-lizard',\n icon: [512, 512, [], \"f258\", \"M512 331.8V424c0 13.25-10.75 24-24 24c-13.25 0-24-10.75-24-24v-92.17c0-10.09-3.031-19.8-8.766-28.08l-118.6-170.5C327.4 119.1 312.2 112 295.1 112H53.32c-2.5 0-5.25 2.453-5.313 4.172c-.2969 9.5 3.156 18.47 9.75 25.28C64.36 148.3 73.2 152 82.67 152h161.8c17.09 0 33.4 8.281 43.4 22.14c9.984 13.88 12.73 31.83 7.328 48.05l-9.781 29.34C278.2 273.3 257.8 288 234.9 288H138.7C129.2 288 120.4 291.8 113.8 298.5c-6.594 6.812-10.05 15.78-9.75 25.28C104.1 325.5 106.8 328 109.3 328h156.6c5.188 0 10.14 1.688 14.3 4.797l78.22 58.67c6.031 4.531 9.594 11.66 9.594 19.2L367.1 424c0 13.25-10.75 24-24 24s-24-10.75-24-24v-1.328L257.8 376H109.3c-28.48 0-52.39-22.72-53.28-50.64c-.7187-22.61 7.531-43.98 23.23-60.2C94.1 248.9 116.1 240 138.7 240h96.19c2.297 0 4.328-1.469 5.063-3.656l9.781-29.33c.7031-2.141-.0156-3.797-.7344-4.797C248.2 201.2 246.9 200 244.6 200H82.67c-22.58 0-43.67-8.938-59.39-25.16C7.575 158.6-.6755 137.3 .0433 114.6C.9339 86.72 24.84 64 53.32 64h242.7c31.94 0 61.86 15.67 80.05 41.92l118.6 170.5C506 292.8 512 311.9 512 331.8z\"]\n};\nvar faFaceSmile = {\n prefix: 'far',\n iconName: 'face-smile',\n icon: [512, 512, [128578, \"smile\"], \"f118\", \"M256 352C293.2 352 319.2 334.5 334.4 318.1C343.3 308.4 358.5 307.7 368.3 316.7C378 325.7 378.6 340.9 369.6 350.6C347.7 374.5 309.7 400 256 400C202.3 400 164.3 374.5 142.4 350.6C133.4 340.9 133.1 325.7 143.7 316.7C153.5 307.7 168.7 308.4 177.6 318.1C192.8 334.5 218.8 352 256 352zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faSmile = faFaceSmile;\nvar faHandPeace = {\n prefix: 'far',\n iconName: 'hand-peace',\n icon: [512, 512, [9996], \"f25b\", \"M412 160c-8.326 0-16.3 1.51-23.68 4.27C375.1 151.8 358.9 144 340 144c-11.64 0-22.44 3.223-32.03 8.418l11.12-68.95c.6228-3.874 .9243-7.725 .9243-11.53c0-36.08-28.91-71.95-72.09-71.95c-34.68 0-65.31 25.16-71.03 60.54L173.4 82.22L168.9 72.77c-12.4-25.75-38.07-40.78-64.89-40.78c-40.8 0-72.01 33.28-72.01 72.07c0 10.48 2.296 21.11 7.144 31.18L89.05 238.9C64.64 250.4 48 275.7 48 303.1v80c0 22.06 10.4 43.32 27.83 56.86l45.95 35.74c29.35 22.83 65.98 35.41 103.2 35.41l78.81 .0352C400.9 512 480 432.1 480 335.8v-107.5C480 189.6 447.9 160 412 160zM320 212.3C320 201.1 328.1 192 340 192c11.02 0 20 9.078 20 20.25v55.5C360 278.9 351 288 340 288C328.1 288 320 278.9 320 267.8V212.3zM247.9 47.98c12.05 0 24.13 9.511 24.13 23.98c0 1.277-.1022 2.57-.3134 3.871L248.4 220.5C240.7 217.6 232.4 215.1 223.9 215.1c0 0 .002 0 0 0c-4.475 0-8.967 .4199-13.38 1.254l-10.55 1.627l24.32-150.7C226.2 56.42 236.4 47.98 247.9 47.98zM79.1 104c0-13.27 10.79-24.04 24.02-24.04c8.937 0 17.5 5.023 21.61 13.61l61.29 127.3L137.3 228.5L82.38 114.4C80.76 111.1 79.1 107.5 79.1 104zM303.8 464l-78.81-.0352c-26.56 0-52.72-8.984-73.69-25.3l-45.97-35.75C99.47 398.4 96 391.3 96 383.1v-80c0-11.23 7.969-21.11 17.59-23.22l105.3-16.23C220.6 264.2 222.3 263.1 223.9 263.1c11.91 0 24.09 9.521 24.09 24.06c0 11.04-7.513 20.95-17.17 23.09L172.8 319c-12.03 1.633-20.78 11.92-20.78 23.75c0 20.21 18.82 24.08 23.7 24.08c2.645 0 64.61-8.619 65.54-8.826c23.55-5.227 41.51-22.23 49.73-43.64C303.3 327.5 320.6 336 340 336c8.326 0 16.31-1.51 23.69-4.27C376 344.2 393.1 352 412 352c.1992 0 10.08-.4453 18.65-2.92C423.9 413.5 369.9 464 303.8 464zM432 283.8C432 294.9 423 304 412 304c-11.02 0-20-9.078-20-20.25v-55.5C392 217.1 400.1 208 412 208c11.02 0 20 9.078 20 20.25V283.8z\"]\n};\nvar faFaceGrinHearts = {\n prefix: 'far',\n iconName: 'face-grin-hearts',\n icon: [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4zM238.9 177.1L221.4 243C219.1 251.6 210.4 256.6 201.8 254.3L136.7 236.9C118.9 232.1 108.4 213.8 113.1 196.1C117.9 178.3 136.2 167.7 153.1 172.5L170.1 176.8L174.4 160.7C179.2 142.9 197.5 132.4 215.3 137.1C233.1 141.9 243.6 160.2 238.9 177.1H238.9zM341.9 176.8L358 172.5C375.8 167.7 394.1 178.3 398.9 196.1C403.6 213.8 393.1 232.1 375.3 236.9L310.2 254.3C301.6 256.6 292.9 251.6 290.6 243L273.1 177.1C268.4 160.2 278.9 141.9 296.7 137.1C314.5 132.4 332.8 142.9 337.6 160.7L341.9 176.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faGrinHearts = faFaceGrinHearts;\nvar faBuilding = {\n prefix: 'far',\n iconName: 'building',\n icon: [384, 512, [127970, 61687], \"f1ad\", \"M88 104C88 95.16 95.16 88 104 88H152C160.8 88 168 95.16 168 104V152C168 160.8 160.8 168 152 168H104C95.16 168 88 160.8 88 152V104zM280 88C288.8 88 296 95.16 296 104V152C296 160.8 288.8 168 280 168H232C223.2 168 216 160.8 216 152V104C216 95.16 223.2 88 232 88H280zM88 232C88 223.2 95.16 216 104 216H152C160.8 216 168 223.2 168 232V280C168 288.8 160.8 296 152 296H104C95.16 296 88 288.8 88 280V232zM280 216C288.8 216 296 223.2 296 232V280C296 288.8 288.8 296 280 296H232C223.2 296 216 288.8 216 280V232C216 223.2 223.2 216 232 216H280zM0 64C0 28.65 28.65 0 64 0H320C355.3 0 384 28.65 384 64V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V64zM48 64V448C48 456.8 55.16 464 64 464H144V400C144 373.5 165.5 352 192 352C218.5 352 240 373.5 240 400V464H320C328.8 464 336 456.8 336 448V64C336 55.16 328.8 48 320 48H64C55.16 48 48 55.16 48 64z\"]\n};\nvar faFaceGrinBeamSweat = {\n prefix: 'far',\n iconName: 'face-grin-beam-sweat',\n icon: [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M464 128C437.5 128 416 107 416 81.01C416 76.01 417.8 69.74 420.6 62.87C420.9 62.17 421.2 61.46 421.6 60.74C430.5 40.51 448.1 15.86 457.6 3.281C460.8-1.094 467.2-1.094 470.4 3.281C483.4 20.65 512 61.02 512 81.01C512 102.7 497.1 120.8 476.8 126.3C472.7 127.4 468.4 128 464 128L464 128zM391.1 50.53C387.8 58.57 384 69.57 384 81.01C384 84.1 384.3 88.91 384.9 92.72C349.4 64.71 304.7 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 219.7 454.7 185.5 438.3 155.8C446.4 158.5 455.1 160 464 160C473.6 160 482.8 158.3 491.4 155.2C504.7 186.2 512 220.2 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 .0002 256 .0002C307.4 .0002 355.3 15.15 395.4 41.23C393.9 44.32 392.4 47.43 391.1 50.53V50.53zM255.9 399.1C205.6 399.1 161.5 374.6 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.9 255.9 318.9C289 318.9 320.6 315.1 349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C350.4 374.6 306.3 399.1 255.9 399.1zM217.6 228.8L217.4 228.5C217.2 228.3 217 228 216.7 227.6C216 226.8 215.1 225.7 213.9 224.3C211.4 221.4 207.9 217.7 203.7 213.1C194.9 206.2 184.8 200 176 200C167.2 200 157.1 206.2 148.3 213.1C144.1 217.7 140.6 221.4 138.1 224.3C136.9 225.7 135.1 226.8 135.3 227.6C134.1 228 134.8 228.3 134.6 228.5L134.4 228.8L134.4 228.8C132.3 231.6 128.7 232.7 125.5 231.6C122.2 230.5 119.1 227.4 119.1 224C119.1 206.1 126.7 188.4 136.6 175.2C146.4 162.2 160.5 152 175.1 152C191.5 152 205.6 162.2 215.4 175.2C225.3 188.4 231.1 206.1 231.1 224C231.1 227.4 229.8 230.5 226.5 231.6C223.3 232.7 219.7 231.6 217.6 228.8L217.6 228.8zM377.6 228.8L377.6 228.8L377.4 228.5C377.2 228.3 377 228 376.7 227.6C376 226.8 375.1 225.7 373.9 224.3C371.4 221.4 367.9 217.7 363.7 213.1C354.9 206.2 344.8 200 336 200C327.2 200 317.1 206.2 308.3 213.1C304.1 217.7 300.6 221.4 298.1 224.3C296.9 225.7 295.1 226.8 295.3 227.6C294.1 228 294.8 228.3 294.6 228.5L294.4 228.8L294.4 228.8C292.3 231.6 288.7 232.7 285.5 231.6C282.2 230.5 280 227.4 280 224C280 206.1 286.7 188.4 296.6 175.2C306.4 162.2 320.5 152 336 152C351.5 152 365.6 162.2 375.4 175.2C385.3 188.4 392 206.1 392 224C392 227.4 389.8 230.5 386.5 231.6C383.3 232.7 379.7 231.6 377.6 228.8V228.8z\"]\n};\nvar faGrinBeamSweat = faFaceGrinBeamSweat;\nvar faMoon = {\n prefix: 'far',\n iconName: 'moon',\n icon: [512, 512, [127769, 9214], \"f186\", \"M421.6 379.9c-.6641 0-1.35 .0625-2.049 .1953c-11.24 2.143-22.37 3.17-33.32 3.17c-94.81 0-174.1-77.14-174.1-175.5c0-63.19 33.79-121.3 88.73-152.6c8.467-4.812 6.339-17.66-3.279-19.44c-11.2-2.078-29.53-3.746-40.9-3.746C132.3 31.1 32 132.2 32 256c0 123.6 100.1 224 223.8 224c69.04 0 132.1-31.45 173.8-82.93C435.3 389.1 429.1 379.9 421.6 379.9zM255.8 432C158.9 432 80 353 80 256c0-76.32 48.77-141.4 116.7-165.8C175.2 125 163.2 165.6 163.2 207.8c0 99.44 65.13 183.9 154.9 212.8C298.5 428.1 277.4 432 255.8 432z\"]\n};\nvar faCalendar = {\n prefix: 'far',\n iconName: 'calendar',\n icon: [448, 512, [128197, 128198], \"f133\", \"M152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192H48V448z\"]\n};\nvar faFaceGrinTongueWink = {\n prefix: 'far',\n iconName: 'face-grin-tongue-wink',\n icon: [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M159.6 220C148.1 220 139.7 223.8 134.2 229.7C126.7 237.7 114 238.1 105.9 230.6C97.89 223 97.48 210.4 105 202.3C119.6 186.8 140.3 180 159.6 180C178.1 180 199.7 186.8 214.2 202.3C221.8 210.4 221.4 223 213.3 230.6C205.2 238.1 192.6 237.7 185 229.7C179.6 223.8 170.3 220 159.6 220zM312.4 208C312.4 194.7 323.1 184 336.4 184C349.6 184 360.4 194.7 360.4 208C360.4 221.3 349.6 232 336.4 232C323.1 232 312.4 221.3 312.4 208zM256 208C256 163.8 291.8 128 336 128C380.2 128 416 163.8 416 208C416 252.2 380.2 288 336 288C291.8 288 256 252.2 256 208zM336 256C362.5 256 384 234.5 384 208C384 181.5 362.5 160 336 160C309.5 160 288 181.5 288 208C288 234.5 309.5 256 336 256zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM348.3 442.4C416.9 408.4 464 337.7 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 337.7 95.13 408.4 163.7 442.4C161.3 434 160 425.2 160 416V363.6C151.1 355.6 143.3 346.5 136.9 336.5C126.5 320.4 143.7 303.1 162.3 308.4C191.3 315.1 222.8 318.8 255.9 318.8C289 318.8 320.6 315.1 349.5 308.4C368.2 303.1 385.4 320.4 374.1 336.5C368.6 346.4 360.8 355.5 352 363.5V416C352 425.2 350.7 434 348.3 442.4H348.3zM320 416V378.6C320 363.9 308.1 352 293.4 352H291.4C280.1 352 270.3 359.9 267.8 370.9C264.1 383.5 247 383.5 244.2 370.9C241.7 359.9 231.9 352 220.6 352H218.6C203.9 352 192 363.9 192 378.6V416C192 451.3 220.7 480 256 480C291.3 480 320 451.3 320 416z\"]\n};\nvar faGrinTongueWink = faFaceGrinTongueWink;\nvar faClone = {\n prefix: 'far',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M64 464H288C296.8 464 304 456.8 304 448V384H352V448C352 483.3 323.3 512 288 512H64C28.65 512 0 483.3 0 448V224C0 188.7 28.65 160 64 160H128V208H64C55.16 208 48 215.2 48 224V448C48 456.8 55.16 464 64 464zM160 64C160 28.65 188.7 0 224 0H448C483.3 0 512 28.65 512 64V288C512 323.3 483.3 352 448 352H224C188.7 352 160 323.3 160 288V64zM224 304H448C456.8 304 464 296.8 464 288V64C464 55.16 456.8 48 448 48H224C215.2 48 208 55.16 208 64V288C208 296.8 215.2 304 224 304z\"]\n};\nvar faFaceAngry = {\n prefix: 'far',\n iconName: 'face-angry',\n icon: [512, 512, [128544, \"angry\"], \"f556\", \"M328.4 393.5C318.7 402.6 303.5 402.1 294.5 392.4C287.1 384.5 274.4 376 256 376C237.6 376 224.9 384.5 217.5 392.4C208.5 402.1 193.3 402.6 183.6 393.5C173.9 384.5 173.4 369.3 182.5 359.6C196.7 344.3 221.4 328 256 328C290.6 328 315.3 344.3 329.5 359.6C338.6 369.3 338.1 384.5 328.4 393.5zM144.4 240C144.4 231.2 147.9 223.2 153.7 217.4L122.9 207.2C114.6 204.4 110 195.3 112.8 186.9C115.6 178.6 124.7 174 133.1 176.8L229.1 208.8C237.4 211.6 241.1 220.7 239.2 229.1C236.4 237.4 227.3 241.1 218.9 239.2L208.1 235.6C208.3 237 208.4 238.5 208.4 240C208.4 257.7 194 272 176.4 272C158.7 272 144.4 257.7 144.4 240V240zM368.4 240C368.4 257.7 354 272 336.4 272C318.7 272 304.4 257.7 304.4 240C304.4 238.4 304.5 236.8 304.7 235.3L293.1 239.2C284.7 241.1 275.6 237.4 272.8 229.1C270 220.7 274.6 211.6 282.9 208.8L378.9 176.8C387.3 174 396.4 178.6 399.2 186.9C401.1 195.3 397.4 204.4 389.1 207.2L358.9 217.2C364.7 223 368.4 231.1 368.4 240H368.4zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464z\"]\n};\nvar faAngry = faFaceAngry;\nvar faRectangleXmark = {\n prefix: 'far',\n iconName: 'rectangle-xmark',\n icon: [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M175 175C184.4 165.7 199.6 165.7 208.1 175L255.1 222.1L303 175C312.4 165.7 327.6 165.7 336.1 175C346.3 184.4 346.3 199.6 336.1 208.1L289.9 255.1L336.1 303C346.3 312.4 346.3 327.6 336.1 336.1C327.6 346.3 312.4 346.3 303 336.1L255.1 289.9L208.1 336.1C199.6 346.3 184.4 346.3 175 336.1C165.7 327.6 165.7 312.4 175 303L222.1 255.1L175 208.1C165.7 199.6 165.7 184.4 175 175V175zM0 96C0 60.65 28.65 32 64 32H448C483.3 32 512 60.65 512 96V416C512 451.3 483.3 480 448 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H448C456.8 432 464 424.8 464 416V96C464 87.16 456.8 80 448 80H64C55.16 80 48 87.16 48 96z\"]\n};\nvar faRectangleTimes = faRectangleXmark;\nvar faTimesRectangle = faRectangleXmark;\nvar faWindowClose = faRectangleXmark;\nvar faPaperPlane = {\n prefix: 'far',\n iconName: 'paper-plane',\n icon: [512, 512, [61913], \"f1d8\", \"M501.6 4.186c-7.594-5.156-17.41-5.594-25.44-1.063L12.12 267.1C4.184 271.7-.5037 280.3 .0431 289.4c.5469 9.125 6.234 17.16 14.66 20.69l153.3 64.38v113.5c0 8.781 4.797 16.84 12.5 21.06C184.1 511 188 512 191.1 512c4.516 0 9.038-1.281 12.99-3.812l111.2-71.46l98.56 41.4c2.984 1.25 6.141 1.875 9.297 1.875c4.078 0 8.141-1.031 11.78-3.094c6.453-3.625 10.88-10.06 11.95-17.38l64-432C513.1 18.44 509.1 9.373 501.6 4.186zM369.3 119.2l-187.1 208.9L78.23 284.7L369.3 119.2zM215.1 444v-49.36l46.45 19.51L215.1 444zM404.8 421.9l-176.6-74.19l224.6-249.5L404.8 421.9z\"]\n};\nvar faLifeRing = {\n prefix: 'far',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M464.1 431C474.3 440.4 474.3 455.6 464.1 464.1C455.6 474.3 440.4 474.3 431 464.1L419.3 453.2C374.9 489.9 318.1 512 256 512C193.9 512 137.1 489.9 92.74 453.2L80.97 464.1C71.6 474.3 56.4 474.3 47.03 464.1C37.66 455.6 37.66 440.4 47.03 431L58.8 419.3C22.08 374.9 0 318.1 0 256C0 193.9 22.08 137.1 58.8 92.74L47.03 80.97C37.66 71.6 37.66 56.4 47.03 47.03C56.4 37.66 71.6 37.66 80.97 47.03L92.74 58.8C137.1 22.08 193.9 0 256 0C318.1 0 374.9 22.08 419.3 58.8L431 47.03C440.4 37.66 455.6 37.66 464.1 47.03C474.3 56.4 474.3 71.6 464.1 80.97L453.2 92.74C489.9 137.1 512 193.9 512 256C512 318.1 489.9 374.9 453.2 419.3L464.1 431zM304.8 338.7C290.5 347.2 273.8 352 256 352C238.2 352 221.5 347.2 207.2 338.7L126.9 419.1C162.3 447.2 207.2 464 256 464C304.8 464 349.7 447.2 385.1 419.1L304.8 338.7zM464 256C464 207.2 447.2 162.3 419.1 126.9L338.7 207.2C347.2 221.5 352 238.2 352 256C352 273.8 347.2 290.5 338.7 304.8L419.1 385.1C447.2 349.7 464 304.8 464 256V256zM256 48C207.2 48 162.3 64.8 126.9 92.93L207.2 173.3C221.5 164.8 238.2 160 256 160C273.8 160 290.5 164.8 304.8 173.3L385.1 92.93C349.7 64.8 304.8 48 256 48V48zM173.3 304.8C164.8 290.5 160 273.8 160 256C160 238.2 164.8 221.5 173.3 207.2L92.93 126.9C64.8 162.3 48 207.2 48 256C48 304.8 64.8 349.7 92.93 385.1L173.3 304.8zM256 208C229.5 208 208 229.5 208 256C208 282.5 229.5 304 256 304C282.5 304 304 282.5 304 256C304 229.5 282.5 208 256 208z\"]\n};\nvar faFaceGrimace = {\n prefix: 'far',\n iconName: 'face-grimace',\n icon: [512, 512, [128556, \"grimace\"], \"f57f\", \"M344 288C374.9 288 400 313.1 400 344C400 374.9 374.9 400 344 400H168C137.1 400 112 374.9 112 344C112 313.1 137.1 288 168 288H344zM168 320C154.7 320 144 330.7 144 344C144 357.3 154.7 368 168 368H176V320H168zM208 368H240V320H208V368zM304 320H272V368H304V320zM336 368H344C357.3 368 368 357.3 368 344C368 330.7 357.3 320 344 320H336V368zM208.4 208C208.4 225.7 194 240 176.4 240C158.7 240 144.4 225.7 144.4 208C144.4 190.3 158.7 176 176.4 176C194 176 208.4 190.3 208.4 208zM304.4 208C304.4 190.3 318.7 176 336.4 176C354 176 368.4 190.3 368.4 208C368.4 225.7 354 240 336.4 240C318.7 240 304.4 225.7 304.4 208zM0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faGrimace = faFaceGrimace;\nvar faCalendarMinus = {\n prefix: 'far',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M152 352C138.7 352 128 341.3 128 328C128 314.7 138.7 304 152 304H296C309.3 304 320 314.7 320 328C320 341.3 309.3 352 296 352H152zM128 0C141.3 0 152 10.75 152 24V64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0zM400 192H48V448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192z\"]\n};\nvar faCircleXmark = {\n prefix: 'far',\n iconName: 'circle-xmark',\n icon: [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M175 175C184.4 165.7 199.6 165.7 208.1 175L255.1 222.1L303 175C312.4 165.7 327.6 165.7 336.1 175C346.3 184.4 346.3 199.6 336.1 208.1L289.9 255.1L336.1 303C346.3 312.4 346.3 327.6 336.1 336.1C327.6 346.3 312.4 346.3 303 336.1L255.1 289.9L208.1 336.1C199.6 346.3 184.4 346.3 175 336.1C165.7 327.6 165.7 312.4 175 303L222.1 255.1L175 208.1C165.7 199.6 165.7 184.4 175 175V175zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z\"]\n};\nvar faTimesCircle = faCircleXmark;\nvar faXmarkCircle = faCircleXmark;\nvar faThumbsUp = {\n prefix: 'far',\n iconName: 'thumbs-up',\n icon: [512, 512, [128077, 61575], \"f164\", \"M96 191.1H32c-17.67 0-32 14.33-32 31.1v223.1c0 17.67 14.33 31.1 32 31.1h64c17.67 0 32-14.33 32-31.1V223.1C128 206.3 113.7 191.1 96 191.1zM512 227c0-36.89-30.05-66.92-66.97-66.92h-99.86C354.7 135.1 360 113.5 360 100.8c0-33.8-26.2-68.78-70.06-68.78c-46.61 0-59.36 32.44-69.61 58.5c-31.66 80.5-60.33 66.39-60.33 93.47c0 12.84 10.36 23.99 24.02 23.99c5.256 0 10.55-1.721 14.97-5.26c76.76-61.37 57.97-122.7 90.95-122.7c16.08 0 22.06 12.75 22.06 20.79c0 7.404-7.594 39.55-25.55 71.59c-2.046 3.646-3.066 7.686-3.066 11.72c0 13.92 11.43 23.1 24 23.1h137.6C455.5 208.1 464 216.6 464 227c0 9.809-7.766 18.03-17.67 18.71c-12.66 .8593-22.36 11.4-22.36 23.94c0 15.47 11.39 15.95 11.39 28.91c0 25.37-35.03 12.34-35.03 42.15c0 11.22 6.392 13.03 6.392 22.25c0 22.66-29.77 13.76-29.77 40.64c0 4.515 1.11 5.961 1.11 9.456c0 10.45-8.516 18.95-18.97 18.95h-52.53c-25.62 0-51.02-8.466-71.5-23.81l-36.66-27.51c-4.315-3.245-9.37-4.811-14.38-4.811c-13.85 0-24.03 11.38-24.03 24.04c0 7.287 3.312 14.42 9.596 19.13l36.67 27.52C235 468.1 270.6 480 306.6 480h52.53c35.33 0 64.36-27.49 66.8-62.2c17.77-12.23 28.83-32.51 28.83-54.83c0-3.046-.2187-6.107-.6406-9.122c17.84-12.15 29.28-32.58 29.28-55.28c0-5.311-.6406-10.54-1.875-15.64C499.9 270.1 512 250.2 512 227z\"]\n};\nvar faWindowMinimize = {\n prefix: 'far',\n iconName: 'window-minimize',\n icon: [512, 512, [128469], \"f2d1\", \"M0 456C0 442.7 10.75 432 24 432H488C501.3 432 512 442.7 512 456C512 469.3 501.3 480 488 480H24C10.75 480 0 469.3 0 456z\"]\n};\nvar faSquareFull = {\n prefix: 'far',\n iconName: 'square-full',\n icon: [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M512 0V512H0V0H512zM464 48H48V464H464V48z\"]\n};\nvar faNoteSticky = {\n prefix: 'far',\n iconName: 'note-sticky',\n icon: [448, 512, [62026, \"sticky-note\"], \"f249\", \"M384 32H64.01C28.66 32 .0085 60.65 .0065 96L0 415.1C-.002 451.3 28.65 480 64 480h232.1c25.46 0 49.88-10.12 67.89-28.12l55.88-55.89C437.9 377.1 448 353.6 448 328.1V96C448 60.8 419.2 32 384 32zM52.69 427.3C50.94 425.6 48 421.8 48 416l.0195-319.1C48.02 87.18 55.2 80 64.02 80H384c8.674 0 16 7.328 16 16v192h-88C281.1 288 256 313.1 256 344v88H64C58.23 432 54.44 429.1 52.69 427.3zM330.1 417.9C322.9 425.1 313.8 429.6 304 431.2V344c0-4.406 3.594-8 8-8h87.23c-1.617 9.812-6.115 18.88-13.29 26.05L330.1 417.9z\"]\n};\nvar faStickyNote = faNoteSticky;\nvar faFaceSadTear = {\n prefix: 'far',\n iconName: 'face-sad-tear',\n icon: [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M169.6 291.3C172.8 286.9 179.2 286.9 182.4 291.3C195.6 308.6 223.1 349 223.1 369C223.1 395 202.5 416 175.1 416C149.5 416 127.1 395 127.1 369C127.1 349 156.6 308.6 169.6 291.3H169.6zM368 346.8C377.9 355.6 378.7 370.8 369.9 380.7C361 390.6 345.9 391.4 335.1 382.6C314.7 363.5 286.7 352 256 352C242.7 352 232 341.3 232 328C232 314.7 242.7 304 256 304C299 304 338.3 320.2 368 346.8L368 346.8zM335.6 176C353.3 176 367.6 190.3 367.6 208C367.6 225.7 353.3 240 335.6 240C317.1 240 303.6 225.7 303.6 208C303.6 190.3 317.1 176 335.6 176zM175.6 240C157.1 240 143.6 225.7 143.6 208C143.6 190.3 157.1 176 175.6 176C193.3 176 207.6 190.3 207.6 208C207.6 225.7 193.3 240 175.6 240zM256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0zM175.9 448C200.5 458.3 227.6 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256C48 308.7 67.59 356.8 99.88 393.4C110.4 425.4 140.9 447.9 175.9 448V448z\"]\n};\nvar faSadTear = faFaceSadTear;\nvar faHandPointLeft = {\n prefix: 'far',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M264 480h104c79.4 0 144-62.95 144-140.3V231.8c0-23.44-6.104-46.73-17.65-67.35L462.1 108.6C447.5 81.1 417.1 64 385.9 64H336c-27.23 0-51.53 12.51-67.69 32H72C32.3 96 0 128.3 0 168S32.3 240 72 240h56.44C128.1 242.6 128 245.3 128 248c0 25.95 13.79 48.73 34.43 61.4C160.8 315.3 160 321.6 160 328c0 25.95 13.79 48.73 34.43 61.4C192.8 395.3 192 401.6 192 408C192 447.7 224.3 480 264 480zM280 304c13.23 0 24 10.78 24 24S293.1 352 279.9 352H232c-13.23 0-24-10.78-24-24S218.8 304 232 304H280zM248 224v12c0 12.39 3.264 23.93 8.545 34.27C253.9 271.3 251 272 248 272h-48C186.8 272 176 261.2 176 248S186.8 224 200 224H248zM248 144c.2813 0 .5137 .1504 .793 .1602C248.6 146.8 248 149.3 248 152V192h-176C58.77 192 48 181.2 48 168S58.77 144 72 144H248zM388.2 429.9C390.4 422.9 392 415.7 392 408c0-29.04-17.37-53.96-42.18-65.34C350.8 337.8 352 333 352 328c0-7.139-1.273-13.96-3.355-20.46C378.4 297.2 400 269.2 400 236V184C400 170.8 389.3 160 376 160S352 170.8 352 184v52c0 15.44-12.56 28-28 28S296 251.4 296 236V152c0-22.06 17.94-40 40-40h49.88c14.77 0 28.28 7.719 35.27 20.16l31.34 55.78C460 201.4 464 216.6 464 231.8v107.9C464 383.9 431.4 420.9 388.2 429.9zM264 432c-13.23 0-24-10.78-24-24S250.8 384 264 384H320c13.23 0 24 10.78 24 24S333.2 432 320 432H264z\"]\n};\nvar icons = {\n faTrashCan: faTrashCan,\n faTrashAlt: faTrashAlt,\n faMessage: faMessage,\n faCommentAlt: faCommentAlt,\n faFileLines: faFileLines,\n faFileAlt: faFileAlt,\n faFileText: faFileText,\n faCalendarDays: faCalendarDays,\n faCalendarAlt: faCalendarAlt,\n faHandPointRight: faHandPointRight,\n faFaceSmileBeam: faFaceSmileBeam,\n faSmileBeam: faSmileBeam,\n faFaceGrinStars: faFaceGrinStars,\n faGrinStars: faGrinStars,\n faAddressBook: faAddressBook,\n faContactBook: faContactBook,\n faComments: faComments,\n faPaste: faPaste,\n faFileClipboard: faFileClipboard,\n faFaceGrinTongueSquint: faFaceGrinTongueSquint,\n faGrinTongueSquint: faGrinTongueSquint,\n faFaceFlushed: faFaceFlushed,\n faFlushed: faFlushed,\n faSquareCaretRight: faSquareCaretRight,\n faCaretSquareRight: faCaretSquareRight,\n faSquareMinus: faSquareMinus,\n faMinusSquare: faMinusSquare,\n faCompass: faCompass,\n faSquareCaretDown: faSquareCaretDown,\n faCaretSquareDown: faCaretSquareDown,\n faFaceKissBeam: faFaceKissBeam,\n faKissBeam: faKissBeam,\n faLightbulb: faLightbulb,\n faFlag: faFlag,\n faSquareCheck: faSquareCheck,\n faCheckSquare: faCheckSquare,\n faCircleDot: faCircleDot,\n faDotCircle: faDotCircle,\n faFaceDizzy: faFaceDizzy,\n faDizzy: faDizzy,\n faFutbol: faFutbol,\n faFutbolBall: faFutbolBall,\n faSoccerBall: faSoccerBall,\n faPenToSquare: faPenToSquare,\n faEdit: faEdit,\n faHourglassHalf: faHourglassHalf,\n faHourglass2: faHourglass2,\n faEyeSlash: faEyeSlash,\n faHand: faHand,\n faHandPaper: faHandPaper,\n faHandSpock: faHandSpock,\n faFaceKiss: faFaceKiss,\n faKiss: faKiss,\n faFaceGrinTongue: faFaceGrinTongue,\n faGrinTongue: faGrinTongue,\n faChessBishop: faChessBishop,\n faFaceGrinWink: faFaceGrinWink,\n faGrinWink: faGrinWink,\n faFaceGrinWide: faFaceGrinWide,\n faGrinAlt: faGrinAlt,\n faFaceFrownOpen: faFaceFrownOpen,\n faFrownOpen: faFrownOpen,\n faHandPointUp: faHandPointUp,\n faBookmark: faBookmark,\n faHandPointDown: faHandPointDown,\n faFolder: faFolder,\n faFolderBlank: faFolderBlank,\n faUser: faUser,\n faSquareCaretLeft: faSquareCaretLeft,\n faCaretSquareLeft: faCaretSquareLeft,\n faStar: faStar,\n faChessKnight: faChessKnight,\n faFaceLaughSquint: faFaceLaughSquint,\n faLaughSquint: faLaughSquint,\n faFaceLaugh: faFaceLaugh,\n faLaugh: faLaugh,\n faFolderOpen: faFolderOpen,\n faClipboard: faClipboard,\n faChessQueen: faChessQueen,\n faHandBackFist: faHandBackFist,\n faHandRock: faHandRock,\n faSquareCaretUp: faSquareCaretUp,\n faCaretSquareUp: faCaretSquareUp,\n faChartBar: faChartBar,\n faBarChart: faBarChart,\n faWindowRestore: faWindowRestore,\n faSquarePlus: faSquarePlus,\n faPlusSquare: faPlusSquare,\n faImage: faImage,\n faFolderClosed: faFolderClosed,\n faLemon: faLemon,\n faHandshake: faHandshake,\n faGem: faGem,\n faCirclePlay: faCirclePlay,\n faPlayCircle: faPlayCircle,\n faCircleCheck: faCircleCheck,\n faCheckCircle: faCheckCircle,\n faCircleStop: faCircleStop,\n faStopCircle: faStopCircle,\n faIdBadge: faIdBadge,\n faFaceLaughBeam: faFaceLaughBeam,\n faLaughBeam: faLaughBeam,\n faRegistered: faRegistered,\n faAddressCard: faAddressCard,\n faContactCard: faContactCard,\n faVcard: faVcard,\n faFaceTired: faFaceTired,\n faTired: faTired,\n faFontAwesome: faFontAwesome,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFaceSmileWink: faFaceSmileWink,\n faSmileWink: faSmileWink,\n faFileWord: faFileWord,\n faFilePowerpoint: faFilePowerpoint,\n faEnvelopeOpen: faEnvelopeOpen,\n faFileZipper: faFileZipper,\n faFileArchive: faFileArchive,\n faSquare: faSquare,\n faSnowflake: faSnowflake,\n faNewspaper: faNewspaper,\n faFaceKissWinkHeart: faFaceKissWinkHeart,\n faKissWinkHeart: faKissWinkHeart,\n faStarHalfStroke: faStarHalfStroke,\n faStarHalfAlt: faStarHalfAlt,\n faFileExcel: faFileExcel,\n faFaceGrinBeam: faFaceGrinBeam,\n faGrinBeam: faGrinBeam,\n faObjectUngroup: faObjectUngroup,\n faCircleRight: faCircleRight,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faFaceRollingEyes: faFaceRollingEyes,\n faMehRollingEyes: faMehRollingEyes,\n faObjectGroup: faObjectGroup,\n faHeart: faHeart,\n faFaceSurprise: faFaceSurprise,\n faSurprise: faSurprise,\n faCirclePause: faCirclePause,\n faPauseCircle: faPauseCircle,\n faCircle: faCircle,\n faCircleUp: faCircleUp,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faFileAudio: faFileAudio,\n faFileImage: faFileImage,\n faCircleQuestion: faCircleQuestion,\n faQuestionCircle: faQuestionCircle,\n faFaceMehBlank: faFaceMehBlank,\n faMehBlank: faMehBlank,\n faEye: faEye,\n faFaceSadCry: faFaceSadCry,\n faSadCry: faSadCry,\n faFileCode: faFileCode,\n faWindowMaximize: faWindowMaximize,\n faFaceFrown: faFaceFrown,\n faFrown: faFrown,\n faFloppyDisk: faFloppyDisk,\n faSave: faSave,\n faCommentDots: faCommentDots,\n faCommenting: faCommenting,\n faFaceGrinSquint: faFaceGrinSquint,\n faGrinSquint: faGrinSquint,\n faHandPointer: faHandPointer,\n faHandScissors: faHandScissors,\n faFaceGrinTears: faFaceGrinTears,\n faGrinTears: faGrinTears,\n faCalendarXmark: faCalendarXmark,\n faCalendarTimes: faCalendarTimes,\n faFileVideo: faFileVideo,\n faFilePdf: faFilePdf,\n faComment: faComment,\n faEnvelope: faEnvelope,\n faHourglass: faHourglass,\n faHourglassEmpty: faHourglassEmpty,\n faCalendarCheck: faCalendarCheck,\n faHardDrive: faHardDrive,\n faHdd: faHdd,\n faFaceGrinSquintTears: faFaceGrinSquintTears,\n faGrinSquintTears: faGrinSquintTears,\n faRectangleList: faRectangleList,\n faListAlt: faListAlt,\n faCalendarPlus: faCalendarPlus,\n faCircleLeft: faCircleLeft,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faMoneyBill1: faMoneyBill1,\n faMoneyBillAlt: faMoneyBillAlt,\n faClock: faClock,\n faClockFour: faClockFour,\n faKeyboard: faKeyboard,\n faClosedCaptioning: faClosedCaptioning,\n faImages: faImages,\n faFaceGrin: faFaceGrin,\n faGrin: faGrin,\n faFaceMeh: faFaceMeh,\n faMeh: faMeh,\n faIdCard: faIdCard,\n faDriversLicense: faDriversLicense,\n faSun: faSun,\n faFaceLaughWink: faFaceLaughWink,\n faLaughWink: faLaughWink,\n faCircleDown: faCircleDown,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faThumbsDown: faThumbsDown,\n faChessPawn: faChessPawn,\n faCreditCard: faCreditCard,\n faCreditCardAlt: faCreditCardAlt,\n faBell: faBell,\n faFile: faFile,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalWide: faHospitalWide,\n faChessRook: faChessRook,\n faStarHalf: faStarHalf,\n faChessKing: faChessKing,\n faCircleUser: faCircleUser,\n faUserCircle: faUserCircle,\n faCopy: faCopy,\n faShareFromSquare: faShareFromSquare,\n faShareSquare: faShareSquare,\n faCopyright: faCopyright,\n faMap: faMap,\n faBellSlash: faBellSlash,\n faHandLizard: faHandLizard,\n faFaceSmile: faFaceSmile,\n faSmile: faSmile,\n faHandPeace: faHandPeace,\n faFaceGrinHearts: faFaceGrinHearts,\n faGrinHearts: faGrinHearts,\n faBuilding: faBuilding,\n faFaceGrinBeamSweat: faFaceGrinBeamSweat,\n faGrinBeamSweat: faGrinBeamSweat,\n faMoon: faMoon,\n faCalendar: faCalendar,\n faFaceGrinTongueWink: faFaceGrinTongueWink,\n faGrinTongueWink: faGrinTongueWink,\n faClone: faClone,\n faFaceAngry: faFaceAngry,\n faAngry: faAngry,\n faRectangleXmark: faRectangleXmark,\n faRectangleTimes: faRectangleTimes,\n faTimesRectangle: faTimesRectangle,\n faWindowClose: faWindowClose,\n faPaperPlane: faPaperPlane,\n faLifeRing: faLifeRing,\n faFaceGrimace: faFaceGrimace,\n faGrimace: faGrimace,\n faCalendarMinus: faCalendarMinus,\n faCircleXmark: faCircleXmark,\n faTimesCircle: faTimesCircle,\n faXmarkCircle: faXmarkCircle,\n faThumbsUp: faThumbsUp,\n faWindowMinimize: faWindowMinimize,\n faSquareFull: faSquareFull,\n faNoteSticky: faNoteSticky,\n faStickyNote: faStickyNote,\n faFaceSadTear: faFaceSadTear,\n faSadTear: faSadTear,\n faHandPointLeft: faHandPointLeft\n};\n\nexport { icons as far, prefix, faTrashCan, faTrashAlt, faMessage, faCommentAlt, faFileLines, faFileAlt, faFileText, faCalendarDays, faCalendarAlt, faHandPointRight, faFaceSmileBeam, faSmileBeam, faFaceGrinStars, faGrinStars, faAddressBook, faContactBook, faComments, faPaste, faFileClipboard, faFaceGrinTongueSquint, faGrinTongueSquint, faFaceFlushed, faFlushed, faSquareCaretRight, faCaretSquareRight, faSquareMinus, faMinusSquare, faCompass, faSquareCaretDown, faCaretSquareDown, faFaceKissBeam, faKissBeam, faLightbulb, faFlag, faSquareCheck, faCheckSquare, faCircleDot, faDotCircle, faFaceDizzy, faDizzy, faFutbol, faFutbolBall, faSoccerBall, faPenToSquare, faEdit, faHourglassHalf, faHourglass2, faEyeSlash, faHand, faHandPaper, faHandSpock, faFaceKiss, faKiss, faFaceGrinTongue, faGrinTongue, faChessBishop, faFaceGrinWink, faGrinWink, faFaceGrinWide, faGrinAlt, faFaceFrownOpen, faFrownOpen, faHandPointUp, faBookmark, faHandPointDown, faFolder, faFolderBlank, faUser, faSquareCaretLeft, faCaretSquareLeft, faStar, faChessKnight, faFaceLaughSquint, faLaughSquint, faFaceLaugh, faLaugh, faFolderOpen, faClipboard, faChessQueen, faHandBackFist, faHandRock, faSquareCaretUp, faCaretSquareUp, faChartBar, faBarChart, faWindowRestore, faSquarePlus, faPlusSquare, faImage, faFolderClosed, faLemon, faHandshake, faGem, faCirclePlay, faPlayCircle, faCircleCheck, faCheckCircle, faCircleStop, faStopCircle, faIdBadge, faFaceLaughBeam, faLaughBeam, faRegistered, faAddressCard, faContactCard, faVcard, faFaceTired, faTired, faFontAwesome, faFontAwesomeFlag, faFontAwesomeLogoFull, faFaceSmileWink, faSmileWink, faFileWord, faFilePowerpoint, faEnvelopeOpen, faFileZipper, faFileArchive, faSquare, faSnowflake, faNewspaper, faFaceKissWinkHeart, faKissWinkHeart, faStarHalfStroke, faStarHalfAlt, faFileExcel, faFaceGrinBeam, faGrinBeam, faObjectUngroup, faCircleRight, faArrowAltCircleRight, faFaceRollingEyes, faMehRollingEyes, faObjectGroup, faHeart, faFaceSurprise, faSurprise, faCirclePause, faPauseCircle, faCircle, faCircleUp, faArrowAltCircleUp, faFileAudio, faFileImage, faCircleQuestion, faQuestionCircle, faFaceMehBlank, faMehBlank, faEye, faFaceSadCry, faSadCry, faFileCode, faWindowMaximize, faFaceFrown, faFrown, faFloppyDisk, faSave, faCommentDots, faCommenting, faFaceGrinSquint, faGrinSquint, faHandPointer, faHandScissors, faFaceGrinTears, faGrinTears, faCalendarXmark, faCalendarTimes, faFileVideo, faFilePdf, faComment, faEnvelope, faHourglass, faHourglassEmpty, faCalendarCheck, faHardDrive, faHdd, faFaceGrinSquintTears, faGrinSquintTears, faRectangleList, faListAlt, faCalendarPlus, faCircleLeft, faArrowAltCircleLeft, faMoneyBill1, faMoneyBillAlt, faClock, faClockFour, faKeyboard, faClosedCaptioning, faImages, faFaceGrin, faGrin, faFaceMeh, faMeh, faIdCard, faDriversLicense, faSun, faFaceLaughWink, faLaughWink, faCircleDown, faArrowAltCircleDown, faThumbsDown, faChessPawn, faCreditCard, faCreditCardAlt, faBell, faFile, faHospital, faHospitalAlt, faHospitalWide, faChessRook, faStarHalf, faChessKing, faCircleUser, faUserCircle, faCopy, faShareFromSquare, faShareSquare, faCopyright, faMap, faBellSlash, faHandLizard, faFaceSmile, faSmile, faHandPeace, faFaceGrinHearts, faGrinHearts, faBuilding, faFaceGrinBeamSweat, faGrinBeamSweat, faMoon, faCalendar, faFaceGrinTongueWink, faGrinTongueWink, faClone, faFaceAngry, faAngry, faRectangleXmark, faRectangleTimes, faTimesRectangle, faWindowClose, faPaperPlane, faLifeRing, faFaceGrimace, faGrimace, faCalendarMinus, faCircleXmark, faTimesCircle, faXmarkCircle, faThumbsUp, faWindowMinimize, faSquareFull, faNoteSticky, faStickyNote, faFaceSadTear, faSadTear, faHandPointLeft };\n","import { useRef } from 'react';\nimport { isNil } from 'ramda';\nimport DatePicker, { ReactDatePickerProps } from 'react-datepicker';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCalendarAlt as calendarIcon } from '@fortawesome/free-regular-svg-icons';\nimport classNames from 'classnames';\nimport { STANDARD_DATE_FORMAT } from '../helpers/date';\nimport './DateInput.scss';\n\nexport type DateInputProps = ReactDatePickerProps;\n\nexport const DateInput = (props: DateInputProps) => {\n const { className, isClearable, selected, dateFormat } = props;\n const showCalendarIcon = !isClearable || isNil(selected);\n const ref = useRef<{ input: HTMLInputElement }>();\n\n return (\n
\n \n {showCalendarIcon && (\n ref.current?.input.focus()}\n />\n )}\n
\n );\n};\n","import { endOfDay } from 'date-fns';\nimport { DateInput } from './DateInput';\nimport { DateRange } from '../helpers/dateIntervals';\n\ninterface DateRangeRowProps extends DateRange {\n onStartDateChange: (date: Date | null) => void;\n onEndDateChange: (date: Date | null) => void;\n disabled?: boolean;\n}\n\nexport const DateRangeRow = (\n { startDate = null, endDate = null, disabled = false, onStartDateChange, onEndDateChange }: DateRangeRowProps,\n) => (\n
\n
\n \n
\n
\n onEndDateChange(date && endOfDay(date))}\n />\n
\n
\n);\n","import { DropdownItem } from 'reactstrap';\nimport { FC } from 'react';\nimport { DATE_INTERVALS, DateInterval, rangeOrIntervalToString } from '../helpers/dateIntervals';\n\nexport interface DateIntervalDropdownProps {\n active?: DateInterval;\n allText: string;\n onChange: (interval: DateInterval) => void;\n}\n\nexport const DateIntervalDropdownItems: FC = ({ active, allText, onChange }) => (\n <>\n onChange('all')}>\n {allText}\n \n \n {DATE_INTERVALS.map(\n (interval) => (\n onChange(interval)}>\n {rangeOrIntervalToString(interval)}\n \n ),\n )}\n \n);\n","import { useState } from 'react';\nimport { DropdownItem } from 'reactstrap';\nimport { DropdownBtn } from '../DropdownBtn';\nimport { useEffectExceptFirstTime } from '../helpers/hooks';\nimport {\n DateInterval,\n DateRange,\n rangeOrIntervalToString,\n intervalToDateRange,\n rangeIsInterval,\n dateRangeIsEmpty,\n ALL,\n} from '../helpers/dateIntervals';\nimport { DateRangeRow } from './DateRangeRow';\nimport { DateIntervalDropdownItems } from './DateIntervalDropdownItems';\n\nexport interface DateRangeSelectorProps {\n initialDateRange?: DateInterval | DateRange;\n disabled?: boolean;\n onDatesChange: (dateRange: DateRange) => void;\n defaultText: string;\n updatable?: boolean;\n}\n\nexport const DateRangeSelector = (\n { onDatesChange, initialDateRange, defaultText, disabled, updatable = false }: DateRangeSelectorProps,\n) => {\n const initialIntervalIsRange = rangeIsInterval(initialDateRange);\n const [activeInterval, setActiveInterval] = useState(\n initialIntervalIsRange ? initialDateRange : undefined,\n );\n const [activeDateRange, setActiveDateRange] = useState(initialIntervalIsRange ? undefined : initialDateRange);\n\n const updateDateRange = (dateRange: DateRange) => {\n setActiveInterval(dateRangeIsEmpty(dateRange) ? ALL : undefined);\n setActiveDateRange(dateRange);\n onDatesChange(dateRange);\n };\n const updateInterval = (dateInterval: DateInterval) => {\n setActiveInterval(dateInterval);\n setActiveDateRange(undefined);\n onDatesChange(intervalToDateRange(dateInterval));\n };\n\n updatable && useEffectExceptFirstTime(() => {\n const isDateInterval = rangeIsInterval(initialDateRange);\n\n isDateInterval && updateInterval(initialDateRange);\n initialDateRange && !isDateInterval && updateDateRange(initialDateRange);\n }, [initialDateRange]);\n\n return (\n \n \n \n Custom:\n \n updateDateRange({ ...activeDateRange, startDate })}\n onEndDateChange={(endDate) => updateDateRange({ ...activeDateRange, endDate })}\n />\n \n \n );\n};\n","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Converts an object into an array of key, value arrays. Only the object's\n * own properties are used.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own properties.\n * @see R.fromPairs\n * @example\n *\n * R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]]\n */\n\nvar toPairs =\n/*#__PURE__*/\n_curry1(function toPairs(obj) {\n var pairs = [];\n\n for (var prop in obj) {\n if (_has(prop, obj)) {\n pairs[pairs.length] = [prop, obj[prop]];\n }\n }\n\n return pairs;\n});\n\nexport default toPairs;","import { UncontrolledDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { toPairs } from 'ramda';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSortAmountUp as sortAscIcon, faSortAmountDown as sortDescIcon } from '@fortawesome/free-solid-svg-icons';\nimport classNames from 'classnames';\nimport { determineOrderDir, Order, OrderDir } from './helpers/ordering';\nimport './OrderingDropdown.scss';\n\nexport interface OrderingDropdownProps {\n items: Record;\n order: Order;\n onChange: (orderField?: T, orderDir?: OrderDir) => void;\n isButton?: boolean;\n right?: boolean;\n prefixed?: boolean;\n}\n\nexport function OrderingDropdown(\n { items, order, onChange, isButton = true, right = false, prefixed = true }: OrderingDropdownProps,\n) {\n const handleItemClick = (fieldKey: T) => () => {\n const newOrderDir = determineOrderDir(fieldKey, order.field, order.dir);\n onChange(newOrderDir ? fieldKey : undefined, newOrderDir);\n };\n\n return (\n \n \n {!isButton && <>Order by}\n {isButton && !order.field && Order by...}\n {isButton && order.field && <>{prefixed && 'Order by: '}{items[order.field]} - {order.dir ?? 'DESC'}}\n \n \n {toPairs(items).map(([fieldKey, fieldValue]) => (\n \n {fieldValue}\n {order.field === fieldKey && (\n \n )}\n \n ))}\n \n onChange()}>\n Clear selection\n \n \n \n );\n}\n","import { useParams, useLocation, useNavigate } from 'react-router-dom';\nimport { useMemo } from 'react';\nimport { isEmpty, pipe } from 'ramda';\nimport { parseQuery, stringifyQuery } from '../../utils/helpers/query';\nimport { ShortUrlsOrder, ShortUrlsOrderableFields } from '../data';\nimport { orderToString, stringToOrder } from '../../utils/helpers/ordering';\nimport { TagsFilteringMode } from '../../api/types';\n\ninterface ShortUrlsQueryCommon {\n search?: string;\n startDate?: string;\n endDate?: string;\n tagsMode?: TagsFilteringMode;\n}\n\ninterface ShortUrlsQuery extends ShortUrlsQueryCommon {\n orderBy?: string;\n tags?: string;\n}\n\ninterface ShortUrlsFiltering extends ShortUrlsQueryCommon {\n orderBy?: ShortUrlsOrder;\n tags: string[];\n}\n\ntype ToFirstPage = (extra: Partial) => void;\n\nexport const useShortUrlsQuery = (): [ShortUrlsFiltering, ToFirstPage] => {\n const navigate = useNavigate();\n const { search } = useLocation();\n const { serverId = '' } = useParams<{ serverId: string }>();\n\n const filtering = useMemo(\n pipe(\n () => parseQuery(search),\n ({ orderBy, tags, ...rest }: ShortUrlsQuery): ShortUrlsFiltering => {\n const parsedOrderBy = orderBy ? stringToOrder(orderBy) : undefined;\n const parsedTags = tags?.split(',') ?? [];\n return { ...rest, orderBy: parsedOrderBy, tags: parsedTags };\n },\n ),\n [search],\n );\n const toFirstPageWithExtra = (extra: Partial) => {\n const { orderBy, tags, ...mergedFiltering } = { ...filtering, ...extra };\n const query: ShortUrlsQuery = {\n ...mergedFiltering,\n orderBy: orderBy && orderToString(orderBy),\n tags: tags.length > 0 ? tags.join(',') : undefined,\n };\n const stringifiedQuery = stringifyQuery(query);\n const queryString = isEmpty(stringifiedQuery) ? '' : `?${stringifiedQuery}`;\n\n navigate(`/server/${serverId}/list-short-urls/1${queryString}`);\n };\n\n return [filtering, toFirstPageWithExtra];\n};\n","import { Nullable, OptionalString } from '../../utils/utils';\nimport { Order } from '../../utils/helpers/ordering';\n\nexport interface EditShortUrlData {\n longUrl?: string;\n tags?: string[];\n title?: string | null;\n validSince?: Date | string | null;\n validUntil?: Date | string | null;\n maxVisits?: number | null;\n validateUrl?: boolean;\n crawlable?: boolean;\n forwardQuery?: boolean;\n}\n\nexport interface ShortUrlData extends EditShortUrlData {\n longUrl: string;\n customSlug?: string;\n shortCodeLength?: number;\n domain?: string;\n findIfExists?: boolean;\n}\n\nexport interface ShortUrlIdentifier {\n shortCode: string;\n domain?: OptionalString;\n}\n\nexport interface ShortUrl {\n shortCode: string;\n shortUrl: string;\n longUrl: string;\n dateCreated: string;\n visitsCount: number;\n meta: Required>;\n tags: string[];\n domain: string | null;\n title?: string | null;\n crawlable?: boolean;\n forwardQuery?: boolean;\n}\n\nexport interface ShortUrlMeta {\n validSince?: string;\n validUntil?: string;\n maxVisits?: number;\n}\n\nexport interface ShortUrlModalProps {\n shortUrl: ShortUrl;\n isOpen: boolean;\n toggle: () => void;\n}\n\nexport const SHORT_URLS_ORDERABLE_FIELDS = {\n dateCreated: 'Created at',\n shortCode: 'Short URL',\n longUrl: 'Long URL',\n title: 'Title',\n visits: 'Visits',\n};\n\nexport type ShortUrlsOrderableFields = keyof typeof SHORT_URLS_ORDERABLE_FIELDS;\n\nexport type ShortUrlsOrder = Order;\n\nexport interface ExportableShortUrl {\n createdAt: string;\n title: string;\n shortUrl: string;\n longUrl: string;\n tags: string;\n visits: number;\n}\n","import { FC } from 'react';\nimport { isEmpty, pipe } from 'ramda';\nimport { Button, InputGroup, Row, UncontrolledTooltip } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faTag, faTags } from '@fortawesome/free-solid-svg-icons';\nimport classNames from 'classnames';\nimport { SearchField } from '../utils/SearchField';\nimport { DateRangeSelector } from '../utils/dates/DateRangeSelector';\nimport { formatIsoDate } from '../utils/helpers/date';\nimport { DateRange, datesToDateRange } from '../utils/helpers/dateIntervals';\nimport { supportsAllTagsFiltering } from '../utils/helpers/features';\nimport { SelectedServer } from '../servers/data';\nimport { OrderDir } from '../utils/helpers/ordering';\nimport { OrderingDropdown } from '../utils/OrderingDropdown';\nimport { useShortUrlsQuery } from './helpers/hooks';\nimport { SHORT_URLS_ORDERABLE_FIELDS, ShortUrlsOrder, ShortUrlsOrderableFields } from './data';\nimport { ExportShortUrlsBtnProps } from './helpers/ExportShortUrlsBtn';\nimport { TagsSelectorProps } from '../tags/helpers/TagsSelector';\nimport './ShortUrlsFilteringBar.scss';\n\nexport interface ShortUrlsFilteringProps {\n selectedServer: SelectedServer;\n order: ShortUrlsOrder;\n handleOrderBy: (orderField?: ShortUrlsOrderableFields, orderDir?: OrderDir) => void;\n className?: string;\n shortUrlsAmount?: number;\n}\n\nexport const ShortUrlsFilteringBar = (\n ExportShortUrlsBtn: FC,\n TagsSelector: FC,\n): FC => ({ selectedServer, className, shortUrlsAmount, order, handleOrderBy }) => {\n const [{ search, tags, startDate, endDate, tagsMode = 'any' }, toFirstPage] = useShortUrlsQuery();\n const setDates = pipe(\n ({ startDate: theStartDate, endDate: theEndDate }: DateRange) => ({\n startDate: formatIsoDate(theStartDate) ?? undefined,\n endDate: formatIsoDate(theEndDate) ?? undefined,\n }),\n toFirstPage,\n );\n const setSearch = pipe(\n (searchTerm: string) => (isEmpty(searchTerm) ? undefined : searchTerm),\n (searchTerm) => toFirstPage({ search: searchTerm }),\n );\n const changeTagSelection = (selectedTags: string[]) => toFirstPage({ tags: selectedTags });\n const canChangeTagsMode = supportsAllTagsFiltering(selectedServer);\n const toggleTagsMode = pipe(\n () => (tagsMode === 'any' ? 'all' : 'any'),\n (mode) => toFirstPage({ tagsMode: mode }),\n );\n\n return (\n
\n \n\n \n \n {canChangeTagsMode && tags.length > 1 && (\n <>\n \n \n {tagsMode === 'all' ? 'With all the tags.' : 'With any of the tags.'}\n \n \n )}\n \n\n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n );\n};\n","import { FC, useEffect } from 'react';\nimport { pipe } from 'ramda';\nimport { useParams } from 'react-router-dom';\nimport { CreateVisit } from '../../visits/types';\nimport { MercureInfo } from '../reducers/mercureInfo';\nimport { bindToMercureTopic } from './index';\n\nexport interface MercureBoundProps {\n createNewVisits: (createdVisits: CreateVisit[]) => void;\n loadMercureInfo: () => void;\n mercureInfo: MercureInfo;\n}\n\nexport function boundToMercureHub(\n WrappedComponent: FC,\n getTopicsForProps: (props: T, routeParams: any) => string[],\n) {\n const pendingUpdates = new Set();\n\n return (props: MercureBoundProps & T) => {\n const { createNewVisits, loadMercureInfo, mercureInfo } = props;\n const { interval } = mercureInfo;\n const params = useParams();\n\n useEffect(() => {\n const onMessage = (visit: CreateVisit) => (interval ? pendingUpdates.add(visit) : createNewVisits([visit]));\n const topics = getTopicsForProps(props, params);\n const closeEventSource = bindToMercureTopic(mercureInfo, topics, onMessage, loadMercureInfo);\n\n if (!interval) {\n return closeEventSource;\n }\n\n const timer = setInterval(() => {\n createNewVisits([...pendingUpdates]);\n pendingUpdates.clear();\n }, interval * 1000 * 60);\n\n return pipe(() => clearInterval(timer), () => closeEventSource?.());\n }, [mercureInfo]);\n\n return ;\n };\n}\n","import { EventSourcePolyfill as EventSource } from 'event-source-polyfill';\nimport { MercureInfo } from '../reducers/mercureInfo';\n\nexport const bindToMercureTopic = (mercureInfo: MercureInfo, topics: string[], onMessage: (message: T) => void, onTokenExpired: () => void) => { // eslint-disable-line max-len\n const { mercureHubUrl, token, loading, error } = mercureInfo;\n\n if (loading || error || !mercureHubUrl) {\n return undefined;\n }\n\n const onEventSourceMessage = ({ data }: { data: string }) => onMessage(JSON.parse(data) as T);\n const onEventSourceError = ({ status }: { status: number }) => status === 401 && onTokenExpired();\n\n const subscriptions = topics.map((topic) => {\n const hubUrl = new URL(mercureHubUrl);\n\n hubUrl.searchParams.append('topic', topic);\n const es = new EventSource(hubUrl, {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n\n es.onmessage = onEventSourceMessage;\n es.onerror = onEventSourceError;\n\n return es;\n });\n\n return () => subscriptions.forEach((es) => es.close());\n};\n","export class Topics {\n public static readonly visits = 'https://shlink.io/new-visit';\n\n public static readonly orphanVisits = 'https://shlink.io/new-orphan-visit';\n\n public static readonly shortUrlVisits = (shortCode: string) => `https://shlink.io/new-visit/${shortCode}`;\n}\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCaretDown as caretDownIcon, faCaretUp as caretUpIcon } from '@fortawesome/free-solid-svg-icons';\nimport { Order } from '../helpers/ordering';\n\ninterface TableOrderIconProps {\n currentOrder: Order;\n field: T;\n className?: string;\n}\n\nexport function TableOrderIcon(\n { currentOrder, field, className = 'ms-1' }: TableOrderIconProps,\n) {\n if (!currentOrder.dir || currentOrder.field !== field) {\n return null;\n }\n\n return ;\n}\n","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeWithKey(concatValues,\n * { a: true, thing: 'foo', values: [10, 20] },\n * { b: true, thing: 'bar', values: [15, 35] });\n * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\n\nvar mergeWithKey =\n/*#__PURE__*/\n_curry3(function mergeWithKey(fn, l, r) {\n var result = {};\n var k;\n\n for (k in l) {\n if (_has(k, l)) {\n result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n }\n }\n\n for (k in r) {\n if (_has(k, r) && !_has(k, result)) {\n result[k] = r[k];\n }\n }\n\n return result;\n});\n\nexport default mergeWithKey;","import _curry3 from \"./internal/_curry3.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport mergeWithKey from \"./mergeWithKey.js\";\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n * recursively merged.\n * - otherwise the provided function is applied to the key and associated values\n * using the resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWithKey, R.mergeDeepWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeDeepWithKey(concatValues,\n * { a: true, c: { thing: 'foo', values: [10, 20] }},\n * { b: true, c: { thing: 'bar', values: [15, 35] }});\n * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n */\n\nvar mergeDeepWithKey =\n/*#__PURE__*/\n_curry3(function mergeDeepWithKey(fn, lObj, rObj) {\n return mergeWithKey(function (k, lVal, rVal) {\n if (_isObject(lVal) && _isObject(rVal)) {\n return mergeDeepWithKey(fn, lVal, rVal);\n } else {\n return fn(k, lVal, rVal);\n }\n }, lObj, rObj);\n});\n\nexport default mergeDeepWithKey;","import _curry2 from \"./internal/_curry2.js\";\nimport mergeDeepWithKey from \"./mergeDeepWithKey.js\";\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n * { age: 40, contact: { email: 'baa@example.com' }});\n * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n */\n\nvar mergeDeepRight =\n/*#__PURE__*/\n_curry2(function mergeDeepRight(lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return rVal;\n }, lObj, rObj);\n});\n\nexport default mergeDeepRight;","import { createSlice, PayloadAction, PrepareAction } from '@reduxjs/toolkit';\nimport { mergeDeepRight } from 'ramda';\nimport { Theme } from '../../utils/theme';\nimport { DateInterval } from '../../utils/helpers/dateIntervals';\nimport { TagsOrder } from '../../tags/data/TagsListChildrenProps';\nimport { ShortUrlsOrder } from '../../short-urls/data';\n\nexport const DEFAULT_SHORT_URLS_ORDERING: ShortUrlsOrder = {\n field: 'dateCreated',\n dir: 'DESC',\n};\n\n/**\n * Important! When adding new props in the main Settings interface or any of the nested props, they have to be set as\n * optional, as old instances of the app will load partial objects from local storage until it is saved again.\n */\n\nexport interface RealTimeUpdatesSettings {\n enabled: boolean;\n interval?: number;\n}\n\nexport type TagFilteringMode = 'startsWith' | 'includes';\n\nexport interface ShortUrlCreationSettings {\n validateUrls: boolean;\n tagFilteringMode?: TagFilteringMode;\n forwardQuery?: boolean;\n}\n\nexport type TagsMode = 'cards' | 'list';\n\nexport interface UiSettings {\n theme: Theme;\n}\n\nexport interface VisitsSettings {\n defaultInterval: DateInterval;\n}\n\nexport interface TagsSettings {\n defaultOrdering?: TagsOrder;\n defaultMode?: TagsMode;\n}\n\nexport interface ShortUrlsListSettings {\n defaultOrdering?: ShortUrlsOrder;\n}\n\nexport interface Settings {\n realTimeUpdates: RealTimeUpdatesSettings;\n shortUrlCreation?: ShortUrlCreationSettings;\n shortUrlsList?: ShortUrlsListSettings;\n ui?: UiSettings;\n visits?: VisitsSettings;\n tags?: TagsSettings;\n}\n\nconst initialState: Settings = {\n realTimeUpdates: {\n enabled: true,\n },\n shortUrlCreation: {\n validateUrls: false,\n },\n ui: {\n theme: 'light',\n },\n visits: {\n defaultInterval: 'last30Days',\n },\n shortUrlsList: {\n defaultOrdering: DEFAULT_SHORT_URLS_ORDERING,\n },\n};\n\ntype SettingsAction = PayloadAction;\ntype SettingsPrepareAction = PrepareAction;\n\nconst commonReducer = (state: Settings, { payload }: SettingsAction) => mergeDeepRight(state, payload);\nconst toReducer = (prepare: SettingsPrepareAction) => ({ reducer: commonReducer, prepare });\nconst toPreparedAction: SettingsPrepareAction = (payload: Settings) => ({ payload });\n\nconst { reducer, actions } = createSlice({\n name: 'shlink/settings',\n initialState,\n reducers: {\n toggleRealTimeUpdates: toReducer((enabled: boolean) => toPreparedAction({ realTimeUpdates: { enabled } })),\n setRealTimeUpdatesInterval: toReducer((interval: number) => toPreparedAction({ realTimeUpdates: { interval } })),\n setShortUrlCreationSettings: toReducer(\n (shortUrlCreation: ShortUrlCreationSettings) => toPreparedAction({ shortUrlCreation }),\n ),\n setShortUrlsListSettings: toReducer((shortUrlsList: ShortUrlsListSettings) => toPreparedAction({ shortUrlsList })),\n setUiSettings: toReducer((ui: UiSettings) => toPreparedAction({ ui })),\n setVisitsSettings: toReducer((visits: VisitsSettings) => toPreparedAction({ visits })),\n setTagsSettings: toReducer((tags: TagsSettings) => toPreparedAction({ tags })),\n },\n});\n\nexport const {\n toggleRealTimeUpdates,\n setRealTimeUpdatesInterval,\n setShortUrlCreationSettings,\n setShortUrlsListSettings,\n setUiSettings,\n setVisitsSettings,\n setTagsSettings,\n} = actions;\n\nexport const settingsReducer = reducer;\n","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the smaller of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.minBy, R.max\n * @example\n *\n * R.min(789, 123); //=> 123\n * R.min('a', 'b'); //=> 'a'\n */\n\nvar min =\n/*#__PURE__*/\n_curry2(function min(a, b) {\n return b < a ? b : a;\n});\n\nexport default min;","const TEN_ROUNDING_NUMBER = 10;\nconst { ceil } = Math;\nconst formatter = new Intl.NumberFormat('en-US');\n\nexport const prettify = (number: number | string) => formatter.format(Number(number));\n\nexport const roundTen = (number: number) => ceil(number / TEN_ROUNDING_NUMBER) * TEN_ROUNDING_NUMBER;\n","import { max, min, range } from 'ramda';\nimport { prettify } from './numbers';\n\nconst DELTA = 2;\n\nexport const ELLIPSIS = '...';\n\ntype Ellipsis = typeof ELLIPSIS;\n\nexport type NumberOrEllipsis = number | Ellipsis;\n\nexport const progressivePagination = (currentPage: number, pageCount: number): NumberOrEllipsis[] => {\n const pages: NumberOrEllipsis[] = range(\n max(DELTA, currentPage - DELTA),\n min(pageCount - 1, currentPage + DELTA) + 1,\n );\n\n if (currentPage - DELTA > DELTA) {\n pages.unshift(ELLIPSIS);\n }\n if (currentPage + DELTA < pageCount - 1) {\n pages.push(ELLIPSIS);\n }\n\n pages.unshift(1);\n pages.push(pageCount);\n\n return pages;\n};\n\nexport const pageIsEllipsis = (pageNumber: NumberOrEllipsis): pageNumber is Ellipsis => pageNumber === ELLIPSIS;\n\nexport const prettifyPageNumber = (pageNumber: NumberOrEllipsis): string => (\n pageIsEllipsis(pageNumber) ? pageNumber : prettify(pageNumber)\n);\n\nexport const keyForPage = (pageNumber: NumberOrEllipsis, index: number) => (\n !pageIsEllipsis(pageNumber) ? `${pageNumber}` : `${pageNumber}_${index}`\n);\n","import { Link } from 'react-router-dom';\nimport { Pagination, PaginationItem, PaginationLink } from 'reactstrap';\nimport {\n pageIsEllipsis,\n keyForPage,\n progressivePagination,\n prettifyPageNumber,\n NumberOrEllipsis,\n} from '../utils/helpers/pagination';\nimport { ShlinkPaginator } from '../api/types';\n\ninterface PaginatorProps {\n paginator?: ShlinkPaginator;\n serverId: string;\n currentQueryString?: string;\n}\n\nexport const Paginator = ({ paginator, serverId, currentQueryString = '' }: PaginatorProps) => {\n const { currentPage = 0, pagesCount = 0 } = paginator ?? {};\n const urlForPage = (pageNumber: NumberOrEllipsis) =>\n `/server/${serverId}/list-short-urls/${pageNumber}${currentQueryString}`;\n\n if (pagesCount <= 1) {\n return null;\n }\n\n const renderPages = () =>\n progressivePagination(currentPage, pagesCount).map((pageNumber, index) => (\n \n \n {prettifyPageNumber(pageNumber)}\n \n \n ));\n\n return (\n \n \n \n \n {renderPages()}\n = pagesCount}>\n \n \n \n );\n};\n","import { pipe } from 'ramda';\nimport { FC, useEffect, useState } from 'react';\nimport { Card } from 'reactstrap';\nimport { useLocation, useParams } from 'react-router-dom';\nimport { determineOrderDir, OrderDir } from '../utils/helpers/ordering';\nimport { getServerId, SelectedServer } from '../servers/data';\nimport { boundToMercureHub } from '../mercure/helpers/boundToMercureHub';\nimport { Topics } from '../mercure/helpers/Topics';\nimport { TableOrderIcon } from '../utils/table/TableOrderIcon';\nimport { ShlinkShortUrlsListParams } from '../api/types';\nimport { DEFAULT_SHORT_URLS_ORDERING, Settings } from '../settings/reducers/settings';\nimport { ShortUrlsList as ShortUrlsListState } from './reducers/shortUrlsList';\nimport { ShortUrlsTableProps } from './ShortUrlsTable';\nimport { Paginator } from './Paginator';\nimport { useShortUrlsQuery } from './helpers/hooks';\nimport { ShortUrlsOrderableFields } from './data';\nimport { ShortUrlsFilteringProps } from './ShortUrlsFilteringBar';\n\ninterface ShortUrlsListProps {\n selectedServer: SelectedServer;\n shortUrlsList: ShortUrlsListState;\n listShortUrls: (params: ShlinkShortUrlsListParams) => void;\n settings: Settings;\n}\n\nexport const ShortUrlsList = (\n ShortUrlsTable: FC,\n ShortUrlsFilteringBar: FC,\n) => boundToMercureHub(({ listShortUrls, shortUrlsList, selectedServer, settings }: ShortUrlsListProps) => {\n const serverId = getServerId(selectedServer);\n const { page } = useParams();\n const location = useLocation();\n const [{ tags, search, startDate, endDate, orderBy, tagsMode }, toFirstPage] = useShortUrlsQuery();\n const [actualOrderBy, setActualOrderBy] = useState(\n // This separated state handling is needed to be able to fall back to settings value, but only once when loaded\n orderBy ?? settings.shortUrlsList?.defaultOrdering ?? DEFAULT_SHORT_URLS_ORDERING,\n );\n const { pagination } = shortUrlsList?.shortUrls ?? {};\n const handleOrderBy = (field?: ShortUrlsOrderableFields, dir?: OrderDir) => {\n toFirstPage({ orderBy: { field, dir } });\n setActualOrderBy({ field, dir });\n };\n const orderByColumn = (field: ShortUrlsOrderableFields) => () =>\n handleOrderBy(field, determineOrderDir(field, actualOrderBy.field, actualOrderBy.dir));\n const renderOrderIcon = (field: ShortUrlsOrderableFields) =>\n ;\n const addTag = pipe(\n (newTag: string) => [...new Set([...tags, newTag])],\n (updatedTags) => toFirstPage({ tags: updatedTags }),\n );\n\n useEffect(() => {\n listShortUrls({\n page,\n searchTerm: search,\n tags,\n startDate,\n endDate,\n orderBy: actualOrderBy,\n tagsMode,\n });\n }, [page, search, tags, startDate, endDate, actualOrderBy, tagsMode]);\n\n return (\n <>\n \n \n \n \n \n \n );\n}, () => [Topics.visits]);\n","import { FC, MouseEventHandler, PropsWithChildren } from 'react';\nimport classNames from 'classnames';\nimport { ColorGenerator } from '../../utils/services/ColorGenerator';\nimport './Tag.scss';\n\ntype TagProps = PropsWithChildren<{\n colorGenerator: ColorGenerator;\n text: string;\n className?: string;\n clearable?: boolean;\n onClick?: MouseEventHandler;\n onClose?: MouseEventHandler;\n}>;\n\nexport const Tag: FC = ({ text, children, clearable, className = '', colorGenerator, onClick, onClose }) => (\n \n {children ?? text}\n {clearable && (\n ×\n )}\n \n);\n","import { FC } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCopy as copyIcon } from '@fortawesome/free-regular-svg-icons';\nimport CopyToClipboard from 'react-copy-to-clipboard';\nimport './CopyToClipboardIcon.scss';\n\ninterface CopyToClipboardIconProps {\n text: string;\n onCopy?: (text: string, result: boolean) => void;\n}\n\nexport const CopyToClipboardIcon: FC = ({ text, onCopy }) => (\n \n \n \n);\n","import getTime from \"../getTime/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getUnixTime\n * @category Timestamp Helpers\n * @summary Get the seconds timestamp of the given date.\n *\n * @description\n * Get the seconds timestamp of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the timestamp\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the timestamp of 29 February 2012 11:45:05 CET:\n * const result = getUnixTime(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 1330512305\n */\n\nexport default function getUnixTime(dirtyDate) {\n requiredArgs(1, arguments);\n return Math.floor(getTime(dirtyDate) / 1000);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\n\nexport default function compareAsc(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1; // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}","import toDate from \"../toDate/index.js\";\nimport endOfDay from \"../endOfDay/index.js\";\nimport endOfMonth from \"../endOfMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is the last day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\n\nexport default function isLastDayOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n return endOfDay(date).getTime() === endOfMonth(date).getTime();\n}","import toDate from \"../toDate/index.js\";\nimport differenceInCalendarMonths from \"../differenceInCalendarMonths/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport isLastDayOfMonth from \"../isLastDayOfMonth/index.js\";\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates using trunc as a default rounding method.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\n\nexport default function differenceInMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var sign = compareAsc(dateLeft, dateRight);\n var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight));\n var result; // Check for the difference of less than month\n\n if (difference < 1) {\n result = 0;\n } else {\n if (dateLeft.getMonth() === 1 && dateLeft.getDate() > 27) {\n // This will check if the date is end of Feb and assign a higher end of month date\n // to compare it with Jan\n dateLeft.setDate(30);\n }\n\n dateLeft.setMonth(dateLeft.getMonth() - sign * difference); // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n // If so, result must be decreased by 1 in absolute value\n\n var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign; // Check for cases of one full calendar month\n\n if (isLastDayOfMonth(toDate(dirtyDateLeft)) && difference === 1 && compareAsc(dirtyDateLeft, dateRight) === 1) {\n isLastMonthNotFull = false;\n }\n\n result = sign * (difference - Number(isLastMonthNotFull));\n } // Prevent negative zero\n\n\n return result === 0 ? 0 : result;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\n\nexport default function differenceInMilliseconds(dateLeft, dateRight) {\n requiredArgs(2, arguments);\n return toDate(dateLeft).getTime() - toDate(dateRight).getTime();\n}","var roundingMap = {\n ceil: Math.ceil,\n round: Math.round,\n floor: Math.floor,\n trunc: function trunc(value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n } // Math.trunc is not supported by IE\n\n};\nvar defaultRoundingMethod = 'trunc';\nexport function getRoundingMethod(method) {\n return method ? roundingMap[method] : roundingMap[defaultRoundingMethod];\n}","import differenceInMilliseconds from \"../differenceInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Number} the number of seconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\n\nexport default function differenceInSeconds(dateLeft, dateRight, options) {\n requiredArgs(2, arguments);\n var diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);\n}","import assign from \"../assign/index.js\";\nexport default function cloneObject(object) {\n return assign({}, object);\n}","import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport differenceInMonths from \"../differenceInMonths/index.js\";\nimport differenceInSeconds from \"../differenceInSeconds/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport cloneObject from \"../_lib/cloneObject/index.js\";\nimport assign from \"../_lib/assign/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MINUTES_IN_DAY = 1440;\nvar MINUTES_IN_ALMOST_TWO_DAYS = 2520;\nvar MINUTES_IN_MONTH = 43200;\nvar MINUTES_IN_TWO_MONTHS = 86400;\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0),\n * { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport default function formatDistance(dirtyDate, dirtyBaseDate, options) {\n var _ref, _options$locale;\n\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain formatDistance property');\n }\n\n var comparison = compareAsc(dirtyDate, dirtyBaseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\n\n var localizeOptions = assign(cloneObject(options), {\n addSuffix: Boolean(options === null || options === void 0 ? void 0 : options.addSuffix),\n comparison: comparison\n });\n var dateLeft;\n var dateRight;\n\n if (comparison > 0) {\n dateLeft = toDate(dirtyBaseDate);\n dateRight = toDate(dirtyDate);\n } else {\n dateLeft = toDate(dirtyDate);\n dateRight = toDate(dirtyBaseDate);\n }\n\n var seconds = differenceInSeconds(dateRight, dateLeft);\n var offsetInSeconds = (getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft)) / 1000;\n var minutes = Math.round((seconds - offsetInSeconds) / 60);\n var months; // 0 up to 2 mins\n\n if (minutes < 2) {\n if (options !== null && options !== void 0 && options.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance('lessThanXSeconds', 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance('lessThanXSeconds', 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance('lessThanXSeconds', 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance('halfAMinute', 0, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance('lessThanXMinutes', 1, localizeOptions);\n } else {\n return locale.formatDistance('xMinutes', 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance('lessThanXMinutes', 1, localizeOptions);\n } else {\n return locale.formatDistance('xMinutes', minutes, localizeOptions);\n }\n } // 2 mins up to 0.75 hrs\n\n } else if (minutes < 45) {\n return locale.formatDistance('xMinutes', minutes, localizeOptions); // 0.75 hrs up to 1.5 hrs\n } else if (minutes < 90) {\n return locale.formatDistance('aboutXHours', 1, localizeOptions); // 1.5 hrs up to 24 hrs\n } else if (minutes < MINUTES_IN_DAY) {\n var hours = Math.round(minutes / 60);\n return locale.formatDistance('aboutXHours', hours, localizeOptions); // 1 day up to 1.75 days\n } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {\n return locale.formatDistance('xDays', 1, localizeOptions); // 1.75 days up to 30 days\n } else if (minutes < MINUTES_IN_MONTH) {\n var days = Math.round(minutes / MINUTES_IN_DAY);\n return locale.formatDistance('xDays', days, localizeOptions); // 1 month up to 2 months\n } else if (minutes < MINUTES_IN_TWO_MONTHS) {\n months = Math.round(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('aboutXMonths', months, localizeOptions);\n }\n\n months = differenceInMonths(dateRight, dateLeft); // 2 months up to 12 months\n\n if (months < 12) {\n var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('xMonths', nearestMonth, localizeOptions); // 1 year up to max Date\n } else {\n var monthsSinceStartOfYear = months % 12;\n var years = Math.floor(months / 12); // N years up to 1 years 3 months\n\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance('aboutXYears', years, localizeOptions); // N years 3 months up to N years 9 months\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance('overXYears', years, localizeOptions); // N years 9 months up to N year 12 months\n } else {\n return locale.formatDistance('almostXYears', years + 1, localizeOptions);\n }\n }\n}","import { parseISO, format as formatDate, getUnixTime, formatDistance } from 'date-fns';\nimport { isDateObject, now, STANDARD_DATE_AND_TIME_FORMAT } from '../helpers/date';\n\nexport interface TimeProps {\n date: Date | string;\n format?: string;\n relative?: boolean;\n}\n\nexport const Time = ({ date, format = STANDARD_DATE_AND_TIME_FORMAT, relative = false }: TimeProps) => {\n const dateObject = isDateObject(date) ? date : parseISO(date);\n\n return (\n \n );\n};\n","import _isArrayLike from \"./_isArrayLike.js\";\n/**\n * `_makeFlat` is a helper function that returns a one-level or fully recursive\n * function based on the flag passed in.\n *\n * @private\n */\n\nexport default function _makeFlat(recursive) {\n return function flatt(list) {\n var value, jlen, j;\n var result = [];\n var idx = 0;\n var ilen = list.length;\n\n while (idx < ilen) {\n if (_isArrayLike(list[idx])) {\n value = recursive ? flatt(list[idx]) : list[idx];\n j = 0;\n jlen = value.length;\n\n while (j < jlen) {\n result[result.length] = value[j];\n j += 1;\n }\n } else {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n };\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _makeFlat from \"./internal/_makeFlat.js\";\n/**\n * Returns a new list by pulling every item out of it (and all its sub-arrays)\n * and putting them in a new array, depth-first.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b]\n * @param {Array} list The array to consider.\n * @return {Array} The flattened list.\n * @see R.unnest\n * @example\n *\n * R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);\n * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n */\n\nvar flatten =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_makeFlat(true));\n\nexport default flatten;","import _curry2 from \"./internal/_curry2.js\";\nimport slice from \"./slice.js\";\n/**\n * Splits a collection into slices of the specified length.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @sig Number -> String -> [String]\n * @param {Number} n\n * @param {Array} list\n * @return {Array}\n * @example\n *\n * R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]]\n * R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz']\n */\n\nvar splitEvery =\n/*#__PURE__*/\n_curry2(function splitEvery(n, list) {\n if (n <= 0) {\n throw new Error('First argument to splitEvery must be a positive integer');\n }\n\n var result = [];\n var idx = 0;\n\n while (idx < list.length) {\n result.push(slice(idx, idx += n, list));\n }\n\n return result;\n});\n\nexport default splitEvery;","import { createAsyncThunk as baseCreateAsyncThunk, AsyncThunkPayloadCreator } from '@reduxjs/toolkit';\nimport { identity } from 'ramda';\nimport { ShlinkState } from '../../container/types';\n\nexport const createAsyncThunk = (\n typePrefix: string,\n payloadCreator: AsyncThunkPayloadCreator,\n) => baseCreateAsyncThunk(\n typePrefix,\n payloadCreator,\n { serializeError: identity },\n );\n","import { createAction, PayloadAction } from '@reduxjs/toolkit';\nimport { CreateVisit } from '../types';\n\nexport type CreateVisitsAction = PayloadAction<{\n createdVisits: CreateVisit[];\n}>;\n\nexport const createNewVisits = createAction(\n 'shlink/visitCreation/createNewVisits',\n (createdVisits: CreateVisit[]) => ({ payload: { createdVisits } }),\n);\n","import { flatten, prop, range, splitEvery } from 'ramda';\nimport { createAction, createSlice } from '@reduxjs/toolkit';\nimport { ShlinkPaginator, ShlinkVisits, ShlinkVisitsParams } from '../../api/types';\nimport { CreateVisit, Visit } from '../types';\nimport { DateInterval, dateToMatchingInterval } from '../../utils/helpers/dateIntervals';\nimport { LoadVisits, VisitsInfo, VisitsLoaded } from './types';\nimport { createAsyncThunk } from '../../utils/helpers/redux';\nimport { ShlinkState } from '../../container/types';\nimport { parseApiError } from '../../api/utils';\nimport { createNewVisits } from './visitCreation';\n\nconst ITEMS_PER_PAGE = 5000;\nconst PARALLEL_REQUESTS_COUNT = 4;\nconst PARALLEL_STARTING_PAGE = 2;\n\nconst isLastPage = ({ currentPage, pagesCount }: ShlinkPaginator): boolean => currentPage >= pagesCount;\nconst calcProgress = (total: number, current: number): number => (current * 100) / total;\n\ntype VisitsLoader = (page: number, itemsPerPage: number) => Promise;\ntype LastVisitLoader = () => Promise;\n\ninterface VisitsAsyncThunkOptions {\n typePrefix: string;\n createLoaders: (params: T, getState: () => ShlinkState) => [VisitsLoader, LastVisitLoader];\n getExtraFulfilledPayload: (params: T) => Partial;\n shouldCancel: (getState: () => ShlinkState) => boolean;\n}\n\nexport const createVisitsAsyncThunk = (\n { typePrefix, createLoaders, getExtraFulfilledPayload, shouldCancel }: VisitsAsyncThunkOptions,\n) => {\n const progressChangedAction = createAction(`${typePrefix}/progressChanged`);\n const largeAction = createAction(`${typePrefix}/large`);\n const fallbackToIntervalAction = createAction(`${typePrefix}/fallbackToInterval`);\n\n const asyncThunk = createAsyncThunk(typePrefix, async (params: T, { getState, dispatch }): Promise => {\n const [visitsLoader, lastVisitLoader] = createLoaders(params, getState);\n\n const loadVisitsInParallel = async (pages: number[]): Promise =>\n Promise.all(pages.map(async (page) => visitsLoader(page, ITEMS_PER_PAGE).then(prop('data')))).then(flatten);\n\n const loadPagesBlocks = async (pagesBlocks: number[][], index = 0): Promise => {\n if (shouldCancel(getState)) {\n return [];\n }\n\n const data = await loadVisitsInParallel(pagesBlocks[index]);\n\n dispatch(progressChangedAction(calcProgress(pagesBlocks.length, index + PARALLEL_STARTING_PAGE)));\n\n if (index < pagesBlocks.length - 1) {\n return data.concat(await loadPagesBlocks(pagesBlocks, index + 1));\n }\n\n return data;\n };\n\n const loadVisits = async (page = 1) => {\n const { pagination, data } = await visitsLoader(page, ITEMS_PER_PAGE);\n\n // If pagination was not returned, then this is an old shlink version. Just return data\n if (!pagination || isLastPage(pagination)) {\n return data;\n }\n\n // If there are more pages, make requests in blocks of 4\n const pagesRange = range(PARALLEL_STARTING_PAGE, pagination.pagesCount + 1);\n const pagesBlocks = splitEvery(PARALLEL_REQUESTS_COUNT, pagesRange);\n\n if (pagination.pagesCount - 1 > PARALLEL_REQUESTS_COUNT) {\n dispatch(largeAction());\n }\n\n return data.concat(await loadPagesBlocks(pagesBlocks));\n };\n\n const [visits, lastVisit] = await Promise.all([loadVisits(), lastVisitLoader()]);\n\n if (!visits.length && lastVisit) {\n dispatch(fallbackToIntervalAction(dateToMatchingInterval(lastVisit.date)));\n }\n\n return { ...getExtraFulfilledPayload(params), visits } as any; // TODO Get rid of this casting\n });\n\n return { asyncThunk, progressChangedAction, largeAction, fallbackToIntervalAction };\n};\n\nexport const lastVisitLoaderForLoader = (\n doIntervalFallback: boolean,\n loader: (params: ShlinkVisitsParams) => Promise,\n): LastVisitLoader => {\n if (!doIntervalFallback) {\n return async () => Promise.resolve(undefined);\n }\n\n return async () => loader({ page: 1, itemsPerPage: 1 }).then(({ data }) => data[0]);\n};\n\ninterface VisitsReducerOptions> {\n name: string;\n asyncThunkCreator: AT;\n initialState: State;\n filterCreatedVisits: (state: State, createdVisits: CreateVisit[]) => CreateVisit[];\n}\n\nexport const createVisitsReducer = >(\n { name, asyncThunkCreator, initialState, filterCreatedVisits }: VisitsReducerOptions,\n) => {\n const { asyncThunk, largeAction, fallbackToIntervalAction, progressChangedAction } = asyncThunkCreator;\n const { reducer, actions } = createSlice({\n name,\n initialState,\n reducers: {\n cancelGetVisits: (state) => ({ ...state, cancelLoad: true }),\n },\n extraReducers: (builder) => {\n builder.addCase(asyncThunk.pending, () => ({ ...initialState, loading: true }));\n builder.addCase(asyncThunk.rejected, (_, { error }) => (\n { ...initialState, error: true, errorData: parseApiError(error) }\n ));\n builder.addCase(asyncThunk.fulfilled, (state, { payload }) => (\n { ...state, ...payload, loading: false, loadingLarge: false, error: false }\n ));\n\n builder.addCase(largeAction, (state) => ({ ...state, loadingLarge: true }));\n builder.addCase(progressChangedAction, (state, { payload: progress }) => ({ ...state, progress }));\n builder.addCase(fallbackToIntervalAction, (state, { payload: fallbackInterval }) => (\n { ...state, fallbackInterval }\n ));\n\n builder.addCase(createNewVisits, (state, { payload }) => {\n const { visits } = state;\n // @ts-expect-error TODO Fix type inference\n const newVisits = filterCreatedVisits(state, payload.createdVisits).map(({ visit }) => visit);\n\n return !newVisits.length ? state : { ...state, visits: [...newVisits, ...visits] };\n });\n },\n });\n const { cancelGetVisits } = actions;\n\n return { reducer, cancelGetVisits };\n};\n","import { ShlinkApiClientBuilder } from '../../api/services/ShlinkApiClientBuilder';\nimport { isBetween } from '../../utils/helpers/date';\nimport { createVisitsAsyncThunk, createVisitsReducer, lastVisitLoaderForLoader } from './common';\nimport { domainMatches } from '../../short-urls/helpers';\nimport { LoadVisits, VisitsInfo } from './types';\n\nconst REDUCER_PREFIX = 'shlink/domainVisits';\n\nexport const DEFAULT_DOMAIN = 'DEFAULT';\n\ninterface WithDomain {\n domain: string;\n}\n\nexport interface DomainVisits extends VisitsInfo, WithDomain {}\n\nexport interface LoadDomainVisits extends LoadVisits, WithDomain {}\n\nconst initialState: DomainVisits = {\n visits: [],\n domain: '',\n loading: false,\n loadingLarge: false,\n error: false,\n cancelLoad: false,\n progress: 0,\n};\n\nexport const getDomainVisits = (buildShlinkApiClient: ShlinkApiClientBuilder) => createVisitsAsyncThunk({\n typePrefix: `${REDUCER_PREFIX}/getDomainVisits`,\n createLoaders: ({ domain, query = {}, doIntervalFallback = false }: LoadDomainVisits, getState) => {\n const { getDomainVisits: getVisits } = buildShlinkApiClient(getState);\n const visitsLoader = async (page: number, itemsPerPage: number) => getVisits(\n domain,\n { ...query, page, itemsPerPage },\n );\n const lastVisitLoader = lastVisitLoaderForLoader(doIntervalFallback, async (params) => getVisits(domain, params));\n\n return [visitsLoader, lastVisitLoader];\n },\n getExtraFulfilledPayload: ({ domain, query = {} }: LoadDomainVisits) => ({ domain, query }),\n shouldCancel: (getState) => getState().domainVisits.cancelLoad,\n});\n\nexport const domainVisitsReducerCreator = (\n asyncThunkCreator: ReturnType,\n) => createVisitsReducer({\n name: REDUCER_PREFIX,\n initialState,\n // @ts-expect-error TODO Fix type inference\n asyncThunkCreator,\n filterCreatedVisits: ({ domain, query = {} }, createdVisits) => {\n const { startDate, endDate } = query;\n return createdVisits.filter(\n ({ shortUrl, visit }) =>\n shortUrl && domainMatches(shortUrl, domain) && isBetween(visit.date, startDate, endDate),\n );\n },\n});\n","import { isNil } from 'ramda';\nimport { ShortUrl, ShortUrlData } from '../data';\nimport { OptionalString } from '../../utils/utils';\nimport { DEFAULT_DOMAIN } from '../../visits/reducers/domainVisits';\nimport { ShortUrlCreationSettings } from '../../settings/reducers/settings';\n\nexport const shortUrlMatches = (shortUrl: ShortUrl, shortCode: string, domain: OptionalString): boolean => {\n if (isNil(domain)) {\n return shortUrl.shortCode === shortCode && !shortUrl.domain;\n }\n\n return shortUrl.shortCode === shortCode && shortUrl.domain === domain;\n};\n\nexport const domainMatches = (shortUrl: ShortUrl, domain: string): boolean => {\n if (!shortUrl.domain && domain === DEFAULT_DOMAIN) {\n return true;\n }\n\n return shortUrl.domain === domain;\n};\n\nexport const shortUrlDataFromShortUrl = (shortUrl?: ShortUrl, settings?: ShortUrlCreationSettings): ShortUrlData => {\n const validateUrl = settings?.validateUrls ?? false;\n\n if (!shortUrl) {\n return { longUrl: '', validateUrl };\n }\n\n return {\n longUrl: shortUrl.longUrl,\n tags: shortUrl.tags,\n title: shortUrl.title ?? undefined,\n domain: shortUrl.domain ?? undefined,\n validSince: shortUrl.meta.validSince ?? undefined,\n validUntil: shortUrl.meta.validUntil ?? undefined,\n maxVisits: shortUrl.meta.maxVisits ?? undefined,\n crawlable: shortUrl.crawlable,\n forwardQuery: shortUrl.forwardQuery,\n validateUrl,\n };\n};\n\nconst MULTI_SEGMENT_SEPARATOR = '__';\n\nexport const urlEncodeShortCode = (shortCode: string): string => shortCode.replaceAll('/', MULTI_SEGMENT_SEPARATOR);\n\nexport const urlDecodeShortCode = (shortCode: string): string => shortCode.replaceAll(MULTI_SEGMENT_SEPARATOR, '/');\n","import { FC } from 'react';\nimport { Link } from 'react-router-dom';\nimport { isServerWithId, SelectedServer, ServerWithId } from '../../servers/data';\nimport { ShortUrl } from '../data';\nimport { urlEncodeShortCode } from './index';\n\nexport type LinkSuffix = 'visits' | 'edit';\n\nexport interface ShortUrlDetailLinkProps {\n shortUrl?: ShortUrl | null;\n selectedServer?: SelectedServer;\n suffix: LinkSuffix;\n}\n\nconst buildUrl = ({ id }: ServerWithId, { shortCode, domain }: ShortUrl, suffix: LinkSuffix) => {\n const query = domain ? `?domain=${domain}` : '';\n return `/server/${id}/short-code/${urlEncodeShortCode(shortCode)}/${suffix}${query}`;\n};\n\nexport const ShortUrlDetailLink: FC> = (\n { selectedServer, shortUrl, suffix, children, ...rest },\n) => {\n if (!selectedServer || !isServerWithId(selectedServer) || !shortUrl) {\n return {children};\n }\n\n return {children};\n};\n","import { MutableRefObject, Ref } from 'react';\n\nexport const mutableRefToElementRef = (ref: MutableRefObject): Ref => (el) => {\n ref.current = el ?? undefined; // eslint-disable-line no-param-reassign\n};\n","import { useRef } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faInfoCircle as infoIcon } from '@fortawesome/free-solid-svg-icons';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport classNames from 'classnames';\nimport { prettify } from '../../utils/helpers/numbers';\nimport { ShortUrl } from '../data';\nimport { SelectedServer } from '../../servers/data';\nimport { ShortUrlDetailLink } from './ShortUrlDetailLink';\nimport './ShortUrlVisitsCount.scss';\nimport { mutableRefToElementRef } from '../../utils/helpers/components';\n\ninterface ShortUrlVisitsCountProps {\n shortUrl?: ShortUrl | null;\n selectedServer?: SelectedServer;\n visitsCount: number;\n active?: boolean;\n}\n\nexport const ShortUrlVisitsCount = (\n { visitsCount, shortUrl, selectedServer, active = false }: ShortUrlVisitsCountProps,\n) => {\n const maxVisits = shortUrl?.meta?.maxVisits;\n const visitsLink = (\n \n \n {prettify(visitsCount)}\n \n \n );\n\n if (!maxVisits) {\n return visitsLink;\n }\n\n const prettifiedMaxVisits = prettify(maxVisits);\n const tooltipRef = useRef();\n\n return (\n <>\n \n {visitsLink}\n \n {' '}/ {prettifiedMaxVisits}{' '}\n \n \n \n \n \n tooltipRef.current) as any} placement=\"bottom\">\n This short URL will not accept more than {prettifiedMaxVisits} visits.\n \n \n );\n};\n","import { FC, useEffect, useRef } from 'react';\nimport { isEmpty } from 'ramda';\nimport { ExternalLink } from 'react-external-link';\nimport { ColorGenerator } from '../../utils/services/ColorGenerator';\nimport { TimeoutToggle } from '../../utils/helpers/hooks';\nimport { Tag } from '../../tags/helpers/Tag';\nimport { SelectedServer } from '../../servers/data';\nimport { CopyToClipboardIcon } from '../../utils/CopyToClipboardIcon';\nimport { ShortUrl } from '../data';\nimport { Time } from '../../utils/dates/Time';\nimport { ShortUrlVisitsCount } from './ShortUrlVisitsCount';\nimport { ShortUrlsRowMenuProps } from './ShortUrlsRowMenu';\nimport './ShortUrlsRow.scss';\n\nexport interface ShortUrlsRowProps {\n onTagClick?: (tag: string) => void;\n selectedServer: SelectedServer;\n shortUrl: ShortUrl;\n}\n\nexport const ShortUrlsRow = (\n ShortUrlsRowMenu: FC,\n colorGenerator: ColorGenerator,\n useTimeoutToggle: TimeoutToggle,\n) => ({ shortUrl, selectedServer, onTagClick }: ShortUrlsRowProps) => {\n const [copiedToClipboard, setCopiedToClipboard] = useTimeoutToggle();\n const [active, setActive] = useTimeoutToggle(false, 500);\n const isFirstRun = useRef(true);\n\n const renderTags = (tags: string[]) => {\n if (isEmpty(tags)) {\n return No tags;\n }\n\n return tags.map((tag) => (\n onTagClick?.(tag)}\n />\n ));\n };\n\n useEffect(() => {\n !isFirstRun.current && setActive();\n isFirstRun.current = false;\n }, [shortUrl.visitsCount]);\n\n return (\n \n \n
\n \n {tagFilteringModeHint(shortUrlCreation.tagFilteringMode)}\n \n \n );\n};\n","import { FC } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSun, faMoon } from '@fortawesome/free-solid-svg-icons';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport { ToggleSwitch } from '../utils/ToggleSwitch';\nimport { changeThemeInMarkup, Theme } from '../utils/theme';\nimport { Settings, UiSettings } from './reducers/settings';\nimport './UserInterfaceSettings.scss';\n\ninterface UserInterfaceProps {\n settings: Settings;\n setUiSettings: (settings: UiSettings) => void;\n}\n\nexport const UserInterfaceSettings: FC = ({ settings: { ui }, setUiSettings }) => (\n \n \n {\n const theme: Theme = useDarkTheme ? 'dark' : 'light';\n\n setUiSettings({ ...ui, theme });\n changeThemeInMarkup(theme);\n }}\n >\n Use dark theme.\n \n \n);\n","import { FC } from 'react';\nimport { DropdownBtn } from '../DropdownBtn';\nimport { rangeOrIntervalToString } from '../helpers/dateIntervals';\nimport { DateIntervalDropdownItems, DateIntervalDropdownProps } from './DateIntervalDropdownItems';\n\nexport const DateIntervalSelector: FC = ({ onChange, active, allText }) => (\n \n \n \n);\n","import { FC } from 'react';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport { DateIntervalSelector } from '../utils/dates/DateIntervalSelector';\nimport { LabeledFormGroup } from '../utils/forms/LabeledFormGroup';\nimport { Settings, VisitsSettings as VisitsSettingsConfig } from './reducers/settings';\n\ninterface VisitsProps {\n settings: Settings;\n setVisitsSettings: (settings: VisitsSettingsConfig) => void;\n}\n\nexport const VisitsSettings: FC = ({ settings, setVisitsSettings }) => (\n \n \n setVisitsSettings({ defaultInterval })}\n />\n \n \n);\n","import { FC } from 'react';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport { TagsModeDropdown } from '../tags/TagsModeDropdown';\nimport { capitalize } from '../utils/utils';\nimport { OrderingDropdown } from '../utils/OrderingDropdown';\nimport { TAGS_ORDERABLE_FIELDS } from '../tags/data/TagsListChildrenProps';\nimport { FormText } from '../utils/forms/FormText';\nimport { LabeledFormGroup } from '../utils/forms/LabeledFormGroup';\nimport { Settings, TagsSettings as TagsSettingsOptions } from './reducers/settings';\n\ninterface TagsProps {\n settings: Settings;\n setTagsSettings: (settings: TagsSettingsOptions) => void;\n}\n\nexport const TagsSettings: FC = ({ settings: { tags }, setTagsSettings }) => (\n \n \n capitalize(tagsMode)}\n onChange={(defaultMode) => setTagsSettings({ ...tags, defaultMode })}\n />\n Tags will be displayed as {tags?.defaultMode ?? 'cards'}.\n \n \n setTagsSettings({ ...tags, defaultOrdering: { field, dir } })}\n />\n \n \n);\n","import { FC } from 'react';\nimport { OrderingDropdown } from '../utils/OrderingDropdown';\nimport { SHORT_URLS_ORDERABLE_FIELDS } from '../short-urls/data';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport { LabeledFormGroup } from '../utils/forms/LabeledFormGroup';\nimport { DEFAULT_SHORT_URLS_ORDERING, Settings, ShortUrlsListSettings as ShortUrlsSettings } from './reducers/settings';\n\ninterface ShortUrlsListSettingsProps {\n settings: Settings;\n setShortUrlsListSettings: (settings: ShortUrlsSettings) => void;\n}\n\nexport const ShortUrlsListSettings: FC = (\n { settings: { shortUrlsList }, setShortUrlsListSettings },\n) => (\n \n \n setShortUrlsListSettings({ defaultOrdering: { field, dir } })}\n />\n \n \n);\n","import Bottle from 'bottlejs';\nimport { RealTimeUpdatesSettings } from '../RealTimeUpdatesSettings';\nimport { Settings } from '../Settings';\nimport {\n setRealTimeUpdatesInterval,\n setShortUrlCreationSettings,\n setShortUrlsListSettings,\n setTagsSettings,\n setUiSettings,\n setVisitsSettings,\n toggleRealTimeUpdates,\n} from '../reducers/settings';\nimport { ConnectDecorator } from '../../container/types';\nimport { withoutSelectedServer } from '../../servers/helpers/withoutSelectedServer';\nimport { ShortUrlCreationSettings } from '../ShortUrlCreationSettings';\nimport { UserInterfaceSettings } from '../UserInterfaceSettings';\nimport { VisitsSettings } from '../VisitsSettings';\nimport { TagsSettings } from '../TagsSettings';\nimport { ShortUrlsListSettings } from '../ShortUrlsListSettings';\n\nconst provideServices = (bottle: Bottle, connect: ConnectDecorator) => {\n // Components\n bottle.serviceFactory(\n 'Settings',\n Settings,\n 'RealTimeUpdatesSettings',\n 'ShortUrlCreationSettings',\n 'ShortUrlsListSettings',\n 'UserInterfaceSettings',\n 'VisitsSettings',\n 'TagsSettings',\n );\n bottle.decorator('Settings', withoutSelectedServer);\n bottle.decorator('Settings', connect(null, ['resetSelectedServer']));\n\n bottle.serviceFactory('RealTimeUpdatesSettings', () => RealTimeUpdatesSettings);\n bottle.decorator(\n 'RealTimeUpdatesSettings',\n connect(['settings'], ['toggleRealTimeUpdates', 'setRealTimeUpdatesInterval']),\n );\n\n bottle.serviceFactory('ShortUrlCreationSettings', () => ShortUrlCreationSettings);\n bottle.decorator('ShortUrlCreationSettings', connect(['settings'], ['setShortUrlCreationSettings']));\n\n bottle.serviceFactory('UserInterfaceSettings', () => UserInterfaceSettings);\n bottle.decorator('UserInterfaceSettings', connect(['settings'], ['setUiSettings']));\n\n bottle.serviceFactory('VisitsSettings', () => VisitsSettings);\n bottle.decorator('VisitsSettings', connect(['settings'], ['setVisitsSettings']));\n\n bottle.serviceFactory('TagsSettings', () => TagsSettings);\n bottle.decorator('TagsSettings', connect(['settings'], ['setTagsSettings']));\n\n bottle.serviceFactory('ShortUrlsListSettings', () => ShortUrlsListSettings);\n bottle.decorator('ShortUrlsListSettings', connect(['settings'], ['setShortUrlsListSettings']));\n\n // Actions\n bottle.serviceFactory('toggleRealTimeUpdates', () => toggleRealTimeUpdates);\n bottle.serviceFactory('setRealTimeUpdatesInterval', () => setRealTimeUpdatesInterval);\n bottle.serviceFactory('setShortUrlCreationSettings', () => setShortUrlCreationSettings);\n bottle.serviceFactory('setShortUrlsListSettings', () => setShortUrlsListSettings);\n bottle.serviceFactory('setUiSettings', () => setUiSettings);\n bottle.serviceFactory('setVisitsSettings', () => setVisitsSettings);\n bottle.serviceFactory('setTagsSettings', () => setTagsSettings);\n};\n\nexport default provideServices;\n","export const replaceAuthorityFromUri = (uri: string, newAuthority: string): string => {\n const [schema, rest] = uri.split('://');\n const [, ...pathParts] = rest.split('/');\n const normalizedPath = pathParts.length ? `/${pathParts.join('/')}` : '';\n\n return `${schema}://${newAuthority}${normalizedPath}`;\n};\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import { createSlice, createAction, SliceCaseReducers, AsyncThunk } from '@reduxjs/toolkit';\nimport { createAsyncThunk } from '../../utils/helpers/redux';\nimport { ShlinkDomainRedirects } from '../../api/types';\nimport { ShlinkApiClientBuilder } from '../../api/services/ShlinkApiClientBuilder';\nimport { Domain, DomainStatus } from '../data';\nimport { hasServerData } from '../../servers/data';\nimport { replaceAuthorityFromUri } from '../../utils/helpers/uri';\nimport { ProblemDetailsError } from '../../api/types/errors';\nimport { parseApiError } from '../../api/utils';\nimport { EditDomainRedirects } from './domainRedirects';\n\nconst REDUCER_PREFIX = 'shlink/domainsList';\n\nexport interface DomainsList {\n domains: Domain[];\n filteredDomains: Domain[];\n defaultRedirects?: ShlinkDomainRedirects;\n loading: boolean;\n error: boolean;\n errorData?: ProblemDetailsError;\n}\n\ninterface ListDomains {\n domains: Domain[];\n defaultRedirects?: ShlinkDomainRedirects;\n}\n\ninterface ValidateDomain {\n domain: string;\n status: DomainStatus;\n}\n\nconst initialState: DomainsList = {\n domains: [],\n filteredDomains: [],\n loading: false,\n error: false,\n};\n\nexport const replaceRedirectsOnDomain = ({ domain, redirects }: EditDomainRedirects) =>\n (d: Domain): Domain => (d.domain !== domain ? d : { ...d, redirects });\n\nexport const replaceStatusOnDomain = (domain: string, status: DomainStatus) =>\n (d: Domain): Domain => (d.domain !== domain ? d : { ...d, status });\n\nexport const domainsListReducerCreator = (\n buildShlinkApiClient: ShlinkApiClientBuilder,\n editDomainRedirects: AsyncThunk,\n) => {\n const listDomains = createAsyncThunk(`${REDUCER_PREFIX}/listDomains`, async (_: void, { getState }): Promise => {\n const { listDomains: shlinkListDomains } = buildShlinkApiClient(getState);\n const { data, defaultRedirects } = await shlinkListDomains();\n\n return {\n domains: data.map((domain): Domain => ({ ...domain, status: 'validating' })),\n defaultRedirects,\n };\n });\n\n const checkDomainHealth = createAsyncThunk(\n `${REDUCER_PREFIX}/checkDomainHealth`,\n async (domain: string, { getState }): Promise => {\n const { selectedServer } = getState();\n\n if (!hasServerData(selectedServer)) {\n return { domain, status: 'invalid' };\n }\n\n try {\n const { url, ...rest } = selectedServer;\n const { health } = buildShlinkApiClient({\n ...rest,\n url: replaceAuthorityFromUri(url, domain),\n });\n\n const { status } = await health();\n\n return { domain, status: status === 'pass' ? 'valid' : 'invalid' };\n } catch (e) {\n return { domain, status: 'invalid' };\n }\n },\n );\n\n const filterDomains = createAction(`${REDUCER_PREFIX}/filterDomains`);\n\n const { reducer } = createSlice>({\n name: REDUCER_PREFIX,\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder.addCase(listDomains.pending, () => ({ ...initialState, loading: true }));\n builder.addCase(listDomains.rejected, (_, { error }) => (\n { ...initialState, error: true, errorData: parseApiError(error) }\n ));\n builder.addCase(listDomains.fulfilled, (_, { payload }) => (\n { ...initialState, ...payload, filteredDomains: payload.domains }\n ));\n\n builder.addCase(checkDomainHealth.fulfilled, ({ domains, filteredDomains, ...rest }, { payload }) => ({\n ...rest,\n domains: domains.map(replaceStatusOnDomain(payload.domain, payload.status)),\n filteredDomains: filteredDomains.map(replaceStatusOnDomain(payload.domain, payload.status)),\n }));\n\n builder.addCase(filterDomains, (state, { payload }) => ({\n ...state,\n filteredDomains: state.domains.filter(({ domain }) => domain.toLowerCase().match(payload.toLowerCase())),\n }));\n\n builder.addCase(editDomainRedirects.fulfilled, (state, { payload }) => ({\n ...state,\n domains: state.domains.map(replaceRedirectsOnDomain(payload)),\n filteredDomains: state.filteredDomains.map(replaceRedirectsOnDomain(payload)),\n }));\n },\n });\n\n return {\n reducer,\n listDomains,\n checkDomainHealth,\n filterDomains,\n };\n};\n","import { useEffect } from 'react';\nimport { Button, DropdownItem, Input, InputGroup, UncontrolledTooltip, InputProps } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faUndo } from '@fortawesome/free-solid-svg-icons';\nimport { isEmpty, pipe } from 'ramda';\nimport { DropdownBtn } from '../utils/DropdownBtn';\nimport { useToggle } from '../utils/helpers/hooks';\nimport { DomainsList } from './reducers/domainsList';\nimport './DomainSelector.scss';\n\nexport interface DomainSelectorProps extends Omit {\n value?: string;\n onChange: (domain: string) => void;\n}\n\ninterface DomainSelectorConnectProps extends DomainSelectorProps {\n listDomains: Function;\n domainsList: DomainsList;\n}\n\nexport const DomainSelector = ({ listDomains, value, domainsList, onChange }: DomainSelectorConnectProps) => {\n const [inputDisplayed,, showInput, hideInput] = useToggle();\n const { domains } = domainsList;\n const valueIsEmpty = isEmpty(value);\n const unselectDomain = () => onChange('');\n\n useEffect(() => {\n listDomains();\n }, []);\n\n return inputDisplayed ? (\n \n onChange(e.target.value)}\n />\n \n \n \n \n Existing domains\n \n \n ) : (\n \n {domains.map(({ domain, isDefault }) => (\n onChange(domain)}\n >\n {domain}\n {isDefault && default}\n \n ))}\n \n \n New domain\n \n \n );\n};\n","import { FC, useEffect, useRef, useState } from 'react';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { ExternalLink } from 'react-external-link';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport {\n faTimes as invalidIcon,\n faCheck as checkIcon,\n faCircleNotch as loadingStatusIcon,\n} from '@fortawesome/free-solid-svg-icons';\nimport { MediaMatcher } from '../../utils/types';\nimport { mutableRefToElementRef } from '../../utils/helpers/components';\nimport { DomainStatus } from '../data';\n\ninterface DomainStatusIconProps {\n status: DomainStatus;\n matchMedia?: MediaMatcher;\n}\n\nexport const DomainStatusIcon: FC = ({ status, matchMedia = window.matchMedia }) => {\n const ref = useRef();\n const matchesMobile = () => matchMedia('(max-width: 991px)').matches;\n const [isMobile, setIsMobile] = useState(matchesMobile());\n\n useEffect(() => {\n const listener = () => setIsMobile(matchesMobile());\n\n window.addEventListener('resize', listener);\n\n return () => window.removeEventListener('resize', listener);\n }, []);\n\n if (status === 'validating') {\n return ;\n }\n\n return (\n <>\n \n {status === 'valid'\n ? \n : }\n \n ref.current) as any}\n placement={isMobile ? 'top-start' : 'left'}\n autohide={status === 'valid'}\n >\n {status === 'valid' ? 'Congratulations! This domain is properly configured.' : (\n \n Oops! There is some missing configuration, and short URLs shared with this domain will not work.\n
\n Check the documentation in order to\n find out what is missing.\n
\n )}\n \n \n );\n};\n","import { FC, useState } from 'react';\nimport { Button, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap';\nimport { ShlinkDomain } from '../../api/types';\nimport { InputFormGroup, InputFormGroupProps } from '../../utils/forms/InputFormGroup';\nimport { handleEventPreventingDefault, nonEmptyValueOrNull } from '../../utils/utils';\nimport { InfoTooltip } from '../../utils/InfoTooltip';\nimport { EditDomainRedirects } from '../reducers/domainRedirects';\n\ninterface EditDomainRedirectsModalProps {\n domain: ShlinkDomain;\n isOpen: boolean;\n toggle: () => void;\n editDomainRedirects: (redirects: EditDomainRedirects) => Promise;\n}\n\nconst FormGroup: FC = ({ isLast, ...rest }) => (\n \n);\n\nexport const EditDomainRedirectsModal: FC = (\n { isOpen, toggle, domain, editDomainRedirects },\n) => {\n const [baseUrlRedirect, setBaseUrlRedirect] = useState(domain.redirects?.baseUrlRedirect ?? '');\n const [regular404Redirect, setRegular404Redirect] = useState(domain.redirects?.regular404Redirect ?? '');\n const [invalidShortUrlRedirect, setInvalidShortUrlRedirect] = useState(\n domain.redirects?.invalidShortUrlRedirect ?? '',\n );\n const handleSubmit = handleEventPreventingDefault(async () => editDomainRedirects({\n domain: domain.domain,\n redirects: {\n baseUrlRedirect: nonEmptyValueOrNull(baseUrlRedirect),\n regular404Redirect: nonEmptyValueOrNull(regular404Redirect),\n invalidShortUrlRedirect: nonEmptyValueOrNull(invalidShortUrlRedirect),\n },\n }).then(toggle));\n\n return (\n \n
\n Edit redirects for {domain.domain}\n \n \n \n Visitors accessing the base url, as in https://{domain.domain}/, will be redirected to this URL.\n \n Base URL\n \n \n \n Visitors accessing a url not matching a short URL pattern, as in https://{domain.domain}/???/[...],\n will be redirected to this URL.\n \n Regular 404\n \n \n \n Visitors accessing a url matching a short URL pattern, but not matching an existing short code, will be\n redirected to this URL.\n \n Invalid short URL\n \n \n \n \n \n \n
\n
\n );\n};\n","import { FC } from 'react';\nimport { DropdownItem } from 'reactstrap';\nimport { Link } from 'react-router-dom';\nimport { faChartPie as pieChartIcon, faEdit as editIcon } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useToggle } from '../../utils/helpers/hooks';\nimport { DropdownBtnMenu } from '../../utils/DropdownBtnMenu';\nimport { EditDomainRedirectsModal } from './EditDomainRedirectsModal';\nimport { Domain } from '../data';\nimport { EditDomainRedirects } from '../reducers/domainRedirects';\nimport { supportsDefaultDomainRedirectsEdition, supportsDomainVisits } from '../../utils/helpers/features';\nimport { getServerId, SelectedServer } from '../../servers/data';\nimport { DEFAULT_DOMAIN } from '../../visits/reducers/domainVisits';\n\ninterface DomainDropdownProps {\n domain: Domain;\n editDomainRedirects: (redirects: EditDomainRedirects) => Promise;\n selectedServer: SelectedServer;\n}\n\nexport const DomainDropdown: FC = ({ domain, editDomainRedirects, selectedServer }) => {\n const [isOpen, toggle] = useToggle();\n const [isModalOpen, toggleModal] = useToggle();\n const { isDefault } = domain;\n const canBeEdited = !isDefault || supportsDefaultDomainRedirectsEdition(selectedServer);\n const withVisits = supportsDomainVisits(selectedServer);\n const serverId = getServerId(selectedServer);\n\n return (\n \n {withVisits && (\n \n Visit stats\n
\n )}\n \n Edit redirects\n \n\n \n \n );\n};\n","import { FC, useEffect } from 'react';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faDotCircle as defaultDomainIcon } from '@fortawesome/free-solid-svg-icons';\nimport { ShlinkDomainRedirects } from '../api/types';\nimport { OptionalString } from '../utils/utils';\nimport { SelectedServer } from '../servers/data';\nimport { Domain } from './data';\nimport { DomainStatusIcon } from './helpers/DomainStatusIcon';\nimport { DomainDropdown } from './helpers/DomainDropdown';\nimport { EditDomainRedirects } from './reducers/domainRedirects';\n\ninterface DomainRowProps {\n domain: Domain;\n defaultRedirects?: ShlinkDomainRedirects;\n editDomainRedirects: (redirects: EditDomainRedirects) => Promise;\n checkDomainHealth: (domain: string) => void;\n selectedServer: SelectedServer;\n}\n\nconst Nr: FC<{ fallback: OptionalString }> = ({ fallback }) => (\n \n {!fallback && No redirect}\n {fallback && <>{fallback} (as fallback)}\n \n);\nconst DefaultDomain: FC = () => (\n <>\n \n Default domain\n \n);\n\nexport const DomainRow: FC = (\n { domain, editDomainRedirects, checkDomainHealth, defaultRedirects, selectedServer },\n) => {\n const { domain: authority, isDefault, redirects, status } = domain;\n\n useEffect(() => {\n checkDomainHealth(domain.domain);\n }, []);\n\n return (\n \n {isDefault && }\n {authority}\n \n {redirects?.baseUrlRedirect ?? }\n \n \n {redirects?.regular404Redirect ?? }\n \n \n {redirects?.invalidShortUrlRedirect ?? }\n \n \n \n \n \n \n \n \n );\n};\n","import { FC, useEffect } from 'react';\nimport { Message } from '../utils/Message';\nimport { Result } from '../utils/Result';\nimport { ShlinkApiError } from '../api/ShlinkApiError';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport { SearchField } from '../utils/SearchField';\nimport { EditDomainRedirects } from './reducers/domainRedirects';\nimport { SelectedServer } from '../servers/data';\nimport { DomainsList } from './reducers/domainsList';\nimport { DomainRow } from './DomainRow';\n\ninterface ManageDomainsProps {\n listDomains: Function;\n filterDomains: (searchTerm: string) => void;\n editDomainRedirects: (redirects: EditDomainRedirects) => Promise;\n checkDomainHealth: (domain: string) => void;\n domainsList: DomainsList;\n selectedServer: SelectedServer;\n}\n\nconst headers = ['', 'Domain', 'Base path redirect', 'Regular 404 redirect', 'Invalid short URL redirect', '', ''];\n\nexport const ManageDomains: FC = (\n { listDomains, domainsList, filterDomains, editDomainRedirects, checkDomainHealth, selectedServer },\n) => {\n const { filteredDomains: domains, defaultRedirects, loading, error, errorData } = domainsList;\n const resolvedDefaultRedirects = defaultRedirects ?? domains.find(({ isDefault }) => isDefault)?.redirects;\n\n useEffect(() => {\n listDomains();\n }, []);\n\n if (loading) {\n return ;\n }\n\n const renderContent = () => {\n if (error) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n {headers.map((column, index) => )}\n \n \n {domains.length < 1 && }\n {domains.map((domain) => (\n \n ))}\n \n
{column}
No results found
\n
\n );\n };\n\n return (\n <>\n \n {renderContent()}\n \n );\n};\n","import { createAsyncThunk } from '../../utils/helpers/redux';\nimport { ShlinkApiClientBuilder } from '../../api/services/ShlinkApiClientBuilder';\nimport { ShlinkDomainRedirects } from '../../api/types';\n\nconst EDIT_DOMAIN_REDIRECTS = 'shlink/domainRedirects/EDIT_DOMAIN_REDIRECTS';\n\nexport interface EditDomainRedirects {\n domain: string;\n redirects: ShlinkDomainRedirects;\n}\n\nexport const editDomainRedirects = (\n buildShlinkApiClient: ShlinkApiClientBuilder,\n) => createAsyncThunk(\n EDIT_DOMAIN_REDIRECTS,\n async ({ domain, redirects: providedRedirects }: EditDomainRedirects, { getState }): Promise => {\n const { editDomainRedirects: shlinkEditDomainRedirects } = buildShlinkApiClient(getState);\n const redirects = await shlinkEditDomainRedirects({ domain, ...providedRedirects });\n\n return { domain, redirects };\n },\n);\n","import { prop } from 'ramda';\nimport Bottle from 'bottlejs';\nimport { ConnectDecorator } from '../../container/types';\nimport { domainsListReducerCreator } from '../reducers/domainsList';\nimport { DomainSelector } from '../DomainSelector';\nimport { ManageDomains } from '../ManageDomains';\nimport { editDomainRedirects } from '../reducers/domainRedirects';\n\nconst provideServices = (bottle: Bottle, connect: ConnectDecorator) => {\n // Components\n bottle.serviceFactory('DomainSelector', () => DomainSelector);\n bottle.decorator('DomainSelector', connect(['domainsList'], ['listDomains']));\n\n bottle.serviceFactory('ManageDomains', () => ManageDomains);\n bottle.decorator('ManageDomains', connect(\n ['domainsList', 'selectedServer'],\n ['listDomains', 'filterDomains', 'editDomainRedirects', 'checkDomainHealth'],\n ));\n\n // Reducer\n bottle.serviceFactory(\n 'domainsListReducerCreator',\n domainsListReducerCreator,\n 'buildShlinkApiClient',\n 'editDomainRedirects',\n );\n bottle.serviceFactory('domainsListReducer', prop('reducer'), 'domainsListReducerCreator');\n\n // Actions\n bottle.serviceFactory('listDomains', prop('listDomains'), 'domainsListReducerCreator');\n bottle.serviceFactory('filterDomains', prop('filterDomains'), 'domainsListReducerCreator');\n bottle.serviceFactory('editDomainRedirects', editDomainRedirects, 'buildShlinkApiClient');\n bottle.serviceFactory('checkDomainHealth', prop('checkDomainHealth'), 'domainsListReducerCreator');\n};\n\nexport default provideServices;\n","import { createSlice } from '@reduxjs/toolkit';\n\nconst { actions, reducer } = createSlice({\n name: 'shlink/appUpdates',\n initialState: false,\n reducers: {\n appUpdateAvailable: () => true,\n resetAppUpdate: () => false,\n },\n});\n\nexport const { appUpdateAvailable, resetAppUpdate } = actions;\n\nexport const appUpdatesReducer = reducer;\n","import { FC, MouseEventHandler } from 'react';\nimport { Alert, Button } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSyncAlt as reloadIcon } from '@fortawesome/free-solid-svg-icons';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport { useToggle } from '../utils/helpers/hooks';\nimport './AppUpdateBanner.scss';\n\ninterface AppUpdateBannerProps {\n isOpen: boolean;\n toggle: MouseEventHandler;\n forceUpdate: Function;\n}\n\nexport const AppUpdateBanner: FC = ({ isOpen, toggle, forceUpdate }) => {\n const [isUpdating,, setUpdating] = useToggle();\n const update = () => {\n setUpdating();\n forceUpdate();\n };\n\n return (\n \n

This app has just been updated!

\n

\n Restart it to enjoy the new features.\n \n

\n
\n );\n};\n","export const forceUpdate = async () => {\n const registrations = await navigator.serviceWorker?.getRegistrations() ?? [];\n\n registrations.forEach(({ waiting }) => {\n waiting?.addEventListener('statechange', (event) => {\n if ((event.target as any)?.state === 'activated') {\n window.location.reload();\n }\n });\n\n // The logic that makes skipWaiting to be called when this message is posted is in service-worker.ts\n waiting?.postMessage({ type: 'SKIP_WAITING' });\n });\n};\n","import { useEffect, FC } from 'react';\nimport { Route, Routes, useLocation } from 'react-router-dom';\nimport classNames from 'classnames';\nimport { NotFound } from '../common/NotFound';\nimport { ServersMap } from '../servers/data';\nimport { Settings } from '../settings/reducers/settings';\nimport { changeThemeInMarkup } from '../utils/theme';\nimport { AppUpdateBanner } from '../common/AppUpdateBanner';\nimport { forceUpdate } from '../utils/helpers/sw';\nimport './App.scss';\n\ninterface AppProps {\n fetchServers: () => void;\n servers: ServersMap;\n settings: Settings;\n resetAppUpdate: () => void;\n appUpdated: boolean;\n}\n\nexport const App = (\n MainHeader: FC,\n Home: FC,\n MenuLayout: FC,\n CreateServer: FC,\n EditServer: FC,\n SettingsComp: FC,\n ManageServers: FC,\n ShlinkVersionsContainer: FC,\n) => ({ fetchServers, servers, settings, appUpdated, resetAppUpdate }: AppProps) => {\n const location = useLocation();\n const isHome = location.pathname === '/';\n\n useEffect(() => {\n // On first load, try to fetch the remote servers if the list is empty\n if (Object.keys(servers).length === 0) {\n fetchServers();\n }\n\n changeThemeInMarkup(settings.ui?.theme ?? 'light');\n }, []);\n\n return (\n
\n \n\n
\n
\n \n } />\n } />\n } />\n } />\n } />\n } />\n } />\n \n
\n\n
\n \n
\n
\n\n \n
\n );\n};\n","import Bottle from 'bottlejs';\nimport { appUpdateAvailable, resetAppUpdate } from '../reducers/appUpdates';\nimport { App } from '../App';\nimport { ConnectDecorator } from '../../container/types';\n\nconst provideServices = (bottle: Bottle, connect: ConnectDecorator) => {\n // Components\n bottle.serviceFactory(\n 'App',\n App,\n 'MainHeader',\n 'Home',\n 'MenuLayout',\n 'CreateServer',\n 'EditServer',\n 'Settings',\n 'ManageServers',\n 'ShlinkVersionsContainer',\n );\n bottle.decorator('App', connect(['servers', 'settings', 'appUpdated'], ['fetchServers', 'resetAppUpdate']));\n\n // Actions\n bottle.serviceFactory('appUpdateAvailable', () => appUpdateAvailable);\n bottle.serviceFactory('resetAppUpdate', () => resetAppUpdate);\n};\n\nexport default provideServices;\n","import Bottle, { IContainer } from 'bottlejs';\nimport { connect as reduxConnect } from 'react-redux';\nimport { pick } from 'ramda';\nimport provideApiServices from '../api/services/provideServices';\nimport provideCommonServices from '../common/services/provideServices';\nimport provideShortUrlsServices from '../short-urls/services/provideServices';\nimport provideServersServices from '../servers/services/provideServices';\nimport provideVisitsServices from '../visits/services/provideServices';\nimport provideTagsServices from '../tags/services/provideServices';\nimport provideUtilsServices from '../utils/services/provideServices';\nimport provideMercureServices from '../mercure/services/provideServices';\nimport provideSettingsServices from '../settings/services/provideServices';\nimport provideDomainsServices from '../domains/services/provideServices';\nimport provideAppServices from '../app/services/provideServices';\nimport { ConnectDecorator } from './types';\n\ntype LazyActionMap = Record;\n\nconst bottle = new Bottle();\n\nexport const { container } = bottle;\n\nconst lazyService = (cont: IContainer, serviceName: string) =>\n (...args: any[]) => (cont[serviceName] as T)(...args) as K;\nconst mapActionService = (map: LazyActionMap, actionName: string): LazyActionMap => ({\n ...map,\n // Wrap actual action service in a function so that it is lazily created the first time it is called\n [actionName]: lazyService(container, actionName),\n});\nconst connect: ConnectDecorator = (propsFromState: string[] | null, actionServiceNames: string[] = []) =>\n reduxConnect(\n propsFromState ? pick(propsFromState) : null,\n actionServiceNames.reduce(mapActionService, {}),\n );\n\nprovideAppServices(bottle, connect);\nprovideCommonServices(bottle, connect);\nprovideApiServices(bottle);\nprovideShortUrlsServices(bottle, connect);\nprovideServersServices(bottle, connect);\nprovideTagsServices(bottle, connect);\nprovideVisitsServices(bottle, connect);\nprovideUtilsServices(bottle);\nprovideMercureServices(bottle);\nprovideSettingsServices(bottle, connect);\nprovideDomainsServices(bottle, connect);\n","import { IContainer } from 'bottlejs';\nimport { combineReducers } from '@reduxjs/toolkit';\nimport { serversReducer } from '../servers/reducers/servers';\nimport { settingsReducer } from '../settings/reducers/settings';\nimport { appUpdatesReducer } from '../app/reducers/appUpdates';\nimport { sidebarReducer } from '../common/reducers/sidebar';\nimport { ShlinkState } from '../container/types';\n\nexport default (container: IContainer) => combineReducers({\n servers: serversReducer,\n selectedServer: container.selectedServerReducer,\n shortUrlsList: container.shortUrlsListReducer,\n shortUrlCreation: container.shortUrlCreationReducer,\n shortUrlDeletion: container.shortUrlDeletionReducer,\n shortUrlEdition: container.shortUrlEditionReducer,\n shortUrlDetail: container.shortUrlDetailReducer,\n shortUrlVisits: container.shortUrlVisitsReducer,\n tagVisits: container.tagVisitsReducer,\n domainVisits: container.domainVisitsReducer,\n orphanVisits: container.orphanVisitsReducer,\n nonOrphanVisits: container.nonOrphanVisitsReducer,\n tagsList: container.tagsListReducer,\n tagDelete: container.tagDeleteReducer,\n tagEdit: container.tagEditReducer,\n mercureInfo: container.mercureInfoReducer,\n settings: settingsReducer,\n domainsList: container.domainsListReducer,\n visitsOverview: container.visitsOverviewReducer,\n appUpdated: appUpdatesReducer,\n sidebar: sidebarReducer,\n});\n","import { IContainer } from 'bottlejs';\nimport { save, load, RLSOptions } from 'redux-localstorage-simple';\nimport { configureStore } from '@reduxjs/toolkit';\nimport reducer from '../reducers';\nimport { migrateDeprecatedSettings } from '../settings/helpers';\nimport { ShlinkState } from './types';\n\nconst isProduction = process.env.NODE_ENV === 'production';\nconst localStorageConfig: RLSOptions = {\n states: ['settings', 'servers'],\n namespace: 'shlink',\n namespaceSeparator: '.',\n debounce: 300,\n};\nconst preloadedState = migrateDeprecatedSettings(load(localStorageConfig) as ShlinkState);\n\nexport const setUpStore = (container: IContainer) => configureStore({\n devTools: !isProduction,\n reducer: reducer(container),\n preloadedState,\n middleware: (defaultMiddlewaresIncludingReduxThunk) =>\n defaultMiddlewaresIncludingReduxThunk({ immutableCheck: false, serializableCheck: false }) // State is too big for these\n .prepend(container.selectServerListener.middleware)\n .concat(save(localStorageConfig)),\n});\n","import { ShlinkState } from '../../container/types';\n\n/* eslint-disable no-param-reassign */\nexport const migrateDeprecatedSettings = (state: Partial): Partial => {\n if (!state.settings) {\n return state;\n }\n\n // The \"last180Days\" interval had a typo, with a lowercase d\n if ((state.settings.visits?.defaultInterval as any) === 'last180days') {\n state.settings.visits && (state.settings.visits.defaultInterval = 'last180Days');\n }\n\n // The \"tags display mode\" option has been moved from \"ui\" to \"tags\"\n state.settings.tags = {\n ...state.settings.tags,\n defaultMode: state.settings.tags?.defaultMode ?? (state.settings.ui as any)?.tagsMode,\n };\n state.settings.ui && delete (state.settings.ui as any).tagsMode;\n\n return state;\n};\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL ?? '', window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://cra.link/PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://cra.link/PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import {Chart, registerables} from '../dist/chart.mjs';\n\nChart.register(...registerables);\n\nexport default Chart;\n","import L from 'leaflet';\nimport marker2x from 'leaflet/dist/images/marker-icon-2x.png';\nimport marker from 'leaflet/dist/images/marker-icon.png';\nimport markerShadow from 'leaflet/dist/images/marker-shadow.png';\n\nexport const fixLeafletIcons = () => {\n delete (L.Icon.Default.prototype as any)._getIconUrl; // eslint-disable-line no-underscore-dangle\n\n L.Icon.Default.mergeOptions({\n iconRetinaUrl: marker2x,\n iconUrl: marker,\n shadowUrl: markerShadow,\n });\n};\n","import { createRoot } from 'react-dom/client';\nimport { Provider } from 'react-redux';\nimport { BrowserRouter } from 'react-router-dom';\nimport pack from '../package.json';\nimport { container } from './container';\nimport { setUpStore } from './container/store';\nimport { fixLeafletIcons } from './utils/helpers/leaflet';\nimport { register as registerServiceWorker } from './serviceWorkerRegistration';\nimport 'chart.js/auto'; // TODO Import specific ones to reduce bundle size https://react-chartjs-2.js.org/docs/migration-to-v4/#tree-shaking\nimport 'react-datepicker/dist/react-datepicker.css';\nimport 'leaflet/dist/leaflet.css';\nimport './index.scss';\n\n// This overwrites icons used for leaflet maps, fixing some issues caused by webpack while processing the CSS\nfixLeafletIcons();\n\nconst store = setUpStore(container);\nconst { App, ScrollToTop, ErrorHandler, appUpdateAvailable } = container;\n\ncreateRoot(document.getElementById('root')!).render( // eslint-disable-line @typescript-eslint/no-non-null-assertion\n \n \n \n \n \n \n \n \n ,\n);\n\n// Learn more about service workers: https://cra.link/PWA\nregisterServiceWorker({\n onUpdate() {\n store.dispatch(appUpdateAvailable());\n },\n});\n"],"names":["module","exports","getWindow","node","window","toString","ownerDocument","defaultView","isElement","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","max","Math","min","round","getUAString","uaData","navigator","userAgentData","brands","map","item","brand","version","join","userAgent","isLayoutViewport","test","getBoundingClientRect","element","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","width","offsetHeight","height","visualViewport","addVisualOffsets","x","left","offsetLeft","y","top","offsetTop","right","bottom","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getComputedStyle","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","isOffsetParentAnElement","offsetParentIsScaled","rect","isElementScaled","scroll","offsets","getNodeScroll","clientLeft","clientTop","getLayoutRect","abs","getParentNode","assignedSlot","parentNode","host","getScrollParent","indexOf","body","listScrollParents","list","_element$ownerDocumen","scrollParent","isBody","target","concat","updatedList","isTableElement","getTrueOffsetParent","position","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","filter","getContainingBlock","auto","basePlacements","start","end","viewport","popper","variationPlacements","reduce","acc","placement","placements","modifierPhases","order","modifiers","Map","visited","Set","result","sort","modifier","add","name","requires","requiresIfExists","forEach","dep","has","depModifier","get","push","set","debounce","fn","pending","Promise","resolve","then","undefined","DEFAULT_OPTIONS","strategy","areValidElements","_len","arguments","length","args","Array","_key","some","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","reference","options","state","orderedModifiers","Object","assign","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","setOptionsAction","cleanupModifierEffects","scrollParents","contextElement","phase","orderModifiers","merged","current","existing","data","keys","key","mergeByName","m","enabled","_ref3","_ref3$options","effect","cleanupFn","noopFn","update","forceUpdate","_state$elements","rects","reset","index","_state$orderedModifie","_state$orderedModifie2","_options","destroy","onFirstUpdate","passive","getBasePlacement","split","getVariation","getMainAxisFromPlacement","computeOffsets","_ref","basePlacement","variation","commonX","commonY","mainAxis","len","unsetSides","mapToStyles","_ref2","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","_offsets$x","_offsets$y","hasX","hasOwnProperty","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","_options$offset","offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","popperOffsets","hash","getOppositePlacement","replace","matched","getOppositeVariationPlacement","contains","parent","child","rootNode","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","html","clientWidth","clientHeight","layoutViewport","getViewportRect","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","direction","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","mergePaddingObject","paddingObject","expandToHashMap","value","hashMap","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","axis","within","mathMax","mathMin","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","referenceRect","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrow","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","v","withinMaxClamp","_state$modifiersData$","toPaddingObject","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","querySelector","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","createPopper","_options$scroll","_options$resize","resize","addEventListener","removeEventListener","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","style","removeAttribute","setAttribute","initialStyles","margin","property","attribute","_skip","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","a","b","computeAutoPlacement","checksMap","makeFallbackChecks","firstFittingPlacement","i","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","find","slice","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","e","t","r","n","l","call","c","d","o","defineProperty","enumerable","Symbol","toStringTag","__esModule","create","bind","default","prototype","p","s","getFirstMatch","match","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","splice","parseInt","getAndroidVersionName","getVersionPrecision","compareVersions","u","reverse","apply","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","android","bada","blackberry","chrome","chromium","electron","epiphany","firefox","focus","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","tizen","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","tv","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","configurable","writable","getParser","Error","parse","getResult","this","_ua","parsedResult","getUA","parseBrowser","browser","describe","getBrowser","getBrowserName","String","getBrowserVersion","getOS","os","parseOS","getOSName","getOSVersion","getPlatform","platform","parsePlatform","getPlatformType","type","getEngine","engine","parseEngine","getEngineName","satisfies","isOS","isPlatform","f","h","isBrowser","compareVersion","substr","isEngine","is","search","versionName","vendor","model","Number","GetIntrinsic","require","callBind","$indexOf","allowMissing","intrinsic","$apply","$call","$reflectApply","$gOPD","$defineProperty","$max","originalFunction","func","desc","applyBind","hasOwn","classNames","classes","arg","argType","isArray","inner","deselectCurrent","clipboardToIE11Formatting","text","debug","message","reselectPrevious","range","selection","mark","success","createRange","getSelection","createElement","textContent","all","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","stopPropagation","format","preventDefault","clipboardData","console","warn","clearData","setData","onCopy","appendChild","selectNodeContents","addRange","execCommand","err","error","copyKey","prompt","removeRange","removeAllRanges","removeChild","Function","eval","inherits","readable","allowHalfOpen","once","_writableState","ended","nextTick","highWaterMark","_readableState","destroyed","_destroy","super_","constructor","TYPED_ARRAY_SUPPORT","RangeError","Uint8Array","__proto__","TypeError","ArrayBuffer","byteLength","isEncoding","write","isBuffer","copy","buffer","isView","N","H","_","isNaN","from","lastIndexOf","readUInt16BE","g","V","charCodeAt","w","E","C","fromByteArray","j","S","fromCharCode","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","kMaxLength","poolSize","_augment","species","fill","allocUnsafe","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","T","R","k","P","equals","inspect","includes","isFinite","toJSON","_arr","U","O","A","F","L","M","B","D","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","read","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","I","toByteArray","trim","setTimeout","clearTimeout","run","fun","array","title","env","argv","versions","on","addListener","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","isBoolean","isNull","isNullOrUndefined","isNumber","isString","isSymbol","isUndefined","isRegExp","isObject","isDate","isError","isFunction","isPrimitive","__data__","self","_id","_clearFn","setInterval","clearInterval","close","unref","ref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","setImmediate","clearImmediate","_events","_maxListeners","EventEmitter","defaultMaxListeners","setMaxListeners","context","newListener","listener","warned","trace","listenerCount","Stream","Readable","Writable","Duplex","Transform","PassThrough","entry","finish","callback","pendingcb","corkedRequestsFree","WritableState","deprecate","objectMode","writableObjectMode","writableHighWaterMark","finalCalled","needDrain","ending","finished","decodeStrings","defaultEncoding","writing","corked","sync","bufferProcessing","onwrite","writecb","writelen","errorEmitted","bufferedRequest","lastBufferedRequest","prefinished","bufferedRequestCount","_write","writev","_writev","final","_final","isBuf","allBuffers","chunk","encoding","getBuffer","hasInstance","pipe","cork","uncork","setDefaultEncoding","_undestroy","undestroy","_dereq_","code","_SomePromiseArray","promise","setHowMany","setUnwrap","init","any","_customScheduler","_isTickUsed","_lateQueue","_normalQueue","_haveDrainedQueues","_trampolineEnabled","drainQueues","_drainQueues","_schedule","_queueTick","_pushOne","setScheduler","hasCustomScheduler","enableTrampoline","disableTrampolineIfNecessary","hasDevTools","haveItemsQueued","fatalError","stderr","stack","exit","throwLater","invokeLater","invoke","settlePromises","_settlePromises","_drainQueue","shift","_reset","firstLineError","_reject","promiseRejectionQueued","bindingPromise","_then","_bitField","_resolveCallback","_propagateFrom","propagateFromFunction","_boundValue","boundValueFunction","_target","_setBoundTo","_setOnCancel","_boundTo","_isBound","noConflict","canEvaluate","classString","pop","isIdentifier","tryCatch","errorObj","_async","break","cancel","cancellation","_warn","_isCancellable","_cancelBy","_isFollowing","_followee","_cancelBranched","_cancellationParent","_setWillBeCancelled","_branchHasCancelled","_branchesRemainingToCancel","_enoughBranchesHaveCancelled","_invokeOnCancel","_cancel","_setCancelled","_cancelPromises","_length","_unsetOnCancel","_onCancelField","isPending","_isCancelled","isCancellable","isCancelled","_doInvokeOnCancel","_attachExtraTrace","_resultCancelled","_onCancel","_invokeInternalOnCancel","_trace","CapturedTrace","_promiseCreated","_pushContext","_popContext","_peekContext","deactivateLongStackTraces","activateLongStackTraces","_getDomain","Warning","canAttachTrace","suppressUnhandledRejections","_ensurePossibleRejectionHandled","_setRejectionIsUnhandled","_notifyUnhandledRejection","_notifyUnhandledRejectionIsHandled","q","_setReturnedNonUndefined","_returnedNonUndefined","_isRejectionUnhandled","_settledValue","_setUnhandledRejectionIsNotified","_unsetUnhandledRejectionIsNotified","_isUnhandledRejectionNotified","_unsetRejectionIsUnhandled","onPossiblyUnhandledRejection","domainBind","onUnhandledRejectionHandled","longStackTraces","J","Y","_captureStackTrace","hasLongStackTraces","CustomEvent","global","dispatchEvent","detail","cancelable","Event","createEvent","initCustomEvent","isNode","promiseCreated","promiseFulfilled","promiseRejected","promiseResolved","promiseCancelled","promiseChained","warning","unhandledRejection","reason","rejectionHandled","_attachCancellationCallback","config","warnings","wForgottenReturn","_clearCancellationData","_execute","monitoring","_fireEvent","isFulfilled","X","_parent","attachExtraTrace","__stackCleaned__","notEnumerableProp","$","charAt","log","W","JSON","stringify","G","z","Q","fileName","line","_promisesCreated","uncycle","stackTraceLimit","captureStackTrace","isTTY","checkForgottenReturns","setBounds","deprecated","fireDomEvent","fireGlobalEvent","return","thenReturn","throw","thenThrow","catchThrow","caught","catchReturn","each","mapSeries","freeze","isOperational","cause","__BluebirdErrorTypes__","CancellationError","TimeoutError","OperationalError","RejectionError","AggregateError","getDescriptor","getOwnPropertyDescriptor","names","getOwnPropertyNames","getPrototypeOf","isES5","propertyIsWritable","handler","called","cancelPromise","finallyHandler","isFinallyHandler","isRejected","_passThrough","lastly","finally","tap","tapCatch","reject","_finallyPromise","_promise","_stack","_generatorFunction","_receiver","_generator","_yieldHandlers","_yieldedPromise","_cancellationPhase","_isResolved","_cleanup","_fulfill","_promiseCancelled","coroutine","returnSentinel","_continue","_promiseFulfilled","_promiseRejected","_run","_rejectCallback","done","_proxy","_value","_reason","yieldHandler","addYieldHandler","spawn","spread","constructor$","_callback","_preservedValues","_limit","_inFlight","_queue","_asyncInit","concurrency","_init$","_init","_values","_totalResolved","_filter","_resolve","preservedValues","method","_resolveFromSyncValue","attempt","try","maybeWrapAsError","markAsOriginatingFromRejection","asCallback","nodeify","PromiseInspection","domain","_fulfillmentHandler0","_rejectionHandler0","_promise0","_receiver0","_resolveFromExecutor","catch","reflect","_setIsFinal","fulfillmentValue","rejectionReason","originatesFromRejection","getNewLibraryCopy","fromNode","fromCallback","multiArgs","_isFateSealed","_setAsyncGuaranteed","cast","_setFulfilled","fulfilled","rejected","_settlePromiseCtx","_settlePromiseLateCancellationObserver","receiver","_addCallbacks","_setLength","_setRejected","_setFollowing","_isFinal","_unsetCancelled","_receiverAt","_promiseAt","_fulfillmentHandlerAt","_rejectionHandlerAt","_migrateCallback0","_migrateCallbackAt","_setFollowee","ensureErrorObject","_settlePromiseFromHandler","_settlePromise","_settlePromise0","_clearCallbackDataAtIndex","_fulfillPromises","_rejectPromises","defer","toFastProperties","lastLineError","asArray","_iterate","_resolveEmptyArray","getActualLength","shouldCopyValues","withAppended","__isPromisified__","RegExp","getDataPropertyOrDefault","inheritedDataKeys","promisify","copyDescriptors","promisifyAll","suffix","promisifier","isClass","size","_isMap","props","_capacity","_front","_willBeOverCapacity","_checkCapacity","_resizeTo","race","_fn","_initialValue","_currentCancellable","_eachValues","accum","_gotAccum","_eachComplete","_resultCancelled$","getNativePromise","MutationObserver","isRecentNode","standalone","cordova","classList","toggle","observe","disconnect","_promiseResolved","_settledValueField","settle","_howMany","_unwrap","_initialized","_canPossiblyFulfill","_getRangeError","howMany","_addFulfilled","_fulfilled","_addRejected","_checkOutcome","_rejected","isResolved","__isCancelled","handle","delay","timeout","_isDisposable","_getDisposer","_setDisposable","tryDispose","_data","_context","isDisposer","resources","resource","doDispose","_unsetDisposable","using","_disposer","disposer","iterator","thrower","filledRange","loadTimes","hasEnvVariables","eol","ReadableState","debuglog","readableObjectMode","readableHighWaterMark","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","resumeScheduled","awaitDrain","readingMore","decoder","StringDecoder","_read","unshift","isPaused","setEncoding","head","clear","tail","stdout","hasUnpiped","pause","unpipe","resume","wrap","_fromList","fillLast","lastNeed","lastTotal","lastChar","_transformState","afterTransform","transforming","writechunk","needTransform","writeencoding","_transform","flush","_flush","bufFromString","emptyBuffer","filterArray","trimLeft","trimRight","__extends","setPrototypeOf","extra","column_mismatched","unclosed_quote","fromJSON","Converter","csv","__importDefault","params","mergeParams","runtime","initParseRuntime","Result","processor","ProcessorLocal","processError","preRawData","preRawDataHook","preFileLine","preFileLineHook","subscribe","parseRuntime","onNext","onError","onCompleted","fromFile","exists","createReadStream","fromStream","fromString","onfulfilled","onrejected","process","started","processResult","hasError","processEnd","endProcess","parsedLineNumber","postMessage","importScripts","onmessage","random","source","attachEvent","MessageChannel","port1","port2","onreadystatechange","_isStdio","NaN","LN2","custom","localStorage","delimiter","ignoreColumns","includeColumns","quote","checkType","ignoreEmpty","noheader","headers","flatKeys","maxRowLength","checkColumn","escape","colParser","alwaysSplitAtEOL","output","nullObject","downstreamFormat","needEmitAll","parseParam","needProcessIgnoreColumn","needProcessIncludeColumn","selectedColumns","columnConv","headerType","headerTitle","headerFlag","columnValueSetter","rowSplit","RowSplit","converter","eolEmitted","_needEmitEol","headEmitted","_needEmitHead","csvLineBuffer","prepareData","processCSV","needEmitEol","stringToLines","lines","partial","prependLeftBuf","runPreLineHook","processCSVBody","processDataWithHead","closed","cells","filterHeader","needEmitHead","parseMultiLines","rowsCells","Processor","conv","cachedRegExp","delimiterEmitted","_needEmitDelimiter","getDelimiter","needEmitDelimiter","toCSVRow","isQuoteClose","escapeQuote","isQuoteOpen","substring","string","number","omit","cellParser","flat","parseFloat","exec","IE_PROTO","cache","Cache","delete","finalResult","needPushDownstream","_needPushDownstream","EOL","needEmitLine","appendFinalResult","endianness","hostname","location","loadavg","uptime","freemem","MAX_VALUE","totalmem","cpus","release","appVersion","networkInterfaces","getNetworkInterfaces","arch","tmpdir","tmpDir","homedir","addLeadingZeros","targetLength","sign","object","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","token","count","tokenValue","addSuffix","comparison","buildFormatLongFn","defaultWidth","formats","date","full","long","medium","short","time","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","_date","_baseDate","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","values","argumentCallback","ordinalNumber","dirtyNumber","rem100","era","narrow","abbreviated","wide","quarter","month","day","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchResult","matchedString","parsePatterns","defaultParseWidth","findIndex","pattern","findKey","valueCallback","rest","predicate","parsePattern","parseResult","formatDistance","formatLong","formatRelative","localize","weekStartsOn","firstWeekContainsDate","getDefaultOptions","dateLongFormatter","timeLongFormatter","longFormatters","dateTimeFormat","datePattern","timePattern","getTimezoneOffsetInMilliseconds","utcDate","Date","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","getTime","startOfUTCISOWeekYear","dirtyDate","requiredArgs","year","getUTCISOWeekYear","fourthOfJanuary","setUTCHours","startOfUTCISOWeek","MILLISECONDS_IN_WEEK","getUTCISOWeek","toDate","diff","getUTCFullYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfUTCWeekYear","_options$firstWeekCon","_options$locale","_options$locale$optio","_defaultOptions$local","_defaultOptions$local2","toInteger","locale","getUTCWeekYear","firstWeek","startOfUTCWeek","getUTCWeek","firstWeekOfNextYear","firstWeekOfThisYear","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","throwProtectedError","input","required","getUTCDay","setUTCDate","getUTCDate","_options$weekStartsOn","ceil","addDays","dirtyAmount","amount","setDate","MILLISECONDS_IN_HOUR","addHours","addMilliseconds","timestamp","addMinutes","addMonths","dayOfMonth","endOfDesiredMonth","setMonth","daysInMonth","setFullYear","addWeeks","days","addYears","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","MILLISECONDS_IN_DAY","differenceInCalendarDays","dirtyDateLeft","dirtyDateRight","startOfDayLeft","startOfDay","startOfDayRight","timestampLeft","timestampRight","differenceInCalendarMonths","dateLeft","dateRight","yearDiff","monthDiff","differenceInCalendarWeeks","startOfWeekLeft","startOfWeek","startOfWeekRight","differenceInCalendarYears","endOfDay","setHours","endOfMonth","endOfWeek","getDay","signedYear","getUTCMonth","dayPeriodEnumValue","getUTCHours","toUpperCase","getUTCMinutes","getUTCSeconds","numberOfDigits","milliseconds","getUTCMilliseconds","fractionalSeconds","dayPeriodEnum","formatters","unit","lightFormatters","signedWeekYear","weekYear","twoDigitYear","isoWeekYear","week","isoWeek","dayOfYear","setUTCMonth","startOfYearTimestamp","difference","getUTCDayOfYear","dayOfWeek","localDayOfWeek","isoDayOfWeek","hours","K","_localize","timezoneOffset","_originalDate","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","originalDate","dirtyDelimiter","absOffset","minutes","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","_options$locale2","_options$locale2$opti","_ref6","_ref7","_options$locale3","_options$locale3$opti","_defaultOptions$local3","_defaultOptions$local4","formatStr","defaultLocale","isValid","subMilliseconds","formatterOptions","firstCharacter","longFormatter","cleanEscapedString","formatter","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","getISOWeekYear","startOfISOWeek","startOfISOWeekYear","getISOWeek","getQuarter","seconds","getYear","isAfter","dirtyDateToCompare","dateToCompare","isBefore","_typeof","obj","isEqual","dirtyLeftDate","dirtyRightDate","isSameDay","dateLeftStartOfDay","dateRightStartOfDay","isSameMonth","isSameQuarter","dateLeftStartOfQuarter","startOfQuarter","dateRightStartOfQuarter","isSameYear","isWithinInterval","interval","startTime","endTime","dirtyDatesArray","datesArray","currentDate","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_classCallCheck","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_defineProperty","Setter","_utcDate","ValueSetter","_Setter","_super","validateValue","setValue","priority","subPriority","_this","flags","DateToSystemTimezoneSetter","_Setter2","_super2","_this2","timestampIsSet","convertedDate","Parser","dateString","setter","validate","EraParser","_Parser","numericPatterns","timezonePatterns","mapValue","parseFnResult","mapFn","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","normalizeTwoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","isLeapYearIndex","YearParser","isTwoDigitYear","normalizedTwoDigitYear","LocalWeekYearParser","ISOWeekYearParser","_flags","firstWeekOfYear","ExtendedYearParser","QuarterParser","StandAloneQuarterParser","MonthParser","StandAloneMonthParser","LocalWeekParser","dirtyWeek","setUTCWeek","ISOWeekParser","dirtyISOWeek","setUTCISOWeek","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","DateParser","isLeapYear","DayOfYearParser","setUTCDay","dirtyDay","currentDay","remainder","dayIndex","DayParser","LocalDayParser","wholeWeekDays","StandAloneLocalDayParser","ISODayParser","setUTCISODay","AMPMParser","AMPMMidnightParser","DayPeriodParser","Hour1to12Parser","isPM","Hour0to23Parser","Hour0To11Parser","Hour1To24Parser","MinuteParser","setUTCMinutes","SecondParser","setUTCSeconds","FractionOfSecondParser","setUTCMilliseconds","ISOTimezoneWithZParser","ISOTimezoneParser","TimestampSecondsParser","TimestampMillisecondsParser","parsers","_createForOfIteratorHelper","allowArrayLike","it","_arrayLikeToArray","_unsupportedIterableToArray","_e","normalCompletion","didErr","step","_e2","arr","arr2","notWhitespaceRegExp","dirtyDateString","dirtyFormatString","dirtyReferenceDate","formatString","_step","subFnOptions","setters","tokens","usedTokens","_iterator","parser","incompatibleTokens","incompatibleToken","usedToken","fullToken","_ret","uniquePrioritySetters","setterArray","_step2","_iterator2","parseISO","argument","_options$additionalDi","additionalDigits","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","parseTime","timezone","parseTimezone","patterns","dateTimeDelimiter","timeZoneDelimiter","dateRegex","timeRegex","timezoneRegex","timeString","regex","captures","century","isWeekDate","parseDateUnit","_year","validateWeekDate","fourthOfJanuaryDay","dayOfISOWeekYear","daysInMonths","validateDate","validateDayOfYearDate","parseTimeUnit","validateTime","timezoneString","_hours","validateTimezone","dirtyHours","setMinutes","dirtyMinutes","getDaysInMonth","monthIndex","lastDayOfMonth","dirtyMonth","dateWithDesiredMonth","setQuarter","dirtyQuarter","oldQuarter","setSeconds","dirtySeconds","setYear","dirtyYear","startOfMonth","currentMonth","startOfYear","cleanDate","subDays","subHours","subMinutes","subMonths","subWeeks","subYears","argStr","XMLHttpRequest","XDomainRequest","ActiveXObject","NativeEventSource","EventSource","fetch","Response","TextDecoder","TextEncoder","AbortController","readyState","event","now","originalFetch2","url","signal","credentials","response","reader","getReader","_reader","_aborted","status","statusText","abort","TextDecoderPolyfill","bitsNeeded","codePoint","decode","octets","valid","octetsCount","REPLACER","octet","encode","stream","supportsStreamOption","XHRWrapper","xhr","withCredentials","responseText","onprogress","onload","onerror","_contentType","_xhr","_sendTimeout","_abort","HeadersPolyfill","parts","_map","XHRTransport","HeadersWrapper","_headers","FetchTransport","EventTarget","_listeners","throwError","MessageEvent","lastEventId","ConnectionEvent","ErrorEvent","open","that","silent","onabort","onStart","contentType","getResponseHeader","onProgress","onFinish","onTimeout","onReadyStateChange","setRequestHeader","getAllResponseHeaders","send","error1","HEADERS_RECEIVED","onStartCallback","onProgressCallback","onFinishCallback","controller","textDecoder","readNextChunk","typeListeners","handleEvent","found","filtered","WAITING","AFTER_CR","contentTypeRegExp","parseDuration","def","clampDuration","fire","EventSourcePolyfill","onopen","_close","es","lastEventIdQueryParameterName","initialRetry","heartbeatTimeout","retry","wasActivity","textLength","TransportOption","Transport","isFetchSupported","transport","abortController","currentState","dataBuffer","lastEventIdBuffer","eventTypeBuffer","textBuffer","fieldStart","valueStart","textChunk","field","requestURL","paramName","encodeURIComponent","requestHeaders","nextHeartbeat","CONNECTING","OPEN","CLOSED","factory","define","globalThis","ERROR_MESSAGE","toStr","funcType","bound","binder","boundLength","boundArgs","Empty","implementation","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","getProto","needsEval","TypedArray","INTRINSICS","Atomics","BigInt","DataView","decodeURI","decodeURIComponent","encodeURI","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","rePropName","reEscapeChar","stringToPath","first","last","subString","getBaseIntrinsic","alias","intrinsicName","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","origSymbol","hasSymbolSham","getOwnPropertySymbols","sym","symObj","syms","propertyIsEnumerable","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","EventHandlers","$getMaxListeners","emitNone","isFn","arrayClone","emitOne","arg1","emitTwo","arg2","emitThree","arg3","emitMany","_addListener","prepend","events","_eventsCount","emitter","emitWarning","_onceWrap","fired","evlistener","spliceOne","unwrapListeners","ret","usingDomains","Domain","getMaxListeners","er","doError","domainEmitter","domainThrown","originalListener","eventNames","ownKeys","global$1","lookup","revLookup","Arr","inited","b64","tmp","placeHolders","tripletToBase64","num","encodeChunk","uint8","extraBytes","maxChunkLength","len2","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","Infinity","rt","createBuffer","encodingOrOffset","fromArrayBuffer","fromObject","assertSize","checked","actual","fromArrayLike","byteOffset","internalIsBuffer","isnan","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","val","dir","arrayIndexOf","indexSize","arrLength","valLength","buf","foundIndex","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","pos","str","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","codePoints","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","mul","limit","sub","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","src","dst","isFastBuffer","isSlowBuffer","defaultSetTimout","defaultClearTimeout","cachedSetTimeout","cachedClearTimeout","runTimeout","runClearTimeout","marker","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","Item","performance","mozNow","msNow","oNow","webkitNow","inherits$1","ctor","superCtor","TempCtor","formatRegExp","objects","msg","debugEnviron","debugs","pid","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","arrayToHash","idx","recurseTimes","primitive","formatPrimitive","visibleKeys","formatError","base","braces","isArray$1","toUTCString","formatArray","formatProperty","reduceToSingleString","simple","prev","cur","ar","re","objectToString","origin","prop","BufferList","isBufferEncoding","assertEncoding","surrogateSize","detectIncompleteChar","utf16DetectIncompleteChar","base64DetectIncompleteChar","passThroughWrite","charBuffer","charReceived","charLength","charStr","available","charCode","cr","enc","listenerCount$1","hwm","defaultHwm","ranOut","readableAddChunk","addToFront","chunkInvalid","onEofChunk","skipAdd","emitReadable","maybeReadMore","needMoreData","MAX_HWM","computeNewHighWaterMark","howMuchToRead","emitReadable_","flow","maybeReadMore_","pipeOnDrain","nReadingNextTick","resume_","fromList","fromListPartial","hasStrings","copyFromBufferString","copyFromBuffer","nb","endReadable","endReadableNT","xs","nop","WriteReq","cb","noDecode","CorkedRequest","writeAfterEnd","validChunk","decodeChunk","writeOrBuffer","doWrite","onwriteError","onwriteStateUpdate","needFinish","clearBuffer","afterWrite","onwriteDrain","finishMaybe","holder","prefinish","need","endWritable","nOrig","doRead","dest","pipeOpts","endFn","cleanup","onend","onunpipe","ondrain","cleanedUp","onclose","onfinish","ondata","increasedAwaitDrain","dests","ev","paused","_endianness","onEndNT","TransformState","ts","rs","ws","_objectSpread","_toArray","_arrayWithHoles","_iterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","iter","didOnEnd","commonjsGlobal","FUNC_ERROR_TEXT","HASH_UNDEFINED","INFINITY","funcTag","genTag","symbolTag","reIsDeepProp","reIsPlainProp","reLeadingDot","reRegExpChar","reIsHostCtor","freeGlobal","freeSelf","root","getValue","isHostObject","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","uid","funcToString","hasOwnProperty$1","objectToString$1","reIsNative","Symbol$1","getNative","nativeCreate","symbolProto","symbolToString","Hash","entries","hashClear","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","eq","baseGet","path","isKey","castPath","toKey","baseIsNative","isObject$1","isMasked","isFunction$1","toSource","baseToString","isArray$2","isKeyable","memoize","toString$1","resolver","memoized","tag","isObjectLike","defaultValue","lodash_get","getProp","setProp","pathArray","_pathArray","restPath","unsetProp","_pathArray2","flattenReducer","fastJoin","separator","isFirst","elem","utils","getProp$1","fastJoin$1","flattenReducer$1","JSON2CSVBase_1","JSON2CSVBase","preprocessOpts","processedOpts","transforms","escapedQuote","header","includeEmptyRows","withBOM","fields","fieldInfo","label","row","processValue","rows","_this3","processedRow","processCell","valueType","excelStrings","fastJoin$2","flattenReducer$2","JSON2CSVParser_1","_JSON2CSVBase","JSON2CSVParser","preprocessFieldsInfo","processedData","preprocessData","getHeader","processData","preprocessRow","processRow","LEFT_BRACE","RIGHT_BRACE","LEFT_BRACKET","RIGHT_BRACKET","COLON","COMMA","TRUE","FALSE","NULL","STRING","NUMBER","START","STOP","TRUE1","TRUE2","TRUE3","FALSE1","FALSE2","FALSE3","FALSE4","NULL1","NULL2","NULL3","NUMBER1","NUMBER3","STRING1","STRING2","STRING3","STRING4","STRING5","STRING6","VALUE","KEY","OBJECT","ARRAY","BACK_SLASH","FORWARD_SLASH","BACKSPACE","FORM_FEED","NEWLINE","CARRIAGE_RETURN","TAB","STRING_BUFFER_SIZE","tState","stringBuffer","stringBufferOffset","unicode","highSurrogate","mode","bytes_remaining","bytes_in_sequence","temp_buffs","toknam","proto","charError","appendStringChar","char","appendStringBuf","onToken","intVal","parseError","onValue","jsonparse","JSON2CSVTransform","_Transform","transformOpts","_hasWritten","initObjectModeParse","ndjson","initNDJSONParse","initJSONParser","pushHeader","pushLine","getPendingData","pendingData","depthToEmit","_onToken","JSON2CSVTransform_1","Transform$2","fastJoin$3","JSON2CSVAsyncParser","_input","_output","returnCSV","csvBuffer","JSON2CSVAsyncParser_1","flatten","_ref$objects","_ref$arrays","arrays","_ref$separator","flatDataRow","currentPath","newPath","dataRow","flatten_1","setProp$1","unsetProp$1","flattenReducer$3","getUnwindablePaths","unwindablePaths","arrObj","unwind","_ref$paths","paths","_ref$blankOut","blankOut","unwindReducer","unwindPath","unwindArray","unwindRow","unwind_1","Readable$1","Parser$1","AsyncParser","Transform$3","parseAsync","asyncParser","fromInput","json2csv","extend","lastId","stamp","_leaflet_id","throttle","lock","wrapperFn","later","wrapNum","includeMax","falseFn","formatNum","precision","splitWords","getParamString","existingUrl","uppercase","templateRe","template","el","emptyImageUrl","getPrefixed","lastTime","timeoutDefer","timeToCall","requestFn","requestAnimationFrame","cancelFn","cancelAnimationFrame","id","requestAnimFrame","immediate","cancelAnimFrame","Class","checkDeprecatedMixinEvents","Mixin","Util.isArray","Events","NewClass","Util.setOptions","initialize","callInitHooks","parentProto","__super__","Util.create","statics","Util.extend","_initHooks","_initHooksCalled","include","parentOptions","mergeOptions","addInitHook","types","_on","Util.splitWords","_off","removeAll","_once","_listens","_firingCount","Util.falseFn","propagate","listens","sourceTarget","_propagateEvent","_eventParents","addEventParent","Util.stamp","removeEventParent","layer","propagatedFrom","clearAllEventListeners","addOneTimeEventListener","fireEvent","hasEventListeners","Evented","Point","trunc","toPoint","Bounds","points","toBounds","LatLngBounds","corner1","corner2","latlngs","toLatLngBounds","LatLng","lat","lng","alt","toLatLng","lon","clone","point","_add","subtract","_subtract","divideBy","_divideBy","multiplyBy","_multiplyBy","scaleBy","unscaleBy","_round","_floor","_ceil","_trunc","distanceTo","sqrt","min2","max2","getCenter","getBottomLeft","getTopRight","getTopLeft","getBottomRight","getSize","intersects","bounds","xIntersects","yIntersects","overlaps","xOverlaps","yOverlaps","pad","bufferRatio","heightBuffer","widthBuffer","sw2","ne2","sw","_southWest","ne","_northEast","getSouthWest","getNorthEast","getNorthWest","getNorth","getWest","getSouthEast","getSouth","getEast","latIntersects","lngIntersects","latOverlaps","lngOverlaps","toBBoxString","maxMargin","Util.formatNum","Earth","wrapLatLng","sizeInMeters","latAccuracy","lngAccuracy","cos","PI","CRS","latLngToPoint","latlng","zoom","projectedPoint","projection","project","scale","transformation","pointToLatLng","untransformedPoint","untransform","unproject","getProjectedBounds","infinite","wrapLng","Util.wrapNum","wrapLat","wrapLatLngBounds","newCenter","latShift","lngShift","latlng1","latlng2","rad","lat1","lat2","sinDLat","sin","sinDLon","atan2","earthRadius","SphericalMercator","MAX_LATITUDE","atan","exp","Transformation","_a","_b","_c","_d","toTransformation","EPSG3857","EPSG900913","svgCreate","createElementNS","pointsToPath","rings","Browser","svg","ielt9","webkit","userAgentContains","android23","webkitVer","androidStock","gecko","phantom","opera12","ie3d","webkit3d","WebKitCSSMatrix","gecko3d","any3d","L_DISABLE_3D","orientation","mobileWebkit","mobileWebkit3d","msPointer","PointerEvent","MSPointerEvent","pointer","touchNative","TouchEvent","touch","L_NO_TOUCH","mobileOpera","mobileGecko","retina","screen","deviceXDPI","logicalXDPI","passiveEvents","supportsPassiveOption","canvas","getContext","createSVGRect","inlineSvg","div","innerHTML","firstChild","namespaceURI","vml","shape","behavior","adj","mac","linux","POINTER_DOWN","POINTER_MOVE","POINTER_UP","POINTER_CANCEL","pEvent","touchstart","touchmove","touchend","touchcancel","_onPointerStart","_handlePointer","_pointers","_pointerDocListener","addPointerListener","_addPointerDocListener","Util","removePointerListener","_globalPointerDown","pointerId","_globalPointerMove","_globalPointerUp","pointerType","MSPOINTER_TYPE_MOUSE","touches","changedTouches","MSPOINTER_TYPE_TOUCH","DomEvent.preventDefault","makeDblclick","newEvent","isTrusted","_simulated","addDoubleTapListener","simDblclick","sourceCapabilities","firesTouchEvents","DomEvent.getPropagationPath","HTMLLabelElement","for","HTMLInputElement","HTMLSelectElement","dblclick","removeDoubleTapListener","handlers","disableTextSelection","enableTextSelection","_userSelect","_outlineElement","_outlineStyle","TRANSFORM","testProp","TRANSITION","TRANSITION_END","getElementById","getStyle","currentStyle","tagName","className","container","remove","empty","toFront","lastChild","toBack","insertBefore","hasClass","getClass","addClass","setClass","removeClass","Util.trim","baseVal","correspondingElement","setOpacity","opacity","_setOpacityIE","filterName","filters","Enabled","Opacity","setTransform","setPosition","_leaflet_pos","getPosition","DomEvent.on","DomEvent.off","userSelectProperty","disableImageDrag","enableImageDrag","preventOutline","tabIndex","restoreOutline","outline","getSizedParentNode","getScale","boundingClientRect","addOne","eventsKey","batchRemove","removeOne","Util.indexOf","filterFn","mouseSubst","mouseenter","mouseleave","wheel","originalHandler","isExternalTarget","detachEvent","originalEvent","_stopped","cancelBubble","disableScrollPropagation","disableClickPropagation","returnValue","stop","getPropagationPath","composedPath","getMousePosition","clientX","clientY","wheelPxFactor","getWheelDelta","wheelDeltaY","deltaY","deltaMode","deltaX","deltaZ","wheelDelta","related","relatedTarget","PosAnimation","newPos","duration","easeLinearity","_el","_inProgress","_duration","_easeOutPower","_startPos","DomUtil.getPosition","_startTime","_animate","_complete","_animId","Util.requestAnimFrame","elapsed","_runFrame","_easeOut","progress","DomUtil.setPosition","Util.cancelAnimFrame","crs","minZoom","maxZoom","layers","maxBounds","renderer","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","transform3DLimit","zoomSnap","zoomDelta","trackResize","_handlers","_layers","_zoomBoundLayers","_sizeChanged","_initContainer","_initLayout","_onResize","Util.bind","_initEvents","setMaxBounds","_zoom","_limitZoom","setView","_zoomAnimated","DomUtil.TRANSITION","_createAnimProxy","DomUtil.TRANSITION_END","_catchTransitionEnd","_addLayers","_limitCenter","_stop","_loaded","animate","pan","_tryAnimatedZoom","_tryAnimatedPan","_sizeTimer","_resetView","noMoveStart","setZoom","zoomIn","delta","zoomOut","setZoomAround","getZoomScale","viewHalf","latLngToContainerPoint","containerPointToLatLng","_getBoundsCenterZoom","getBounds","paddingTL","paddingTopLeft","paddingBR","paddingBottomRight","getBoundsZoom","paddingOffset","swPoint","nePoint","fitBounds","fitWorld","panTo","panBy","getZoom","_panAnim","_onPanTransitionStep","_onPanTransitionEnd","DomUtil.addClass","_mapPane","_getMapPanePos","_rawPanBy","flyTo","targetCenter","targetZoom","to","startZoom","w0","w1","u1","rho","rho2","sq","sinh","cosh","tanh","r0","easeOut","frame","_flyToFrame","_move","getScaleZoom","_moveEnd","_moveStart","flyToBounds","_panInsideMaxBounds","setMinZoom","oldZoom","setMaxZoom","panInsideBounds","_enforcingBounds","panInside","pixelCenter","pixelPoint","pixelBounds","getPixelBounds","paddedBounds","paddedSize","invalidateSize","oldSize","_lastCenter","newSize","oldCenter","debounceMoveend","locate","_locateOptions","watch","_handleGeolocationError","onResponse","_handleGeolocationResponse","_locationWatchId","geolocation","watchPosition","getCurrentPosition","stopLocate","clearWatch","_container","coords","latitude","longitude","accuracy","addHandler","HandlerClass","enable","_containerId","DomUtil.remove","_clearControlPos","_resizeRequest","_clearHandlers","_panes","_renderer","createPane","pane","DomUtil.create","_checkIfLoaded","_moved","layerPointToLatLng","_getCenterLayerPoint","getMinZoom","_layersMinZoom","getMaxZoom","_layersMaxZoom","inside","nw","se","boundsSize","snap","scalex","scaley","_size","topLeftPoint","_getTopLeftPoint","getPixelOrigin","_pixelOrigin","getPixelWorldBounds","getPane","getPanes","getContainer","toZoom","fromZoom","latLngToLayerPoint","containerPointToLayerPoint","layerPointToContainerPoint","layerPoint","mouseEventToContainerPoint","DomEvent.getMousePosition","mouseEventToLayerPoint","mouseEventToLatLng","DomUtil.get","_onScroll","_fadeAnimated","DomUtil.getStyle","_initPanes","_initControlPos","panes","_paneRenderers","markerPane","shadowPane","loading","zoomChanged","supressEvent","_getNewPixelOrigin","pinch","_getZoomSpan","_targets","onOff","_handleDOMEvent","_onMoveEnd","_findEventTargets","targets","isHover","srcElement","dragging","_draggableMoved","DomEvent.isExternalTarget","_isClickDisabled","DomUtil.preventOutline","_fireDOMEvent","_mouseEvents","canvasTargets","synth","isMarker","getLatLng","_radius","containerPoint","bubblingMouseEvents","moved","boxZoom","disable","whenReady","_latLngToNewLayerPoint","topLeft","_latLngBoundsToNewLayerBounds","latLngBounds","_getCenterOffset","centerPoint","viewBounds","_getBoundsOffset","_limitOffset","newBounds","pxBounds","projectedMaxBounds","_rebound","DomUtil.removeClass","proxy","mapPane","DomUtil.TRANSFORM","DomUtil.setTransform","_animatingZoom","_onZoomTransitionEnd","_animMoveEnd","_destroyAnimProxy","propertyName","_nothingToAnimate","getElementsByClassName","_animateZoom","startAnim","noUpdate","_animateToCenter","_animateToZoom","_tempFireZoomEvent","createMap","Control","removeControl","addControl","addTo","onAdd","corner","_controlCorners","onRemove","_refocusOnMap","screenX","screenY","control","corners","_controlContainer","createCorner","vSide","hSide","Layers","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","layerA","layerB","nameA","nameB","baseLayers","overlays","_layerControlInputs","_lastZIndex","_handlingClick","_addLayer","_update","_checkDisabledLayers","_onLayerChange","_expandIfNotCollapsed","addBaseLayer","addOverlay","removeLayer","_getLayer","expand","_section","acceptableHeight","collapse","DomEvent.disableClickPropagation","DomEvent.disableScrollPropagation","section","link","_layersLink","href","_baseLayersList","_separator","_overlaysList","overlay","setZIndex","DomUtil.empty","baseLayersPresent","overlaysPresent","baseLayersCount","_addItem","display","_createRadioElement","radioHtml","radioFragment","hasLayer","defaultChecked","layerId","_onInputClick","inputs","addedLayers","removedLayers","addLayer","disabled","Zoom","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","zoomName","_zoomInButton","_createButton","_zoomIn","_zoomOutButton","_zoomOut","_updateDisabled","_disabled","shiftKey","DomEvent.stop","zoomControl","Scale","maxWidth","metric","imperial","_addScales","updateWhenIdle","_mScale","_iScale","maxMeters","_updateScales","_updateMetric","_updateImperial","meters","_getRoundNum","_updateScale","maxMiles","miles","feet","maxFeet","ratio","pow10","ukrainianFlag","Attribution","prefix","_attributions","attributionControl","getAttribution","addAttribution","_addAttribution","removeAttribution","setPrefix","attribs","prefixAndAttribs","attribution","Handler","_enabled","addHooks","removeHooks","_lastCode","Draggable","clickTolerance","dragStartTarget","_element","_dragStartTarget","_preventOutline","_onDown","_dragging","finishDrag","DomUtil.hasClass","which","button","DomUtil.disableImageDrag","DomUtil.disableTextSelection","_moving","sizedParent","DomUtil.getSizedParentNode","_startPoint","_parentScale","DomUtil.getScale","mouseevent","_onMove","_onUp","_lastTarget","SVGElementInstance","correspondingUseElement","_newPos","_lastEvent","_updatePosition","noInertia","DomUtil.enableImageDrag","DomUtil.enableTextSelection","simplify","tolerance","sqTolerance","_simplifyDP","_reducePoints","pointToSegmentDistance","p1","p2","_sqClosestPointOnSegment","closestPointOnSegment","markers","_simplifyDPStep","newPoints","sqDist","maxSqDist","reducedPoints","_sqDist","clipSegment","useLastCode","codeOut","newCode","codeA","_getBitCode","codeB","_getEdgeIntersection","dx","dy","dot","isFlat","_flat","polylineCenter","halfDist","segDist","dist","clipPolygon","clippedPoints","edges","_code","LineUtil._getBitCode","LineUtil._getEdgeIntersection","polygonCenter","area","LineUtil.isFlat","LonLat","Mercator","R_MINOR","con","tan","phi","dphi","EPSG3395","EPSG4326","Simple","Layer","removeFrom","_mapToAdd","addInteractiveTarget","targetEl","removeInteractiveTarget","_layerAdd","getEvents","beforeAdd","eachLayer","_addZoomLimit","_updateZoomLevels","_removeZoomLimit","oldZoomSpan","LayerGroup","getLayerId","clearLayers","methodName","getLayer","getLayers","zIndex","layerGroup","FeatureGroup","setStyle","bringToFront","bringToBack","featureGroup","Icon","popupAnchor","tooltipAnchor","crossOrigin","createIcon","oldIcon","_createIcon","createShadow","_getIconUrl","img","_createImg","_setIconStyles","sizeOption","anchor","shadowAnchor","iconAnchor","marginLeft","marginTop","icon","IconDefault","iconUrl","iconRetinaUrl","shadowUrl","iconSize","shadowSize","imagePath","_detectIconPath","_stripUrl","strip","MarkerDrag","_marker","_icon","_draggable","dragstart","_onDragStart","predrag","_onPreDrag","drag","_onDrag","dragend","_onDragEnd","_adjustPan","speed","autoPanSpeed","autoPanPadding","iconPos","panBounds","movement","_panRequest","_oldLatLng","closePopup","autoPan","shadow","_shadow","_latlng","oldLatLng","Marker","interactive","keyboard","zIndexOffset","riseOnHover","riseOffset","autoPanOnFocus","draggable","latLng","_initIcon","_removeIcon","_removeShadow","viewreset","setLatLng","setZIndexOffset","getIcon","setIcon","_popup","bindPopup","getElement","_setPos","classToAdd","addIcon","mouseover","_bringToFront","mouseout","_resetZIndex","_panOnFocus","newShadow","addShadow","_updateOpacity","_initInteraction","_zIndex","_updateZIndex","opt","DomUtil.setOpacity","iconOpts","_getPopupAnchor","_getTooltipAnchor","Path","stroke","color","weight","lineCap","lineJoin","dashArray","dashOffset","fillColor","fillOpacity","fillRule","getRenderer","_initPath","_addPath","_removePath","redraw","_updatePath","_updateStyle","_updateBounds","_bringToBack","_path","_project","_clickTolerance","CircleMarker","radius","setRadius","getRadius","_point","r2","_radiusY","_pxBounds","_updateCircle","_empty","_bounds","_containsPoint","circleMarker","Circle","legacyOptions","_mRadius","half","latR","lngR","acos","circle","Polyline","smoothFactor","noClip","_setLatLngs","getLatLngs","_latlngs","setLatLngs","isEmpty","closestLayerPoint","minDistance","minPoint","closest","LineUtil._sqClosestPointOnSegment","jLen","_parts","LineUtil.polylineCenter","_defaultShape","addLatLng","_convertLatLngs","_rings","_projectLatlngs","_rawPxBounds","projectedBounds","ring","_clipPoints","segment","LineUtil.clipSegment","_simplifyPoints","LineUtil.simplify","_updatePoly","LineUtil.pointToSegmentDistance","polyline","LineUtil._flat","Polygon","PolyUtil.polygonCenter","clipped","PolyUtil.clipPolygon","polygon","GeoJSON","geojson","addData","feature","features","geometries","geometry","coordinates","geometryToLayer","asFeature","resetStyle","onEachFeature","_setLayerStyle","pointToLayer","_coordsToLatLng","coordsToLatLng","_pointToLayer","coordsToLatLngs","geoLayer","properties","featureLayer","pointToLayerFn","markersInheritOptions","levelsDeep","latLngToCoords","latLngsToCoords","getFeature","newGeometry","PointToGeoJSON","toGeoJSON","geoJSON","multi","holes","toMultiPoint","isGeometryCollection","jsons","json","geoJson","ImageOverlay","errorOverlayUrl","_url","_image","_initImage","styleOpts","DomUtil.toFront","DomUtil.toBack","setUrl","zoomanim","wasElementSupplied","onselectstart","onmousemove","_overlayOnError","image","errorUrl","imageOverlay","VideoOverlay","autoplay","loop","keepAspectRatio","muted","playsInline","vid","onloadeddata","sourceElements","getElementsByTagName","sources","videoOverlay","video","SVGOverlay","svgOverlay","DivOverlay","content","_source","_content","openOn","_prepareOpen","_removeTimeout","getContent","setContent","visibility","_updateContent","_updateLayout","isOpen","_contentNode","hasChildNodes","_getAnchor","_containerBottom","_containerLeft","_containerWidth","_initOverlay","OverlayClass","old","Popup","minWidth","maxHeight","autoPanPaddingTopLeft","autoPanPaddingBottomRight","keepInView","closeButton","autoClose","closeOnEscapeKey","popup","DomEvent.stopPropagation","closeOnClick","closePopupOnClick","preclick","moveend","wrapper","_wrapper","_tipContainer","_tip","_closeButton","scrolledClass","marginBottom","containerHeight","containerWidth","layerPos","containerPos","openPopup","_popupHandlersAdded","click","_openPopup","keypress","_onKeyPress","move","_movePopup","unbindPopup","togglePopup","isPopupOpen","setPopupContent","getPopup","keyCode","Tooltip","permanent","sticky","tooltip","_setPosition","subX","subY","tooltipPoint","tooltipWidth","tooltipHeight","openTooltip","closeTooltip","bindTooltip","_tooltip","isTooltipOpen","unbindTooltip","_initTooltipInteractions","_tooltipHandlersAdded","_moveTooltip","_openTooltip","_addFocusListeners","mousemove","_setAriaDescribedByOnLayer","toggleTooltip","setTooltipContent","getTooltip","_addFocusListenersOnLayer","moving","DivIcon","bgPos","backgroundPosition","divIcon","Default","GridLayer","tileSize","updateWhenZooming","updateInterval","maxNativeZoom","minNativeZoom","noWrap","keepBuffer","_levels","_tiles","_removeAllTiles","_tileZoom","_setAutoZIndex","isLoading","_loading","tileZoom","_clampZoom","_updateLevels","viewprereset","_invalidateAll","Util.throttle","createTile","getTileSize","children","edgeZIndex","nextFrame","willPrune","tile","loaded","fade","_onOpaqueTile","_noPrune","_pruneTiles","_fadeFrame","_onUpdateLevel","_removeTilesAtZoom","_onRemoveLevel","level","_setZoomTransform","_onCreateLevel","_level","retain","_retainParent","_retainChildren","_removeTile","x2","y2","z2","coords2","_tileCoordsToKey","animating","_setView","noPrune","tileZoomChanged","_abortLoading","_resetGrid","_setZoomTransforms","translate","_tileSize","_globalTileRange","_pxBoundsToTileRange","_wrapX","_wrapY","_getTiledPixelBounds","mapZoom","halfSize","tileRange","tileCenter","noPruneRange","_isValidTile","fragment","createDocumentFragment","_addTile","tileBounds","_tileCoordsToBounds","_keyToBounds","_keyToTileCoords","_tileCoordsToNwSe","nwPoint","sePoint","bp","_initTile","tilePos","_getTilePos","_wrapCoords","_tileReady","_noTilesToLoad","newCoords","gridLayer","TileLayer","subdomains","errorTileUrl","zoomOffset","tms","zoomReverse","detectRetina","referrerPolicy","_onTileRemove","noRedraw","_tileOnLoad","_tileOnError","getTileUrl","_getSubdomain","_getZoomForUrl","invertedY","Util.template","getAttribute","tilePoint","complete","Util.emptyImageUrl","tileLayer","TileLayerWMS","defaultWmsParams","service","request","transparent","wmsParams","realRetina","_crs","_wmsVersion","projectionKey","bbox","setParams","tileLayerWMS","WMS","wms","Renderer","_updatePaths","_destroyContainer","_onZoom","zoomend","_onZoomEnd","_onAnimZoom","_updateTransform","currentCenterPoint","_center","topLeftOffset","Canvas","_onViewPreReset","_postponeUpdatePaths","_draw","_onMouseMove","_onClick","_handleMouseOut","_ctx","_redrawRequest","_redrawBounds","_redraw","_updateDashArray","_order","_drawLast","_drawFirst","_requestRedraw","_extendRedrawBounds","dashValue","_dashArray","_clear","clearRect","save","restore","beginPath","_drawing","closePath","_fillStroke","arc","globalAlpha","fillStyle","setLineDash","lineWidth","strokeStyle","clickedLayer","_handleMouseHover","_hoveredLayer","_mouseHoverThrottled","candidateHoveredLayer","vmlCreate","namespaces","vmlMixin","coordsize","_stroke","_fill","stroked","filled","dashStyle","endcap","joinstyle","_setPath","SVG","_rootGroup","_svgSize","_getPaneRenderer","_createRenderer","preferCanvas","Rectangle","_boundsToLatLngs","rectangle","BoxZoom","_pane","overlayPane","_resetStateTimeout","_onMouseDown","_resetState","_clearDeferredResetState","contextmenu","mouseup","_onMouseUp","keydown","_onKeyDown","_box","_finish","boxZoomBounds","doubleClickZoom","DoubleClickZoom","_onDoubleClick","inertia","inertiaDeceleration","inertiaMaxSpeed","worldCopyJump","maxBoundsViscosity","Drag","_onPreDragLimit","_onPreDragWrap","_positions","_times","_offsetLimit","_viscosity","_lastTime","_lastPos","_absPos","_prunePositions","pxCenter","pxWorldCenter","_initialWorldOffset","_worldWidth","_viscousLimit","threshold","worldWidth","halfWidth","newX1","newX2","newX","ease","speedVector","limitedSpeed","limitedSpeedVector","decelerationDuration","keyboardPanDelta","Keyboard","keyCodes","down","up","_setPanDelta","_setZoomDelta","_onFocus","blur","_onBlur","mousedown","_addHooks","_removeHooks","_focused","docEl","scrollTo","panDelta","_panKeys","codes","_zoomKeys","altKey","ctrlKey","metaKey","scrollWheelZoom","wheelDebounceTime","wheelPxPerZoomLevel","ScrollWheelZoom","_onWheelScroll","_delta","DomEvent.getWheelDelta","_lastMousePos","_timer","_performZoom","d2","d3","d4","tapHoldDelay","tapHold","tapTolerance","TapHold","_holdTimeout","_isTapValid","_cancelClickPrevent","_simulateEvent","cancelClickPrevent","simulatedEvent","MouseEvent","bubbles","view","touchZoom","bounceAtZoomLimits","TouchZoom","_onTouchStart","_zooming","_centerPoint","_startLatLng","_pinchStartLatLng","_startDist","_startZoom","_onTouchMove","_onTouchEnd","_animRequest","moveFn","main","items","merge","_merge","recursive","isPlainObject","_recursiveMerge","isClone","isRecursive","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","$floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","isEnumerable","gPO","addNumericSeparator","sepRegex","int","intStr","dec","inspectCustom","inspectSymbol","wrapQuotes","defaultStyle","quoteChar","quoteStyle","inspect_","maxStringLength","indent","numericSeparator","inspectString","bigIntStr","maxDepth","baseIndent","getIndent","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","attrs","childNodes","singleLineValues","indentedJoin","isMap","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isBigInt","ys","protoTag","stringTag","trailer","lowbyte","lineJoiner","isArr","symMap","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","bool","symbol","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","percentTwenties","Format","RFC1738","RFC3986","defaults","allowDots","allowPrototypes","allowSparse","arrayLimit","charset","charsetSentinel","comma","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","plainObjects","strictNullHandling","$0","numberStr","parseArrayValue","parseKeys","givenKey","valuesParsed","chain","leaf","cleanRoot","parseObject","normalizeParseOptions","tempObj","cleanStr","skipIndex","bracketEqualsPos","maybeMap","encodedVal","combine","parseValues","newObj","compact","getSideChannel","arrayPrefixGenerators","brackets","indices","repeat","pushToArray","valueOrArray","toISO","toISOString","defaultFormat","addQueryPrefix","encoder","encodeValuesOnly","serializeDate","skipNulls","sentinel","generateArrayPrefix","commaRoundTrip","sideChannel","tmpSc","findFlag","keyValue","valuesJoined","objKeys","adjustedPrefix","keyPrefix","valueSideChannel","normalizeStringifyOptions","arrayFormat","joined","hexTable","arrayToObject","refs","compacted","compactQueue","strWithoutPlus","unescape","defaultEncoder","kind","mapped","mergeTarget","targetItem","CopyToClipboard","_react","_interopRequireDefault","_copyToClipboard","_excluded","enumerableOnly","symbols","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_React$PureComponent","_this$props","Children","only","onClick","_this$props2","cloneElement","PureComponent","Z","ee","te","ae","oe","pe","le","de","ce","ue","fe","he","me","ye","De","ve","we","ge","ke","be","Se","Ce","Me","Pe","Ee","Ne","xe","Oe","Ye","Ie","Te","Le","Re","Fe","Ae","qe","We","Be","Ke","He","je","Qe","Ve","Ue","$e","ze","Ge","Je","Xe","Ze","et","tt","at","nt","ot","st","pt","lt","dt","ct","ut","Dt","ft","ht","mt","yt","vt","wt","kt","gt","bt","St","Ct","_t","Mt","Pt","Et","Nt","xt","Ot","Yt","Tt","It","Xt","Jt","Lt","awareOfUnicodeTokens","Rt","dateFormat","Ft","hour","minute","second","At","qt","Wt","Bt","Kt","Ht","jt","Qt","Vt","Ut","$t","zt","Gt","__localeId__","__localeData__","Zt","tr","rr","minDate","maxDate","excludeDates","excludeDateIntervals","includeDates","includeDateIntervals","filterDate","lr","nr","or","sr","ir","pr","dr","excludeTimes","includeTimes","filterTime","ur","minTime","maxTime","fr","hr","mr","yr","Dr","vr","wr","gr","kr","br","startPeriod","endPeriod","Sr","Cr","yearsList","onChange","incrementYears","decrementYears","onCancel","setState","shiftYears","yearDropdownItemNumber","scrollableYearDropdown","dropdownRef","createRef","renderOptions","Component","_r","Mr","dropdownVisible","onSelectChange","renderSelectOptions","toggleDropdown","renderReadView","renderDropdown","adjustDateOnChange","handleYearChange","onSelect","setOpen","dropdownMode","renderScrollMode","renderSelectMode","Pr","monthNames","isSelectedMonth","Er","Nr","useShortMonthInDropdown","xr","Or","monthYearsList","scrollableMonthYearDropdown","Yr","Ir","Tr","isDisabled","onMouseEnter","handleOnKeyDown","disabledKeyboardNavigation","selected","preSelection","highlightDates","startDate","endDate","selectsStart","selectsEnd","selectsRange","selectsDisabledDaysInRange","selectingDate","isInSelectingRange","dayClassName","isExcluded","isSelected","isKeyboardSelected","isRangeStart","isRangeEnd","isInRange","isSelectingRangeStart","isSelectingRangeEnd","isCurrentDay","isWeekend","isAfterMonth","isBeforeMonth","getHighLightedClass","ariaLabelPrefixWhenEnabled","ariaLabelPrefixWhenDisabled","getTabIndex","isInputFocused","activeElement","inline","shouldFocusDayInline","containerRef","dayEl","preventScroll","monthShowsDuplicateDaysEnd","monthShowsDuplicateDaysStart","renderDayContents","getClassNames","onKeyDown","handleClick","handleMouseEnter","getAriaLabel","role","handleFocusDay","Lr","weekNumber","ariaLabelPrefix","Rr","onDayClick","onDayMouseEnter","onWeekSelect","shouldCloseOnSelect","formatWeekNumber","calendarStartDay","showWeekNumber","handleWeekClick","chooseDayAriaLabelPrefix","disabledDayAriaLabelPrefix","handleDayClick","handleDayMouseEnter","renderDays","Fr","orderInDisplay","onMouseLeave","fixedHeight","weekAriaLabelPrefix","showWeekNumbers","isWeekInMonth","peekNextMonth","setPreSelection","MONTH_REFS","onMonthClick","handleMonthNavigation","monthClassName","isRangeStartMonth","isRangeEndMonth","isCurrentMonth","isSelectedQuarter","isRangeStartQuarter","isRangeEndQuarter","showFullMonthYearPicker","showTwoColumnMonthYearPicker","showFourColumnMonthYearPicker","onMonthKeyDown","getMonthClassNames","onQuarterClick","getQuarterClassNames","showMonthYearPicker","showQuarterYearPicker","handleMouseLeave","renderMonths","renderQuarters","renderWeeks","Ar","timeClassName","isSelectedTime","injectTimes","intervals","openToDate","liClasses","centerLi","calcCenterPosition","monthRef","todayButton","showTimeSelectOnly","timeCaption","renderTimes","onTimeChange","qr","yearItemNumber","YEAR_REFS","updateFocusOnPaginate","handleYearClick","onYearClick","handleYearNavigation","isCurrentYear","onYearKeyDown","getYearTabIndex","getYearClassNames","Wr","customTimeInput","placeholder","timeInputLabel","renderTimeInput","Br","showPopperArrow","arrowProps","Kr","Hr","onClickOutside","onDropdownFocus","handleMonthChange","onMonthMouseLeave","onYearChange","onMonthChange","handleMonthYearChange","weekLabel","formatWeekday","weekDayClassName","formatWeekDay","useWeekdaysShort","showYearPicker","renderCustomHeader","forceShowMonthNavigation","showDisabledMonthNavigation","decreaseMonth","decreaseYear","previousMonthButtonLabel","previousYearButtonLabel","previousMonthAriaLabel","previousYearAriaLabel","showTimeSelect","increaseMonth","increaseYear","nextMonthButtonLabel","nextYearButtonLabel","nextMonthAriaLabel","nextYearAriaLabel","showYearDropdown","showMonthDropdown","showMonthYearDropdown","changeYear","changeMonth","changeMonthYear","monthDate","renderCurrentMonth","onFocus","handleDropdownFocus","renderMonthDropdown","renderMonthYearDropdown","renderYearDropdown","monthContainer","customHeaderCount","prevMonthButtonDisabled","nextMonthButtonDisabled","prevYearButtonDisabled","nextYearButtonDisabled","renderYearHeader","renderDefaultHeader","showPreviousMonths","monthsShown","monthSelectedIn","renderHeader","monthAriaLabelPrefix","handleOnDayKeyDown","handleMonthMouseLeave","timeFormat","timeIntervals","withPortal","showTimeInput","getDateInView","assignMonthContainer","renderPreviousButton","renderNextButton","renderYears","renderTodayButton","renderTimeSection","renderInputTimeSection","jr","portalRoot","portalHost","portalId","createPortal","Qr","Vr","tabLoopRef","querySelectorAll","getTabChildren","enableTabLoop","handleFocusStart","handleFocusEnd","Ur","wrapperClassName","hidePopper","popperComponent","popperModifiers","popperPlacement","popperProps","popperOnKeyDown","Popper","popperContainer","Manager","Reference","$r","zr","Gr","Jr","getPreSelection","startOpen","preventFocus","focused","preventFocusTimeout","cancelFocusInput","calcInitialState","lastPreSelectChange","Zr","setBlur","inputValue","readOnly","preventOpenOnFocus","inputFocusTimeout","setFocus","onBlur","onChangeRaw","isDefaultPrevented","Xr","strictParsing","setSelected","allowSameDay","focusSelectedMonth","onInputClick","calendar","componentNode","inputOk","handleSelect","onInputError","onClearClick","closeOnScroll","isCalendarOpen","dateFormatCalendar","handleCalendarClickOutside","outsideClickIgnoreClass","handleTimeChange","calendarClassName","calendarContainer","excludeScrollbar","onDayKeyDown","customInput","customInputRef","handleBlur","handleChange","handleFocus","onInputKeyDown","autoFocus","placeholderText","autoComplete","ariaDescribedBy","ariaInvalid","ariaLabelledBy","ariaRequired","isClearable","clearButtonTitle","clearButtonClassName","ariaLabelClose","onScroll","onCalendarOpen","onCalendarClose","clearPreventFocusTimeout","renderDateInput","renderClearButton","renderCalendar","renderInputContainer","popperClassName","onPopperKeyDown","CalendarContainer","getDefaultLocale","registerLocale","setDefaultLocale","isNodeFound","ignoreClass","seed","passiveEventSupport","handlersMap","enabledInstances","touchEvents","IGNORE_CLASS_NAME","getEventHandlerOptions","eventName","handlerOptions","WrappedComponent","_class","_temp","_Component","__outsideClickHandler","__clickOutsideHandlerProp","getInstance","handleClickOutside","__getComponentNode","setClickOutsideRef","findDOMNode","enableOnClickOutside","_uid","noop","testPassiveEventSupport","eventTypes","evt","findHighest","composed","disableOnClickOutside","getRef","instanceRef","_proto","isReactComponent","componentDidMount","componentDidUpdate","componentWillUnmount","wrappedRef","ManagerReferenceNodeContext","React","ManagerReferenceNodeSetterContext","_React$useState","referenceNode","setReferenceNode","hasUnmounted","handleSetReferenceNode","Provider","unwrapArray","safeInvoke","setRef","fromEntries","useIsomorphicLayoutEffect","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","prevOptions","optionsWithDefaults","updateStateModifier","popperOptions","newOptions","popperInstanceRef","popperInstance","defaultCreatePopper","NOOP","NOOP_PROMISE","_ref$placement","_ref$strategy","_ref$modifiers","innerRef","setPopperElement","_React$useState2","setArrowElement","_usePopper","childrenProps","hide","refHandler","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","Qa","$$typeof","_payload","Ra","Sa","Ta","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","eb","fb","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","MSApp","execUnsafeLocalFunction","ob","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","orphans","tabSize","widows","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","setProperty","tb","menuitem","col","embed","keygen","meta","param","track","wbr","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","rc","sc","tc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","jd","kd","ld","md","nd","od","pd","qd","rd","_reactName","_targetInst","currentTarget","defaultPrevented","isPropagationStopped","persist","isPersistent","wd","xd","yd","sd","eventPhase","timeStamp","td","ud","vd","Ad","pageX","pageY","getModifierState","zd","buttons","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Meta","Shift","Pd","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","targetTouches","Xd","Zd","wheelDeltaX","$d","documentMode","datetime","email","password","tel","oninput","nextSibling","compareDocumentPosition","HTMLIFrameElement","contentWindow","contentEditable","focusedElem","selectionRange","selectionStart","selectionEnd","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","setStart","setEnd","animationend","animationiteration","animationstart","transitionend","animation","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","of","pf","qf","rf","sf","capture","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","bh","ch","eventTime","lane","payload","dh","eh","fh","gh","hh","ih","jh","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","sh","_owner","_stringRef","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","ii","ji","ki","getSnapshot","li","mi","ni","lastEffect","stores","oi","pi","qi","ri","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tailMode","yj","Ej","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onclick","createTextNode","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","Yj","Zj","ak","onCommitFiberUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","ok","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","dl","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","form","tl","usingClientEntryPoint","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","supportsFiber","inject","createRoot","unstable_strictMode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","hasElementType","hasArrayBuffer","equal","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","_interopDefaultLegacy","React__default","PropTypes__default","Tag","selectedTag","removeButtonText","onDelete","selectedTagName","SIZER_STYLES","STYLE_PROPS","Input","superclass","inputWidth","sizer","autoresize","copyInputStyles","updateInputWidth","query","this$1$1","inputStyle","ariaLabelText","expanded","inputAttributes","inputEventHandlers","searchWrapper","searchInput","escapeForRegExp","matchAny","matchPartial","matchExact","markIt","regexp","DefaultSuggestionComponent","Suggestions","SuggestionComponent","suggestionComponent","suggestionActive","suggestionDisabled","onMouseDown","addTag","suggestionPrefix","disableMarkIt","suggestions","focusNextElement","scope","interactiveEls","currentEl","nextEl","KEYS","ENTER","UP_ARROW","UP_ARROW_COMPAT","DOWN_ARROW","DOWN_ARROW_COMPAT","CLASS_NAMES","rootFocused","findMatchIndex","option","pressDelimiter","minQueryLength","allowNew","pressUpKey","pressDownKey","pressBackspaceKey","deleteTag","tags","defaultSuggestionsFilter","getOptions","suggestionsTransform","suggestionsFilter","maxSuggestionsLength","newTagText","noSuggestionsText","ReactTags","onInput","delimiters","allowBackspace","focusInput","addOnBlur","onDeleteTag","onValidate","onAddition","clearInput","clearSelectedIndex","TagComponent","tagComponent","rootClassNames","prevQuery","prevSuggestions","__self","__source","jsx","jsxs","_status","_result","toArray","createContext","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","createFactory","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","_slicedToArray","_iterableToArrayLimit","states","STATES_DEFAULT","immutablejs","namespace","NAMESPACE_DEFAULT","namespaceSeparator","NAMESPACE_SEPARATOR_DEFAULT","preloadedState","disableWarnings","DISABLE_WARNINGS_DEFAULT","MODULE_NAME","SafeLocalStorage","getItem","realiseObject","ignoreStates","IGNORE_STATES_DEFAULT","setItem","lensPath","removeItem","isInteger","handleIgnoreStates","getState","debounceTimeouts","warnConsole","warnSilent","warnFn","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","awrap","async","skipTempReset","rootRecord","rval","exception","loc","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","sortIndex","expirationTime","priorityLevel","scheduling","isInputPending","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","callBound","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","curr","$wm","$m","$o","channel","assert","listGet","listHas","listSet","ranges","getRangeAt","inst","useSyncExternalStoreWithSelector","hasValue","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","leafPrototypes","ns","definition","nc","batch","getBatch","ReactReduxContext","notInitialized","_s","_n","_extends","pureFinalPropsSelectorFactory","mapStateToProps","mapDispatchToProps","mergeProps","ownProps","stateProps","dispatchProps","mergedProps","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextState","nextOwnProps","propsChanged","stateChanged","dependsOnOwnProps","nextStateProps","statePropsChanged","handleNewState","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","wrapMapToPropsConstant","getConstant","constant","constantSelector","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","stateOrDispatch","createInvalidArgFactory","wrappedComponentName","mapDispatchToPropsFactory","actionCreators","boundActionCreators","actionCreator","mapStateToPropsFactory","defaultMergeProps","mergePropsFactory","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","nullListeners","notify","createSubscription","store","parentSub","unsubscribe","handleChangeWrapper","subscription","onStateChange","trySubscribe","addNestedSub","isSubscribed","createListenerCollection","notifyNestedSubs","tryUnsubscribe","getListeners","shallowEqual","objA","objB","keysA","keysB","NO_SUBSCRIPTION_ARRAY","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","additionalSubscribeListener","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","strictEqual","pure","wrapWithConnect","selectorFactoryOptions","ConnectFunction","reactReduxForwardedRef","propsContext","ContextToUse","contextValue","didStoreComeFromProps","didStoreComeFromContext","getServerState","defaultSelectorFactory","overriddenContextValue","latestSubscriptionCallbackError","actualChildProps","actualChildPropsSelector","subscribeForReact","reactListener","renderedWrappedComponent","Connect","forwarded","hoistStatics","serverState","previousState","newBatch","_construct","Parent","_wrapNativeSuper","_cache","Wrapper","initializeUseSelector","initializeConnect","Action","ResultType","PopStateEventType","getHistoryState","usr","createLocation","pathname","parsePath","parsedPath","hashIndex","searchIndex","getUrlBasedHistory","getLocation","createHref","validateLocation","v5Compat","globalHistory","history","Pop","handlePop","listen","Push","historyState","pushState","Replace","replaceState","go","matchRoutes","routes","locationArg","basename","stripBasename","branches","flattenRoutes","score","siblings","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matches","matchRouteBranch","parentsMeta","parentPath","route","relativePath","caseSensitive","startsWith","invariant","joinPaths","computeScore","paramRe","isSplat","segments","initialScore","branch","matchedParams","matchedPathname","remainingPathname","matchPath","pathnameBase","normalizePathname","endsWith","paramNames","regexpSource","compilePath","matcher","captureGroups","splatValue","safelyDecodeURIComponent","startIndex","nextChar","cond","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","toPathname","routePathnameIndex","toSegments","fromPathname","resolvePathname","normalizeSearch","normalizeHash","resolvePath","hasExplicitTrailingSlash","hasCurrentTrailingSlash","AbortedDeferredError","ErrorResponse","isRouteErrorResponse","checkIfSnapshotChanged","latestGetSnapshot","prevValue","nextValue","DataStaticRouterContext","DataRouterContext","DataRouterStateContext","AwaitContext","NavigationContext","LocationContext","RouteContext","outlet","RouteErrorContext","useInRouterContext","useLocation","getPathContributingMatches","useNavigate","routePathnamesJson","activeRef","navigate","relative","useParams","routeMatch","useResolvedPath","_temp2","DefaultErrorElement","useDataRouterState","DataRouterHook","UseRouteError","thisRoute","errors","useRouteError","lightgrey","preStyles","backgroundColor","codeStyles","fontStyle","RenderErrorBoundary","errorInfo","RenderedRoute","routeContext","dataStaticRouterContext","errorElement","_deepestRenderedBoundaryId","_renderMatches","parentMatches","dataRouterState","renderedMatches","errorIndex","reduceRight","getChildren","hookName","AwaitRenderStatus","Navigate","navigation","Route","_props","Router","basenameProp","locationProp","navigationType","NavigationType","static","staticProp","navigationContext","trailingPathname","Routes","dataRouterContext","dataRouterStateContext","parentParams","parentPathnameBase","locationFromContext","parsedLocationArg","useRoutes","router","createRoutesFromChildren","neverSettledPromise","treePath","loader","hasErrorBoundary","shouldRevalidate","BrowserRouter","historyRef","createPath","Link","reloadDocument","preventScrollReset","joinedPathname","useHref","internalOnClick","replaceProp","isModifiedEvent","shouldProcessLinkClick","useLinkClickHandler","NavLink","ariaCurrentProp","classNameProp","styleProp","useMatch","routerState","nextLocation","nextPath","isActive","ariaCurrent","Bottle","_objectSpread2","DELIMITER","FUNCTION_TYPE","STRING_TYPE","GLOBAL_NAME","PROVIDER_SUFFIX","getNested","strict","getNestedBottle","bottle","nested","getNestedService","fullname","reducer","getWithGlobal","collection","__global__","createProvider","providerName","decorators","middlewares","provider","$get","middleware","applyMiddleware","providerMap","originalProviders","Factory","createService","Service","serviceFactory","defineValue","setValueObject","nestedContainer","defineConstant","decorator","byMethod","bottles","register","Obj","$value","$type","$name","$inject","removeProviderMap","deferred","$decorator","$register","$list","services","instanceFactory","resetProviders","tempProviders","shouldFilter","originalProviderName","factoryService","_isPlaceholder","_curry1","f1","_curry2","f2","pick","hasServerData","server","apiKey","isServerWithId","isReachableServer","getServerId","serverWithIdToServerData","asyncGeneratorStep","_next","_throw","_isTransformer","_dispatchable","methodNames","_isArray","transducer","_isObject","_isString","_isArrayLike","XWrap","_arity","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","thisObj","_iterableReduce","_methodReduce","symIterator","_reduce","_xwrap","_arrayReduce","XFilter","_xfBase","_xfilter","_has","_isArguments","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","nIdx","ks","checkArgsLength","pred","filterable","_complement","isNil","_arrayFromIterator","_includesWith","_uniqContentEquals","aIterator","bIterator","stackA","stackB","_equals","aItem","_objectIs","typeA","_functionName","ignoreCase","multiline","extendedStackA","extendedStackB","ErrorTypeV2","ErrorTypeV3","determineOrderDir","currentField","newField","currentOrderDir","ASC","DESC","sortList","greaterThan","smallerThan","orderToString","parseApiError","isProblemDetails","isInvalidDeletionError","INVALID_SHORT_URL_DELETION","parseQuery","qs","stringifyQuery","buildShlinkBaseUrl","rejectNilProps","normalizeOrderByInParams","orderBy","ShlinkApiClient","httpClient","baseUrl","apiVersion","listShortUrls","performRequest","shortUrls","createShortUrl","filteredOptions","getShortUrlVisits","shortCode","visits","getTagVisits","getDomainVisits","getOrphanVisits","getNonOrphanVisits","getVisitsOverview","getShortUrl","deleteShortUrl","performEmptyRequest","updateShortUrl","edit","listTags","withStats","stats","deleteTags","editTag","oldName","newName","health","mercureInfo","listDomains","domains","editDomainRedirects","domainRedirects","fetchJson","toFetchParams","handleFetchError","fetchEmpty","normalizedQuery","stringifiedQuery","retryFetch","NOT_FOUND","apiClients","buildShlinkApiClient","getStateOrSelectedServer","isGetState","selectedServer","getSelectedServerFromState","clientKey","ScrollToTop","faCalendarDays","iconName","faCalendarAlt","faCircleMinus","faMinusCircle","faFileCsv","faPencil","faPencilAlt","faCircleNotch","faBars","faList","faCircleDot","faDotCircle","faPenToSquare","faEdit","faPlug","faGlobe","faBan","faServer","faFileArrowUp","faFileUpload","faMapLocationDot","faMapMarkedAlt","faCaretUp","faPalette","faArrowDownWideShort","faSortAmountDown","faChartPie","faTags","faEye","faPen","faTrash","faArrowLeft","faUpRightFromSquare","faExternalLinkAlt","faTableCellsLarge","faThLarge","faTag","faCircleInfo","faInfoCircle","faArrowRotateLeft","faUndo","faCaretDown","faEllipsisVertical","faEllipsisV","faHouse","faHome","faArrowUpWideShort","faSortAmountUp","faFileArrowDown","faFileDownload","faSun","faLink","faMagnifyingGlass","faSearch","faChevronDown","faPlus","faXmark","faTimes","faChevronRight","faRotate","faSyncAlt","faRobot","faGears","faCogs","faQrcode","faMoon","faCheck","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","measure","_familyProxy","_familyProxy2","_familyProxy3","_familyProxy4","_familyProxy5","_ref$userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","IS_IE","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","FAMILY_CLASSIC","FAMILY_SHARP","FAMILIES","familyProxy","PREFIX_TO_STYLE","STYLE_TO_PREFIX","PREFIX_TO_LONG_STYLE","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","prefixes","RESERVED_CLASSES","initial","FontAwesomeConfig","attr","coerce","getAttrConfig","_default","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_config","_onChangeCb","meaninglessTransform","rotate","flipX","flipY","nextUniqueId","classArray","htmlEscape","joinStyles","styleName","transformIsMeaningful","dcp","drc","fp","dPatt","customPropPatt","rPatt","_cssInserted","ensureCss","headChildren","beforeChild","insertCss","InjectCSS","mixout","dom","hooks","beforeDOMElementCreation","beforeI2svg","shims","functions","domready","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","joinAttributes","iconFromMapping","mapping","doScroll","subject","thisContext","bindInternal4","decoded","counter","ucs2decode","normalizeIcons","icons","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","_LONG_STYLE","_PREFIXES","_PREFIXES_FOR_FAMILY","LONG_STYLE","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","getIconName","cls","build","aliases","hasRegular","autoFetchSvg","shimLookups","maybeNameMaybeUnicode","unicodes","getCanonicalPrefix","family","byUnicode","byAlias","byOldName","getDefaultUsablePrefix","styleOrPrefix","_params$family","defined","PREFIXES_FOR_FAMILY","getCanonicalIcon","_famProps","_params$skipLookups","skipLookups","famProps","givenPrefix","canonical","aliasIconName","Library","definitions","additions","_pullDefinitions","longPrefix","_normalized$key","_plugins","_hooks","providers","defaultProviderKeys","chainHooks","hook","accumulator","hookFns","hookFn","callHooks","_len2","_key2","callProvided","findIconDefinition","iconLookup","library","i2svg","autoReplaceSvgRoot","autoReplace","canonicalIcon","_prefix","api","noAuto","_params$autoReplaceSv","domVariants","abstractCreator","abstract","makeInlineSvgAbstract","_params$icons","mask","maskId","titleId","_params$watchable","watchable","isUploadedIcon","attrClass","uploadedIconWidthStyle","asSymbol","asIcon","makeLayersTextAbstract","_params$watchable2","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","transformForCss","styleString","class","makeLayersCounterAbstract","styles$1","asFoundIcon","vectorData","missingIconResolutionMixin","findIcon","maybeNotifyMissing","noop$1","preamble","perf","noop$2","isWatched","convertSVG","abstractObj","_params$ceFn","ceFn","mutators","mutation","comment","createComment","outerHTML","nodeAsComment","replaceChild","nest","forSvg","splitClasses","toSvg","toNode","newInnerHTML","performOperationSync","op","perform","mutations","callbackFunction","mutator","disableObservation","enableObservation","mo","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","defaultPrefix","mutationRecord","addedNodes","hasPrefixAndIcon","_getCanonicalIcon","childList","characterData","subtree","styleParser","classParser","existingPrefix","existingIconName","innerText","ligature","byLigature","Node","TEXT_NODE","attributesParser","extraAttributes","parseMeta","_classParser","extraClasses","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","knownPrefixes","onTree","htmlClassList","hclAdd","hclRemove","prefixesDomQuery","candidates","resolvedMutations","onNode","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","ReplaceElements","maybeIconDefinition","mutationObserverCallbacks","provides","providers$$1","_params$node","_params$callback","generateSvgReplacementMutation","generateAbstractIcon","nextChild","iconWidth","assembler","LayersCounter","LayersText","generateLayersText","computedFontSize","fontSize","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","replaceForPosition","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","getPropertyValue","_hexValueFromContent","cleaned","codePointAt","isPrependTen","isDoubled","isSecondary","hexValueFromContent","hexValue","isV4","iconIdentifier","iconName4","oldUnicode","newUnicode","byOldUnicode","processable","operations","_unwatched","parseTransformString","transformString","PowerTransforms","parseNodeAttributes","generateAbstractTransformGrouping","outer","innerTranslate","innerScale","innerRotate","ALL_SPACE","fillBlack","force","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","transformForSvg","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","MissingIconIndicator","reduceMotion","matchMedia","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","cx","cy","nextPlugins","mixoutsTo","plugin","registerPlugins","pseudoElements2svg","unwatch","bootstrap","symbolData","parse$1","camelize","chr","styleToObject","pair","normalizeIconArgs","objectWithKey","FontAwesomeIcon","iconArgs","maskArgs","_classes","beat","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","inverse","border","listItem","flip","rotation","pull","swapOpacity","renderedIcon","_console","extraProps","convertCurry","convert","_extraProps$style","existingStyle","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","prevState","updateStatus","prevProps","nextStatus","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","appearing","nodeRef","ReactDOM","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","onExit","onExiting","onExited","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","childProps","TransitionGroupContext","globalCssModule","getScrollbarWidth","scrollDiv","scrollbarWidth","setScrollbarWidth","paddingRight","isBodyOverflowing","innerWidth","getOriginalBodyPadding","conditionallyUpdateScrollbar","fixedContent","bodyPadding","mapToCssModules","cssModule","omitKeys","pickKeys","warnOnce","propType","explanation","DOMElement","targetPropType","tagPropType","TransitionTimeouts","Fade","Collapse","Modal","Carousel","Offcanvas","TransitionPropTypeKeys","TransitionStatuses","esc","space","tab","home","PopperPlacements","canUseDOM","isReactRefObj","getTag","toNumber","isBinary","findDOMElements","isArrayOrNodeList","els","getTarget","allElements","defaultToggleEvents","addMultipleEventListeners","_els","useCapture","focusableElements","fluid","Container","containerClass","rowColsPropType","noGutters","sm","xl","xxl","widths","Row","colClasses","colWidth","colSize","isXs","colWidths","stringOrNumberProp","columnProps","getColumnSizeClass","getColumnClasses","modifiedAttributes","columnProp","colSizeInterfix","colClass","Col","dark","fixed","light","Navbar","getExpandClass","NavbarBrand","NavbarText","NavbarToggler","card","horizontal","justified","navbar","pills","tabs","vertical","Nav","getVerticalClass","NavItem","listClassName","listTag","Breadcrumb","ListTag","listClasses","BreadcrumbItem","variant","CloseButton","block","Button","ariaLabel","btnOutlineColor","ButtonToggle","toggled","setToggled","DropdownContext","InputGroupContext","a11y","group","nav","dropup","inNavbar","setActiveFromChild","menuRole","preventDefaultKeys","Dropdown","addEvents","handleDocumentClick","handleKeyDown","removeEvents","handleMenuRef","handleToggleRef","menuRef","toggleRef","handleProps","menu","getMenu","getToggle","targetIsToggle","clickIsInMenu","clickIsInInput","isTargetMenuItem","isTargetMenuCtrl","getMenuCtrl","isTab","getMenuItems","$menuitems","charPressed","getContextValue","onMenuRef","onToggleRef","_$menuCtrl","getItemType","menuContainer","subItemIsActive","dropdownItem","insideInputGroup","ButtonDropdown","ButtonGroup","ButtonToolbar","divider","DropdownItem","getRole","updateOnSelect","directionPositionMap","DropdownMenu","show","position1","position2","poperPlacement","poperModifiers","combinedStyle","tagRef","caret","DropdownToggle","baseClass","baseClassActive","otherProps","transitionProps","AccordionContext","Accordion","accordionContext","defaultOpen","stayOpen","UncontrolledAccordion","accordionId","targetId","AccordionHeader","buttonClasses","AccordionItem","transitionStatusToClassHash","dimension","isAppearing","getNode","getDimension","collapseClass","getTransitionClass","AccordionBody","pill","Badge","Card","CardGroup","CardDeck","CardColumns","CardBody","CardLink","CardFooter","CardHeader","CardImg","cardImgClassName","CardImgOverlay","CarouselContext","CarouselItem","startAnimation","isIn","slide","directionClassName","itemClasses","activeIndex","previous","ride","mouseEnter","mouseLeave","enableTouch","propsToOmit","handleKeyPress","renderItems","hoverStart","hoverEnd","handleTouchStart","handleTouchEnd","touchStartX","touchStartY","indicatorClicked","currentX","currentY","diffX","cycleInterval","carouselItems","outerClasses","innerClasses","controlLeft","controlRight","indicators","wrappedIndicators","onClickHandler","onTouchStart","onTouchEnd","nextProps","newState","CarouselControl","directionText","anchorClasses","iconClasses","screenReaderClasses","cursor","CarouselIndicators","indicatorClasses","caption","CarouselCaption","captionHeader","captionText","controls","autoPlay","defaultActiveIndex","goToIndex","UncontrolledCarousel","newIndex","slides","altText","CardSubtitle","CardText","CardTitle","placementPrefix","arrowClassName","hideArrow","boundariesElement","onClosed","PopperContent","setTargetNode","getTargetNode","targetNode","getContainerNode","renderChildren","_arrowClassName","_popperClassName","modifierNames","baseModifiers","extendedModifiers","popperTransition","ReactPopper","PopperTargetHelper","popperManager","innerClassName","autohide","trigger","DEFAULT_DELAYS","isInDOMSubtree","subtreeRoot","isInDOMSubtrees","subtreeRoots","subTreeRoot","TooltipPopoverWrapper","currentTargetElement","addTargetEvents","removeTargetEvents","showWithDelay","hideWithDelay","onMouseOverTooltipContent","onMouseLeaveTooltipContent","onEscKeyDown","_isMounted","updateTarget","clearShowTimeout","clearHideTimeout","triggers","_hideTimeout","_popover","_showTimeout","getDelay","getCurrentTarget","parentElement","addEventOnTargets","isBubble","removeEventOnTargets","newTarget","popperClasses","onMouseOver","Popover","UncontrolledPopover","PopoverHeader","PopoverBody","animated","bar","barAriaLabelledBy","barAriaValueText","barClassName","barStyle","striped","Progress","percent","progressClasses","progressBarProps","defaultNode","FadePropTypes","backdrop","backdropClassName","backdropTransition","centered","contentClassName","external","fullscreen","labelledBy","modalClassName","modalTransition","onOpened","returnFocusAfterClose","scrollable","trapFocus","unmountOnClose","wrapClassName","_originalBodyPadding","_originalBodyOverflow","getFocusableChildren","handleBackdropClick","handleBackdropMouseDown","handleEscape","handleStaticBackdropAnimation","handleTab","manageFocusAfterClose","clearBackdropAnimationTimeout","showStaticBackdropAnimation","_mouseDownElement","_dialog","modalIndex","openCount","focusableChildren","totalFocusable","currentFocus","getFocusedChild","focusedIndex","_backdropAnimationTimeout","_triggeringElement","_mountContainer","modalOpenClassName","modalOpenClassNameRegex","renderModalDialog","dialogBaseClass","isModalHidden","modalAttributes","onKeyUp","hasTransition","Backdrop","closeAriaLabel","wrapTag","ModalHeader","WrapTag","ModalBody","ModalFooter","bordered","borderless","hover","responsive","responsiveTag","Table","ResponsiveTag","table","responsiveClassName","numbered","ListGroup","getHorizontalClass","Form","submit","FormFeedback","validMode","switch","floating","FormGroup","switchProp","formCheck","FormText","bsSize","invalid","plaintext","addon","checkInput","selectInput","rangeInput","formControlClass","InputGroup","InputGroupText","hidden","Label","htmlFor","colFormLabel","formLabel","offcanvasTransition","_backdrop","offcanvasIndex","isOffcanvasHidden","offcanvasAttributes","OffcanvasBody","OffcanvasHeader","Pagination","PaginationItem","PaginationLink","defaultAriaLabel","defaultCaret","TabContext","activeTab","TabContent","activeTabId","tabId","TabPane","getClasses","closeClassName","Alert","closeClasses","alertTransition","Toast","toastTransition","ToastBody","tagClassName","ToastHeader","iconProp","xmlns","preserveAspectRatio","focusable","handleDisabledOnClick","ListGroupItem","ListGroupItemHeading","ListGroupItemText","List","ListInlineItem","UncontrolledButtonDropdown","toggler","toggleEvents","UncontrolledCollapse","togglers","removeEventListeners","UncontrolledDropdown","onToggle","UncontrolledTooltip","Spinner","Placeholder","PlaceholderButton","getRandomValues","preventScrollOnSwipe","rotationAngle","trackMouse","trackTouch","swipeDuration","touchEventOptions","initialState","swiping","xy","mouseMove","mouseUp","rotateXYByAngle","angle","angleInRadians","useSwipeable","defaultKey","transientState","transientProps","previousProps","handlerProps","isTouch","onMove","onUp","onTouchStartOrOnMouseDown","absX","absY","velocity","vxvy","getDirection","eventData","onSwipeStart","onSwiping","cancelablePageSwipe","onSwiped","onEnd","onSwipedDir","onTap","onTouchEndOrOnMouseUp","cleanUpMouse","attachTouch","baseOptions","tls","addState","cleanUpTouch","getHandlers","stateSetter","updateTransientState","rnds8","rng","crypto","msCrypto","uuid","REGEX","byteToHex","rnds","useTimeoutToggle","flag","setFlag","useToggle","useGoBack","useDomId","MAIN_COLOR","HIGHLIGHTED_COLOR","changeThemeInMarkup","theme","isDarkThemeEnabled","ShlinkLogo","viewBox","MainHeader","ServersDropdown","toggleOpen","settingsPath","toggleClass","arrowIcon","cogsIcon","vals","__assign","ExternalLink","__rest","rel","ServerListItem","chevronIcon","ServersListGroup","servers","embedded","Home","serversList","hasServers","autoConnectServer","autoConnect","getClassForType","getTextClassForType","Message","fullWidth","preloader","NoMenuLayout","withSelectedServer","ServerError","selectServer","serverId","serverNotFound","v1","v2","operator","assertValidOperator","n1","validateAndParse","n2","compareSegments","operatorResMap","semver","isWildcard","tryParse","compareStrings","forceType","ap","allowedOperators","memoizeWith","mFn","_identity","_isNumber","_pipe","_curry3","f3","_checkForMethod","methodname","fromIndex","toIndex","rangeOf","mappingFn","startAt","handleEventPreventingDefault","nonEmptyValueOrNull","otherValue","versionIsValidSemVer","identity","versionToPrintable","versionToSemVer","serverMatchesMinVersion","minVersion","versionToMatch","maxVersion","matchesMinVersion","versionMatch","supportsBotVisits","supportsCrawlableVisits","supportsQrErrorCorrection","supportsDomainRedirects","supportsForwardQuery","supportsNonRestCors","supportsDefaultDomainRedirectsEdition","supportsNonOrphanVisits","supportsAllTagsFiltering","supportsDomainVisits","SimpleCard","bodyClassName","NotFound","MenuLayout","TagsList","ShortUrlsList","AsideMenu","CreateShortUrl","ShortUrlVisits","TagVisits","DomainVisits","OrphanVisits","NonOrphanVisits","Overview","EditShortUrl","ManageDomains","sidebarNotPresent","sidebarPresent","sidebarVisible","toggleSidebar","showSidebar","hideSidebar","showContent","addNonOrphanVisitsRoute","addManageDomainsRoute","addDomainVisitsRoute","burgerClasses","swipeableProps","swipeMenuIfNoModalExists","swippedOnVisitsTable","useReactSwipeable","onSwipedLeft","onSwipedRight","burgerIcon","showOnMobile","AsideMenuItem","DeleteServerButton","hasId","addManageDomainsLink","asideClass","buildPath","overviewIcon","listIcon","tagsIcon","domainsIcon","editIcon","textClassName","ErrorHandler","reload","normalizeVersion","VersionLink","ShlinkVersions","clientVersion","normalizedClientVersion","printableVersion","ShlinkVersionsContainer","sidebar","withoutSelectedServer","resetSelectedServer","die","isDraft","DRAFT_STATE","isDraftable","Ctor","objectCtorString","DRAFTABLE","_value$constructor","getArchtype","thing","type_","propOrOldValue","latest","copy_","base_","shallowCopy","descriptors","deep","isFrozen","dontMutateFrozenCollections","getPlugin","pluginKey","plugins","loadPlugin","getCurrentScope","currentScope","usePatchesInScope","patchListener","patches_","inversePatches_","patchListener_","revokeScope","leaveScope","drafts_","revokeDraft","parent_","enterScope","immer","immer_","canAutoFreeze_","unfinalizedDrafts_","draft","revoke_","revoked_","baseDraft","isReplaced","useProxies_","willFinalizeES5_","modified_","finalize","maybeFreeze","generateReplacementPatches_","NOTHING","rootScope","childValue","finalizeProperty","scope_","finalized_","draft_","generatePatches_","parentState","targetObject","rootPath","assigned_","autoFreeze_","peek","getDescriptorFromProto","markChanged","prepareCopy","createProxy","proxyMap_","proxySet_","isManual_","traps","objectTraps","arrayTraps","revocable","revoke","createProxyProxy","createES5Proxy_","copyHelper","archType","enableES5","proxyProperty","markChangesSweep","drafts","hasArrayChanges","hasObjectChanges","baseValue","baseIsDraft","createES5Draft","markChangesRecursively","hasChanges_","hasSymbol","hasProxies","_desc$get","readPropFromProto","deleteProperty","owner","Immer","recipe","defaultBase","produce","ip","produceWithPatches","patches","inversePatches","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","currentImpl","finishDraft","applyPatches","patch","applyPatchesImpl","applyPatches_","formatProdErrorMessage","$$observable","observable","randomString","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","createStore","enhancer","currentReducer","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","replaceReducer","nextReducer","outerSubscribe","observer","observeState","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","compose","funcs","_dispatch","middlewareAPI","createThunkMiddleware","extraArgument","thunk","withExtraArgument","composeWithDevTools","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","baseProto","MiddlewareArray","freezeDraftable","createNextState","curryGetDefaultMiddleware","middlewareArray","thunkMiddleware","getDefaultMiddleware","configureStore","rootReducer","curriedGetDefaultMiddleware","_f","devTools","_g","_h","enhancers","finalMiddleware","middlewareEnhancer","finalCompose","compose2","__spreadValues","storeEnhancers","createAction","prepareAction","prepared","executeReducerBuilderCallback","builderCallback","defaultCaseReducer","actionsMap","actionMatchers","builder","addCase","typeOrActionCreator","addMatcher","addDefaultCase","createSlice","_reducer","reducerNames","sliceCaseReducersByName","sliceCaseReducersByType","buildReducer","extraReducers","finalCaseReducers","mapOrBuilderCallback","getInitialState","finalActionMatchers","finalDefaultCaseReducer","isStateFunction","frozenInitialState_1","caseReducers","reducer2","caseReducer","isDraft2","isDraftable2","createNextState2","createReducer","reducerName","prepareCallback","maybeReducerWithPrepare","actionKey","getType2","prepare","actions","nanoid","commonProperties","miniSerializeError","simpleError","createAsyncThunk","typePrefix","payloadCreator","requestId","__spreadProps","requestStatus","serializeError","rejectedWithValue","aborted","condition","AC","throwIfAborted","class_1","abortReason","idGenerator","abortedPromise","promise2","isThenable","conditionResult","getPendingMeta","rejectWithValue","RejectWithValue","fulfillWithValue","FulfillWithMeta","finalAction","err_1","dispatchConditionRejection","unwrap","unwrapResult","createAsyncThunk2","withTypes","assertFunction","expected","catchRejection","addAbortSignalListener","abortSignal","abortControllerWithReason","listenerCancelled","task","validateActive","TaskAbortError","promisifyAbortSignal","notifyRejection","createPause","createDelay","timeoutMs","INTERNAL_NIL_TOKEN","alm","createFork","parentAbortSignal","taskExecutor","childAbortController","task2","cleanUp","result2","createTakePattern","startListening","tuplePromise","listenerApi","getOriginalState","promises","take","getListenerEntryPropsFrom","safelyNotifyError","errorHandler","errorToNotify","errorHandlerError","clearAllListeners","defaultErrorHandler","cancelActiveListeners","createListenerMiddleware","middlewareOptions","listenerMap","findListenerEntry","comparator","existingEntry","createListenerEntry","cancelOptions","cancelActive","insertEntry","stopListening","entry2","notifyListener","internalTaskController","fork","listenerError_1","raisedBy","clearListenerMiddleware","createClearListenerMiddleware","originalState","listenerEntries","runListener","predicateError","clearListeners","timer","sidebarReducer","saveUrl","filename","saveCsv","blob","Blob","URL","createObjectURL","ImageDownloader","imgUrl","fetchBlob","ReportExporter","jsonToCsv","exportVisits","exportCsv","exportShortUrls","applicationJsonHeader","withJsonContentType","HttpClient","resp","connect","nth","pathsArray","_isInteger","pathAr","SearchField","large","noBorder","searchTerm","setSearchTerm","resetTimer","searchTermChanged","newSearchTerm","searchIcon","DropdownBtn","dropdownClassName","toggleClasses","functor","XMap","_xmap","_curryN","received","combined","argsIdx","combinedIdx","curryN","pairs","STANDARD_DATE_FORMAT","STANDARD_DATE_AND_TIME_FORMAT","isDateObject","formatDateFromFormat","theFormat","_options$format","_options$representati","representation","tzOffset","dateDelimiter","timeDelimiter","absoluteOffset","hourOffset","minuteOffset","formatISO","formatIsoDate","formatInternational","formatDate","stdParseISO","dateOrNull","isBetween","isBeforeOrEqual","ALL","INTERVAL_TO_STRING_MAP","last7Days","last30Days","last90Days","last180Days","last365Days","INTERVALS","dateRangeIsEmpty","dateRange","rangeIsInterval","DATE_INTERVALS","datesToDateRange","rangeOrIntervalToString","dateRangeToString","startOfDaysAgo","daysAgo","endingToday","intervalToDateRange","dateToMatchingInterval","theDate","faCircleRight","faArrowAltCircleRight","faCircle","faCopy","DateInput","showCalendarIcon","calendarIcon","DateRangeRow","onStartDateChange","onEndDateChange","DateIntervalDropdownItems","allText","DateRangeSelector","onDatesChange","initialDateRange","defaultText","updatable","initialIntervalIsRange","activeInterval","setActiveInterval","activeDateRange","setActiveDateRange","updateDateRange","dateInterval","isFirstLoad","useEffectExceptFirstTime","isDateInterval","toPairs","OrderingDropdown","isButton","prefixed","handleItemClick","fieldKey","newOrderDir","fieldValue","sortAscIcon","sortDescIcon","useShortUrlsQuery","filtering","parsedOrderBy","stringToOrder","parsedTags","queryString","SHORT_URLS_ORDERABLE_FIELDS","dateCreated","longUrl","ShortUrlsFilteringBar","ExportShortUrlsBtn","TagsSelector","shortUrlsAmount","handleOrderBy","tagsMode","toFirstPage","setDates","theStartDate","theEndDate","setSearch","canChangeTagsMode","toggleTagsMode","selectedTags","boundToMercureHub","getTopicsForProps","pendingUpdates","createNewVisits","loadMercureInfo","topics","closeEventSource","onMessage","onTokenExpired","mercureHubUrl","onEventSourceMessage","onEventSourceError","subscriptions","topic","hubUrl","searchParams","append","Authorization","bindToMercureTopic","visit","Topics","TableOrderIcon","currentOrder","caretUpIcon","caretDownIcon","orphanVisits","shortUrlVisits","mergeWithKey","mergeDeepWithKey","lObj","rObj","lVal","rVal","DEFAULT_SHORT_URLS_ORDERING","commonReducer","mergeDeepRight","toReducer","toPreparedAction","realTimeUpdates","shortUrlCreation","validateUrls","defaultInterval","shortUrlsList","defaultOrdering","toggleRealTimeUpdates","setRealTimeUpdatesInterval","setShortUrlCreationSettings","setShortUrlsListSettings","setUiSettings","setVisitsSettings","setTagsSettings","settingsReducer","Intl","NumberFormat","prettify","ELLIPSIS","progressivePagination","currentPage","pageCount","pages","pageIsEllipsis","pageNumber","prettifyPageNumber","keyForPage","Paginator","paginator","currentQueryString","pagesCount","urlForPage","ShortUrlsTable","settings","page","actualOrderBy","setActualOrderBy","pagination","newTag","updatedTags","totalItems","orderByColumn","renderOrderIcon","onTagClick","clearable","colorGenerator","onClose","isColorLightForKey","getColorForKey","CopyToClipboardIcon","copyIcon","getUnixTime","compareAsc","isLastDayOfMonth","differenceInMonths","isLastMonthNotFull","differenceInMilliseconds","roundingMap","getRoundingMethod","differenceInSeconds","roundingMethod","cloneObject","MINUTES_IN_DAY","MINUTES_IN_MONTH","dirtyBaseDate","localizeOptions","months","offsetInSeconds","includeSeconds","nearestMonth","monthsSinceStartOfYear","years","Time","dateObject","_makeFlat","flatt","jlen","ilen","splitEvery","baseCreateAsyncThunk","createdVisits","ITEMS_PER_PAGE","isLastPage","calcProgress","total","createVisitsAsyncThunk","createLoaders","getExtraFulfilledPayload","shouldCancel","progressChangedAction","largeAction","fallbackToIntervalAction","asyncThunk","visitsLoader","lastVisitLoader","loadVisitsInParallel","loadPagesBlocks","pagesBlocks","loadVisits","pagesRange","lastVisit","lastVisitLoaderForLoader","doIntervalFallback","itemsPerPage","createVisitsReducer","asyncThunkCreator","filterCreatedVisits","cancelGetVisits","cancelLoad","errorData","loadingLarge","fallbackInterval","newVisits","REDUCER_PREFIX","DEFAULT_DOMAIN","getVisits","domainVisits","domainVisitsReducerCreator","shortUrl","domainMatches","shortUrlMatches","urlDecodeShortCode","replaceAll","buildUrl","urlEncodeShortCode","ShortUrlDetailLink","mutableRefToElementRef","ShortUrlVisitsCount","visitsCount","maxVisits","visitsLink","prettifiedMaxVisits","tooltipRef","infoIcon","ShortUrlsRow","ShortUrlsRowMenu","copiedToClipboard","setCopiedToClipboard","setActive","isFirstRun","DropdownBtnMenu","menuIcon","DeleteShortUrlModal","QrCodeModal","isQrModalOpen","openQrCodeModal","closeQrCodeModal","isDeleteModalOpen","openDeleteModal","closeDeleteModal","pieChartIcon","qrIcon","deleteIcon","ShortUrlForm","CreateShortUrlResult","resetCreateShortUrl","basicMode","shortUrlCreationSettings","customSlug","shortCodeLength","validSince","validUntil","findIfExists","validateUrl","forwardQuery","saving","onSave","creation","canBeClosed","small","ShlinkApiError","fallbackMessage","INVALID_ARGUMENT","invalidElements","DELETION_PATTERN","shortUrlDeletion","resetDeleteShortUrl","shortUrlDeleted","setInputValue","deleted","handleDeleteUrl","onSubmit","showCopyTooltip","setShowCopyTooltip","saved","closeIcon","assoc","assocPath","nextObj","shlinkDeleteShortUrl","shortUrlDeletionReducerCreator","deleteShortUrlThunk","shlinkListShortUrls","shortUrlsListReducerCreator","listShortUrlsThunk","editShortUrlThunk","createShortUrlThunk","ITEMS_IN_OVERVIEW_PAGE","editedShortUrl","currentShortUrl","shlinkCreateShortUrl","shortUrlCreationReducerCreator","editShortUrl","shortUrlEditionReducerCreator","shortUrlDetailReducerCreator","getShortUrlDetail","alreadyLoaded","actionableFieldClasses","orderableColumnsClasses","tableClasses","colSpan","beginRx","endRx","replacement","DateTimeInput","BooleanControl","typeClasses","Checkbox","InfoModal","UseExistingIfFoundInfoIcon","isModalOpen","toggleModal","InfoTooltip","ShortUrlFormCheckboxGroup","infoTooltip","normalizeTag","DomainSelector","shortUrlData","setShortUrlData","isEdit","isBasicMode","hadTitleOriginally","resolveNewTitle","hasNewTitle","renderOptionalInput","fromGroupProps","basicComponents","showCrawlableControl","showForwardQueryControl","showBehaviorCard","crawlable","shortUrlDetail","shortUrlEdition","goBack","savingError","savingErrorData","shortUrlDataFromShortUrl","QrFormatDropdown","setFormat","QrErrorCorrectionDropdown","errorCorrection","setErrorCorrection","imageDownloader","setMargin","capabilities","errorCorrectionIsSupported","displayDownloadBtn","willRenderThreeControls","qrCodeUrl","buildQrCodeUrl","totalSize","modalSize","saveImage","downloadIcon","ExportBtn","startLoading","stopLoading","exportAllUrls","totalPages","loadAllUrls","createdAt","LabeledFormGroup","labelClassName","noMargin","InputFormGroup","ServerForm","initialValues","setName","setApiKey","handleSubmit","DuplicatedServersModal","duplicatedServers","onDiscard","hasMultipleServers","ImportResult","CreateServer","ImportServersBtn","createServers","serversImported","setServersImported","errorImporting","setErrorImporting","isConfirmModalOpen","toggleConfirmModal","serverData","setServerData","tooltipPlacement","onImport","onImportError","serverIcon","plusIcon","DeleteServerModal","deleteServer","redirectHome","doDelete","showModal","hideModal","EditServer","editServer","applyF","applyX","set1","set2","len1","_concat","liftN","lifted","lift","serversFiltering","importServersFromFile","serversToCreate","setServersToCreate","setDuplicatedServers","createAllServers","createNonDuplicatedServers","complement","onFile","files","existingServers","dupServers","hasDuplicatedServers","importIcon","accept","toSemVer","getServerVersion","_serverId","serverNotReachable","selectServerListener","selectServerThunk","selectedServerReducerCreator","dissoc","serversListToMap","setAutoConnect","fromPairs","evaluatedServerId","newServers","serversReducer","fetchServers","pack","HighlightCard","buildExtraProps","linkIcon","tagsList","loadVisitsOverview","visitsOverview","loadingTags","loadingVisits","orphanVisitsCount","linkToNonOrphanVisits","ManageServers","serversExporter","ManageServersRow","allServers","setServersList","hasAutoConnect","exportServers","exportIcon","ManageServersRowDropdown","checkIcon","isMenuOpen","toggleMenu","serverUrl","isAutoConnect","autoConnectIcon","toggleOffIcon","toggleOnIcon","connectIcon","validateServer","validateServers","ServersImporter","csvToJson","fileReaderFactory","file","readAsText","ServersExporter","storage","FileReader","LeafletContext","LeafletProvider","useLeafletContext","createElementObject","createElementHook","updateElement","elementRef","propsRef","useAttribution","attributionRef","useEventHandlers","eventHandlers","eventHandlersRef","withPane","createLayerHook","useElement","layerContainer","useLayerLifecycle","LeafComponent","forwardedRef","createLeafComponent","createTileLayerComponent","LeafletTileLayer","MapContainerComponent","boundsOptions","setContext","mapRef","LeafletMap","__version","createLeafletContext","contents","MapContainer","ContainerComponent","createContainerComponent","createLayerComponent","LeafletMarker","overlayContainer","useLifecycle","useOverlay","createDivOverlayHook","OverlayComponent","contentNode","createDivOverlayComponent","createOverlayComponent","LeafletPopup","onPopupOpen","onPopupClose","popupopen","popupclose","OpenStreetMapTile","calculateMapProps","locations","latLong","MapModal","cityName","VisitsHeader","ShortUrlVisitsHeader","shortLink","longLink","visitsStatsTitle","NavPillItem","RouterNavLink","NavPills","_superPropBase","_get","isNullOrUndef","isNumberFinite","finiteOrDefault","valueOrDefault","toDimension","thisArg","loopable","_elementsEqual","v0","datasetIndex","clone$1","klen","isValidKey","_merger","tval","sval","merger","mergeIf","_mergerIf","keyResolvers","resolveObjectKey","_splitKey","_getKeyResolver","_capitalize","setsEqual","TAU","PITAU","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","niceNum","roundedRange","almostEquals","niceRange","fraction","epsilon","_setMinAndMaxByKey","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","_lookup","cmp","mid","_lookupByKey","_rlookupByKey","arrayEvents","unlistenArrayEvents","stub","_chartjs","_arrayUnique","throttled","updateFn","updateArgs","ticking","_toLeftRightCenter","align","_alignStartEnd","_getStartAndCountOfVisiblePoints","animationsDisabled","pointCount","_sorted","iScale","_parsed","getUserBounds","minDefined","maxDefined","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","atEdge","elasticIn","elasticOut","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","lim","p2b","n2b","b2n","n2p","map$1","hex","h1","h2","hexString","isShort","alpha","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","rgb","rgb2hsl","hueValue","calln","hsl2rgb","hue","hueParse","hwb2rgb","hsv2rgb","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","teO","tEstN","tomato","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","nameParse","unpacked","tkeys","unpack","RGB_RE","modHSL","functionParse","rgbParse","Color","hexParse","_rgb","_valid","rgbString","hslString","w2","c1","c2","rgb1","rgb2","interpolate","deg","index_esm","isPatternOrGradient","getHoverColor","saturate","darken","overrides","getScope$1","Defaults","_descriptors","borderColor","datasets","chart","getDevicePixelRatio","font","hoverBackgroundColor","hoverBorderColor","hoverColor","indexAxis","interaction","intersect","includeInvisible","maintainAspectRatio","onHover","parsing","scales","showLine","drawActiveElementsOnTop","targetScope","targetName","scopeObject","targetScopeObject","privateName","local","_scriptable","_indexable","_fallback","_measureText","longest","textWidth","measureText","_longestText","arrayOfThings","garbageCollect","nestedThing","gcLen","_alignPixel","pixel","currentDevicePixelRatio","clearCanvas","resetTransform","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","drawImage","ellipse","moveTo","lineTo","SQRT1_2","borderWidth","_isPointInArea","clipArea","unclipArea","_steppedLineTo","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","strokeColor","setRenderOpts","strokeText","fillText","decorateText","translation","textAlign","textBaseline","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","bottomLeft","bottomRight","topRight","LINE_HEIGHT","FONT_STYLE","toLineHeight","numberOrZero","_readValueToProps","objProps","toTRBL","toTRBLCorners","toPadding","toFont","toFontString","cacheable","parentContext","_createResolver","scopes","rootScopes","_keys","_cached","_resolveWithPrefixes","_scopes","getKeysFromAllScopes","_storage","_attachContext","subProxy","descriptorDefaults","_cacheable","_subProxy","override","isScriptable","needsSubResolver","createSubResolver","_resolveScriptable","isIndexable","_resolveArray","_resolveWithContext","allKeys","scriptable","indexable","_allKeys","readKey","resolveFallback","getScope","addScopes","parentScopes","parentFallback","_rootScopes","allScopes","addScopesFromKey","_getTarget","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","monotoneAdjust","deltaK","mK","alphaK","betaK","tauK","squaredMagnitude","pointCurrent","pointsLen","pointAfter","monotoneCompute","pointBefore","valueAxis","iPixel","vPixel","capControlPoint","_updateBezierControlPoints","controlPoints","spanGaps","cubicInterpolationMode","slopeDelta","splineCurveMonotone","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","_getParentNode","domNode","parseMaxStyle","styleValue","parentProperty","valueInPixels","positions","getPositionedStyle","getRelativePosition","borderBox","boxSizing","paddings","borders","offsetX","offsetY","box","shadowRoot","useOffsetPos","getCanvasPosition","round1","getMaximumSize","bbWidth","bbHeight","margins","containerSize","containerStyle","containerBorder","containerPadding","getContainerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","supportsEventListenerOptions","passiveSupported","readUsedSize","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","formatNumber","cacheKey","getNumberFormat","getRtlAdapter","rtl","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","original","getPropertyPriority","prevTextDirection","restoreTextDirection","propertyFn","between","normalize","normalizeSegment","_boundSegment","startBound","endBound","getSegment","subStart","shouldStart","shouldStop","_boundSegments","splitByStyles","segmentOptions","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","styleChanged","p0","p0DataIndex","p1DataIndex","doSplitByStyles","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","Animator","_request","_charts","_running","_lastDate","anims","callbacks","numSteps","currentStep","_refresh","running","draw","_active","_total","tick","_notify","charts","_getAnims","animator","interpolators","boolean","factor","c0","mix","Animation","cfg","currentValue","_easing","easing","_start","_prop","_from","_to","_promises","remain","rej","resolved","animationOptions","numbers","animations","visible","Animations","_properties","configure","animatedProps","$shared","$animations","resolveTargetOptions","_createAnimations","anim","wait","awaitAll","_animateOptions","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","dsIndex","singleMode","isStacked","stacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","_cachedMeta","_stacks","iAxis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","DatasetController","_cachedDataOpts","getMeta","_type","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","linkScales","_stacked","addElements","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","adata","convertObjectDataToArray","isExtensible","listenArrayEvents","_dataCheck","datasetElementType","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","labels","getLabels","singleScale","xAxisKey","yAxisKey","parsedValue","canStack","otherScale","_getOtherScale","createStack","NEGATIVE_INFINITY","otherMin","otherMax","updateRangeFromParsed","getParsed","getLabelForValue","_clip","toClip","defaultClip","getMaxOverflow","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","raw","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","sharing","datasetElementScopeKeys","resolveNamedOptions","datasetAnimationScopeKeys","sharedOptions","_animationsDisabled","firstOpts","previouslySharedOptions","getSharedOptions","includeOptions","updateSharedOptions","_resolveAnimations","_setStyle","numMeta","numData","_insertElements","_removeElements","updateElements","removed","_dataChanges","_sync","newCount","computeMinSampleSize","$bar","visibleMetas","getAllParsedValues","getAllScaleValues","updateMinAndPrev","ticks","getPixelForTick","parseValue","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","setBorderSkipped","borderSkipped","borderProps","enableBorderRadius","parseEdge","orig","startEnd","setInflateAmount","inflateAmount","BarController","iAxisKey","vAxisKey","bars","getBasePixel","isHorizontal","ruler","_getRuler","_getSharedOptions","vpixels","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","grouped","skipNull","_getStacks","pixels","barThickness","_startPixel","_endPixel","stackCount","_getStackCount","categoryPercentage","barPercentage","minBarLength","actualBase","getDataVisibility","barSign","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","_getStackIndex","_index_","grid","_value_","beginAtZero","BubbleController","DoughnutController","innerRadius","outerRadius","circumference","isDatasetVisible","_getRotation","_getCircumference","arcs","spacing","getMaxBorderWidth","getMaxOffset","maxSize","cutout","toPercentage","chartWeight","_getRingWeight","_getRotationExtents","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","_circumference","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","legend","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","formattedValue","LineController","_dataset","_decimated","maxGapLength","directUpdate","prevParsed","nullData","lastPoint","updateControlPoints","PolarAreaController","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","circular","pointLabels","PieController","RadarController","_fullLoop","pointPosition","getPointPositionForValue","useFinalPosition","getProps","defaultRoutes","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","autoSkip","tickOpts","ticksLimit","maxTicksLimit","tickLength","_tickSize","maxScale","maxChart","_maxLength","determineMaxTicks","majorIndices","major","getMajorIndices","numMajorIndices","newTicks","skipMajors","evenMajorSpacing","getEvenSpacing","factors","_factorize","calculateSpacing","avgMajorSpacing","majorStart","majorEnd","grace","drawBorder","drawOnChartArea","drawTicks","tickWidth","tickColor","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkipPadding","labelOffset","minor","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","reverseAlign","_margins","paddingTop","paddingBottom","paddingLeft","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","suggestedMin","suggestedMax","metas","getMinMax","xLabels","yLabels","beforeUpdate","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","change","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","notifyPlugins","_callHooks","beforeTickToLabelConversion","afterTickToLabelConversion","maxLabelDiagonal","numTicks","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetRight","fullSize","generateTickLabels","_computeLabelSizes","tickFont","fontString","nestedLabel","caches","heights","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","decimal","_int16Range","getBaseValue","createTickContext","optionTicks","rot","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","ticksLength","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","positionAxisID","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","lineCount","textOffset","tickAndPadding","hTickAndPadding","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","tickTextAlign","labelPadding","fillRect","_computeGridLineItems","drawLine","lineDashOffset","lastLineWidth","_computeLabelArea","_computeLabelItems","titleX","titleY","titleArgs","drawBackground","drawGrid","drawTitle","drawLabels","tz","gz","getSortedVisibleDatasetMetas","axisID","TypedRegistry","isPrototypeOf","parentScope","isIChartComponent","itemDefaults","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","Registry","controllers","_typedRegistries","_each","typedRegistry","reg","_getRegistryForType","isForType","_exec","itemReg","registry","camelMethod","ScatterController","DateAdapter","chartOptions","weekday","members","adapters","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","getIntersectItems","isPointInArea","inRange","getNearestCartesianItems","distanceMetric","useX","useY","getDistanceMetricForAxis","getCenterPoint","getNearestItems","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","setLayoutDims","layouts","layout","stackWeight","placed","buildStacks","vBoxMaxWidth","hBoxMaxHeight","availableWidth","availableHeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","getPadding","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","getMargins","marginForPositions","fitBoxes","boxes","refit","refitBoxes","setBoxDims","placeBoxes","userPadding","autoPadding","layoutItem","minPadding","layoutBoxes","wrapBoxes","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","buildLayoutBoxes","verticalBoxes","horizontalBoxes","beforeLayout","visibleVerticalBoxCount","updatePos","handleMaxPadding","BasePlatform","BasicPlatform","EVENT_TYPES","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","nodeListContains","nodeList","createAttachObserver","removedNodes","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","createResizeObserver","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","unlistenDevicePixelRatioChanges","createProxyAndListen","native","fromNativeEvent","DomPlatform","renderHeight","renderWidth","displayWidth","displayHeight","initCanvas","proxies","$proxies","attach","detach","isConnected","PluginService","_createDescriptors","_oldCache","_notifyStateChanges","localIds","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","initConfig","_scopeCache","_resolverCache","clearCache","datasetType","additionalOptionScopes","mainScope","resetCache","keyLists","_cachedScopes","getResolver","subPrefixes","needContext","subResolver","resolverCache","hasFunction","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onComplete","onAnimationProgress","getCanvas","instances","getChart","moveNumericKeys","intKey","Chart","userConfig","initialCanvas","existingChart","chartOptionScopes","OffscreenCanvas","_detectPlatform","updateConfig","acquireContext","_aspectRatio","_metasets","_responsiveListeners","_sortedMetasets","_hiddenIndices","attached","_doResize","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newRatio","onResize","axisOptions","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_destroyDatasetMeta","newControllers","_removeUnreferencedMetasets","updateIndex","ControllerClass","getController","_updateMetasets","_resetElements","animsDisabled","_checkEventBindings","_updateHiddenIndices","invalidate","buildOrUpdateControllers","buildOrUpdateElements","_minPadding","_updateDatasets","_eventHandler","_updateHoverStyles","ensureScalesHaveIDs","buildOrUpdateScales","existingEvents","newEvents","unbindEvents","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","_drawDatasets","_drawDataset","useClip","setDatasetVisibility","_updateVisibility","releaseContext","toDataURL","bindUserEvents","bindResponsiveEvents","detached","_remove","isAttached","activeElements","lastActive","replay","hoverOptions","deactivated","activated","updateHoverStyle","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","getElementsAtEventForMode","invalidatePlugins","clipArc","pixelMargin","angleMargin","parseBorderRadius$1","angleDelta","toRadiusCorners","borderRadius","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStart","outerEnd","innerStart","innerEnd","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p4","p8","outerStartX","outerStartY","outerEndX","outerEndY","fullCircles","drawFullCircleBorders","unregister","ArcElement","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","strokePathWithCache","segmentMethod","strokePathDirect","LineElement","_points","_segments","_pointsUpdated","findStartAndEnd","solidSegments","_computeSegments","_interpolate","_getInterpolationMethod","interpolated","inRange$1","hitRadius","PointElement","mouseX","mouseY","hoverRadius","getBarBounds","skipOrLimit","boundingRects","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","skipX","skipY","addNormalRectPath","inflateRect","refRect","BarElement","addRectPath","cleanDecimatedDataset","cleanDecimatedData","plugin_decimation","algorithm","beforeElementsUpdate","xAxis","getStartAndCountOfVisiblePointsSimplified","decimated","samples","maxAreaPoint","maxArea","nextA","bucketWidth","sampledIndex","endIndex","avgY","avgRangeStart","avgRangeEnd","avgRangeLength","rangeOffs","rangeTo","pointAx","pointAy","lttbDecimation","minIndex","maxIndex","xMin","lastIndex","intermediateIndex1","intermediateIndex2","minMaxDecimation","_getBounds","_findSegmentEnd","_getEdge","_createBoundaryLine","linePoints","_pointsFromSegments","_shouldApplyFill","_resolveTarget","_decodeFill","fillOption","parseFillOption","firstCh","decodeTargetIndex","addPointsBelow","sourcePoint","linesBelow","postponed","findPoint","pointValue","firstValue","lastValue","simpleArc","getLineByIndex","sourcePoints","below","getLinesBelow","_buildStackLine","_getTargetValue","computeCircularBoundary","_getTargetPixel","computeLinearBoundary","computeBoundary","_drawfill","lineOpts","above","clipVertical","doFill","clipY","lineLoop","tpoints","tgt","subBounds","fillSource","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","afterDatasetsUpdate","_args","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","Legend","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","heightLimit","totalWidth","currentColWidth","currentColHeight","rtlHelper","hitbox","defaultColor","fontColor","halfFontSize","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","hitBox","onLeave","isListened","hoveredItem","_getLegendItemAt","sameItem","itemsEqual","plugin_legend","adjustHitBoxes","afterEvent","Title","_padding","textSize","fontOpts","_drawArgs","plugin_title","titleBlock","createTitle","plugin_subtitle","positioners","average","tooltipPosition","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","getLabelAndValue","getTooltipSize","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","before","after","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","_eventPosition","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","beforeTitle","afterTitle","bodyItems","scoped","beforeLabel","afterLabel","beforeFooter","afterFooter","itemSort","labelColor","labelPointStyle","labelTextColor","_createItems","getTitle","getBeforeBody","getBody","getAfterBody","getFooter","positionAndSize","backgroundPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","textColor","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","bodyColor","_drawColorBox","footerAlign","footerColor","tooltipSize","drawCaret","quadraticCurveTo","animX","animY","_updateAnimationTarget","hasTooltipContent","drawBody","drawFooter","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","_willRender","labelCount","Decimation","Filler","SubTitle","findOrAddLabel","addedLabels","addIfString","CategoryScale","_startValue","_valueRange","_addedLabels","added","getDecimalForPixel","generateTicks$1","generationOptions","dataRange","niceMin","niceMax","numSpaces","maxTicks","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","minSpacing","rounded","almostWhole","decimalPlaces","relativeLabelSize","LinearScaleBase","_endValue","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","stepSize","computeTickLimit","getTickLimit","_maxDigits","LinearScale","handleTickRangeOptions","isMajor","tickVal","LogarithmicScale","_zero","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","fitWithPointLabels","limits","valueCount","_pointLabels","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","getPointPosition","drawingArea","plFont","updateLimits","setCenterPoint","_pointLabelItems","outerDistance","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","buildPointLabelItems","hLimits","vLimits","pathRadiusLine","RadialLinearScale","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","gridLineOpts","drawRadiusLine","millisecond","common","steps","UNITS","sorter","adapter","_adapter","_parseOpts","isoWeekday","startOf","determineUnitForAutoTicks","minUnit","capacity","addTick","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","TimeScale","_unit","_majorUnit","_offsets","_normalized","displayFormats","_applyBounds","_getLabelBounds","endOf","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","minorFormat","majorFormat","_tickFormatFunction","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","_getLabelSize","prevSource","nextSource","prevTarget","nextTarget","span","TimeSeriesScale","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","registerables","defaultDatasetIdKey","reforwardRef","setLabels","currentData","nextLabels","setDatasets","nextDatasets","datasetIdKey","addedDatasets","nextDataset","currentDataset","cloneData","nextData","getElementAtEvent","ChartComponent","fallbackContent","updateMode","canvasRef","chartRef","renderChart","ChartJS","destroyChart","nextOptions","createTypedChart","Line","Bar","Doughnut","_clone","refFrom","refTo","copiedValue","XReduceBy","valueFn","valueAcc","keyFn","reduceBy","elt","compareLocalAsc","differenceInDays","isLastDayNotFull","zipObj","DEFAULT","BROWSERS_WHITELIST","extractDomain","fillTheGaps","ToggleSwitch","pointerOnHover","firstElement","renderChartLabel","renderPieChartLabel","STEPS_MAP","monthly","weekly","daily","hourly","STEP_TO_DURATION_MAP","weeks","STEP_TO_DIFF_FUNC_MAP","STEP_TO_DATE_FORMAT","firstWeekDay","lastWeekDay","endOfISOWeek","groupVisitsByStep","countBy","diffFunc","newerDate","oldestDate","dateWithMonths","dateWithDays","msToAdd","generateDataset","selectedLabel","LineChartCard","highlightedVisits","highlightedLabel","setSelectedVisits","oldestVisitDate","always","determineInitialStep","setStep","skipNoVisits","toggleSkipNoVisits","refWithHighlightedVisits","refWithoutHighlightedVisits","datasetsByPoint","visitsToDatasetGroups","groupedVisitsWithGaps","skipNoElements","generateLabelsAndGroupedVisits","groupedVisits","groupedHighlighted","generateChartDatasets","mainDataset","renderLineChart","theRef","chartElementAtEvent","menuText","SimplePaginator","setCurrentPage","searchVisits","referer","country","city","visitedUrl","visitMatchesSearch","calculateVisits","allVisits","sortedVisits","sortVisits","visitsGroups","VisitsTable","selectedVisits","isOrphanVisits","headerCellsClass","matchMobile","isMobileDevice","setIsMobileDevice","setOrder","resultSet","setPage","supportsBots","fullSizeColSpan","botIcon","potentialBot","OpenMapModalBtn","modalTitle","activeCities","mapIsOpened","openMap","closeMap","dropdownIsOpened","openDropdown","locationsToShow","setLocationsToShow","openMapWithLocations","cities","mapIcon","isOrphanVisit","groupNewVisitsByType","groupBy","newVisit","regularVisits","highlightedVisitsToStats","toApiParams","excludeBots","visitHasProperty","optionalNumericToNumber","updateLocationsStatsForVisit","updateCountriesStatsForVisit","updateCitiesStatsForVisit","processStatsFromVisits","osStats","updateOsStatsForVisit","browsersStats","updateBrowsersStatsForVisit","browsers","referrersStats","updateReferrersStatsForVisit","referrers","countries","citiesForMapStats","currentCity","updateCitiesForMapForVisit","citiesForMap","visitedUrlsStats","isNormalizedOrphanVisit","updateVisitedUrlsForVisit","visitedUrls","normalizeVisits","visitLocation","bowser","parseUserAgent","countryName","VisitsFilterDropdown","botsSupported","orphanVisitsType","propsForOrphanVisitsTypeItem","DoughnutChartLegend","DoughnutChart","setChartRef","chartData","generateChartData","ChartCard","DoughnutChartCard","_isFunction","_includes","inf","_indexOf","_quote","_toISOString","toFixed","_toString","recur","mapPairs","repr","selectedBar","invoker","sortBy","PaginationDropdown","toggleClassName","dropLabelIfHidden","highlightedData","HorizontalBarChart","highlightedStats","statsAreDefined","highlightedKey","refWithStats","refWithoutStats","determineHeight","renderChartComponent","customKey","toLowerIfString","toLower","pickKeyFromPair","pickValueFromPair","SortableBarChartCard","sortingItems","extraHeaderContent","withPagination","setItemsPerPage","determineCurrentPagePairs","firstPageLength","statsToSort","sorting","theHighlightedStats","sortedPairs","getSortedPairsForStats","sortedKeys","sortedHighlightedPairs","currentPageStats","currentPageHighlightedStats","highlightedPages","determineStats","sections","byTime","subPath","byContext","byLocation","VisitsStats","visitsInfo","visitsFilter","theDomain","useVisitsQuery","updateFiltering","initialInterval","setHighlightedVisits","setHighlightedLabel","buildSectionUrl","normalizedVisits","mapLocations","highlightVisitsForProp","newSelectedBar","propEq","rangeOrInterval","resolvedDateRange","newVisitsFilter","cancelGetShortUrlVisits","TagVisitsHeader","tagVisits","cancelGetTagVisits","cancelGetOrphanVisits","nonOrphanVisits","cancelGetNonOrphanVisits","shlinkGetShortUrlVisits","shortUrlVisitsReducerCreator","tagVisitsReducerCreator","matchesType","orphanVisitsReducerCreator","shlinkGetNonOrphanVisits","nonOrphanVisitsReducerCreator","visitsOverviewReducerCreator","loadVisitsOverviewThunk","cancelGetDomainVisits","authority","domainId","visitsParser","TagBullet","toComponentTag","searchMode","tagFilteringMode","removedTagIndex","tagsCopy","TagCard","DeleteTagConfirmModal","EditTagModal","displayed","toggleDelete","isEditModalOpen","toggleEdit","hasTitle","displayTitle","titleRef","tagDelete","tagDeleted","deleting","useEventCallback","callbackRef","clamp","getParentWindow","touchId","identifier","getTouchPoint","preventDefaultMove","Interactive","onKey","onMoveCallback","onKeyCallback","hasTouch","handleMove","toggleDocumentEvents","handleMoveEnd","toggleEvent","isInvalid","handleMoveStart","formatClassName","Pointer","nodeClassName","digits","hexToHsva","rgbaToHsva","hexToRgba","hsvaToHex","hsva","rgbaToHex","hsvaToRgba","hsvaToHsla","hsvaToHslString","alphaHex","Hue","aria-label","aria-valuenow","aria-valuemax","aria-valuemin","Saturation","aria-valuetext","equalColorObjects","equalHex","useColorManipulation","colorModel","onChangeCallback","toHsva","updateHsva","newHsva","newColor","fromHsva","nonce","styleElementMap","useStyleSheet","parentDocument","styleElement","__webpack_nonce__","ColorPicker","HexColorPicker","tagEdited","tagEdit","newTagName","setNewTagName","setColor","showColorPicker","toggleColorPicker","hideColorPicker","editing","edited","saveTag","colorIcon","TAGS_ORDERABLE_FIELDS","TagsModeDropdown","renderTitle","cardsIcon","TagsCards","TagsTable","filterTags","forceListTags","defaultMode","setMode","resolveSortedTags","filteredTags","shortUrlsCount","normalizedTags","sortedTags","renderContent","tagDeleteReducerCreator","setColorForKey","tagEditReducerCreator","editTagThunk","renameTag","rejectTag","tagToReject","tagsListReducerCreator","listTagsThunk","theStats","increase","tagStats","stateTags","displayedTag","setDisplayedTag","tagsCount","tagsGroups","TagsTableRow","valueToSet","useQueryState","showPaginator","isDropdownOpen","listTagsActionFactory","shlinkListTags","processedStats","LocalStorage","HEX_DIGITS","normalizeKey","perceivedLightness","ColorGenerator","lights","normalizedKey","colorHex","hexColorToRgbArray","csvContent","mercureInfoReducerCreator","RealTimeUpdatesSettings","inputId","SettingsSections","Settings","RealTimeUpdates","ShortUrlCreation","UserInterface","Visits","Tags","tagFilteringModeText","ShortUrlCreationSettings","changeTagsFilteringMode","UserInterfaceSettings","useDarkTheme","DateIntervalSelector","VisitsSettings","TagsSettings","capitalize","ShortUrlsListSettings","replaceAuthorityFromUri","uri","newAuthority","schema","pathParts","normalizedPath","filteredDomains","replaceRedirectsOnDomain","redirects","replaceStatusOnDomain","domainsListReducerCreator","shlinkListDomains","defaultRedirects","checkDomainHealth","filterDomains","domainsList","inputDisplayed","showInput","hideInput","valueIsEmpty","unselectDomain","isDefault","DomainStatusIcon","matchesMobile","isMobile","setIsMobile","loadingStatusIcon","invalidIcon","isLast","EditDomainRedirectsModal","baseUrlRedirect","setBaseUrlRedirect","regular404Redirect","setRegular404Redirect","invalidShortUrlRedirect","setInvalidShortUrlRedirect","DomainDropdown","canBeEdited","withVisits","DefaultDomain","defaultDomainIcon","DomainRow","resolvedDefaultRedirects","column","providedRedirects","shlinkEditDomainRedirects","appUpdateAvailable","resetAppUpdate","appUpdatesReducer","AppUpdateBanner","isUpdating","setUpdating","reloadIcon","serviceWorker","getRegistrations","waiting","App","SettingsComp","appUpdated","isHome","mapActionService","actionName","cont","serviceName","propsFromState","actionServiceNames","reduxConnect","provideAppServices","provideCommonServices","provideApiServices","provideShortUrlsServices","provideServersServices","provideTagsServices","provideVisitsServices","provideUtilsServices","provideMercureServices","provideSettingsServices","provideDomainsServices","selectedServerReducer","shortUrlsListReducer","shortUrlCreationReducer","shortUrlDeletionReducer","shortUrlEditionReducer","shortUrlDetailReducer","shortUrlVisitsReducer","tagVisitsReducer","domainVisitsReducer","orphanVisitsReducer","nonOrphanVisitsReducer","tagsListReducer","tagDeleteReducer","tagEditReducer","mercureInfoReducer","domainsListReducer","visitsOverviewReducer","localStorageConfig","migrateDeprecatedSettings","load","isLocalhost","registerValidSW","swUrl","registration","onupdatefound","installingWorker","installing","onstatechange","onUpdate","onSuccess","defaultMiddlewaresIncludingReduxThunk","immutableCheck","serializableCheck","setUpStore","ready","checkValidServiceWorker","registerServiceWorker"],"sourceRoot":""} \ No newline at end of file

(\r\n type: T\r\n): PayloadActionCreator\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overriden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction<\r\n PA extends PrepareAction,\r\n T extends string = string\r\n>(\r\n type: T,\r\n prepareAction: PA\r\n): PayloadActionCreator['payload'], T, PA>\r\n\r\nexport function createAction(type: string, prepareAction?: Function): any {\r\n function actionCreator(...args: any[]) {\r\n if (prepareAction) {\r\n let prepared = prepareAction(...args)\r\n if (!prepared) {\r\n throw new Error('prepareAction did not return an object')\r\n }\r\n\r\n return {\r\n type,\r\n payload: prepared.payload,\r\n ...('meta' in prepared && { meta: prepared.meta }),\r\n ...('error' in prepared && { error: prepared.error }),\r\n }\r\n }\r\n return { type, payload: args[0] }\r\n }\r\n\r\n actionCreator.toString = () => `${type}`\r\n\r\n actionCreator.type = type\r\n\r\n actionCreator.match = (action: Action): action is PayloadAction =>\r\n action.type === type\r\n\r\n return actionCreator\r\n}\r\n\r\nexport function isFSA(action: unknown): action is {\r\n type: string\r\n payload?: unknown\r\n error?: unknown\r\n meta?: unknown\r\n} {\r\n return (\r\n isPlainObject(action) &&\r\n typeof (action as any).type === 'string' &&\r\n Object.keys(action).every(isValidKey)\r\n )\r\n}\r\n\r\nfunction isValidKey(key: string) {\r\n return ['type', 'payload', 'error', 'meta'].indexOf(key) > -1\r\n}\r\n\r\n/**\r\n * Returns the action type of the actions created by the passed\r\n * `createAction()`-generated action creator (arbitrary action creators\r\n * are not supported).\r\n *\r\n * @param action The action creator whose action type to get.\r\n * @returns The action type used by the action creator.\r\n *\r\n * @public\r\n */\r\nexport function getType(\r\n actionCreator: PayloadActionCreator\r\n): T {\r\n return `${actionCreator}` as T\r\n}\r\n\r\n// helper types for more readable typings\r\n\r\ntype IfPrepareActionMethodProvided<\r\n PA extends PrepareAction | void,\r\n True,\r\n False\r\n> = PA extends (...args: any[]) => any ? True : False\r\n","import type { Action, AnyAction } from 'redux'\r\nimport type {\r\n CaseReducer,\r\n CaseReducers,\r\n ActionMatcherDescriptionCollection,\r\n} from './createReducer'\r\nimport type { TypeGuard } from './tsHelpers'\r\n\r\nexport interface TypedActionCreator {\r\n (...args: any[]): Action\r\n type: Type\r\n}\r\n\r\n/**\r\n * A builder for an action <-> reducer map.\r\n *\r\n * @public\r\n */\r\nexport interface ActionReducerMapBuilder {\r\n /**\r\n * Adds a case reducer to handle a single exact action type.\r\n * @remarks\r\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\r\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\r\n * @param reducer - The actual case reducer function.\r\n */\r\n addCase>(\r\n actionCreator: ActionCreator,\r\n reducer: CaseReducer>\r\n ): ActionReducerMapBuilder\r\n /**\r\n * Adds a case reducer to handle a single exact action type.\r\n * @remarks\r\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\r\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\r\n * @param reducer - The actual case reducer function.\r\n */\r\n addCase>(\r\n type: Type,\r\n reducer: CaseReducer\r\n ): ActionReducerMapBuilder\r\n\r\n /**\r\n * Allows you to match your incoming actions against your own filter function instead of only the `action.type` property.\r\n * @remarks\r\n * If multiple matcher reducers match, all of them will be executed in the order\r\n * they were defined in - even if a case reducer already matched.\r\n * All calls to `builder.addMatcher` must come after any calls to `builder.addCase` and before any calls to `builder.addDefaultCase`.\r\n * @param matcher - A matcher function. In TypeScript, this should be a [type predicate](https://www.typescriptlang.org/docs/handbook/advanced-types.html#using-type-predicates)\r\n * function\r\n * @param reducer - The actual case reducer function.\r\n *\r\n * @example\r\n```ts\r\nimport {\r\n createAction,\r\n createReducer,\r\n AsyncThunk,\r\n AnyAction,\r\n} from \"@reduxjs/toolkit\";\r\n\r\ntype GenericAsyncThunk = AsyncThunk;\r\n\r\ntype PendingAction = ReturnType;\r\ntype RejectedAction = ReturnType;\r\ntype FulfilledAction = ReturnType;\r\n\r\nconst initialState: Record = {};\r\nconst resetAction = createAction(\"reset-tracked-loading-state\");\r\n\r\nfunction isPendingAction(action: AnyAction): action is PendingAction {\r\n return action.type.endsWith(\"/pending\");\r\n}\r\n\r\nconst reducer = createReducer(initialState, (builder) => {\r\n builder\r\n .addCase(resetAction, () => initialState)\r\n // matcher can be defined outside as a type predicate function\r\n .addMatcher(isPendingAction, (state, action) => {\r\n state[action.meta.requestId] = \"pending\";\r\n })\r\n .addMatcher(\r\n // matcher can be defined inline as a type predicate function\r\n (action): action is RejectedAction => action.type.endsWith(\"/rejected\"),\r\n (state, action) => {\r\n state[action.meta.requestId] = \"rejected\";\r\n }\r\n )\r\n // matcher can just return boolean and the matcher can receive a generic argument\r\n .addMatcher(\r\n (action) => action.type.endsWith(\"/fulfilled\"),\r\n (state, action) => {\r\n state[action.meta.requestId] = \"fulfilled\";\r\n }\r\n );\r\n});\r\n```\r\n */\r\n addMatcher(\r\n matcher: TypeGuard | ((action: any) => boolean),\r\n reducer: CaseReducer\r\n ): Omit, 'addCase'>\r\n\r\n /**\r\n * Adds a \"default case\" reducer that is executed if no case reducer and no matcher\r\n * reducer was executed for this action.\r\n * @param reducer - The fallback \"default case\" reducer function.\r\n *\r\n * @example\r\n```ts\r\nimport { createReducer } from '@reduxjs/toolkit'\r\nconst initialState = { otherActions: 0 }\r\nconst reducer = createReducer(initialState, builder => {\r\n builder\r\n // .addCase(...)\r\n // .addMatcher(...)\r\n .addDefaultCase((state, action) => {\r\n state.otherActions++\r\n })\r\n})\r\n```\r\n */\r\n addDefaultCase(reducer: CaseReducer): {}\r\n}\r\n\r\nexport function executeReducerBuilderCallback(\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): [\r\n CaseReducers,\r\n ActionMatcherDescriptionCollection,\r\n CaseReducer | undefined\r\n] {\r\n const actionsMap: CaseReducers = {}\r\n const actionMatchers: ActionMatcherDescriptionCollection = []\r\n let defaultCaseReducer: CaseReducer | undefined\r\n const builder = {\r\n addCase(\r\n typeOrActionCreator: string | TypedActionCreator,\r\n reducer: CaseReducer\r\n ) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n /*\r\n to keep the definition by the user in line with actual behavior, \r\n we enforce `addCase` to always be called before calling `addMatcher`\r\n as matching cases take precedence over matchers\r\n */\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\r\n '`builder.addCase` should only be called before calling `builder.addMatcher`'\r\n )\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\r\n '`builder.addCase` should only be called before calling `builder.addDefaultCase`'\r\n )\r\n }\r\n }\r\n const type =\r\n typeof typeOrActionCreator === 'string'\r\n ? typeOrActionCreator\r\n : typeOrActionCreator.type\r\n if (type in actionsMap) {\r\n throw new Error(\r\n 'addCase cannot be called with two reducers for the same action type'\r\n )\r\n }\r\n actionsMap[type] = reducer\r\n return builder\r\n },\r\n addMatcher(\r\n matcher: TypeGuard,\r\n reducer: CaseReducer\r\n ) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (defaultCaseReducer) {\r\n throw new Error(\r\n '`builder.addMatcher` should only be called before calling `builder.addDefaultCase`'\r\n )\r\n }\r\n }\r\n actionMatchers.push({ matcher, reducer })\r\n return builder\r\n },\r\n addDefaultCase(reducer: CaseReducer) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (defaultCaseReducer) {\r\n throw new Error('`builder.addDefaultCase` can only be called once')\r\n }\r\n }\r\n defaultCaseReducer = reducer\r\n return builder\r\n },\r\n }\r\n builderCallback(builder)\r\n return [actionsMap, actionMatchers, defaultCaseReducer]\r\n}\r\n","import type { AnyAction, Reducer } from 'redux'\r\nimport { createNextState } from '.'\r\nimport type {\r\n ActionCreatorWithoutPayload,\r\n PayloadAction,\r\n PayloadActionCreator,\r\n PrepareAction,\r\n _ActionCreatorWithPreparedPayload,\r\n} from './createAction'\r\nimport { createAction } from './createAction'\r\nimport type {\r\n CaseReducer,\r\n CaseReducers,\r\n ReducerWithInitialState,\r\n} from './createReducer'\r\nimport { createReducer, NotFunction } from './createReducer'\r\nimport type { ActionReducerMapBuilder } from './mapBuilders'\r\nimport { executeReducerBuilderCallback } from './mapBuilders'\r\nimport type { NoInfer } from './tsHelpers'\r\nimport { freezeDraftable } from './utils'\r\n\r\nlet hasWarnedAboutObjectNotation = false\r\n\r\n/**\r\n * An action creator attached to a slice.\r\n *\r\n * @deprecated please use PayloadActionCreator directly\r\n *\r\n * @public\r\n */\r\nexport type SliceActionCreator