/*! For license information please see query.js.LICENSE.txt */ !function(){"use strict";var e={"./node_modules/react/cjs/react-jsx-runtime.development.js":function(e,t,r){!function(){var e=r("react"),n=Symbol.for("react.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),m=Symbol.iterator,b="@@iterator",v=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n=1&&l>=0&&a[c]!==u[l];)l--;for(;c>=1&&l>=0;c--,l--)if(a[c]!==u[l]){if(1!==c||1!==l)do{if(c--,--l<0||a[c]!==u[l]){var d="\n"+a[c].replace(" at new "," at ");return e.displayName&&d.includes("")&&(d=d.replace("",e.displayName)),"function"==typeof e&&D.set(e,d),d}}while(c>=1&&l>=0);break}}}finally{I=!1,T.current=s,function(){if(0==--E){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:_({},e,{value:k}),info:_({},e,{value:S}),warn:_({},e,{value:C}),error:_({},e,{value:w}),group:_({},e,{value:j}),groupCollapsed:_({},e,{value:P}),groupEnd:_({},e,{value:Q})})}E<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=i}var h=e?e.displayName||e.name:"",f=h?x(h):"";return"function"==typeof e&&D.set(e,f),f}function K(e,t,r){if(null==e)return"";if("function"==typeof e)return U(e,!(!(n=e.prototype)||!n.isReactComponent));var n;if("string"==typeof e)return x(e);switch(e){case d:return x("Suspense");case h:return x("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case l:return U(e.render,!1);case f:return K(e.type,t,r);case y:var s=e,i=s._payload,o=s._init;try{return K(o(i),t,r)}catch(e){}}return""}D=new A;var B=Object.prototype.hasOwnProperty,N={},L=v.ReactDebugCurrentFrame;function $(e){if(e){var t=e._owner,r=K(e.type,e._source,t?t.type:null);L.setExtraStackFrame(r)}else L.setExtraStackFrame(null)}var H=Array.isArray;function W(e){return H(e)}function G(e){return""+e}function z(e){if(function(e){try{return G(e),!1}catch(e){return!0}}(e))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),G(e)}var V,Y,J,X=v.ReactCurrentOwner,Z={key:!0,ref:!0,__self:!0,__source:!0};J={};var ee=function(e,t,r,s,i,o,a){var u={$$typeof:n,type:e,key:t,ref:r,props:a,_owner:o,_store:{}};return Object.defineProperty(u._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(u,"_self",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.defineProperty(u,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(u.props),Object.freeze(u)),u};var te,re=v.ReactCurrentOwner,ne=v.ReactDebugCurrentFrame;function se(e){if(e){var t=e._owner,r=K(e.type,e._source,t?t.type:null);ne.setExtraStackFrame(r)}else ne.setExtraStackFrame(null)}function ie(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}function oe(){if(re.current){var e=R(re.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}te=!1;var ae={};function ue(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var r=function(e){var t=oe();if(!t){var r="string"==typeof e?e:e.displayName||e.name;r&&(t="\n\nCheck the top-level render call using <"+r+">.")}return t}(t);if(!ae[r]){ae[r]=!0;var n="";e&&e._owner&&e._owner!==re.current&&(n=" It was passed a child from "+R(e._owner.type)+"."),se(e),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',r,n),se(null)}}}function ce(e,t){if("object"==typeof e)if(W(e))for(var r=0;r",q=" Did you accidentally export a JSX literal instead of a component?"):k=typeof e,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",k,q)}var C=function(e,t,r,n,s){var i,o={},a=null,u=null;for(i in void 0!==r&&(z(r),a=""+r),function(e){if(B.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(z(t.key),a=""+t.key),function(e){if(B.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(u=t.ref,function(e,t){if("string"==typeof e.ref&&X.current&&t&&X.current.stateNode!==t){var r=R(X.current.type);J[r]||(g('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',R(X.current.type),e.ref),J[r]=!0)}}(t,s)),t)B.call(t,i)&&!Z.hasOwnProperty(i)&&(o[i]=t[i]);if(e&&e.defaultProps){var c=e.defaultProps;for(i in c)void 0===o[i]&&(o[i]=c[i])}if(a||u){var l="function"==typeof e?e.displayName||e.name||"Unknown":e;a&&function(e,t){var r=function(){V||(V=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"key",{get:r,configurable:!0})}(o,l),u&&function(e,t){var r=function(){Y||(Y=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"ref",{get:r,configurable:!0})}(o,l)}return ee(e,a,u,s,n,X.current,o)}(e,t,r,m,b);if(null==C)return C;if(v){var w=t.children;if(void 0!==w)if(s)if(W(w)){for(var j=0;j0?"{key: someKey, "+Q.join(": ..., ")+": ...}":"{key: someKey}";le[P+_]||(g('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',_,P,Q.length>0?"{"+Q.join(": ..., ")+": ...}":"{}",P),le[P+_]=!0)}return e===i?function(e){for(var t=Object.keys(e.props),r=0;r{if(!s.isServer&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e((e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()}))}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach((t=>{t(e)}))}isFocused(){return"boolean"==typeof this.#e?this.#e:"hidden"!==globalThis.document?.visibilityState}},o=new i},"./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js":function(e,t,r){r.r(t),r.d(t,{hasNextPage:function(){return a},hasPreviousPage:function(){return u},infiniteQueryBehavior:function(){return s}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js");function s(e){return{onFetch:(t,r)=>{const s=async()=>{const r=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],u=t.state.data?.pageParams||[],c={pages:[],pageParams:[]};let l=!1;const d=(0,n.ensureQueryFn)(t.options,t.fetchOptions),h=async(e,r,s)=>{if(l)return Promise.reject();if(null==r&&e.pages.length)return Promise.resolve(e);const i={queryKey:t.queryKey,pageParam:r,direction:s?"backward":"forward",meta:t.options.meta};var o;o=i,Object.defineProperty(o,"signal",{enumerable:!0,get:()=>(t.signal.aborted?l=!0:t.signal.addEventListener("abort",(()=>{l=!0})),t.signal)});const a=await d(i),{maxPages:u}=t.options,c=s?n.addToStart:n.addToEnd;return{pages:c(e.pages,a,u),pageParams:c(e.pageParams,r,u)}};let f;if(s&&a.length){const e="backward"===s,t={pages:a,pageParams:u},n=(e?o:i)(r,t);f=await h(t,n,e)}else{f=await h(c,u[0]??r.initialPageParam);const t=e??a.length;for(let e=1;et.options.persister?.(s,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=s}}}function i(e,{pages:t,pageParams:r}){const n=t.length-1;return e.getNextPageParam(t[n],t,r[n],r)}function o(e,{pages:t,pageParams:r}){return e.getPreviousPageParam?.(t[0],t,r[0],r)}function a(e,t){return!!t&&null!=i(e,t)}function u(e,t){return!(!t||!e.getPreviousPageParam)&&null!=o(e,t)}},"./node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js":function(e,t,r){r.r(t),r.d(t,{InfiniteQueryObserver:function(){return i}});var n=r("./node_modules/@tanstack/query-core/build/modern/queryObserver.js"),s=r("./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js"),i=class extends n.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e,t){super.setOptions({...e,behavior:(0,s.infiniteQueryBehavior)()},t)}getOptimisticResult(e){return e.behavior=(0,s.infiniteQueryBehavior)(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){const{state:r}=e,n=super.createResult(e,t),{isFetching:i,isRefetching:o,isError:a,isRefetchError:u}=n,c=r.fetchMeta?.fetchMore?.direction,l=a&&"forward"===c,d=i&&"forward"===c,h=a&&"backward"===c,f=i&&"backward"===c;return{...n,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,s.hasNextPage)(t,r.data),hasPreviousPage:(0,s.hasPreviousPage)(t,r.data),isFetchNextPageError:l,isFetchingNextPage:d,isFetchPreviousPageError:h,isFetchingPreviousPage:f,isRefetchError:u&&!l&&!h,isRefetching:o&&!d&&!f}}}},"./node_modules/@tanstack/query-core/build/modern/mutation.js":function(e,t,r){r.r(t),r.d(t,{Mutation:function(){return o},getDefaultState:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),s=r("./node_modules/@tanstack/query-core/build/modern/removable.js"),i=r("./node_modules/@tanstack/query-core/build/modern/retryer.js"),o=class extends s.Removable{#n;#s;#i;constructor(e){super(),this.mutationId=e.mutationId,this.#s=e.mutationCache,this.#n=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#n.includes(e)||(this.#n.push(e),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#n=this.#n.filter((t=>t!==e)),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#n.length||("pending"===this.state.status?this.scheduleGc():this.#s.remove(this))}continue(){return this.#i?.continue()??this.execute(this.state.variables)}async execute(e){this.#i=(0,i.createRetryer)({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(e,t)=>{this.#o({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#s.canRun(this)});const t="pending"===this.state.status,r=!this.#i.canStart();try{if(!t){this.#o({type:"pending",variables:e,isPaused:r}),await(this.#s.config.onMutate?.(e,this));const t=await(this.options.onMutate?.(e));t!==this.state.context&&this.#o({type:"pending",context:t,variables:e,isPaused:r})}const n=await this.#i.start();return await(this.#s.config.onSuccess?.(n,e,this.state.context,this)),await(this.options.onSuccess?.(n,e,this.state.context)),await(this.#s.config.onSettled?.(n,null,this.state.variables,this.state.context,this)),await(this.options.onSettled?.(n,null,e,this.state.context)),this.#o({type:"success",data:n}),n}catch(t){try{throw await(this.#s.config.onError?.(t,e,this.state.context,this)),await(this.options.onError?.(t,e,this.state.context)),await(this.#s.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this)),await(this.options.onSettled?.(void 0,t,e,this.state.context)),t}finally{this.#o({type:"error",error:t})}}finally{this.#s.runNext(this)}}#o(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),n.notifyManager.batch((()=>{this.#n.forEach((t=>{t.onMutationUpdate(e)})),this.#s.notify({mutation:this,type:"updated",action:e})}))}};function a(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},"./node_modules/@tanstack/query-core/build/modern/mutationCache.js":function(e,t,r){r.r(t),r.d(t,{MutationCache:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),s=r("./node_modules/@tanstack/query-core/build/modern/mutation.js"),i=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),o=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),a=class extends o.Subscribable{constructor(e={}){super(),this.config=e,this.#a=new Map,this.#u=Date.now()}#a;#u;build(e,t,r){const n=new s.Mutation({mutationCache:this,mutationId:++this.#u,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){const t=u(e),r=this.#a.get(t)??[];r.push(e),this.#a.set(t,r),this.notify({type:"added",mutation:e})}remove(e){const t=u(e);if(this.#a.has(t)){const r=this.#a.get(t)?.filter((t=>t!==e));r&&(0===r.length?this.#a.delete(t):this.#a.set(t,r))}this.notify({type:"removed",mutation:e})}canRun(e){const t=this.#a.get(u(e))?.find((e=>"pending"===e.state.status));return!t||t===e}runNext(e){const t=this.#a.get(u(e))?.find((t=>t!==e&&t.state.isPaused));return t?.continue()??Promise.resolve()}clear(){n.notifyManager.batch((()=>{this.getAll().forEach((e=>{this.remove(e)}))}))}getAll(){return[...this.#a.values()].flat()}find(e){const t={exact:!0,...e};return this.getAll().find((e=>(0,i.matchMutation)(t,e)))}findAll(e={}){return this.getAll().filter((t=>(0,i.matchMutation)(e,t)))}notify(e){n.notifyManager.batch((()=>{this.listeners.forEach((t=>{t(e)}))}))}resumePausedMutations(){const e=this.getAll().filter((e=>e.state.isPaused));return n.notifyManager.batch((()=>Promise.all(e.map((e=>e.continue().catch(i.noop))))))}};function u(e){return e.options.scope?.id??String(e.mutationId)}},"./node_modules/@tanstack/query-core/build/modern/mutationObserver.js":function(e,t,r){r.r(t),r.d(t,{MutationObserver:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/mutation.js"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),o=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),a=class extends i.Subscribable{#c;#l=void 0;#d;#h;constructor(e,t){super(),this.#c=e,this.setOptions(t),this.bindMethods(),this.#f()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){const t=this.options;this.options=this.#c.defaultMutationOptions(e),(0,o.shallowEqualObjects)(this.options,t)||this.#c.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#d,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,o.hashKey)(t.mutationKey)!==(0,o.hashKey)(this.options.mutationKey)?this.reset():"pending"===this.#d?.state.status&&this.#d.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#d?.removeObserver(this)}onMutationUpdate(e){this.#f(),this.#y(e)}getCurrentResult(){return this.#l}reset(){this.#d?.removeObserver(this),this.#d=void 0,this.#f(),this.#y()}mutate(e,t){return this.#h=t,this.#d?.removeObserver(this),this.#d=this.#c.getMutationCache().build(this.#c,this.options),this.#d.addObserver(this),this.#d.execute(e)}#f(){const e=this.#d?.state??(0,n.getDefaultState)();this.#l={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#y(e){s.notifyManager.batch((()=>{if(this.#h&&this.hasListeners()){const t=this.#l.variables,r=this.#l.context;"success"===e?.type?(this.#h.onSuccess?.(e.data,t,r),this.#h.onSettled?.(e.data,null,t,r)):"error"===e?.type&&(this.#h.onError?.(e.error,t,r),this.#h.onSettled?.(void 0,e.error,t,r))}this.listeners.forEach((e=>{e(this.#l)}))}))}}},"./node_modules/@tanstack/query-core/build/modern/notifyManager.js":function(e,t,r){function n(){let e=[],t=0,r=e=>{e()},n=e=>{e()},s=e=>setTimeout(e,0);const i=n=>{t?e.push(n):s((()=>{r(n)}))};return{batch:i=>{let o;t++;try{o=i()}finally{t--,t||(()=>{const t=e;e=[],t.length&&s((()=>{n((()=>{t.forEach((e=>{r(e)}))}))}))})()}return o},batchCalls:e=>(...t)=>{i((()=>{e(...t)}))},schedule:i,setNotifyFunction:e=>{r=e},setBatchNotifyFunction:e=>{n=e},setScheduler:e=>{s=e}}}r.r(t),r.d(t,{createNotifyManager:function(){return n},notifyManager:function(){return s}});var s=n()},"./node_modules/@tanstack/query-core/build/modern/onlineManager.js":function(e,t,r){r.r(t),r.d(t,{OnlineManager:function(){return i},onlineManager:function(){return o}});var n=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),s=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),i=class extends n.Subscribable{#p=!0;#t;#r;constructor(){super(),this.#r=e=>{if(!s.isServer&&window.addEventListener){const t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#p!==e&&(this.#p=e,this.listeners.forEach((t=>{t(e)})))}isOnline(){return this.#p}},o=new i},"./node_modules/@tanstack/query-core/build/modern/query.js":function(e,t,r){r.r(t),r.d(t,{Query:function(){return a},fetchState:function(){return u}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/retryer.js"),o=r("./node_modules/@tanstack/query-core/build/modern/removable.js"),a=class extends o.Removable{#m;#b;#v;#i;#g;#O;constructor(e){super(),this.#O=!1,this.#g=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#v=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#m=e.state||function(e){const t="function"==typeof e.initialData?e.initialData():e.initialData,r=void 0!==t,n=r?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}(this.options),this.state=this.#m,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){this.options={...this.#g,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#v.remove(this)}setData(e,t){const r=(0,n.replaceData)(this.state.data,e,this.options);return this.#o({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#o({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(n.noop).catch(n.noop):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#m)}isActive(){return this.observers.some((e=>!1!==(0,n.resolveEnabled)(e.options.enabled,this)))}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return!!this.state.isInvalidated||(this.getObserversCount()>0?this.observers.some((e=>e.getCurrentResult().isStale)):void 0===this.state.data)}isStaleByTime(e=0){return this.state.isInvalidated||void 0===this.state.data||!(0,n.timeUntilStale)(this.state.dataUpdatedAt,e)}onFocus(){const e=this.observers.find((e=>e.shouldFetchOnWindowFocus()));e?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){const e=this.observers.find((e=>e.shouldFetchOnReconnect()));e?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#v.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter((t=>t!==e)),this.observers.length||(this.#i&&(this.#O?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#v.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#o({type:"invalidate"})}fetch(e,t){if("idle"!==this.state.fetchStatus)if(void 0!==this.state.data&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise;if(e&&this.setOptions(e),!this.options.queryFn){const e=this.observers.find((e=>e.options.queryFn));e&&this.setOptions(e.options)}Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']");const r=new AbortController,s=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#O=!0,r.signal)})},o={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:()=>{const e=(0,n.ensureQueryFn)(this.options,t),r={queryKey:this.queryKey,meta:this.meta};return s(r),this.#O=!1,this.options.persister?this.options.persister(e,r,this):e(r)}};s(o),this.options.behavior?.onFetch(o,this),this.#b=this.state,"idle"!==this.state.fetchStatus&&this.state.fetchMeta===o.fetchOptions?.meta||this.#o({type:"fetch",meta:o.fetchOptions?.meta});const a=e=>{(0,i.isCancelledError)(e)&&e.silent||this.#o({type:"error",error:e}),(0,i.isCancelledError)(e)||(this.#v.config.onError?.(e,this),this.#v.config.onSettled?.(this.state.data,e,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.#i=(0,i.createRetryer)({initialPromise:t?.initialPromise,fn:o.fetchFn,abort:r.abort.bind(r),onSuccess:e=>{if(void 0===e)return console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),void a(new Error(`${this.queryHash} data is undefined`));this.setData(e),this.#v.config.onSuccess?.(e,this),this.#v.config.onSettled?.(e,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:a,onFail:(e,t)=>{this.#o({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}),this.#i.start()}#o(e){this.state=(t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...u(t.data,this.options),fetchMeta:e.meta??null};case"success":return{...t,data:e.data,dataUpdateCount:t.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const r=e.error;return(0,i.isCancelledError)(r)&&r.revert&&this.#b?{...this.#b,fetchStatus:"idle"}:{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}})(this.state),s.notifyManager.batch((()=>{this.observers.forEach((e=>{e.onQueryUpdate()})),this.#v.notify({query:this,type:"updated",action:e})}))}};function u(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:(0,i.canFetch)(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}},"./node_modules/@tanstack/query-core/build/modern/queryCache.js":function(e,t,r){r.r(t),r.d(t,{QueryCache:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/query.js"),i=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),o=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),a=class extends o.Subscribable{constructor(e={}){super(),this.config=e,this.#q=new Map}#q;build(e,t,r){const i=t.queryKey,o=t.queryHash??(0,n.hashQueryKeyByOptions)(i,t);let a=this.get(o);return a||(a=new s.Query({cache:this,queryKey:i,queryHash:o,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(a)),a}add(e){this.#q.has(e.queryHash)||(this.#q.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#q.get(e.queryHash);t&&(e.destroy(),t===e&&this.#q.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){i.notifyManager.batch((()=>{this.getAll().forEach((e=>{this.remove(e)}))}))}get(e){return this.#q.get(e)}getAll(){return[...this.#q.values()]}find(e){const t={exact:!0,...e};return this.getAll().find((e=>(0,n.matchQuery)(t,e)))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter((t=>(0,n.matchQuery)(e,t))):t}notify(e){i.notifyManager.batch((()=>{this.listeners.forEach((t=>{t(e)}))}))}onFocus(){i.notifyManager.batch((()=>{this.getAll().forEach((e=>{e.onFocus()}))}))}onOnline(){i.notifyManager.batch((()=>{this.getAll().forEach((e=>{e.onOnline()}))}))}}},"./node_modules/@tanstack/query-core/build/modern/queryClient.js":function(e,t,r){r.r(t),r.d(t,{QueryClient:function(){return l}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/queryCache.js"),i=r("./node_modules/@tanstack/query-core/build/modern/mutationCache.js"),o=r("./node_modules/@tanstack/query-core/build/modern/focusManager.js"),a=r("./node_modules/@tanstack/query-core/build/modern/onlineManager.js"),u=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),c=r("./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js"),l=class{#R;#s;#g;#k;#S;#C;#w;#j;constructor(e={}){this.#R=e.queryCache||new s.QueryCache,this.#s=e.mutationCache||new i.MutationCache,this.#g=e.defaultOptions||{},this.#k=new Map,this.#S=new Map,this.#C=0}mount(){this.#C++,1===this.#C&&(this.#w=o.focusManager.subscribe((async e=>{e&&(await this.resumePausedMutations(),this.#R.onFocus())})),this.#j=a.onlineManager.subscribe((async e=>{e&&(await this.resumePausedMutations(),this.#R.onOnline())})))}unmount(){this.#C--,0===this.#C&&(this.#w?.(),this.#w=void 0,this.#j?.(),this.#j=void 0)}isFetching(e){return this.#R.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#s.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#R.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);if(void 0===t)return this.fetchQuery(e);{const r=this.defaultQueryOptions(e),s=this.#R.build(this,r);return e.revalidateIfStale&&s.isStaleByTime((0,n.resolveStaleTime)(r.staleTime,s))&&this.prefetchQuery(r),Promise.resolve(t)}}getQueriesData(e){return this.#R.findAll(e).map((({queryKey:e,state:t})=>[e,t.data]))}setQueryData(e,t,r){const s=this.defaultQueryOptions({queryKey:e}),i=this.#R.get(s.queryHash),o=i?.state.data,a=(0,n.functionalUpdate)(t,o);if(void 0!==a)return this.#R.build(this,s).setData(a,{...r,manual:!0})}setQueriesData(e,t,r){return u.notifyManager.batch((()=>this.#R.findAll(e).map((({queryKey:e})=>[e,this.setQueryData(e,t,r)]))))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#R.get(t.queryHash)?.state}removeQueries(e){const t=this.#R;u.notifyManager.batch((()=>{t.findAll(e).forEach((e=>{t.remove(e)}))}))}resetQueries(e,t){const r=this.#R,n={type:"active",...e};return u.notifyManager.batch((()=>(r.findAll(e).forEach((e=>{e.reset()})),this.refetchQueries(n,t))))}cancelQueries(e={},t={}){const r={revert:!0,...t},s=u.notifyManager.batch((()=>this.#R.findAll(e).map((e=>e.cancel(r)))));return Promise.all(s).then(n.noop).catch(n.noop)}invalidateQueries(e={},t={}){return u.notifyManager.batch((()=>{if(this.#R.findAll(e).forEach((e=>{e.invalidate()})),"none"===e.refetchType)return Promise.resolve();const r={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(r,t)}))}refetchQueries(e={},t){const r={...t,cancelRefetch:t?.cancelRefetch??!0},s=u.notifyManager.batch((()=>this.#R.findAll(e).filter((e=>!e.isDisabled())).map((e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.noop)),"paused"===e.state.fetchStatus?Promise.resolve():t}))));return Promise.all(s).then(n.noop)}fetchQuery(e){const t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);const r=this.#R.build(this,t);return r.isStaleByTime((0,n.resolveStaleTime)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.noop).catch(n.noop)}fetchInfiniteQuery(e){return e.behavior=(0,c.infiniteQueryBehavior)(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.noop).catch(n.noop)}resumePausedMutations(){return a.onlineManager.isOnline()?this.#s.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#R}getMutationCache(){return this.#s}getDefaultOptions(){return this.#g}setDefaultOptions(e){this.#g=e}setQueryDefaults(e,t){this.#k.set((0,n.hashKey)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#k.values()];let r={};return t.forEach((t=>{(0,n.partialMatchKey)(e,t.queryKey)&&(r={...r,...t.defaultOptions})})),r}setMutationDefaults(e,t){this.#S.set((0,n.hashKey)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#S.values()];let r={};return t.forEach((t=>{(0,n.partialMatchKey)(e,t.mutationKey)&&(r={...r,...t.defaultOptions})})),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#g.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,n.hashQueryKeyByOptions)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),!0!==t.enabled&&t.queryFn===n.skipToken&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#g.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#R.clear(),this.#s.clear()}}},"./node_modules/@tanstack/query-core/build/modern/queryObserver.js":function(e,t,r){r.r(t),r.d(t,{QueryObserver:function(){return u}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/focusManager.js"),o=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),a=r("./node_modules/@tanstack/query-core/build/modern/query.js"),u=class extends o.Subscribable{constructor(e,t){super(),this.options=t,this.#c=e,this.#P=null,this.bindMethods(),this.setOptions(t)}#c;#Q=void 0;#_=void 0;#l=void 0;#E;#M;#P;#F;#T;#x;#D;#I;#A;#U=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#Q.addObserver(this),c(this.#Q,this.options)?this.#K():this.updateResult(),this.#B())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return l(this.#Q,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return l(this.#Q,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#N(),this.#L(),this.#Q.removeObserver(this)}setOptions(e,t){const r=this.options,s=this.#Q;if(this.options=this.#c.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,n.resolveEnabled)(this.options.enabled,this.#Q))throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#$(),this.#Q.setOptions(this.options),r._defaulted&&!(0,n.shallowEqualObjects)(this.options,r)&&this.#c.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#Q,observer:this});const i=this.hasListeners();i&&d(this.#Q,s,this.options,r)&&this.#K(),this.updateResult(t),!i||this.#Q===s&&(0,n.resolveEnabled)(this.options.enabled,this.#Q)===(0,n.resolveEnabled)(r.enabled,this.#Q)&&(0,n.resolveStaleTime)(this.options.staleTime,this.#Q)===(0,n.resolveStaleTime)(r.staleTime,this.#Q)||this.#H();const o=this.#W();!i||this.#Q===s&&(0,n.resolveEnabled)(this.options.enabled,this.#Q)===(0,n.resolveEnabled)(r.enabled,this.#Q)&&o===this.#A||this.#G(o)}getOptimisticResult(e){const t=this.#c.getQueryCache().build(this.#c,e),r=this.createResult(t,e);return s=this,i=r,!(0,n.shallowEqualObjects)(s.getCurrentResult(),i)&&(this.#l=r,this.#M=this.options,this.#E=this.#Q.state),r;var s,i}getCurrentResult(){return this.#l}trackResult(e,t){const r={};return Object.keys(e).forEach((n=>{Object.defineProperty(r,n,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(n),t?.(n),e[n])})})),r}trackProp(e){this.#U.add(e)}getCurrentQuery(){return this.#Q}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#c.defaultQueryOptions(e),r=this.#c.getQueryCache().build(this.#c,t);return r.isFetchingOptimistic=!0,r.fetch().then((()=>this.createResult(r,t)))}fetch(e){return this.#K({...e,cancelRefetch:e.cancelRefetch??!0}).then((()=>(this.updateResult(),this.#l)))}#K(e){this.#$();let t=this.#Q.fetch(this.options,e);return e?.throwOnError||(t=t.catch(n.noop)),t}#H(){this.#N();const e=(0,n.resolveStaleTime)(this.options.staleTime,this.#Q);if(n.isServer||this.#l.isStale||!(0,n.isValidTimeout)(e))return;const t=(0,n.timeUntilStale)(this.#l.dataUpdatedAt,e)+1;this.#D=setTimeout((()=>{this.#l.isStale||this.updateResult()}),t)}#W(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#Q):this.options.refetchInterval)??!1}#G(e){this.#L(),this.#A=e,!n.isServer&&!1!==(0,n.resolveEnabled)(this.options.enabled,this.#Q)&&(0,n.isValidTimeout)(this.#A)&&0!==this.#A&&(this.#I=setInterval((()=>{(this.options.refetchIntervalInBackground||i.focusManager.isFocused())&&this.#K()}),this.#A))}#B(){this.#H(),this.#G(this.#W())}#N(){this.#D&&(clearTimeout(this.#D),this.#D=void 0)}#L(){this.#I&&(clearInterval(this.#I),this.#I=void 0)}createResult(e,t){const r=this.#Q,s=this.options,i=this.#l,o=this.#E,u=this.#M,l=e!==r?e.state:this.#_,{state:f}=e;let y,p={...f},m=!1;if(t._optimisticResults){const n=this.hasListeners(),i=!n&&c(e,t),o=n&&d(e,r,t,s);(i||o)&&(p={...p,...(0,a.fetchState)(f.data,e.options)}),"isRestoring"===t._optimisticResults&&(p.fetchStatus="idle")}let{error:b,errorUpdatedAt:v,status:g}=p;if(t.select&&void 0!==p.data)if(i&&p.data===o?.data&&t.select===this.#F)y=this.#T;else try{this.#F=t.select,y=t.select(p.data),y=(0,n.replaceData)(i?.data,y,t),this.#T=y,this.#P=null}catch(e){this.#P=e}else y=p.data;if(void 0!==t.placeholderData&&void 0===y&&"pending"===g){let e;if(i?.isPlaceholderData&&t.placeholderData===u?.placeholderData)e=i.data;else if(e="function"==typeof t.placeholderData?t.placeholderData(this.#x?.state.data,this.#x):t.placeholderData,t.select&&void 0!==e)try{e=t.select(e),this.#P=null}catch(e){this.#P=e}void 0!==e&&(g="success",y=(0,n.replaceData)(i?.data,e,t),m=!0)}this.#P&&(b=this.#P,y=this.#T,v=Date.now(),g="error");const O="fetching"===p.fetchStatus,q="pending"===g,R="error"===g,k=q&&O,S=void 0!==y;return{status:g,fetchStatus:p.fetchStatus,isPending:q,isSuccess:"success"===g,isError:R,isInitialLoading:k,isLoading:k,data:y,dataUpdatedAt:p.dataUpdatedAt,error:b,errorUpdatedAt:v,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:p.dataUpdateCount>0||p.errorUpdateCount>0,isFetchedAfterMount:p.dataUpdateCount>l.dataUpdateCount||p.errorUpdateCount>l.errorUpdateCount,isFetching:O,isRefetching:O&&!q,isLoadingError:R&&!S,isPaused:"paused"===p.fetchStatus,isPlaceholderData:m,isRefetchError:R&&S,isStale:h(e,t),refetch:this.refetch}}updateResult(e){const t=this.#l,r=this.createResult(this.#Q,this.options);if(this.#E=this.#Q.state,this.#M=this.options,void 0!==this.#E.data&&(this.#x=this.#Q),(0,n.shallowEqualObjects)(r,t))return;this.#l=r;const s={};!1!==e?.listeners&&(()=>{if(!t)return!0;const{notifyOnChangeProps:e}=this.options,r="function"==typeof e?e():e;if("all"===r||!r&&!this.#U.size)return!0;const n=new Set(r??this.#U);return this.options.throwOnError&&n.add("error"),Object.keys(this.#l).some((e=>{const r=e;return this.#l[r]!==t[r]&&n.has(r)}))})()&&(s.listeners=!0),this.#y({...s,...e})}#$(){const e=this.#c.getQueryCache().build(this.#c,this.options);if(e===this.#Q)return;const t=this.#Q;this.#Q=e,this.#_=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#B()}#y(e){s.notifyManager.batch((()=>{e.listeners&&this.listeners.forEach((e=>{e(this.#l)})),this.#c.getQueryCache().notify({query:this.#Q,type:"observerResultsUpdated"})}))}};function c(e,t){return function(e,t){return!1!==(0,n.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&!("error"===e.state.status&&!1===t.retryOnMount)}(e,t)||void 0!==e.state.data&&l(e,t,t.refetchOnMount)}function l(e,t,r){if(!1!==(0,n.resolveEnabled)(t.enabled,e)){const n="function"==typeof r?r(e):r;return"always"===n||!1!==n&&h(e,t)}return!1}function d(e,t,r,s){return(e!==t||!1===(0,n.resolveEnabled)(s.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&h(e,r)}function h(e,t){return!1!==(0,n.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,n.resolveStaleTime)(t.staleTime,e))}},"./node_modules/@tanstack/query-core/build/modern/removable.js":function(e,t,r){r.r(t),r.d(t,{Removable:function(){return s}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=class{#z;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,n.isValidTimeout)(this.gcTime)&&(this.#z=setTimeout((()=>{this.optionalRemove()}),this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(n.isServer?1/0:3e5))}clearGcTimeout(){this.#z&&(clearTimeout(this.#z),this.#z=void 0)}}},"./node_modules/@tanstack/query-core/build/modern/retryer.js":function(e,t,r){r.r(t),r.d(t,{CancelledError:function(){return u},canFetch:function(){return a},createRetryer:function(){return l},isCancelledError:function(){return c}});var n=r("./node_modules/@tanstack/query-core/build/modern/focusManager.js"),s=r("./node_modules/@tanstack/query-core/build/modern/onlineManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/utils.js");function o(e){return Math.min(1e3*2**e,3e4)}function a(e){return"online"!==(e??"online")||s.onlineManager.isOnline()}var u=class{constructor(e){this.revert=e?.revert,this.silent=e?.silent}};function c(e){return e instanceof u}function l(e){let t,r,c,l=!1,d=0,h=!1;const f=new Promise(((e,t)=>{r=e,c=t})),y=()=>n.focusManager.isFocused()&&("always"===e.networkMode||s.onlineManager.isOnline())&&e.canRun(),p=()=>a(e.networkMode)&&e.canRun(),m=n=>{h||(h=!0,e.onSuccess?.(n),t?.(),r(n))},b=r=>{h||(h=!0,e.onError?.(r),t?.(),c(r))},v=()=>new Promise((r=>{t=e=>{(h||y())&&r(e)},e.onPause?.()})).then((()=>{t=void 0,h||e.onContinue?.()})),g=()=>{if(h)return;let t;const r=0===d?e.initialPromise:void 0;try{t=r??e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(m).catch((t=>{if(h)return;const r=e.retry??(i.isServer?0:3),n=e.retryDelay??o,s="function"==typeof n?n(d,t):n,a=!0===r||"number"==typeof r&&dy()?void 0:v())).then((()=>{l?b(t):g()}))):b(t)}))};return{promise:f,cancel:t=>{h||(b(new u(t)),e.abort?.())},continue:()=>(t?.(),f),cancelRetry:()=>{l=!0},continueRetry:()=>{l=!1},canStart:p,start:()=>(p()?g():v().then(g),f)}}},"./node_modules/@tanstack/query-core/build/modern/subscribable.js":function(e,t,r){r.r(t),r.d(t,{Subscribable:function(){return n}});var n=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}},"./node_modules/@tanstack/query-core/build/modern/utils.js":function(e,t,r){r.r(t),r.d(t,{addToEnd:function(){return k},addToStart:function(){return S},ensureQueryFn:function(){return w},functionalUpdate:function(){return i},hashKey:function(){return f},hashQueryKeyByOptions:function(){return h},isPlainArray:function(){return b},isPlainObject:function(){return v},isServer:function(){return n},isValidTimeout:function(){return o},keepPreviousData:function(){return R},matchMutation:function(){return d},matchQuery:function(){return l},noop:function(){return s},partialMatchKey:function(){return y},replaceData:function(){return q},replaceEqualDeep:function(){return p},resolveEnabled:function(){return c},resolveStaleTime:function(){return u},shallowEqualObjects:function(){return m},skipToken:function(){return C},sleep:function(){return O},timeUntilStale:function(){return a}});var n="undefined"==typeof window||"Deno"in globalThis;function s(){}function i(e,t){return"function"==typeof e?e(t):e}function o(e){return"number"==typeof e&&e>=0&&e!==1/0}function a(e,t){return Math.max(e+(t||0)-Date.now(),0)}function u(e,t){return"function"==typeof e?e(t):e}function c(e,t){return"function"==typeof e?e(t):e}function l(e,t){const{type:r="all",exact:n,fetchStatus:s,predicate:i,queryKey:o,stale:a}=e;if(o)if(n){if(t.queryHash!==h(o,t.options))return!1}else if(!y(t.queryKey,o))return!1;if("all"!==r){const e=t.isActive();if("active"===r&&!e)return!1;if("inactive"===r&&e)return!1}return!("boolean"==typeof a&&t.isStale()!==a||s&&s!==t.state.fetchStatus||i&&!i(t))}function d(e,t){const{exact:r,status:n,predicate:s,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(r){if(f(t.options.mutationKey)!==f(i))return!1}else if(!y(t.options.mutationKey,i))return!1}return!(n&&t.state.status!==n||s&&!s(t))}function h(e,t){return(t?.queryKeyHashFn||f)(e)}function f(e){return JSON.stringify(e,((e,t)=>v(t)?Object.keys(t).sort().reduce(((e,r)=>(e[r]=t[r],e)),{}):t))}function y(e,t){return e===t||typeof e==typeof t&&!(!e||!t||"object"!=typeof e||"object"!=typeof t)&&!Object.keys(t).some((r=>!y(e[r],t[r])))}function p(e,t){if(e===t)return e;const r=b(e)&&b(t);if(r||v(e)&&v(t)){const n=r?e:Object.keys(e),s=n.length,i=r?t:Object.keys(t),o=i.length,a=r?[]:{};let u=0;for(let s=0;s{setTimeout(t,e)}))}function q(e,t,r){return"function"==typeof r.structuralSharing?r.structuralSharing(e,t):!1!==r.structuralSharing?p(e,t):t}function R(e){return e}function k(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function S(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var C=Symbol(),w=(e,t)=>(e.queryFn===C&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==C?e.queryFn:()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)))},"./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js":function(e,t,r){r.r(t),r.d(t,{QueryClientContext:function(){return i},QueryClientProvider:function(){return a},useQueryClient:function(){return o}});var n=r("react"),s=r("./node_modules/react/jsx-runtime.js"),i=n.createContext(void 0),o=e=>{const t=n.useContext(i);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},a=({client:e,children:t})=>(n.useEffect((()=>(e.mount(),()=>{e.unmount()})),[e]),(0,s.jsx)(i.Provider,{value:e,children:t}))},"./node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js":function(e,t,r){r.r(t),r.d(t,{QueryErrorResetBoundary:function(){return u},useQueryErrorResetBoundary:function(){return a}});var n=r("react"),s=r("./node_modules/react/jsx-runtime.js");function i(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var o=n.createContext(i()),a=()=>n.useContext(o),u=({children:e})=>{const[t]=n.useState((()=>i()));return(0,s.jsx)(o.Provider,{value:t,children:"function"==typeof e?e(t):e})}},"./node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js":function(e,t,r){r.r(t),r.d(t,{ensurePreventErrorBoundaryRetry:function(){return i},getHasError:function(){return a},useClearResetErrorBoundary:function(){return o}});var n=r("react"),s=r("./node_modules/@tanstack/react-query/build/modern/utils.js"),i=(e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},o=e=>{n.useEffect((()=>{e.clearReset()}),[e])},a=({result:e,errorResetBoundary:t,throwOnError:r,query:n})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(0,s.shouldThrowError)(r,[e.error,n])},"./node_modules/@tanstack/react-query/build/modern/isRestoring.js":function(e,t,r){r.r(t),r.d(t,{IsRestoringProvider:function(){return o},useIsRestoring:function(){return i}});var n=r("react"),s=n.createContext(!1),i=()=>n.useContext(s),o=s.Provider},"./node_modules/@tanstack/react-query/build/modern/suspense.js":function(e,t,r){r.r(t),r.d(t,{defaultThrowOnError:function(){return n},ensureStaleTime:function(){return s},fetchOptimistic:function(){return a},shouldSuspend:function(){return o},willFetch:function(){return i}});var n=(e,t)=>void 0===t.state.data,s=e=>{e.suspense&&"number"!=typeof e.staleTime&&(e.staleTime=1e3)},i=(e,t)=>e.isLoading&&e.isFetching&&!t,o=(e,t)=>e?.suspense&&t.isPending,a=(e,t,r)=>t.fetchOptimistic(e).catch((()=>{r.clearReset()}))},"./node_modules/@tanstack/react-query/build/modern/useBaseQuery.js":function(e,t,r){r.r(t),r.d(t,{useBaseQuery:function(){return l}});var n=r("react"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js"),o=r("./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js"),a=r("./node_modules/@tanstack/react-query/build/modern/isRestoring.js"),u=r("./node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js"),c=r("./node_modules/@tanstack/react-query/build/modern/suspense.js");function l(e,t,r){if("object"!=typeof e||Array.isArray(e))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const l=(0,o.useQueryClient)(r),d=(0,a.useIsRestoring)(),h=(0,i.useQueryErrorResetBoundary)(),f=l.defaultQueryOptions(e);l.getDefaultOptions().queries?._experimental_beforeQuery?.(f),f._optimisticResults=d?"isRestoring":"optimistic",(0,c.ensureStaleTime)(f),(0,u.ensurePreventErrorBoundaryRetry)(f,h),(0,u.useClearResetErrorBoundary)(h);const[y]=n.useState((()=>new t(l,f))),p=y.getOptimisticResult(f);if(n.useSyncExternalStore(n.useCallback((e=>{const t=d?()=>{}:y.subscribe(s.notifyManager.batchCalls(e));return y.updateResult(),t}),[y,d]),(()=>y.getCurrentResult()),(()=>y.getCurrentResult())),n.useEffect((()=>{y.setOptions(f,{listeners:!1})}),[f,y]),(0,c.shouldSuspend)(f,p))throw(0,c.fetchOptimistic)(f,y,h);if((0,u.getHasError)({result:p,errorResetBoundary:h,throwOnError:f.throwOnError,query:l.getQueryCache().get(f.queryHash)}))throw p.error;return l.getDefaultOptions().queries?._experimental_afterQuery?.(f,p),f.notifyOnChangeProps?p:y.trackResult(p)}},"./node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js":function(e,t,r){r.r(t),r.d(t,{useInfiniteQuery:function(){return i}});var n=r("./node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js"),s=r("./node_modules/@tanstack/react-query/build/modern/useBaseQuery.js");function i(e,t){return(0,s.useBaseQuery)(e,n.InfiniteQueryObserver,t)}},"./node_modules/@tanstack/react-query/build/modern/useMutation.js":function(e,t,r){r.r(t),r.d(t,{useMutation:function(){return u}});var n=r("react"),s=r("./node_modules/@tanstack/query-core/build/modern/mutationObserver.js"),i=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),o=r("./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js"),a=r("./node_modules/@tanstack/react-query/build/modern/utils.js");function u(e,t){const r=(0,o.useQueryClient)(t),[u]=n.useState((()=>new s.MutationObserver(r,e)));n.useEffect((()=>{u.setOptions(e)}),[u,e]);const c=n.useSyncExternalStore(n.useCallback((e=>u.subscribe(i.notifyManager.batchCalls(e))),[u]),(()=>u.getCurrentResult()),(()=>u.getCurrentResult())),l=n.useCallback(((e,t)=>{u.mutate(e,t).catch(a.noop)}),[u]);if(c.error&&(0,a.shouldThrowError)(u.options.throwOnError,[c.error]))throw c.error;return{...c,mutate:l,mutateAsync:c.mutate}}},"./node_modules/@tanstack/react-query/build/modern/useQuery.js":function(e,t,r){r.r(t),r.d(t,{useQuery:function(){return i}});var n=r("./node_modules/@tanstack/query-core/build/modern/queryObserver.js"),s=r("./node_modules/@tanstack/react-query/build/modern/useBaseQuery.js");function i(e,t){return(0,s.useBaseQuery)(e,n.QueryObserver,t)}},"./node_modules/@tanstack/react-query/build/modern/utils.js":function(e,t,r){function n(e,t){return"function"==typeof e?e(...t):!!e}function s(){}r.r(t),r.d(t,{noop:function(){return s},shouldThrowError:function(){return n}})}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){r.r(n),r.d(n,{QueryClient:function(){return e.QueryClient},QueryClientProvider:function(){return t.QueryClientProvider},createQueryClient:function(){return a},useInfiniteQuery:function(){return s.useInfiniteQuery},useMutation:function(){return i.useMutation},useQuery:function(){return o.useQuery},useQueryClient:function(){return t.useQueryClient}});var e=r("./node_modules/@tanstack/query-core/build/modern/queryClient.js"),t=r("./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js"),s=r("./node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js"),i=r("./node_modules/@tanstack/react-query/build/modern/useMutation.js"),o=r("./node_modules/@tanstack/react-query/build/modern/useQuery.js");function a(){return new e.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,refetchOnReconnect:!1}}})}}(),(window.elementorV2=window.elementorV2||{}).query=n}(); 20bet Kaszinó Áttekintés Magyarország ️ A Legjobb Üdvözlő Bónuszo - Expungecrimes
TOUCH BELOW FOR A FREE CASE REVIEW 24/7

Free Consultations (213) 687-4412

20bet Kaszinó Áttekintés Magyarország ️ A Legjobb Üdvözlő Bónuszok

20bet Magyar Megbízható Fogadóiroda? 100% Bónusz Akár 35 000 Huf

A 20bet on-line regisztráció során regisztrációs bónusz áll arizona új játékosok rendelkezésére. Az új ügyfelek számára elérhető arizona Üdvözlőbónusz, aminek értelmében HUF értékig the 20bet az első befizetésünkkel megegyező bónusz összeget ad fiókunk egyenlegéhez. Feltétele arizona aktivált bónusz használatának, hogy először the játékos számláján the valódi pénzt forgassa vissza fogadásokra, majd ezt követően the bónusz összegét.

A 20Bet többféle módon will be elérhető az ügyfelek számára, így mindenki kiválaszthatja a számára legmegfelelőbb kapcsolattartási módot. A leggyorsabb és legkényelmesebb módja the kapcsolattartásnak a weboldalon található élő csevegés, amely lehetővé teszi az azonnali választ a felmerülő kérdésekre. Ha élőben szeretne asztali játékokat játszani, ezt megteheti a new 20Bet Kaszinóban.

Rulett

Arra törekszünk, hogy arizona olvasóink számára hasznos információkat nyújtsunk, amelyek segítségével eldönthetik, érdemes-e ezen az oldalon regisztrálni. Különös figyelmet fordítunk a magyar piacra vonatkozó nyelvi és pénznem kérdésekre, valamint arra, hogy a 20Bet mennyire felel meg the magyar játékosok elvárásainak és igényeinek. A 20BET kaszinó egy jó hírű és megbízható online kaszinó, amely játékok és szolgáltatások széles választékát kínálja. A kaszinó felhasználóbarát felülettel, gyors és biztonságos tranzakciókkal, valamint számos ügyfélszolgálati lehetőséggel rendelkezik. Mivel azonban nem rendelkezem konkrét információkkal a 20BET kaszinóról, nem tudom megerősíteni, hogy megbízhatunk-e benne vagy sem 20bet.

  • Az Üdvözlőbónusz csak ezt követően kerül jóváírásra, az első befizetés után.
  • Az alkalmazás nagyszerűen optimalizált, gyors belépést és számtalan értesítési lehetőséget biztosít a játékosoknak a tökéletes játékélmény mellé.
  • A játékosok olyan egyedülálló játékokat élvezhetnek, amelyek máshol nem találhatók meg az online kaszinók világában.
  • A szerencsejátékosok körében az általános vélekedés, hogy péntekenként óra arizona ideális időpont the szerencsejátékhoz.
  • A 20Bet felületén jelenleg semmilyen befizetés nélküli bónusz nem elérhető.

A pénzbónuszhoz one hundred twenty ingyenes pörgetést is kapsz, amit az „Elvis Frog” nyerőgépen használhatsz fel. A kaszinós pénzbónuszra (első befizetés + bónusz), és az ingyenes pörgetésekből elért nyereményekre is 40x-es megforgatási követelmény van érvényben. A 20Bet mobil webes alkalmazás nagy előnye, hogy nem kell letölteni a telefonunkra, és stabilan működik a legtöbb böngészőben egyaránt. Így azon kívül, hogy felkeressük a weboldalt nincs más dolgunk, csak fogadni vagy” “épp kaszinózni.

Et Kaszinó Értékelés

Más promóciók magukban foglalhatják a new játékosok számára biztosított ingyenes fogadásokat, amelyeket bizonyos feltételek teljesítése után kapnak, például egy héten belül meghatározott számú fogadás megtétele esetén. A felelősségteljes játékmóddal kapcsolatos tudatosság növelése érdekében a 20bet oktatási forrásokat biztosít a platformján. Ezek az erőforrások célja, hogy segítsenek a játékosoknak felismerni a szerencsejátékokkal kapcsolatos problémás viselkedés” “jeleit. A túlzott szerencsejátékkal kapcsolatos kockázatok megértésével az egyének megalapozott döntéseket hozhatnak játékszokásaikkal kapcsolatban.

  • Ne csodálkozz, ha olyan nyerőgépekkel találkozol itt, amelyeket még soha nem láttál.
  • Az említett kaszinó a szerencsejáték-ipar tekintélyes szervezeteivel való együttműködések és partnerségek révén demonstrálja elkötelezettségét az integritás iránt.
  • Az on-line kaszinókra általában jellemző, hogy a technikai fejlesztésekre, újításokra nagyon gyorsan reagálnak.
  • Ha pedig péntekenként játszanánk, érdemes kihasználni the RELOAD bónuszkódot, amellyel 50 ingyenes pörgetést kaphatunk a Bad guy Gold nevű játékban.
  • A pénzbónuszhoz a hundred and twenty ingyenes pörgetést will be kapsz, amit az „Elvis Frog” nyerőgépen használhatsz fel.

A 20BET kaszinó a különböző szoftverszolgáltatóktól származó nyerőgépes játékok széles választékát kínálja. A játékosok találhatnak klasszikus nyerőgépeket, videónyerőgépeket és progresszív jackpotokat. Ne keressen tovább, mint a new 20bet, ahol bónuszok és promóciók kincsesbánya vár! Akár újonc, akár tapasztalt játékos, ez az on the internet kaszinó mindenki számára tartogat valami különlegeset.

Et Üdvözlőbónusz Magyar Ügyfelek Részére

Szakértőink az összes szerencsejáték oldalt átkutatják, és kiválasztják a magyar játékosok számára megfelelő top on-line kaszinókat. Az összes játék érdekes funkciókkal rendelkezik, mint például ingyenes pörgetések, szorzók és speciális szimbólumok, csak néhányat említve. A progresszív jackpotokat kínáló játékok a new játékosok számára a legvonzóbbak. Életet megváltoztató összegeket kínálnak, amelyek megváltoztatják az életedet, ha a szerencse melletted áll. Néhány népszerű jackpot játék, amelyet a 20Bet kaszinóban játszhat, többek között az a few Lions Gold simply by Pragmatic Play, az Age of the particular Gods by Playtech, a Book of Skin icon a Fugaso, vagy a Bank Robbers by Belatra. Ahogy arról már watt szó, a 20Bet kaszinóban demó” “módban is játszhatunk, vagyis regisztrálni és pénzt befizetni sem kell ahhoz, hogy kipróbáljuk a játékokat.

  • Egyes játékosok számára ez hátránynak tekinthető, mivel előnyben részesítik az applikációkat a böngészőben történő játékkal szemben.
  • Ezek a sportesemények izgalmait hozzák, azonban inkább az on the internet kaszinó játékokhoz hasonlítanak.
  • A kaszinóban még” “nincs alkalmazás, amelyet the lehet tölteni, de kedvenc böngészőjével elérheti a kaszinót.
  • Ha nagy nyereményeket vagy versenyképes játékmenetet keres, the 20bet Casino progresszív jackpotokat és versenyeket kínál.
  • Az új ügyfelek számára elérhető az Üdvözlőbónusz, aminek értelmében HUF értékig a new 20bet az első befizetésünkkel megegyező bónusz összeget ad fiókunk egyenlegéhez.

A 20bet kínálatából természetesen nem hiányozhatnak the virtuális sportok search engine optimization. Ezek a sportesemények izgalmait hozzák, azonban inkább az online kaszinó játékokhoz hasonlítanak. Az előnyük, hogy egy-egy virtuális sportesemény mindössze néhány perces. Ráadásul a sport ismerete sem igazán szükséges hozzá, hiszen az eredményeket the véletlenszám generátor határozza meg.

Et Casino

Ugyanúgy fogadhatunk élő és folyamatban lévő meccsekre, és a kategóriákat szintén rendezve láthatjuk ha telefonról nyitjuk meg a kaszinót így a mobil sportfogadás életében kétségtelenül a new 20Bet vezető szerepet tölt be. Ha iOS-t használunk és a mobilunkra szeretnénk letölteni az alkalmazást, nincs sok feladatunk pár kattintáson kívül. Az eszköz kétségtelenül ugyanolyan jó, mint a webes de a játékélmény mégis ezerszer jobb telefonról. Jelenleg a kaszinó okostelefonra kialakított felülete bőven túltesz a webes élményen.

  • А sроrtfоgаdásі bónuszоk mіndіg érvénуеsеk, bеlеértvе а törlést vаgу а fоgаdásbіztоsítást, vаlаmіnt еgуéb nаgуszеrű аjánlаtоkаt.
  • A kaszinó 12 órán belül feldolgozza az Ön kifizetési kérelmét, és a VIP játékosok számára truck egy további visszavonási szabályozás, amely the 20Bet Casino család tagjainak további előnye.
  • A 3 lépéses folyamat során meg kell adni a játékos országát, emailjét és jelszavát.
  • Így minden játékos saját preferenciáihoz és elvárásaihoz igazíthatja the” “fogadási stratégiáját.
  • Ezeket a honlapról könnyen letöltheted, csak blessyrer kell keresned a new Mobilalkalmazás menüpontot.

A felhasználói felületet az egyszerűség szem előtt tartásával tervezték, miközben minden szükséges funkciót biztosít arizona élvezetes játékmenethez. Könnyedén, gond nélkül megtalálhatja kedvenc játékait, vagy felfedezhet újakat. Ez a bónusz a new befizetés egy százalékával” “megegyezik, így több pénzt ad a játékhoz. A fogadóirodák jellemzően angol nyelvű ügyfélszolgálatot tartanak fent, és ez alól a new 20bet sem kivétel. A honlap ugyan magyar nyelven will be elérhető, de arizona ügyfélszolgálat nem beszél magyarul. Emiatt ‘ angolból nem vagy elég erős, akkor érdemesebb inkább e-mailt írni nekik.

Et Casino És Sportfogadóiroda: Reload Bónusz

Érdemes tájékozódni a 20Bet oldalán a különböző fizetési módok várakozási idejéről és esetleges költségeiről, hogy the legjobb döntést hozhassuk meg a saját szempontjaink alapján. A játékosoknak meg kell adniuk néhány alapvető személyes adatot, például a nevüket, e-mail címüket és születési dátumukat, hogy létrehozhassák a fiókjukat. Előfordulhat, hogy személyazonosságukat is igazolniuk kell, mielőtt elkezdenének játszani. Fejlett titkosítási módszereket alkalmaznak annak biztosítására, hogy minden személyes és pénzügyi információ biztonságos és bizalmas maradjon. A platformjukat független, külső szervezetek is rendszeresen auditálják, hogy garantálják a tisztességes játékmenetet. Ha úgy dönt, hogy szórakoztató jelleggel” “szeretne szerencsejátékot játszani, javasoljuk, hogy töltsön este egy kis időt előzetes kutatással.

  • Az előnyük, hogy egy-egy virtuális sportesemény mindössze néhány perces.
  • Élvezze arizona exkluzív előnyöket, great például a személyre szabott ajánlatokat, pénzvisszatérítési jutalmakat és VIP-kezelést, amelyek minden kaszinónkban eltöltött pillanatot felejthetetlenné tesznek.
  • A 20 Bet casino részlege rendkívül sokoldalú kikapcsolódást nyújt, ahol bárki megtalálhatja a new neki legjobban tetsző nyerőgépeket, kártyajátékokat, vagy az egyéb internet casino játékok szinte bármelyikét.
  • Ahhoz azonban, hogy valódi pénzt nyerjünk, valódi pénzzel kell játszanunk, ehhez pedig pénzt kell befizetnünk a new számlánkra.
  • Ezért biztosítják, hogy ügyfélszolgálati csapata könnyen elérhető legyen több csatornán keresztül, beleértve az év minden napján éjjel-nappal elérhető élő csevegést és a reagáló e-mailes segítséget.

Emellett 18+ politika van érvényben a kaszinónál, mely nem engedélyezi a fiatalkorúak szerencsejátékát, és gondoskodik róla, hogy csak a nagykorú és megfelelő földrajzi helyen élő játékosok férjenek hozzá a játékokhoz. A fiók megerősítésének pedig pont az a célja, hogy csak a regisztrált játékosok tudják kiutalni a nyereményüket a fiókjukból. A 20BET Casinonál található online kaszinó játékokat az RNG véletlenszámgenerátorok működtetik. Ezek the szoftverprogramok minden on the internet kaszinó játék végeredményét véletlenszerűen sorsolják ki, ezzel ugyanúgy the szerencsétől függ minden, mint a valódi kaszinókban. Ez arizona élő kaszinó játékoknál is így vehicle, ahol a lapokat folyamatosan keverik” “a gépek, és the húzás a szerencsén múlik csak. Az online kaszinók világa telített, viszont the kiemelkedő kínálattal rendelkező szerencsejátékos oldalak mindig fognak maguknak egy közönséget találni.

Kifizetések

Emellett, abban az esetben, anordna hitelkártyát használsz, és a kaszinó túl kockázatosnak ítéli meg a tranzakciót, akkor visszatéríti az összeget, és nem engedélyezi a játékot. Ahhoz egyébként, hogy visszatérítést kérj, hitelesítened kell a felhasználói fiókod. Ezt követően the pénzt ugyanarra a new fizetési módra kapod meg, mint amit a befizetésnél használtál, és ugyanabban a pénznemben is.

Ebben a new cikkben bemutatjuk mennyire egyszerű is a new 20bet regisztráció menete. A honlap számos csábító ajánlatot kínál, amelyek a fogadók számára vonzó alternatívaként tüntetik fel a new 20bet szolgáltatásait. Fogadási piacok széles választéka mellett kimagasló szorzók is várják the felhasználókat. Mindez azért érdekes, mert a new piacra betörni kívánó új szereplőktől valóban elvárható, hogy valamivel magukhoz csábítsák az új ügyfeleket.

Mobil Appal Is Igényelhető Az Üdvözlő Bónusz?

Az egyik legnagyobb előny a new gazdag fogadási kínálat, amely számos sportágban és sporteseményben kínál különféle fogadási lehetőségeket. A felhasználók a hagyományos előre meghatározott fogadások mellett élvezhetik az élő fogadásokat és a speciális fogadásokat is. Az üdvözlő ajánlaton túlmenően a 20Bet rendszeresen különféle promóciókkal csábítja a meglévő felhasználókat. Az ilyen promóciókra példa a cashback, amely a meghatározott időszakban az elveszített fogadások egy részének visszatérítése.

  • A kaszinó felületén a sportfogadók, és a játékosok is 100%- os befizetési bónusz keretében indulhatnak el a kaszinózás világában, ehhez ráadásul külön promóciós kódra sem lesz szükségük.
  • A játékosok adatait a legkorszerűbb technológiák segítségével biztonságosan tárolják titkosított adatbázisokban, amelyekhez csak a szigorú titoktartási protokollokat betartó, felhatalmazott személyzet férhet hozzá.
  • Ahhoz, hogy letöltést tudj kezdeményezni a kaszinó appal kapcsolatban, két fontos dologra kell figyelned, de igazából azt mondhatjuk, hogy” “szinte mindenki előtt nyitva áll a letöltés lehetősége.
  • A döntetlen fogadás vonzza a legtöbb játékost, mert a legnagyobb kifizetést kínálja.
  • Az alkalmazás, szinte biztos, hogy arizona egyik legjobb amit kipróbálhatunk.

Az első dolog, amit meg kell értenie, hogy a játéknak három klasszikus változata létezik, az európai, a francia és az amerikai rulett. Az európai és a francia rulett jobb megoldás, ‘ kezdő vagy, mert ezek a fajták alacsonyabb házéllel rendelkeznek. A rulettkeréken 40 zseb található, one és 36 közötti számokkal, és egyetlen nulla. Az amerikai rulett 38 zsebbel rendelkezik, 1 és 36 közötti számokkal, valamint egy és kettős nullával. A dupla nulla növeli a ház élét, tehát ha egy nagyobb kihívást jelentő játékot keres, akkor ez az Ön számára. A cashback típusú bónusz azért különleges bónusz, mert ebben nem additional pénzt vagy ingyenes pörgetést kapunk, hanem a már elköltött pénzünkből/veszteségünkből fogunk egy bizonyos százalékot visszakapni.

A 20bet App Ios Esetében

A 20bet rendszere már a new regisztrációt követően átirányít a befizetéshez, automatikusan bejelentkeztet, így nem lesz nehéz dolgod. Ahhoz, hogy megkezdhesd a játékot, és persze hogy élhess az Első Befizetés 100%-os bónuszával, előbb fel kell töltened a virtuális egyenlegedet. A 20bet oldalak regisztrációja egyetlen könnyed folyamat (három lépcsőben, a személyes dokumentumok igazolása nélkül), talán az egyik legegyszerűbb, amit ma the piacon látunk. A befizetés gyors, de a főoldal még nagyon fapados, és őszintén szólva egyáltalán nem intuitív, így a new kezdőknek nehézséget okozhat a betanulás. A jelenleg kínált két bónusz egy 100%-os freebet az első befizetés összege után (10 és 100 euró összeg között), illetve egy 50, 100 vagy a thousand eurós ingyen fogadási keret.

  • Az élő fogadáshoz live stream szolgáltatást egyelőre még nem nyújt a 20Bet.
  • A 20bet nagy hangsúlyt helyezett arra, hogy a lehető legváltozatosabb fizetési módok kínálja játékosok számára.
  • Természetesen, ha nem szeretnénk külön appot letölteni, vagy nem igazán truck hely a telefonon rá, felkereshetjük a new kaszinót mobil böngészőn keresztül is.
  • Ezek a partnerségek biztosítják, hogy a new játékosok hozzáférjenek the professzionális segítséghez, amikor a szerencsejátékkal kapcsolatos kihívásokkal szembesülnek.
  • A lenyűgöző grafikájú, izgalmas videogépektől a klasszikus asztali játékokig, mint a blackjack és a new rulett – mindenki talál valamit.

A befizetés kapcsán például szigorúan tilos más személy nevén lévő bankkártyát vagy e-pénztárcát igénybe venni. Kifizetés csakis olyan ügyfél esetében van engedélyezve, aki átesett a hitelesítési folyamaton. A játék egy tét megadásával kezdődik, majd az osztó két kártyát oszt ki neked és két kártyát nekik. Amikor élőben, vagy szárazföldi kaszinóban játszik, tudnia kell, hogy csak egy játékos leosztása folyik, és ez az asztal minden játékosa keze. Figyeljünk azonban oda rá, hogy arizona ingyenes pörgetésekre is vonatkozik minimális befizetési összeg és megjátszási követelmény is. Hozzon létre egy egyedi felhasználónevet és jelszót, hogy a kaszinó lehetővé tette a fia fizetési módjának használatát.

Et 100%-os Sportfogadás Befizetési Bónusz – Akár 35 000 Huf

Majdnem száz játékkészítő több mint 4000 játékát kínálják, köztük rengeteg szórakoztató és izgalmas játékkal, mint például a Blood Suckers, az Avalon just one, 2, a Big Bad Wolf vagy a Sizzling Re-writes. Érdemes még megemlíteni a játékszolgáltatók között az Yggdrasil, arizona Evoplay vagy a new Microgaming nevét will be. A 20Bet kaszinó egy viszonylag új online kaszinó, 2020-ban jelent meg the magyar piacon. A 20Bet kaszinó mobileszközökön is elérhető, így a kaszinó gyakorlatilag mindig a zsebünkben lehet. A magyar 20Bet kaszinó egyik előnye,” “hogy úgynevezett demó módban is játszhatunk, vagyis regisztrálni és pénzt befizetni sem kell ahhoz, hogy kipróbáljuk a játékokat.

A kaszinó többféle üdvözlő és hűségbónuszt biztosít számunkra és teljeskörűen elérhetőek a new nyerőgépes, asztali vagy pókerjátékok is a new legjobb szoftverszolgáltatók kínálatából. Illetve, akik a new hagyományos kaszinók világát jobban kedveli, arizona választhatja az élő kaszinó funkciót többféle játék esetében is usually. A magyar 20Bet kaszinóban a regisztrációhoz kapcsolódó bónusz mellett a későbbiekben is usually kaphatunk bónuszokat. A közös jellemzőjük ezeknek a bónuszoknak, hogy – ellentétben arizona üdvözlőbónusszal – bizonyos feltételeknek kell” “megfelelni a bónusz igényléséhez. Hasonlóan működnek tehát, tehát, mint a légitársaságok törzsutas programjai – valójában itt is arról van szó, hogy a new kaszinó a leghűségesebb játékosait jutalmazza. Ezek a bónuszok lehetnek összegszerűek, és lehetnek ingyenes pörgetések is.

Asztali Játékok

A 20Bet fogadási palettája igen változatos, így szinte mindenki megtalálja a new számítását, aki bármilyen fogadást kedvel. A fogadóiroda előzetes és élő fogadásokat will be kínál, így a new játékosok a kedvenc mérkőzéseiket mind annak kezdete előtt, mind a játék közben megtehetik. A baccarat, a craps, a baccarat, a rulett és a videópóker a legkönnyebben nyerő kaszinójátékok közé tartoznak, amelyeknél nagy a nyerési valószínűség. A szabályok is elég egyszerűek, így ezeket a játékokat még egy kezdő számára is könnyű játszani.

  • A sportfogadás szekció és az élő fogadás részleg jól felépített, minden nap sok a megfogadható sportesemény, bőséges a sportok mennyisége, és aránylag nagy a piacok száma is.
  • Előfordulhat, hogy személyazonosságukat is usually igazolniuk kell, mielőtt elkezdenének játszani.
  • A twenty Bet Casino arizona egyik legnépszerűbb magyar bukmékerként nem véletlenül került a ranglétra elejére.
  • Ha szolgáltatásainkat használja, akkor elfogadja a sütik használatát, és betartja az adatvédelmi előírásokat.

Arról ne feledkezz este, hogy a telepítéshez engedélyezned kell arizona ismeretlen forrásból származó fájlok letöltését. Kezdő játékosok nagyon nagy választékot találnak, akik pedig már unják” “a new banánt, olyan különlegességekkel találkozhatnak többek között, mint a Habanero, a Belatra, the Felix Gaming és a Fugaso. Itt szerencsére valóban változatos játékélményt találunk, nemcsak különböző grafikákat ugyanarra a játékmenetre, újra és újra. A 20bet Bitcoin kaszinónál eleinte nem értettem, miért voltak olyan bonyolultak a kifizetések. A szabályokat elolvasva világossá vált, de így is túl lassú és körülményes az egész folyamat.

Bet On-line Kaszinó: Promóciók És Bónuszok

А márkа számоs nеmzеtközі és állаmі еlеktrоnіkus fіzеtésі rеndszеrrеl, bаnkоkkаl еgуüttműködіk, аmі bіzоnуítjа а szеrеnсsеjáték роrtál őszіntеségét és mеgbízhаtóságát. Emellett a 20Bet együttműködik a különböző szervezetekkel és szakértőkkel, hogy folyamatosan javítsa the biztonsági protokollokat és eleget tegyen az iparág legújabb előírásainak. A játékosok számára ez azt jelenti, hogy nyugodtan fogadhatnak anélkül, hogy aggódniuk kellene az adataik biztonsága miatt.

  • A következő szakasz a new flop, itt a few közös lapot osztanak szembe a táblán, és ezeket the kártyákat mindenki használhatja.
  • A 20Bet nagy hangsúlyt fektet a felhasználói adatok és pénzügyi tranzakciók védelmére.
  • Ha az esélyeket rossz meccsidővel kínálják, akkor a fogadás érvényét veszti.
  • A bónuszok Svédország kivételével minden országban elérhetők, azonban a kriptovalutás számláknál a bónuszok nem állnak rendelkezésre és bizonyos játékokban ezek nem használhatók fel.

A promóciók száma így bár kifejezetten kiemelkedő a kaszinónál, de figyelmet igényel az igénylésük, mert the későbbiekben már nem válthatóak vissza. A mobilbarát weboldal is usually jó választás, anordna nem akarsz applikációs fájlt telepíteni a new készülékedre. Ugyanolyan jól működik, mint az appok, bár a new navigáció sebessége terén az alkalmazások kicsit felülmúlják.

Vannak Olyan Nyerőgépek, Amelyek Rendelkeznek Bónusz Vásár Funkcióval?

Ha mind a játékos, brain az osztó értéke megegyezik a kezük értékével, akkor a játék egy lökéssel végződik, és arizona összes fogadás visszatér. A játéknak sok változata létezik,” “da legnépszerűbbet Punto Banco-nak hívják. Mielőtt valódi pénzből kezdene játszani, meg kell tanulnia a szabályokat. A jó hír arizona, hogy szórakoztató módban játszhatja a játékot, ahol a kaszinó virtuális pénzzel jutalmazza Önt.

  • A 20BET nagyon vonzó üdvözlő bónuszajánlatokat kínál az új játékosoknak.
  • Annak ellenére, hogy a játéknak sokféle változata létezik, az egyes játékok alapjai ugyanazok.
  • Figyeljünk azonban oda rá, hogy az ingyenes pörgetésekre will be vonatkozik minimális befizetési összeg és megjátszási követelmény is.
  • Ez arizona élő kaszinó játékoknál is így vehicle, ahol a lapokat folyamatosan keverik” “a new gépek, és a húzás a szerencsén múlik csak.
  • Ezen iparági óriások közé tartozik a new Big Time Video gaming, az Elk Galleries, a Habanero, a new Pragmatic Play, the NetEnt, a Playtech,” “the Fugaso, a Belatra, az iSoftBet, a new Quickspin, a Betsoft, a Blueprint Video gaming és még sok más.
  • А 20bеt раrtnеrségі рrоgrаmоt а NеtRеfеr рlаtfоrmоn fеjlеsztеtt, 11 márkárа tеrjеd kі (Воb Саsіnо, Рlау аmо, ВеtСhаn és másоk).

20bet kaszinó részletes leírás a játékokról és bónuszokról még akkor is, jó online póker oldalak találhatók Magyarországon is usually. A 20BET On line casino egy curacaoi engedéllyel rendelkező online kaszinó, mely izgalmas online kaszinó játékokkal várja a játékosait. Az eredmények véletlenszerűségéről a folyamatosan tesztelt RNG véletlenszámgenerátorok gondoskodnak. Ebben az online kaszinóban minden ott a szeren, a minimalista szövegeket maximális szórakoztató élmény tölti ki. A játékosok igazán kellemesen érezhetik magukat a las vegasi stílusú helyen, ahol jackpot játékok, nyerőgépek és bónusz beülők várják őket. A kaszinó játékosok nagy örömére a mobil app elérhetővé teszi az összes fellelhető játékot, így nyerőgépek, asztali és kártyajátékok széles skálájáról választhatunk ha éppen ahhoz van kedvünk.

A 20bet Kaszinó Regisztráció Folyamata

Ezekkel a new fizetési lehetőségekkel és funkciókkal a 20bet zökkenőmentes pénzügyi élményt biztosít minden játékos számára. A 20bet Casino által biztosított szűrők keresési funkcióinak és kategóriáinak köszönhetően gyerekjáték a böngészés a kiterjedt játékgyűjteményben. A játékosok könnyen megtalálhatják kedvenc játékaikat, és könnyedén felfedezhetnek újakat. A méltányosság a legfontosabb a new 20bet Casino-nál, mivel minden szoftverszolgáltatójuk véletlenszám-generátort (RNG) használ az elfogulatlan eredmények érdekében. Ezenkívül rendszeres ellenőrzéseket végeznek a játék méltányosságának garantálása érdekében.

Bingó oldalak véleménye nem különbözik, hogy a legtöbb funkciók megfelelnek arizona elvárásoknak. Ön tudja” “játszani Tűz varangy slot machine game ingyen itt Sin city Slots Online, és nincsenek rossz megjegyzéseket. Ami a hátrányokat illeti, a 20Bet CZ jelenleg nem rendelkezik dedikált mobilalkalmazással, bár a weboldal mobilbarát és jól működik a legtöbb eszközön. Egyes játékosok számára ez hátránynak tekinthető, mivel előnyben részesítik az applikációkat a böngészőben történő játékkal szemben.

Játékok

A Cipruson bejegyzett cégek és a Curaçao által kiadott engedélyek a new világ legbiztonságosabbjai közé tartoznak. Az on-line kaszinókra általában jellemző, hogy a technikai fejlesztésekre, újításokra nagyon gyorsan reagálnak. Eleinte mobilon is böngészőből lehetett játszani arizona online kaszinókban, idővel azonban megjelentek a mobilra fejlesztett alkalmazások is. A 20Bet kaszinónak még nincs mobilalkalmazása, így mobiltelefonunkon vagy táblagépünkön jelenleg az eszköz böngészőjéből játszhatunk a kaszinóban. A szoftverek legnagyobb része HTML5-ben íródott, így mobileszközön ugyanazt az élményt garantálja, mint az asztali gépen. Kétféle módon kezdheti el a new Golden Egg Keno játékot pénzért ezen az oldalon, nem pedig egy igazi póker játék.

  • Ami külön jó hír, hogy a jól megszokott első befizetési bónusz mellett akár a második befizetésünk alkalmával is igényelhetünk kedvezményt, amennyiben használjuk a hozzá tartozó promóciós kódot.
  • Ha bedobja, az zidovudine jelenti, hogy nem akarja folytatni the játékot, mert a new tét túl nagy, vagy rossz kártyái vannak.
  • Lеhеtőség vаn fоgаdást kötnі а tеljеs mérkőzés vаgу félіdő gólоk számárа, а mérkőzés еrеdménуérе, а vеrsеnу hоzzáаdоtt реrсеіrе.
  • Ezzel a gyakorlattal ugyan felhagytak, azonban valószínűsítjük, hogy a fogadóirodák által fejlesztett mobil applikációk ezért nem érhetőek el the” “magyar App Store-okban.

Bár vehicle néhány hátrány, például a hiányzó mobilalkalmazás és a bizonyos országokból származó játékosok korlátozott lehetőségei, a new 20Bet továbbra will be egy jó választás a fogadási piacon. A 20Bet Kaszinó egyike azon keveseknek az online kaszinók piacán, amely mindkét nagy telefonos operációs rendszerre, így iOS-re és Androidra is usually biztosít natív telefonos alkalmazásokat a gambler közösség számára. Ezek letöltése alapvetően elég egyszerű, Androidra az oldalon keresztül tudjuk beszerezni az appot, iOS esetén pedig az Apple ID-nk ország/régió beállításának módosítása után az App Store-ból tölthető the 20Bet app. Az alkalmazás nagyszerűen optimalizált, gyors belépést és számtalan értesítési lehetőséget biztosít a játékosoknak a tökéletes játékélmény mellé. És hát ugye mobilról a new sports events fogadások is könnyebben játékba küldhetőek. Ez arizona online kaszinó egy olyan népszerű hármas tagja, mely egyszerre kínál sportfogadást, élő fogadásokat és kaszinót.” “[newline]Egy egyszerű felhasználónév és jelszó kombináció csupán pár kattintással a szórakozások széles tárházát teszi elérhetővé.