diff --git a/assets/devicon-BwTrXM5G.ttf b/assets/devicon-BwTrXM5G.ttf new file mode 100644 index 0000000..48e1886 Binary files /dev/null and b/assets/devicon-BwTrXM5G.ttf differ diff --git a/assets/devicon-D0iwJE0M.woff b/assets/devicon-D0iwJE0M.woff new file mode 100644 index 0000000..a5c2d9a Binary files /dev/null and b/assets/devicon-D0iwJE0M.woff differ diff --git a/assets/devicon-DBhpxM3S.svg b/assets/devicon-DBhpxM3S.svg new file mode 100644 index 0000000..11e6566 --- /dev/null +++ b/assets/devicon-DBhpxM3S.svg @@ -0,0 +1,975 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/index-B4n_QxIs.js b/assets/index-B4n_QxIs.js new file mode 100644 index 0000000..7f303af --- /dev/null +++ b/assets/index-B4n_QxIs.js @@ -0,0 +1,802 @@ +(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 a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(i){if(i.ep)return;i.ep=!0;const a=n(i);fetch(i.href,a)}})();function Hc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Bc={exports:{}},Ea={},Wc={exports:{}},A={};/** + * @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 Qr=Symbol.for("react.element"),Zp=Symbol.for("react.portal"),qp=Symbol.for("react.fragment"),em=Symbol.for("react.strict_mode"),tm=Symbol.for("react.profiler"),nm=Symbol.for("react.provider"),rm=Symbol.for("react.context"),im=Symbol.for("react.forward_ref"),am=Symbol.for("react.suspense"),om=Symbol.for("react.memo"),sm=Symbol.for("react.lazy"),Bl=Symbol.iterator;function lm(e){return e===null||typeof e!="object"?null:(e=Bl&&e[Bl]||e["@@iterator"],typeof e=="function"?e:null)}var Yc={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Kc=Object.assign,Qc={};function Yn(e,t,n){this.props=e,this.context=t,this.refs=Qc,this.updater=n||Yc}Yn.prototype.isReactComponent={};Yn.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")};Yn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Gc(){}Gc.prototype=Yn.prototype;function As(e,t,n){this.props=e,this.context=t,this.refs=Qc,this.updater=n||Yc}var zs=As.prototype=new Gc;zs.constructor=As;Kc(zs,Yn.prototype);zs.isPureReactComponent=!0;var Wl=Array.isArray,Xc=Object.prototype.hasOwnProperty,Ds={current:null},Jc={key:!0,ref:!0,__self:!0,__source:!0};function Zc(e,t,n){var r,i={},a=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(a=""+t.key),t)Xc.call(t,r)&&!Jc.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1>>1,re=N[W];if(0>>1;Wi(Wa,j))Wti(ii,Wa)?(N[W]=ii,N[Wt]=j,W=Wt):(N[W]=Wa,N[Bt]=j,W=Bt);else if(Wti(ii,j))N[W]=ii,N[Wt]=j,W=Wt;else break e}}return I}function i(N,I){var j=N.sortIndex-I.sortIndex;return j!==0?j:N.id-I.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var l=[],u=[],c=1,p=null,f=3,g=!1,w=!1,x=!1,C=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,d=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function h(N){for(var I=n(u);I!==null;){if(I.callback===null)r(u);else if(I.startTime<=N)r(u),I.sortIndex=I.expirationTime,t(l,I);else break;I=n(u)}}function v(N){if(x=!1,h(N),!w)if(n(l)!==null)w=!0,gt(k);else{var I=n(u);I!==null&&dn(v,I.startTime-N)}}function k(N,I){w=!1,x&&(x=!1,m(L),L=-1),g=!0;var j=f;try{for(h(I),p=n(l);p!==null&&(!(p.expirationTime>I)||N&&!oe());){var W=p.callback;if(typeof W=="function"){p.callback=null,f=p.priorityLevel;var re=W(p.expirationTime<=I);I=e.unstable_now(),typeof re=="function"?p.callback=re:p===n(l)&&r(l),h(I)}else r(l);p=n(l)}if(p!==null)var ri=!0;else{var Bt=n(u);Bt!==null&&dn(v,Bt.startTime-I),ri=!1}return ri}finally{p=null,f=j,g=!1}}var E=!1,b=null,L=-1,M=5,R=-1;function oe(){return!(e.unstable_now()-RN||125W?(N.sortIndex=j,t(u,N),n(l)===null&&N===n(u)&&(x?(m(L),L=-1):x=!0,dn(v,j-W))):(N.sortIndex=re,t(l,N),w||g||(w=!0,gt(k))),N},e.unstable_shouldYield=oe,e.unstable_wrapCallback=function(N){var I=f;return function(){var j=f;f=I;try{return N.apply(this,arguments)}finally{f=j}}}})(nf);tf.exports=nf;var wm=tf.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 rf=z,Oe=wm;function S(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"),No=Object.prototype.hasOwnProperty,xm=/^[: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]*$/,Kl={},Ql={};function km(e){return No.call(Ql,e)?!0:No.call(Kl,e)?!1:xm.test(e)?Ql[e]=!0:(Kl[e]=!0,!1)}function Sm(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 bm(e,t,n,r){if(t===null||typeof t>"u"||Sm(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 we(e,t,n,r,i,a,o){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=a,this.removeEmptyString=o}var ue={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ue[e]=new we(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ue[t]=new we(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ue[e]=new we(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ue[e]=new we(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){ue[e]=new we(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ue[e]=new we(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ue[e]=new we(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ue[e]=new we(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ue[e]=new we(e,5,!1,e.toLowerCase(),null,!1,!1)});var Fs=/[\-:]([a-z])/g;function $s(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(Fs,$s);ue[t]=new we(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(Fs,$s);ue[t]=new we(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(Fs,$s);ue[t]=new we(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ue[e]=new we(e,1,!1,e.toLowerCase(),null,!1,!1)});ue.xlinkHref=new we("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ue[e]=new we(e,1,!1,e.toLowerCase(),null,!0,!0)});function Us(e,t,n,r){var i=ue.hasOwnProperty(t)?ue[t]:null;(i!==null?i.type!==0:r||!(2s||i[o]!==a[s]){var l=` +`+i[o].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=o&&0<=s);break}}}finally{Qa=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?sr(e):""}function Em(e){switch(e.tag){case 5:return sr(e.type);case 16:return sr("Lazy");case 13:return sr("Suspense");case 19:return sr("SuspenseList");case 0:case 2:case 15:return e=Ga(e.type,!1),e;case 11:return e=Ga(e.type.render,!1),e;case 1:return e=Ga(e.type,!0),e;default:return""}}function To(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 vn:return"Fragment";case gn:return"Portal";case Po:return"Profiler";case Vs:return"StrictMode";case Oo:return"Suspense";case Lo:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case sf:return(e.displayName||"Context")+".Consumer";case of:return(e._context.displayName||"Context")+".Provider";case Hs:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Bs:return t=e.displayName||null,t!==null?t:To(e.type)||"Memo";case wt:t=e._payload,e=e._init;try{return To(e(t))}catch{}}return null}function Cm(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 To(t);case 8:return t===Vs?"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 _t(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function uf(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Nm(e){var t=uf(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,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function si(e){e._valueTracker||(e._valueTracker=Nm(e))}function cf(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=uf(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Yi(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 Io(e,t){var n=t.checked;return G({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Xl(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=_t(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 ff(e,t){t=t.checked,t!=null&&Us(e,"checked",t,!1)}function jo(e,t){ff(e,t);var n=_t(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")?Ro(e,t.type,n):t.hasOwnProperty("defaultValue")&&Ro(e,t.type,_t(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Jl(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 Ro(e,t,n){(t!=="number"||Yi(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var lr=Array.isArray;function In(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=li.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Cr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var dr={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},Pm=["Webkit","ms","Moz","O"];Object.keys(dr).forEach(function(e){Pm.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),dr[t]=dr[e]})});function hf(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||dr.hasOwnProperty(e)&&dr[e]?(""+t).trim():t+"px"}function gf(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=hf(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Om=G({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 zo(e,t){if(t){if(Om[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(S(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(S(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(S(61))}if(t.style!=null&&typeof t.style!="object")throw Error(S(62))}}function Do(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 Mo=null;function Ws(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Fo=null,jn=null,Rn=null;function eu(e){if(e=Jr(e)){if(typeof Fo!="function")throw Error(S(280));var t=e.stateNode;t&&(t=La(t),Fo(e.stateNode,e.type,t))}}function vf(e){jn?Rn?Rn.push(e):Rn=[e]:jn=e}function yf(){if(jn){var e=jn,t=Rn;if(Rn=jn=null,eu(e),t)for(e=0;e>>=0,e===0?32:31-(Fm(e)/$m|0)|0}var ui=64,ci=4194304;function ur(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 Xi(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s!==0?r=ur(s):(a&=o,a!==0&&(r=ur(a)))}else o=n&~i,o!==0?r=ur(o):a!==0&&(r=ur(a));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,a=t&-t,i>=a||i===16&&(a&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 Gr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Be(t),e[t]=n}function Bm(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=mr),uu=" ",cu=!1;function Mf(e,t){switch(e){case"keyup":return yh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ff(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var yn=!1;function xh(e,t){switch(e){case"compositionend":return Ff(t);case"keypress":return t.which!==32?null:(cu=!0,uu);case"textInput":return e=t.data,e===uu&&cu?null:e;default:return null}}function kh(e,t){if(yn)return e==="compositionend"||!qs&&Mf(e,t)?(e=zf(),Ai=Xs=bt=null,yn=!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=mu(n)}}function Hf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Hf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Bf(){for(var e=window,t=Yi();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Yi(e.document)}return t}function el(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 Th(e){var t=Bf(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Hf(n.ownerDocument.documentElement,n)){if(r!==null&&el(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,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=hu(n,a);var o=hu(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.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,wn=null,Wo=null,gr=null,Yo=!1;function gu(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Yo||wn==null||wn!==Yi(r)||(r=wn,"selectionStart"in r&&el(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}),gr&&Ir(gr,r)||(gr=r,r=qi(Wo,"onSelect"),0Sn||(e.current=Zo[Sn],Zo[Sn]=null,Sn--)}function $(e,t){Sn++,Zo[Sn]=e.current,e.current=t}var At={},pe=$t(At),Se=$t(!1),tn=At;function Fn(e,t){var n=e.type.contextTypes;if(!n)return At;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function be(e){return e=e.childContextTypes,e!=null}function ta(){H(Se),H(pe)}function bu(e,t,n){if(pe.current!==At)throw Error(S(168));$(pe,t),$(Se,n)}function qf(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(S(108,Cm(e)||"Unknown",i));return G({},n,r)}function na(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||At,tn=pe.current,$(pe,e),$(Se,Se.current),!0}function Eu(e,t,n){var r=e.stateNode;if(!r)throw Error(S(169));n?(e=qf(e,t,tn),r.__reactInternalMemoizedMergedChildContext=e,H(Se),H(pe),$(pe,e)):H(Se),$(Se,n)}var nt=null,Ta=!1,uo=!1;function ed(e){nt===null?nt=[e]:nt.push(e)}function Vh(e){Ta=!0,ed(e)}function Ut(){if(!uo&&nt!==null){uo=!0;var e=0,t=F;try{var n=nt;for(F=1;e>=o,i-=o,rt=1<<32-Be(t)+i|n<L?(M=b,b=null):M=b.sibling;var R=f(m,b,h[L],v);if(R===null){b===null&&(b=M);break}e&&b&&R.alternate===null&&t(m,b),d=a(R,d,L),E===null?k=R:E.sibling=R,E=R,b=M}if(L===h.length)return n(m,b),Y&&Yt(m,L),k;if(b===null){for(;LL?(M=b,b=null):M=b.sibling;var oe=f(m,b,R.value,v);if(oe===null){b===null&&(b=M);break}e&&b&&oe.alternate===null&&t(m,b),d=a(oe,d,L),E===null?k=oe:E.sibling=oe,E=oe,b=M}if(R.done)return n(m,b),Y&&Yt(m,L),k;if(b===null){for(;!R.done;L++,R=h.next())R=p(m,R.value,v),R!==null&&(d=a(R,d,L),E===null?k=R:E.sibling=R,E=R);return Y&&Yt(m,L),k}for(b=r(m,b);!R.done;L++,R=h.next())R=g(b,m,L,R.value,v),R!==null&&(e&&R.alternate!==null&&b.delete(R.key===null?L:R.key),d=a(R,d,L),E===null?k=R:E.sibling=R,E=R);return e&&b.forEach(function(fn){return t(m,fn)}),Y&&Yt(m,L),k}function C(m,d,h,v){if(typeof h=="object"&&h!==null&&h.type===vn&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case oi:e:{for(var k=h.key,E=d;E!==null;){if(E.key===k){if(k=h.type,k===vn){if(E.tag===7){n(m,E.sibling),d=i(E,h.props.children),d.return=m,m=d;break e}}else if(E.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===wt&&Iu(k)===E.type){n(m,E.sibling),d=i(E,h.props),d.ref=tr(m,E,h),d.return=m,m=d;break e}n(m,E);break}else t(m,E);E=E.sibling}h.type===vn?(d=en(h.props.children,m.mode,v,h.key),d.return=m,m=d):(v=Hi(h.type,h.key,h.props,null,m.mode,v),v.ref=tr(m,d,h),v.return=m,m=v)}return o(m);case gn:e:{for(E=h.key;d!==null;){if(d.key===E)if(d.tag===4&&d.stateNode.containerInfo===h.containerInfo&&d.stateNode.implementation===h.implementation){n(m,d.sibling),d=i(d,h.children||[]),d.return=m,m=d;break e}else{n(m,d);break}else t(m,d);d=d.sibling}d=yo(h,m.mode,v),d.return=m,m=d}return o(m);case wt:return E=h._init,C(m,d,E(h._payload),v)}if(lr(h))return w(m,d,h,v);if(Xn(h))return x(m,d,h,v);vi(m,h)}return typeof h=="string"&&h!==""||typeof h=="number"?(h=""+h,d!==null&&d.tag===6?(n(m,d.sibling),d=i(d,h),d.return=m,m=d):(n(m,d),d=vo(h,m.mode,v),d.return=m,m=d),o(m)):n(m,d)}return C}var Un=ld(!0),ud=ld(!1),Zr={},et=$t(Zr),Ar=$t(Zr),zr=$t(Zr);function Xt(e){if(e===Zr)throw Error(S(174));return e}function ul(e,t){switch($(zr,t),$(Ar,e),$(et,Zr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ao(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ao(t,e)}H(et),$(et,t)}function Vn(){H(et),H(Ar),H(zr)}function cd(e){Xt(zr.current);var t=Xt(et.current),n=Ao(t,e.type);t!==n&&($(Ar,e),$(et,n))}function cl(e){Ar.current===e&&(H(et),H(Ar))}var K=$t(0);function la(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 co=[];function fl(){for(var e=0;en?n:4,e(!0);var r=fo.transition;fo.transition={};try{e(!1),t()}finally{F=n,fo.transition=r}}function Nd(){return Me().memoizedState}function Yh(e,t,n){var r=jt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Pd(e))Od(t,n);else if(n=id(e,t,n,r),n!==null){var i=ve();We(n,e,r,i),Ld(n,t,r)}}function Kh(e,t,n){var r=jt(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Pd(e))Od(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Ye(s,o)){var l=t.interleaved;l===null?(i.next=i,sl(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=id(e,t,i,r),n!==null&&(i=ve(),We(n,e,r,i),Ld(n,t,r))}}function Pd(e){var t=e.alternate;return e===Q||t!==null&&t===Q}function Od(e,t){vr=ua=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ld(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ks(e,n)}}var ca={readContext:De,useCallback:ce,useContext:ce,useEffect:ce,useImperativeHandle:ce,useInsertionEffect:ce,useLayoutEffect:ce,useMemo:ce,useReducer:ce,useRef:ce,useState:ce,useDebugValue:ce,useDeferredValue:ce,useTransition:ce,useMutableSource:ce,useSyncExternalStore:ce,useId:ce,unstable_isNewReconciler:!1},Qh={readContext:De,useCallback:function(e,t){return Ge().memoizedState=[e,t===void 0?null:t],e},useContext:De,useEffect:Ru,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Fi(4194308,4,kd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Fi(4194308,4,e,t)},useInsertionEffect:function(e,t){return Fi(4,2,e,t)},useMemo:function(e,t){var n=Ge();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ge();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=Yh.bind(null,Q,e),[r.memoizedState,e]},useRef:function(e){var t=Ge();return e={current:e},t.memoizedState=e},useState:ju,useDebugValue:gl,useDeferredValue:function(e){return Ge().memoizedState=e},useTransition:function(){var e=ju(!1),t=e[0];return e=Wh.bind(null,e[1]),Ge().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Q,i=Ge();if(Y){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ae===null)throw Error(S(349));rn&30||pd(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,Ru(hd.bind(null,r,a,e),[e]),r.flags|=2048,Fr(9,md.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Ge(),t=ae.identifierPrefix;if(Y){var n=it,r=rt;n=(r&~(1<<32-Be(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Dr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Xe]=t,e[_r]=r,Md(e,t,!1,!1),t.stateNode=e;e:{switch(o=Do(n,r),n){case"dialog":U("cancel",e),U("close",e),i=r;break;case"iframe":case"object":case"embed":U("load",e),i=r;break;case"video":case"audio":for(i=0;iBn&&(t.flags|=128,r=!0,nr(a,!1),t.lanes=4194304)}else{if(!r)if(e=la(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),nr(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!Y)return fe(t),null}else 2*Z()-a.renderingStartTime>Bn&&n!==1073741824&&(t.flags|=128,r=!0,nr(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(n=a.last,n!==null?n.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Z(),t.sibling=null,n=K.current,$(K,r?n&1|2:n&1),t):(fe(t),null);case 22:case 23:return Sl(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ce&1073741824&&(fe(t),t.subtreeFlags&6&&(t.flags|=8192)):fe(t),null;case 24:return null;case 25:return null}throw Error(S(156,t.tag))}function ng(e,t){switch(nl(t),t.tag){case 1:return be(t.type)&&ta(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Vn(),H(Se),H(pe),fl(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return cl(t),null;case 13:if(H(K),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));$n()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return H(K),null;case 4:return Vn(),null;case 10:return ol(t.type._context),null;case 22:case 23:return Sl(),null;case 24:return null;default:return null}}var wi=!1,de=!1,rg=typeof WeakSet=="function"?WeakSet:Set,O=null;function Nn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){X(e,t,r)}else n.current=null}function cs(e,t,n){try{n()}catch(r){X(e,t,r)}}var Vu=!1;function ig(e,t){if(Ko=Ji,e=Bf(),el(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,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var o=0,s=-1,l=-1,u=0,c=0,p=e,f=null;t:for(;;){for(var g;p!==n||i!==0&&p.nodeType!==3||(s=o+i),p!==a||r!==0&&p.nodeType!==3||(l=o+r),p.nodeType===3&&(o+=p.nodeValue.length),(g=p.firstChild)!==null;)f=p,p=g;for(;;){if(p===e)break t;if(f===n&&++u===i&&(s=o),f===a&&++c===r&&(l=o),(g=p.nextSibling)!==null)break;p=f,f=p.parentNode}p=g}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Qo={focusedElem:e,selectionRange:n},Ji=!1,O=t;O!==null;)if(t=O,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,O=e;else for(;O!==null;){t=O;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var x=w.memoizedProps,C=w.memoizedState,m=t.stateNode,d=m.getSnapshotBeforeUpdate(t.elementType===t.type?x:$e(t.type,x),C);m.__reactInternalSnapshotBeforeUpdate=d}break;case 3:var h=t.stateNode.containerInfo;h.nodeType===1?h.textContent="":h.nodeType===9&&h.documentElement&&h.removeChild(h.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(S(163))}}catch(v){X(t,t.return,v)}if(e=t.sibling,e!==null){e.return=t.return,O=e;break}O=t.return}return w=Vu,Vu=!1,w}function yr(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 a=i.destroy;i.destroy=void 0,a!==void 0&&cs(t,n,a)}i=i.next}while(i!==r)}}function Ra(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 fs(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 Ud(e){var t=e.alternate;t!==null&&(e.alternate=null,Ud(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Xe],delete t[_r],delete t[Jo],delete t[$h],delete t[Uh])),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 Vd(e){return e.tag===5||e.tag===3||e.tag===4}function Hu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Vd(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 ds(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=ea));else if(r!==4&&(e=e.child,e!==null))for(ds(e,t,n),e=e.sibling;e!==null;)ds(e,t,n),e=e.sibling}function ps(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(ps(e,t,n),e=e.sibling;e!==null;)ps(e,t,n),e=e.sibling}var se=null,Ue=!1;function vt(e,t,n){for(n=n.child;n!==null;)Hd(e,t,n),n=n.sibling}function Hd(e,t,n){if(qe&&typeof qe.onCommitFiberUnmount=="function")try{qe.onCommitFiberUnmount(Ca,n)}catch{}switch(n.tag){case 5:de||Nn(n,t);case 6:var r=se,i=Ue;se=null,vt(e,t,n),se=r,Ue=i,se!==null&&(Ue?(e=se,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):se.removeChild(n.stateNode));break;case 18:se!==null&&(Ue?(e=se,n=n.stateNode,e.nodeType===8?lo(e.parentNode,n):e.nodeType===1&&lo(e,n),Lr(e)):lo(se,n.stateNode));break;case 4:r=se,i=Ue,se=n.stateNode.containerInfo,Ue=!0,vt(e,t,n),se=r,Ue=i;break;case 0:case 11:case 14:case 15:if(!de&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&cs(n,t,o),i=i.next}while(i!==r)}vt(e,t,n);break;case 1:if(!de&&(Nn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){X(n,t,s)}vt(e,t,n);break;case 21:vt(e,t,n);break;case 22:n.mode&1?(de=(r=de)||n.memoizedState!==null,vt(e,t,n),de=r):vt(e,t,n);break;default:vt(e,t,n)}}function Bu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new rg),t.forEach(function(r){var i=pg.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Fe(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~a}if(r=i,r=Z()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*og(r/1960))-r,10e?16:e,Et===null)var r=!1;else{if(e=Et,Et=null,pa=0,D&6)throw Error(S(331));var i=D;for(D|=4,O=e.current;O!==null;){var a=O,o=a.child;if(O.flags&16){var s=a.deletions;if(s!==null){for(var l=0;lZ()-xl?qt(e,0):wl|=n),Ee(e,t)}function Jd(e,t){t===0&&(e.mode&1?(t=ci,ci<<=1,!(ci&130023424)&&(ci=4194304)):t=1);var n=ve();e=lt(e,t),e!==null&&(Gr(e,t,n),Ee(e,n))}function dg(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Jd(e,n)}function pg(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(S(314))}r!==null&&r.delete(t),Jd(e,n)}var Zd;Zd=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Se.current)ke=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ke=!1,eg(e,t,n);ke=!!(e.flags&131072)}else ke=!1,Y&&t.flags&1048576&&td(t,ia,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;$i(e,t),e=t.pendingProps;var i=Fn(t,pe.current);An(t,n),i=pl(null,t,r,e,i,n);var a=ml();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,be(r)?(a=!0,na(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,ll(t),i.updater=Ia,t.stateNode=i,i._reactInternals=t,rs(t,r,e,n),t=os(null,t,r,!0,a,n)):(t.tag=0,Y&&a&&tl(t),he(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch($i(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=hg(r),e=$e(r,e),i){case 0:t=as(null,t,r,e,n);break e;case 1:t=Fu(null,t,r,e,n);break e;case 11:t=Du(null,t,r,e,n);break e;case 14:t=Mu(null,t,r,$e(r.type,e),n);break e}throw Error(S(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$e(r,i),as(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$e(r,i),Fu(e,t,r,i,n);case 3:e:{if(Ad(t),e===null)throw Error(S(387));r=t.pendingProps,a=t.memoizedState,i=a.element,ad(e,t),sa(t,r,null,n);var o=t.memoizedState;if(r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=Hn(Error(S(423)),t),t=$u(e,t,r,n,i);break e}else if(r!==i){i=Hn(Error(S(424)),t),t=$u(e,t,r,n,i);break e}else for(Ne=Lt(t.stateNode.containerInfo.firstChild),Pe=t,Y=!0,Ve=null,n=ud(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if($n(),r===i){t=ut(e,t,n);break e}he(e,t,r,n)}t=t.child}return t;case 5:return cd(t),e===null&&es(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,Go(r,i)?o=null:a!==null&&Go(r,a)&&(t.flags|=32),_d(e,t),he(e,t,o,n),t.child;case 6:return e===null&&es(t),null;case 13:return zd(e,t,n);case 4:return ul(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Un(t,null,r,n):he(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$e(r,i),Du(e,t,r,i,n);case 7:return he(e,t,t.pendingProps,n),t.child;case 8:return he(e,t,t.pendingProps.children,n),t.child;case 12:return he(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,$(aa,r._currentValue),r._currentValue=o,a!==null)if(Ye(a.value,o)){if(a.children===i.children&&!Se.current){t=ut(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var s=a.dependencies;if(s!==null){o=a.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(a.tag===1){l=at(-1,n&-n),l.tag=2;var u=a.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),ts(a.return,n,t),s.lanes|=n;break}l=l.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(S(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),ts(o,n,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}he(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,An(t,n),i=De(i),r=r(i),t.flags|=1,he(e,t,r,n),t.child;case 14:return r=t.type,i=$e(r,t.pendingProps),i=$e(r.type,i),Mu(e,t,r,i,n);case 15:return jd(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$e(r,i),$i(e,t),t.tag=1,be(r)?(e=!0,na(t)):e=!1,An(t,n),sd(t,r,i),rs(t,r,i,n),os(null,t,r,!0,e,n);case 19:return Dd(e,t,n);case 22:return Rd(e,t,n)}throw Error(S(156,t.tag))};function qd(e,t){return Cf(e,t)}function mg(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 Ae(e,t,n,r){return new mg(e,t,n,r)}function El(e){return e=e.prototype,!(!e||!e.isReactComponent)}function hg(e){if(typeof e=="function")return El(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Hs)return 11;if(e===Bs)return 14}return 2}function Rt(e,t){var n=e.alternate;return n===null?(n=Ae(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 Hi(e,t,n,r,i,a){var o=2;if(r=e,typeof e=="function")El(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case vn:return en(n.children,i,a,t);case Vs:o=8,i|=8;break;case Po:return e=Ae(12,n,t,i|2),e.elementType=Po,e.lanes=a,e;case Oo:return e=Ae(13,n,t,i),e.elementType=Oo,e.lanes=a,e;case Lo:return e=Ae(19,n,t,i),e.elementType=Lo,e.lanes=a,e;case lf:return Aa(n,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case of:o=10;break e;case sf:o=9;break e;case Hs:o=11;break e;case Bs:o=14;break e;case wt:o=16,r=null;break e}throw Error(S(130,e==null?e:typeof e,""))}return t=Ae(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function en(e,t,n,r){return e=Ae(7,e,r,t),e.lanes=n,e}function Aa(e,t,n,r){return e=Ae(22,e,r,t),e.elementType=lf,e.lanes=n,e.stateNode={isHidden:!1},e}function vo(e,t,n){return e=Ae(6,e,null,t),e.lanes=n,e}function yo(e,t,n){return t=Ae(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function gg(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=Ja(0),this.expirationTimes=Ja(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ja(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Cl(e,t,n,r,i,a,o,s,l){return e=new gg(e,t,n,s,l),t===1?(t=1,a===!0&&(t|=8)):t=0,a=Ae(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ll(a),e}function vg(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(rp)}catch(e){console.error(e)}}rp(),ef.exports=Le;var Sg=ef.exports,Zu=Sg;Co.createRoot=Zu.createRoot,Co.hydrateRoot=Zu.hydrateRoot;function bg(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout(()=>{e.off("initialized",n)},0),t()};e.on("initialized",n)}};function ec(e,t,n){e.loadNamespaces(t,ip(e,n))}function tc(e,t,n,r){typeof n=="string"&&(n=[n]),n.forEach(i=>{e.options.ns.indexOf(i)<0&&e.options.ns.push(i)}),e.loadLanguages(t,ip(e,r))}function Eg(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=t.languages[0],i=t.options?t.options.fallbackLng:!1,a=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const o=(s,l)=>{const u=t.services.backendConnector.state[`${s}|${l}`];return u===-1||u===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!o(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||o(r,e)&&(!i||o(a,e)))}function Cg(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(ys("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(i,a)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!a(i.isLanguageChangingTo,e))return!1}}):Eg(e,t,n)}const Ng=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Pg={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Og=e=>Pg[e],Lg=e=>e.replace(Ng,Og);let ws={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Lg};function Tg(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ws={...ws,...e}}function Ig(){return ws}let ap;function jg(e){ap=e}function Rg(){return ap}const _g={type:"3rdParty",init(e){Tg(e.options.react),jg(e)}},Ag=z.createContext();class zg{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Dg=(e,t)=>{const n=z.useRef();return z.useEffect(()=>{n.current=t?n.current:e},[e,t]),n.current};function op(e,t,n,r){return e.getFixedT(t,n,r)}function Mg(e,t,n,r){return z.useCallback(op(e,t,n,r),[e,t,n,r])}function sp(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:n}=t,{i18n:r,defaultNS:i}=z.useContext(Ag)||{},a=n||r||Rg();if(a&&!a.reportNamespaces&&(a.reportNamespaces=new zg),!a){ys("You will need to pass in an i18next instance by using initReactI18next");const v=(E,b)=>typeof b=="string"?b:b&&typeof b=="object"&&typeof b.defaultValue=="string"?b.defaultValue:Array.isArray(E)?E[E.length-1]:E,k=[v,{},!1];return k.t=v,k.i18n={},k.ready=!1,k}a.options.react&&a.options.react.wait!==void 0&&ys("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const o={...Ig(),...a.options.react,...t},{useSuspense:s,keyPrefix:l}=o;let u=e||i||a.options&&a.options.defaultNS;u=typeof u=="string"?[u]:u||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(u);const c=(a.isInitialized||a.initializedStoreOnce)&&u.every(v=>Cg(v,a,o)),p=Mg(a,t.lng||null,o.nsMode==="fallback"?u:u[0],l),f=()=>p,g=()=>op(a,t.lng||null,o.nsMode==="fallback"?u:u[0],l),[w,x]=z.useState(f);let C=u.join();t.lng&&(C=`${t.lng}${C}`);const m=Dg(C),d=z.useRef(!0);z.useEffect(()=>{const{bindI18n:v,bindI18nStore:k}=o;d.current=!0,!c&&!s&&(t.lng?tc(a,t.lng,u,()=>{d.current&&x(g)}):ec(a,u,()=>{d.current&&x(g)})),c&&m&&m!==C&&d.current&&x(g);function E(){d.current&&x(g)}return v&&a&&a.on(v,E),k&&a&&a.store.on(k,E),()=>{d.current=!1,v&&a&&v.split(" ").forEach(b=>a.off(b,E)),k&&a&&k.split(" ").forEach(b=>a.store.off(b,E))}},[a,C]),z.useEffect(()=>{d.current&&c&&x(f)},[a,l,c]);const h=[w,a,c];if(h.t=w,h.i18n=a,h.ready=c,c||!c&&!s)return h;throw new Promise(v=>{t.lng?tc(a,t.lng,u,()=>v()):ec(a,u,()=>v())})}const Fg={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class ga{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Fg,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]||(this.observers[r]=new Map);const i=this.observers[r].get(n)||0;this.observers[r].set(n,i+1)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t].delete(n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{let[s,l]=o;for(let u=0;u{let[s,l]=o;for(let u=0;u{e=r,t=i});return n.resolve=e,n.reject=t,n}function nc(e){return e==null?"":""+e}function $g(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}const Ug=/###/g;function kr(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(Ug,"."):s}function i(){return!e||typeof e=="string"}const a=typeof t!="string"?t:t.split(".");let o=0;for(;o":">",'"':""","'":"'","/":"/"};function Wg(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>Bg[t]):e}class Yg{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const n=this.regExpMap.get(t);if(n!==void 0)return n;const r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}}const Kg=[" ",",","?","!",";"],Qg=new Yg(20);function Gg(e,t,n){t=t||"",n=n||"";const r=Kg.filter(o=>t.indexOf(o)<0&&n.indexOf(o)<0);if(r.length===0)return!0;const i=Qg.getRegExp(`(${r.map(o=>o==="?"?"\\?":o).join("|")})`);let a=!i.test(e);if(!a){const o=e.indexOf(n);o>0&&!i.test(e.substring(0,o))&&(a=!0)}return a}function xs(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let a=0;a-1&&l0?e.replace("_","-"):e}class ic extends $a{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,o=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let s;t.indexOf(".")>-1?s=t.split("."):(s=[t,n],r&&(Array.isArray(r)?s.push(...r):typeof r=="string"&&a?s.push(...r.split(a)):s.push(r)));const l=va(this.data,s);return!l&&!n&&!r&&t.indexOf(".")>-1&&(t=s[0],n=s[1],r=s.slice(2).join(".")),l||!o||typeof r!="string"?l:xs(this.data&&this.data[t]&&this.data[t][n],r,a)}addResource(t,n,r,i){let a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const o=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator;let s=[t,n];r&&(s=s.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(s=t.split("."),i=n,n=s[1]),this.addNamespaces(n),rc(this.data,s,i),a.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const a in r)(typeof r[a]=="string"||Object.prototype.toString.apply(r[a])==="[object Array]")&&this.addResource(t,n,a,r[a],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,a){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},s=[t,n];t.indexOf(".")>-1&&(s=t.split("."),i=r,r=n,n=s[1]),this.addNamespaces(n);let l=va(this.data,s)||{};o.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?lp(l,r,a):l={...l,...r},rc(this.data,s,l),o.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var up={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(a=>{this.processors[a]&&(t=this.processors[a].process(t,n,r,i))}),t}};const ac={};class wa extends $a{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),$g(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Je.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let a=n.ns||this.options.defaultNS||[];const o=r&&t.indexOf(r)>-1,s=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Gg(t,r,i);if(o&&!s){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:a};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(a=u.shift()),t=u.join(i)}return typeof a=="string"&&(a=[a]),{key:t,namespaces:a}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,a=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:o,namespaces:s}=this.extractFromKey(t[t.length-1],n),l=s[s.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const v=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${v}${o}`,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${v}${o}`}return i?{res:o,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:o}const p=this.resolve(t,n);let f=p&&p.res;const g=p&&p.usedKey||o,w=p&&p.exactUsedKey||o,x=Object.prototype.toString.apply(f),C=["[object Number]","[object Function]","[object RegExp]"],m=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,d=!this.i18nFormat||this.i18nFormat.handleAsObject;if(d&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&C.indexOf(x)<0&&!(typeof m=="string"&&x==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const v=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,f,{...n,ns:s}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(p.res=v,p.usedParams=this.getUsedParamsDetails(n),p):v}if(a){const v=x==="[object Array]",k=v?[]:{},E=v?w:g;for(const b in f)if(Object.prototype.hasOwnProperty.call(f,b)){const L=`${E}${a}${b}`;k[b]=this.translate(L,{...n,joinArrays:!1,ns:s}),k[b]===L&&(k[b]=f[b])}f=k}}else if(d&&typeof m=="string"&&x==="[object Array]")f=f.join(m),f&&(f=this.extendTranslation(f,t,n,r));else{let v=!1,k=!1;const E=n.count!==void 0&&typeof n.count!="string",b=wa.hasDefaultValue(n),L=E?this.pluralResolver.getSuffix(u,n.count,n):"",M=n.ordinal&&E?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",R=E&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),oe=R&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${L}`]||n[`defaultValue${M}`]||n.defaultValue;!this.isValidLookup(f)&&b&&(v=!0,f=oe),this.isValidLookup(f)||(k=!0,f=o);const Vt=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&k?void 0:f,ht=b&&oe!==f&&this.options.updateMissing;if(k||v||ht){if(this.logger.log(ht?"updateKey":"missingKey",u,l,o,ht?oe:f),a){const N=this.resolve(o,{...n,keySeparator:!1});N&&N.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let Ht=[];const gt=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&>&>[0])for(let N=0;N{const W=b&&j!==f?j:Vt;this.options.missingKeyHandler?this.options.missingKeyHandler(N,l,I,W,ht,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(N,l,I,W,ht,n),this.emit("missingKey",N,l,I,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&E?Ht.forEach(N=>{const I=this.pluralResolver.getSuffixes(N,n);R&&n[`defaultValue${this.options.pluralSeparator}zero`]&&I.indexOf(`${this.options.pluralSeparator}zero`)<0&&I.push(`${this.options.pluralSeparator}zero`),I.forEach(j=>{dn([N],o+j,n[`defaultValue${j}`]||oe)})}):dn(Ht,o,oe))}f=this.extendTranslation(f,t,n,p,r),k&&f===o&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${o}`),(k||v)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${o}`:o,v?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(p.res=f,p.usedParams=this.getUsedParamsDetails(n),p):f}extendTranslation(t,n,r,i,a){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=t.match(this.interpolator.nestingRegexp);c=f&&f.length}let p=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(p={...this.options.interpolation.defaultVariables,...p}),t=this.interpolator.interpolate(t,p,r.lng||this.language,r),u){const f=t.match(this.interpolator.nestingRegexp),g=f&&f.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,a,o,s;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;i=c;let p=u.namespaces;this.options.fallbackNS&&(p=p.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",g=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),w=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",x=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);p.forEach(C=>{this.isValidLookup(r)||(s=C,!ac[`${x[0]}-${C}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(s)&&(ac[`${x[0]}-${C}`]=!0,this.logger.warn(`key "${i}" for languages "${x.join(", ")}" won't get resolved as namespace "${s}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),x.forEach(m=>{if(this.isValidLookup(r))return;o=m;const d=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(d,c,m,C,n);else{let v;f&&(v=this.pluralResolver.getSuffix(m,n.count,n));const k=`${this.options.pluralSeparator}zero`,E=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(d.push(c+v),n.ordinal&&v.indexOf(E)===0&&d.push(c+v.replace(E,this.options.pluralSeparator)),g&&d.push(c+k)),w){const b=`${c}${this.options.contextSeparator}${n.context}`;d.push(b),f&&(d.push(b+v),n.ordinal&&v.indexOf(E)===0&&d.push(b+v.replace(E,this.options.pluralSeparator)),g&&d.push(b+k))}}let h;for(;h=d.pop();)this.isValidLookup(r)||(a=h,r=this.getResource(m,C,h,n))}))})}),{res:r,usedKey:i,exactUsedKey:a,usedLng:o,usedNS:s}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=t.replace&&typeof t.replace!="string";let i=r?t.replace:t;if(r&&typeof t.count<"u"&&(i.count=t.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(const a of n)delete i[a]}return i}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function wo(e){return e.charAt(0).toUpperCase()+e.slice(1)}class oc{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Je.create("languageUtils")}getScriptPartFromCode(t){if(t=ya(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=ya(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=wo(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=wo(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=wo(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(a=>{if(a===i)return a;if(!(a.indexOf("-")<0&&i.indexOf("-")<0)&&(a.indexOf("-")>0&&i.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===i||a.indexOf(i)===0&&i.length>1))return a})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],a=o=>{o&&(this.isSupportedCode(o)?i.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&a(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&a(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&a(this.getLanguagePartFromCode(t))):typeof t=="string"&&a(this.formatLanguageCode(t)),r.forEach(o=>{i.indexOf(o)<0&&a(this.formatLanguageCode(o))}),i}}let Xg=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],Jg={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const Zg=["v1","v2","v3"],qg=["v4"],sc={zero:0,one:1,two:2,few:3,many:4,other:5};function e1(){const e={};return Xg.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:Jg[t.fc]}})}),e}class t1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Je.create("pluralResolver"),(!this.options.compatibilityJSON||qg.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=e1()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(ya(t==="dev"?"en":t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,a)=>sc[i]-sc[a]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const a=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:a():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?a():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!Zg.includes(this.options.compatibilityJSON)}}function lc(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=Hg(e,t,n);return!a&&i&&typeof n=="string"&&(a=xs(e,n,r),a===void 0&&(a=xs(t,n,r))),a}class n1{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Je.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:Wg,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?mn(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?mn(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?mn(n.nestingPrefix):n.nestingPrefixEscaped||mn("$t("),this.nestingSuffix=n.nestingSuffix?mn(n.nestingSuffix):n.nestingSuffixEscaped||mn(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(n,r)=>n&&n.source===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,n,r,i){let a,o,s;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(w){return w.replace(/\$/g,"$$$$")}const c=w=>{if(w.indexOf(this.formatSeparator)<0){const d=lc(n,l,w,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(d,void 0,r,{...i,...n,interpolationkey:w}):d}const x=w.split(this.formatSeparator),C=x.shift().trim(),m=x.join(this.formatSeparator).trim();return this.format(lc(n,l,C,this.options.keySeparator,this.options.ignoreJSONStructure),m,r,{...i,...n,interpolationkey:C})};this.resetRegExp();const p=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:w=>u(w)},{regex:this.regexp,safeValue:w=>this.escapeValue?u(this.escape(w)):u(w)}].forEach(w=>{for(s=0;a=w.regex.exec(t);){const x=a[1].trim();if(o=c(x),o===void 0)if(typeof p=="function"){const m=p(t,a,i);o=typeof m=="string"?m:""}else if(i&&Object.prototype.hasOwnProperty.call(i,x))o="";else if(f){o=a[0];continue}else this.logger.warn(`missed to pass in variable ${x} for interpolating ${t}`),o="";else typeof o!="string"&&!this.useRawValueToEscape&&(o=nc(o));const C=w.safeValue(o);if(t=t.replace(a[0],C),f?(w.regex.lastIndex+=o.length,w.regex.lastIndex-=a[0].length):w.regex.lastIndex=0,s++,s>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,a,o;function s(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const p=l.split(new RegExp(`${c}[ ]*{`));let f=`{${p[1]}`;l=p[0],f=this.interpolate(f,o);const g=f.match(/'/g),w=f.match(/"/g);(g&&g.length%2===0&&!w||w.length%2!==0)&&(f=f.replace(/'/g,'"'));try{o=JSON.parse(f),u&&(o={...u,...o})}catch(x){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,x),`${l}${c}${f}`}return delete o.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];o={...r},o=o.replace&&typeof o.replace!="string"?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(p=>p.trim());i[1]=c.shift(),l=c,u=!0}if(a=n(s.call(this,i[1].trim(),o),o),a&&i[0]===t&&typeof a!="string")return a;typeof a!="string"&&(a=nc(a)),a||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),a=""),u&&(a=l.reduce((c,p)=>this.format(c,p,r.lng,{...r,interpolationkey:i[1].trim()}),a.trim())),t=t.replace(i[0],a),this.regexp.lastIndex=0}return t}}function r1(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(o=>{if(!o)return;const[s,...l]=o.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[s.trim()]||(n[s.trim()]=u),u==="false"&&(n[s.trim()]=!1),u==="true"&&(n[s.trim()]=!0),isNaN(u)||(n[s.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function hn(e){const t={};return function(r,i,a){const o=i+JSON.stringify(a);let s=t[o];return s||(s=e(ya(i),a),t[o]=s),s(r)}}class i1{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Je.create("formatter"),this.options=t,this.formats={number:hn((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return a=>i.format(a)}),currency:hn((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return a=>i.format(a)}),datetime:hn((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return a=>i.format(a)}),relativetime:hn((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return a=>i.format(a,r.range||"day")}),list:hn((n,r)=>{const i=new Intl.ListFormat(n,{...r});return a=>i.format(a)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=hn(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((s,l)=>{const{formatName:u,formatOptions:c}=r1(l);if(this.formats[u]){let p=s;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},g=f.locale||f.lng||i.locale||i.lng||r;p=this.formats[u](s,g,{...c,...i,...f})}catch(f){this.logger.warn(f)}return p}else this.logger.warn(`there was no format function for ${u}`);return s},t)}}function a1(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class o1 extends $a{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=Je.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const a={},o={},s={},l={};return t.forEach(u=>{let c=!0;n.forEach(p=>{const f=`${u}|${p}`;!r.reload&&this.store.hasResourceBundle(u,p)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?o[f]===void 0&&(o[f]=!0):(this.state[f]=1,c=!1,o[f]===void 0&&(o[f]=!0),a[f]===void 0&&(a[f]=!0),l[p]===void 0&&(l[p]=!0)))}),c||(s[u]=!0)}),(Object.keys(a).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(a),pending:Object.keys(o),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),a=i[0],o=i[1];n&&this.emit("failedLoading",a,o,n),r&&this.store.addResourceBundle(a,o,r,void 0,void 0,{skipCopy:!0}),this.state[t]=n?-1:2;const s={};this.queue.forEach(l=>{Vg(l.loaded,[a],o),a1(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{s[u]||(s[u]={});const c=l.loaded[u];c.length&&c.forEach(p=>{s[u][p]===void 0&&(s[u][p]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!t.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:a,callback:o});return}this.readingCalls++;const s=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const p=this.waitingReads.shift();this.read(p.lng,p.ns,p.fcName,p.tried,p.wait,p.callback)}if(u&&c&&i{this.read.call(this,t,n,r,i+1,a*2,o)},a);return}o(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>s(null,c)).catch(s):s(null,u)}catch(u){s(u)}return}return l(t,n,s)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const a=this.queueLoad(t,n,r,i);if(!a.toLoad.length)return a.pending.length||i(),null;a.toLoad.forEach(o=>{this.loadOne(o)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],a=r[1];this.read(i,a,"read",void 0,void 0,(o,s)=>{o&&this.logger.warn(`${n}loading namespace ${a} for language ${i} failed`,o),!o&&s&&this.logger.log(`${n}loaded namespace ${a} for language ${i}`,s),this.loaded(t,o,s)})}saveMissing(t,n,r,i,a){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...o,isUpdate:a},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,i,l):c=u(t,n,r,i),c&&typeof c.then=="function"?c.then(p=>s(null,p)).catch(s):s(null,c)}catch(c){s(c)}else u(t,n,r,i,s,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function uc(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function cc(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Si(){}function s1(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Ur extends $a{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=cc(t),this.services={},this.logger=Je,this.modules={external:[]},s1(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=uc();this.options={...i,...this.options,...cc(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function a(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?Je.init(a(this.modules.logger),this.options):Je.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=i1);const p=new oc(this.options);this.store=new ic(this.options.resources,this.options);const f=this.services;f.logger=Je,f.resourceStore=this.store,f.languageUtils=p,f.pluralResolver=new t1(p,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=a(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new n1(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new o1(a(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(g){for(var w=arguments.length,x=new Array(w>1?w-1:0),C=1;C1?w-1:0),C=1;C{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Si),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=ir(),u=()=>{const c=(p,f)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(p,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Si;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const a=[],o=s=>{if(!s||s==="cimode")return;this.services.languageUtils.toResolveHierarchy(s).forEach(u=>{u!=="cimode"&&a.indexOf(u)<0&&a.push(u)})};i?o(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>o(l)),this.options.preload&&this.options.preload.forEach(s=>o(s)),this.services.backendConnector.load(a,this.options.ns,s=>{!s&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(s)})}else r(null)}reloadResources(t,n,r){const i=ir();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Si),this.services.backendConnector.reload(t,n,a=>{i.resolve(),r(a)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&up.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=ir();this.emit("languageChanging",t);const a=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},o=(l,u)=>{u?(a(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},s=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||a(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{o(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?s(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(s):this.services.languageDetector.detect(s):s(t),i}getFixedT(t,n,r){var i=this;const a=function(o,s){let l;if(typeof s!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),p=2;p`${l.keyPrefix}${f}${w}`):g=l.keyPrefix?`${l.keyPrefix}${f}${o}`:o,i.t(g,l)};return typeof t=="string"?a.lng=t:a.lngs=t,a.ns=n,a.keyPrefix=r,a}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,a=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const o=(s,l)=>{const u=this.services.backendConnector.state[`${s}|${l}`];return u===-1||u===2};if(n.precheck){const s=n.precheck(this,o);if(s!==void 0)return s}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(r,t)&&(!i||o(a,t)))}loadNamespaces(t,n){const r=ir();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=ir();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],a=t.filter(o=>i.indexOf(o)<0);return a.length?(this.options.preload=i.concat(a),this.loadResources(o=>{r.resolve(),n&&n(o)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new oc(uc());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Ur(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Si;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},a=new Ur(i);return(t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),["store","services","language"].forEach(s=>{a[s]=this[s]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},r&&(a.store=new ic(this.store.data,i),a.services.resourceStore=a.store),a.translator=new wa(a.services,i),a.translator.on("*",function(s){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;c0){var s=i.maxAge-0;if(Number.isNaN(s))throw new Error("maxAge should be a Number");o+="; Max-Age=".concat(Math.floor(s))}if(i.domain){if(!dc.test(i.domain))throw new TypeError("option domain is invalid");o+="; Domain=".concat(i.domain)}if(i.path){if(!dc.test(i.path))throw new TypeError("option path is invalid");o+="; Path=".concat(i.path)}if(i.expires){if(typeof i.expires.toUTCString!="function")throw new TypeError("option expires is invalid");o+="; Expires=".concat(i.expires.toUTCString())}if(i.httpOnly&&(o+="; HttpOnly"),i.secure&&(o+="; Secure"),i.sameSite){var l=typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite;switch(l){case!0:o+="; SameSite=Strict";break;case"lax":o+="; SameSite=Lax";break;case"strict":o+="; SameSite=Strict";break;case"none":o+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return o},pc={create:function(t,n,r,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(a.expires=new Date,a.expires.setTime(a.expires.getTime()+r*60*1e3)),i&&(a.domain=i),document.cookie=h1(t,encodeURIComponent(n),a)},read:function(t){for(var n="".concat(t,"="),r=document.cookie.split(";"),i=0;i-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));for(var i=r.substring(1),a=i.split("&"),o=0;o0){var l=a[o].substring(0,s);l===t.lookupQuerystring&&(n=a[o].substring(s+1))}}}return n}},ar=null,mc=function(){if(ar!==null)return ar;try{ar=window!=="undefined"&&window.localStorage!==null;var t="i18next.translate.boo";window.localStorage.setItem(t,"foo"),window.localStorage.removeItem(t)}catch{ar=!1}return ar},y1={name:"localStorage",lookup:function(t){var n;if(t.lookupLocalStorage&&mc()){var r=window.localStorage.getItem(t.lookupLocalStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupLocalStorage&&mc()&&window.localStorage.setItem(n.lookupLocalStorage,t)}},or=null,hc=function(){if(or!==null)return or;try{or=window!=="undefined"&&window.sessionStorage!==null;var t="i18next.translate.boo";window.sessionStorage.setItem(t,"foo"),window.sessionStorage.removeItem(t)}catch{or=!1}return or},w1={name:"sessionStorage",lookup:function(t){var n;if(t.lookupSessionStorage&&hc()){var r=window.sessionStorage.getItem(t.lookupSessionStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupSessionStorage&&hc()&&window.sessionStorage.setItem(n.lookupSessionStorage,t)}},x1={name:"navigator",lookup:function(t){var n=[];if(typeof navigator<"u"){if(navigator.languages)for(var r=0;r0?n:void 0}},k1={name:"htmlTag",lookup:function(t){var n,r=t.htmlTag||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},S1={name:"path",lookup:function(t){var n;if(typeof window<"u"){var r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(r instanceof Array)if(typeof t.lookupFromPathIndex=="number"){if(typeof r[t.lookupFromPathIndex]!="string")return;n=r[t.lookupFromPathIndex].replace("/","")}else n=r[0].replace("/","")}return n}},b1={name:"subdomain",lookup:function(t){var n=typeof t.lookupFromSubdomainIndex=="number"?t.lookupFromSubdomainIndex+1:1,r=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}};function E1(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(t){return t}}}var fp=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};l1(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}return f1(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n||{languageUtils:{}},this.options=m1(r,this.options||{},E1()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(a){return a.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=i,this.addDetector(g1),this.addDetector(v1),this.addDetector(y1),this.addDetector(w1),this.addDetector(x1),this.addDetector(k1),this.addDetector(S1),this.addDetector(b1)}},{key:"addDetector",value:function(n){return this.detectors[n.name]=n,this}},{key:"detect",value:function(n){var r=this;n||(n=this.options.order);var i=[];return n.forEach(function(a){if(r.detectors[a]){var o=r.detectors[a].lookup(r.options);o&&typeof o=="string"&&(o=[o]),o&&(i=i.concat(o))}}),i=i.map(function(a){return r.options.convertDetectedLanguage(a)}),this.services.languageUtils.getBestMatchFromCodes?i:i.length>0?i[0]:null}},{key:"cacheUserLanguage",value:function(n,r){var i=this;r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||r.forEach(function(a){i.detectors[a]&&i.detectors[a].cacheUserLanguage(n,i.options)}))}}]),e}();fp.type="languageDetector";const C1={about:"About",post:"Post",experience:"Experience",education:"Education",myInfo:"I have always been passionate about mobile development. I started with iOS and then transitioned to a hybrid approach. After my passion for mobile, I discovered Front-End Web development, and now I specialize in React. I always begin with a theoretical approach 🤓 before putting it into practice 👨🏻‍💻.",curriculum:"Curriculum",mvExperience:"WEB AND MOBILE APPLICATION DESIGNER AND DEVELOPER",mvExperienceWeb:"Specialized in developing web applications, primarily utilizing the following technologies/tools: TypeScript, React, Vite, TurboRepo.",mvExperienceMob:"While mobile applications are primarily developed using Dart/Flutter.",tecnotronicaExperience:"DESIGNER AND DEVELOPER OF A WEB CONNECTOR FOR THE PROXFLOW APPLICATION",tecnotronicaExperienceDesc:" Technologies used in the development of the WEB connector for ProXFlow:",tecnotronicaExperienceDescWeb:"Development of a Web-App in dart/flutter.",tecnotronicaExperienceDescBe:"Development of a Back-End in dart",archeidoExperience:"iOS Mobile Developer",fillInTheBlanksExperience:"Employee",masterDegree:"Master's Degree",masterDegreeDesc:"Master's Degree in Computer Science, Computer Science (Interactive Systems)",masterDegreeVote:"Vote: ",masterDegreeBestGraduate:" with merit to the best graduates",bachelorDegree:"Bachelor's Degree",bachelorDegreeDesc:"Bachelor's degree in Computer Science, Computer Science",bachelorDegreeVote:"Vote: ",diploma:"Diploma",diplomaText:"Diploma in telecommunications"},N1={about:"Su di me",post:"Post",experience:"Esperienze",education:"Formazione",myInfo:"Sono sempre stato appassionato di sviluppo mobile. Ho iniziato con iOS per poi passare ad un approccio ibrido. Dopo la passione per il mobile è arrivata quella per sviluppo Web Front-End e ora sono anche specializzo in React. Inizio sempre con un approccio teorico 🤓 per poi metterlo in pratica 👨🏻‍💻.",curriculum:"Curriculum",mvExperience:"Progettista e sviluppatore di applicazioni web e mobile",mvExperienceWeb:"Specializzato nello sviluppo di applicazioni web, utilizzando principalmente le seguenti tecnologie/strumenti: TypeScript, React, Vite, TurboRepo.",mvExperienceMob:"Mentre le applicazioni mobili le sviluppo principalmente utilizzando Dart/Flutter.",tecnotronicaExperience:"Progettista e sviluppatore di un connettore Web per l'applicativo ProXFlow",tecnotronicaExperienceDesc:"Tecnologie utilizzate per lo sviluppo del connettore WEB per il ProXFlow:",tecnotronicaExperienceDescWeb:"Sviluppo di un Web-App in dart/flutter",tecnotronicaExperienceDescBe:"Sviluppo di un Back-End in dart",archeidoExperience:"Sviluppatore Mobile iOS",fillInTheBlanksExperience:"Impiegato",masterDegree:"Laurea magistrale",masterDegreeDesc:"Laurea magistrale in informatica (Sistemi interattivi)",masterDegreeVote:"Voto: ",masterDegreeBestGraduate:" con merito di laurea ai migliori graduati",bachelorDegree:"Laurea breve",bachelorDegreeDesc:"Laurea breve in informatica",bachelorDegreeVote:"Voto: ",diploma:"Diploma",diplomaText:"Diploma in telecomunicazioni"};async function P1(){await me.use(fp).use(_g).init({debug:!1,resources:{en:{translation:C1},it:{translation:N1}},fallbackLng:"en",interpolation:{escapeValue:!1}})}function qr(){const[e,t]=sp(),n=z.useCallback(t.changeLanguage,[t]);return{t:e,changeLanguage:n,language:t.resolvedLanguage}}function O1(e){return y.jsx("div",{className:"md:ml-72 bg-slate-50 dark:bg-slate-900",children:e.children})}const L1=e=>{const{label:t,onClick:n}=e;return y.jsx("button",{className:"bg-gray-200 text-gray-700 rounded-full px-3 py-1 hover:bg-gray-300 focus:outline-none focus:ring focus:bg-gray-300",onClick:n,children:t})};function T1({threshold:e=0,root:t=null,rootMargin:n="0%",freezeOnceVisible:r=!1,initialIsIntersecting:i=!1,onChange:a}={}){var w;const[o,s]=z.useState(null),[l,u]=z.useState(()=>({isIntersecting:i,entry:void 0})),c=z.useRef();c.current=a;const p=((w=l.entry)==null?void 0:w.isIntersecting)&&r;z.useEffect(()=>{if(!o||!("IntersectionObserver"in window)||p)return;let x;const C=new IntersectionObserver(m=>{const d=Array.isArray(C.thresholds)?C.thresholds:[C.thresholds];m.forEach(h=>{const v=h.isIntersecting&&d.some(k=>h.intersectionRatio>=k);u({isIntersecting:v,entry:h}),c.current&&c.current(v,h),v&&r&&x&&(x(),x=void 0)})},{threshold:e,root:t,rootMargin:n});return C.observe(o),()=>{C.disconnect()}},[o,JSON.stringify(e),t,n,p,r]);const f=z.useRef(null);z.useEffect(()=>{var x;!o&&((x=l.entry)!=null&&x.target)&&!r&&!p&&f.current!==l.entry.target&&(f.current=l.entry.target,u({isIntersecting:i,entry:void 0}))},[o,l.entry,r,p,i]);const g=[s,!!l.isIntersecting,l.entry];return g.ref=g[0],g.isIntersecting=g[1],g.entry=g[2],g}function I1(e){const[t,n]=z.useState(e??!1),r=z.useCallback(()=>n(i=>!i),[]);return[t,r,n]}var j1={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"]},R1={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"]},_1={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"]},A1={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"]},z1={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"]},D1={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"]};function gc(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 P(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1;i--){var a=n[i],o=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(r=a)}return B.head.insertBefore(t,r),e}}var lv="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Kr(){for(var e=12,t="";e-- >0;)t+=lv[Math.random()*62|0];return t}function Gn(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function _l(e){return e.classList?Gn(e.classList):(e.getAttribute("class")||"").split(" ").filter(function(t){return t})}function bp(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function uv(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,'="').concat(bp(e[n]),'" ')},"").trim()}function Ua(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n].trim(),";")},"")}function Al(e){return e.size!==Ze.size||e.x!==Ze.x||e.y!==Ze.y||e.rotate!==Ze.rotate||e.flipX||e.flipY}function cv(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,i={transform:"translate(".concat(n/2," 256)")},a="translate(".concat(t.x*32,", ").concat(t.y*32,") "),o="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(a," ").concat(o," ").concat(s)},u={transform:"translate(".concat(r/2*-1," -256)")};return{outer:i,inner:l,path:u}}function fv(e){var t=e.transform,n=e.width,r=n===void 0?Ss:n,i=e.height,a=i===void 0?Ss:i,o=e.startCentered,s=o===void 0?!1:o,l="";return s&&gp?l+="translate(".concat(t.x/yt-r/2,"em, ").concat(t.y/yt-a/2,"em) "):s?l+="translate(calc(-50% + ".concat(t.x/yt,"em), calc(-50% + ").concat(t.y/yt,"em)) "):l+="translate(".concat(t.x/yt,"em, ").concat(t.y/yt,"em) "),l+="scale(".concat(t.size/yt*(t.flipX?-1:1),", ").concat(t.size/yt*(t.flipY?-1:1),") "),l+="rotate(".concat(t.rotate,"deg) "),l}var dv=`: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, none)); + transform: rotate(var(--fa-rotate-angle, none)); +} + +.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 Ep(){var e=vp,t=yp,n=T.cssPrefix,r=T.replacementClass,i=dv;if(n!==e||r!==t){var a=new RegExp("\\.".concat(e,"\\-"),"g"),o=new RegExp("\\--".concat(e,"\\-"),"g"),s=new RegExp("\\.".concat(t),"g");i=i.replace(a,".".concat(n,"-")).replace(o,"--".concat(n,"-")).replace(s,".".concat(r))}return i}var bc=!1;function xo(){T.autoAddCss&&!bc&&(sv(Ep()),bc=!0)}var pv={mixout:function(){return{dom:{css:Ep,insertCss:xo}}},hooks:function(){return{beforeDOMElementCreation:function(){xo()},beforeI2svg:function(){xo()}}}},ft=zt||{};ft[ct]||(ft[ct]={});ft[ct].styles||(ft[ct].styles={});ft[ct].hooks||(ft[ct].hooks={});ft[ct].shims||(ft[ct].shims=[]);var He=ft[ct],Cp=[],mv=function e(){B.removeEventListener("DOMContentLoaded",e),ka=1,Cp.map(function(t){return t()})},ka=!1;mt&&(ka=(B.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(B.readyState),ka||B.addEventListener("DOMContentLoaded",mv));function hv(e){mt&&(ka?setTimeout(e,0):Cp.push(e))}function ni(e){var t=e.tag,n=e.attributes,r=n===void 0?{}:n,i=e.children,a=i===void 0?[]:i;return typeof e=="string"?bp(e):"<".concat(t," ").concat(uv(r),">").concat(a.map(ni).join(""),"")}function Ec(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var gv=function(t,n){return function(r,i,a,o){return t.call(n,r,i,a,o)}},ko=function(t,n,r,i){var a=Object.keys(t),o=a.length,s=i!==void 0?gv(n,i):n,l,u,c;for(r===void 0?(l=1,c=t[a[0]]):(l=0,c=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 Cc(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 Cs(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.skipHooks,i=r===void 0?!1:r,a=Cc(t);typeof He.hooks.addPack=="function"&&!i?He.hooks.addPack(e,Cc(t)):He.styles[e]=P(P({},He.styles[e]||{}),a),e==="fas"&&Cs("fa",t)}var Li,Ti,Ii,On=He.styles,wv=He.shims,xv=(Li={},ne(Li,V,Object.values(Wr[V])),ne(Li,J,Object.values(Wr[J])),Li),zl=null,Np={},Pp={},Op={},Lp={},Tp={},kv=(Ti={},ne(Ti,V,Object.keys(Hr[V])),ne(Ti,J,Object.keys(Hr[J])),Ti);function Sv(e){return~nv.indexOf(e)}function bv(e,t){var n=t.split("-"),r=n[0],i=n.slice(1).join("-");return r===e&&i!==""&&!Sv(i)?i:null}var Ip=function(){var t=function(a){return ko(On,function(o,s,l){return o[l]=ko(s,a,{}),o},{})};Np=t(function(i,a,o){if(a[3]&&(i[a[3]]=o),a[2]){var s=a[2].filter(function(l){return typeof l=="number"});s.forEach(function(l){i[l.toString(16)]=o})}return i}),Pp=t(function(i,a,o){if(i[o]=o,a[2]){var s=a[2].filter(function(l){return typeof l=="string"});s.forEach(function(l){i[l]=o})}return i}),Tp=t(function(i,a,o){var s=a[2];return i[o]=o,s.forEach(function(l){i[l]=o}),i});var n="far"in On||T.autoFetchSvg,r=ko(wv,function(i,a){var o=a[0],s=a[1],l=a[2];return s==="far"&&!n&&(s="fas"),typeof o=="string"&&(i.names[o]={prefix:s,iconName:l}),typeof o=="number"&&(i.unicodes[o.toString(16)]={prefix:s,iconName:l}),i},{names:{},unicodes:{}});Op=r.names,Lp=r.unicodes,zl=Va(T.styleDefault,{family:T.familyDefault})};ov(function(e){zl=Va(e.styleDefault,{family:T.familyDefault})});Ip();function Dl(e,t){return(Np[e]||{})[t]}function Ev(e,t){return(Pp[e]||{})[t]}function Zt(e,t){return(Tp[e]||{})[t]}function jp(e){return Op[e]||{prefix:null,iconName:null}}function Cv(e){var t=Lp[e],n=Dl("fas",e);return t||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}function Dt(){return zl}var Ml=function(){return{prefix:null,iconName:null,rest:[]}};function Va(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.family,r=n===void 0?V:n,i=Hr[r][e],a=Br[r][e]||Br[r][i],o=e in He.styles?e:null;return a||o||null}var Nc=(Ii={},ne(Ii,V,Object.keys(Wr[V])),ne(Ii,J,Object.keys(Wr[J])),Ii);function Ha(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.skipLookups,i=r===void 0?!1:r,a=(t={},ne(t,V,"".concat(T.cssPrefix,"-").concat(V)),ne(t,J,"".concat(T.cssPrefix,"-").concat(J)),t),o=null,s=V;(e.includes(a[V])||e.some(function(u){return Nc[V].includes(u)}))&&(s=V),(e.includes(a[J])||e.some(function(u){return Nc[J].includes(u)}))&&(s=J);var l=e.reduce(function(u,c){var p=bv(T.cssPrefix,c);if(On[c]?(c=xv[s].includes(c)?X1[s][c]:c,o=c,u.prefix=c):kv[s].indexOf(c)>-1?(o=c,u.prefix=Va(c,{family:s})):p?u.iconName=p:c!==T.replacementClass&&c!==a[V]&&c!==a[J]&&u.rest.push(c),!i&&u.prefix&&u.iconName){var f=o==="fa"?jp(u.iconName):{},g=Zt(u.prefix,u.iconName);f.prefix&&(o=null),u.iconName=f.iconName||g||u.iconName,u.prefix=f.prefix||u.prefix,u.prefix==="far"&&!On.far&&On.fas&&!T.autoFetchSvg&&(u.prefix="fas")}return u},Ml());return(e.includes("fa-brands")||e.includes("fab"))&&(l.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(l.prefix="fad"),!l.prefix&&s===J&&(On.fass||T.autoFetchSvg)&&(l.prefix="fass",l.iconName=Zt(l.prefix,l.iconName)||l.iconName),(l.prefix==="fa"||o==="fa")&&(l.prefix=Dt()||"fas"),l}var Nv=function(){function e(){M1(this,e),this.definitions={}}return F1(e,[{key:"add",value:function(){for(var n=this,r=arguments.length,i=new Array(r),a=0;a0&&c.forEach(function(p){typeof p=="string"&&(n[s][p]=u)}),n[s][l]=u}),n}}]),e}(),Pc=[],Ln={},Dn={},Pv=Object.keys(Dn);function Ov(e,t){var n=t.mixoutsTo;return Pc=e,Ln={},Object.keys(Dn).forEach(function(r){Pv.indexOf(r)===-1&&delete Dn[r]}),Pc.forEach(function(r){var i=r.mixout?r.mixout():{};if(Object.keys(i).forEach(function(o){typeof i[o]=="function"&&(n[o]=i[o]),xa(i[o])==="object"&&Object.keys(i[o]).forEach(function(s){n[o]||(n[o]={}),n[o][s]=i[o][s]})}),r.hooks){var a=r.hooks();Object.keys(a).forEach(function(o){Ln[o]||(Ln[o]=[]),Ln[o].push(a[o])})}r.provides&&r.provides(Dn)}),n}function Ns(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 mt?(ln("beforeI2svg",t),dt("pseudoElements2svg",t),dt("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;T.autoReplaceSvg===!1&&(T.autoReplaceSvg=!0),T.observeMutations=!0,hv(function(){jv({autoReplaceSvgRoot:n}),ln("watch",t)})}},Iv={icon:function(t){if(t===null)return null;if(xa(t)==="object"&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:Zt(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=Va(t[0]);return{prefix:r,iconName:Zt(r,n)||n}}if(typeof t=="string"&&(t.indexOf("".concat(T.cssPrefix,"-"))>-1||t.match(J1))){var i=Ha(t.split(" "),{skipLookups:!0});return{prefix:i.prefix||Dt(),iconName:Zt(i.prefix,i.iconName)||i.iconName}}if(typeof t=="string"){var a=Dt();return{prefix:a,iconName:Zt(a,t)||t}}}},Ie={noAuto:Lv,config:T,dom:Tv,parse:Iv,library:Rp,findIconDefinition:Ps,toHtml:ni},jv=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot,r=n===void 0?B:n;(Object.keys(He.styles).length>0||T.autoFetchSvg)&&mt&&T.autoReplaceSvg&&Ie.dom.i2svg({node:r})};function Ba(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(r){return ni(r)})}}),Object.defineProperty(e,"node",{get:function(){if(mt){var r=B.createElement("div");return r.innerHTML=e.html,r.children}}}),e}function Rv(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,a=e.styles,o=e.transform;if(Al(o)&&n.found&&!r.found){var s=n.width,l=n.height,u={x:s/l/2,y:.5};i.style=Ua(P(P({},a),{},{"transform-origin":"".concat(u.x+o.x/16,"em ").concat(u.y+o.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}function _v(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,a=e.symbol,o=a===!0?"".concat(t,"-").concat(T.cssPrefix,"-").concat(n):a;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:P(P({},i),{},{id:o}),children:r}]}]}function Fl(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,a=e.iconName,o=e.transform,s=e.symbol,l=e.title,u=e.maskId,c=e.titleId,p=e.extra,f=e.watchable,g=f===void 0?!1:f,w=r.found?r:n,x=w.width,C=w.height,m=i==="fak",d=[T.replacementClass,a?"".concat(T.cssPrefix,"-").concat(a):""].filter(function(M){return p.classes.indexOf(M)===-1}).filter(function(M){return M!==""||!!M}).concat(p.classes).join(" "),h={children:[],attributes:P(P({},p.attributes),{},{"data-prefix":i,"data-icon":a,class:d,role:p.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(x," ").concat(C)})},v=m&&!~p.classes.indexOf("fa-fw")?{width:"".concat(x/C*16*.0625,"em")}:{};g&&(h.attributes[sn]=""),l&&(h.children.push({tag:"title",attributes:{id:h.attributes["aria-labelledby"]||"title-".concat(c||Kr())},children:[l]}),delete h.attributes.title);var k=P(P({},h),{},{prefix:i,iconName:a,main:n,mask:r,maskId:u,transform:o,symbol:s,styles:P(P({},v),p.styles)}),E=r.found&&n.found?dt("generateAbstractMask",k)||{children:[],attributes:{}}:dt("generateAbstractIcon",k)||{children:[],attributes:{}},b=E.children,L=E.attributes;return k.children=b,k.attributes=L,s?_v(k):Rv(k)}function Oc(e){var t=e.content,n=e.width,r=e.height,i=e.transform,a=e.title,o=e.extra,s=e.watchable,l=s===void 0?!1:s,u=P(P(P({},o.attributes),a?{title:a}:{}),{},{class:o.classes.join(" ")});l&&(u[sn]="");var c=P({},o.styles);Al(i)&&(c.transform=fv({transform:i,startCentered:!0,width:n,height:r}),c["-webkit-transform"]=c.transform);var p=Ua(c);p.length>0&&(u.style=p);var f=[];return f.push({tag:"span",attributes:u,children:[t]}),a&&f.push({tag:"span",attributes:{class:"sr-only"},children:[a]}),f}function Av(e){var t=e.content,n=e.title,r=e.extra,i=P(P(P({},r.attributes),n?{title:n}:{}),{},{class:r.classes.join(" ")}),a=Ua(r.styles);a.length>0&&(i.style=a);var o=[];return o.push({tag:"span",attributes:i,children:[t]}),n&&o.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),o}var So=He.styles;function Os(e){var t=e[0],n=e[1],r=e.slice(4),i=Ll(r,1),a=i[0],o=null;return Array.isArray(a)?o={tag:"g",attributes:{class:"".concat(T.cssPrefix,"-").concat(Jt.GROUP)},children:[{tag:"path",attributes:{class:"".concat(T.cssPrefix,"-").concat(Jt.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(T.cssPrefix,"-").concat(Jt.PRIMARY),fill:"currentColor",d:a[1]}}]}:o={tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:t,height:n,icon:o}}var zv={found:!1,width:512,height:512};function Dv(e,t){!wp&&!T.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(t,'" is missing.'))}function Ls(e,t){var n=t;return t==="fa"&&T.styleDefault!==null&&(t=Dt()),new Promise(function(r,i){if(dt("missingIconAbstract"),n==="fa"){var a=jp(e)||{};e=a.iconName||e,t=a.prefix||t}if(e&&t&&So[t]&&So[t][e]){var o=So[t][e];return r(Os(o))}Dv(e,t),r(P(P({},zv),{},{icon:T.showMissingIcons&&e?dt("missingIconAbstract")||{}:{}}))})}var Lc=function(){},Ts=T.measurePerformance&&bi&&bi.mark&&bi.measure?bi:{mark:Lc,measure:Lc},fr='FA "6.5.1"',Mv=function(t){return Ts.mark("".concat(fr," ").concat(t," begins")),function(){return _p(t)}},_p=function(t){Ts.mark("".concat(fr," ").concat(t," ends")),Ts.measure("".concat(fr," ").concat(t),"".concat(fr," ").concat(t," begins"),"".concat(fr," ").concat(t," ends"))},$l={begin:Mv,end:_p},Bi=function(){};function Tc(e){var t=e.getAttribute?e.getAttribute(sn):null;return typeof t=="string"}function Fv(e){var t=e.getAttribute?e.getAttribute(Il):null,n=e.getAttribute?e.getAttribute(jl):null;return t&&n}function $v(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(T.replacementClass)}function Uv(){if(T.autoReplaceSvg===!0)return Wi.replace;var e=Wi[T.autoReplaceSvg];return e||Wi.replace}function Vv(e){return B.createElementNS("http://www.w3.org/2000/svg",e)}function Hv(e){return B.createElement(e)}function Ap(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.ceFn,r=n===void 0?e.tag==="svg"?Vv:Hv:n;if(typeof e=="string")return B.createTextNode(e);var i=r(e.tag);Object.keys(e.attributes||[]).forEach(function(o){i.setAttribute(o,e.attributes[o])});var a=e.children||[];return a.forEach(function(o){i.appendChild(Ap(o,{ceFn:r}))}),i}function Bv(e){var t=" ".concat(e.outerHTML," ");return t="".concat(t,"Font Awesome fontawesome.com "),t}var Wi={replace:function(t){var n=t[0];if(n.parentNode)if(t[1].forEach(function(i){n.parentNode.insertBefore(Ap(i),n)}),n.getAttribute(sn)===null&&T.keepOriginalSource){var r=B.createComment(Bv(n));n.parentNode.replaceChild(r,n)}else n.remove()},nest:function(t){var n=t[0],r=t[1];if(~_l(n).indexOf(T.replacementClass))return Wi.replace(t);var i=new RegExp("".concat(T.cssPrefix,"-.*"));if(delete r[0].attributes.id,r[0].attributes.class){var a=r[0].attributes.class.split(" ").reduce(function(s,l){return l===T.replacementClass||l.match(i)?s.toSvg.push(l):s.toNode.push(l),s},{toNode:[],toSvg:[]});r[0].attributes.class=a.toSvg.join(" "),a.toNode.length===0?n.removeAttribute("class"):n.setAttribute("class",a.toNode.join(" "))}var o=r.map(function(s){return ni(s)}).join(` +`);n.setAttribute(sn,""),n.innerHTML=o}};function Ic(e){e()}function zp(e,t){var n=typeof t=="function"?t:Bi;if(e.length===0)n();else{var r=Ic;T.mutateApproach===Q1&&(r=zt.requestAnimationFrame||Ic),r(function(){var i=Uv(),a=$l.begin("mutate");e.map(i),a(),n()})}}var Ul=!1;function Dp(){Ul=!0}function Is(){Ul=!1}var Sa=null;function jc(e){if(kc&&T.observeMutations){var t=e.treeCallback,n=t===void 0?Bi:t,r=e.nodeCallback,i=r===void 0?Bi:r,a=e.pseudoElementsCallback,o=a===void 0?Bi:a,s=e.observeMutationsRoot,l=s===void 0?B:s;Sa=new kc(function(u){if(!Ul){var c=Dt();Gn(u).forEach(function(p){if(p.type==="childList"&&p.addedNodes.length>0&&!Tc(p.addedNodes[0])&&(T.searchPseudoElements&&o(p.target),n(p.target)),p.type==="attributes"&&p.target.parentNode&&T.searchPseudoElements&&o(p.target.parentNode),p.type==="attributes"&&Tc(p.target)&&~tv.indexOf(p.attributeName))if(p.attributeName==="class"&&Fv(p.target)){var f=Ha(_l(p.target)),g=f.prefix,w=f.iconName;p.target.setAttribute(Il,g||c),w&&p.target.setAttribute(jl,w)}else $v(p.target)&&i(p.target)})}}),mt&&Sa.observe(l,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function Wv(){Sa&&Sa.disconnect()}function Yv(e){var t=e.getAttribute("style"),n=[];return t&&(n=t.split(";").reduce(function(r,i){var a=i.split(":"),o=a[0],s=a.slice(1);return o&&s.length>0&&(r[o]=s.join(":").trim()),r},{})),n}function Kv(e){var t=e.getAttribute("data-prefix"),n=e.getAttribute("data-icon"),r=e.innerText!==void 0?e.innerText.trim():"",i=Ha(_l(e));return i.prefix||(i.prefix=Dt()),t&&n&&(i.prefix=t,i.iconName=n),i.iconName&&i.prefix||(i.prefix&&r.length>0&&(i.iconName=Ev(i.prefix,e.innerText)||Dl(i.prefix,Es(e.innerText))),!i.iconName&&T.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data)),i}function Qv(e){var t=Gn(e.attributes).reduce(function(i,a){return i.name!=="class"&&i.name!=="style"&&(i[a.name]=a.value),i},{}),n=e.getAttribute("title"),r=e.getAttribute("data-fa-title-id");return T.autoA11y&&(n?t["aria-labelledby"]="".concat(T.replacementClass,"-title-").concat(r||Kr()):(t["aria-hidden"]="true",t.focusable="false")),t}function Gv(){return{iconName:null,title:null,titleId:null,prefix:null,transform:Ze,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function Rc(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},n=Kv(e),r=n.iconName,i=n.prefix,a=n.rest,o=Qv(e),s=Ns("parseNodeAttributes",{},e),l=t.styleParser?Yv(e):[];return P({iconName:r,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:i,transform:Ze,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:l,attributes:o}},s)}var Xv=He.styles;function Mp(e){var t=T.autoReplaceSvg==="nest"?Rc(e,{styleParser:!1}):Rc(e);return~t.extra.classes.indexOf(xp)?dt("generateLayersText",e,t):dt("generateSvgReplacementMutation",e,t)}var Mt=new Set;Rl.map(function(e){Mt.add("fa-".concat(e))});Object.keys(Hr[V]).map(Mt.add.bind(Mt));Object.keys(Hr[J]).map(Mt.add.bind(Mt));Mt=ei(Mt);function _c(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!mt)return Promise.resolve();var n=B.documentElement.classList,r=function(p){return n.add("".concat(Sc,"-").concat(p))},i=function(p){return n.remove("".concat(Sc,"-").concat(p))},a=T.autoFetchSvg?Mt:Rl.map(function(c){return"fa-".concat(c)}).concat(Object.keys(Xv));a.includes("fa")||a.push("fa");var o=[".".concat(xp,":not([").concat(sn,"])")].concat(a.map(function(c){return".".concat(c,":not([").concat(sn,"])")})).join(", ");if(o.length===0)return Promise.resolve();var s=[];try{s=Gn(e.querySelectorAll(o))}catch{}if(s.length>0)r("pending"),i("complete");else return Promise.resolve();var l=$l.begin("onTree"),u=s.reduce(function(c,p){try{var f=Mp(p);f&&c.push(f)}catch(g){wp||g.name==="MissingIcon"&&console.error(g)}return c},[]);return new Promise(function(c,p){Promise.all(u).then(function(f){zp(f,function(){r("active"),r("complete"),i("pending"),typeof t=="function"&&t(),l(),c()})}).catch(function(f){l(),p(f)})})}function Jv(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;Mp(e).then(function(n){n&&zp([n],t)})}function Zv(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=(t||{}).icon?t:Ps(t||{}),i=n.mask;return i&&(i=(i||{}).icon?i:Ps(i||{})),e(r,P(P({},n),{},{mask:i}))}}var qv=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.transform,i=r===void 0?Ze:r,a=n.symbol,o=a===void 0?!1:a,s=n.mask,l=s===void 0?null:s,u=n.maskId,c=u===void 0?null:u,p=n.title,f=p===void 0?null:p,g=n.titleId,w=g===void 0?null:g,x=n.classes,C=x===void 0?[]:x,m=n.attributes,d=m===void 0?{}:m,h=n.styles,v=h===void 0?{}:h;if(t){var k=t.prefix,E=t.iconName,b=t.icon;return Ba(P({type:"icon"},t),function(){return ln("beforeDOMElementCreation",{iconDefinition:t,params:n}),T.autoA11y&&(f?d["aria-labelledby"]="".concat(T.replacementClass,"-title-").concat(w||Kr()):(d["aria-hidden"]="true",d.focusable="false")),Fl({icons:{main:Os(b),mask:l?Os(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:k,iconName:E,transform:P(P({},Ze),i),symbol:o,title:f,maskId:c,titleId:w,extra:{attributes:d,styles:v,classes:C}})})}},e0={mixout:function(){return{icon:Zv(qv)}},hooks:function(){return{mutationObserverCallbacks:function(n){return n.treeCallback=_c,n.nodeCallback=Jv,n}}},provides:function(t){t.i2svg=function(n){var r=n.node,i=r===void 0?B:r,a=n.callback,o=a===void 0?function(){}:a;return _c(i,o)},t.generateSvgReplacementMutation=function(n,r){var i=r.iconName,a=r.title,o=r.titleId,s=r.prefix,l=r.transform,u=r.symbol,c=r.mask,p=r.maskId,f=r.extra;return new Promise(function(g,w){Promise.all([Ls(i,s),c.iconName?Ls(c.iconName,c.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(x){var C=Ll(x,2),m=C[0],d=C[1];g([n,Fl({icons:{main:m,mask:d},prefix:s,iconName:i,transform:l,symbol:u,maskId:p,title:a,titleId:o,extra:f,watchable:!0})])}).catch(w)})},t.generateAbstractIcon=function(n){var r=n.children,i=n.attributes,a=n.main,o=n.transform,s=n.styles,l=Ua(s);l.length>0&&(i.style=l);var u;return Al(o)&&(u=dt("generateAbstractTransformGrouping",{main:a,transform:o,containerWidth:a.width,iconWidth:a.width})),r.push(u||a.icon),{children:r,attributes:i}}}},t0={mixout:function(){return{layer:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.classes,a=i===void 0?[]:i;return Ba({type:"layer"},function(){ln("beforeDOMElementCreation",{assembler:n,params:r});var o=[];return n(function(s){Array.isArray(s)?s.map(function(l){o=o.concat(l.abstract)}):o=o.concat(s.abstract)}),[{tag:"span",attributes:{class:["".concat(T.cssPrefix,"-layers")].concat(ei(a)).join(" ")},children:o}]})}}}},n0={mixout:function(){return{counter:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.title,a=i===void 0?null:i,o=r.classes,s=o===void 0?[]:o,l=r.attributes,u=l===void 0?{}:l,c=r.styles,p=c===void 0?{}:c;return Ba({type:"counter",content:n},function(){return ln("beforeDOMElementCreation",{content:n,params:r}),Av({content:n.toString(),title:a,extra:{attributes:u,styles:p,classes:["".concat(T.cssPrefix,"-layers-counter")].concat(ei(s))}})})}}}},r0={mixout:function(){return{text:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.transform,a=i===void 0?Ze:i,o=r.title,s=o===void 0?null:o,l=r.classes,u=l===void 0?[]:l,c=r.attributes,p=c===void 0?{}:c,f=r.styles,g=f===void 0?{}:f;return Ba({type:"text",content:n},function(){return ln("beforeDOMElementCreation",{content:n,params:r}),Oc({content:n,transform:P(P({},Ze),a),title:s,extra:{attributes:p,styles:g,classes:["".concat(T.cssPrefix,"-layers-text")].concat(ei(u))}})})}}},provides:function(t){t.generateLayersText=function(n,r){var i=r.title,a=r.transform,o=r.extra,s=null,l=null;if(gp){var u=parseInt(getComputedStyle(n).fontSize,10),c=n.getBoundingClientRect();s=c.width/u,l=c.height/u}return T.autoA11y&&!i&&(o.attributes["aria-hidden"]="true"),Promise.resolve([n,Oc({content:n.innerHTML,width:s,height:l,transform:a,title:i,extra:o,watchable:!0})])}}},i0=new RegExp('"',"ug"),Ac=[1105920,1112319];function a0(e){var t=e.replace(i0,""),n=yv(t,0),r=n>=Ac[0]&&n<=Ac[1],i=t.length===2?t[0]===t[1]:!1;return{value:Es(i?t[0]:t),isSecondary:r||i}}function zc(e,t){var n="".concat(K1).concat(t.replace(":","-"));return new Promise(function(r,i){if(e.getAttribute(n)!==null)return r();var a=Gn(e.children),o=a.filter(function(b){return b.getAttribute(bs)===t})[0],s=zt.getComputedStyle(e,t),l=s.getPropertyValue("font-family").match(Z1),u=s.getPropertyValue("font-weight"),c=s.getPropertyValue("content");if(o&&!l)return e.removeChild(o),r();if(l&&c!=="none"&&c!==""){var p=s.getPropertyValue("content"),f=~["Sharp"].indexOf(l[2])?J:V,g=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(l[2])?Br[f][l[2].toLowerCase()]:q1[f][u],w=a0(p),x=w.value,C=w.isSecondary,m=l[0].startsWith("FontAwesome"),d=Dl(g,x),h=d;if(m){var v=Cv(x);v.iconName&&v.prefix&&(d=v.iconName,g=v.prefix)}if(d&&!C&&(!o||o.getAttribute(Il)!==g||o.getAttribute(jl)!==h)){e.setAttribute(n,h),o&&e.removeChild(o);var k=Gv(),E=k.extra;E.attributes[bs]=t,Ls(d,g).then(function(b){var L=Fl(P(P({},k),{},{icons:{main:b,mask:Ml()},prefix:g,iconName:h,extra:E,watchable:!0})),M=B.createElementNS("http://www.w3.org/2000/svg","svg");t==="::before"?e.insertBefore(M,e.firstChild):e.appendChild(M),M.outerHTML=L.map(function(R){return ni(R)}).join(` +`),e.removeAttribute(n),r()}).catch(i)}else r()}else r()})}function o0(e){return Promise.all([zc(e,"::before"),zc(e,"::after")])}function s0(e){return e.parentNode!==document.head&&!~G1.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(bs)&&(!e.parentNode||e.parentNode.tagName!=="svg")}function Dc(e){if(mt)return new Promise(function(t,n){var r=Gn(e.querySelectorAll("*")).filter(s0).map(o0),i=$l.begin("searchPseudoElements");Dp(),Promise.all(r).then(function(){i(),Is(),t()}).catch(function(){i(),Is(),n()})})}var l0={hooks:function(){return{mutationObserverCallbacks:function(n){return n.pseudoElementsCallback=Dc,n}}},provides:function(t){t.pseudoElements2svg=function(n){var r=n.node,i=r===void 0?B:r;T.searchPseudoElements&&Dc(i)}}},Mc=!1,u0={mixout:function(){return{dom:{unwatch:function(){Dp(),Mc=!0}}}},hooks:function(){return{bootstrap:function(){jc(Ns("mutationObserverCallbacks",{}))},noAuto:function(){Wv()},watch:function(n){var r=n.observeMutationsRoot;Mc?Is():jc(Ns("mutationObserverCallbacks",{observeMutationsRoot:r}))}}}},Fc=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 a=i.toLowerCase().split("-"),o=a[0],s=a.slice(1).join("-");if(o&&s==="h")return r.flipX=!0,r;if(o&&s==="v")return r.flipY=!0,r;if(s=parseFloat(s),isNaN(s))return r;switch(o){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)},c0={mixout:function(){return{parse:{transform:function(n){return Fc(n)}}}},hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-transform");return i&&(n.transform=Fc(i)),n}}},provides:function(t){t.generateAbstractTransformGrouping=function(n){var r=n.main,i=n.transform,a=n.containerWidth,o=n.iconWidth,s={transform:"translate(".concat(a/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),") "),c="rotate(".concat(i.rotate," 0 0)"),p={transform:"".concat(l," ").concat(u," ").concat(c)},f={transform:"translate(".concat(o/2*-1," -256)")},g={outer:s,inner:p,path:f};return{tag:"g",attributes:P({},g.outer),children:[{tag:"g",attributes:P({},g.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:P(P({},r.icon.attributes),g.path)}]}]}}}},bo={x:0,y:0,width:"100%",height:"100%"};function $c(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 f0(e){return e.tag==="g"?e.children:[e]}var d0={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-mask"),a=i?Ha(i.split(" ").map(function(o){return o.trim()})):Ml();return a.prefix||(a.prefix=Dt()),n.mask=a,n.maskId=r.getAttribute("data-fa-mask-id"),n}}},provides:function(t){t.generateAbstractMask=function(n){var r=n.children,i=n.attributes,a=n.main,o=n.mask,s=n.maskId,l=n.transform,u=a.width,c=a.icon,p=o.width,f=o.icon,g=cv({transform:l,containerWidth:p,iconWidth:u}),w={tag:"rect",attributes:P(P({},bo),{},{fill:"white"})},x=c.children?{children:c.children.map($c)}:{},C={tag:"g",attributes:P({},g.inner),children:[$c(P({tag:c.tag,attributes:P(P({},c.attributes),g.path)},x))]},m={tag:"g",attributes:P({},g.outer),children:[C]},d="mask-".concat(s||Kr()),h="clip-".concat(s||Kr()),v={tag:"mask",attributes:P(P({},bo),{},{id:d,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[w,m]},k={tag:"defs",children:[{tag:"clipPath",attributes:{id:h},children:f0(f)},v]};return r.push(k,{tag:"rect",attributes:P({fill:"currentColor","clip-path":"url(#".concat(h,")"),mask:"url(#".concat(d,")")},bo)}),{children:r,attributes:i}}}},p0={provides:function(t){var n=!1;zt.matchMedia&&(n=zt.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){var r=[],i={fill:"currentColor"},a={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};r.push({tag:"path",attributes:P(P({},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 o=P(P({},a),{},{attributeName:"opacity"}),s={tag:"circle",attributes:P(P({},i),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||s.children.push({tag:"animate",attributes:P(P({},a),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:P(P({},o),{},{values:"1;0;1;1;0;1;"})}),r.push(s),r.push({tag:"path",attributes:P(P({},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:P(P({},o),{},{values:"1;0;0;0;0;1;"})}]}),n||r.push({tag:"path",attributes:P(P({},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:P(P({},o),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:r}}}},m0={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-symbol"),a=i===null?!1:i===""?!0:i;return n.symbol=a,n}}}},h0=[pv,e0,t0,n0,r0,l0,u0,c0,d0,p0,m0];Ov(h0,{mixoutsTo:Ie});Ie.noAuto;Ie.config;Ie.library;Ie.dom;var js=Ie.parse;Ie.findIconDefinition;Ie.toHtml;var g0=Ie.icon;Ie.layer;Ie.text;Ie.counter;var Fp={exports:{}},v0="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",y0=v0,w0=y0;function $p(){}function Up(){}Up.resetWarningCache=$p;var x0=function(){function e(r,i,a,o,s,l){if(l!==w0){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:Up,resetWarningCache:$p};return n.PropTypes=n,n};Fp.exports=x0();var k0=Fp.exports;const _=Hc(k0);function Uc(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 Ct(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function b0(e,t){if(e==null)return{};var n=S0(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Rs(e){return E0(e)||C0(e)||N0(e)||P0()}function E0(e){if(Array.isArray(e))return _s(e)}function C0(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function N0(e,t){if(e){if(typeof e=="string")return _s(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 _s(e,t)}}function _s(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 Hp(e,l)}),i=Object.keys(t.attributes||{}).reduce(function(l,u){var c=t.attributes[u];switch(u){case"class":l.attrs.className=c,delete t.attributes.class;break;case"style":l.attrs.style=j0(c);break;default:u.indexOf("aria-")===0||u.indexOf("data-")===0?l.attrs[u.toLowerCase()]=c:l.attrs[Vp(u)]=c}return l},{attrs:{}}),a=n.style,o=a===void 0?{}:a,s=b0(n,T0);return i.attrs.style=Ct(Ct({},i.attrs.style),o),e.apply(void 0,[t.tag,Ct(Ct({},i.attrs),s)].concat(Rs(r)))}var Bp=!1;try{Bp=!0}catch{}function R0(){if(!Bp&&console&&typeof console.error=="function"){var e;(e=console).error.apply(e,arguments)}}function Vc(e){if(e&&ba(e)==="object"&&e.prefix&&e.iconName&&e.icon)return e;if(js.icon)return js.icon(e);if(e===null)return null;if(e&&ba(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 Eo(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?Tn({},e,t):{}}var Ke=_e.forwardRef(function(e,t){var n=e.icon,r=e.mask,i=e.symbol,a=e.className,o=e.title,s=e.titleId,l=e.maskId,u=Vc(n),c=Eo("classes",[].concat(Rs(O0(e)),Rs(a.split(" ")))),p=Eo("transform",typeof e.transform=="string"?js.transform(e.transform):e.transform),f=Eo("mask",Vc(r)),g=g0(u,Ct(Ct(Ct(Ct({},c),p),f),{},{symbol:i,title:o,titleId:s,maskId:l}));if(!g)return R0("Could not find icon",u),null;var w=g.abstract,x={ref:t};return Object.keys(e).forEach(function(C){Ke.defaultProps.hasOwnProperty(C)||(x[C]=e[C])}),_0(w[0],x)});Ke.displayName="FontAwesomeIcon";Ke.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};Ke.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 _0=Hp.bind(null,_e.createElement);function A0(e){const{name:t,onRemove:n}=e;return y.jsxs("div",{className:"flex items-center bg-gray-200 rounded-full px-3 py-1 w-fit",children:[y.jsx("span",{className:"mr-2",children:t}),y.jsx("button",{className:"text-red-500 hover:text-red-700 focus:outline-none",onClick:n,children:y.jsx(Ke,{icon:z1})})]})}const Wp=({text:e,icon:t,onClick:n,className:r,...i})=>y.jsxs("button",{onClick:n,className:`flex items-center justify-center px-4 py-2 rounded-md focus:outline-none focus:ring gap-2 ${r}`,...i,children:[t,e]});function z0(e){return y.jsx("option",{value:e.value,children:e.component})}function D0({options:e,onSelected:t,className:n,value:r}){const i=z.useCallback(a=>{const o=a.currentTarget.value;t==null||t(o)},[t]);return y.jsxs("div",{className:"relative",children:[y.jsx("select",{onChange:i,value:r,className:`block appearance-none w-full bg-transparent border border-dark dark:border-light text-dark dark:text-light py-3 px-4 pr-8 rounded leading-tight focus:outline-none ${n}`,children:e.map(a=>y.jsx(z0,{...a},a.value))}),y.jsx("div",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-dark dark:text-light",children:y.jsx(Ke,{icon:A1})})]})}function M0(e){const t={year:"numeric",month:"long",day:"numeric"};return new Date(e).toLocaleDateString("en-US",t)}const Yp=(e,t)=>{const n={month:"short",year:"numeric"},r=new Intl.DateTimeFormat("en-US",n).format(new Date(e)),i=t?new Intl.DateTimeFormat("en-US",n).format(new Date(t)):"Present";return`${r} - ${i}`},F0=e=>()=>_e.useContext(e),Kp=(e,...t)=>{const n=[],r=[],i=()=>{const o={},s=_e.createContext(o);n.push(s),r.push(F0(s))};return t.length?t.forEach(()=>i()):i(),[({children:o,...s})=>{const l=e(s);let u=o;for(let c=0;cg);u=_e.createElement(p.Provider,{value:f(l)},u)}return u},...r]};function $0(){const[e,t]=z.useState(V0()),n=z.useCallback(()=>{t(r=>!r)},[]);return{darkMode:e,toggleDarkMode:n}}const[U0,Qp]=Kp($0);function V0(){return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}const H0="mattia.pispisa@gmail.com",B0="profile_image.jpg",W0="resume.pdf",Y0=()=>{const{t:e}=sp(),t=z.useCallback(()=>{const n=document.createElement("a");n.href=W0,n.setAttribute("download","resume.pdf"),document.body.appendChild(n),n.click(),document.body.removeChild(n)},[]);return y.jsxs("button",{onClick:t,className:"bg-neutral-600 hover:bg-primary dark:hover:bg-primary-dark text-white flex flex-row gap-2 items-center font-bold uppercase py-2 px-4 rounded focus:outline-none focus:ring focus:bg-primary dark:focus:bg-primary-dark",children:[y.jsx(Ke,{icon:R1}),y.jsx("p",{children:e("curriculum")})]})};function K0(){const[e,t]=_e.useState(()=>window.location.hash),n=_e.useCallback(()=>{t(window.location.hash.replace("#",""))},[]),r=_e.useCallback(i=>{i&&(history.pushState(null,"",`#${i}`),t(i))},[]);return _e.useEffect(()=>(window.addEventListener("hashchange",n),()=>{window.removeEventListener("hashchange",n)}),[]),{hash:e,updateHash:r}}const[Q0,Gp]=Kp(K0);var Xp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});var t="fas",n="up-right-from-square",r=512,i=512,a=["external-link-alt"],o="f35d",s="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";e.definition={prefix:t,iconName:n,icon:[r,i,a,o,s]},e.faUpRightFromSquare=e.definition,e.prefix=t,e.iconName=n,e.width=r,e.height=i,e.ligatures=a,e.unicode=o,e.svgPathData=s,e.aliases=a})(Xp);function Vl(e){const{description:t,footer:n,subtitle:r,title:i,trailing:a,link:o}=e;return y.jsxs("ul",{className:"flex flex-col md:flex-row gap-4 flex-wrap md:flex-nowrap",children:[y.jsxs("div",{className:"grow",children:[o?y.jsx(G0,{link:o,title:i}):y.jsx(X0,{title:i}),r&&y.jsx("div",{className:"uppercase text-xl text-gray-400 mb-4",children:r}),t&&y.jsx("div",{className:"mb-1",children:typeof t=="string"?y.jsx(ge,{children:t}):t}),n&&y.jsx("div",{className:"text-sm",children:n})]}),a&&y.jsx("div",{className:"lg:min-w-52 md:text-right text-primary ",children:a})]})}function G0(e){const{link:t,title:n}=e;return y.jsx("a",{className:"hover:text-primary text-dark dark:text-light dark:hover:text-primary-dark",href:t,target:"_blank",children:y.jsxs("div",{className:"flex flex-row items-center gap-2",children:[y.jsx("h3",{className:"uppercase text-2xl font-bold ",children:n}),y.jsx(Ke,{icon:Xp.faUpRightFromSquare})]})})}function X0(e){return y.jsx(ge,{type:"h3",className:"uppercase text-2xl font-bold ",children:e.title})}function J0({newTab:e=!0,...t}){const{mail:n}=t;return y.jsx("a",{className:"uppercase text-primary dark:text-primary-dark",href:`mailto:${n}`,target:e?"_blank":void 0,children:n})}const Z0="align-middle object-cover rounded-full overflow-clip w-[40px] h-[40px]",q0="md:w-[160px] md:h-[160px]",ey=`${Z0} ${q0}`;function ty(e){const{src:t}=e;return y.jsx("img",{className:ey,alt:"profile-image",src:t})}const ny=()=>{const{darkMode:e,toggleDarkMode:t}=Qp();return y.jsx(Wp,{className:"text-dark dark:text-light transition duration-300 transform hover:scale-110",onClick:t,"aria-label":e?"Switch to light mode":"Switch to dark mode",icon:y.jsx(Ke,{icon:e?_1:D1,size:"2x"})})};function ry(){const{language:e,changeLanguage:t}=qr();return y.jsx(D0,{value:e,onSelected:t,className:" bg-primary dark:bg-primary-dark md:bg-light dark:md:bg-slate-900",options:[{value:"en",component:y.jsx(y.Fragment,{children:"🇺🇸"})},{value:"it",component:y.jsx(y.Fragment,{children:"🇮🇹"})}]})}const iy="flex flex-row gap-4",ay="md:fixed md:top-[10px] md:right-[10px]",oy=`${iy} ${ay}`;function sy(){return y.jsxs("div",{className:oy,children:[y.jsx(ry,{}),y.jsx(ny,{})]})}function ly(e){const{id:t,selected:n,label:r}=e,i=z.useCallback(()=>{const o=document.getElementById(t);o&&o.scrollIntoView({behavior:"smooth"})},[t]),a=()=>{var o;(o=e.onClick)==null||o.call(e),i()};return y.jsx("li",{children:y.jsx("a",{className:"cursor-pointer",onClick:a,children:y.jsx(ge,{className:`text-center text-lg font-bold uppercase text-light hover:opacity-100 ${n?"opacity-100":"opacity-65"}`,children:r})})})}function uy({items:e,open:t,hash:n,onClick:r}){return y.jsx("div",{className:`w-full flex-grow ${t?"block":"hidden"} md:block `,children:y.jsx("ul",{children:e.map(i=>y.jsx("div",{className:"py-2",children:y.jsx(ly,{selected:i.id===n,id:i.id,label:i.label,onClick:r})},i.id))})})}const cy="text-dark dark:text-light",fy="md:hidden",dy=`${cy} ${fy}`;function py({onClick:e}){return y.jsx(Wp,{className:dy,onClick:e,icon:y.jsx(Ke,{icon:j1,size:"2x"})})}const my="fixed right-0 top-0 left-0 p-2 bg-primary dark:bg-primary-dark flex flex-row flex-wrap justify-between items-center",hy="md:w-72 md:h-full md:flex-col",gy=`${my} ${hy}`;function vy(e){const{items:t}=e,{hash:n}=Gp(),[r,i,a]=I1();return y.jsxs("nav",{className:gy,children:[y.jsx("div",{className:"py-3",children:y.jsx(ty,{src:B0})}),y.jsxs("div",{className:"flex flex-row gap-4",children:[y.jsx(sy,{}),y.jsx(py,{onClick:i})]}),y.jsx(uy,{hash:n,items:t,onClick:()=>a(!1),open:r})]})}function yy({centered:e=!0,...t}){const{id:n}=t,[r]=wy(n);return y.jsx("section",{ref:r,className:"p-12 min-h-[100vh] border-b-[1px] dark:border-black flex",id:n,children:y.jsx("div",{className:`${e?"mt-auto mb-auto":""} w-full h-full`,children:t.children})})}function wy(e){const{updateHash:t}=Gp(),{ref:n,isIntersecting:r}=T1({threshold:.3});return z.useEffect(()=>{r&&t(e)},[r]),[n]}function xy({newTab:e=!0,...t}){const{icon:n,link:r}=t;return y.jsx("a",{href:r,target:e?"_blank":void 0,children:y.jsx("div",{className:"rounded-full w-14 h-14 bg-neutral-600 flex items-center justify-center text-light hover:bg-primary dark:hover:bg-primary-dark",children:y.jsx(Ke,{icon:n,size:"2x"})})})}function Hl(e){const{children:t}=e;return y.jsx(ge,{type:"h2",className:"text-6xl uppercase font-bold mb-12 ",children:t})}function ge({type:e="p",className:t="",semantic:n="default",...r}){return _e.createElement(e,{className:`${ky[n]} ${t}`},r.children)}const ky={default:"text-dark dark:text-light",primary:"text-primary dark:text-primary-dark",white:"text-light",dark:"text-dark"};function Sy(e){const{children:t}=e;return y.jsx(ge,{type:"h1",className:"text-8xl uppercase font-bold",children:t})}var Jp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});var t="fab",n="github",r=496,i=512,a=[],o="f09b",s="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z";e.definition={prefix:t,iconName:n,icon:[r,i,a,o,s]},e.faGithub=e.definition,e.prefix=t,e.iconName=n,e.width=r,e.height=i,e.ligatures=a,e.unicode=o,e.svgPathData=s,e.aliases=a})(Jp);var by={prefix:"fab",iconName:"linkedin",icon:[448,512,[],"f08c","M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"]},Ey={prefix:"fab",iconName:"instagram",icon:[448,512,[],"f16d","M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"]},Cy={prefix:"fab",iconName:"dev",icon:[448,512,[],"f6cc","M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z"]},Ny={prefix:"fab",iconName:"twitter",icon:[512,512,[],"f099","M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"]};const Py=[{link:"https://www.linkedin.com/in/mattia-pispisa-252363189",icon:by},{link:"https://github.com/MattiaPispisa",icon:Jp.faGithub},{link:"https://dev.to/mattia",icon:Cy},{link:"https://twitter.com/MattiaPispisa",icon:Ny},{link:"https://www.instagram.com/mattiapispisa",icon:Ey}];function Oy(){const{t:e}=qr();return y.jsxs(y.Fragment,{children:[y.jsx(Sy,{children:y.jsxs(y.Fragment,{children:["Mattia",y.jsx(ge,{type:"span",className:"inline-block",semantic:"primary",children:"Pispisa"})]})}),y.jsx("div",{className:"mb-8",children:y.jsx(J0,{mail:H0})}),y.jsx("div",{className:"mb-8",children:y.jsx(ge,{children:e("myInfo")})}),y.jsx("div",{className:"flex flex-row gap-x-4 mb-8",children:Py.map(t=>y.jsx(xy,{link:t.link,icon:t.icon},t.link))}),y.jsx(Y0,{})]})}const Ly=e=>[{degree:e("masterDegree"),university:"Università degli studi di Udine",description:y.jsxs(y.Fragment,{children:[y.jsx(ge,{children:e("masterDegreeDesc")}),y.jsx(ge,{children:y.jsxs(y.Fragment,{children:[e("masterDegreeVote"),y.jsx("b",{children:"110/110"}),e("masterDegreeBestGraduate")]})}),y.jsx("img",{alt:"merito",src:"merito.jpeg",className:"object-contain w-fit h-[100px]"})]}),start:"2019-10-01",end:"2021-10-01"},{degree:e("bachelorDegree"),university:"Università degli studi di Udine",description:y.jsxs(y.Fragment,{children:[y.jsx(ge,{children:e("bachelorDegreeDesc")}),y.jsx(ge,{children:y.jsxs(y.Fragment,{children:[e("bachelorDegreeVote"),y.jsx("b",{children:"110/110"})]})})]}),start:"2016-10-01",end:"2019-10-01"},{degree:e("diploma"),university:"ISIS Arturo Malignani",description:y.jsx(ge,{children:e("diplomaText")}),start:"2012",end:"2016"}];function Ty(){const{t:e}=qr();return y.jsxs(y.Fragment,{children:[y.jsx(Hl,{children:y.jsx(y.Fragment,{children:e("education")})}),y.jsx("div",{className:"flex flex-col gap-y-12",children:Ly(e).map((t,n)=>y.jsx(Vl,{title:t.degree,subtitle:t.university,description:t.description,trailing:Yp(t.start,t.end)},n))})]})}const Iy=e=>[{application:e("mvExperience"),company:"MVLabs",description:y.jsxs(y.Fragment,{children:[y.jsx(ge,{children:e("mvExperienceWeb")}),y.jsx(ge,{children:e("mvExperienceMob")})]}),start:"2021-02-01"},{application:e("tecnotronicaExperience"),company:"TECNOTRONICA S.A.S.",description:y.jsx(ge,{children:y.jsxs(y.Fragment,{children:[e("tecnotronicaExperienceDesc"),y.jsxs("ul",{children:[y.jsx("li",{className:"ml-4 list-disc",children:e("tecnotronicaExperienceDescWeb")}),y.jsx("li",{className:"ml-4 list-disc",children:e("tecnotronicaExperienceDescBe")})]})]})}),start:"2022-11-01",end:"2023-05-01"},{application:e("archeidoExperience"),company:"Archeido",start:"2019-07-01",end:"2020-03-01"},{application:e("fillInTheBlanksExperience"),company:"Fill In The Blanks s.r.l.",start:"2015-06-01",end:"2015-07-01"}];function jy(){const{t:e}=qr();return y.jsxs(y.Fragment,{children:[y.jsx(Hl,{children:"Experience"}),y.jsx("div",{className:"flex flex-col gap-y-12",children:Iy(e).map((t,n)=>y.jsx(Vl,{title:t.application,subtitle:t.company,description:t.description,trailing:Yp(t.start,t.end)},n))})]})}const Ry=[{link:"https://dev.to/mattia/flutter-not-yet-ready-for-web-1jm6",title:"Flutter, not yet ready for web",description:"Starting from a code example that had a particular bug will be explored the source code of react focusing especially on hooks and fiber nodes.",date:"2023-12-12",hashtags:["flutter","dart","javascript"]},{link:"https://dev.to/mattia/react-hooks-and-fiber-deep-diving-gi1",title:"React Hooks and Fiber deep diving",description:"Starting from a code example that had a particular bug will be explored the source code of react focusing especially on hooks and fiber nodes.",date:"2023-10-28",hashtags:["react","javascript"]},{link:"https://dev.to/mattia/flutter-monorepo-dependency-injection-1k1d",title:"Flutter Monorepo & Dependency Injection",description:"Monorepo refers to the practice of software development in which all components of an application or system are maintained within a single repository. A good article that describes well what it is, pros and cons is the following: monorepo.tools. In the case of a flutter application an excellent monorepo manager is Melos, here a tutorial on how to create and manage it.",date:"2023-10-10",hashtags:["flutter","dart","dependencyinjection"]},{link:"https://dev.to/mattia/mastering-dependency-injection-in-flutter-13bh",title:"Mastering dependency injection in Flutter",description:"One of the 5 SOLI D principles capitulates that a high-level module should depend only on abstract class not on the implementation. This leads to less coupling between modules. In this article we will focus on how to apply this pattern in flutter.",date:"2023-08-10",hashtags:["flutter","dart","dependencyinjection"]}];function _y(){const[e,t]=z.useState({}),n=z.useMemo(()=>Object.entries(e).filter(([,s])=>s).map(([s])=>s),[e]),r=z.useMemo(()=>Object.values(e).filter(s=>s).length===0,[e]),i=z.useCallback(s=>{t(l=>({...l,[s]:!0}))},[]),a=z.useCallback(s=>{t(l=>({...l,[s]:!1}))},[]),o=z.useCallback(s=>s.hashtags.some(l=>e[l])||r,[e,r]);return y.jsxs(y.Fragment,{children:[y.jsx(Hl,{children:y.jsx("p",{children:"Post"})}),y.jsx("div",{className:"flex flex-row gap-2 mb-2",children:n.map(s=>y.jsx(A0,{name:s,onRemove:()=>a(s)},s))}),y.jsx("li",{className:"flex flex-col gap-y-12",children:Ry.map(s=>o(s)?y.jsx(Vl,{link:s.link,title:s.title,description:s.description,trailing:M0(s.date),footer:y.jsx("div",{className:"flex flex-row gap-2",children:s.hashtags.map(l=>y.jsx(L1,{label:`#${l}`,onClick:()=>i(l)},l))})},s.link):y.jsx(_e.Fragment,{},s.link))})]})}const Ay=e=>[{id:"about",label:e("about"),component:y.jsx(Oy,{})},{id:"post",label:e("post"),component:y.jsx(_y,{}),centered:!1},{id:"experience",label:e("experience"),component:y.jsx(jy,{})},{id:"education",label:e("education"),component:y.jsx(Ty,{})}];function zy(){const{darkMode:e}=Qp(),{t}=qr(),n=z.useMemo(()=>Ay(t),[t]);return y.jsxs("div",{className:e?"dark":"",children:[y.jsx(vy,{items:n}),y.jsx(O1,{children:y.jsx(y.Fragment,{children:n.map(r=>y.jsx(yy,{centered:r.centered,id:r.id,children:r.component},r.id))})})]})}P1().then(()=>{Co.createRoot(document.getElementById("root")).render(y.jsx(_e.StrictMode,{children:y.jsx(U0,{children:y.jsx(Q0,{children:y.jsx(zy,{})})})}))}); diff --git a/assets/index-CAX25OJW.css b/assets/index-CAX25OJW.css new file mode 100644 index 0000000..c1eb087 --- /dev/null +++ b/assets/index-CAX25OJW.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mb-auto{margin-bottom:auto}.ml-4{margin-left:1rem}.mr-2{margin-right:.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.h-14{height:3.5rem}.h-\[100px\]{height:100px}.h-\[40px\]{height:40px}.h-full{height:100%}.min-h-14{min-height:3.5rem}.min-h-\[100vh\]{min-height:100vh}.w-14{width:3.5rem}.w-\[40px\]{width:40px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.flex-grow,.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-12{row-gap:3rem}.overflow-hidden{overflow:hidden}.overflow-clip{overflow:clip}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b-\[1px\]{border-bottom-width:1px}.border-dark{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-neutral-600{--tw-bg-opacity: 1;background-color:rgb(82 82 82 / var(--tw-bg-opacity))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(208 72 72 / var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-12{padding:3rem}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-\[1em\]{font-size:1em}.text-\[2em\]{font-size:2em}.text-\[3em\]{font-size:3em}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.leading-tight{line-height:1.25}.text-dark{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-light{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.text-primary{--tw-text-opacity: 1;color:rgb(208 72 72 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-100{opacity:1}.opacity-65{opacity:.65}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.hover\:bg-primary:hover{--tw-bg-opacity: 1;background-color:rgb(208 72 72 / var(--tw-bg-opacity))}.hover\:text-\[2em\]:hover{font-size:2em}.hover\:text-\[3em\]:hover{font-size:3em}.hover\:text-primary:hover{--tw-text-opacity: 1;color:rgb(208 72 72 / var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.hover\:opacity-100:hover{opacity:1}.focus\:bg-gray-300:focus{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.focus\:bg-primary:focus{--tw-bg-opacity: 1;background-color:rgb(208 72 72 / var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}:is(.dark .dark\:border-black){--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}:is(.dark .dark\:border-light){--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}:is(.dark .dark\:bg-primary-dark){--tw-bg-opacity: 1;background-color:rgb(130 39 39 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-900){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:text-light){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}:is(.dark .dark\:text-primary-dark){--tw-text-opacity: 1;color:rgb(130 39 39 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:bg-primary-dark:hover){--tw-bg-opacity: 1;background-color:rgb(130 39 39 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-primary-dark:hover){--tw-text-opacity: 1;color:rgb(130 39 39 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:bg-primary-dark:focus){--tw-bg-opacity: 1;background-color:rgb(130 39 39 / var(--tw-bg-opacity))}@media (min-width: 768px){.md\:fixed{position:fixed}.md\:right-\[10px\]{right:10px}.md\:top-\[10px\]{top:10px}.md\:ml-72{margin-left:18rem}.md\:block{display:block}.md\:hidden{display:none}.md\:h-\[160px\]{height:160px}.md\:h-full{height:100%}.md\:w-72{width:18rem}.md\:w-\[160px\]{width:160px}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:flex-nowrap{flex-wrap:nowrap}.md\:bg-light{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.md\:text-right{text-align:right}:is(.dark .dark\:md\:bg-slate-900){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}}@media (min-width: 1024px){.lg\:min-w-52{min-width:13rem}}@font-face{font-family:devicon;src:url(/assets/devicon-BwTrXM5G.ttf?iehcku) format("truetype"),url(/assets/devicon-D0iwJE0M.woff?iehcku) format("woff"),url(/assets/devicon-DBhpxM3S.svg?iehcku#devicon) format("svg");font-weight:400;font-style:normal;font-display:block}[class^=devicon-],[class*=" devicon-"]{font-family:devicon!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.devicon-aarch64-line:before,.devicon-aarch64-line-wordmark:before{content:""}.devicon-aarch64-plain:before,.devicon-aarch64-plain-wordmark:before{content:""}.devicon-adonisjs-original:before,.devicon-adonisjs-plain:before{content:""}.devicon-adonisjs-original-wordmark:before,.devicon-adonisjs-plain-wordmark:before{content:""}.devicon-aftereffects-plain:before{content:""}.devicon-akka-plain:before{content:""}.devicon-akka-plain-wordmark:before{content:""}.devicon-algolia-original:before{content:""}.devicon-algolia-original-wordmark:before{content:""}.devicon-alpinejs-original:before,.devicon-alpinejs-plain:before{content:""}.devicon-alpinejs-original-wordmark:before,.devicon-alpinejs-plain-wordmark:before{content:""}.devicon-amazonwebservices-line-wordmark:before,.devicon-amazonwebservices-line:before{content:""}.devicon-amazonwebservices-plain-wordmark:before,.devicon-amazonwebservices-plain:before{content:""}.devicon-anaconda-original:before,.devicon-anaconda-plain:before{content:""}.devicon-anaconda-original-wordmark:before,.devicon-anaconda-plain-wordmark:before{content:""}.devicon-android-plain:before{content:""}.devicon-android-plain-wordmark:before{content:""}.devicon-androidstudio-plain:before{content:""}.devicon-androidstudio-plain-wordmark:before{content:""}.devicon-angularjs-plain:before{content:""}.devicon-angularjs-plain-wordmark:before{content:""}.devicon-angularmaterial-plain:before{content:""}.devicon-angular-plain:before{content:""}.devicon-angular-plain-wordmark:before{content:""}.devicon-ansible-plain:before{content:""}.devicon-ansible-plain-wordmark:before{content:""}.devicon-antdesign-plain:before{content:""}.devicon-antdesign-plain-wordmark:before{content:""}.devicon-apacheairflow-plain:before{content:""}.devicon-apacheairflow-plain-wordmark:before{content:""}.devicon-apachekafka-original:before,.devicon-apachekafka-plain:before{content:""}.devicon-apachekafka-original-wordmark:before,.devicon-apachekafka-plain-wordmark:before{content:""}.devicon-apache-line:before{content:""}.devicon-apache-line-wordmark:before{content:""}.devicon-apache-plain:before{content:""}.devicon-apache-plain-wordmark:before{content:""}.devicon-apachespark-original:before,.devicon-apachespark-plain:before{content:""}.devicon-apachespark-plain-wordmark:before{content:""}.devicon-apl-plain:before{content:""}.devicon-appcelerator-original:before,.devicon-appcelerator-plain:before{content:""}.devicon-appcelerator-plain-wordmark:before{content:""}.devicon-apple-original:before,.devicon-apple-plain:before{content:""}.devicon-appwrite-plain:before,.devicon-appwrite-original:before{content:""}.devicon-appwrite-plain-wordmark:before,.devicon-appwrite-original-wordmark:before{content:""}.devicon-archlinux-plain:before{content:""}.devicon-archlinux-plain-wordmark:before{content:""}.devicon-arduino-plain:before{content:""}.devicon-arduino-plain-wordmark:before{content:""}.devicon-argocd-plain:before{content:""}.devicon-argocd-plain-wordmark:before{content:""}.devicon-astro-plain:before{content:""}.devicon-astro-plain-wordmark:before{content:""}.devicon-atom-original:before,.devicon-atom-plain:before{content:""}.devicon-atom-original-wordmark:before,.devicon-atom-plain-wordmark:before{content:""}.devicon-awk-plain-wordmark:before,.devicon-awk-plain:before{content:""}.devicon-axios-plain:before{content:""}.devicon-axios-plain-wordmark:before{content:""}.devicon-azuredevops-plain:before{content:""}.devicon-azure-plain:before{content:""}.devicon-azure-plain-wordmark:before{content:""}.devicon-azuresqldatabase-plain:before{content:""}.devicon-babel-plain:before,.devicon-babel-original:before{content:""}.devicon-backbonejs-plain:before{content:""}.devicon-backbonejs-plain-wordmark:before{content:""}.devicon-ballerina-line:before{content:""}.devicon-ballerina-line-wordmark:before{content:""}.devicon-ballerina-original:before,.devicon-ballerina-plain:before{content:""}.devicon-ballerina-original-wordmark:before,.devicon-ballerina-plain-wordmark:before{content:""}.devicon-bamboo-original:before,.devicon-bamboo-plain:before{content:""}.devicon-bamboo-original-wordmark:before,.devicon-bamboo-plain-wordmark:before{content:""}.devicon-bash-plain:before{content:""}.devicon-beats-plain:before{content:""}.devicon-behance-plain:before{content:""}.devicon-behance-plain-wordmark:before{content:""}.devicon-bitbucket-original:before,.devicon-bitbucket-plain:before{content:""}.devicon-bitbucket-original-wordmark:before,.devicon-bitbucket-plain-wordmark:before{content:""}.devicon-blazor-line:before{content:""}.devicon-blazor-original:before,.devicon-blazor-plain:before{content:""}.devicon-blender-original:before{content:""}.devicon-blender-original-wordmark:before{content:""}.devicon-bootstrap-plain:before{content:""}.devicon-bootstrap-plain-wordmark:before{content:""}.devicon-bower-line:before{content:""}.devicon-bower-line-wordmark:before{content:""}.devicon-bower-plain:before{content:""}.devicon-bower-plain-wordmark:before{content:""}.devicon-browserstack-line:before{content:""}.devicon-browserstack-line-wordmark:before{content:""}.devicon-browserstack-plain:before{content:""}.devicon-browserstack-plain-wordmark:before{content:""}.devicon-bulma-plain:before{content:""}.devicon-bun-line:before{content:""}.devicon-bun-plain:before{content:""}.devicon-cairo-plain:before{content:""}.devicon-cairo-plain-wordmark:before{content:""}.devicon-cakephp-plain:before{content:""}.devicon-cakephp-plain-wordmark:before{content:""}.devicon-canva-original:before,.devicon-canva-plain:before{content:""}.devicon-capacitor-plain:before{content:""}.devicon-capacitor-plain-wordmark:before{content:""}.devicon-carbon-original:before,.devicon-carbon-plain:before{content:""}.devicon-cassandra-plain:before{content:""}.devicon-cassandra-plain-wordmark:before{content:""}.devicon-centos-plain:before{content:""}.devicon-centos-plain-wordmark:before{content:""}.devicon-ceylon-plain:before{content:""}.devicon-ceylon-plain-wordmark:before{content:""}.devicon-chrome-plain:before{content:""}.devicon-chrome-plain-wordmark:before{content:""}.devicon-circleci-plain:before{content:""}.devicon-circleci-plain-wordmark:before{content:""}.devicon-clarity-plain:before{content:""}.devicon-clarity-plain-wordmark:before{content:""}.devicon-c-line:before,.devicon-c-line-wordmark:before{content:""}.devicon-clion-plain:before{content:""}.devicon-clion-plain-wordmark:before{content:""}.devicon-clojure-line:before,.devicon-clojure-plain:before{content:""}.devicon-clojurescript-plain:before{content:""}.devicon-cloudflare-plain:before{content:""}.devicon-cloudflare-plain-wordmark:before{content:""}.devicon-cloudflareworkers-plain:before{content:""}.devicon-cloudflareworkers-plain-wordmark:before{content:""}.devicon-cmake-plain:before{content:""}.devicon-cmake-plain-wordmark:before{content:""}.devicon-codeac-original:before{content:""}.devicon-codecov-plain:before{content:""}.devicon-codeigniter-plain:before{content:""}.devicon-codeigniter-plain-wordmark:before{content:""}.devicon-codepen-line:before{content:""}.devicon-codepen-line-wordmark:before{content:""}.devicon-codepen-original:before,.devicon-codepen-plain:before{content:""}.devicon-codepen-original-wordmark:before,.devicon-codepen-plain-wordmark:before{content:""}.devicon-coffeescript-original:before,.devicon-coffeescript-plain:before{content:""}.devicon-coffeescript-original-wordmark:before,.devicon-coffeescript-plain-wordmark:before{content:""}.devicon-composer-line:before,.devicon-composer-plain:before{content:""}.devicon-composer-line-wordmark:before,.devicon-composer-plain-wordmark:before{content:""}.devicon-confluence-line:before{content:""}.devicon-confluence-line-wordmark:before{content:""}.devicon-confluence-plain:before{content:""}.devicon-confluence-plain-wordmark:before{content:""}.devicon-consul-original:before,.devicon-consul-plain:before{content:""}.devicon-consul-plain-wordmark:before{content:""}.devicon-contao-original:before{content:""}.devicon-contao-original-wordmark:before{content:""}.devicon-corejs-original:before,.devicon-corejs-plain:before{content:""}.devicon-corejs-original-wordmark:before,.devicon-corejs-plain-wordmark:before{content:""}.devicon-cosmosdb-plain:before{content:""}.devicon-cosmosdb-plain-wordmark:before{content:""}.devicon-couchbase-original:before,.devicon-couchbase-plain:before{content:""}.devicon-couchbase-plain-wordmark:before{content:""}.devicon-couchdb-plain:before{content:""}.devicon-couchdb-plain-wordmark:before{content:""}.devicon-c-plain:before,.devicon-c-plain-wordmark:before{content:""}.devicon-cplusplus-line:before,.devicon-cplusplus-line-wordmark:before{content:""}.devicon-cplusplus-plain:before,.devicon-cplusplus-plain-wordmark:before{content:""}.devicon-crystal-line:before{content:""}.devicon-crystal-line-wordmark:before{content:""}.devicon-crystal-original:before,.devicon-crystal-plain:before{content:""}.devicon-crystal-original-wordmark:before,.devicon-crystal-plain-wordmark:before{content:""}.devicon-csharp-line:before,.devicon-csharp-line-wordmark:before{content:""}.devicon-csharp-plain:before,.devicon-csharp-plain-wordmark:before{content:""}.devicon-css3-plain:before{content:""}.devicon-css3-plain-wordmark:before{content:""}.devicon-cucumber-plain:before{content:""}.devicon-cucumber-plain-wordmark:before{content:""}.devicon-cypressio-line:before{content:""}.devicon-cypressio-line-wordmark:before{content:""}.devicon-cypressio-plain:before{content:""}.devicon-cypressio-plain-wordmark:before{content:""}.devicon-d3js-plain:before{content:""}.devicon-dart-plain:before{content:""}.devicon-dart-plain-wordmark:before{content:""}.devicon-datagrip-plain:before{content:""}.devicon-datagrip-plain-wordmark:before{content:""}.devicon-dataspell-plain:before{content:""}.devicon-dataspell-plain-wordmark:before{content:""}.devicon-dbeaver-plain:before{content:""}.devicon-debian-plain:before{content:""}.devicon-debian-plain-wordmark:before{content:""}.devicon-denojs-original:before,.devicon-denojs-plain:before{content:""}.devicon-denojs-original-wordmark:before,.devicon-denojs-plain-wordmark:before{content:""}.devicon-devicon-line:before{content:""}.devicon-devicon-line-wordmark:before{content:""}.devicon-devicon-plain:before{content:""}.devicon-devicon-plain-wordmark:before{content:""}.devicon-digitalocean-original:before,.devicon-digitalocean-plain:before{content:""}.devicon-digitalocean-original-wordmark:before,.devicon-digitalocean-plain-wordmark:before{content:""}.devicon-discordjs-plain:before{content:""}.devicon-discordjs-plain-wordmark:before{content:""}.devicon-django-plain:before{content:""}.devicon-django-plain-wordmark:before{content:""}.devicon-djangorest-line:before{content:""}.devicon-djangorest-line-wordmark:before{content:""}.devicon-djangorest-plain:before{content:""}.devicon-djangorest-plain-wordmark:before{content:""}.devicon-docker-plain:before{content:""}.devicon-docker-plain-wordmark:before{content:""}.devicon-doctrine-line:before{content:""}.devicon-doctrine-line-wordmark:before{content:""}.devicon-doctrine-plain:before{content:""}.devicon-doctrine-plain-wordmark:before{content:""}.devicon-dotnetcore-plain:before{content:""}.devicon-dot-net-plain:before{content:""}.devicon-dot-net-plain-wordmark:before{content:""}.devicon-dreamweaver-line:before{content:""}.devicon-dreamweaver-plain:before{content:""}.devicon-dropwizard-plain:before{content:""}.devicon-drupal-plain:before{content:""}.devicon-drupal-plain-wordmark:before{content:""}.devicon-dynamodb-plain:before{content:""}.devicon-eclipse-plain:before{content:""}.devicon-eclipse-plain-wordmark:before{content:""}.devicon-ecto-original:before,.devicon-ecto-plain:before{content:""}.devicon-ecto-plain-wordmark:before{content:""}.devicon-elasticsearch-plain:before{content:""}.devicon-elasticsearch-plain-wordmark:before{content:""}.devicon-electron-original:before{content:""}.devicon-electron-original-wordmark:before{content:""}.devicon-eleventy-plain:before{content:""}.devicon-elixir-plain:before{content:""}.devicon-elixir-plain-wordmark:before{content:""}.devicon-elm-plain:before{content:""}.devicon-elm-plain-wordmark:before{content:""}.devicon-emacs-original:before{content:""}.devicon-embeddedc-plain:before{content:""}.devicon-embeddedc-plain-wordmark:before{content:""}.devicon-ember-original-wordmark:before,.devicon-ember-plain-wordmark:before{content:""}.devicon-ember-plain:before{content:""}.devicon-envoy-plain:before{content:""}.devicon-envoy-plain-wordmark:before{content:""}.devicon-erlang-plain:before{content:""}.devicon-erlang-plain-wordmark:before{content:""}.devicon-eslint-line:before{content:""}.devicon-eslint-line-wordmark:before{content:""}.devicon-eslint-plain:before{content:""}.devicon-eslint-plain-wordmark:before{content:""}.devicon-express-original:before{content:""}.devicon-express-original-wordmark:before{content:""}.devicon-facebook-plain:before,.devicon-facebook-original:before{content:""}.devicon-fastapi-plain:before{content:""}.devicon-fastapi-plain-wordmark:before{content:""}.devicon-fastify-plain:before{content:""}.devicon-fastify-plain-wordmark:before{content:""}.devicon-faunadb-line:before{content:""}.devicon-faunadb-line-wordmark:before{content:""}.devicon-faunadb-original:before,.devicon-faunadb-plain:before{content:""}.devicon-faunadb-original-wordmark:before,.devicon-faunadb-plain-wordmark:before{content:""}.devicon-feathersjs-original:before{content:""}.devicon-fedora-plain:before{content:""}.devicon-figma-plain:before{content:""}.devicon-filezilla-line:before{content:""}.devicon-filezilla-line-wordmark:before{content:""}.devicon-filezilla-plain:before{content:""}.devicon-filezilla-plain-wordmark:before{content:""}.devicon-firebase-line:before{content:""}.devicon-firebase-line-wordmark:before{content:""}.devicon-firebase-plain:before{content:""}.devicon-firebase-plain-wordmark:before{content:""}.devicon-firefox-plain:before{content:""}.devicon-firefox-plain-wordmark:before{content:""}.devicon-flask-original:before,.devicon-flask-plain:before{content:""}.devicon-flask-original-wordmark:before,.devicon-flask-plain-wordmark:before{content:""}.devicon-flutter-plain:before{content:""}.devicon-fortran-original:before{content:""}.devicon-foundation-plain:before{content:""}.devicon-foundation-plain-wordmark:before{content:""}.devicon-framermotion-original:before,.devicon-framermotion-plain:before{content:""}.devicon-framermotion-original-wordmark:before,.devicon-framermotion-plain-wordmark:before{content:""}.devicon-framework7-original:before,.devicon-framework7-plain:before{content:""}.devicon-framework7-original-wordmark:before,.devicon-framework7-plain-wordmark:before{content:""}.devicon-fsharp-plain:before{content:""}.devicon-gatling-line:before{content:""}.devicon-gatling-line-wordmark:before{content:""}.devicon-gatling-original:before,.devicon-gatling-plain:before{content:""}.devicon-gatling-plain-wordmark:before{content:""}.devicon-gatsby-original:before,.devicon-gatsby-plain:before{content:""}.devicon-gatsby-plain-wordmark:before{content:""}.devicon-gazebo-plain:before{content:""}.devicon-gazebo-plain-wordmark:before{content:""}.devicon-gcc-line:before,.devicon-gcc-line-wordmark:before{content:""}.devicon-gcc-plain:before,.devicon-gcc-plain-wordmark:before{content:""}.devicon-gentoo-line:before{content:""}.devicon-gentoo-line-wordmark:before{content:""}.devicon-gentoo-plain:before{content:""}.devicon-gentoo-plain-wordmark:before{content:""}.devicon-ghost-original:before{content:""}.devicon-ghost-original-wordmark:before{content:""}.devicon-gimp-line:before{content:""}.devicon-gimp-line-wordmark:before{content:""}.devicon-gimp-plain:before{content:""}.devicon-gimp-plain-wordmark:before{content:""}.devicon-gitbook-line:before{content:""}.devicon-gitbook-line-wordmark:before{content:""}.devicon-gitbook-original:before,.devicon-gitbook-plain:before{content:""}.devicon-gitbook-original-wordmark:before,.devicon-gitbook-plain-wordmark:before{content:""}.devicon-githubactions-plain:before{content:""}.devicon-githubcodespaces-plain:before{content:""}.devicon-github-original:before,.devicon-github-plain:before{content:""}.devicon-github-original-wordmark:before{content:""}.devicon-gitlab-plain:before{content:""}.devicon-gitlab-plain-wordmark:before{content:""}.devicon-git-plain:before{content:""}.devicon-git-plain-wordmark:before{content:""}.devicon-gitpod-plain:before{content:""}.devicon-gitpod-plain-wordmark:before{content:""}.devicon-gitter-plain:before{content:""}.devicon-gitter-plain-wordmark:before{content:""}.devicon-godot-plain:before{content:""}.devicon-godot-plain-wordmark:before{content:""}.devicon-goland-plain:before{content:""}.devicon-goland-plain-wordmark:before{content:""}.devicon-go-line:before{content:""}.devicon-googlecloud-plain:before{content:""}.devicon-googlecloud-plain-wordmark:before{content:""}.devicon-google-plain:before,.devicon-google-original:before{content:""}.devicon-google-plain-wordmark:before,.devicon-google-original-wordmark:before{content:""}.devicon-go-original-wordmark:before,.devicon-go-plain-wordmark:before{content:""}.devicon-go-plain:before{content:""}.devicon-gradle-original:before,.devicon-gradle-plain:before{content:""}.devicon-gradle-original-wordmark:before,.devicon-gradle-plain-wordmark:before{content:""}.devicon-grafana-line:before{content:""}.devicon-grafana-line-wordmark:before{content:""}.devicon-grafana-plain:before{content:""}.devicon-grafana-plain-wordmark:before{content:""}.devicon-grails-plain:before{content:""}.devicon-graphql-plain:before{content:""}.devicon-graphql-plain-wordmark:before{content:""}.devicon-groovy-plain:before{content:""}.devicon-grpc-plain:before{content:""}.devicon-grunt-line:before{content:""}.devicon-grunt-line-wordmark:before{content:""}.devicon-grunt-plain:before{content:""}.devicon-grunt-plain-wordmark:before{content:""}.devicon-gulp-plain:before{content:""}.devicon-hadoop-plain:before,.devicon-hadoop-line:before{content:""}.devicon-hadoop-plain-wordmark:before,.devicon-hadoop-line-wordmark:before{content:""}.devicon-handlebars-line:before{content:""}.devicon-handlebars-line-wordmark:before{content:""}.devicon-handlebars-original:before,.devicon-handlebars-plain:before{content:""}.devicon-handlebars-original-wordmark:before,.devicon-handlebars-plain-wordmark:before{content:""}.devicon-hardhat-plain:before{content:""}.devicon-hardhat-plain-wordmark:before{content:""}.devicon-harvester-original:before,.devicon-harvester-plain:before{content:""}.devicon-harvester-plain-wordmark:before{content:""}.devicon-haskell-plain:before{content:""}.devicon-haskell-plain-wordmark:before{content:""}.devicon-haxe-plain:before{content:""}.devicon-helm-line:before{content:""}.devicon-helm-original:before,.devicon-helm-plain:before{content:""}.devicon-heroku-original:before,.devicon-heroku-line:before{content:""}.devicon-heroku-original-wordmark:before,.devicon-heroku-line-wordmark:before{content:""}.devicon-heroku-plain:before{content:""}.devicon-heroku-plain-wordmark:before{content:""}.devicon-hibernate-plain:before{content:""}.devicon-hibernate-plain-wordmark:before{content:""}.devicon-homebrew-line:before{content:""}.devicon-homebrew-line-wordmark:before{content:""}.devicon-homebrew-plain:before{content:""}.devicon-homebrew-plain-wordmark:before{content:""}.devicon-html5-plain:before{content:""}.devicon-html5-plain-wordmark:before{content:""}.devicon-hugo-plain:before{content:""}.devicon-hugo-plain-wordmark:before{content:""}.devicon-ie10-original:before,.devicon-ie10-plain:before{content:""}.devicon-ifttt-original:before,.devicon-ifttt-plain:before{content:""}.devicon-illustrator-line:before{content:""}.devicon-illustrator-plain:before{content:""}.devicon-influxdb-original:before,.devicon-influxdb-plain:before{content:""}.devicon-influxdb-original-wordmark:before,.devicon-influxdb-plain-wordmark:before{content:""}.devicon-inkscape-plain:before{content:""}.devicon-inkscape-plain-wordmark:before{content:""}.devicon-insomnia-plain:before{content:""}.devicon-insomnia-plain-wordmark:before{content:""}.devicon-intellij-plain:before{content:""}.devicon-intellij-plain-wordmark:before{content:""}.devicon-ionic-original:before{content:""}.devicon-ionic-original-wordmark:before{content:""}.devicon-jaegertracing-plain:before{content:""}.devicon-jaegertracing-plain-wordmark:before{content:""}.devicon-jamstack-original:before,.devicon-jamstack-plain:before{content:""}.devicon-jamstack-plain-wordmark:before{content:""}.devicon-jasmine-original:before,.devicon-jasmine-plain:before{content:""}.devicon-jasmine-original-wordmark:before,.devicon-jasmine-plain-wordmark:before{content:""}.devicon-java-plain:before{content:""}.devicon-java-plain-wordmark:before{content:""}.devicon-javascript-plain:before{content:""}.devicon-jeet-plain:before{content:""}.devicon-jeet-plain-wordmark:before{content:""}.devicon-jekyll-plain:before{content:""}.devicon-jekyll-plain-wordmark:before{content:""}.devicon-jenkins-line:before{content:""}.devicon-jenkins-plain:before{content:""}.devicon-jest-plain:before{content:""}.devicon-jetbrains-plain:before{content:""}.devicon-jetpackcompose-line:before{content:""}.devicon-jetpackcompose-line-wordmark:before{content:""}.devicon-jetpackcompose-plain:before{content:""}.devicon-jetpackcompose-plain-wordmark:before{content:""}.devicon-jiraalign-plain:before{content:""}.devicon-jiraalign-plain-wordmark:before{content:""}.devicon-jira-plain:before{content:""}.devicon-jira-plain-wordmark:before{content:""}.devicon-jquery-plain:before{content:""}.devicon-jquery-plain-wordmark:before{content:""}.devicon-json-plain:before{content:""}.devicon-jule-original:before,.devicon-jule-plain:before{content:""}.devicon-jule-original-wordmark:before,.devicon-jule-plain-wordmark:before{content:""}.devicon-julia-plain:before{content:""}.devicon-julia-plain-wordmark:before{content:""}.devicon-junit-line:before{content:""}.devicon-junit-line-wordmark:before{content:""}.devicon-junit-plain:before{content:""}.devicon-junit-plain-wordmark:before{content:""}.devicon-jupyter-plain:before{content:""}.devicon-jupyter-plain-wordmark:before{content:""}.devicon-k3os-line:before{content:""}.devicon-k3os-line-wordmark:before{content:""}.devicon-k3os-original:before,.devicon-k3os-plain:before{content:""}.devicon-k3os-plain-wordmark:before{content:""}.devicon-k3s-original:before,.devicon-k3s-plain:before{content:""}.devicon-k3s-plain-wordmark:before{content:""}.devicon-k6-original:before,.devicon-k6-plain:before{content:""}.devicon-kaggle-original:before,.devicon-kaggle-plain:before{content:""}.devicon-kaggle-original-wordmark:before,.devicon-kaggle-plain-wordmark:before{content:""}.devicon-karatelabs-plain:before{content:""}.devicon-karatelabs-plain-wordmark:before{content:""}.devicon-karma-plain:before{content:""}.devicon-kdeneon-plain:before{content:""}.devicon-keras-line:before{content:""}.devicon-keras-line-wordmark:before{content:""}.devicon-keras-plain:before{content:""}.devicon-keras-plain-wordmark:before{content:""}.devicon-kibana-plain:before{content:""}.devicon-kibana-plain-wordmark:before{content:""}.devicon-knexjs-original:before,.devicon-knexjs-plain:before{content:""}.devicon-knexjs-plain-wordmark:before{content:""}.devicon-knockout-plain-wordmark:before{content:""}.devicon-kotlin-plain:before{content:""}.devicon-kotlin-plain-wordmark:before{content:""}.devicon-krakenjs-plain:before{content:""}.devicon-krakenjs-plain-wordmark:before{content:""}.devicon-ktor-plain:before{content:""}.devicon-ktor-plain-wordmark:before{content:""}.devicon-kubernetes-line:before{content:""}.devicon-kubernetes-line-wordmark:before{content:""}.devicon-kubernetes-plain:before{content:""}.devicon-kubernetes-plain-wordmark:before{content:""}.devicon-labview-plain:before{content:""}.devicon-labview-plain-wordmark:before{content:""}.devicon-laravel-line:before{content:""}.devicon-laravel-line-wordmark:before{content:""}.devicon-laravel-original:before,.devicon-laravel-plain:before{content:""}.devicon-laravel-original-wordmark:before,.devicon-laravel-plain-wordmark:before{content:""}.devicon-latex-original:before,.devicon-latex-plain:before{content:""}.devicon-less-plain-wordmark:before{content:""}.devicon-linkedin-plain:before{content:""}.devicon-linkedin-plain-wordmark:before{content:""}.devicon-linux-plain:before{content:""}.devicon-liquibase-original:before,.devicon-liquibase-plain:before{content:""}.devicon-liquibase-original-wordmark:before,.devicon-liquibase-plain-wordmark:before{content:""}.devicon-livewire-plain:before{content:""}.devicon-livewire-plain-wordmark:before{content:""}.devicon-llvm-plain:before{content:""}.devicon-lodash-plain:before{content:""}.devicon-logstash-plain:before{content:""}.devicon-logstash-plain-wordmark:before{content:""}.devicon-lua-line:before,.devicon-lua-line-wordmark:before{content:""}.devicon-lua-plain:before,.devicon-lua-plain-wordmark:before{content:""}.devicon-lumen-original:before,.devicon-lumen-plain:before{content:""}.devicon-magento-line:before{content:""}.devicon-magento-line-wordmark:before{content:""}.devicon-magento-original:before,.devicon-magento-plain:before{content:""}.devicon-magento-plain-wordmark:before{content:""}.devicon-mariadb-original:before,.devicon-mariadb-plain:before{content:""}.devicon-mariadb-original-wordmark:before,.devicon-mariadb-plain-wordmark:before{content:""}.devicon-markdown-original:before,.devicon-markdown-plain:before{content:""}.devicon-materializecss-plain:before{content:""}.devicon-materialui-plain:before{content:""}.devicon-matlab-line:before{content:""}.devicon-matlab-plain:before{content:""}.devicon-matplotlib-plain:before{content:""}.devicon-matplotlib-plain-wordmark:before{content:""}.devicon-maven-plain:before{content:""}.devicon-maven-plain-wordmark:before{content:""}.devicon-maya-plain:before{content:""}.devicon-maya-plain-wordmark:before{content:""}.devicon-meteor-plain:before{content:""}.devicon-meteor-plain-wordmark:before{content:""}.devicon-microsoftsqlserver-line:before{content:""}.devicon-microsoftsqlserver-line-wordmark:before{content:""}.devicon-microsoftsqlserver-plain:before{content:""}.devicon-microsoftsqlserver-plain-wordmark:before{content:""}.devicon-minitab-plain:before{content:""}.devicon-mithril-line:before{content:""}.devicon-mithril-original:before,.devicon-mithril-plain:before{content:""}.devicon-mobx-plain:before{content:""}.devicon-mocha-plain:before{content:""}.devicon-modx-plain:before{content:""}.devicon-modx-plain-wordmark:before{content:""}.devicon-moleculer-original:before,.devicon-moleculer-plain:before{content:""}.devicon-moleculer-original-wordmark:before,.devicon-moleculer-plain-wordmark:before{content:""}.devicon-mongodb-plain:before{content:""}.devicon-mongodb-plain-wordmark:before{content:""}.devicon-mongoose-original:before{content:""}.devicon-mongoose-original-wordmark:before{content:""}.devicon-moodle-plain:before{content:""}.devicon-moodle-plain-wordmark:before{content:""}.devicon-msdos-line:before{content:""}.devicon-msdos-plain:before{content:""}.devicon-mysql-original:before,.devicon-mysql-plain:before{content:""}.devicon-mysql-plain-wordmark:before{content:""}.devicon-nano-plain:before{content:""}.devicon-nano-plain-wordmark:before{content:""}.devicon-neo4j-plain:before{content:""}.devicon-neo4j-plain-wordmark:before{content:""}.devicon-neovim-line:before{content:""}.devicon-neovim-line-wordmark:before{content:""}.devicon-neovim-plain:before{content:""}.devicon-neovim-plain-wordmark:before{content:""}.devicon-nestjs-line:before{content:""}.devicon-nestjs-line-wordmark:before{content:""}.devicon-nestjs-original:before,.devicon-nestjs-plain:before{content:""}.devicon-nestjs-original-wordmark:before,.devicon-nestjs-plain-wordmark:before{content:""}.devicon-netlify-plain:before{content:""}.devicon-netlify-plain-wordmark:before{content:""}.devicon-networkx-line:before{content:""}.devicon-networkx-line-wordmark:before{content:""}.devicon-networkx-plain:before{content:""}.devicon-networkx-plain-wordmark:before{content:""}.devicon-nextjs-line:before{content:""}.devicon-nextjs-line-wordmark:before{content:""}.devicon-nextjs-original-wordmark:before,.devicon-nextjs-plain-wordmark:before{content:""}.devicon-nextjs-plain:before{content:""}.devicon-nginx-original:before,.devicon-nginx-original-wordmark:before,.devicon-nginx-plain:before,.devicon-nginx-plain-wordmark:before{content:""}.devicon-ngrx-plain:before{content:""}.devicon-nhibernate-line:before{content:""}.devicon-nhibernate-line-wordmark:before{content:""}.devicon-nhibernate-plain:before{content:""}.devicon-nhibernate-plain-wordmark:before{content:""}.devicon-nimble-plain:before{content:""}.devicon-nim-line:before{content:""}.devicon-nim-line-wordmark:before{content:""}.devicon-nim-plain:before{content:""}.devicon-nim-plain-wordmark:before{content:""}.devicon-nixos-plain:before{content:""}.devicon-nixos-plain-wordmark:before{content:""}.devicon-nodejs-line:before{content:""}.devicon-nodejs-line-wordmark:before{content:""}.devicon-nodejs-plain:before{content:""}.devicon-nodejs-plain-wordmark:before{content:""}.devicon-nodemon-line:before{content:""}.devicon-nodemon-plain:before{content:""}.devicon-nodewebkit-line:before{content:""}.devicon-nodewebkit-line-wordmark:before{content:""}.devicon-nodewebkit-plain:before{content:""}.devicon-nodewebkit-plain-wordmark:before{content:""}.devicon-nomad-original:before,.devicon-nomad-plain:before{content:""}.devicon-nomad-plain-wordmark:before{content:""}.devicon-norg-plain:before{content:""}.devicon-notion-line:before{content:""}.devicon-notion-plain:before{content:""}.devicon-npm-original-wordmark:before{content:""}.devicon-nuget-original:before{content:""}.devicon-nuget-original-wordmark:before{content:""}.devicon-numpy-line:before{content:""}.devicon-numpy-line-wordmark:before{content:""}.devicon-numpy-plain:before{content:""}.devicon-numpy-plain-wordmark:before{content:""}.devicon-nuxtjs-plain:before{content:""}.devicon-nuxtjs-plain-wordmark:before{content:""}.devicon-oauth-plain:before,.devicon-oauth-plain-wordmark:before{content:""}.devicon-objectivec-plain:before{content:""}.devicon-ocaml-plain:before{content:""}.devicon-ocaml-plain-wordmark:before{content:""}.devicon-ohmyzsh-plain:before{content:""}.devicon-okta-plain:before{content:""}.devicon-okta-plain-wordmark:before{content:""}.devicon-openal-plain:before{content:""}.devicon-openapi-line:before{content:""}.devicon-openapi-line-wordmark:before{content:""}.devicon-openapi-plain:before{content:""}.devicon-openapi-plain-wordmark:before{content:""}.devicon-opencl-line:before,.devicon-opencl-line-wordmark:before{content:""}.devicon-opencl-plain:before,.devicon-opencl-plain-wordmark:before{content:""}.devicon-opencv-plain:before{content:""}.devicon-opencv-plain-wordmark:before{content:""}.devicon-opengl-plain:before{content:""}.devicon-openstack-original:before,.devicon-openstack-plain:before{content:""}.devicon-openstack-plain-wordmark:before{content:""}.devicon-opensuse-original:before,.devicon-opensuse-plain:before{content:""}.devicon-opensuse-original-wordmark:before,.devicon-opensuse-plain-wordmark:before{content:""}.devicon-opentelemetry-plain:before{content:""}.devicon-opentelemetry-plain-wordmark:before{content:""}.devicon-opera-plain:before{content:""}.devicon-opera-plain-wordmark:before{content:""}.devicon-oracle-original:before,.devicon-oracle-plain:before{content:""}.devicon-ory-original:before,.devicon-ory-plain:before{content:""}.devicon-ory-original-wordmark:before,.devicon-ory-plain-wordmark:before{content:""}.devicon-p5js-original:before,.devicon-p5js-plain:before,.devicon-p5js-original-wordmark:before,.devicon-p5js-plain-wordmark:before{content:""}.devicon-packer-line:before{content:""}.devicon-packer-line-wordmark:before{content:""}.devicon-packer-plain:before{content:""}.devicon-packer-plain-wordmark:before{content:""}.devicon-pandas-line:before{content:""}.devicon-pandas-line-wordmark:before{content:""}.devicon-pandas-plain:before{content:""}.devicon-pandas-plain-wordmark:before{content:""}.devicon-perl-plain:before{content:""}.devicon-pfsense-original:before,.devicon-pfsense-plain:before{content:""}.devicon-pfsense-original-wordmark:before,.devicon-pfsense-plain-wordmark:before{content:""}.devicon-phalcon-plain:before{content:""}.devicon-phoenix-original:before,.devicon-phoenix-plain:before{content:""}.devicon-phoenix-plain-wordmark:before{content:""}.devicon-photonengine-plain:before,.devicon-photonengine-plain-wordmark:before{content:""}.devicon-photoshop-line:before{content:""}.devicon-photoshop-plain:before{content:""}.devicon-php-plain:before{content:""}.devicon-phpstorm-plain:before{content:""}.devicon-phpstorm-plain-wordmark:before{content:""}.devicon-playwright-plain:before{content:""}.devicon-plotly-plain:before{content:""}.devicon-plotly-plain-wordmark:before{content:""}.devicon-pnpm-plain:before{content:""}.devicon-pnpm-plain-wordmark:before{content:""}.devicon-podman-plain:before{content:""}.devicon-podman-plain-wordmark:before{content:""}.devicon-poetry-plain:before{content:""}.devicon-polygon-plain:before{content:""}.devicon-polygon-plain-wordmark:before{content:""}.devicon-portainer-original:before,.devicon-portainer-plain:before{content:""}.devicon-portainer-original-wordmark:before,.devicon-portainer-plain-wordmark:before{content:""}.devicon-postcss-original:before,.devicon-postcss-plain:before{content:""}.devicon-postcss-plain-wordmark:before{content:""}.devicon-postgresql-plain:before{content:""}.devicon-postgresql-plain-wordmark:before{content:""}.devicon-postman-plain:before{content:""}.devicon-postman-plain-wordmark:before{content:""}.devicon-powershell-plain:before{content:""}.devicon-premierepro-plain:before{content:""}.devicon-prisma-original:before,.devicon-prisma-plain:before{content:""}.devicon-prisma-original-wordmark:before,.devicon-prisma-plain-wordmark:before{content:""}.devicon-processing-plain:before{content:""}.devicon-processing-plain-wordmark:before{content:""}.devicon-prolog-plain:before{content:""}.devicon-prolog-plain-wordmark:before{content:""}.devicon-prometheus-line:before{content:""}.devicon-prometheus-line-wordmark:before{content:""}.devicon-prometheus-original:before,.devicon-prometheus-plain:before{content:""}.devicon-prometheus-plain-wordmark:before{content:""}.devicon-protractor-line:before{content:""}.devicon-protractor-line-wordmark:before{content:""}.devicon-protractor-plain:before{content:""}.devicon-protractor-plain-wordmark:before{content:""}.devicon-pulsar-original:before,.devicon-pulsar-plain:before{content:""}.devicon-pulsar-original-wordmark:before,.devicon-pulsar-plain-wordmark:before{content:""}.devicon-pulumi-plain:before{content:""}.devicon-pulumi-plain-wordmark:before{content:""}.devicon-puppeteer-plain:before,.devicon-puppeteer-plain-wordmark:before{content:""}.devicon-purescript-original:before{content:""}.devicon-purescript-original-wordmark:before{content:""}.devicon-putty-plain:before{content:""}.devicon-pycharm-plain:before{content:""}.devicon-pycharm-plain-wordmark:before{content:""}.devicon-pypi-plain:before{content:""}.devicon-pypi-plain-wordmark:before{content:""}.devicon-pyscript-plain-wordmark:before{content:""}.devicon-pytest-plain:before{content:""}.devicon-pytest-plain-wordmark:before{content:""}.devicon-python-plain:before{content:""}.devicon-python-plain-wordmark:before{content:""}.devicon-pytorch-original:before,.devicon-pytorch-plain:before{content:""}.devicon-pytorch-plain-wordmark:before{content:""}.devicon-qodana-plain:before{content:""}.devicon-qodana-plain-wordmark:before{content:""}.devicon-qt-original:before,.devicon-qt-plain:before{content:""}.devicon-quarkus-plain:before{content:""}.devicon-quarkus-plain-wordmark:before{content:""}.devicon-quasar-plain:before{content:""}.devicon-quasar-plain-wordmark:before{content:""}.devicon-qwik-plain:before{content:""}.devicon-qwik-plain-wordmark:before{content:""}.devicon-rabbitmq-original:before,.devicon-rabbitmq-plain:before{content:""}.devicon-rabbitmq-plain-wordmark:before{content:""}.devicon-rails-plain:before{content:""}.devicon-rails-plain-wordmark:before{content:""}.devicon-railway-line:before{content:""}.devicon-railway-line-wordmark:before{content:""}.devicon-railway-original:before,.devicon-railway-plain:before{content:""}.devicon-railway-original-wordmark:before,.devicon-railway-plain-wordmark:before{content:""}.devicon-rancher-line:before{content:""}.devicon-rancher-line-wordmark:before{content:""}.devicon-rancher-original:before,.devicon-rancher-plain:before{content:""}.devicon-rancher-plain-wordmark:before{content:""}.devicon-raspberrypi-line:before{content:""}.devicon-raspberrypi-line-wordmark:before{content:""}.devicon-raspberrypi-plain:before{content:""}.devicon-raspberrypi-plain-wordmark:before{content:""}.devicon-reach-plain:before{content:""}.devicon-reactbootstrap-original:before,.devicon-reactbootstrap-plain:before{content:""}.devicon-reactnavigation-original:before,.devicon-reactnavigation-plain:before{content:""}.devicon-react-original:before,.devicon-react-plain:before{content:""}.devicon-react-original-wordmark:before,.devicon-react-plain-wordmark:before{content:""}.devicon-reactrouter-plain:before{content:""}.devicon-reactrouter-plain-wordmark:before{content:""}.devicon-readthedocs-line:before{content:""}.devicon-readthedocs-original:before,.devicon-readthedocs-plain:before{content:""}.devicon-readthedocs-original-wordmark:before,.devicon-readthedocs-plain-wordmark:before{content:""}.devicon-realm-plain:before{content:""}.devicon-realm-plain-wordmark:before{content:""}.devicon-rect-plain:before{content:""}.devicon-redhat-plain:before{content:""}.devicon-redhat-plain-wordmark:before{content:""}.devicon-redis-plain:before{content:""}.devicon-redis-plain-wordmark:before{content:""}.devicon-redux-original:before,.devicon-redux-plain:before{content:""}.devicon-renpy-plain:before{content:""}.devicon-replit-original:before,.devicon-replit-plain:before{content:""}.devicon-replit-plain-wordmark:before{content:""}.devicon-rider-plain:before{content:""}.devicon-rider-plain-wordmark:before{content:""}.devicon-r-line:before{content:""}.devicon-rocksdb-line:before{content:""}.devicon-rocksdb-plain:before{content:""}.devicon-rockylinux-original:before,.devicon-rockylinux-plain:before{content:""}.devicon-rockylinux-plain-wordmark:before{content:""}.devicon-rollup-line:before{content:""}.devicon-rollup-line-wordmark:before{content:""}.devicon-rollup-plain:before{content:""}.devicon-rollup-plain-wordmark:before{content:""}.devicon-ros-original:before{content:""}.devicon-ros-original-wordmark:before{content:""}.devicon-r-plain:before{content:""}.devicon-rspec-line:before{content:""}.devicon-rspec-line-wordmark:before{content:""}.devicon-rspec-plain:before{content:""}.devicon-rspec-plain-wordmark:before{content:""}.devicon-rstudio-plain:before{content:""}.devicon-rubymine-plain:before{content:""}.devicon-rubymine-plain-wordmark:before{content:""}.devicon-ruby-plain:before{content:""}.devicon-ruby-plain-wordmark:before{content:""}.devicon-rust-line:before{content:""}.devicon-rust-original:before,.devicon-rust-plain:before{content:""}.devicon-rxjs-plain:before{content:""}.devicon-safari-line:before{content:""}.devicon-safari-line-wordmark:before{content:""}.devicon-safari-plain:before{content:""}.devicon-safari-plain-wordmark:before{content:""}.devicon-salesforce-plain:before{content:""}.devicon-sanity-plain:before{content:""}.devicon-sass-original:before,.devicon-sass-plain:before{content:""}.devicon-scala-plain:before{content:""}.devicon-scala-plain-wordmark:before{content:""}.devicon-scalingo-line:before{content:""}.devicon-scalingo-line-wordmark:before{content:""}.devicon-scalingo-plain:before{content:""}.devicon-scalingo-plain-wordmark:before{content:""}.devicon-scikitlearn-line:before,.devicon-scikitlearn-line-wordmark:before{content:""}.devicon-scikitlearn-plain:before,.devicon-scikitlearn-plain-wordmark:before{content:""}.devicon-sdl-plain:before{content:""}.devicon-selenium-original:before,.devicon-selenium-plain:before{content:""}.devicon-sema-original:before,.devicon-sema-plain:before{content:""}.devicon-sema-original-wordmark:before,.devicon-sema-plain-wordmark:before{content:""}.devicon-sentry-original:before,.devicon-sentry-plain:before{content:""}.devicon-sentry-original-wordmark:before,.devicon-sentry-plain-wordmark:before{content:""}.devicon-sequelize-plain:before{content:""}.devicon-sequelize-plain-wordmark:before{content:""}.devicon-shopware-original:before{content:""}.devicon-shopware-original-wordmark:before{content:""}.devicon-shotgrid-original-wordmark:before,.devicon-shotgrid-plain-wordmark:before{content:""}.devicon-shotgrid-plain:before{content:""}.devicon-sketch-line:before{content:""}.devicon-sketch-line-wordmark:before{content:""}.devicon-sketch-plain:before{content:""}.devicon-sketch-plain-wordmark:before{content:""}.devicon-slack-plain:before{content:""}.devicon-slack-plain-wordmark:before{content:""}.devicon-socketio-original:before,.devicon-socketio-plain:before{content:""}.devicon-socketio-original-wordmark:before,.devicon-socketio-plain-wordmark:before{content:""}.devicon-solidity-plain:before{content:""}.devicon-solidjs-plain:before{content:""}.devicon-solidjs-plain-wordmark:before{content:""}.devicon-sonarqube-line:before{content:""}.devicon-sonarqube-line-wordmark:before{content:""}.devicon-sonarqube-original:before,.devicon-sonarqube-plain:before{content:""}.devicon-sonarqube-plain-wordmark:before{content:""}.devicon-sourcetree-original:before,.devicon-sourcetree-plain:before{content:""}.devicon-sourcetree-original-wordmark:before,.devicon-sourcetree-plain-wordmark:before{content:""}.devicon-spack-plain:before{content:""}.devicon-splunk-original-wordmark:before,.devicon-splunk-plain-wordmark:before{content:""}.devicon-spring-original:before,.devicon-spring-plain:before{content:""}.devicon-spring-original-wordmark:before,.devicon-spring-plain-wordmark:before{content:""}.devicon-spss-plain:before{content:""}.devicon-spyder-plain:before{content:""}.devicon-spyder-plain-wordmark:before{content:""}.devicon-sqlalchemy-plain:before{content:""}.devicon-sqlalchemy-plain-wordmark:before{content:""}.devicon-sqldeveloper-plain:before{content:""}.devicon-sqlite-plain:before{content:""}.devicon-sqlite-plain-wordmark:before{content:""}.devicon-ssh-original:before,.devicon-ssh-plain:before{content:""}.devicon-ssh-original-wordmark:before,.devicon-ssh-plain-wordmark:before{content:""}.devicon-stackoverflow-line:before{content:""}.devicon-stackoverflow-line-wordmark:before{content:""}.devicon-stackoverflow-plain:before{content:""}.devicon-stackoverflow-plain-wordmark:before{content:""}.devicon-stata-original-wordmark:before,.devicon-stata-plain-wordmark:before{content:""}.devicon-storybook-plain:before{content:""}.devicon-storybook-plain-wordmark:before{content:""}.devicon-streamlit-plain:before{content:""}.devicon-streamlit-plain-wordmark:before{content:""}.devicon-stylus-original:before{content:""}.devicon-subversion-original:before,.devicon-subversion-plain:before{content:""}.devicon-subversion-plain-wordmark:before{content:""}.devicon-supabase-plain:before{content:""}.devicon-supabase-plain-wordmark:before{content:""}.devicon-svelte-plain:before{content:""}.devicon-svelte-plain-wordmark:before{content:""}.devicon-swagger-plain:before{content:""}.devicon-swagger-plain-wordmark:before{content:""}.devicon-swift-plain:before{content:""}.devicon-swift-plain-wordmark:before{content:""}.devicon-swiper-original:before,.devicon-swiper-plain:before{content:""}.devicon-symfony-original:before,.devicon-symfony-plain:before{content:""}.devicon-symfony-original-wordmark:before,.devicon-symfony-plain-wordmark:before{content:""}.devicon-tailwindcss-original:before,.devicon-tailwindcss-plain:before{content:""}.devicon-tailwindcss-plain-wordmark:before{content:""}.devicon-tauri-plain:before{content:""}.devicon-tauri-plain-wordmark:before{content:""}.devicon-tensorflow-line:before{content:""}.devicon-tensorflow-line-wordmark:before{content:""}.devicon-tensorflow-original:before{content:""}.devicon-tensorflow-original-wordmark:before{content:""}.devicon-terraform-plain:before{content:""}.devicon-terraform-plain-wordmark:before{content:""}.devicon-tex-original:before,.devicon-tex-original-wordmark:before,.devicon-tex-plain:before,.devicon-tex-plain-wordmark:before{content:""}.devicon-thealgorithms-plain:before{content:""}.devicon-thealgorithms-plain-wordmark:before{content:""}.devicon-threedsmax-plain:before,.devicon-threedsmax-plain-wordmark:before{content:""}.devicon-threejs-original:before{content:""}.devicon-threejs-original-wordmark:before{content:""}.devicon-titaniumsdk-original:before,.devicon-titaniumsdk-plain:before{content:""}.devicon-tomcat-line:before{content:""}.devicon-tomcat-line-wordmark:before{content:""}.devicon-tortoisegit-line:before{content:""}.devicon-tortoisegit-plain:before{content:""}.devicon-towergit-plain:before{content:""}.devicon-towergit-plain-wordmark:before{content:""}.devicon-traefikmesh-line:before{content:""}.devicon-traefikmesh-line-wordmark:before{content:""}.devicon-traefikmesh-original:before,.devicon-traefikmesh-plain:before{content:""}.devicon-traefikmesh-plain-wordmark:before{content:""}.devicon-traefikproxy-line:before{content:""}.devicon-traefikproxy-line-wordmark:before{content:""}.devicon-traefikproxy-original:before,.devicon-traefikproxy-plain:before{content:""}.devicon-traefikproxy-plain-wordmark:before{content:""}.devicon-travis-line:before{content:""}.devicon-travis-line-wordmark:before{content:""}.devicon-travis-plain:before{content:""}.devicon-travis-plain-wordmark:before{content:""}.devicon-trello-line:before{content:""}.devicon-trello-line-wordmark:before{content:""}.devicon-trello-plain:before{content:""}.devicon-trello-plain-wordmark:before{content:""}.devicon-trpc-plain:before{content:""}.devicon-trpc-plain-wordmark:before{content:""}.devicon-twitter-original:before,.devicon-twitter-plain:before{content:""}.devicon-typescript-plain:before,.devicon-typescript-original:before{content:""}.devicon-typo3-line:before{content:""}.devicon-typo3-line-wordmark:before{content:""}.devicon-typo3-original:before,.devicon-typo3-plain:before{content:""}.devicon-typo3-plain-wordmark:before{content:""}.devicon-ubuntu-plain:before{content:""}.devicon-ubuntu-plain-wordmark:before{content:""}.devicon-unifiedmodelinglanguage-plain:before{content:""}.devicon-unifiedmodelinglanguage-plain-wordmark:before{content:""}.devicon-unity-line:before{content:""}.devicon-unity-line-wordmark:before{content:""}.devicon-unity-plain:before{content:""}.devicon-unity-plain-wordmark:before{content:""}.devicon-unix-original:before{content:""}.devicon-unrealengine-original:before,.devicon-unrealengine-plain:before{content:""}.devicon-unrealengine-original-wordmark:before,.devicon-unrealengine-plain-wordmark:before{content:""}.devicon-uwsgi-plain:before{content:""}.devicon-v8-plain:before,.devicon-v8-plain-wordmark:before{content:""}.devicon-vagrant-plain:before{content:""}.devicon-vagrant-plain-wordmark:before{content:""}.devicon-vala-plain:before{content:""}.devicon-vala-plain-wordmark:before{content:""}.devicon-vault-original:before,.devicon-vault-plain:before{content:""}.devicon-vault-plain-wordmark:before{content:""}.devicon-vercel-line:before{content:""}.devicon-vercel-line-wordmark:before{content:""}.devicon-vercel-original:before,.devicon-vercel-plain:before{content:""}.devicon-vercel-original-wordmark:before,.devicon-vercel-plain-wordmark:before{content:""}.devicon-vertx-line:before{content:""}.devicon-vertx-line-wordmark:before{content:""}.devicon-vertx-plain:before{content:""}.devicon-vertx-plain-wordmark:before{content:""}.devicon-vim-plain:before{content:""}.devicon-visualbasic-line:before{content:""}.devicon-visualbasic-plain:before{content:""}.devicon-visualstudio-line:before{content:""}.devicon-visualstudio-plain:before{content:""}.devicon-vitejs-plain:before{content:""}.devicon-vite-original:before,.devicon-vite-plain:before{content:""}.devicon-vite-original-wordmark:before,.devicon-vite-plain-wordmark:before{content:""}.devicon-vitess-plain:before{content:""}.devicon-vitess-plain-wordmark:before{content:""}.devicon-vitest-plain:before{content:""}.devicon-vscode-plain:before{content:""}.devicon-vscode-plain-wordmark:before{content:""}.devicon-vsphere-line:before{content:""}.devicon-vsphere-line-wordmark:before{content:""}.devicon-vsphere-plain:before{content:""}.devicon-vsphere-plain-wordmark:before{content:""}.devicon-vuejs-line:before{content:""}.devicon-vuejs-line-wordmark:before{content:""}.devicon-vuejs-plain:before{content:""}.devicon-vuejs-plain-wordmark:before{content:""}.devicon-vuestorefront-plain:before{content:""}.devicon-vuetify-line:before{content:""}.devicon-vuetify-plain:before{content:""}.devicon-vyper-plain:before{content:""}.devicon-vyper-plain-wordmark:before{content:""}.devicon-wasm-original:before,.devicon-wasm-plain:before{content:""}.devicon-wasm-plain-wordmark:before{content:""}.devicon-webflow-original:before{content:""}.devicon-weblate-plain:before{content:""}.devicon-weblate-plain-wordmark:before{content:""}.devicon-webpack-plain:before{content:""}.devicon-webpack-plain-wordmark:before{content:""}.devicon-webstorm-plain:before{content:""}.devicon-webstorm-plain-wordmark:before{content:""}.devicon-windows8-original:before,.devicon-windows8-plain:before{content:""}.devicon-windows8-original-wordmark:before,.devicon-windows8-plain-wordmark:before{content:""}.devicon-windows11-original:before,.devicon-windows11-plain:before{content:""}.devicon-windows11-original-wordmark:before,.devicon-windows11-plain-wordmark:before{content:""}.devicon-woocommerce-plain:before{content:""}.devicon-woocommerce-plain-wordmark:before{content:""}.devicon-wordpress-plain:before{content:""}.devicon-wordpress-plain-wordmark:before{content:""}.devicon-xamarin-original:before,.devicon-xamarin-plain:before{content:""}.devicon-xamarin-original-wordmark:before,.devicon-xamarin-plain-wordmark:before{content:""}.devicon-xcode-plain:before{content:""}.devicon-xd-line:before{content:""}.devicon-xd-plain:before{content:""}.devicon-xml-line:before,.devicon-xml-line-wordmark:before{content:""}.devicon-xml-plain:before,.devicon-xml-plain-wordmark:before{content:""}.devicon-yaml-plain:before,.devicon-yaml-plain-wordmark:before{content:""}.devicon-yarn-line:before{content:""}.devicon-yarn-line-wordmark:before{content:""}.devicon-yarn-original:before,.devicon-yarn-plain:before{content:""}.devicon-yarn-original-wordmark:before,.devicon-yarn-plain-wordmark:before{content:""}.devicon-yii-plain:before{content:""}.devicon-yii-plain-wordmark:before{content:""}.devicon-yugabytedb-plain:before{content:""}.devicon-yugabytedb-plain-wordmark:before{content:""}.devicon-yunohost-plain:before{content:""}.devicon-zend-line:before{content:""}.devicon-zend-line-wordmark:before{content:""}.devicon-zend-original:before,.devicon-zend-plain:before{content:""}.devicon-zend-original-wordmark:before,.devicon-zend-plain-wordmark:before{content:""}.devicon-zig-original:before,.devicon-zig-plain:before{content:""}.devicon-zig-plain-wordmark:before{content:""}.devicon-threedsmax-plain.colored,.devicon-threedsmax-original-wordmark.colored,.devicon-threedsmax-plain-wordmark.colored{color:#37a5cc}.devicon-aarch64-plain.colored,.devicon-aarch64-line.colored,.devicon-aarch64-original-wordmark.colored,.devicon-aarch64-plain-wordmark.colored,.devicon-aarch64-line-wordmark.colored{color:#16358c}.devicon-adonisjs-original.colored,.devicon-adonisjs-original-wordmark.colored,.devicon-adonisjs-plain.colored,.devicon-adonisjs-plain-wordmark.colored{color:#5a45ff}.devicon-aftereffects-plain.colored{color:#1f0740}.devicon-akka-plain.colored,.devicon-akka-plain-wordmark.colored{color:#15a9ce}.devicon-algolia-original.colored,.devicon-algolia-original-wordmark.colored{color:#003dff}.devicon-alpinejs-original.colored,.devicon-alpinejs-original-wordmark.colored,.devicon-alpinejs-plain.colored,.devicon-alpinejs-plain-wordmark.colored{color:#2d3441}.devicon-amazonwebservices-plain-wordmark.colored,.devicon-amazonwebservices-line-wordmark.colored,.devicon-amazonwebservices-original.colored,.devicon-amazonwebservices-plain.colored,.devicon-amazonwebservices-line.colored{color:#f90}.devicon-anaconda-original.colored,.devicon-anaconda-original-wordmark.colored,.devicon-anaconda-plain.colored,.devicon-anaconda-plain-wordmark.colored{color:#3eb049}.devicon-android-plain.colored,.devicon-android-plain-wordmark.colored{color:#a4c439}.devicon-androidstudio-plain.colored,.devicon-androidstudio-plain-wordmark.colored{color:#4285f4}.devicon-angular-plain.colored,.devicon-angular-plain-wordmark.colored{color:#fff}.devicon-angularjs-plain.colored,.devicon-angularjs-plain-wordmark.colored{color:#c4473a}.devicon-angularmaterial-plain.colored{color:#ffa726}.devicon-ansible-plain.colored,.devicon-ansible-plain-wordmark.colored{color:#1a1918}.devicon-antdesign-plain.colored,.devicon-antdesign-plain-wordmark.colored{color:#0073bb}.devicon-apache-plain.colored,.devicon-apache-plain-wordmark.colored,.devicon-apache-line.colored,.devicon-apache-line-wordmark.colored{color:#cb2533}.devicon-apacheairflow-plain.colored,.devicon-apacheairflow-plain-wordmark.colored{color:#017cee}.devicon-apachekafka-original.colored,.devicon-apachekafka-original-wordmark.colored,.devicon-apachekafka-plain.colored,.devicon-apachekafka-plain-wordmark.colored{color:#231f20}.devicon-apachespark-original.colored,.devicon-apachespark-plain-wordmark.colored,.devicon-apachespark-plain.colored{color:#e15919}.devicon-apl-plain.colored{color:#24a148}.devicon-appcelerator-original.colored,.devicon-appcelerator-plain-wordmark.colored,.devicon-appcelerator-plain.colored{color:#ac162c}.devicon-apple-original.colored,.devicon-apple-plain.colored{color:#000}.devicon-appwrite-plain.colored,.devicon-appwrite-plain-wordmark.colored,.devicon-appwrite-original.colored,.devicon-appwrite-original-wordmark.colored{color:#f02e65}.devicon-archlinux-plain.colored,.devicon-archlinux-plain-wordmark.colored{color:#1791cf}.devicon-arduino-plain.colored,.devicon-arduino-plain-wordmark.colored{color:#00979d}.devicon-argocd-plain.colored,.devicon-argocd-plain-wordmark.colored{color:#ef7b4d}.devicon-astro-plain.colored,.devicon-astro-plain-wordmark.colored{color:#ff5d01}.devicon-atom-original.colored,.devicon-atom-original-wordmark.colored,.devicon-atom-plain.colored,.devicon-atom-plain-wordmark.colored{color:#67595d}.devicon-awk-plain-wordmark.colored,.devicon-awk-original.colored,.devicon-awk-plain.colored{color:#0a094d}.devicon-axios-plain.colored,.devicon-axios-plain-wordmark.colored{color:#5a29e4}.devicon-azure-plain.colored,.devicon-azure-plain-wordmark.colored{color:#0089d6}.devicon-azuredevops-plain.colored{color:#0078d4}.devicon-azuresqldatabase-plain.colored{color:#005ba1}.devicon-babel-plain.colored,.devicon-babel-original.colored{color:#f9dc3e}.devicon-backbonejs-plain.colored,.devicon-backbonejs-plain-wordmark.colored{color:#002a41}.devicon-ballerina-original.colored,.devicon-ballerina-original-wordmark.colored,.devicon-ballerina-line.colored,.devicon-ballerina-line-wordmark.colored,.devicon-ballerina-plain.colored,.devicon-ballerina-plain-wordmark.colored{color:#46c0bc}.devicon-bamboo-original.colored,.devicon-bamboo-original-wordmark.colored,.devicon-bamboo-plain.colored,.devicon-bamboo-plain-wordmark.colored{color:#1068e2}.devicon-bash-plain.colored{color:#293138}.devicon-beats-plain.colored{color:#07c}.devicon-behance-plain.colored,.devicon-behance-plain-wordmark.colored{color:#0071e0}.devicon-bitbucket-original.colored,.devicon-bitbucket-original-wordmark.colored,.devicon-bitbucket-plain.colored,.devicon-bitbucket-plain-wordmark.colored{color:#205081}.devicon-blazor-original.colored,.devicon-blazor-line.colored,.devicon-blazor-plain.colored{color:#5c2d91}.devicon-blender-original.colored,.devicon-blender-original-wordmark.colored{color:#dc7b2e}.devicon-bootstrap-plain.colored,.devicon-bootstrap-plain-wordmark.colored{color:#712cf9}.devicon-bower-plain.colored,.devicon-bower-plain-wordmark.colored,.devicon-bower-line.colored,.devicon-bower-line-wordmark.colored{color:#ef5734}.devicon-browserstack-plain.colored,.devicon-browserstack-plain-wordmark.colored,.devicon-browserstack-line.colored,.devicon-browserstack-line-wordmark.colored{color:#0070f0}.devicon-bulma-plain.colored{color:#00d1b2}.devicon-bun-plain.colored,.devicon-bun-line.colored{color:#fbf0df}.devicon-c-plain.colored,.devicon-c-plain-wordmark.colored,.devicon-c-line.colored,.devicon-c-line-wordmark.colored{color:#03599c}.devicon-cairo-plain.colored,.devicon-cairo-plain-wordmark.colored{color:#f39914}.devicon-cakephp-plain.colored,.devicon-cakephp-plain-wordmark.colored{color:#d43d44}.devicon-canva-original.colored,.devicon-canva-plain.colored{color:#00c4cc}.devicon-capacitor-plain.colored,.devicon-capacitor-plain-wordmark.colored{color:#53b9ff}.devicon-carbon-original.colored,.devicon-carbon-plain.colored{color:#000}.devicon-cassandra-plain.colored,.devicon-cassandra-plain-wordmark.colored{color:#1185b0}.devicon-centos-plain.colored,.devicon-centos-plain-wordmark.colored{color:#932178}.devicon-ceylon-plain.colored,.devicon-ceylon-plain-wordmark.colored{color:#ab710a}.devicon-chrome-plain.colored,.devicon-chrome-plain-wordmark.colored{color:#ce4e4e}.devicon-circleci-plain.colored,.devicon-circleci-plain-wordmark.colored{color:#343434}.devicon-clarity-plain.colored,.devicon-clarity-plain-wordmark.colored{color:#13171a}.devicon-clion-plain.colored,.devicon-clion-plain-wordmark.colored{color:#21d789}.devicon-clojure-line.colored,.devicon-clojure-plain.colored{color:#5881d8}.devicon-clojurescript-plain.colored{color:#96ca4b}.devicon-cloudflare-plain.colored,.devicon-cloudflare-plain-wordmark.colored{color:#f38020}.devicon-cloudflareworkers-plain.colored,.devicon-cloudflareworkers-plain-wordmark.colored{color:#ea9344}.devicon-cmake-plain.colored,.devicon-cmake-plain-wordmark.colored{color:#0e8a16}.devicon-codeac-original.colored{color:#005096}.devicon-codecov-plain.colored{color:#e0225c}.devicon-codeigniter-plain.colored,.devicon-codeigniter-plain-wordmark.colored{color:#ee4323}.devicon-codepen-original.colored,.devicon-codepen-original-wordmark.colored,.devicon-codepen-line.colored,.devicon-codepen-line-wordmark.colored,.devicon-codepen-plain.colored,.devicon-codepen-plain-wordmark.colored{color:#000}.devicon-coffeescript-original.colored,.devicon-coffeescript-original-wordmark.colored,.devicon-coffeescript-plain.colored,.devicon-coffeescript-plain-wordmark.colored{color:#28334c}.devicon-composer-line.colored,.devicon-composer-line-wordmark.colored,.devicon-composer-plain.colored,.devicon-composer-plain-wordmark.colored{color:#000}.devicon-confluence-plain.colored,.devicon-confluence-plain-wordmark.colored,.devicon-confluence-line.colored,.devicon-confluence-line-wordmark.colored{color:#136be6}.devicon-consul-original.colored,.devicon-consul-plain-wordmark.colored,.devicon-consul-plain.colored{color:#e03875}.devicon-contao-original.colored,.devicon-contao-original-wordmark.colored{color:#f47c00}.devicon-corejs-original.colored,.devicon-corejs-original-wordmark.colored,.devicon-corejs-plain.colored,.devicon-corejs-plain-wordmark.colored{color:#000}.devicon-cosmosdb-plain.colored,.devicon-cosmosdb-plain-wordmark.colored{color:#59b3d8}.devicon-couchbase-original.colored,.devicon-couchbase-plain-wordmark.colored,.devicon-couchbase-plain.colored{color:#ea2328}.devicon-couchdb-plain.colored,.devicon-couchdb-plain-wordmark.colored{color:#e42528}.devicon-cplusplus-plain.colored,.devicon-cplusplus-line.colored,.devicon-cplusplus-plain-wordmark.colored,.devicon-cplusplus-line-wordmark.colored{color:#004482}.devicon-crystal-original.colored,.devicon-crystal-original-wordmark.colored,.devicon-crystal-line.colored,.devicon-crystal-line-wordmark.colored,.devicon-crystal-plain.colored,.devicon-crystal-plain-wordmark.colored{color:#000}.devicon-csharp-plain.colored,.devicon-csharp-plain-wordmark.colored,.devicon-csharp-line.colored,.devicon-csharp-line-wordmark.colored{color:#68217a}.devicon-css3-plain.colored,.devicon-css3-plain-wordmark.colored{color:#3d8fc6}.devicon-cucumber-plain.colored,.devicon-cucumber-plain-wordmark.colored{color:#00a818}.devicon-cypressio-plain.colored,.devicon-cypressio-plain-wordmark.colored,.devicon-cypressio-line.colored,.devicon-cypressio-line-wordmark.colored{color:#1b1e2e}.devicon-d3js-plain.colored{color:#f7974e}.devicon-dart-plain.colored,.devicon-dart-plain-wordmark.colored{color:#00a8e1}.devicon-datagrip-plain.colored,.devicon-datagrip-plain-wordmark.colored{color:#21d789}.devicon-dataspell-plain.colored,.devicon-dataspell-plain-wordmark.colored{color:#087cfa}.devicon-dbeaver-plain.colored{color:#382a24}.devicon-debian-plain.colored,.devicon-debian-plain-wordmark.colored{color:#a80030}.devicon-denojs-original.colored,.devicon-denojs-original-wordmark.colored,.devicon-denojs-plain.colored,.devicon-denojs-plain-wordmark.colored{color:#000}.devicon-devicon-plain.colored,.devicon-devicon-plain-wordmark.colored,.devicon-devicon-line.colored,.devicon-devicon-line-wordmark.colored{color:#60be86}.devicon-digitalocean-original.colored,.devicon-digitalocean-original-wordmark.colored,.devicon-digitalocean-plain.colored,.devicon-digitalocean-plain-wordmark.colored{color:#0080ff}.devicon-discordjs-plain.colored,.devicon-discordjs-plain-wordmark.colored{color:#0c0c14}.devicon-django-plain.colored,.devicon-django-plain-wordmark.colored{color:#092e20}.devicon-djangorest-plain.colored,.devicon-djangorest-line.colored,.devicon-djangorest-plain-wordmark.colored,.devicon-djangorest-line-wordmark.colored{color:#a30000}.devicon-docker-plain.colored,.devicon-docker-plain-wordmark.colored{color:#019bc6}.devicon-doctrine-plain.colored,.devicon-doctrine-plain-wordmark.colored,.devicon-doctrine-line.colored,.devicon-doctrine-line-wordmark.colored{color:#f56d39}.devicon-dot-net-plain.colored,.devicon-dot-net-plain-wordmark.colored{color:#1384c8}.devicon-dotnetcore-plain.colored{color:#623697}.devicon-dreamweaver-plain.colored,.devicon-dreamweaver-line.colored{color:#470137}.devicon-dropwizard-plain.colored{color:#24265d}.devicon-drupal-plain.colored,.devicon-drupal-plain-wordmark.colored{color:#0073ba}.devicon-dynamodb-plain.colored{color:#527fff}.devicon-eclipse-plain-wordmark.colored,.devicon-eclipse-plain.colored{color:#2c2255}.devicon-ecto-original.colored,.devicon-ecto-plain-wordmark.colored,.devicon-ecto-plain.colored{color:#77bf43}.devicon-elasticsearch-plain-wordmark.colored,.devicon-elasticsearch-plain.colored{color:#00bfb3}.devicon-electron-original.colored,.devicon-electron-original-wordmark.colored{color:#47848f}.devicon-eleventy-plain.colored{color:#1f1f1f}.devicon-elixir-plain.colored,.devicon-elixir-plain-wordmark.colored{color:#380a4d}.devicon-elm-plain.colored,.devicon-elm-plain-wordmark.colored{color:#34495e}.devicon-emacs-original.colored{color:#421f5f}.devicon-embeddedc-plain.colored,.devicon-embeddedc-plain-wordmark.colored{color:#444}.devicon-ember-original-wordmark.colored,.devicon-ember-plain.colored,.devicon-ember-plain-wordmark.colored{color:#e04e39}.devicon-envoy-plain.colored,.devicon-envoy-plain-wordmark.colored{color:#e13eaf}.devicon-erlang-plain.colored,.devicon-erlang-plain-wordmark.colored{color:#a90533}.devicon-eslint-plain.colored,.devicon-eslint-plain-wordmark.colored,.devicon-eslint-line.colored,.devicon-eslint-line-wordmark.colored{color:#4b32c3}.devicon-express-original.colored,.devicon-express-original-wordmark.colored{color:#444}.devicon-facebook-plain.colored,.devicon-facebook-original.colored{color:#3d5a98}.devicon-fastapi-plain.colored,.devicon-fastapi-plain-wordmark.colored{color:#009688}.devicon-fastify-plain.colored,.devicon-fastify-plain-wordmark.colored{color:#000}.devicon-faunadb-original-wordmark.colored,.devicon-faunadb-original.colored,.devicon-faunadb-line.colored,.devicon-faunadb-line-wordmark.colored,.devicon-faunadb-plain.colored,.devicon-faunadb-plain-wordmark.colored{color:#3a1ab6}.devicon-feathersjs-original.colored{color:#333}.devicon-fedora-plain.colored{color:#294172}.devicon-figma-plain.colored{color:#f24e1e}.devicon-filezilla-plain.colored,.devicon-filezilla-plain-wordmark.colored,.devicon-filezilla-line.colored,.devicon-filezilla-line-wordmark.colored{color:#bb0001}.devicon-firebase-plain.colored,.devicon-firebase-plain-wordmark.colored,.devicon-firebase-line.colored,.devicon-firebase-line-wordmark.colored{color:#ffa000}.devicon-firefox-plain.colored,.devicon-firefox-plain-wordmark.colored{color:#dd732a}.devicon-flask-original.colored,.devicon-flask-original-wordmark.colored,.devicon-flask-plain.colored,.devicon-flask-plain-wordmark.colored{color:#010101}.devicon-flutter-plain.colored{color:#3fb6d3}.devicon-fortran-original.colored{color:#734f96}.devicon-foundation-plain.colored,.devicon-foundation-plain-wordmark.colored{color:#008cba}.devicon-framermotion-original.colored,.devicon-framermotion-original-wordmark.colored,.devicon-framermotion-plain.colored,.devicon-framermotion-plain-wordmark.colored{color:#000}.devicon-framework7-original.colored,.devicon-framework7-original-wordmark.colored,.devicon-framework7-plain.colored,.devicon-framework7-plain-wordmark.colored{color:#ee350f}.devicon-fsharp-plain.colored{color:#378bba}.devicon-gatling-original.colored,.devicon-gatling-plain-wordmark.colored,.devicon-gatling-line.colored,.devicon-gatling-line-wordmark.colored,.devicon-gatling-plain.colored{color:#f78557}.devicon-gatsby-original.colored,.devicon-gatsby-plain-wordmark.colored,.devicon-gatsby-plain.colored{color:#64328b}.devicon-gazebo-plain.colored,.devicon-gazebo-plain-wordmark.colored{color:#f58113}.devicon-gcc-plain.colored,.devicon-gcc-line.colored,.devicon-gcc-original-wordmark.colored,.devicon-gcc-plain-wordmark.colored,.devicon-gcc-line-wordmark.colored{color:#ffcfab}.devicon-gentoo-plain.colored,.devicon-gentoo-plain-wordmark.colored,.devicon-gentoo-line.colored,.devicon-gentoo-line-wordmark.colored{color:#9991d9}.devicon-ghost-original.colored,.devicon-ghost-original-wordmark.colored{color:#000}.devicon-gimp-plain.colored,.devicon-gimp-plain-wordmark.colored,.devicon-gimp-line.colored,.devicon-gimp-line-wordmark.colored{color:#716955}.devicon-git-plain.colored,.devicon-git-plain-wordmark.colored{color:#f34f29}.devicon-gitbook-original.colored,.devicon-gitbook-original-wordmark.colored,.devicon-gitbook-line.colored,.devicon-gitbook-line-wordmark.colored,.devicon-gitbook-plain.colored,.devicon-gitbook-plain-wordmark.colored{color:#346ddb}.devicon-github-original.colored,.devicon-github-original-wordmark.colored,.devicon-github-plain.colored{color:#181616}.devicon-githubactions-plain.colored{color:#2088ff}.devicon-githubcodespaces-plain.colored{color:#24292e}.devicon-gitlab-plain.colored,.devicon-gitlab-plain-wordmark.colored{color:#e24329}.devicon-gitpod-plain.colored,.devicon-gitpod-plain-wordmark.colored{color:#ffa132}.devicon-gitter-plain.colored,.devicon-gitter-plain-wordmark.colored{color:#000}.devicon-go-original-wordmark.colored,.devicon-go-plain.colored,.devicon-go-line.colored,.devicon-go-plain-wordmark.colored{color:#00acd7}.devicon-godot-plain.colored,.devicon-godot-plain-wordmark.colored{color:#478cbf}.devicon-goland-plain.colored,.devicon-goland-plain-wordmark.colored{color:#087cfa}.devicon-google-plain.colored,.devicon-google-plain-wordmark.colored,.devicon-google-original.colored,.devicon-google-original-wordmark.colored{color:#587dbd}.devicon-googlecloud-plain.colored,.devicon-googlecloud-plain-wordmark.colored{color:#557ebf}.devicon-gradle-original.colored,.devicon-gradle-original-wordmark.colored,.devicon-gradle-plain.colored,.devicon-gradle-plain-wordmark.colored{color:#02303a}.devicon-grafana-plain.colored,.devicon-grafana-plain-wordmark.colored,.devicon-grafana-line.colored,.devicon-grafana-line-wordmark.colored{color:#f7a525}.devicon-grails-plain.colored{color:#feb571}.devicon-graphql-plain.colored,.devicon-graphql-plain-wordmark.colored{color:#e434aa}.devicon-groovy-plain.colored{color:#619cbc}.devicon-grpc-plain.colored{color:#00b0ad}.devicon-grunt-plain.colored,.devicon-grunt-plain-wordmark.colored,.devicon-grunt-line.colored,.devicon-grunt-line-wordmark.colored{color:#fcaa1a}.devicon-gulp-plain.colored{color:#eb4a4b}.devicon-hadoop-plain.colored,.devicon-hadoop-plain-wordmark.colored,.devicon-hadoop-line.colored,.devicon-hadoop-line-wordmark.colored{color:#ff0}.devicon-handlebars-original.colored,.devicon-handlebars-original-wordmark.colored,.devicon-handlebars-line.colored,.devicon-handlebars-line-wordmark.colored,.devicon-handlebars-plain.colored,.devicon-handlebars-plain-wordmark.colored{color:#000}.devicon-hardhat-plain.colored,.devicon-hardhat-plain-wordmark.colored{color:#fff100}.devicon-harvester-original.colored,.devicon-harvester-plain-wordmark.colored,.devicon-harvester-plain.colored{color:#00a580}.devicon-haskell-plain.colored,.devicon-haskell-plain-wordmark.colored{color:#5e5185}.devicon-haxe-plain.colored{color:#ea8220}.devicon-helm-original.colored,.devicon-helm-line.colored,.devicon-helm-plain.colored{color:#0f1689}.devicon-heroku-original.colored,.devicon-heroku-original-wordmark.colored,.devicon-heroku-plain.colored,.devicon-heroku-plain-wordmark.colored,.devicon-heroku-line.colored,.devicon-heroku-line-wordmark.colored{color:#6762a6}.devicon-hibernate-plain.colored,.devicon-hibernate-plain-wordmark.colored{color:#bcae79}.devicon-homebrew-plain.colored,.devicon-homebrew-plain-wordmark.colored,.devicon-homebrew-line.colored,.devicon-homebrew-line-wordmark.colored{color:#fbb040}.devicon-html5-plain.colored,.devicon-html5-plain-wordmark.colored{color:#e54d26}.devicon-hugo-plain.colored,.devicon-hugo-plain-wordmark.colored{color:#ff4088}.devicon-ie10-original.colored,.devicon-ie10-plain.colored{color:#1ebbee}.devicon-ifttt-original.colored,.devicon-ifttt-plain.colored{color:#000}.devicon-illustrator-plain.colored,.devicon-illustrator-line.colored{color:#faa625}.devicon-influxdb-original.colored,.devicon-influxdb-original-wordmark.colored,.devicon-influxdb-plain.colored,.devicon-influxdb-plain-wordmark.colored{color:#020a47}.devicon-inkscape-plain.colored,.devicon-inkscape-plain-wordmark.colored{color:#000}.devicon-insomnia-plain.colored,.devicon-insomnia-plain-wordmark.colored{color:#4000bf}.devicon-intellij-plain.colored,.devicon-intellij-plain-wordmark.colored{color:#087cfa}.devicon-ionic-original.colored,.devicon-ionic-original-wordmark.colored{color:#4e8ef7}.devicon-jaegertracing-plain.colored,.devicon-jaegertracing-plain-wordmark.colored{color:#67cfe3}.devicon-jamstack-original.colored,.devicon-jamstack-plain-wordmark.colored,.devicon-jamstack-plain.colored{color:#f0047f}.devicon-jasmine-original.colored,.devicon-jasmine-original-wordmark.colored,.devicon-jasmine-plain.colored,.devicon-jasmine-plain-wordmark.colored{color:#8a4182}.devicon-java-plain.colored,.devicon-java-plain-wordmark.colored{color:#ea2d2e}.devicon-javascript-plain.colored{color:#f0db4f}.devicon-jeet-plain.colored,.devicon-jeet-plain-wordmark.colored{color:#ff664a}.devicon-jekyll-plain.colored,.devicon-jekyll-plain-wordmark.colored{color:#000}.devicon-jenkins-line.colored,.devicon-jenkins-plain.colored{color:#f0d6b7}.devicon-jest-plain.colored{color:#99425b}.devicon-jetbrains-plain.colored{color:#fdcc21}.devicon-jetpackcompose-plain-wordmark.colored,.devicon-jetpackcompose-plain.colored,.devicon-jetpackcompose-line.colored,.devicon-jetpackcompose-line-wordmark.colored{color:#4285f4}.devicon-jira-plain.colored,.devicon-jira-plain-wordmark.colored,.devicon-jiraalign-plain.colored,.devicon-jiraalign-plain-wordmark.colored{color:#2684ff}.devicon-jquery-plain.colored,.devicon-jquery-plain-wordmark.colored{color:#0769ad}.devicon-json-plain.colored{color:#505050}.devicon-jule-original.colored,.devicon-jule-original-wordmark.colored,.devicon-jule-plain.colored,.devicon-jule-plain-wordmark.colored{color:#5f7389}.devicon-julia-plain.colored,.devicon-julia-plain-wordmark.colored{color:#28a745}.devicon-junit-plain.colored,.devicon-junit-plain-wordmark.colored,.devicon-junit-line.colored,.devicon-junit-line-wordmark.colored{color:#dc514a}.devicon-jupyter-plain.colored,.devicon-jupyter-plain-wordmark.colored{color:#f37726}.devicon-k3os-original.colored,.devicon-k3os-plain-wordmark.colored,.devicon-k3os-line.colored,.devicon-k3os-line-wordmark.colored,.devicon-k3os-plain.colored{color:#fd824e}.devicon-k3s-original.colored,.devicon-k3s-plain-wordmark.colored,.devicon-k3s-plain.colored{color:#ffc519}.devicon-k6-original.colored,.devicon-k6-plain.colored{color:#7d64ff}.devicon-kaggle-original.colored,.devicon-kaggle-original-wordmark.colored,.devicon-kaggle-plain.colored,.devicon-kaggle-plain-wordmark.colored{color:#20beff}.devicon-karatelabs-plain.colored,.devicon-karatelabs-plain-wordmark.colored{color:#000}.devicon-karma-plain.colored{color:#56c5a8}.devicon-kdeneon-plain.colored{color:#21769a}.devicon-keras-plain.colored,.devicon-keras-plain-wordmark.colored,.devicon-keras-line.colored,.devicon-keras-line-wordmark.colored{color:#d00000}.devicon-kibana-plain.colored,.devicon-kibana-plain-wordmark.colored{color:#f04e98}.devicon-knexjs-original.colored,.devicon-knexjs-plain-wordmark.colored,.devicon-knexjs-plain.colored{color:#e16426}.devicon-knockout-plain-wordmark.colored{color:#e42e16}.devicon-kotlin-plain.colored,.devicon-kotlin-plain-wordmark.colored{color:#c711e1}.devicon-krakenjs-plain.colored,.devicon-krakenjs-plain-wordmark.colored{color:#0081c2}.devicon-ktor-plain.colored,.devicon-ktor-plain-wordmark.colored{color:#fc801d}.devicon-kubernetes-plain.colored,.devicon-kubernetes-plain-wordmark.colored,.devicon-kubernetes-line.colored,.devicon-kubernetes-line-wordmark.colored{color:#326ce5}.devicon-labview-plain.colored,.devicon-labview-plain-wordmark.colored{color:#fed500}.devicon-laravel-original.colored,.devicon-laravel-original-wordmark.colored,.devicon-laravel-line.colored,.devicon-laravel-line-wordmark.colored,.devicon-laravel-plain.colored,.devicon-laravel-plain-wordmark.colored{color:#f0513f}.devicon-latex-original.colored,.devicon-latex-plain.colored{color:#000}.devicon-less-plain-wordmark.colored{color:#2a4d80}.devicon-linkedin-plain.colored,.devicon-linkedin-plain-wordmark.colored{color:#0076b2}.devicon-linux-plain.colored{color:#000}.devicon-liquibase-original-wordmark.colored,.devicon-liquibase-original.colored,.devicon-liquibase-plain.colored,.devicon-liquibase-plain-wordmark.colored{color:#ff3c00}.devicon-livewire-plain-wordmark.colored,.devicon-livewire-plain.colored{color:#fb70a9}.devicon-llvm-plain.colored{color:#5a90b6}.devicon-lodash-plain.colored{color:#000}.devicon-logstash-plain-wordmark.colored,.devicon-logstash-plain.colored{color:#fec514}.devicon-lua-plain.colored,.devicon-lua-line.colored,.devicon-lua-original-wordmark.colored,.devicon-lua-plain-wordmark.colored,.devicon-lua-line-wordmark.colored{color:navy}.devicon-lumen-original.colored,.devicon-lumen-plain.colored{color:#e54537}.devicon-magento-original.colored,.devicon-magento-plain-wordmark.colored,.devicon-magento-line.colored,.devicon-magento-line-wordmark.colored,.devicon-magento-plain.colored{color:#f26322}.devicon-mariadb-original.colored,.devicon-mariadb-original-wordmark.colored,.devicon-mariadb-plain.colored,.devicon-mariadb-plain-wordmark.colored{color:#003545}.devicon-markdown-original.colored,.devicon-markdown-plain.colored{color:#000}.devicon-materializecss-plain.colored{color:#eb7077}.devicon-materialui-plain.colored{color:#1fa6ca}.devicon-matlab-plain.colored,.devicon-matlab-line.colored{color:#6dd0c7}.devicon-matplotlib-plain.colored,.devicon-matplotlib-plain-wordmark.colored{color:#11557c}.devicon-maven-plain.colored,.devicon-maven-plain-wordmark.colored{color:#e97826}.devicon-maya-plain.colored,.devicon-maya-plain-wordmark.colored{color:#149b9a}.devicon-meteor-plain.colored,.devicon-meteor-plain-wordmark.colored{color:#df5052}.devicon-microsoftsqlserver-plain.colored,.devicon-microsoftsqlserver-plain-wordmark.colored,.devicon-microsoftsqlserver-line.colored,.devicon-microsoftsqlserver-line-wordmark.colored{color:#ee352c}.devicon-minitab-plain.colored{color:#8dc63f}.devicon-mithril-original.colored,.devicon-mithril-line.colored,.devicon-mithril-plain.colored{color:#010002}.devicon-mobx-plain.colored{color:#e05e11}.devicon-mocha-plain.colored{color:#8d6748}.devicon-modx-plain.colored,.devicon-modx-plain-wordmark.colored{color:#00decc}.devicon-moleculer-original.colored,.devicon-moleculer-original-wordmark.colored,.devicon-moleculer-plain.colored,.devicon-moleculer-plain-wordmark.colored{color:#3cafce}.devicon-mongodb-plain.colored,.devicon-mongodb-plain-wordmark.colored{color:#4faa41}.devicon-mongoose-original.colored,.devicon-mongoose-original-wordmark.colored{color:#860000}.devicon-moodle-plain.colored,.devicon-moodle-plain-wordmark.colored{color:#f7931e}.devicon-msdos-plain.colored,.devicon-msdos-line.colored{color:#000}.devicon-mysql-original.colored,.devicon-mysql-plain-wordmark.colored,.devicon-mysql-plain.colored{color:#00618a}.devicon-nano-plain.colored,.devicon-nano-plain-wordmark.colored{color:#c8f}.devicon-neo4j-plain.colored,.devicon-neo4j-plain-wordmark.colored{color:#018bff}.devicon-neovim-plain.colored,.devicon-neovim-plain-wordmark.colored,.devicon-neovim-line.colored,.devicon-neovim-line-wordmark.colored{color:#5fb950}.devicon-nestjs-original.colored,.devicon-nestjs-original-wordmark.colored,.devicon-nestjs-line.colored,.devicon-nestjs-line-wordmark.colored,.devicon-nestjs-plain.colored,.devicon-nestjs-plain-wordmark.colored{color:#df234f}.devicon-netlify-plain.colored,.devicon-netlify-plain-wordmark.colored{color:#05bdba}.devicon-networkx-plain.colored,.devicon-networkx-plain-wordmark.colored,.devicon-networkx-line.colored,.devicon-networkx-line-wordmark.colored{color:#2c7fb8}.devicon-nextjs-original-wordmark.colored,.devicon-nextjs-plain.colored,.devicon-nextjs-line.colored,.devicon-nextjs-line-wordmark.colored,.devicon-nextjs-plain-wordmark.colored{color:#000}.devicon-nginx-original.colored,.devicon-nginx-original-wordmark.colored,.devicon-nginx-plain.colored,.devicon-nginx-plain-wordmark.colored{color:#090}.devicon-ngrx-plain.colored{color:#412846}.devicon-nhibernate-plain-wordmark.colored,.devicon-nhibernate-plain.colored,.devicon-nhibernate-line.colored,.devicon-nhibernate-line-wordmark.colored{color:#903a36}.devicon-nim-plain.colored,.devicon-nim-plain-wordmark.colored,.devicon-nim-line.colored,.devicon-nim-line-wordmark.colored{color:#ffe953}.devicon-nimble-plain.colored{color:#f7e941}.devicon-nixos-plain.colored,.devicon-nixos-plain-wordmark.colored{color:#5277c3}.devicon-nodejs-plain.colored,.devicon-nodejs-plain-wordmark.colored,.devicon-nodejs-line.colored,.devicon-nodejs-line-wordmark.colored{color:#5fa04e}.devicon-nodemon-plain.colored,.devicon-nodemon-line.colored{color:#76d04b}.devicon-nodewebkit-plain.colored,.devicon-nodewebkit-plain-wordmark.colored,.devicon-nodewebkit-line.colored,.devicon-nodewebkit-line-wordmark.colored{color:#3d3b47}.devicon-nomad-original.colored,.devicon-nomad-plain-wordmark.colored,.devicon-nomad-plain.colored{color:#00ca8e}.devicon-norg-plain.colored{color:#4878be}.devicon-notion-plain.colored,.devicon-notion-line.colored{color:#fff}.devicon-npm-original-wordmark.colored{color:#cb3837}.devicon-nuget-original.colored,.devicon-nuget-original-wordmark.colored{color:#004880}.devicon-numpy-plain.colored,.devicon-numpy-plain-wordmark.colored,.devicon-numpy-line.colored,.devicon-numpy-line-wordmark.colored{color:#4dabcf}.devicon-nuxtjs-plain.colored,.devicon-nuxtjs-plain-wordmark.colored{color:#00c48d}.devicon-oauth-plain.colored,.devicon-oauth-original-wordmark.colored,.devicon-oauth-plain-wordmark.colored{color:#000}.devicon-objectivec-plain.colored{color:#0b5a9d}.devicon-ocaml-plain.colored,.devicon-ocaml-plain-wordmark.colored{color:#f18803}.devicon-ohmyzsh-plain.colored{color:#000}.devicon-okta-plain.colored,.devicon-okta-plain-wordmark.colored{color:#0f82c2}.devicon-openal-plain.colored{color:#7e000d}.devicon-openapi-plain.colored,.devicon-openapi-plain-wordmark.colored,.devicon-openapi-line.colored,.devicon-openapi-line-wordmark.colored{color:#91d400}.devicon-opencl-plain.colored,.devicon-opencl-line.colored,.devicon-opencl-original-wordmark.colored,.devicon-opencl-plain-wordmark.colored,.devicon-opencl-line-wordmark.colored{color:#000}.devicon-opencv-plain.colored,.devicon-opencv-plain-wordmark.colored{color:#128dff}.devicon-opengl-plain.colored{color:#5586a4}.devicon-openstack-original.colored,.devicon-openstack-plain-wordmark.colored,.devicon-openstack-plain.colored{color:#ed1944}.devicon-opensuse-original.colored,.devicon-opensuse-original-wordmark.colored,.devicon-opensuse-plain.colored,.devicon-opensuse-plain-wordmark.colored{color:#73ba25}.devicon-opentelemetry-plain.colored,.devicon-opentelemetry-plain-wordmark.colored{color:#f5a800}.devicon-opera-plain.colored,.devicon-opera-plain-wordmark.colored{color:#f7192d}.devicon-oracle-original.colored,.devicon-oracle-plain.colored{color:#ea1b22}.devicon-ory-original.colored,.devicon-ory-original-wordmark.colored,.devicon-ory-plain.colored,.devicon-ory-plain-wordmark.colored{color:#5528ff}.devicon-p5js-original.colored,.devicon-p5js-plain.colored,.devicon-p5js-original-wordmark.colored,.devicon-p5js-plain-wordmark.colored{color:#ed225d}.devicon-packer-plain.colored,.devicon-packer-plain-wordmark.colored,.devicon-packer-line.colored,.devicon-packer-line-wordmark.colored{color:#1d94dd}.devicon-pandas-plain.colored,.devicon-pandas-plain-wordmark.colored,.devicon-pandas-line.colored,.devicon-pandas-line-wordmark.colored{color:#130754}.devicon-perl-plain.colored{color:#212177}.devicon-pfsense-original.colored,.devicon-pfsense-original-wordmark.colored,.devicon-pfsense-plain.colored,.devicon-pfsense-plain-wordmark.colored{color:#000}.devicon-phalcon-plain.colored{color:#76c39b}.devicon-phoenix-original.colored,.devicon-phoenix-plain-wordmark.colored,.devicon-phoenix-plain.colored{color:#fd4f00}.devicon-photonengine-plain.colored,.devicon-photonengine-original-wordmark.colored,.devicon-photonengine-plain-wordmark.colored{color:#004480}.devicon-photoshop-plain.colored,.devicon-photoshop-line.colored{color:#001e36}.devicon-php-plain.colored{color:#777bb3}.devicon-phpstorm-plain.colored,.devicon-phpstorm-plain-wordmark.colored{color:#b74af7}.devicon-playwright-plain.colored{color:#2ead33}.devicon-plotly-plain.colored,.devicon-plotly-plain-wordmark.colored{color:#3d4c73}.devicon-pnpm-plain.colored,.devicon-pnpm-plain-wordmark.colored{color:#f9ad00}.devicon-podman-plain.colored,.devicon-podman-plain-wordmark.colored{color:#892ca0}.devicon-poetry-plain.colored{color:#0080c5}.devicon-polygon-plain.colored,.devicon-polygon-plain-wordmark.colored{color:#7950dd}.devicon-portainer-original.colored,.devicon-portainer-original-wordmark.colored,.devicon-portainer-plain.colored,.devicon-portainer-plain-wordmark.colored{color:#3bbced}.devicon-postcss-original.colored,.devicon-postcss-plain-wordmark.colored,.devicon-postcss-plain.colored{color:#dd3a0a}.devicon-postgresql-plain.colored,.devicon-postgresql-plain-wordmark.colored{color:#336791}.devicon-postman-plain.colored,.devicon-postman-plain-wordmark.colored{color:#f37036}.devicon-powershell-plain.colored{color:#1e2a3a}.devicon-premierepro-plain.colored{color:#2a0634}.devicon-prisma-original.colored,.devicon-prisma-original-wordmark.colored,.devicon-prisma-plain.colored,.devicon-prisma-plain-wordmark.colored{color:#2d3748}.devicon-processing-plain.colored,.devicon-processing-plain-wordmark.colored{color:#000}.devicon-prolog-plain.colored,.devicon-prolog-plain-wordmark.colored{color:#f46c30}.devicon-prometheus-original.colored,.devicon-prometheus-plain-wordmark.colored,.devicon-prometheus-line.colored,.devicon-prometheus-line-wordmark.colored,.devicon-prometheus-plain.colored{color:#e75225}.devicon-protractor-plain.colored,.devicon-protractor-plain-wordmark.colored,.devicon-protractor-line.colored,.devicon-protractor-line-wordmark.colored{color:#d51c2f}.devicon-pulsar-original.colored,.devicon-pulsar-original-wordmark.colored,.devicon-pulsar-plain.colored,.devicon-pulsar-plain-wordmark.colored{color:#2c3e50}.devicon-pulumi-plain.colored,.devicon-pulumi-plain-wordmark.colored{color:#f6bf29}.devicon-puppeteer-plain.colored,.devicon-puppeteer-original-wordmark.colored,.devicon-puppeteer-plain-wordmark.colored{color:#00d8a2}.devicon-purescript-original.colored,.devicon-purescript-original-wordmark.colored{color:#14161a}.devicon-putty-plain.colored{color:#0000fc}.devicon-pycharm-plain.colored,.devicon-pycharm-plain-wordmark.colored{color:#21d789}.devicon-pypi-plain.colored,.devicon-pypi-plain-wordmark.colored{color:#3775a9}.devicon-pyscript-plain-wordmark.colored{color:#fda703}.devicon-pytest-plain.colored,.devicon-pytest-plain-wordmark.colored{color:#009fe3}.devicon-python-plain.colored,.devicon-python-plain-wordmark.colored{color:#ffd845}.devicon-pytorch-original.colored,.devicon-pytorch-plain-wordmark.colored,.devicon-pytorch-plain.colored{color:#ee4c2c}.devicon-qodana-plain.colored,.devicon-qodana-plain-wordmark.colored{color:#ff318c}.devicon-qt-original.colored,.devicon-qt-plain.colored{color:#41cd52}.devicon-quarkus-plain.colored,.devicon-quarkus-plain-wordmark.colored{color:#4695eb}.devicon-quasar-plain-wordmark.colored,.devicon-quasar-plain.colored{color:#00b4ff}.devicon-qwik-plain.colored,.devicon-qwik-plain-wordmark.colored{color:#18b6f6}.devicon-r-plain.colored,.devicon-r-line.colored{color:#1f65b7}.devicon-rabbitmq-original.colored,.devicon-rabbitmq-plain-wordmark.colored,.devicon-rabbitmq-plain.colored{color:#f60}.devicon-rails-plain.colored,.devicon-rails-plain-wordmark.colored{color:#c00}.devicon-railway-original.colored,.devicon-railway-original-wordmark.colored,.devicon-railway-line.colored,.devicon-railway-line-wordmark.colored,.devicon-railway-plain.colored,.devicon-railway-plain-wordmark.colored{color:#fff}.devicon-rancher-original.colored,.devicon-rancher-plain-wordmark.colored,.devicon-rancher-line.colored,.devicon-rancher-line-wordmark.colored,.devicon-rancher-plain.colored{color:#2453ff}.devicon-raspberrypi-plain.colored,.devicon-raspberrypi-plain-wordmark.colored,.devicon-raspberrypi-line.colored,.devicon-raspberrypi-line-wordmark.colored{color:#c51850}.devicon-reach-plain.colored{color:#6ac6e7}.devicon-react-original.colored,.devicon-react-original-wordmark.colored,.devicon-react-plain.colored,.devicon-react-plain-wordmark.colored{color:#61dafb}.devicon-reactbootstrap-original.colored,.devicon-reactbootstrap-plain.colored{color:#41e0fd}.devicon-reactnavigation-original.colored,.devicon-reactnavigation-plain.colored{color:#7b61c1}.devicon-readthedocs-original.colored,.devicon-readthedocs-original-wordmark.colored,.devicon-readthedocs-line.colored,.devicon-readthedocs-plain.colored,.devicon-readthedocs-plain-wordmark.colored{color:#32322a}.devicon-realm-plain.colored,.devicon-realm-plain-wordmark.colored{color:#6e60f9}.devicon-rect-plain.colored{color:#262626}.devicon-redhat-plain.colored,.devicon-redhat-plain-wordmark.colored{color:#e93442}.devicon-redis-plain.colored,.devicon-redis-plain-wordmark.colored{color:#d82c20}.devicon-redux-original.colored,.devicon-redux-plain.colored{color:#764abc}.devicon-renpy-plain.colored{color:#ff7f7f}.devicon-replit-original.colored,.devicon-replit-plain-wordmark.colored,.devicon-replit-plain.colored{color:#f26207}.devicon-rider-plain.colored,.devicon-rider-plain-wordmark.colored{color:#dd1265}.devicon-rocksdb-plain.colored,.devicon-rocksdb-line.colored{color:#ffbe00}.devicon-rockylinux-original.colored,.devicon-rockylinux-plain-wordmark.colored,.devicon-rockylinux-plain.colored{color:#10b982}.devicon-rollup-plain.colored,.devicon-rollup-plain-wordmark.colored,.devicon-rollup-line.colored,.devicon-rollup-line-wordmark.colored{color:#f33}.devicon-ros-original.colored,.devicon-ros-original-wordmark.colored{color:#21304c}.devicon-rspec-plain.colored,.devicon-rspec-plain-wordmark.colored,.devicon-rspec-line.colored,.devicon-rspec-line-wordmark.colored{color:#6de1fa}.devicon-rstudio-plain.colored{color:#75aadb}.devicon-ruby-plain.colored,.devicon-ruby-plain-wordmark.colored{color:#d91404}.devicon-rubymine-plain.colored,.devicon-rubymine-plain-wordmark.colored{color:#fc801d}.devicon-rust-original.colored,.devicon-rust-line.colored,.devicon-rust-plain.colored{color:#000}.devicon-rxjs-plain.colored{color:#df1c85}.devicon-safari-plain.colored,.devicon-safari-plain-wordmark.colored,.devicon-safari-line-wordmark.colored,.devicon-safari-line.colored{color:#1b88ca}.devicon-salesforce-plain.colored{color:#00a1e0}.devicon-sanity-plain.colored{color:#f03e2f}.devicon-sass-original.colored,.devicon-sass-plain.colored{color:#c69}.devicon-scala-plain.colored,.devicon-scala-plain-wordmark.colored{color:#de3423}.devicon-scalingo-plain.colored,.devicon-scalingo-plain-wordmark.colored,.devicon-scalingo-line.colored,.devicon-scalingo-line-wordmark.colored{color:#173aee}.devicon-scikitlearn-plain.colored,.devicon-scikitlearn-line.colored,.devicon-scikitlearn-original-wordmark.colored,.devicon-scikitlearn-plain-wordmark.colored,.devicon-scikitlearn-line-wordmark.colored{color:#f89939}.devicon-sdl-plain.colored{color:#173354}.devicon-selenium-original.colored,.devicon-selenium-plain.colored{color:#cf0a2c}.devicon-sema-original.colored,.devicon-sema-original-wordmark.colored,.devicon-sema-plain.colored,.devicon-sema-plain-wordmark.colored{color:#000}.devicon-sentry-original.colored,.devicon-sentry-original-wordmark.colored,.devicon-sentry-plain.colored,.devicon-sentry-plain-wordmark.colored{color:#362d59}.devicon-reactrouter-plain.colored,.devicon-reactrouter-plain-wordmark.colored{color:#f44250}.devicon-sequelize-plain.colored,.devicon-sequelize-plain-wordmark.colored{color:#3b4b72}.devicon-shopware-original.colored,.devicon-shopware-original-wordmark.colored{color:#179eff}.devicon-shotgrid-plain.colored,.devicon-shotgrid-original-wordmark.colored,.devicon-shotgrid-plain-wordmark.colored{color:#000}.devicon-sketch-plain.colored,.devicon-sketch-plain-wordmark.colored,.devicon-sketch-line.colored,.devicon-sketch-line-wordmark.colored{color:#fdad00}.devicon-slack-plain.colored,.devicon-slack-plain-wordmark.colored{color:#2d333a}.devicon-socketio-original.colored,.devicon-socketio-original-wordmark.colored,.devicon-socketio-plain.colored,.devicon-socketio-plain-wordmark.colored{color:#010101}.devicon-solidity-plain.colored{color:#383838}.devicon-solidjs-plain.colored,.devicon-solidjs-plain-wordmark.colored{color:#2c4f7c}.devicon-sonarqube-original.colored,.devicon-sonarqube-plain-wordmark.colored,.devicon-sonarqube-line.colored,.devicon-sonarqube-line-wordmark.colored,.devicon-sonarqube-plain.colored{color:#549dd0}.devicon-sourcetree-original.colored,.devicon-sourcetree-original-wordmark.colored,.devicon-sourcetree-plain.colored,.devicon-sourcetree-plain-wordmark.colored{color:#205081}.devicon-spack-plain.colored{color:#0f3a80}.devicon-splunk-original-wordmark.colored,.devicon-splunk-plain-wordmark.colored{color:#0c1724}.devicon-spring-original.colored,.devicon-spring-original-wordmark.colored,.devicon-spring-plain.colored,.devicon-spring-plain-wordmark.colored{color:#5fb832}.devicon-spss-plain.colored{color:#cc1e4c}.devicon-spyder-plain.colored,.devicon-spyder-plain-wordmark.colored{color:#8c0000}.devicon-sqlalchemy-plain.colored,.devicon-sqlalchemy-plain-wordmark.colored{color:#333}.devicon-sqldeveloper-plain.colored{color:#adadad}.devicon-sqlite-plain.colored,.devicon-sqlite-plain-wordmark.colored{color:#0f80cc}.devicon-ssh-original.colored,.devicon-ssh-original-wordmark.colored,.devicon-ssh-plain.colored,.devicon-ssh-plain-wordmark.colored{color:#231f20}.devicon-stackoverflow-plain.colored,.devicon-stackoverflow-plain-wordmark.colored,.devicon-stackoverflow-line.colored,.devicon-stackoverflow-line-wordmark.colored{color:#f58025}.devicon-stata-original-wordmark.colored,.devicon-stata-plain-wordmark.colored{color:#195f92}.devicon-storybook-plain.colored,.devicon-storybook-plain-wordmark.colored{color:#ff4785}.devicon-streamlit-plain.colored,.devicon-streamlit-plain-wordmark.colored{color:#7d353b}.devicon-stylus-original.colored{color:#333}.devicon-subversion-original.colored,.devicon-subversion-plain-wordmark.colored,.devicon-subversion-plain.colored{color:#809cc8}.devicon-supabase-plain.colored,.devicon-supabase-plain-wordmark.colored{color:#3ecf8e}.devicon-svelte-plain.colored,.devicon-svelte-plain-wordmark.colored{color:#ff3e00}.devicon-swagger-plain.colored,.devicon-swagger-plain-wordmark.colored{color:#85ea2d}.devicon-swift-plain.colored,.devicon-swift-plain-wordmark.colored{color:#f05138}.devicon-swiper-original.colored,.devicon-swiper-plain.colored{color:#0080ff}.devicon-symfony-original.colored,.devicon-symfony-original-wordmark.colored,.devicon-symfony-plain.colored,.devicon-symfony-plain-wordmark.colored{color:#1a171b}.devicon-tailwindcss-original.colored,.devicon-tailwindcss-plain-wordmark.colored,.devicon-tailwindcss-plain.colored{color:#38bdf8}.devicon-tauri-plain.colored,.devicon-tauri-plain-wordmark.colored{color:#ffc131}.devicon-tensorflow-original.colored,.devicon-tensorflow-original-wordmark.colored,.devicon-tensorflow-line.colored,.devicon-tensorflow-line-wordmark.colored{color:#ff6f00}.devicon-terraform-plain.colored,.devicon-terraform-plain-wordmark.colored{color:#5c4ee5}.devicon-tex-original.colored,.devicon-tex-original-wordmark.colored,.devicon-tex-plain.colored,.devicon-tex-plain-wordmark.colored{color:#000}.devicon-thealgorithms-plain.colored,.devicon-thealgorithms-plain-wordmark.colored{color:#00bcb4}.devicon-threejs-original.colored,.devicon-threejs-original-wordmark.colored{color:#000}.devicon-titaniumsdk-original.colored,.devicon-titaniumsdk-plain.colored{color:#bd222b}.devicon-tomcat-line.colored,.devicon-tomcat-line-wordmark.colored{color:#d1a41a}.devicon-tortoisegit-plain.colored,.devicon-tortoisegit-line.colored{color:#4b8eb4}.devicon-towergit-plain.colored,.devicon-towergit-plain-wordmark.colored{color:#d18900}.devicon-traefikmesh-original.colored,.devicon-traefikmesh-plain-wordmark.colored,.devicon-traefikmesh-line.colored,.devicon-traefikmesh-line-wordmark.colored,.devicon-traefikmesh-plain.colored{color:#9d0fb0}.devicon-traefikproxy-original.colored,.devicon-traefikproxy-plain-wordmark.colored,.devicon-traefikproxy-line.colored,.devicon-traefikproxy-line-wordmark.colored,.devicon-traefikproxy-plain.colored{color:#24a1c1}.devicon-travis-plain.colored,.devicon-travis-plain-wordmark.colored,.devicon-travis-line.colored,.devicon-travis-line-wordmark.colored{color:#2d3136}.devicon-trello-plain.colored,.devicon-trello-plain-wordmark.colored,.devicon-trello-line.colored,.devicon-trello-line-wordmark.colored{color:#0052cc}.devicon-trpc-plain.colored,.devicon-trpc-plain-wordmark.colored{color:#398ccb}.devicon-twitter-original.colored,.devicon-twitter-plain.colored{color:#000}.devicon-typescript-plain.colored,.devicon-typescript-original.colored{color:#007acc}.devicon-typo3-original.colored,.devicon-typo3-plain-wordmark.colored,.devicon-typo3-line.colored,.devicon-typo3-line-wordmark.colored,.devicon-typo3-plain.colored{color:#f49700}.devicon-ubuntu-plain.colored,.devicon-ubuntu-plain-wordmark.colored{color:#e95420}.devicon-unifiedmodelinglanguage-plain.colored,.devicon-unifiedmodelinglanguage-plain-wordmark.colored{color:#452e7f}.devicon-unity-plain.colored,.devicon-unity-plain-wordmark.colored,.devicon-unity-line.colored,.devicon-unity-line-wordmark.colored{color:#4d4d4d}.devicon-unix-original.colored{color:#4051b5}.devicon-unrealengine-original.colored,.devicon-unrealengine-original-wordmark.colored,.devicon-unrealengine-plain.colored,.devicon-unrealengine-plain-wordmark.colored{color:#000}.devicon-uwsgi-plain.colored{color:#bad05e}.devicon-v8-plain.colored,.devicon-v8-original-wordmark.colored,.devicon-v8-plain-wordmark.colored{color:#00c4cc}.devicon-vagrant-plain.colored,.devicon-vagrant-plain-wordmark.colored{color:#127eff}.devicon-vala-plain.colored,.devicon-vala-plain-wordmark.colored{color:#a56de2}.devicon-vault-original.colored,.devicon-vault-plain-wordmark.colored,.devicon-vault-plain.colored{color:#ffd814}.devicon-vercel-original.colored,.devicon-vercel-original-wordmark.colored,.devicon-vercel-line.colored,.devicon-vercel-line-wordmark.colored,.devicon-vercel-plain.colored,.devicon-vercel-plain-wordmark.colored{color:#000}.devicon-vertx-plain.colored,.devicon-vertx-plain-wordmark.colored,.devicon-vertx-line.colored,.devicon-vertx-line-wordmark.colored{color:#782a91}.devicon-vim-plain.colored{color:#179a33}.devicon-visualbasic-plain.colored,.devicon-visualbasic-line.colored{color:#004e8c}.devicon-visualstudio-plain.colored,.devicon-visualstudio-line.colored{color:#52218a}.devicon-vite-original.colored,.devicon-vite-original-wordmark.colored,.devicon-vite-plain.colored,.devicon-vite-plain-wordmark.colored{color:#006bff}.devicon-vitejs-plain.colored{color:#ffdd35}.devicon-vitess-plain.colored,.devicon-vitess-plain-wordmark.colored{color:#f16827}.devicon-vitest-plain.colored{color:#fcc72b}.devicon-vscode-plain.colored,.devicon-vscode-plain-wordmark.colored{color:#3c99d4}.devicon-vsphere-plain.colored,.devicon-vsphere-plain-wordmark.colored,.devicon-vsphere-line.colored,.devicon-vsphere-line-wordmark.colored{color:#0091da}.devicon-vuejs-plain.colored,.devicon-vuejs-plain-wordmark.colored,.devicon-vuejs-line.colored,.devicon-vuejs-line-wordmark.colored{color:#41b883}.devicon-vuestorefront-plain.colored{color:#5ecf7b}.devicon-vuetify-line.colored,.devicon-vuetify-plain.colored{color:#1697f6}.devicon-vyper-plain.colored,.devicon-vyper-plain-wordmark.colored{color:#000}.devicon-wasm-original.colored,.devicon-wasm-plain-wordmark.colored,.devicon-wasm-plain.colored{color:#654ff0}.devicon-webflow-original.colored{color:#4353ff}.devicon-weblate-plain.colored,.devicon-weblate-plain-wordmark.colored{color:#2eccaa}.devicon-webpack-plain.colored,.devicon-webpack-plain-wordmark.colored{color:#1c78c0}.devicon-webstorm-plain.colored,.devicon-webstorm-plain-wordmark.colored{color:#07c3f2}.devicon-windows11-original.colored,.devicon-windows11-original-wordmark.colored,.devicon-windows11-plain.colored,.devicon-windows11-plain-wordmark.colored{color:#0078d4}.devicon-windows8-original.colored,.devicon-windows8-original-wordmark.colored,.devicon-windows8-plain.colored,.devicon-windows8-plain-wordmark.colored{color:#00adef}.devicon-woocommerce-plain.colored,.devicon-woocommerce-plain-wordmark.colored{color:#7f54b3}.devicon-wordpress-plain.colored,.devicon-wordpress-plain-wordmark.colored{color:#494949}.devicon-xamarin-original.colored,.devicon-xamarin-original-wordmark.colored,.devicon-xamarin-plain.colored,.devicon-xamarin-plain-wordmark.colored{color:#3498db}.devicon-xcode-plain.colored{color:#069cec}.devicon-xd-plain.colored,.devicon-xd-line.colored{color:#470137}.devicon-xml-plain.colored,.devicon-xml-line.colored,.devicon-xml-original-wordmark.colored,.devicon-xml-plain-wordmark.colored,.devicon-xml-line-wordmark.colored{color:#005fad}.devicon-yaml-plain.colored,.devicon-yaml-original-wordmark.colored,.devicon-yaml-plain-wordmark.colored{color:#cb171e}.devicon-yarn-original.colored,.devicon-yarn-original-wordmark.colored,.devicon-yarn-line.colored,.devicon-yarn-line-wordmark.colored,.devicon-yarn-plain.colored,.devicon-yarn-plain-wordmark.colored{color:#2c8ebb}.devicon-yii-plain.colored,.devicon-yii-plain-wordmark.colored{color:#40b3d8}.devicon-yugabytedb-plain.colored,.devicon-yugabytedb-plain-wordmark.colored{color:#ff5f3b}.devicon-yunohost-plain.colored{color:#fff}.devicon-zend-original.colored,.devicon-zend-original-wordmark.colored,.devicon-zend-line.colored,.devicon-zend-line-wordmark.colored,.devicon-zend-plain.colored,.devicon-zend-plain-wordmark.colored{color:#68b604}.devicon-zig-original.colored,.devicon-zig-plain-wordmark.colored,.devicon-zig-plain.colored{color:#f7a41d} diff --git a/index.html b/index.html new file mode 100644 index 0000000..fcbf2bf --- /dev/null +++ b/index.html @@ -0,0 +1,14 @@ + + + + + + + Mattia Pispisa + + + + +
+ + diff --git a/io.png b/io.png new file mode 100644 index 0000000..39e7793 Binary files /dev/null and b/io.png differ diff --git a/merito.jpeg b/merito.jpeg new file mode 100644 index 0000000..5e7603d Binary files /dev/null and b/merito.jpeg differ diff --git a/profile_image.jpg b/profile_image.jpg new file mode 100644 index 0000000..749a3b8 Binary files /dev/null and b/profile_image.jpg differ diff --git a/resume.pdf b/resume.pdf new file mode 100644 index 0000000..d803a4d Binary files /dev/null and b/resume.pdf differ