PageSourceSearch

https://tr4ker.net/assets/DlkA_82G.js

js tr4ker.net collected 2026-10-09 00:26:00 UTC 203,277 bytes, 79 lines download raw bytes

vendor: 12,230 bytes, line 1
1var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,ee={};function te(e,t,n){this.props=e,this.context=t,this.refs=ee,this.updater=n||h}te.prototype.isReactComponent={},te.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`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`)},te.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function _(){}_.prototype=te.prototype;function v(e,t,n){this.props=e,this.context=t,this.refs=ee,this.updater=n||h}var y=v.prototype=new _;y.constructor=v,g(y,te.prototype),y.isPureReactComponent=!0;var b=Array.isArray;function ne(){}var x={H:null,A:null,T:null,S:null},re=Object.prototype.hasOwnProperty;function ie(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function S(e,t){return ie(e.type,t,e.props)}function C(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ae(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var w=/\/+/g;function oe(e,t){return typeof e==`object`&&e&&e.key!=null?ae(``+e.key):t.toString(36)}function se(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(ne,ne):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function T(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,T(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+oe(e,0):a,b(o)?(i=``,c!=null&&(i=c.replace(w,`$&/`)+`/`),T(o,r,i,``,function(e){return e})):o!=null&&(C(o)&&(o=S(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(w,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(b(e))for(var u=0;u<e.length;u++)a=e[u],s=l+oe(a,u),c+=T(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+oe(a,u++),c+=T(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return T(se(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function E(e,t,n){if(e==null)return e;var r=[],i=0;return T(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function D(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var O=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},k={map:E,forEach:function(e,t,n){E(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return E(e,function(){t++}),t},toArray:function(e){return E(e,function(e){return e})||[]},only:function(e){if(!C(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=k,e.Component=te,e.Fragment=r,e.Profiler=a,e.PureComponent=v,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=x,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return x.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!re.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return ie(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)re.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return ie(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=C,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:D}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=x.T,n={};x.T=n;try{var r=e(),i=x.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(ne,O)}catch(e){O(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),x.T=t}},e.unstable_useCacheRefresh=function(){return x.H.useCacheRefresh()},e.use=function(e){return x.H.use(e)},e.useActionState=function(e,t,n){return x.H.useActionState(e,t,n)},e.useCallback=function(e,t){return x.H.useCallback(e,t)},e.useContext=function(e){return x.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return x.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return x.H.useEffect(e,t)},e.useEffectEvent=function(e){return x.H.useEffectEvent(e)},e.useId=function(){return x.H.useId()},e.useImperativeHandle=function(e,t,n){return x.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return x.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return x.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return x.H.useMemo(e,t)},e.useOptimistic=function(e,t){return x.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return x.H.useReducer(e,t,n)},e.useRef=function(e){return x.H.useRef(e)},e.useState=function(e){return x.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return x.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return x.H.useTransition()},e.version=`19.2.5`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.5`})),f=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=d()})),p={btn:`_btn_dev9x_1`,primary:`_primary_dev9x_35`,ghost:`_ghost_dev9x_43`,danger:`_danger_dev9x_51`,icon:`_icon_dev9x_58`,success:`_success_dev9x_67`,warning:`_warning_dev9x_75`,info:`_info_dev9x_83`,fullWidth:`_fullWidth_dev9x_91`},m=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),h=o(((e,t)=>{t.exports=m()})),g=h();function ee({variant:e=`primary`,fullWidth:t,children:n,onClick:r,href:i,type:a=`button`,disabled:o,loading:s,"aria-label":c}
1){let l=[p.btn,p[e],t?p.fullWidth:``].filter(Boolean).join(` `);return i?(0,g.jsx)(`a`,{href:i,className:l,onClick:r,"aria-label":c,children:n}):(0,g.jsx)(`button`,{type:a,className:l,onClick:r,disabled:o||s,"aria-label":c,"aria-busy":s,children:s?`Chargement…`:n})}function te(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var _=te();function v(e){_=e}var y={exec:()=>null};function b(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(x.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var ne=(()=>{try{return!0}catch{return!1}})(),x={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[	 ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ 	][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},re=/^(?:[ \t]*(?:\n|$))+/,ie=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,S=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,C=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,ae=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,w=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,oe=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,se=b(oe).replace(/bull/g,w).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),T=b(oe).replace(/bull/g,w).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),E=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,D=/^[^\n]+/,O=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,k=b(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,O).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ce=b(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,w).getRegex(),A=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,le=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,j=b(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>
1)[\\s\\S]*?(?:(?:\\n[ 	]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ 	]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ 	]*)+\\n|$))`,`i`).replace(`comment`,le).replace(`tag`,A).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ue=b(E).replace(`hr`,C).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,A).getRegex(),de={blockquote:b(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,ue).getRegex(),code:ie,def:k,fences:S,heading:ae,hr:C,html:j,lheading:se,list:ce,newline:re,paragraph:ue,table:y,text:D},fe=b(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,C).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3}	)[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,A).getRegex(),pe={...de,lheading:T,table:fe,paragraph:b(E).replace(`hr`,C).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,fe).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,A).getRegex()},me={...de,html:b(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,le).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:y,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:b(E).replace(`hr`,C).replace(`heading`,` *#{1,6} *[^
2]`).replace(`lheading`,se).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},he=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ge=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,_e=/^( {2,}|\\)\n(?!\s*$)/,ve=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,M=/[\p{P}\p{S}]/u,N=/[\s\p{P}\p{S}]/u,ye=/[^\s\p{P}\p{S}]/u,be=b(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,N).getRegex(),xe=/(?!~)[\p{P}\p{S}]/u,P=/(?!~)[\s\p{P}\p{S}]/u,Se=/(?:[^\s\p{P}\p{S}]|~)/u,Ce=b(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,ne?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),we=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,F=b(we,`u`).replace(/punct/g,M).getRegex(),Te=b(we,`u`).replace(/punct/g,xe).getRegex(),I=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,Ee=b(I,`gu`).replace(/notPunctSpace/g,ye).replace(/punctSpace/g,N).replace(/punct/g,M).getRegex(),De=b(I,`gu`).replace(/notPunctSpace/g,Se).replace(/punctSpace/g,P).replace(/punct/g,xe).getRegex(),Oe=b(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,ye).replace(/punctSpace/g,N).replace(/punct/g,M).getRegex(),ke=b(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,M).getRegex(),Ae=b(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,ye).replace(/punctSpace/g,N).replace(/punct/g,M).getRegex(),je=b(/\\(punct)/,`gu`).replace(/punct/g,M).getRegex(),Me=b
vendor: 26,702 bytes, lines 2-58
2(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Ne=b(le).replace(`(?:-->|$)`,`-->`).getRegex(),Pe=b(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,Ne).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Fe=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Ie=b(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,Fe).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Le=b(/^!?\[(label)\]\[(ref)\]/).replace(`label`,Fe).replace(`ref`,O).getRegex(),Re=b(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,O).getRegex(),ze=b(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,Le).replace(`nolink`,Re).getRegex(),Be=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,L={_backpedal:y,anyPunctuation:je,autolink:Me,blockSkip:Ce,br:_e,code:ge,del:y,delLDelim:y,delRDelim:y,emStrongLDelim:F,emStrongRDelimAst:Ee,emStrongRDelimUnd:Oe,escape:he,link:Ie,nolink:Re,punctuation:be,reflink:Le,reflinkSearch:ze,tag:Pe,text:ve,url:y},Ve={...L,link:b(/^!?\[(label)\]\((.*?)\)/).replace(`label`,Fe).getRegex(),reflink:b(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,Fe).getRegex()},R={...L,emStrongRDelimAst:De,emStrongLDelim:Te,delLDelim:ke,delRDelim:Ae,url:b(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,Be).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:b(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,Be).getRegex()},He={...R,br:b(_e).replace(`{2,}`,`*`).getRegex(),text:b(R.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},Ue={normal:de,gfm:pe,pedantic:me},We={normal:L,gfm:R,breaks:He,pedantic:Ve},Ge={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`},Ke=e=>Ge[e];function z(e,t){if(t){if(x.escapeTest.test(e))return e.replace(x.escapeReplace,Ke)}else if(x.escapeTestNoEncode.test(e))return e.replace(x.escapeReplaceNoEncode,Ke);return e}function qe(e){try{e=encodeURI(e).replace(x.percentDecode,`%`)}catch{return null}return e}function B(e,t){let n=e.replace(x.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(x.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(x.slashPipe,`|`);return n}function V(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function Je(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function Ye(e,t=0){let n=t,r=``;for(let t of e)if(t===`	`){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function Xe(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function Ze(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
3`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
4`)}var H=class{options;rules;lexer;constructor(e){this.options=e||_}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,``);return{type:`code`,raw:t[0],codeBlockStyle:`indented`,text:this.options.pedantic?e:V(e,`
5`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=Ze(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=V(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:V(t[0],`
6`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=V(t[0],`
7`).split(`
8`),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o;for(o=0;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
9`),c=s.replace(this.rules.other.blockquoteSetextReplace,`
10    $1`).replace(this.rules.other.blockquoteSetextReplace2,``);n=n?`${n}
11${s}`:s,r=r?`${r}
12${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,i,!0),this.lexer.state.top=l,e.length===0)break;let u=i.at(-1);if(u?.type===`code`)break;if(u?.type===`blockquote`){let t=u,a=t.raw+`
13`+e.join(`
14`),o=this.blockquote(a);i[i.length-1]=o,n=n.substring(0,n.length-t.raw.length)+o.raw,r=r.substring(0,r.length-t.text.length)+o.text;break}else if(u?.type===`list`){let t=u,a=t.raw+`
15`+e.join(`
16`),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
17`);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=Ye(t[2].split(`
18`,1)[0],t[1].length),l=e.split(`
19`,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+`
20`,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),f=this.rules.other.blockquoteBeginRegex(d);for(;e;){let p=e.split(`
21`,1)[0],m;if(l=p,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,`  `),m=l):m=l.replace(this.rules.other.tabCharGlobal,`    `),i.test(l)||a.test(l)||o.test(l)||f.test(l)||t.test(l)||n.test(l))break;if(m.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=`
22`+m.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,`    `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=`
23`+l}u=!l.trim(),r+=p+`
24`,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),e.task){if(e.text=e.text.replace(this.rules.other.listReplaceTask,``),e.tokens[0]?.type===`text`||e.tokens[0]?.type===`paragraph`){e.tokens[0].raw=e.tokens[0].raw.replace(this.rules.other.listReplaceTask,``),e.tokens[0].text=e.tokens[0].text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}}let t=this.rules.other.listTaskCheckbox.exec(e.raw);if(t){let n={type:`checkbox`,raw:t[0]+` `,checked:t[0]!==`[ ]`};e.checked=n.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=n.raw+e.tokens[0].raw,e.tokens[0].text=n.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(n)):e.tokens.unshift({type:`paragraph`,raw:n.raw,text:n.raw,tokens:[n]}):e.tokens.unshift(n)}}if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:`html`,block:!0,raw:t[0],pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:t[0],href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=B(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
25`):[],a={type:`table`,raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(B(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:t[0],depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
26`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=V(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=Je(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),Xe(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return Xe(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=0,c=r[0][0]===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(r=c.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){o+=a;continue}else if((r[5]||r[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);let t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=c.slice(1,-1);return{type:`em`,raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}let l=c.slice(2,-2);return{type:`strong`,raw:c,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},U=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||_,this.options.tokenizer=this.options.tokenizer||new H,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:x,block:Ue.normal,inline:We.normal};this.options.pedantic?(t.block=Ue.pedantic,t.inline=We.pedantic):this.options.gfm&&(t.block=Ue.gfm,this.options.breaks?t.inline=We.breaks:t.inline=We.gfm),this.tokenizer.rules=t}static get rules(){return{block:Ue,inline:We}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(x.carriageReturn,`
27`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(x.tabCharGlobal,`    `).replace(x.spaceLine,``));e;){let r;if(this.options.extensions?.block?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let n=t.at(-1);r.raw.length===1&&n!==void 0?n.raw+=`
28`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
29`)?``:`
30`)+r.raw,n.text+=`
31`+r.text,this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
32`)?``:`
33`)+r.raw,n.text+=`
34`+r.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},t.push(r));continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let a=t.at(-1);n&&a?.type===`paragraph`?(a.raw+=(a.raw.endsWith(`
35`)?``:`
36`)+r.raw,a.text+=`
37`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
38`)?``:`
39`)+r.raw,n.text+=`
40`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(e){let t=`Infinite loop on byte: `+e.charCodeAt(0);if(this.options.silent){console.error(t);break}else throw Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``;for(;e;){a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){let t=`Infinite loop on byte: `+e.charCodeAt(0);if(this.options.silent){console.error(t);break}else throw Error(t)}}return t}},Qe=class{options;parser;constructor(e){this.options=e||_}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(x.notSpaceStart)?.[0],i=e.replace(x.endingNewline,``)+`
41`;return r?`<pre><code class="language-`+z(r)+`">`+(n?i:z(i,!0))+`</code></pre>
42`:`<pre><code>`+(n?i:z(i,!0))+`</code></pre>
43`}blockquote({tokens:e}){return`<blockquote>
44${this.parser.parse(e)}</blockquote>
45`}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
46`}hr(e){return`<hr>
47`}list(e){let t=e.ordered,n=e.start,r=``;for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let i=t?`ol`:`ul`,a=t&&n!==1?` start="`+n+`"`:``;return`<`+i+a+`>
48`+r+`</`+i+`>
49`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
50`}checkbox({checked:e}){return`<input `+(e?`checked="" `:``)+`disabled="" type="checkbox"> `}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
51`}table(e){let t=``,n=``;for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r=``;for(let t=0;t<e.rows.length;t++){let i=e.rows[t];n=``;for(let e=0;e<i.length;e++)n+=this.tablecell(i[e]);r+=this.tablerow({text:n})}return r&&=`<tbody>${r}</tbody>`,`<table>
52<thead>
53`+t+`</thead>
54`+r+`</table>
55`}tablerow({text:e}){return`<tr>
56${e}</tr>
57`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
58`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${z(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=qe(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+z(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=qe(e);if(i===null)return z(n);e=i;let a=`<img src="${e}" alt="${z(n)}"`;return t&&(a+=` title="${z(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:z(e.text)}},$e=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},W=class e{options;renderer;textRenderer;constructor(e){this.options=e||_,this.options.renderer=this.options.renderer||new Qe,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $e}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},et=class{options;block;constructor(e){this.options=e||_}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?U.lex:U.lexInline}provideParser(e=this.block){return e?W.parse:W.parseInline}},tt=new class{defaults=te();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=W;Renderer=Qe;TextRenderer=$e;Lexer=U;Tokenizer=H;Hooks=et;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;
58for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new Qe(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new H(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new et;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];et.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&et.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return U.lex(e,t??this.defaults)}parser(e,t){return W.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?U.lex:U.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?W.parse:W.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?U.lex:U.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?W.parse:W.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
59Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+z(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function G(e,t){return tt.parse(e,t)}G.options=G.setOptions=function(e){return tt.setOptions(e),G.defaults=tt.defaults,v(G.defaults),G},G.getDefaults=te,G.defaults=_,G.use=function(...e){return tt.use(...e),G.defaults=tt.defaults,v(G.defaults),G},G.walkTokens=function(e,t){return tt.walkTokens(e,t)},G.parseInline=tt.parseInline,G.Parser=W,G.parser=W.parse,G.Renderer=Qe,G.TextRenderer=$e,G.Lexer=U,G.lexer=U.lex,G.Tokenizer=H,G.Hooks=et,G.parse=G,G.options,G.setOptions,G.use,G.walkTokens,G.parseInline,W.parse,U.lex;var nt=`\xA0
60
61`;function rt(e){return e.replace(/\r\n/g,`
62`).replace(/\n{2,}/g,e=>`
63
64`+nt.repeat(e.length-1))}function it(e){return G.parse(rt(e),{breaks:!0,gfm:!0})}function at(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function ot(e){let t=e.trim();return/^\s*(javascript|data|vbscript|blob):/i.test(t)||!/^https?:\/\//i.test(t)&&!t.startsWith(`/`)?`#`:t}function st(e){let t=e.trim();return/^https?:\/\//i.test(t)?`/api/proxy/image?url=${encodeURIComponent(t)}`:``}var ct={1:`0.55em`,2:`0.75em`,3:`1em`,4:`1.3em`,5:`1.7em`,6:`2.2em`,7:`2.8em`},lt=`border-left:3px solid var(--outline-variant);margin:0.5em 0;padding:0.5em 1em;color:var(--on-surface-variant)`,ut=String.raw`[+-]?(?:\d+\.?\d*|\.\d+)%?`,dt=String.raw`\s*(?:,\s*|\s+)`,ft=String.raw`(?:\s*[,/]\s*${ut})?`,pt=String.raw`\(\s*${ut}${dt}${ut}${dt}${ut}${ft}\s*\)`,mt=RegExp(`^(?:#[0-9a-f]{3,8}|[a-z]{3,20}|rgba?${pt}|hsla?${pt})$`,`i`);function ht(e){let t=at(e),n=[],r=(e,r)=>{t=t.replace(RegExp(`\\[${e}\\]([\\s\\S]*?)\\[\\/${e}\\]`,`gi`),(e,t)=>{let i=`\x01${n.length}\x01`;return n.push({ph:i,html:r(t)}),i})};r(`code`,e=>`<pre><code>${e}</code></pre>`),r(`pre`,e=>`<pre>${e}</pre>`);for(let e=0;e<4;e++)t=t.replace(/\[h([1-6])\]([\s\S]*?)\[\/h\1\]/gi,(e,t,n)=>`<h${t}>${n}</h${t}>`),t=t.replace(/\[hr\s*\/?\]/gi,`<hr />`),t=t.replace(/\[center\]([\s\S]*?)\[\/center\]/gi,(e,t)=>`<div style="text-align:center">${t.replace(/^\n+|\n+$/g,``)}</div>`),t=t.replace(/\[left\]([\s\S]*?)\[\/left\]/gi,(e,t)=>`<div style="text-align:left">${t.replace(/^\n+|\n+$/g,``)}</div>`),t=t.replace(/\[right\]([\s\S]*?)\[\/right\]/gi,(e,t)=>`<div style="text-align:right">${t.replace(/^\n+|\n+$/g,``)}</div>`),t=t.replace(/\[quote=([^\]]+)\]([\s\S]*?)\[\/quote\]/gi,(e,t,n)=>`<blockquote style="${lt}"><cite style="font-size:0.8em;font-weight:700;display:block;margin-bottom:0.3em;font-style:normal">${t} :</cite>${n.replace(/^\n+|\n+$/g,``)}</blockquote>`),t=t.replace(/\[quote\]([\s\S]*?)\[\/quote\]/gi,(e,t)=>`<blockquote style="${lt}">${t.replace(/^\n+|\n+$/g,``)}</blockquote>`),t=t.replace(/\[spoiler(?:=([^\]]*))?\]([\s\S]*?)\[\/spoiler\]/gi,(e,t,n)=>`<details style="margin:0.5em 0;border:1px solid var(--outline-variant);padding:0.5em 0.75em"><summary style="cursor:pointer;font-weight:700;user-select:none;list-style:none">${t||`Spoiler`}</summary>${n.replace(/^\n+|\n+$/g,``)}</details>`),t=t.replace(/\[list(?:=(\d+))?\]([\s\S]*?)\[\/list\]/gi,(e,t,n)=>{let r=t?`ol`:`ul`;return`<${r} style="margin:0.5em 0;padding-left:1.5em">${n.split(/\[\*\]/).slice(1).map(e=>`<li>${e.replace(/\n+$/,``)}</li>`).join(``)}</${r}>`}),t=t.replace(/\[table\]([\s\S]*?)\[\/table\]/gi,(e,t)=>`<table style="border-collapse:collapse;margin:0.5em 0;max-width:100%">${t.replace(/^\n+|\n+$/g,``)}</table>`),t=t.replace(/\[tr\]([\s\S]*?)\[\/tr\]/gi,(e,t)=>`<tr>${t.replace(/^\n+|\n+$/g,``)}</tr>`),t=t.replace(/\[th\]([\s\S]*?)\[\/th\]/gi,(e,t)=>`<th style="border:1px solid var(--outline-variant);padding:0.3em 0.6em;text-align:left;font-weight:700;background:var(--surface-container-high)">${t.replace(/^\n+|\n+$/g,``)}</th>`),t=t.replace(/\[td\]([\s\S]*?)\[\/td\]/gi,(e,t)=>`<td style="border:1px solid var(--outline-variant);padding:0.3em 0.6em">${t.replace(/^\n+|\n+$/g,``)}</td>`),t=t.replace(/\[font=([a-zA-Z0-9 _-]+)\]([\s\S]*?)\[\/font\]/gi,(e,t,n)=>`<span style="font-family:${at(t)}
64,sans-serif">${n}</span>`),t=t.replace(/\[color=([^\]\r\n"'<>;]+)\]([\s\S]*?)\[\/color\]/gi,(e,t,n)=>{let r=t.trim();return mt.test(r)?`<span style="color:${r}">${n}</span>`:e}),t=t.replace(/\[size=(\d+)\]([\s\S]*?)\[\/size\]/gi,(e,t,n)=>`<span style="font-size:${ct[parseInt(t)]??`1em`};line-height:1.4">${n}</span>`),t=t.replace(/\[b\]([\s\S]*?)\[\/b\]/gi,`<strong>$1</strong>`),t=t.replace(/\[i\]([\s\S]*?)\[\/i\]/gi,`<em>$1</em>`),t=t.replace(/\[u\]([\s\S]*?)\[\/u\]/gi,`<u>$1</u>`),t=t.replace(/\[s\]([\s\S]*?)\[\/s\]/gi,`<s>$1</s>`),t=t.replace(/\[sub\]([\s\S]*?)\[\/sub\]/gi,`<sub>$1</sub>`),t=t.replace(/\[sup\]([\s\S]*?)\[\/sup\]/gi,`<sup>$1</sup>`),t=t.replace(/\[url=([^\]]+)\]([\s\S]*?)\[\/url\]/gi,(e,t,n)=>`<a href="${ot(t)}" target="_blank" rel="noopener noreferrer" style="color:var(--primary)">${n}</a>`),t=t.replace(/\[url\]([^\[]+)\[\/url\]/gi,(e,t)=>`<a href="${ot(t)}" target="_blank" rel="noopener noreferrer" style="color:var(--primary)">${t}</a>`),t=t.replace(/\[img\s+scale=(\d+)%?\]([^\[]+)\[\/img\]/gi,(e,t,n)=>{let r=st(n.trim());return r?`<img src="${r}" alt="" style="width:${t}%;max-width:100%;vertical-align:middle" />`:``}),t=t.replace(/\[img=(\d+)(?:x(\d+))?\]([^\[]+)\[\/img\]/gi,(e,t,n,r)=>{let i=st(r.trim());return i?`<img src="${i}" ${n?`width="${t}" height="${n}"`:`width="${t}"`} alt="" style="max-width:100%;vertical-align:middle" />`:``}),t=t.replace(/\[img\]([^\[]+)\[\/img\]/gi,(e,t)=>`<img src="${st(t)}" alt="" style="max-width:100%;vertical-align:middle" />`);t=t.replace(/\n(<\/?(?:div|blockquote|details|summary|ul|ol|li|h[1-6]|hr|pre|table|thead|tbody|tr|td|th)[^>]*>)/gi,`$1`),t=t.replace(/(<\/?(?:div|blockquote|details|summary|ul|ol|li|h[1-6]|hr|pre|table|thead|tbody|tr|td|th)[^>]*>)\n/gi,`$1`),t=t.replace(/\n/g,`<br>`);for(let{ph:e,html:r}of n)t=t.replace(e,()=>r);return t}var{entries:gt,setPrototypeOf:_t,isFrozen:vt,getPrototypeOf:yt,getOwnPropertyDescriptor:bt}=Object,{freeze:K,seal:xt,create:St}=Object,{apply:Ct,construct:wt}=typeof Reflect<`u`&&Reflect;K||=function(e){return e},xt||=function(e){return e},Ct||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},wt||=function(e){return new e(...[...arguments].slice(1))};var Tt=J(Array.prototype.forEach),Et=J(Array.prototype.lastIndexOf),Dt=J(Array.prototype.pop),Ot=J(Array.prototype.push),kt=J(Array.prototype.splice),At=J(String.prototype.toLowerCase),jt=J(String.prototype.toString),Mt=J(String.prototype.match),Nt=J(String.prototype.replace),Pt=J(String.prototype.indexOf),Ft=J(String.prototype.trim),It=J(Object.prototype.hasOwnProperty),q=J(RegExp.prototype.test),Lt=Rt(TypeError);function J(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return Ct(e,t,n)}}function Rt(e){return function(){return wt(e,[...arguments])}}function Y(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:At;_t&&_t(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(vt(t)||(t[r]=e),i=e)}e[i]=!0}return e}function zt(e){for(let t=0;t<e.length;t++)It(e,t)||(e[t]=null);return e}function Bt(e){let t=St(null);for(let[n,r]of gt(e))It(e,n)&&(Array.isArray(r)?t[n]=zt(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=Bt(r):t[n]=r);return t}function Vt(e,t){for(;e!==null;){let n=bt(e,t);if(n){if(n.get)return J(n.get);if(typeof n.value==`function`)return J(n.value)}e=yt(e)}function n(){return null}return n}var Ht=K(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Ut=K(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.pol
64ygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),Wt=K([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Gt=K([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),Kt=K(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),qt=K([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),Jt=K([`#text`]),Yt=K(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns.slot`.split(`.`)),Xt=K(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Zt=K(`accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Qt=K([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),$t=xt(/\{\{[\w\W]*|[\w\W]*\}\}/gm),en=xt(/<%[\w\W]*|[\w\W]*%>/gm),tn=xt(/\$\{[\w\W]*/gm),nn=xt(/^data-[\-\w.\u00B7-\uFFFF]+$/),rn=xt(/^aria-[\-\w]+$/),an=xt(/^(?:(?:(?
vendor: 10,060 bytes, line 64
64:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),on=xt(/^(?:\w+script|data):/i),sn=xt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),cn=xt(/^html$/i),ln=xt(/^[a-z][.\w]*(-[.\w]+)+$/i),un=Object.freeze({__proto__:null,ARIA_ATTR:rn,ATTR_WHITESPACE:sn,CUSTOM_ELEMENT:ln,DATA_ATTR:nn,DOCTYPE_NAME:cn,ERB_EXPR:en,IS_ALLOWED_URI:an,IS_SCRIPT_OR_DATA:on,MUSTACHE_EXPR:$t,TMPLIT_EXPR:tn}),dn={element:1,text:3,progressingInstruction:7,comment:8,document:9},fn=function(){return typeof window>`u`?null:window},pn=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},mn=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function hn(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:fn(),t=e=>hn(e);if(t.version=`3.4.0`,t.removed=[],!e||!e.document||e.document.nodeType!==dn.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e,r=n,i=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:c,NodeFilter:l,NamedNodeMap:u=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=e,m=c.prototype,h=Vt(m,`cloneNode`),g=Vt(m,`remove`),ee=Vt(m,`nextSibling`),te=Vt(m,`childNodes`),_=Vt(m,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let v,y=``,{implementation:b,createNodeIterator:ne,createDocumentFragment:x,getElementsByTagName:re}=n,{importNode:ie}=r,S=mn();t.isSupported=typeof gt==`function`&&typeof _==`function`&&b&&b.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:C,ERB_EXPR:ae,TMPLIT_EXPR:w,DATA_ATTR:oe,ARIA_ATTR:se,IS_SCRIPT_OR_DATA:T,ATTR_WHITESPACE:E,CUSTOM_ELEMENT:D}=un,{IS_ALLOWED_URI:O}=un,k=null,ce=Y({},[...Ht,...Ut,...Wt,...Kt,...Jt]),A=null,le=Y({},[...Yt,...Xt,...Zt,...Qt]),j=Object.seal(St(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ue=null,de=null,fe=Object.seal(St(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),pe=!0,me=!0,he=!1,ge=!0,_e=!1,ve=!0,M=!1,N=!1,ye=!1,be=!1,xe=!1,P=!1,Se=!0,Ce=!1,we=!0,F=!1,Te={},I=null,Ee=Y({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]),De=null,Oe=Y({},[`audio`,`video`,`img`,`source`,`image`,`track`]),ke=null,Ae=Y({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),je=`http://www.w3.org/1998/Math/MathML`,Me=`http://www.w3.org/2000/svg`,Ne=`http://www.w3.org/1999/xhtml`,Pe=Ne,Fe=!1,Ie=null,Le=Y({},[je,Me,Ne],jt),Re=Y({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),ze=Y({},[`annotation-xml`]),Be=Y({},[`title`,`style`,`font`,`a`,`script`]),L=null,Ve=[`application/xhtml+xml`,`text/html`],R=null,He=null,Ue=n.createElement(`form`),We=function(e){return e instanceof RegExp||e instanceof Function},Ge=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(He&&He===e)){if((!e||typeof e!=`object`)&&(e={}),e=Bt(e),L=Ve.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,R=L===`application/xhtml+xml`?jt:At,k=It(e,`ALLOWED_TAGS`)?Y({},e.ALLOWED_TAGS,R):ce,A=It(e,`ALLOWED_ATTR`)?Y({},e.ALLOWED_ATTR,R):le,Ie=It(e,`ALLOWED_NAMESPACES`)?Y({},e.ALLOWED_NAMESPACES,jt):Le,ke=It(e,`ADD_URI_SAFE_ATTR`)?Y(Bt(Ae),e.ADD_URI_SAFE_ATTR,R):Ae,De=It(e,`ADD_DATA_URI_TAGS`)?Y(Bt(Oe),e.ADD_DATA_URI_TAGS,R):Oe,I=It(e,`FORBID_CONTENTS`)?Y({},e.FORBID_CONTENTS,R):Ee,ue=It(e,`FORBID_TAGS`)?Y({},e.FORBID_TAGS,R):Bt({}),de=It(e,`FORBID_ATTR`)?Y({},e.FORBID_ATTR,R):Bt({}),Te=It(e,`USE_PROFILES`)?e.USE_PROFILES:!1,pe=e.ALLOW_ARIA_ATTR!==!1,me=e.ALLOW_DATA_ATTR!==!1,he=e.ALLOW_UNKNOWN_PROTOCOLS||!1,ge=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,_e=e.SAFE_FOR_TEMPLATES||!1,ve=e.SAFE_FOR_XML!==!1,M=e.WHOLE_DOCUMENT||!1,be=e.RETURN_DOM||!1,xe=e.RETURN_DOM_FRAGMENT||!1,P=e.RETURN_TRUSTED_TYPE||!1,ye=e.FORCE_BODY||!1,Se=e.SANITIZE_DOM!==!1,Ce=e.SANITIZE_NAMED_PROPS||!1,we=e.KEEP_CONTENT!==!1,F=e.IN_PLACE||!1,O=e.ALLOWED_URI_REGEXP||an,Pe=e.NAMESPACE||Ne,Re=e.MATHML_TEXT_INTEGRATION_POINTS||Re,ze=e.HTML_INTEGRATION_POINTS||ze,j=e.CUSTOM_ELEMENT_HANDLING||St(null),e.CUSTOM_ELEMENT_HANDLING&&We(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&We(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(j.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),_e&&(me=!1),xe&&(be=!0),Te&&(k=Y({},Jt),A=St(null),Te.html===!0&&(Y(k,Ht),Y(A,Yt)),Te.svg===!0&&(Y(k,Ut),Y(A,Xt),Y(A,Qt)),Te.svgFilters===!0&&(Y(k,Wt),Y(A,Xt),Y(A,Qt)),Te.mathMl===!0&&(Y(k,Kt),Y(A,Zt),Y(A,Qt))),fe.tagCheck=null,fe.attributeCheck=null,e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?fe.tagCheck=e.ADD_TAGS:(k===ce&&(k=Bt(k)),Y(k,e.ADD_TAGS,R))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?fe.attributeCheck=e.ADD_ATTR:(A===le&&(A=Bt(A)),Y(A,e.ADD_ATTR,R))),e.ADD_URI_SAFE_ATTR&&Y(ke,e.ADD_URI_SAFE_ATTR,R),e.FORBID_CONTENTS&&(I===Ee&&(I=Bt(I)),Y(I,e.FORBID_CONTENTS,R)),e.ADD_FORBID_CONTENTS&&(I===Ee&&(I=Bt(I)),Y(I,e.ADD_FORBID_CONTENTS,R)),we&&(k[`#text`]=!0),M&&Y(k,[`html`,`head`,`body`]),k.table&&(Y(k,[`tbody`]),delete ue.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Lt(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Lt(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);v=e.TRUSTED_TYPES_POLICY,y=v.createHTML(``)}else v===void 0&&(v=pn(p,i)),v!==null&&typeof y==`string`&&(y=v.createHTML(``));K&&K(e),He=e}},Ke=Y({},[...Ut,...Wt,...Gt]),z=Y({},[...Kt,...qt]),qe=function(e){let t=_(e);(!t||!t.tagName)&&(t={namespaceURI:Pe,tagName:`template`});let n=At(e.tagName),r=At(t.tagName);return Ie[e.namespaceURI]?e.namespaceURI===Me?t.namespaceURI===Ne?n===`svg`:t.namespaceURI===je?n===`svg`&&(r===`annotation-xml`||Re[r]):!!Ke[n]:e.namespaceURI===je?t.namespaceURI===Ne?n===`math`:t.namespaceURI===Me?n===`math`&&ze[r]:!!z[n]:e.namespaceURI===Ne?t.namespaceURI===Me&&!ze[r]||t.namespaceURI===je&&!Re[r]?!1:!z[n]&&(Be[n]||!Ke[n]):!!(L===`application/xhtml+xml`&&Ie[e.namespaceURI]):!1},B=function(e){Ot(t.removed,{element:e});try{_(e).removeChild(e)}catch{g(e)}},V=function(e,n){try{Ot(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{Ot(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(be||xe)try{B(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Je=function(e){let t=null,r=null;if(ye)e=`<remove></remove>`+e;else{let t=Mt(e,/^[\r\n\t ]+/);r=t&&t[0]}L===`application/xhtml+xml`&&Pe===Ne&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=v?v.createHTML(e):e;if(Pe===Ne)try{t=new f().parseFromString(i,L)}catch{}if(!t||!t.documentElement){t=b.createDocument(Pe,`template`,null);try{t.documentElement.innerHTML=Fe?y:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),Pe===Ne?re.call(t,M?`html`:`body`)[0]:M?t.documentElement:a},Ye=function(e){return ne.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Xe=function(e){return e instanceof d&&(typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||!(e.attributes instanceof u)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`)},Ze=function(e){return typeof s==`function`&&e instanceof s};function H(e,n,r){Tt(e,e=>{e.call(t,n,r,He)})}let U=function(e){let n=null;if(H(S.beforeSanitizeElements,e,null),Xe(e))return B(e),!0;let r=R(e.nodeName);if(H(S.uponSanitizeElement,e,{tagName:r,allowedTags:k}),ve&&e.hasChildNodes()&&!Ze(e.firstElementChild)&&q(/<[/\w!]/g,e.innerHTML)&&q(/<[/\w!]/g,e.textContent)||ve&&e.namespaceURI===Ne&&r===`style`&&Ze(e.firstElementChild)||e.nodeType===dn.progressingInstruction||ve&&e.nodeType===dn.comment&&q(/<[/\w]/g,e.data))return B(e),!0;if(ue[r]||!(fe.tagCheck instanceof Function&&fe.tagCheck(r))&&!k[r]){if(!ue[r]&&$e(r)&&(j.tagNameCheck instanceof RegExp&&q(j.tagNameCheck,r)||j.tagNameCheck instanceof Function&&j.tagNameCheck(r)))return!1;if(we&&!I[r]){let t=_(e)||e.parentNode,n=te(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=h(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,ee(e))}}}return B(e),!0}return e instanceof c&&!qe(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&q(/<\/no(script|embed|frames)/i,e.innerHTML)?(B(e),!0):(_e&&e.nodeType===dn.text&&(n=e.textContent,Tt([C,ae,w],e=>{n=Nt(n,e,` `)}),e.textContent!==n&&(Ot(t.removed,{element:e.cloneNode()}),e.textContent=n)),H(S.afterSanitizeElements,e,null),!1)},Qe=function(e,t,r){if(de[t]||Se&&(t===`id`||t===`name`)&&(r in n||r in Ue))return!1;if(!(me&&!de[t]&&q(oe,t))&&!(pe&&q(se,t))&&!(fe.attributeCheck instanceof Function&&fe.attributeCheck(t,e))){if
64(!A[t]||de[t]){if(!($e(e)&&(j.tagNameCheck instanceof RegExp&&q(j.tagNameCheck,e)||j.tagNameCheck instanceof Function&&j.tagNameCheck(e))&&(j.attributeNameCheck instanceof RegExp&&q(j.attributeNameCheck,t)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(t,e))||t===`is`&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&&q(j.tagNameCheck,r)||j.tagNameCheck instanceof Function&&j.tagNameCheck(r))))return!1}else if(!ke[t]&&!q(O,Nt(r,E,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&Pt(r,`data:`)===0&&De[e])&&!(he&&!q(T,Nt(r,E,``)))&&r)return!1}return!0},$e=function(e){return e!==`annotation-xml`&&Mt(e,D)},W=function(e){H(S.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||Xe(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:A,forceKeepAttr:void 0},i=n.length;for(;i--;){let{name:a,namespaceURI:o,value:s}=n[i],c=R(a),l=s,u=a===`value`?l:Ft(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,H(S.uponSanitizeAttribute,e,r),u=r.attrValue,Ce&&(c===`id`||c===`name`)&&(V(a,e),u=`user-content-`+u),ve&&q(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){V(a,e);continue}if(c===`attributename`&&Mt(u,`href`)){V(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){V(a,e);continue}if(!ge&&q(/\/>/i,u)){V(a,e);continue}_e&&Tt([C,ae,w],e=>{u=Nt(u,e,` `)});let d=R(e.nodeName);if(!Qe(d,c,u)){V(a,e);continue}if(v&&typeof p==`object`&&typeof p.getAttributeType==`function`&&!o)switch(p.getAttributeType(d,c)){case`TrustedHTML`:u=v.createHTML(u);break;case`TrustedScriptURL`:u=v.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),Xe(e)?B(e):Dt(t.removed)}catch{V(a,e)}}H(S.afterSanitizeAttributes,e,null)},et=function(e){let t=null,n=Ye(e);for(H(S.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)H(S.uponSanitizeShadowNode,t,null),U(t),W(t),t.content instanceof a&&et(t.content);H(S.afterSanitizeShadowDOM,e,null)};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,o=null,c=null,l=null;if(Fe=!e,Fe&&(e=`<!-->`),typeof e!=`string`&&!Ze(e))if(typeof e.toString==`function`){if(e=e.toString(),typeof e!=`string`)throw Lt(`dirty is not a string, aborting`)}else throw Lt(`toString is not a function`);if(!t.isSupported)return e;if(N||Ge(n),t.removed=[],typeof e==`string`&&(F=!1),F){if(e.nodeName){let t=R(e.nodeName);if(!k[t]||ue[t])throw Lt(`root node is forbidden and cannot be sanitized in-place`)}}else if(e instanceof s)i=Je(`<!---->`),o=i.ownerDocument.importNode(e,!0),o.nodeType===dn.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!be&&!_e&&!M&&e.indexOf(`<`)===-1)return v&&P?v.createHTML(e):e;if(i=Je(e),!i)return be?null:P?y:``}i&&ye&&B(i.firstChild);let u=Ye(F?e:i);for(;c=u.nextNode();)U(c),W(c),c.content instanceof a&&et(c.content);if(F)return e;if(be){if(_e){i.normalize();let e=i.innerHTML;Tt([C,ae,w],t=>{e=Nt(e,t,` `)}),i.innerHTML=e}if(xe)for(l=x.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(A.shadowroot||A.shadowrootmode)&&(l=ie.call(r,l,!0)),l}let d=M?i.outerHTML:i.innerHTML;return M&&k[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&q(cn,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
65`+d),_e&&Tt([C,ae,w],e=>{d=Nt(d,e,` `)}),v&&P?v.createHTML(d):d},t.setConfig=function(){Ge(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),N=!0},t.clearConfig=function(){He=null,N=!1},t.isValidAttribute=function(e,t,n){return He||Ge({}),Qe(R(e),R(t),n)},t.addHook=function(e,t){typeof t==`function`&&Ot(S[e],t)},t.removeHook=function(e,t){if(t!==void 0){let n=Et(S[e],t);return n===-1?void 0:kt(S[e],n,1)[0]}return Dt(S[e])},t.removeHooks=function(e){S[e]=[]},t.removeAllHooks=function(){S=mn()},t}var gn=hn(),_n=`p.br.div.span.section.article.header.footer.h1.h2.h3.h4.h5.h6.ul.ol.li.strong.b.em.i.u.s.del.ins.mark.small.sub.sup.blockquote.pre.code.kbd.samp.hr.table.thead.tbody.tfoot.tr.th.td.caption.colgroup.col.img.figure.figcaption.a.abbr.cite.q.time.details.summary`.split(`.`),vn=[`href`,`src`,`alt`,`title`,`class`,`id`,`style`,`width`,`height`,`colspan`,`rowspan`,`scope`,`headers`,`align`,`valign`,`datetime`,`open`],yn=new Set(`color.background-color.font-size.font-weight.font-style.font-family.text-align.text-decoration.text-transform.line-height.letter-spacing.word-spacing.margin.margin-top.margin-right.margin-bottom.margin-left.padding.padding-top.padding-right.padding-bottom.padding-left.border.border-top.border-right.border-bottom.border-left.border-color.border-width.border-style.border-radius.width.max-width.min-width.height.max-height.min-height.display.vertical-align.float.clear.opacity.visibility`.split(`.`)),bn=/url\s*\(|expression\s*\(|data\s*:/i;function xn(e){return e.split(`;`).map(e=>{let t=e.indexOf(`:`);
65if(t===-1)return``;let n=e.slice(0,t).trim().toLowerCase(),r=e.slice(t+1).trim();return!yn.has(n)||bn.test(r)?``:`${n}:${r}`}).filter(Boolean).join(`;`)}function Sn(e){let t=e.trim();return t.startsWith(`/api/proxy/image?`)?t:/^https?:\/\//i.test(t)?`/api/proxy/image?url=${encodeURIComponent(t)}`:``}gn.addHook(`afterSanitizeAttributes`,e=>{if(e.tagName===`A`){let t=e.getAttribute(`href`)??``;/^\s*javascript:/i.test(t)&&e.setAttribute(`href`,`#`),e.setAttribute(`target`,`_blank`),e.setAttribute(`rel`,`noopener noreferrer`)}if(e.tagName===`IMG`){let t=Sn(e.getAttribute(`src`)??``);t?e.setAttribute(`src`,t):e.removeAttribute(`src`)}if(e.hasAttribute(`style`)){let t=xn(e.getAttribute(`style`)??``);t?e.setAttribute(`style`,t):e.removeAttribute(`style`)}});function Cn(e){return gn.sanitize(e,{ALLOWED_TAGS:_n,ALLOWED_ATTR:vn,ALLOW_DATA_ATTR:!1,FORBID_CONTENTS:[`script`,`style`,`noscript`,`template`],RETURN_DOM:!1})}var wn=/^(?:(?:19|20)\d{2}|\((?:19|20)\d{2}\)|S\d{2}(?:E\d{2,3})*|E\d{2,3}|INTEGRALE|INTÉGRALE|2160p|1080p|720p|576p|480p|SD|UHD|4K|4KLight|MULTi|VOSTFR|VOST|VFF|VFQ|VF2|VFI|VF|FRENCH|TRUEFRENCH|x265|H265|HEVC|x264|H264|AVC|AV1|XviD|VC-1|BluRay|BDRip|BRRip|HDLight|WEB-?DL|WEB(?:Rip)?|HDTV|DVDRip|HDR10Plus|HDR(?:10)?(?:\+)?|DV|DolbyVision|HLG|10bits?|8bits?|DTS(?:HD)?(?:\d+\.\d+)?|DDP(?:\d+\.\d+)?|EAC3|AC3|DD|MP3|AAC|FLAC|Opus|TrueHD|MLP|FBA|Atmos|MUET|5\.1|7\.1|2\.0|CA)$/i;function Tn(e){let t=e.replace(/\.\w{2,5}$/,``).replace(/[_\s]+/g,`.`).replace(/\.{2,}/g,`.`);if(!t)return``;let n=t.split(`.`),r=-1;for(let e=0;e<n.length;e++)if(wn.test(n[e])){r=e;break}return(r===-1?n:n.slice(0,r)).join(` `).replace(/\s+/g,` `).replace(/\([^)]*\)/g,``).replace(/[()]/g,``).trim()}function En(e){let t=e.replace(/[_\s]+/g,`.`).split(`.`),n=0;for(let e of t)if(wn.test(e)&&(n++,n>=2))return!0;return!1}function Dn(e){let t=e.match(/\b(19|20)\d{2}\b/);return t?t[0]:null}var On=/^(?:mkv|mp4|avi|wmv|mov|flv|ts|m2ts|bdmv|iso|flac|mp3|m4a|aac|ogg|opus|wav|wma|epub|pdf|cbz|cbr|mobi|azw|kf8|nfo|torrent|zip|rar|7z|exe|msi|apk|dmg|stl|obj|fbx|3mf|srt|ass|ssa|sub|sup|idx|jpg|jpeg|png|gif|webp|bmp|tiff|txt|sample)$/i,kn={Général:`General`,Vidéo:`Video`,Texte:`Text`},An={Largeur:`Width`,"Profondeur binaire":`Bit depth`,"Canal(aux)":`Channel(s)`,Channels:`Channel(s)`,"Par défaut":`Default`,Langue:`Language`,Titre:`Title`,"Mode forcé":`Forced`,Débit:`Bit rate`,"Bibliothèque utilisée":`Writing library`,"Caractéristiques du transfert":`Transfer characteristics`,"Format/Infos":`Format/Info`,"Format, Profil":`Format profile`,"Format profile / Version":`Format profile`,"Format, Nom commercial IfAny":`Commercial name`,"Fonctionnalités supplémentaires":`Additional features`,Hauteur:`Height`,"Nombre de canaux":`Channel(s)`};function jn(e){let t={},n=``;for(let r of e.split(`
66`)){let e=r.replace(/\r$/,``).trimEnd();if(!e.trim())continue;let i=e.indexOf(` : `);if(i<0&&!e.startsWith(` `)){let r=e.trim();n=kn[r]??(r.startsWith(`Texte #`)?r.replace(`Texte`,`Text`):null)??(r.startsWith(`Vidéo #`)?r.replace(`Vidéo`,`Video`):null)??r,t[n]||(t[n]={});continue}if(i>0&&n){let r=e.slice(0,i).trim(),a=An[r]??r;t[n][a]=e.slice(i+3).trim()}}return t}function Mn(e,t){let n=[];for(let r of Object.keys(e))(r===t||r.startsWith(t+` #`))&&n.push(e[r]);return n}function Nn(e,...t){for(let n of t)if(e[n])return e[n];return{}}function Pn(e){let t=parseInt((e.Width??``).replace(/[^\d]/g,``),10);return t?t>=3200?`2160p`:t>=1440?`1080p`:t>=960?`720p`:`SD`:``}function Fn(e){let t=e[`Bit depth`]??``,n=parseInt(t,10);return n===10?`10bits`:n===12?`12bits`:``}function In(e){let t=e.Format??``,n=(e[`Writing library`]??``).toLowerCase();return/x265/i.test(n)?`x265`:/x264/i.test(n)?`x264`:/HEVC|H\.265/i.test(t)?`H265`:/AVC|H\.264/i.test(t)?`H264`:/AV1/i.test(t)?`AV1`:/MPEG-4 Visual/i.test(t)?`XviD`:/VC-1/i.test(t)?`VC-1`:/VP9/i.test(t)?`VP9`:/MPEG Video/i.test(t)?`MPEG2`:t}function Ln(e){let t=e.Format??``,n=e[`Format/Info`]??``,r=e[`Format profile`]??``,i=e[`Commercial name`]??``;return/TrueHD/i.test(t)&&/Atmos/i.test(n+i)?`TrueHD Atmos`:/TrueHD/i.test(t)?`TrueHD`:/DTS/i.test(t)?/DTS:X/i.test(r+i)?`DTS:X`:/Master|DTS-HD MA/i.test(r+n+i)?`DTS-HD MA`:/DTS-HD/i.test(r+i)?`DTS-HD`:`DTS`:/E-AC-3|EAC3/i.test(t)?/Atmos/i.test(n+i)?`EAC3 Atmos`
66:`EAC3`:/AC-3/i.test(t)?`AC3`:/AAC/i.test(t)?`AAC`:/FLAC/i.test(t)?`FLAC`:/MP3/i.test(t)||/MPEG.?Audio/i.test(t)&&/Layer.?3/i.test(r+n)?`MP3`:/MPEG.?Audio/i.test(t)&&/Layer.?2/i.test(r+n)?`MP2`:/Opus/i.test(t)?`Opus`:/PCM/i.test(t)?`PCM`:t}function Rn(e){let t=parseInt(e[`Channel(s)`]??``,10);return t===2?`2.0`:t===6?`5.1`:t===8?`7.1`:t>0?`${t}ch`:``}function zn(e){let t=(e[`HDR format`]??``).toLowerCase(),n=(e[`Transfer characteristics`]??``).toLowerCase(),r=t.includes(`dolby vision`),i=t.includes(`app 4`)||t.includes(`hdr10+`),a=t.includes(`smpte st 2086`)||t.includes(`hdr10`);return r&&i?`DV HDR10+`:r&&a?`DV HDR10`:r?`DV`:i?`HDR10+`:a||n.includes(`pq`)?`HDR10`:n.includes(`hlg`)?`HLG`:``}function Bn(e,t=[]){if(e.length===0)return``;let n=e.map(e=>(e.Language??``).toLowerCase()),r=e.map(e=>(e.Title??``).toUpperCase()),i=n.some(e=>e.includes(`french`)||e.includes(`français`)||e.includes(`fr`)),a=n.some(e=>e.includes(`english`)||e.includes(`anglais`)||e.includes(`en`)),o=new Set(n.filter(Boolean)).size>1,s=(()=>{for(let e of r){let t=e.match(/\b(VFF|VFQ|VFI|VF2|VOSTFR|VOST|VF)\b/i);if(t)return t[1].toUpperCase()}return``})(),c=t.map(e=>(e.Language??``).toLowerCase()).some(e=>e.includes(`french`)||e.includes(`français`)||e.startsWith(`fr`));return o?s?`MULTi ${s===`VF`?`VFF`:s}`:`MULTi`:i?s||`FRENCH`:a&&c?`VOSTFR`:a?`VO`:``}function Vn(e){let t=e.match(/^(.+?)\s+\((\d{4})\)\s*(.*)$/);if(!t)return{title:``,year:``,group:``};let n=t[3],r=``;if(n.trimStart().startsWith(`.`)){let e=n.replace(/\*/g,``).replace(/^\.+/,``).split(`.`),t=e[e.length-1];r=wn.test(t)?``:t}else if(n.includes(` - `))r=n.slice(n.lastIndexOf(` - `)+3).trim();else if(n.includes(`-`)){let e=n.slice(n.lastIndexOf(`-`)+1).trim();!e.includes(` `)&&!wn.test(e)&&(r=e)}else{let e=n.trim();e&&!e.includes(` `)&&!wn.test(e)&&(r=e)}return r.includes(`.`)&&(r=[...r.split(`.`)].reverse().find(e=>e.length>0&&!wn.test(e)&&!On.test(e))??``),On.test(r)&&(r=``),{title:t[1].trim(),year:t[2],group:r}}function Hn(e){let t=e.Format??``,n=`${t} ${e[`Format/Info`]??``}`.toLowerCase();return/subrip|srt/i.test(n)?`SRT`:/ass|advanced substation/i.test(n)?`ASS`:/ssa|substation alpha/i.test(n)?`SSA`:/hdmv pgs|pgs|presentation graphic/i.test(n)?`PGS`:/vobsub|dvd subtitle/i.test(n)?`VobSub`:/dvb|dvbsub/i.test(n)?`DVB`:/webvtt|vtt/i.test(n)?`VTT`:/ttml|dfxp/i.test(n)?`TTML`:/utf-?8|text/i.test(n)?`SRT`:t}function Un(e){let t=e.Format??``;return/Matroska/i.test(t)?`MKV`:/MPEG-4/i.test(t)?`MP4`:/AVI/i.test(t)?`AVI`:/Flash Video/i.test(t)?`FLV`:/Windows Media/i.test(t)?`WMV`:/BDAV/i.test(t)?`BDAV`:t}function Wn(e){let t=e.replace(/\r\n/g,`
67`).replace(/\r/g,`
68`),n=t.indexOf(`
69General
70`);n<0&&(n=t.indexOf(`
71Général
72`));let r=jn(n>=0?t.slice(n):t),i=Nn(r,`General`),a=Nn(r,`Video`,`Video #1`),o=Mn(r,`Audio`),s=Mn(r,`Text`),c=o.find(e=>/yes/i.test(e.Default??``))??o[0]??{},l=i.Title??``,{title:u,year:d,group:f}=Vn(l),p=Object.keys(i).length>0,m=Object.keys(a).length>0,h=p&&m&&o.length===0;return{resolution:Pn(a),bitDepth:Fn(a),videoCodec:In(a),audioCodec:h?`MUET`:Ln(c),audioChannels:h?``:Rn(c),hdrType:zn(a),language:h?`MUET`:Bn(o,s),generalTitle:l,guessTitle:u,guessYear:d,guessGroup:f}}function Gn(e){let t=e.replace(/\r\n/g,`
73`).replace(/\r/g,`
74`),n=t.indexOf(`
75General
76`);n<0&&(n=t.indexOf(`
77Général
78`));let r=jn(n>=0?t.slice(n):t),i=Nn(r,`General`),a=Nn(r,`Video`,`Video #1`),o=Mn(r,`Audio`),s=Mn(r,`Text`),c=Object.keys(i).length>0,l=Object.keys(a).length>0,u=c&&l&&o.length===0?[{codec:`MUET`,channels:``,language:`MUET`,title:``,isDefault:!0}]:o.map(e=>({codec:Ln(e),channels:Rn(e),language:e.Language??``,title:e.Title??``,isDefault:/yes|oui/i.test(e.Default??``)})),d=s.map(e=>{let t=e.Title??``,n=e[`Additional features`]??``,r=/\bSDH\b/i.test(t+` `+n);return{language:e.Language??``,format:Hn(e),title:t,isForced:/yes|oui/i.test(e.Forced??``),isSDH:r}});return{containerFormat:Un(i),videoBitrate:a[`Bit rate`]??``,audioTracks:u,subtitleTracks:d}}function Kn(e){let t=e.replace(/\.(mkv|mp4|avi|wmv|mov|flv|ts|m2ts|bdmv|iso|flac|mp3|m4a|aac|ogg|opus|wav|wma|epub|pdf|cbz|cbr|mobi|azw|kf8|nfo|torrent|zip|rar|7z|exe|msi|apk|dmg|stl|obj|fbx|3mf|srt|ass|ssa|sub|sup|idx)$/i,``).replace(/[_\s]+/g,`.`).replace(/\.{2,}/g,`.`),n=t.lastIndexOf(`-`),r=n>=0?t.slice(n+1):``,i=n>=0?t.slice(0,n):t,a=i.split(`.`),o=``,s=``,c=``,l=``,u=``,d=``,f=``,p=``,m=``,h=``;for(let e of a){let t=e.toUpperCase();if(/^S\d{2}(E\d{2})*$/i.test(e)){m=e.toUpperCase();continue}if(/^E\d{2,3}$/i.test(e)&&!m){m=e.toUpperCase();continue}if(t===`INTEGRALE`||t===`INTÉGRALE`){m=`INTEGRALE`;continue}if(t===`2160P`||t===`4K`){o=`2160p`;continue}if(t===`1080P`){o=`1080p`;continue}if(t===`720P`){o=`720p`;continue}if(t===`576P`){o=`576p`;continue}if(t===`480P`){o=`480p`;continue}if(t===`SD`){o=`SD`;
78continue}if(t===`UHD`&&!o){o=`2160p`;continue}if(t===`MULTI`){s=`MULTi`;continue}if(t===`VOSTFR`||t===`VOST`){s=`VOSTFR`;continue}if(t===`VFF`){s=s===`MULTi`?`MULTi VFF`:`VFF`;continue}if(t===`VFQ`){s=s===`MULTi`?`MULTi VFQ`:`VFQ`;continue}if(t===`VF2`){s=s.startsWith(`MULTi`)?`MULTi VF2`:`VF2`;continue}if(t===`TRUEFRENCH`){s=s.startsWith(`MULTi`)?`MULTi TRUEFRENCH`:`TRUEFRENCH`;continue}if(t===`VF`){s||=`FRENCH`;continue}if(t===`FRENCH`){s||=`FRENCH`;continue}if(t===`X265`){c=`x265`;continue}if(t===`H265`||t===`HEVC`){c=`H265`;continue}if(t===`X264`){c=`x264`;continue}if(t===`H264`||t===`AVC`){c=`H264`;continue}if(t===`AV1`){c=`AV1`;continue}if(t===`XVID`){c=`XviD`;continue}if(t===`VC-1`||t===`VC1`||t===`VC.1`){c=`VC-1`;continue}if(t===`MPEG2`||t===`MPEG-2`){c=`MPEG2`;continue}if(t===`MPEG1`||t===`MPEG-1`){c=`MPEG1`;continue}if(t===`MPEG4`||t===`MPEG-4`){c=`MPEG4`;continue}if(t===`DIVX`||t===`DIVX5`||t===`DIVX6`){c=`DivX`;continue}if(t===`WMV`||t===`WMV2`||t===`WMV3`){c=`WMV`;continue}if(t===`VP9`||t===`VP-9`){c=`VP9`;continue}if(t===`VP8`||t===`VP-8`){c=`VP8`;continue}if(t===`HVC1`||t===`HEV1`){c=`H265`;continue}if(t===`AVC1`||t===`AVC3`){c=`H264`;continue}if(/^PRORES$/i.test(t)||t===`PRO-RES`){c=`ProRes`;continue}if(t===`MJPEG`||t===`M-JPEG`){c=`MJPEG`;continue}if(/^DDP(\d+\.\d+)?$/i.test(e)){l=`EAC3`,e.includes(`.`)&&(u=e.slice(3));continue}if(t===`DTS:X`){l=`DTS:X`;continue}if(t===`DTS-HD`){l=`DTS-HD`;continue}if(t===`MA`&&l===`DTS-HD`){l=`DTS-HD MA`;continue}if(/^DTS(\d+\.\d+)?$/i.test(e)){l||=`DTS`,e.includes(`.`)&&(u=e.slice(3));continue}if(t===`EAC3`||t===`EAC-3`){l=`EAC3`;continue}if(t===`AC3`||t===`DD`){l||=`AC3`;continue}if(t===`AAC`){l||=`AAC`;continue}if(t===`FLAC`){l=`FLAC`;continue}if(t===`TRUEHD`){l=`TrueHD`;continue}if(t===`MLP`){l=`TrueHD`;continue}if(t===`FBA`)continue;if(t===`ATMOS`){l=l===`TrueHD`?`TrueHD Atmos`:`EAC3 Atmos`;continue}if(t===`OPUS`){l=`Opus`;continue}if(t===`MP3`){l=`MP3`;continue}if(t===`MUET`){l=`MUET`,u=``;continue}if(e===`5.1`){u=`5.1`;continue}if(e===`7.1`){u=`7.1`;continue}if(e===`2.0`){u=`2.0`;continue}if(t===`HDR10+`||t===`HDR10PLUS`){p=p===`DV`?`DV HDR10+`:p||`HDR10+`;continue}if(t===`HDR10`||t===`HDR`){p=p===`DV`?`DV HDR10`:p||`HDR10`;continue}if(t===`DV`||t===`DOLBYVISION`){p=p?`DV ${p}`:`DV`;continue}if(t===`HLG`){p=`HLG`;continue}if(t===`10BIT`||t===`10BITS`){f=`10bits`;continue}if(t===`VFI`){s=s.startsWith(`MULTi`)?`MULTi VFI`:`VFI`;continue}if(t===`HDLIGHT`&&!d){d=`HDLight`;continue}if(t===`4KLIGHT`&&!d){d=`4KLight`;continue}if(t===`WEBDL`||t===`WEB-DL`){d=`WEB-DL`;continue}if(t===`WEBRIP`){d=`WEBRip`;continue}if(t===`WEB`&&!d){d=`WEB`;continue}if(t===`BLURAY`||t===`BLU-RAY`){d||=`Bluray`;continue}if(t===`BDRIP`){d=`BDRip`;continue}if(t===`REMUX`){d=(d||`Bluray`)+` Remux`;continue}if(t===`HDTV`){d=`HDTV`;continue}if(t===`DVDRIP`){d=`DVDRip`;continue}if(t===`DVD`&&!d){d=`DVD`;continue}let n={REMASTERED:`REMASTERED`,REMASTER:`REMASTERED`,REMASTERISE:`REMASTERED`,EXTENDED:`EXTENDED`,IMAX:`IMAX`,UNRATED:`UNRATED`,UNCUT:`UNCUT`,THEATRICAL:`THEATRICAL`,PROPER:`PROPER`,REPACK:`REPACK`,HYBRID:`HYBRID`};if(n[t]){h=h?`${h}.${n[t]}`:n[t];continue}}if(!u){let e=i.match(/\b(7\.2|7\.1|6\.1|5\.1|2\.1|2\.0)\b/);e&&(u=e[1])}return r=r.replace(/^(?:H264|H265|X264|X265|HEVC|AVC|AAC|EAC3|AC3|DTS|TRUEHD|FLAC)_/i,``),r.includes(`.`)&&(r=[...r.split(`.`)].reverse().find(e=>e.length>0&&!wn.test(e)&&!On.test(e))??``),On.test(r)&&(r=``),{resolution:o,language:s,videoCodec:c,audioCodec:l,audioChannels:u,source:d,bitDepth:f,hdrType:p,releaseGroup:r,episode:m,edition:h}}var qn={mode:`structured`,label:`Vidéo (Films / Séries / VO)`,hasTmdb:!0,requireNfo:!0,showNfo:!0,fields:{title:{label:`Titre`,type:`text`,placeholder:`The Movie Title`,mandatory:!0,fullWidth:!0},year:{label:`Année`,type:`text`,placeholder:`2024`,maxLength:4,mandatory:!0},episode:{label:`Épisode / Saison`,type:`text`,placeholder:`S01E01 · S01 · INTEGRALE`,autoDetectable:!0,onlyForSlugs:[`series`]},edition:{label:`Édition`,type:`datalist`,options:[`REMASTERED`,`EXTENDED`,`IMAX`,`UNRATED`,`UNCUT`,`THEATRICAL`,`PROPER`,`REPACK`,`HYBRID`],placeholder:`REMASTERED`,autoDetectable:!0},language:{label:`Langue`,type:`datalist`,options:[`FRENCH`,`TRUEFRENCH`,`MULTi`,`MULTi VFF`,`MULTi VFQ`,`MULTi VF2`,`MULTi VOF`,`MULTi VFI`,`MULTi TRUEFRENCH`,`VOSTFR`,`VF`,`VFF`,`VFQ`,`VF2`,`VOF`,`VFI`,`VO`,`ENGLISH`],placeholder:`MULTi VFF`,mandatory:!0,autoDetectable:!0},customFormats:{label:`Formats custom`,type:`text`,placeholder:`IMAX HYBRID PROPER`},resolution:{label:`Résolution`,type:`datalist`,options:[`2160p`,`1080p`,`720p`,`576p`,`480p`,`SD`],placeholder:`1080p`,mandatory:!0,autoDetectable:!0},source:{label:`Source`,type:`datalist`,options:[`Bluray`,`Bluray Remux`,`UHD Bluray`,`UHD Bluray Remux`,`BDRip`,`HDLight`,`WEB-DL`,`WEB`,`WEBRip`,`HDTV`,`DVD`,`DVDRip`,`CAM`],placeholder:`Bluray`,autoDetectable:!0},bitDepth:{label:`Profondeur`,type:`datalist`,options:[`10bits`,`12bits`],placeholder:`10bits`,autoDetectable:!0},is3D:{label:`3D`,type:`checkbox`},hdrType:{label:`HDR / DV`,type:`datalist`,options:[`DV HDR10+`,`DV HDR10`,`DV`,`HDR10+`,`HDR10`,`HLG`],placeholder:`HDR10`,autoDetectable:!0},audioCodec:{label:`Codec audio`,type:`datalist`,options:[`TrueHD Atmos`,`TrueHD`,`EAC3 Atmos`,`EAC3`,`DTS-HD MA`,`DTS:X`,`DTS`,`AC3`,`AAC`,`FLAC`,`Opus`,`PCM`,`MUET`],placeholder:`DTS`,mandatory:!0,autoDetectable:!0},audioChannels:{label:`Canaux audio`,type:`datalist`,options:[`7.1`,`5.1`,`2.0`,`Atmos`],placeholder:`5.1`,autoDetectable:!0},videoCodec:{label:`Codec vidéo`,type:`datalist`,options:[`x265`,`H265`,`x264`,`H264`,`AV1`,`XviD`,`VC-1`,`VP9`,`VP8`,`MPEG2`,`MPEG1`,`MPEG4`,`DivX`,`WMV`,`ProRes`,`MJPEG`],placeholder:`x265`,mandatory:!0,autoDetectable:!0},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`RlsGrp`}},fieldGroups:[{label:`Informations`,keys:[`title`,`year`,`episode`,`language`,`source`,`releaseGroup`]},{label:`Qualité`,note:`auto-détecté via NFO`,keys:[`resolution`,`videoCodec`,`audioCodec`,`audioChannels`,`bitDepth`,`hdrType`]},{label:`Options`,keys:[`edition`,`customFormats`,`is3D`]}],naming:[{kind:`field`,key:`title`},{kind:`episodeOrYear`},{kind:`field`,key:`edition`},{kind:`field`,key:`language`},{kind:`field`,key:`customFormats`},{kind:`field`,key:`resolution`},{kind:`field`,key:`source`},{kind:`field`,key:`bitDepth`},{kind:`flag`,key:`is3D`,value:`3D`},{kind:`field`,key:`hdrType`},{kind:`field`,key:`audioCodec`},{kind:`field`,key:`audioChannels`},{kind:`field`,key:`videoCodec`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},Jn={mode:`structured`,label:`Livre`,hasTmdb:!1,requireNfo:!1,showNfo:!0,groupSuffix:`eBOOK`,fields:{title:{label:`Titre`,type:`text`,placeholder:`The Title of the Book`,mandatory:!0,fullWidth:!0},author:{label:`Auteur / Éditeur`,type:`text`,placeholder:`J.R.R.Tolkien`},year:{label:`Année`,type:`text`,placeholder:`2024`,maxLength:4,mandatory:!0},language:{label:`Langue`,type:`datalist`,options:[`FRENCH`,`ENGLISH`,`GERMAN`,`SPANISH`,`ITALIAN`,`SWEDISH`,`DUTCH`,`PORTUGUESE`],placeholder:`FRENCH`},source:{label:`Source`,type:`datalist`,options:[`RETAiL`,`SCAN`,`HYBRiD`],placeholder:`RETAiL`,mandatory:!0},format:{label:`Format`,type:`datalist`,options:[`ePUB`,`PDF`,`CBZ`,`MOBI`,`AZW`,`KF8`,`PRC`],placeholder:`ePUB`},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`},edition:{label:`Édition`,type:`text`,placeholder:`3rd.Edition`},issueNo:{label:`Numéro`,type:`text`,placeholder:`No.12`},volume:{label:`Volume`,type:`text`,placeholder:`Vol.23`},isManga:{label:`MANGA`,type:`checkbox`},isInternal:{label:`iNTERNAL`,type:`checkbox`}},fieldGroups:[{label:`Informations`,keys:[`title`,`author`,`year`,`edition`,`issueNo`,`volume`]},{label:`Publication`,keys:[`language`,`source`,`format`,`releaseGroup`]},{label:`Tags`,keys:[`isManga`,`isInternal`]}],naming:[{kind:`field`,key:`author`},{kind:`field`,key:`title`},{kind:`field`,key:`edition`},{kind:`field`,key:`volume`},{kind:`field`,key:`issueNo`},{kind:`field`,key:`year`},{kind:`field`,key:`language`},{kind:`field`,key:`source`},{kind:`flag`,key:`isManga`,value:`MANGA`},{kind:`flag`,key:`isInternal`,value:`iNTERNAL`},{kind:`field`,key:`format`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},Yn={mode:`structured`,label:`Musique`,hasTmdb:!1,requireNfo:!1,showNfo:!1,fields:{artist:{label:`Artiste`,type:`text`,placeholder:`Daft.Punk`,mandatory:!0},title:{label:`Titre de l'album / single`,type:`text`,placeholder:`Random.Access.Memories`,mandatory:!0,fullWidth:!0},catalogue:{label:`Catalogue / Réf.`,type:`text`,placeholder:`WM12345`},language:{label:`Langue`,type:`datalist`,options:[`FRENCH`,`ENGLISH`,`GERMAN`,`SPANISH`,`ITALIAN`,`JAPANESE`]},type:{label:`Type`,type:`datalist`,options:[`BOOTLEG`,`OST`,`SINGLE`,`EP`,`2CD`,`3CD`,`MAG`],placeholder:`SINGLE`},bitDepth:{label:`Résolution (FLAC)`,type:`datalist`,options:[`16BIT`,`24BIT`],placeholder:`24BIT`},khz:{label:`Fréquence (FLAC)`,type:`datalist`,options:[`44.1KHZ`,`48KHZ`,`88.2KHZ`,`96KHZ`,`192KHZ`],placeholder:`44.1KHZ`},source:{label:`Source`,type:`datalist`,options:[`WEB`,`CD`,`Vinyl`,`SAT`,`FM`],placeholder:`WEB`},isFlac:{label:`FLAC (lossless)`,type:`checkbox`},year:{label:`Année`,type:`text`,placeholder:`2024`,maxLength:4,mandatory:!0},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`}},fieldGroups:[{label:`Artiste & Album`,keys:[`artist`,`title`,`year`,`type`]},{label:`Technique`,keys:[`bitDepth`,`khz`,`source`,`isFlac`]},{label:`Options`,keys:[`catalogue`,`language`,`releaseGroup`]}],naming:[{kind:`field`,key:`artist`},{kind:`field`,key:`title`},{kind:`field`,key:`catalogue`},{kind:`field`,key:`language`},{kind:`field`,key:`type`},{kind:`field`,key:`bitDepth`},{kind:`field`,key:`khz`},{kind:`field`,key:`source`},{kind:`flag`,key:`isFlac`,value:`FLAC`},{kind:`field`,key:`year`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}],namingVariants:[{condition:e=>/\bFLAC\b/i.test(e),naming:[{kind:`field`,key:`artist`},{kind:`field`,key:`title`},{kind:`field`,key:`catalogue`},{kind:`field`,key:`language`},{kind:`field`,key:`type`},{kind:`field`,key:`bitDepth`,required:!0},{kind:`field`,key:`khz`},{kind:`field`,key:`source`},{kind:`flag`,key:`isFlac`,value:`FLAC`},{kind:`field`,key:`year`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},{condition:()=>!0,naming:[{kind:`field`,key:`artist`},{kind:`field`,key:`title`},{kind:`field`,key:`catalogue`},{kind:`field`,key:`language`},{kind:`field`,key:`type`},{kind:`field`,key:`source`},{kind:`field`,key:`year`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]}]},Xn={mode:`structured`,label:`Application`,hasTmdb:!1,requireNfo:!1,showNfo:!1,fields:{title:{label:`Nom`,type:`text`,placeholder:`Adobe.Photoshop`,mandatory:!0,fullWidth:!0},version:{label:`Version`,type:`text`,placeholder:`v25.9.1`,mandatory:!0},platform:{label:`Plateforme`,type:`datalist`,options:[`Windows`,`Linux`,`MacOS`,`Android`,`iOS`],placeholder:`Windows`,mandatory:!0},architecture:{label:`Architecture`,type:`datalist`,options:[`x64`,`x86`,`ARM64`,`ARM`],placeholder:`x64`},language:{label:`Langue`,type:`datalist`,options:[`FRENCH`,`ENGLISH`,`MULTi`,`GERMAN`,`SPANISH`]},isProper:{label:`PROPER`,type:`checkbox`},isRepack:{label:`REPACK`,type:`checkbox`},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`}},fieldGroups:[{label:`Application`,keys:[`title`,`version`,`platform`,`architecture`]},{label:`Options`,keys:[`language`,`isProper`,`isRepack`,`releaseGroup`]}],naming:[{kind:`field`,key:`title`},{kind:`field`,key:`version`},{kind:`field`,key:`platform`},{kind:`field`,key:`architecture`},{kind:`field`,key:`language`},{kind:`flag`,key:`isProper`,value:`PROPER`},{kind:`flag`,key:`isRepack`,value:`REPACK`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},Zn={mode:`structured`,label:`Jeu PC`,hasTmdb:!1,hasRawg:!0,requireNfo:!1,showNfo:!1,fields:{title:{label:`Titre`,type:`text`,placeholder:`Cyberpunk.2077`,mandatory:!0,fullWidth:!0},language:{label:`Langue`,type:`datalist`,options:[`FRENCH`,`ENGLISH`,`GERMAN`,`SPANISH`,`ITALIAN`]},multiLang:{label:`MULTI (nb langues)`,type:`datalist`,options:[`MULTI2`,`MULTI3`,`MULTI4`,`MULTI5`,`MULTI6`,`MULTI7`,`MULTI8`,`MULTI9`,`MULTI10`],placeholder:`MULTI5`},platform:{label:`Plateforme`,type:`datalist`,options:[`Linux`,`MacOS`,`x86_64`],placeholder:`Linux`},isVR:{label:`VR`,type:`checkbox`},isx86:{label:`x86 (32 bits)`,type:`checkbox`},isProper:{label:`PROPER`,type:`checkbox`},isRepack:{label:`REPACK`,type:`checkbox`},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`,mandatory:!0}},fieldGroups:[{label:`Jeu`,keys:[`title`,`language`,`multiLang`,`platform`]},{label:`Tags`,keys:[`isVR`,`isx86`,`isProper`,`isRepack`,`releaseGroup`]}],naming:[{kind:`field`,key:`title`},{kind:`field`,key:`language`},{kind:`field`,key:`multiLang`},{kind:`field`,key:`platform`},{kind:`flag`,key:`isVR`,value:`VR`},{kind:`flag`,key:`isx86`,value:`x86`},{kind:`flag`,key:`isProper`,value:`PROPER`},{kind:`flag`,key:`isRepack`,value:`REPACK`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},Qn={mode:`structured`,label:`Jeu Console`,hasTmdb:!1,hasRawg:!0,requireNfo:!1,showNfo:!1,fields:{title:{label:`Titre`,type:`text`,placeholder:`God.Of.War`,mandatory:!0,fullWidth:!0},platform:{label:`Console`,type:`datalist`,options:[`PS4`,`PS5`,`XBOX360`,`XBOX`,`Switch`,`3DS`,`WiiU`,`Wii`,`NDS`,`GBA`,`GameCube`,`PS3`,`PS2`],placeholder:`PS4`,mandatory:!0},region:{label:`Région`,type:`datalist`,options:[`EUR`,`USA`,`JPN`,`ASIA`,`WORLD`],placeholder:`EUR`},language:{label:`Langue`,type:`datalist`,options:[`FRENCH`,`ENGLISH`,`MULTi`,`GERMAN`,`SPANISH`,`JAPANESE`]},isMulti:{label:`MULTI`,type:`checkbox`},isVR:{label:`VR`,type:`checkbox`},isProper:{label:`PROPER`,type:`checkbox`},isRepack:{label:`REPACK`,type:`checkbox`},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`,mandatory:!0}},fieldGroups:[{label:`Jeu`,keys:[`title`,`platform`,`region`,`language`]},{label:`Tags`,keys:[`isMulti`,`isVR`,`isProper`,`isRepack`,`releaseGroup`]}],naming:[{kind:`field`,key:`title`}
78,{kind:`field`,key:`region`},{kind:`field`,key:`language`},{kind:`flag`,key:`isMulti`,value:`MULTI`},{kind:`flag`,key:`isVR`,value:`VR`},{kind:`flag`,key:`isProper`,value:`PROPER`},{kind:`flag`,key:`isRepack`,value:`REPACK`},{kind:`field`,key:`platform`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},$n={mode:`structured`,label:`ROM / ISO`,hasTmdb:!1,hasRawg:!0,requireNfo:!1,showNfo:!1,fields:{title:{label:`Titre`,type:`text`,placeholder:`Super.Mario.World`,mandatory:!0,fullWidth:!0},console:{label:`Console`,type:`datalist`,options:[`SNES`,`NES`,`N64`,`GBA`,`GBC`,`GB`,`GameCube`,`Wii`,`WiiU`,`Switch`,`PS1`,`PS2`,`PS3`,`Dreamcast`,`Saturn`,`MegaDrive`,`GameGear`,`3DS`,`NDS`],placeholder:`SNES`,mandatory:!0},region:{label:`Région`,type:`datalist`,options:[`EUR`,`USA`,`JPN`,`WORLD`,`MULTI`]},language:{label:`Langue`,type:`datalist`,options:[`FRENCH`,`ENGLISH`,`MULTi`,`GERMAN`,`JAPANESE`]},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`}},fieldGroups:[{label:`ROM`,keys:[`title`,`console`,`region`,`language`,`releaseGroup`]}],naming:[{kind:`field`,key:`title`},{kind:`field`,key:`console`},{kind:`field`,key:`region`},{kind:`field`,key:`language`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},er={mode:`structured`,label:`Émulateur`,hasTmdb:!1,requireNfo:!1,showNfo:!1,fields:{title:{label:`Nom de l'émulateur`,type:`text`,placeholder:`RetroArch`,mandatory:!0,fullWidth:!0},version:{label:`Version`,type:`text`,placeholder:`v1.19.0`,mandatory:!0},platform:{label:`Plateforme`,type:`datalist`,options:[`Windows`,`Linux`,`MacOS`,`Android`],placeholder:`Windows`,mandatory:!0},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`}},fieldGroups:[{label:`Émulateur`,keys:[`title`,`version`,`platform`,`releaseGroup`]}],naming:[{kind:`field`,key:`title`},{kind:`field`,key:`version`},{kind:`field`,key:`platform`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},tr={mode:`structured`,label:`Impression 3D`,hasTmdb:!1,requireNfo:!1,showNfo:!1,fields:{title:{label:`Nom de l'objet`,type:`text`,placeholder:`Mandalorian.Helmet`,mandatory:!0,fullWidth:!0},category:{label:`Catégorie`,type:`datalist`,options:[`Figurine`,`Prop`,`Meuble`,`Outil`,`Jouet`,`Architecture`,`Bijoux`,`Autre`],placeholder:`Figurine`},scale:{label:`Échelle`,type:`text`,placeholder:`1-10`},fileFormat:{label:`Format fichier`,type:`datalist`,options:[`STL`,`OBJ`,`FBX`,`3MF`,`STEP`,`BLEND`],placeholder:`STL`},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`}},fieldGroups:[{label:`Objet`,keys:[`title`,`category`,`scale`,`fileFormat`,`releaseGroup`]}],naming:[{kind:`field`,key:`title`},{kind:`field`,key:`category`},{kind:`field`,key:`scale`},{kind:`field`,key:`fileFormat`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},nr={mode:`structured`,label:`Formation`,hasTmdb:!1,requireNfo:!1,showNfo:!1,fields:{creator:{label:`Créateur / Plateforme`,type:`text`,placeholder:`Udemy`,mandatory:!0},title:{label:`Titre du cours`,type:`text`,placeholder:`Apprenez.Python`,mandatory:!0,fullWidth:!0},year:{label:`Année`,type:`text`,placeholder:`2024`,maxLength:4},language:{label:`Langue`,type:`datalist`,options:[`FRENCH`,`ENGLISH`,`GERMAN`,`SPANISH`],placeholder:`FRENCH`,mandatory:!0},platform:{label:`Plateforme`,type:`datalist`,options:[`Udemy`,`Coursera`,`OpenClassrooms`,`LinkedIn`,`YouTube`,`Skillshare`,`Autre`],placeholder:`Udemy`},format:{label:`Format`,type:`datalist`,options:[`VIDEO`,`PDF`,`AUDIO`,`HYBRID`],placeholder:`VIDEO`,mandatory:!0},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`}},fieldGroups:[{label:`Formation`,keys:[`creator`,`title`,`year`]},{label:`Publication`,keys:[`language`,`platform`,`format`,`releaseGroup`]}],naming:[{kind:`field`,key:`creator`},{kind:`field`,key:`title`},{kind:`field`,key:`year`},{kind:`field`,key:`language`},{kind:`field`,key:`platform`},{kind:`field`,key:`format`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},rr={mode:`structured`,label:`Vidéo XXX`,hasTmdb:!1,requireNfo:!1,showNfo:!0,fields:{title:{label:`Titre`,type:`text`,placeholder:`Scene.Title`,mandatory:!0,fullWidth:!0},year:{label:`Année`,type:`text`,placeholder:`2024`,maxLength:4},language:{label:`Langue`,type:`datalist`,options:[`FRENCH`,`ENGLISH`,`GERMAN`,`SPANISH`,`JAPANESE`,`MULTi`]},resolution:{label:`Résolution`,type:`datalist`,options:[`2160p`,`1080p`,`720p`,`576p`,`480p`,`SD`],placeholder:`1080p`,autoDetectable:!0},source:{label:`Source`,type:`datalist`,options:[`WEB-DL`,`WEB`,`WEBRip`,`Bluray`,`DVDRip`,`HDTV`,`CAM`],placeholder:`WEB-DL`,mandatory:!0},videoCodec:{label:`Codec vidéo`,type:`datalist`,options:[`x264`,`x265`,`H264`,`H265`,`AV1`],placeholder:`x264`,mandatory:!0},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`,mandatory:!0}},fieldGroups:[{label:`Vidéo`,keys:[`title`,`year`,`language`]},{label:`Technique`,keys:[`resolution`,`source`,`videoCodec`,`releaseGroup`]}],naming:[{kind:`field`,key:`title`},{kind:`field`,key:`year`},{kind:`field`,key:`language`},{kind:`literal`,value:`XXX`},{kind:`field`,key:`resolution`},{kind:`field`,key:`source`},{kind:`field`,key:`videoCodec`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},ir={films:qn,series:qn,livres:Jn,"livres-livre":Jn,"livres-audio":Jn,"livres-bd":Jn,"livres-manga":Jn,"livres-presse":Jn,"livres-autres":Jn,audio:Yn,"audio-musique":Yn,applications:Xn,"apps-windows":Xn,"apps-linux":Xn,"apps-macos":Xn,"apps-android":Xn,"apps-autres":Xn,"jeux-video":Zn,"jeux-pc":Zn,"jeux-linux":Zn,"jeux-macos":Zn,"jeux-playstation":Qn,"jeux-xbox":Qn,"jeux-nintendo":Qn,emulation:$n,"emulation-rom":$n,"emulation-emulateur
78s":er,"impression-3d":tr,"3d-personnages":tr,"3d-objets":tr,"3d-pack":tr,formations:nr,"formations-audio":nr,"formations-video":nr,"formations-papier":nr,porno:rr,"porno-films":rr,"porno-images":{mode:`structured`,label:`Imageset XXX`,hasTmdb:!1,requireNfo:!1,showNfo:!1,fields:{website:{label:`Site web`,type:`text`,placeholder:`SiteName`,mandatory:!0},date:{label:`Date (YY.MM.DD)`,type:`text`,placeholder:`24.01.15`,mandatory:!0},setNo:{label:`N° de set`,type:`text`,placeholder:`Set01`},modelName:{label:`Nom du modèle`,type:`text`,placeholder:`Model.Name`,mandatory:!0},setName:{label:`Titre du set`,type:`text`,placeholder:`Set.Title`,mandatory:!0},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`,mandatory:!0}},fieldGroups:[{label:`Imageset`,keys:[`website`,`date`,`setNo`,`modelName`,`setName`,`releaseGroup`]}],naming:[{kind:`field`,key:`website`},{kind:`field`,key:`date`},{kind:`field`,key:`setNo`},{kind:`field`,key:`modelName`},{kind:`field`,key:`setName`},{kind:`literal`,value:`XXX`},{kind:`literal`,value:`iMAGESET`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},"porno-jeux":{mode:`structured`,label:`Jeu XXX`,hasTmdb:!1,requireNfo:!1,showNfo:!1,fields:{title:{label:`Titre`,type:`text`,placeholder:`Game.Name`,mandatory:!0,fullWidth:!0},version:{label:`Version`,type:`text`,placeholder:`v1.0.0`,mandatory:!0},language:{label:`Langue`,type:`datalist`,options:[`FRENCH`,`ENGLISH`,`MULTi`,`JAPANESE`]},platform:{label:`Plateforme`,type:`datalist`,options:[`PC`,`Android`,`Mac`],placeholder:`PC`},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`,mandatory:!0}},fieldGroups:[{label:`Jeu`,keys:[`title`,`version`,`language`,`platform`,`releaseGroup`]}],naming:[{kind:`field`,key:`title`},{kind:`field`,key:`version`},{kind:`field`,key:`language`},{kind:`literal`,value:`XXX`},{kind:`field`,key:`platform`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},"porno-ebooks":Jn,"porno-fansites":{mode:`structured`,label:`Fansite XXX`,hasTmdb:!1,requireNfo:!1,showNfo:!1,fields:{website:{label:`Site web`,type:`text`,placeholder:`SiteName`,mandatory:!0},modelName:{label:`Nom du modèle`,type:`text`,placeholder:`Model.Name`,mandatory:!0},contentTitle:{label:`Titre du contenu`,type:`text`,placeholder:`Content.Title`,mandatory:!0,fullWidth:!0},date:{label:`Date (YYYY.MM.DD)`,type:`text`,placeholder:`2024.01.15`,mandatory:!0},releaseGroup:{label:`TAG / Groupe`,type:`text`,placeholder:`GRP`,mandatory:!0}},fieldGroups:[{label:`Fansite`,keys:[`website`,`modelName`,`contentTitle`,`date`,`releaseGroup`]}],naming:[{kind:`field`,key:`website`},{kind:`field`,key:`modelName`},{kind:`field`,key:`contentTitle`},{kind:`field`,key:`date`},{kind:`literal`,value:`XXX`},{kind:`groupSep`},{kind:`field`,key:`releaseGroup`}]},autres:{mode:`free`,label:`Autres`}};function ar(e,t){return e?t&&ir[t]?ir[t]:ir[e]??{mode:`free`,label:``}:{mode:`free`,label:``}}function or(e){return e.replace(/\u0153/gi,`oe`).replace(/\u00e6/gi,`ae`).replace(/\u00df/g,`ss`).replace(/\ufb00/g,`ff`).replace(/\ufb01/g,`fi`).replace(/\ufb02/g,`fl`).replace(/\ufb03/g,`ffi`).replace(/\ufb04/g,`ffl`).replace(/[\u00fe\u00de]/g,e=>e===`Þ`?`TH`:`th`).replace(/\u00f8/g,`o`).replace(/\u00d8/g,`O`).replace(/\u0142/g,`l`).replace(/\u0141/g,`L`).replace(/\u0111/g,`d`).replace(/\u0110/g,`D`).replace(/\u0127/g,`h`).replace(/\u0126/g,`H`).replace(/\u014b/g,`n`).replace(/\u014a/g,`N`).replace(/\u0131/g,`i`).replace(/[\u2013\u2014]/g,`.`).replace(/&/g,`.`).replace(/[''\u02bc\u00b4`]/g,``).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).replace(/\s+/g,`.`).replace(/[^\w.\-]/g,``).replace(/\.{2,}/g,`.`).replace(/^\.+|\.+$/g,``)}function sr(e,t,n){let r=e.tokenSep??`.`,i=[],a=!1,o=!1;for(let r of e.naming)switch(r.kind){case`field`:{let e=t[r.key];if(!e)break;let s=or(String(e));if(!s)break;if(a){let e=n?`${n}-${s}`:s;i.push(e),a=!1,o=!0}else i.push(s);break}case`episodeOrYear`:{let e=t.episode,n=t.year,r=e?or(String(e)).toUpperCase():n?or(String(n)):``;r&&i.push(r);break}case`flag`:t[r.key]===!0&&i.push(r.value);break;case`literal`:i.push(r.value);break;case`groupSep`:a=!0;break}if(i.length===0)return``;if(r===`.`){let e=i.join(`.`);if(o){if(n)return e;let t=e.lastIndexOf(`.`);return t===-1?e:e.slice(0,t)+`-`+e.slice(t+1)}return n&&i.length>1?e+`.`+n:e}return i.join(r)}var X=c(u(),1),cr=f(),lr={bar:`_bar_1rad7_1`,wrap:`_wrap_1rad7_8`,btn:`_btn_1rad7_13`,btnActive:`_btnActive_1rad7_29`,emoji:`_emoji_1rad7_37`,count:`_count_1rad7_42`,tooltip:`_tooltip_1rad7_52`};function ur({reactions:e,reactionUsers:t,myReactions:n,onToggle:r}){let i=Object.entries(e);return i.length===0?null:(0,g.jsx)(`div`,{className:lr.bar,children:i.map(([e,i])=>{let a=n?.includes(e)??!1,o=t?.[e]??[],s=o.length>0?o.join(`, `):`${i} réaction${i>1?`s`:``}`;return(0,g.jsxs)(`div`,{className:lr.wrap,children:[(0,g.jsxs)(`button`,{className:`${lr.btn} ${a?lr.btnActive:``}`,onClick:()=>r(e),children:[(0,g.jsx)(`span`,{className:lr.emoji,children:e}),i>1&&(0,g.jsx)(`span`,{className:lr.count,children:i})]}),(0,g.jsx)(`div`,{className:lr.tooltip,children:s})]},e)})})}var dr=[{id:`smileys`,label:`Smileys`,icon:`😀`,emojis:[{emoji:`😀`,name:`sourire`,keywords:[`heureux`,`joie`]}
78,{emoji:`😁`,name:`grand sourire`,keywords:[`heureux`]},{emoji:`😂`,name:`rire aux larmes`,keywords:[`lol`,`mort de rire`]},{emoji:`🤣`,name:`se tordre de rire`,keywords:[`rire`,`lol`]},{emoji:`😃`,name:`sourire yeux ouverts`,keywords:[`heureux`]},{emoji:`😄`,name:`sourire yeux plissés`,keywords:[`heureux`,`joie`]},{emoji:`😅`,name:`sourire sueur`,keywords:[`gêne`,`soulagé`]},{emoji:`😆`,name:`sourire yeux fermés`,keywords:[`rire`]},{emoji:`😉`,name:`clin d'œil`,keywords:[`wink`]},{emoji:`😊`,name:`sourire timide`,keywords:[`bienveillant`,`doux`]},{emoji:`😋`,name:`se lécher les lèvres`,keywords:[`yummy`,`délicieux`]},{emoji:`😎`,name:`cool lunettes`,keywords:[`soleil`,`classe`]},{emoji:`😍`,name:`yeux en cœur`,keywords:[`amour`,`adorer`]},{emoji:`🥰`,name:`sourire cœurs`,keywords:[`amour`,`mignon`]},{emoji:`😘`,name:`bisou`,keywords:[`kiss`,`amour`]},{emoji:`😗`,name:`bisou 2`,keywords:[`kiss`]},{emoji:`😙`,name:`bisou souriant`,keywords:[`kiss`]},{emoji:`😚`,name:`bisou yeux fermés`,keywords:[`kiss`]},{emoji:`🙂`,name:`légèrement souriant`,keywords:[`ok`]},{emoji:`🤗`,name:`câlin`,keywords:[`hug`,`embrasser`]},{emoji:`🤩`,name:`étoiles dans les yeux`,keywords:[`star`,`impressionné`]},{emoji:`🤔`,name:`pensif`,keywords:[`réfléchir`,`hmm`]},{emoji:`🤨`,name:`sourcil levé`,keywords:[`suspicion`,`sceptique`]},{emoji:`😐`,name:`neutre`,keywords:[`indifférent`]},{emoji:`😑`,name:`expressionless`,keywords:[`ennui`]},{emoji:`😶`,name:`sans bouche`,keywords:[`silence`]},{emoji:`😏`,name:`sourire narquois`,keywords:[`smirk`]},{emoji:`😒`,name:`mécontent`,keywords:[`ennui`,`déçu`]},{emoji:`🙄`,name:`yeux au ciel`,keywords:[`eye roll`,`las`]},{emoji:`😬`,name:`grimace`,keywords:[`gêne`]},{emoji:`🤥`,name:`menteur nez`,keywords:[`pinocchio`]}
78,{emoji:`😌`,name:`soulagé`,keywords:[`content`,`paisible`]},{emoji:`😔`,name:`pensif triste`,keywords:[`triste`]},{emoji:`😪`,name:`endormi`,keywords:[`sommeil`,`fatigue`]},{emoji:`🤤`,name:`bave`,keywords:[`drool`,`faim`]},{emoji:`😴`,name:`zzz`,keywords:[`dors`,`sommeil`]},{emoji:`😷`,name:`masque`,keywords:[`malade`,`maladie`]},{emoji:`🤒`,name:`thermomètre`,keywords:[`fièvre`,`malade`]},{emoji:`🤕`,name:`bandage tête`,keywords:[`blessé`]},{emoji:`🤢`,name:`malade vert`,keywords:[`nausée`,`vomir`]},{emoji:`🤮`,name:`vomir`,keywords:[`dégoût`]},{emoji:`🤧`,name:`éternuement`,keywords:[`rhume`,`malade`]},{emoji:`🥵`,name:`chaud`,keywords:[`chaleur`,`sueur`]},{emoji:`🥶`,name:`froid`,keywords:[`gelé`,`froid`]},{emoji:`🥴`,name:`étourdi`,keywords:[`ivre`,`confus`]},{emoji:`😵`,name:`yeux croix`,keywords:[`assommé`]},{emoji:`🤯`,name:`tête explosion`,keywords:[`mind blown`,`choqué`]},{emoji:`🤠`,name:`cowboy`,keywords:[`chapeau`]},{emoji:`🥳`,name:`fête`,keywords:[`anniversaire`,`party`]},{emoji:`😈`,name:`diable souriant`,keywords:[`méchant`,`mal`]},{emoji:`👿`,name:`diable fâché`,keywords:[`méchant`,`colère`]},{emoji:`💀`,name:`crâne`,keywords:[`mort`,`skull`]},{emoji:`☠️`,name:`crâne os croisés`,keywords:[`danger`,`mort`]},{emoji:`💩`,name:`caca`,keywords:[`poo`,`merde`]},{emoji:`🤡`,name:`clown`,keywords:[`cirque`]},{emoji:`👹`,name:`ogre`,keywords:[`monstre`]},{emoji:`👺`,name:`goblin`,keywords:[`monstre`]},{emoji:`👻`,name:`fantôme`,keywords:[`ghost`,`halloween`]},{emoji:`👽`,name:`alien`,keywords:[`extraterrestre`]},{emoji:`🤖`,name:`robot`,keywords:[`bot`]},{emoji:`😺`,name:`chat souriant`,keywords:[`cat`]},{emoji:`😸`,name:`chat riant`,keywords:[`cat`]},{emoji:`😹`,name:`chat larmes`,keywords:[`cat lol`]},{emoji:`😻`,name:`chat cœur`,keywords:[`cat amour`]},{emoji:`😼`,name:`chat narquois`,keywords:[`cat`]},{emoji:`😽`,name:`chat bisou`,keywords:[`cat kiss`]},{emoji:`🙀`,name:`chat choqué`,keywords:[`cat peur`]},{emoji:`😿`,name:`chat triste`,keywords:[`cat pleur`]},{emoji:`😾`,name:`chat grognon`,keywords:[`cat fâché`]},{emoji:`😤`,name:`vapeur nez`,keywords:[`fier`,`agacé`]},{emoji:`😠`,name:`en colère`,keywords:[`fâché`,`colère`]},{emoji:`😡`,name:`furieux`,keywords:[`rage`,`colère`]},{emoji:`🤬`,name:`jurons`,keywords:[`colère`,`insulte`]},{emoji:`😭`,name:`pleurer fort`,keywords:[`tristesse`,`larmes`]},{emoji:`😢`,name:`pleurer`,keywords:[`tristesse`,`larme`]},{emoji:`😥`,name:`déçu soulagé`,keywords:[`triste`]},{emoji:`😰`,name:`anxieux sueur`,keywords:[`stress`,`peur`]},{emoji:`😨`,name:`effrayé`,keywords:[`peur`,`choc`]},{emoji:`😱`,name:`cri`,keywords:[`horror`,`peur`]},{emoji:`😳`,name:`rougir`,keywords:[`gêne`,`choc`]},{emoji:`🥺`,name:`yeux implorants`,keywords:[`please`,`suppliant`]},{emoji:`😞`,name:`déçu`,keywords:[`triste`]},{emoji:`😟`,name:`inquiet`,keywords:[`souci`]},{emoji:`😣`,name:`grimaçant effort`,keywords:[`douleur`]},{emoji:`😖`,name:`confus`,keywords:[`perdu`]},{emoji:`😫`,name:`épuisé`,keywords:[`fatigué`]},{emoji:`😩`,name:`las`,keywords:[`fatigué`,`ennui`]},{emoji:`🥱`,name:`bâillant`,keywords:[`ennui`,`fatigue`]}]},{id:`gestures`,label:`Gestes & corps`,icon:`👋`,emojis:[{emoji:`👋`,name:`main salut`,keywords:[`bonjour`,`aurevoir`,`wave`]},{emoji:`🤚`,name:`main levée`,keywords:[`stop`,`haut`]},{emoji:`🖐️`,name:`main ouverte`,keywords:[`cinq`,`stop`]},{emoji:`✋`,name:`main levée haute`,keywords:[`stop`,`bonjour`]},{emoji:`🖖`,name:`vulcain`,keywords:[`spock`,`star trek`]},{emoji:`👌`,name:`ok`,keywords:[`parfait`,`bien`]},{emoji:`🤌`,name:`pincé`,keywords:[`chef`,`parfait`]},{emoji:`✌️`,name:`victoire`,keywords:[`peace`,`deux`]},{emoji:`🤞`,name:`doigts croisés`,keywords:[`chance`,`espoir`]},{emoji:`🤟`,name:`love you`,keywords:[`amour`,`rock`]},{emoji:`🤘`,name:`corne`,keywords:[`rock`,`metal`]},{emoji:`🤙`,name:`appelle-moi`,keywords:[`phone`,`cool`]},{emoji:`👈`,name:`pointer gauche`,keywords:[`gauche`,`direction`]},{emoji:`👉`,name:`pointer droite`,keywords:[`droite`,`direction`]},{emoji:`👆`,name:`pointer haut`,keywords:[`haut`,`up`]},{emoji:`👇`,name:`pointer bas`,keywords:[`bas`,`down`]},{emoji:`☝️`,name:`doigt levé`,keywords:[`attention`,`un`]},{emoji:`👍`,name:`pouce haut`,keywords:[`like`,`bien`,`super`,`ok`]}
78,{emoji:`👎`,name:`pouce bas`,keywords:[`dislike`,`non`,`pas bien`]},{emoji:`✊`,name:`poing levé`,keywords:[`force`,`power`]},{emoji:`👊`,name:`coup de poing`,keywords:[`punch`,`frapper`]},{emoji:`🤛`,name:`poing gauche`,keywords:[`fist bump`]},{emoji:`🤜`,name:`poing droite`,keywords:[`fist bump`]},{emoji:`👏`,name:`applaudir`,keywords:[`bravo`,`clap`]},{emoji:`🙌`,name:`mains levées`,keywords:[`hourra`,`yay`]},{emoji:`👐`,name:`mains ouvertes`,keywords:[`hug`,`open`]},{emoji:`🤲`,name:`mains jointes`,keywords:[`demande`,`prier`]},{emoji:`🙏`,name:`prière`,keywords:[`merci`,`please`,`prier`]},{emoji:`🤝`,name:`poignée de main`,keywords:[`deal`,`accord`]},{emoji:`💅`,name:`vernis ongles`,keywords:[`ongles`,`soin`]},{emoji:`🤳`,name:`selfie`,keywords:[`photo`,`téléphone`]},{emoji:`💪`,name:`muscle`,keywords:[`fort`,`bras`,`force`]},{emoji:`🦾`,name:`bras robotique`,keywords:[`fort`,`robot`]},{emoji:`🦿`,name:`jambe prothèse`,keywords:[`prothèse`]},{emoji:`🦵`,name:`jambe`,keywords:[`coup de pied`]},{emoji:`🦶`,name:`pied`,keywords:[`foot`]},{emoji:`👂`,name:`oreille`,keywords:[`entendre`]},{emoji:`👃`,name:`nez`,keywords:[`sentir`]},{emoji:`🫀`,name:`cœur anatomique`,keywords:[`organe`,`coeur`]},{emoji:`🫁`,name:`poumons`,keywords:[`respirer`]},{emoji:`🧠`,name:`cerveau`,keywords:[`intelligence`,`pensée`]},{emoji:`🦷`,name:`dent`,keywords:[`sourire`]},{emoji:`🦴`,name:`os`,keywords:[`squelette`]},{emoji:`👀`,name:`yeux`,keywords:[`voir`,`regarder`,`eyes`]},{emoji:`👁️`,name:`œil`,keywords:[`voir`]},{emoji:`👅`,name:`langue`,keywords:[`goût`]},{emoji:`👄`,name:`lèvres`,keywords:[`bouche`,`bisou`]}]},{id:`people`,label:`Personnes`,icon:`👤`,emojis:[{emoji:`👶`,name:`bébé`,keywords:[`enfant`,`petit`]},{emoji:`🧒`,name:`enfant`,keywords:[`kid`]},{emoji:`👦`,name:`garçon`,keywords:[`enfant`]},{emoji:`👧`,name:`fille`,keywords:[`enfant`]},{emoji:`🧑`,name:`adulte`,keywords:[`personne`]},{emoji:`👱`,name:`blond`,keywords:[`personne`]},{emoji:`👨`,name:`homme`,keywords:[`man`,`père`]},{emoji:`🧔`,name:`barbe`,keywords:[`homme`,`hipster`]},{emoji:`👩`,name:`femme`,keywords:[`woman`,`mère`]},{emoji:`🧓`,name:`aîné`,keywords:[`vieux`,`âgé`]},{emoji:`👴`,name:`vieil homme`,keywords:[`grand-père`]},{emoji:`👵`,name:`vieille femme`,keywords:[`grand-mère`]},{emoji:`🧕`,name:`femme voile`,keywords:[`hijab`]},{emoji:`👮`,name:`policier`,keywords:[`police`,`agent`]},{emoji:`🕵️`,name:`détective`,keywords:[`spy`,`enquêteur`]},{emoji:`💂`,name:`garde`,keywords:[`soldat`]},{emoji:`🥷`,name:`ninja`,keywords:[`furtif`]},{emoji:`👷`,name:`ouvrier`,keywords:[`construction`,`casque`]},{emoji:`🫅`,name:`personne couronne`,keywords:[`roi`,`reine`]},{emoji:`🤴`,name:`prince`,keywords:[`royal`]},{emoji:`👸`,name:`princesse`,keywords:[`royal`]},{emoji:`🧙`,name:`sorcier`,keywords:[`magie`,`mage`]},{emoji:`🧚`,name:`fée`,keywords:[`magie`]},{emoji:`🧛`,name:`vampire`,keywords:[`dracula`,`halloween`]},{emoji:`🧜`,name:`sirène`,keywords:[`mer`]},{emoji:`🧝`,name:`elfe`,keywords:[`fantasy`]},{emoji:`🧞`,name:`génie`,keywords:[`lampe`,`vœu`]},{emoji:`🧟`,name:`zombie`,keywords:[`mort-vivant`]},{emoji:`🦸`,name:`super-héros`,keywords:[`hero`]},{emoji:`🦹`,name:`super-vilain`,keywords:[`villain`]},{emoji:`🧑‍🤝‍🧑`,name:`couple`,keywords:[`amis`,`ensemble`]},{emoji:`👫`,name:`couple mixte`,keywords:[`amour`]},{emoji:`👬`,name:`deux hommes`,keywords:[`amis`]},{emoji:`👭`,name:`deux femmes`,keywords:[`amies`]},{emoji:`💏`,name:`baiser couple`,keywords:[`kiss`,`amour`]},{emoji:`👪`,name:`famille`,keywords:[`parents`,`enfants`]},{emoji:`🗣️`,name:`parler`,keywords:[`discours`,`parole`]},{emoji:`👤`,name:`silhouette`,keywords:[`profil`,`ombre`]},{emoji:`👥`,name:`silhouettes`,keywords:[`groupe`,`équipe`]},{emoji:`🫂`,name:`câlin personnes`,keywords:[`hug`,`embrasser`]}]},{id:`animals`,label:`Animaux`,icon:`🐶`,emojis:[{emoji:`🐶`,name:`chien`,keywords:[`dog`,`toutou`]},{emoji:`🐱`,name:`chat`,keywords:[`cat`,`minou`]},{emoji:`🐭`,name:`souris`,keywords:[`mouse`]},{emoji:`🐹`,name:`hamster`,keywords:[`rongeur`]},{emoji:`🐰`,name:`lapin`,keywords:[`rabbit`,`pâques`]},{emoji:`🦊`,name:`renard`,keywords:[`fox`]},{emoji:`🐻`,name:`ours`,keywords:[`bear`]},{emoji:`🐼`,name:`panda`,keywords:[`panda`]}
78,{emoji:`🐨`,name:`koala`,keywords:[`australie`]},{emoji:`🐯`,name:`tigre`,keywords:[`tiger`]},{emoji:`🦁`,name:`lion`,keywords:[`lion`,`roi`]},{emoji:`🐮`,name:`vache`,keywords:[`cow`,`moo`]},{emoji:`🐷`,name:`cochon`,keywords:[`pig`,`porc`]},{emoji:`🐸`,name:`grenouille`,keywords:[`frog`]},{emoji:`🐵`,name:`singe`,keywords:[`monkey`]},{emoji:`🙈`,name:`singe yeux`,keywords:[`voir mal`]},{emoji:`🙉`,name:`singe oreilles`,keywords:[`entendre mal`]},{emoji:`🙊`,name:`singe bouche`,keywords:[`parler mal`]},{emoji:`🐔`,name:`poulet`,keywords:[`chicken`,`poule`]},{emoji:`🐧`,name:`pingouin`,keywords:[`penguin`,`glace`]},{emoji:`🐦`,name:`oiseau`,keywords:[`bird`]},{emoji:`🦆`,name:`canard`,keywords:[`duck`,`quack`]},{emoji:`🦅`,name:`aigle`,keywords:[`eagle`,`rapace`]},{emoji:`🦉`,name:`hibou`,keywords:[`owl`,`nuit`]},{emoji:`🦇`,name:`chauve-souris`,keywords:[`bat`,`halloween`]},{emoji:`🐺`,name:`loup`,keywords:[`wolf`]},{emoji:`🐗`,name:`sanglier`,keywords:[`boar`,`sauvage`]},{emoji:`🐴`,name:`cheval`,keywords:[`horse`]},{emoji:`🦄`,name:`licorne`,keywords:[`unicorn`,`magie`]},{emoji:`🐝`,name:`abeille`,keywords:[`bee`,`miel`]},{emoji:`🦋`,name:`papillon`,keywords:[`butterfly`]},{emoji:`🐛`,name:`chenille`,keywords:[`insecte`]},{emoji:`🐌`,name:`escargot`,keywords:[`snail`,`lent`]},{emoji:`🐞`,name:`coccinelle`,keywords:[`ladybug`,`chance`]},{emoji:`🐜`,name:`fourmi`,keywords:[`ant`]},{emoji:`🦟`,name:`moustique`,keywords:[`mosquito`]},{emoji:`🦗`,name:`grillon`,keywords:[`cricket`]},{emoji:`🕷️`,name:`araignée`,keywords:[`spider`,`halloween`]},{emoji:`🐢`,name:`tortue`,keywords:[`turtle`,`lent`]},{emoji:`🐍`,name:`serpent`,keywords:[`snake`]},{emoji:`🦎`,name:`lézard`,keywords:[`lizard`]},{emoji:`🦖`,name:`T-rex`,keywords:[`dinosaure`,`tyrannosaurus`]},{emoji:`🦕`,name:`diplodocus`,keywords:[`dinosaure`]},{emoji:`🐙`,name:`pieuvre`,keywords:[`octopus`,`mer`]},{emoji:`🦑`,name:`calmar`,keywords:[`squid`,`mer`]},{emoji:`🦐`,name:`crevette`,keywords:[`shrimp`,`mer`]},{emoji:`🦞`,name:`homard`,keywords:[`lobster`,`mer`]},{emoji:`🦀`,name:`crabe`,keywords:[`crab`,`mer`]},{emoji:`🐡`,name:`poisson globe`,keywords:[`fish`]},{emoji:`🐠`,name:`poisson tropical`,keywords:[`fish`,`nemo`]},{emoji:`🐟`,name:`poisson`,keywords:[`fish`]},{emoji:`🐬`,name:`dauphin`,keywords:[`dolphin`,`mer`]},{emoji:`🐳`,name:`baleine`,keywords:[`whale`,`mer`]},{emoji:`🦈`,name:`requin`,keywords:[`shark`,`mer`]},{emoji:`🐊`,name:`crocodile`,keywords:[`croc`,`alligator`]},{emoji:`🐅`,name:`tigre sauvage`,keywords:[`tiger`]},{emoji:`🦒`,name:`girafe`,keywords:[`giraffe`,`long`]},{emoji:`🦓`,name:`zèbre`,keywords:[`zebra`]},{emoji:`🦍`,name:`gorille`,keywords:[`gorilla`]},{emoji:`🦧`,name:`orang-outan`,keywords:[`orangutan`]},{emoji:`🐘`,name:`éléphant`,keywords:[`elephant`]},{emoji:`🦛`,name:`hippopotame`,keywords:[`hippo`]},{emoji:`🦏`,name:`rhinocéros`,keywords:[`rhino`]},{emoji:`🐪`,name:`chameau`,keywords:[`camel`,`désert`]},{emoji:`🦘`,name:`kangourou`,keywords:[`kangaroo`,`australie`]},{emoji:`🦬`,name:`bison`,keywords:[`buffalo`]},{emoji:`🐃`,name:`buffle`,keywords:[`buffalo`]},{emoji:`🐂`,name:`bœuf`,keywords:[`ox`]},{emoji:`🐄`,name:`vache champ`,keywords:[`cow`]},{emoji:`🐎`,name:`cheval course`,keywords:[`horse`,`course`]},{emoji:`🐖`,name:`cochon gras`,keywords:[`pig`]},{emoji:`🐏`,name:`bélier`,keywords:[`ram`,`mouton`]},{emoji:`🐑`,name:`mouton`,keywords:[`sheep`,`laine`]},{emoji:`🦙`,name:`lama`,keywords:[`llama`]},{emoji:`🐐`,name:`chèvre`,keywords:[`goat`]},{emoji:`🦌`,name:`cerf`,keywords:[`deer`,`bois`]},{emoji:`🐕`,name:`chien`,keywords:[`dog`]},{emoji:`🐩`,name:`caniche`,keywords:[`poodle`]},{emoji:`🦮`,name:`golden retriever`,keywords:[`chien guide`]},{emoji:`🐈`,name:`chat`,keywords:[`cat`]},{emoji:`🐓`,name:`coq`,keywords:[`rooster`]},{emoji:`🦃`,name:`dinde`,keywords:[`turkey`,`thanksgiving`]},{emoji:`🦚`,name:`paon`,keywords:[`peacock`]},{emoji:`🦜`,name:`perroquet`,keywords:[`parrot`]},{emoji:`🦢`,name:`cygne`,keywords:[`swan`]},{emoji:`🦩`,name:`flamant rose`,keywords:[`flamingo`]},{emoji:`🕊️`,name:`colombe`,keywords:[`paix`,`dove`]},{emoji:`🐇`,name:`lapin blanc`,keywords:[`rabbit`]},{emoji:`🦝`,name:`raton laveur`,keywords:[`raccoon`]},{emoji:`🦨`,name:`mouffette`,keywords:[`skunk`]},{emoji:`🦡`,name:`blaireau`,keywords:[`badger`]},{emoji:`🦦`,name:`loutre`,keywords:[`otter`]},{emoji:`🦥`,name:`paresseux`,keywords:[`sloth`,`lent`]},{emoji:`🐁`,name:`souris blanche`,keywords:[`mouse`]},{emoji:`🐀`,name:`rat`,keywords:[`rat`]},{emoji:`��`,name:`écureuil`,keywords:[`squirrel`]},{emoji:`🦔`,name:`hérisson`,keywords:[`hedgehog`]},{emoji:`🐾`,name:`empreintes pattes`,keywords:[`paws`,`animal`]},{emoji:`🐉`,name:`dragon`,keywords:[`dragon`,`feu`]},{emoji:`🦕`,name:`dinosaure`,keywords:[`dino`]}]},{id:`food`,label:`Nourriture`,icon:`🍎`,emojis:[{emoji:`🍏`,name:`pomme verte`,keywords:[`fruit`,`green apple`]},{emoji:`🍎`,name:`pomme rouge`,keywords:[`fruit`,`apple`]},{emoji:`🍐`,name:`poire`,keywords:[`fruit`,`pear`]},{emoji:`🍊`,name:`orange`,keywords:[`fruit`,`orange`]},{emoji:`🍋`,name:`citron`,keywords:[`fruit`,`lemon`]},{emoji:`🍌`,name:`banane`,keywords:[`fruit`,`banana`]},{emoji:`🍉`,name:`pastèque`,keywords:[`fruit`,`watermelon`,`été`]},{emoji:`🍇`,name:`raisin`,keywords:[`fruit`,`grapes`]},{emoji:`🍓`,name:`fraise`,keywords:[`fruit`,`strawberry`]},{emoji:`🫐`,name:`myrtille`,keywords:[`fruit`,`blueberry`]},{emoji:`🍈`,name:`melon`,keywords:[`fruit`,`melon`]},{emoji:`🍑`,name:`pêche`,keywords:[`fruit`,`peach`]},{emoji:`🍒`,name:`cerise`,keywords:[`fruit`,`cherry`]},{emoji:`🍍`,name:`ananas`,keywords:[`fruit`,`pineapple`,`tropical`]},{emoji:`🥭`,name:`mangue`,keywords:[`fruit`,`mango`,`tropical`]},{emoji:`🥥`,name:`noix de coco`,keywords:[`coconut`,`tropical`]},{emoji:`🍅`,name:`tomate`,keywords:[`tomato`,`légume`]}
78,{emoji:`🫒`,name:`olive`,keywords:[`olive`,`italie`]},{emoji:`🥑`,name:`avocat`,keywords:[`avocado`,`sain`]},{emoji:`🍆`,name:`aubergine`,keywords:[`eggplant`,`légume`]},{emoji:`🥦`,name:`brocoli`,keywords:[`broccoli`,`légume`]},{emoji:`🥬`,name:`salade`,keywords:[`laitue`,`légume`]},{emoji:`🥒`,name:`concombre`,keywords:[`cucumber`,`légume`]},{emoji:`🌶️`,name:`piment`,keywords:[`spicy`,`chili`]},{emoji:`🫑`,name:`poivron`,keywords:[`pepper`,`légume`]},{emoji:`🌽`,name:`maïs`,keywords:[`corn`]},{emoji:`🥕`,name:`carotte`,keywords:[`carrot`,`lapin`]},{emoji:`🧅`,name:`oignon`,keywords:[`onion`]},{emoji:`🧄`,name:`ail`,keywords:[`garlic`,`vampire`]},{emoji:`🥔`,name:`pomme de terre`,keywords:[`potato`]},{emoji:`🍠`,name:`patate douce`,keywords:[`sweet potato`]},{emoji:`🥐`,name:`croissant`,keywords:[`france`,`petit-déjeuner`]},{emoji:`🥖`,name:`baguette`,keywords:[`pain`,`france`]},{emoji:`🍞`,name:`pain`,keywords:[`bread`]},{emoji:`🧀`,name:`fromage`,keywords:[`cheese`]},{emoji:`🥚`,name:`œuf`,keywords:[`egg`]},{emoji:`🍳`,name:`œuf poêle`,keywords:[`fried egg`,`petit-déjeuner`]},{emoji:`🥞`,name:`pancakes`,keywords:[`petit-déjeuner`]},{emoji:`🧇`,name:`gaufre`,keywords:[`waffle`]},{emoji:`🥓`,name:`bacon`,keywords:[`bacon`]},{emoji:`🌮`,name:`taco`,keywords:[`mexicain`]},{emoji:`🌯`,name:`burrito`,keywords:[`mexicain`,`wrap`]},{emoji:`🥙`,name:`kebab`,keywords:[`sandwich`,`wrap`]},{emoji:`🍔`,name:`burger`,keywords:[`hamburger`,`fastfood`]},{emoji:`🍟`,name:`frites`,keywords:[`fries`,`fastfood`]},{emoji:`🌭`,name:`hot dog`,keywords:[`hotdog`]},{emoji:`🍕`,name:`pizza`,keywords:[`pizza`,`italie`]},{emoji:`🥪`,name:`sandwich`,keywords:[`sandwich`]},{emoji:`🥗`,name:`salade bowl`,keywords:[`salad`,`sain`]},{emoji:`🍜`,name:`ramen`,keywords:[`nouilles`,`japon`]},{emoji:`🍝`,name:`spaghetti`,keywords:[`pâtes`,`italie`]},{emoji:`🍲`,name:`pot`,keywords:[`soupe`,`ragoût`]},{emoji:`🍛`,name:`curry`,keywords:[`riz`,`inde`]},{emoji:`🍣`,name:`sushi`,keywords:[`japon`,`poisson`]},{emoji:`🍱`,name:`bento`,keywords:[`japon`,`box`]},{emoji:`🍤`,name:`crevette frite`,keywords:[`shrimp`]},{emoji:`🍙`,name:`onigiri`,keywords:[`riz`,`japon`]},{emoji:`🍦`,name:`glace`,keywords:[`ice cream`,`été`]},{emoji:`🍧`,name:`granité`,keywords:[`glace`,`shaved ice`]},{emoji:`🍨`,name:`crème glacée`,keywords:[`ice cream`]},{emoji:`🍩`,name:`donut`,keywords:[`beignet`]},{emoji:`🍪`,name:`cookie`,keywords:[`biscuit`]},{emoji:`🎂`,name:`gâteau anniversaire`,keywords:[`birthday`,`cake`]},{emoji:`🍰`,name:`part de gâteau`,keywords:[`cake`]},{emoji:`🧁`,name:`cupcake`,keywords:[`gâteau`]},{emoji:`🍫`,name:`chocolat`,keywords:[`chocolate`]},{emoji:`🍬`,name:`bonbon`,keywords:[`candy`,`sucre`]},{emoji:`🍭`,name:`sucette`,keywords:[`lollipop`,`sucre`]},{emoji:`☕`,name:`café`,keywords:[`coffee`,`hot`]},{emoji:`🫖`,name:`théière`,keywords:[`tea`,`thé`]},{emoji:`🍵`,name:`thé`,keywords:[`tea`,`green tea`]},{emoji:`🧃`,name:`jus`,keywords:[`juice`,`boisson`]},{emoji:`🥤`,name:`soda`,keywords:[`boisson`,`paille`]},{emoji:`🧋`,name:`bubble tea`,keywords:[`boba`,`lait`]},{emoji:`🍺`,name:`bière`,keywords:[`beer`,`alcool`]},{emoji:`🍻`,name:`trinquer bière`,keywords:[`beer`,`cheers`]},{emoji:`🥂`,name:`coupes champagne`,keywords:[`champagne`,`fête`]},{emoji:`🍷`,name:`vin`,keywords:[`wine`,`rouge`]},{emoji:`🥃`,name:`whisky`,keywords:[`scotch`,`alcool`]},{emoji:`🍸`,name:`cocktail`,keywords:[`martini`,`alcool`]},{emoji:`🍹`,name:`cocktail tropical`,keywords:[`cocktail`,`vacances`]},{emoji:`🧉`,name:`maté`,keywords:[`mate`,`argentine`]}]},{id:`travel`,label:`Voyage & lieux`,icon:`✈️`,emojis:[{emoji:`🚗`,name:`voiture`,keywords:[`car`,`auto`]},{emoji:`🚕`,name:`taxi`,keywords:[`cab`]},{emoji:`🚙`,name:`SUV`,keywords:[`voiture`]},{emoji:`🏎️`,name:`voiture course`,keywords:[`racing`,`formule 1`]},{emoji:`🚓`,name:`voiture police`,keywords:[`police`]},{emoji:`🚑`,name:`ambulance`,keywords:[`urgence`,`médecin`]},{emoji:`🚒`,name:`camion pompier`,keywords:[`feu`,`pompier`]},{emoji:`🚐`,name:`minibus`,keywords:[`van`]},{emoji:`🚌`,name:`bus`,keywords:[`transport`]},{emoji:`🚎`,name:`trolleybus`,keywords:[`transport`]},{emoji:`🏍️`,name:`moto`,keywords:[`motorcycle`]},{emoji:`🛵`,name:`scooter`,keywords:[`scooter`]},{emoji:`🚲`,name:`vélo`,keywords:[`bike`,`bicycle`]},{emoji:`🛴`,name:`trottinette`,keywords:[`scooter`]},{emoji:`🚁`,name:`hélicoptère`,keywords:[`helicopter`]},{emoji:`✈️`,name:`avion`,keywords:[`plane`,`vol`,`voyage`]},{emoji:`🛫`,name:`décollage`,keywords:[`avion`,`départ`]},{emoji:`🛬`,name:`atterrissage`,keywords:[`avion`,`arrivée`]},{emoji:`🚀`,name:`fusée`,keywords:[`rocket`,`espace`]},{emoji:`🛸`,name:`soucoupe volante`,keywords:[`ufo`,`alien`]},{emoji:`🚂`,name:`locomotive`,keywords:[`train`]}
78,{emoji:`🚃`,name:`wagon`,keywords:[`train`]},{emoji:`🚄`,name:`TGV`,keywords:[`train rapide`]},{emoji:`⛵`,name:`voilier`,keywords:[`sail`,`mer`]},{emoji:`🚢`,name:`bateau`,keywords:[`ship`,`mer`]},{emoji:`⛽`,name:`station essence`,keywords:[`fuel`,`carburant`]},{emoji:`🚦`,name:`feux tricolores`,keywords:[`traffic`]},{emoji:`🚧`,name:`travaux`,keywords:[`construction`]},{emoji:`⚓`,name:`ancre`,keywords:[`anchor`,`mer`]},{emoji:`🏔️`,name:`montagne neige`,keywords:[`mountain`]},{emoji:`⛰️`,name:`montagne`,keywords:[`mountain`]},{emoji:`🌋`,name:`volcan`,keywords:[`volcano`]},{emoji:`🗻`,name:`mont fuji`,keywords:[`japon`,`montagne`]},{emoji:`🏕️`,name:`camping`,keywords:[`tente`,`nature`]},{emoji:`🏖️`,name:`plage`,keywords:[`beach`,`vacances`,`mer`]},{emoji:`🏜️`,name:`désert`,keywords:[`desert`,`sable`]},{emoji:`🏝️`,name:`île`,keywords:[`island`,`vacances`]},{emoji:`🌅`,name:`lever soleil`,keywords:[`sunrise`,`aube`]},{emoji:`🌄`,name:`lever soleil montagne`,keywords:[`sunrise`]},{emoji:`🌠`,name:`étoile filante`,keywords:[`shooting star`]},{emoji:`🎇`,name:`sparkler`,keywords:[`feu artifice`]},{emoji:`🎆`,name:`feux d'artifice`,keywords:[`fireworks`,`fête`]},{emoji:`🌁`,name:`brouillard`,keywords:[`fog`,`brume`]},{emoji:`🗼`,name:`tour eiffel`,keywords:[`paris`,`france`]},{emoji:`🗽`,name:`statue liberté`,keywords:[`new york`,`usa`]},{emoji:`🏰`,name:`château`,keywords:[`castle`]},{emoji:`🏯`,name:`château japonais`,keywords:[`japon`]},{emoji:`🌍`,name:`globe europe afrique`,keywords:[`monde`,`earth`]},{emoji:`🌎`,name:`globe amériques`,keywords:[`monde`,`earth`]},{emoji:`🌏`,name:`globe asie`,keywords:[`monde`,`earth`]},{emoji:`🌐`,name:`globe méridiens`,keywords:[`internet`,`monde`]},{emoji:`🗺️`,name:`carte monde`,keywords:[`map`,`navigation`]},{emoji:`🧭`,name:`boussole`,keywords:[`compass`,`direction`]}]},{id:`activities`,label:`Activités & sport`,icon:`⚽`,emojis:[{emoji:`⚽`,name:`football`,keywords:[`soccer`,`ballon`]},{emoji:`🏀`,name:`basketball`,keywords:[`basket`]},{emoji:`🏈`,name:`football américain`,keywords:[`american football`]},{emoji:`⚾`,name:`baseball`,keywords:[`balle`]},{emoji:`🥎`,name:`softball`,keywords:[`balle`]},{emoji:`🎾`,name:`tennis`,keywords:[`raquette`]},{emoji:`🏐`,name:`volleyball`,keywords:[`volley`]},{emoji:`🏉`,name:`rugby`,keywords:[`ballon`]},{emoji:`🥏`,name:`frisbee`,keywords:[`disque`]},{emoji:`🎱`,name:`billard`,keywords:[`pool`,`boule 8`]},{emoji:`🏓`,name:`ping pong`,keywords:[`tennis de table`]},{emoji:`🏸`,name:`badminton`,keywords:[`volant`,`raquette`]},{emoji:`🥊`,name:`gant boxe`,keywords:[`boxing`,`combat`]},{emoji:`🥋`,name:`kimono`,keywords:[`karaté`,`judo`,`arts martiaux`]},{emoji:`⛳`,name:`golf`,keywords:[`golf`,`drapeau`]},{emoji:`🎯`,name:`cible`,keywords:[`darts`,`fléchettes`,`objectif`]},{emoji:`🎿`,name:`ski`,keywords:[`ski`,`neige`]},{emoji:`🛷`,name:`luge`,keywords:[`luge`,`neige`]},{emoji:`⛸️`,name:`patins glace`,keywords:[`ice skating`]},{emoji:`🛹`,name:`skateboard`,keywords:[`skate`]},{emoji:`🛺`,name:`tuk tuk`,keywords:[`transport`]},{emoji:`🏋️`,name:`haltérophilie`,keywords:[`musculation`,`gym`]},{emoji:`🤸`,name:`gym`,keywords:[`acrobatie`,`souplesse`]},{emoji:`🏊`,name:`nage`,keywords:[`swimming`,`piscine`]},{emoji:`🚴`,name:`vélo`,keywords:[`cycling`]},{emoji:`🏇`,name:`course cheval`,keywords:[`équitation`]},{emoji:`🧗`,name:`escalade`,keywords:[`climbing`]},{emoji:`🤺`,name:`escrime`,keywords:[`fencing`]},{emoji:`🏄`,name:`surf`,keywords:[`surfing`,`vague`]}
78,{emoji:`🤽`,name:`water polo`,keywords:[`piscine`]},{emoji:`🚣`,name:`aviron`,keywords:[`rowing`,`bateau`]},{emoji:`🧘`,name:`méditation`,keywords:[`yoga`,`zen`]},{emoji:`🏆`,name:`trophée`,keywords:[`trophy`,`champion`,`victoire`]},{emoji:`🥇`,name:`médaille or`,keywords:[`gold`,`premier`]},{emoji:`🥈`,name:`médaille argent`,keywords:[`silver`,`deuxième`]},{emoji:`🥉`,name:`médaille bronze`,keywords:[`bronze`,`troisième`]},{emoji:`🎖️`,name:`médaille militaire`,keywords:[`médaille`,`honneur`]},{emoji:`🎗️`,name:`ruban`,keywords:[`ribbon`,`soutien`]},{emoji:`🎪`,name:`cirque`,keywords:[`circus`,`spectacle`]},{emoji:`🎭`,name:`théâtre`,keywords:[`masques`,`comédie`,`tragédie`]},{emoji:`🎨`,name:`palette peinture`,keywords:[`art`,`peinture`]},{emoji:`🎬`,name:`clap cinéma`,keywords:[`film`,`movie`]},{emoji:`🎤`,name:`micro`,keywords:[`chant`,`karaoké`]},{emoji:`🎧`,name:`casque audio`,keywords:[`musique`,`headphones`]},{emoji:`🎼`,name:`partition`,keywords:[`musique`]},{emoji:`🎹`,name:`piano`,keywords:[`clavier`,`musique`]},{emoji:`🥁`,name:`batterie`,keywords:[`drums`,`musique`]},{emoji:`🎸`,name:`guitare`,keywords:[`guitar`,`rock`]},{emoji:`🎺`,name:`trompette`,keywords:[`trumpet`]},{emoji:`🎻`,name:`violon`,keywords:[`violin`]},{emoji:`🪗`,name:`accordéon`,keywords:[`accordion`]},{emoji:`🎲`,name:`dé`,keywords:[`dice`,`jeu`,`hasard`]},{emoji:`🎮`,name:`manette`,keywords:[`gaming`,`jeu vidéo`]},{emoji:`🕹️`,name:`joystick`,keywords:[`arcade`,`jeu`]},{emoji:`🃏`,name:`carte joker`,keywords:[`cartes`,`jeu`]},{emoji:`🀄`,name:`mahjong`,keywords:[`jeu`,`asie`]},{emoji:`🎴`,name:`cartes fleurs`,keywords:[`jeu`,`japon`]},{emoji:`🧩`,name:`puzzle`,keywords:[`jigsaw`,`réflexion`]}
78,{emoji:`🪆`,name:`poupée russe`,keywords:[`matriochka`]},{emoji:`🪁`,name:`lance-pierres`,keywords:[`slingshot`]}]},{id:`objects`,label:`Objets`,icon:`💡`,emojis:[{emoji:`💡`,name:`ampoule`,keywords:[`idée`,`lumière`,`lightbulb`]},{emoji:`🔦`,name:`lampe torche`,keywords:[`flashlight`,`lumière`]},{emoji:`🕯️`,name:`bougie`,keywords:[`candle`,`lumière`]},{emoji:`📱`,name:`smartphone`,keywords:[`phone`,`mobile`,`téléphone`]},{emoji:`💻`,name:`ordinateur portable`,keywords:[`laptop`,`computer`]},{emoji:`🖥️`,name:`écran`,keywords:[`desktop`,`monitor`]},{emoji:`⌨️`,name:`clavier`,keywords:[`keyboard`]},{emoji:`🖱️`,name:`souris`,keywords:[`mouse`,`ordinateur`]},{emoji:`🖨️`,name:`imprimante`,keywords:[`printer`]},{emoji:`📷`,name:`appareil photo`,keywords:[`camera`,`photo`]},{emoji:`📸`,name:`flash photo`,keywords:[`selfie`,`camera`]},{emoji:`📹`,name:`caméra vidéo`,keywords:[`video`,`camera`]},{emoji:`📺`,name:`télévision`,keywords:[`tv`,`écran`]},{emoji:`📻`,name:`radio`,keywords:[`radio`,`musique`]},{emoji:`📡`,name:`antenne satellite`,keywords:[`satellite`,`signal`]},{emoji:`🔋`,name:`batterie`,keywords:[`battery`,`énergie`]},{emoji:`🔌`,name:`prise`,keywords:[`plug`,`électricité`]},{emoji:`💾`,name:`disquette`,keywords:[`save`,`floppy`]},{emoji:`💿`,name:`CD`,keywords:[`disque`,`musique`]},{emoji:`📀`,name:`DVD`,keywords:[`disque`,`film`]},{emoji:`🔎`,name:`loupe droite`,keywords:[`recherche`,`zoom`]},{emoji:`🔍`,name:`loupe gauche`,keywords:[`recherche`,`détail`]},{emoji:`🔑`,name:`clé`,keywords:[`key`,`sécurité`]},{emoji:`🗝️`,name:`vieille clé`,keywords:[`old key`,`secret`]},{emoji:`🔒`,name:`cadenas fermé`,keywords:[`lock`,`sécurité`]},{emoji:`🔓`,name:`cadenas ouvert`,keywords:[`unlock`]},{emoji:`🔨`,name:`marteau`,keywords:[`hammer`,`outil`]},{emoji:`⚒️`,name:`marteau et pic`,keywords:[`outil`,`construction`]},{emoji:`🛠️`,name:`marteau et clé`,keywords:[`outils`,`réparation`]},{emoji:`⛏️`,name:`pic`,keywords:[`pickaxe`,`mine`]},{emoji:`🔧`,name:`clé anglaise`,keywords:[`wrench`,`outil`,`réparation`]},{emoji:`🔩`,name:`boulon`,keywords:[`bolt`,`vis`]},{emoji:`⚙️`,name:`engrenage`,keywords:[`settings`,`paramètres`]},{emoji:`🗜️`,name:`serre-joint`,keywords:[`clamp`,`outil`]},{emoji:`⚖️`,name:`balance`,keywords:[`justice`,`équilibre`]},{emoji:`🔗`,name:`chaîne`,keywords:[`link`,`lien`]},{emoji:`⛓️`,name:`chaînes`,keywords:[`chains`]},{emoji:`🧲`,name:`aimant`,keywords:[`magnet`,`magnétique`]},{emoji:`🔫`,name:`pistolet eau`,keywords:[`water gun`,`super soaker`]},{emoji:`🪃`,name:`boomerang`,keywords:[`boomerang`,`retour`]},{emoji:`🪚`,name:`scie`,keywords:[`saw`,`outil`]},{emoji:`🧰`,name:`boîte outils`,keywords:[`toolbox`]},{emoji:`💊`,name:`pilule`,keywords:[`médicament`,`pill`]},{emoji:`💉`,name:`seringue`,keywords:[`injection`,`vaccin`]},{emoji:`🩺`,name:`stéthoscope`,keywords:[`médecin`,`santé`]},{emoji:`🩹`,name:`pansement`,keywords:[`bandage`,`blessure`]},{emoji:`🏥`,name:`hôpital`,keywords:[`hospital`]},{emoji:`📦`,name:`carton`,keywords:[`box`,`paquet`]},{emoji:`📫`,name:`boîte lettres`,keywords:[`mail`,`courrier`]},{emoji:`📬`,name:`boîte lettres ouverte`,keywords:[`mail`]},{emoji:`📮`,name:`boîte aux lettres`,keywords:[`post`]},{emoji:`📁`,name:`dossier`,keywords:[`folder`,`fichier`]},{emoji:`📂`,name:`dossier ouvert`,keywords:[`open folder`]},{emoji:`📄`,name:`document`,keywords:[`file`,`page`]},{emoji:`📃`,name:`page cornée`,keywords:[`page`]},{emoji:`📝`,name:`crayon note`,keywords:[`note`,`écrire`,`memo`]},{emoji:`✏️`,name:`crayon`,keywords:[`pencil`,`écrire`]},{emoji:`🖊️`,name:`stylo`,keywords:[`pen`,`écrire`]},{emoji:`📌`,name:`punaise rouge`,keywords:[`pin`,`important`]},{emoji:`📍`,name:`punaise ronde`,keywords:[`pushpin`]},{emoji:`📎`,name:`trombone`,keywords:[`paperclip`,`attacher`]},{emoji:`🗂️`,name:`intercalaires`,keywords:[`organiser`]},{emoji:`📅`,name:`calendrier`,keywords:[`date`,`calendar`]},{emoji:`🗓️`,name:`bloc calendrier`,keywords:[`agenda`]},{emoji:`📊`,name:`graphique`,keywords:[`chart`,`statistiques`]},{emoji:`📈`,name:`courbe hausse`,keywords:[`trending up`,`croissance`]},{emoji:`📉`,name:`courbe baisse`,keywords:[`trending down`,`baisse`]},{emoji:`💰`,name:`sac argent`,keywords:[`money`,`argent`,`riche`]},{emoji:`💵`,name:`dollar`,keywords:[`money`,`usd`]},{emoji:`💸`,name:`billet volant`,keywords:[`money`,`dépense`]},{emoji:`💳`,name:`carte bancaire`,keywords:[`credit card`,`paiement`]},{emoji:`🎁`,name:`cadeau`,keywords:[`present`,`gift`,`anniversaire`]},{emoji:`🎀`,name:`nœud ruban`,keywords:[`ribbon`,`cadeau`]},{emoji:`🛍️`,name:`sac shopping`,keywords:[`shopping`,`achats`]},{emoji:`🛒`,name:`chariot`,keywords:[`shopping cart`]},{emoji:`🧸`,name:`ours en peluche`,keywords:[`teddy bear`,`jouet`]},{emoji:`🪅`,name:`piñata`,keywords:[`fête`,`bonbons`]}]},{id:`symbols`,label:`Symboles`,icon:`❤️`,emojis:[{emoji:`❤️`,name:`cœur rouge`,keywords:[`amour`,`heart`,`love`]},{emoji:`🧡`,name:`cœur orange`,keywords:[`amour`,`heart`]},{emoji:`💛`,name:`cœur jaune`,keywords:[`amour`,`heart`]},{emoji:`💚`,name:`cœur vert`,keywords:[`amour`,`heart`]},{emoji:`💙`,name:`cœur bleu`,keywords:[`amour`,`heart`]},{emoji:`💜`,name:`cœur violet`,keywords:[`amour`,`heart`]},{emoji:`🖤`,name:`cœur noir`,keywords:[`amour`,`heart`]},{emoji:`🤍`,name:`cœur blanc`,keywords:[`amour`,`heart`]},{emoji:`🤎`,name:`cœur marron`,keywords:[`amour`,`heart`]},{emoji:`💔`,name:`cœur brisé`,keywords:[`peine`,`chagrin`]},{emoji:`❣️`,name:`point cœur`,keywords:[`heart exclamation`]}
78,{emoji:`💕`,name:`deux cœurs`,keywords:[`amour`,`hearts`]},{emoji:`💞`,name:`cœurs tourbillon`,keywords:[`amour`,`hearts`]},{emoji:`💓`,name:`cœur battant`,keywords:[`amour`,`pulse`]},{emoji:`💗`,name:`cœur grandissant`,keywords:[`amour`]},{emoji:`💖`,name:`cœur brillant`,keywords:[`amour`,`sparkle`]},{emoji:`💘`,name:`cœur flèche`,keywords:[`cupidon`,`amour`]},{emoji:`💝`,name:`cœur ruban`,keywords:[`amour`,`cadeau`]},{emoji:`💟`,name:`décoration cœur`,keywords:[`heart`]},{emoji:`☮️`,name:`symbole paix`,keywords:[`peace`,`paix`]},{emoji:`✝️`,name:`croix latine`,keywords:[`croix`,`chrétien`]},{emoji:`☪️`,name:`croissant étoile`,keywords:[`islam`,`lune`]},{emoji:`✡️`,name:`étoile David`,keywords:[`judaïsme`]},{emoji:`☯️`,name:`yin yang`,keywords:[`tao`,`équilibre`]},{emoji:`🔯`,name:`étoile six branches`,keywords:[`hexagram`]},{emoji:`♻️`,name:`recyclage`,keywords:[`recycle`,`écologie`]},{emoji:`🔱`,name:`trident`,keywords:[`Neptune`,`mer`]},{emoji:`📛`,name:`badge nom`,keywords:[`name badge`]},{emoji:`🔰`,name:`badge japonais`,keywords:[`japon`,`débutant`]},{emoji:`⭕`,name:`cercle rouge`,keywords:[`o`,`oui`,`correct`]},{emoji:`✅`,name:`case cochée`,keywords:[`ok`,`done`,`validé`]},{emoji:`❌`,name:`croix`,keywords:[`non`,`faux`,`x`]},{emoji:`❎`,name:`croix bouton`,keywords:[`non`,`faux`]},{emoji:`➕`,name:`plus`,keywords:[`add`,`ajouter`]},{emoji:`➖`,name:`moins`,keywords:[`minus`,`soustraire`]},{emoji:`➗`,name:`diviser`,keywords:[`division`]},{emoji:`✖️`,name:`multiplier`,keywords:[`times`,`multiplication`]},{emoji:`🔃`,name:`flèche recharge`,keywords:[`reload`,`refresh`]},{emoji:`🔄`,name:`flèches sens contraire`,keywords:[`refresh`,`sync`]},{emoji:`🔙`,name:`flèche BACK`,keywords:[`retour`,`back`]},{emoji:`🔚`,name:`flèche END`,keywords:[`fin`]},{emoji:`🔛`,name:`flèche ON`,keywords:[`on`]},{emoji:`🔜`,name:`flèche SOON`,keywords:[`bientôt`]},{emoji:`🔝`,name:`flèche TOP`,keywords:[`haut`,`top`]},{emoji:`⚠️`,name:`avertissement`,keywords:[`warning`,`attention`,`danger`]},{emoji:`🚫`,name:`interdit`,keywords:[`no`,`interdit`,`prohibited`]},{emoji:`🚷`,name:`interdit personnes`,keywords:[`no entry`]},{emoji:`📵`,name:`interdit téléphone`,keywords:[`no phone`]},{emoji:`🔞`,name:`interdit moins 18`,keywords:[`adult`,`nsfw`]},{emoji:`🆕`,name:`NEW`,keywords:[`nouveau`,`new`]},{emoji:`🆙`,name:`UP`,keywords:[`mise à jour`]},{emoji:`🆓`,name:`FREE`,keywords:[`gratuit`,`free`]},{emoji:`🆒`,name:`COOL`,keywords:[`cool`]},{emoji:`🆗`,name:`OK`,keywords:[`ok`,`bien`]},{emoji:`🅰️`,name:`groupe A`,keywords:[`blood type`,`a`]},{emoji:`🅱️`,name:`groupe B`,keywords:[`blood type`,`b`]},{emoji:`🅾️`,name:`groupe O`,keywords:[`blood type`,`o`]},{emoji:`💯`,name:`100`,keywords:[`parfait`,`score`,`cent`]},{emoji:`🔤`,name:`abc`,keywords:[`lettres`,`alphabet`]},{emoji:`🔡`,name:`abc minuscule`,keywords:[`lettres`]},{emoji:`🔠`,name:`ABC majuscule`,keywords:[`lettres`]},{emoji:`#️⃣`,name:`dièse`,keywords:[`hash`,`hashtag`]},{emoji:`*️⃣`,name:`astérisque`,keywords:[`star`,`asterisk`]},{emoji:`0️⃣`,name:`zéro`,keywords:[`0`,`chiffre`]},{emoji:`1️⃣`,name:`un`,keywords:[`1`,`chiffre`]},{emoji:`2️⃣`,name:`deux`,keywords:[`2`,`chiffre`]},{emoji:`3️⃣`,name:`trois`,keywords:[`3`,`chiffre`]},{emoji:`4️⃣`,name:`quatre`,keywords:[`4`,`chiffre`]},{emoji:`5️⃣`,name:`cinq`,keywords:[`5`,`chiffre`]},{emoji:`6️⃣`,name:`six`,keywords:[`6`,`chiffre`]},{emoji:`7️⃣`,name:`sept`,keywords:[`7`,`chiffre`]},{emoji:`8️⃣`,name:`huit`,keywords:[`8`,`chiffre`]},{emoji:`9️⃣`,name:`neuf`,keywords:[`9`,`chiffre`]},{emoji:`🔟`,name:`dix`,keywords:[`10`,`chiffre`]},{emoji:`💲`,name:`dollar signe`,keywords:[`money`,`argent`]},{emoji:`©️`,name:`copyright`,keywords:[`droit auteur`]},{emoji:`®️`,name:`marque déposée`,keywords:[`registered`]},{emoji:`™️`,name:`trademark`,keywords:[`marque`]},{emoji:`🔔`,name:`cloche`,keywords:[`bell`,`notification`,`sonnerie`]},{emoji:`🔕`,name:`cloche muette`,keywords:[`no sound`,`silencieux`]},{emoji:`🔊`,name:`haut-parleur fort`,keywords:[`son`,`volume`,`loud`]},{emoji:`🔉`,name:`haut-parleur moyen`,keywords:[`son`,`volume`]},{emoji:`🔈`,name:`haut-parleur bas`,keywords:[`son`,`faible`]},{emoji:`🔇`,name:`muet`,keywords:[`mute`,`silence`]},{emoji:`📣`,name:`mégaphone`,keywords:[`annonce`,`megaphone`]},{emoji:`📢`,name:`haut-parleur public`,keywords:[`annonce`]},{emoji:`🎵`,name:`note musique`,keywords:[`music`,`note`,`son`]},{emoji:`🎶`,name:`notes musique`,keywords:[`music`,`notes`,`son`]},{emoji:`💤`,name:`zzz`,keywords:[`sommeil`,`dors`]},{emoji:`💢`,name:`colère`,keywords:[`angry`,`rage`]},{emoji:`💥`,name:`explosion`,keywords:[`boom`,`bang`]},{emoji:`💫`,name:`étoile tournante`,keywords:[`dizzy`,`star`]},{emoji:`💦`,name:`gouttes eau`,keywords:[`water`,`splash`,`sueur`]},{emoji:`💨`,name:`vent`,keywords:[`wind`,`dash`,`vitesse`]},{emoji:`🕳️`,name:`trou`,keywords:[`hole`,`vide`]},{emoji:`💬`,name:`bulle chat`,keywords:[`speech`,`message`]},{emoji:`🗨️`,name:`bulle dialogue gauche`,keywords:[`comment`]},{emoji:`🗯️`,name:`bulle colère`,keywords:[`anger`,`rage`]},{emoji:`💭`,name:`bulle pensée`,keywords:[`thought`,`penser`]},{emoji:`👁️‍🗨️`,name:`œil bulle`,keywords:[`observe`,`regarder`]},{emoji:`🌀`,name:`cyclone`,keywords:[`spiral`,`tourbillon`]},{emoji:`🌈`,name:`arc-en-ciel`,keywords:[`rainbow`,`couleurs`]},{emoji:`⭐`,name:`étoile`,keywords:[`star`,`favoris`]},{emoji:`🌟`,name:`étoile brillante`,keywords:[`glowing star`]},{emoji:`✨`,name:`étincelles`,keywords:[`sparkles`,`magie`]},{emoji:`💥`,name:`explosion`,keywords:[`boom`]},{emoji:`🎉`,name:`confettis`,keywords:[`party`,`fête`,`anniversaire`]},{emoji:`🎊`,name:`boule disco`,keywords:[`party`,`fête`]},{emoji:`🎋`,name:`tanabata`,keywords:[`bambou`,`japon`]},{emoji:`🎍`,name:`pin bambou`,keywords:[`bambou`,`japon`]},{emoji:`🎎`,name:`poupées japonaises`,keywords:[`hinamatsuri`,`japon`]},{emoji:`🎏`,name:`carpe volante`,keywords:[`koinobori`,`japon`]},{emoji:`🎐`,name:`carillon`,keywords:[`wind chime`,`japon`]},{emoji:`🔮`,name:`boule cristal`,keywords:[`magic`,`oracle`]},{emoji:`🧿`,name:`œil protecteur`,keywords:[`nazar`,`chance`]},{emoji:`🪬`,name:`hamsa`,keywords:[`main`,`protection`]}]}
78,{id:`nature`,label:`Nature & météo`,icon:`🌸`,emojis:[{emoji:`🌸`,name:`fleur cerisier`,keywords:[`sakura`,`japon`,`printemps`]},{emoji:`🌺`,name:`hibiscus`,keywords:[`fleur`,`tropical`]},{emoji:`🌻`,name:`tournesol`,keywords:[`sunflower`,`fleur`]},{emoji:`🌹`,name:`rose`,keywords:[`fleur`,`amour`]},{emoji:`🥀`,name:`rose fanée`,keywords:[`fleur morte`,`triste`]},{emoji:`🌷`,name:`tulipe`,keywords:[`fleur`,`printemps`]},{emoji:`🌱`,name:`pousse`,keywords:[`plante`,`croissance`,`nature`]},{emoji:`🌿`,name:`plante`,keywords:[`feuille`,`nature`,`vert`]},{emoji:`☘️`,name:`trèfle`,keywords:[`chance`,`saint patrick`,`irlande`]},{emoji:`🍀`,name:`trèfle 4 feuilles`,keywords:[`chance`,`luck`]},{emoji:`🎋`,name:`bambou`,keywords:[`bamboo`,`asie`]},{emoji:`🎍`,name:`pin déco`,keywords:[`nature`,`japon`]},{emoji:`🍃`,name:`feuilles vent`,keywords:[`leaves`,`automne`]},{emoji:`🍂`,name:`feuilles automne`,keywords:[`autumn`,`fall`]},{emoji:`🍁`,name:`feuille érable`,keywords:[`maple`,`canada`,`automne`]},{emoji:`🌾`,name:`épi blé`,keywords:[`wheat`,`récolte`,`agriculture`]},{emoji:`🌵`,name:`cactus`,keywords:[`desert`,`sèche`]},{emoji:`🎄`,name:`sapin Noël`,keywords:[`christmas`,`noël`]},{emoji:`🌴`,name:`palmier`,keywords:[`palm`,`tropical`,`plage`]}
78,{emoji:`🌊`,name:`vague`,keywords:[`wave`,`mer`,`surf`]},{emoji:`🌞`,name:`soleil souriant`,keywords:[`sun`,`beau`,`chaud`]},{emoji:`🌝`,name:`lune souriante`,keywords:[`moon`,`nuit`]},{emoji:`🌛`,name:`premier quartier`,keywords:[`moon`,`lune`]},{emoji:`🌜`,name:`dernier quartier`,keywords:[`moon`,`lune`]},{emoji:`🌚`,name:`lune noire`,keywords:[`new moon`,`lune`]},{emoji:`🌕`,name:`pleine lune`,keywords:[`full moon`,`lune`]},{emoji:`🌙`,name:`croissant lune`,keywords:[`moon`,`nuit`]},{emoji:`⭐`,name:`étoile`,keywords:[`star`,`nuit`]},{emoji:`🌟`,name:`étoile brillante`,keywords:[`star`,`nuit`]},{emoji:`💫`,name:`étoile filante`,keywords:[`shooting star`]},{emoji:`⚡`,name:`éclair`,keywords:[`lightning`,`orage`,`électricité`]},{emoji:`🌩️`,name:`orage éclair`,keywords:[`storm`,`thunder`]},{emoji:`🌧️`,name:`pluie`,keywords:[`rain`,`nuage`]},{emoji:`⛈️`,name:`orage pluie`,keywords:[`storm`,`rain`]},{emoji:`🌨️`,name:`neige`,keywords:[`snow`,`flocon`]},{emoji:`❄️`,name:`flocon neige`,keywords:[`snowflake`,`froid`]},{emoji:`☃️`,name:`bonhomme neige`,keywords:[`snowman`,`noël`]},{emoji:`⛄`,name:`bonhomme neige dehors`,keywords:[`snowman`]},{emoji:`🌬️`,name:`vent visage`,keywords:[`wind`,`souffle`]},{emoji:`💨`,name:`vent`,keywords:[`wind`,`rafale`]},{emoji:`🌪️`,name:`tornade`,keywords:[`tornado`,`cyclone`]},{emoji:`🌫️`,name:`brouillard`,keywords:[`fog`,`brume`]},{emoji:`🌈`,name:`arc-en-ciel`,keywords:[`rainbow`,`couleurs`,`soleil`]},{emoji:`☀️`,name:`soleil`,keywords:[`sun`,`beau`,`ensoleillé`]},{emoji:`⛅`,name:`soleil nuage`,keywords:[`cloudy`,`nuageux`]},{emoji:`☁️`,name:`nuage`,keywords:[`cloud`]},{emoji:`🌤️`,name:`soleil derrière nuage`,keywords:[`partly cloudy`]},{emoji:`🌥️`,name:`nuages soleil`,keywords:[`cloudy`]},{emoji:`🌦️`,name:`soleil pluie`,keywords:[`rain sun`]},{emoji:`🌀`,name:`cyclone`,keywords:[`hurricane`,`typhon`]},{emoji:`🔥`,name:`feu`,keywords:[`fire`,`flamme`,`chaud`,`hot`]},{emoji:`💧`,name:`goutte eau`,keywords:[`drop`,`eau`,`pluie`]}
78,{emoji:`🌊`,name:`vague`,keywords:[`wave`,`ocean`]},{emoji:`🌋`,name:`volcan`,keywords:[`eruption`,`lave`]},{emoji:`⛰️`,name:`montagne`,keywords:[`mountain`]},{emoji:`🏔️`,name:`montagne enneigée`,keywords:[`snow mountain`]},{emoji:`🌍`,name:`terre europe`,keywords:[`monde`,`planète`]},{emoji:`🪐`,name:`saturne`,keywords:[`saturn`,`espace`,`planète`]},{emoji:`🌙`,name:`lune`,keywords:[`moon`,`nuit`,`bonne nuit`]}]}],Z={picker:`_picker_7csgw_1`,searchRow:`_searchRow_7csgw_22`,"material-symbols-outlined":`_material-symbols-outlined_7csgw_29`,searchInput:`_searchInput_7csgw_34`,clearBtn:`_clearBtn_7csgw_46`,freqRow:`_freqRow_7csgw_58`,categories:`_categories_7csgw_67`,catBtn:`_catBtn_7csgw_78`,catActive:`_catActive_7csgw_94`,catLabel:`_catLabel_7csgw_99`,grid:`_grid_7csgw_110`,emojiBtn:`_emojiBtn_7csgw_121`,empty:`_empty_7csgw_140`,pickerMobileFixed:`_pickerMobileFixed_7csgw_150`,quickBtn:`_quickBtn_7csgw_167`},fr=[`😭`,`😂`,`❤️`,`🔥`,`👍`,`👎`],pr=`emoji_freq`,mr=10;function hr(){try{return JSON.parse(localStorage.getItem(pr)??`{}`)}catch{return{}}}function gr(e){try{let t=hr();t[e]=(t[e]??0)+1,localStorage.setItem(pr,JSON.stringify(t))}catch{}}function _r(e){return Object.entries(hr()).sort((e,t)=>t[1]-e[1]).slice(0,e).map(([e])=>e)}function vr({onPick:e,onClose:t,anchorRef:n}){let r=window.innerWidth<=640,[i,a]=(0,X.useState)(``),[o,s]=(0,X.useState)(dr[0].id),[c,l]=(0,X.useState)(!1),u=(0,X.useRef)(null),d=(0,X.useRef)(null),f=_r(mr),p=n=>{gr(n),e(n),t()};(0,X.useLayoutEffect)(()=>{if(r){l(!0);return}let e=u.current;if(e){if(n?.current){let t=n.current.getBoundingClientRect(),r=e.offsetWidth||320,i=e.offsetHeight||340;if(e.style.position=`fixed`,e.style.right=`auto`,t.top-8>=100){let n=window.innerHeight-t.top+6,r=window.innerHeight-i-8;e.style.top=`auto`,e.style.bottom=`${Math.min(n,r)}px`}else e.style.bottom=`auto`,e.style.top=`${t.bottom+6}px`;let a=t.right-r;e.style.left=`${Math.max(8,a)}px`}else{let t=e.getBoundingClientRect();t.top<8&&(e.style.bottom=`auto`,e.style.top=`calc(100% + 6px)`),t.left<8?(e.style.right=`auto`,e.style.left=`0`):t.right>window.innerWidth-8&&(e.style.left=`auto`,e.style.right=`0`)}l(!0)}},[]),(0,X.useEffect)(()=>{let e=e=>{u.current?.contains(e.target)||t()},n=e=>{e.key===`Escape`&&t()},r=setTimeout(()=>document.addEventListener(`mousedown`,e),50);return document.addEventListener(`keydown`,n),()=>{clearTimeout(r),document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,n)}},[t]),(0,X.useEffect)(()=>{r||d.current?.focus()},[]);let m=(0,X.useMemo)(()=>{let e=i.trim().toLowerCase();if(!e)return null;let t=[],n=new Set;for(let r of dr)for(let i of r.emojis)n.has(i.emoji)||(i.name.toLowerCase().includes(e)||i.keywords?.some(t=>t.toLowerCase().includes(e)))&&(t.push(i),n.add(i.emoji));return t},[i]);if(r){let e=f.length>=4?f.slice(0,6):fr;return(0,cr.createPortal)((0,g.jsx)(`div`,{className:Z.pickerMobileFixed,ref:u,children:e.map(e=>(0,g.jsx)(`button`,{className:Z.quickBtn,onClick:()=>p(e),children:e},e))}),document.body)}let h=dr.find(e=>e.id===o),ee=m??h.emojis;return(0,cr.createPortal)((0,g.jsxs)(`div`,{className:Z.picker,ref:u,style:{visibility:c?`visible`:`hidden`},children:[(0,g.jsxs)(`div`,{className:Z.searchRow,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`search`}),(0,g.jsx)(`input`,{ref:d,className:Z.searchInput,type:`text`,placeholder:`Rechercher un emoji…`,value:i,onChange:e=>a(e.target.value)}),i&&(0,g.jsx)(`button`,{className:Z.clearBtn,onClick:()=>a(``),tabIndex:-1,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`close`})})]}),!i&&f.length>0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:Z.catLabel,children:`Fréquents`}),(0,g.jsx)(`div`,{className:Z.freqRow,children:f.map(e=>(0,g.jsx)(`button`,{className:Z.emojiBtn,onClick:()=>p(e),title:e,"aria-label":e,children:e},e))})]}),!i&&(0,g.jsx)(`div`,{className:Z.categories,role:`tablist`,children:dr.map(e=>(0,g.jsx)(`button`,{role:`tab`,"aria-selected":e.id===o,className:`${Z.catBtn} ${e.id===o?Z.catActive:``}`,onClick:()=>s(e.id),title:e.label,children:e.icon},e.id))}),!i&&(0,g.jsx)(`div`,{className:Z.catLabel,children:h.label}),i&&m!==null&&(0,g.jsx)(`div`,{className:Z.catLabel,children:m.length>0?`${m.length} résultat${m.length>1?`s`:``}`:`Aucun résultat`}),(0,g.jsx)(`div`,{className:Z.grid,role:`listbox`,children:ee.length===0?(0,g.jsx)(`p`,{className:Z.empty,children:`Aucun emoji trouvé`}):ee.map(e=>(0,g.jsx)(`button`,{role:`option`,className:Z.emojiBtn,onClick:()=>p(e.emoji),title:e.name,"aria-label":e.name,children:e.emoji},e.emoji+e.name))})]}),document.body)}var yr={user:`#f472b6`,helper:`#ffffff`,uploader_herbe:`#7dd3fc`,uploader:`#2563eb`,team:`#f87171`,moderator:`#16a34a`,admin:`#16a34a`},br={user:`Membre`,helper:`Helper`,uploader_herbe:`Uploader en herbe`,uploader:`
78Uploader`,team:`Team`,moderator:`Contributeur`,admin:`Administrateur`};function xr(e){return yr[e]??`#94a3b8`}function Sr(e){return br[e]??e}var Cr={picker:`_picker_jhwx9_1`,searchRow:`_searchRow_jhwx9_21`,"material-symbols-outlined":`_material-symbols-outlined_jhwx9_28`,searchInput:`_searchInput_jhwx9_33`,clearBtn:`_clearBtn_jhwx9_45`,mobileCloseBtn:`_mobileCloseBtn_jhwx9_45`,catLabel:`_catLabel_jhwx9_57`,grid:`_grid_jhwx9_72`,gifBtn:`_gifBtn_jhwx9_85`,empty:`_empty_jhwx9_107`,attribution:`_attribution_jhwx9_116`,pickerMobile:`_pickerMobile_jhwx9_126`},wr=350;function Tr({onPick:e,onClose:t,anchorRef:n}){let r=window.innerWidth<=640,[i,a]=(0,X.useState)(``),[o,s]=(0,X.useState)([]),[c,l]=(0,X.useState)(!0),[u,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(!1),m=(0,X.useRef)(null),h=(0,X.useRef)(null);(0,X.useLayoutEffect)(()=>{if(r){p(!0);return}let e=m.current;if(e){if(n?.current){let t=n.current.getBoundingClientRect(),r=e.offsetWidth||360,i=e.offsetHeight||380;if(e.style.position=`fixed`,e.style.right=`auto`,t.top-8>=120){let n=window.innerHeight-t.top+6,r=window.innerHeight-i-8;e.style.top=`auto`,e.style.bottom=`${Math.min(n,r)}px`}else e.style.bottom=`auto`,e.style.top=`${t.bottom+6}px`;let a=t.right-r;e.style.left=`${Math.max(8,a)}px`}p(!0)}},[]),(0,X.useEffect)(()=>{let e=e=>{m.current?.contains(e.target)||t()},n=e=>{e.key===`Escape`&&t()},r=setTimeout(()=>document.addEventListener(`mousedown`,e),50);return document.addEventListener(`keydown`,n),()=>{clearTimeout(r),document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,n)}},[t]),(0,X.useEffect)(()=>{r||h.current?.focus()},[]),(0,X.useEffect)(()=>{let e=new AbortController,t=setTimeout(async()=>{l(!0),d(``);try{let t=i.trim()?`/api/chat/gifs/search?q=${encodeURIComponent(i.trim())}`:`/api/chat/gifs/trending`,n=await fetch(t,{credentials:`include`,signal:e.signal});if(!n.ok)throw Error();let r=await n.json();s(Array.isArray(r.results)?r.results:[])}catch(e){e?.name!==`AbortError`&&d(`Erreur de chargement des GIF`)}finally{l(!1)}},i?wr:0);return()=>{clearTimeout(t),e.abort()}},[i]);let ee=n=>{e(n.insert_url),t()};return(0,cr.createPortal)((0,g.jsxs)(`div`,{className:r?Cr.pickerMobile:Cr.picker,ref:m,style:r?void 0:{visibility:f?`visible`:`hidden`},children:[(0,g.jsxs)(`div`,{className:Cr.searchRow,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`search`}),(0,g.jsx)(`input`,{ref:h,className:Cr.searchInput,type:`text`,placeholder:`Rechercher un GIF (Klipy)…`,value:i,onChange:e=>a(e.target.value)}),i&&(0,g.jsx)(`button`,{className:Cr.clearBtn,onClick:()=>a(``),tabIndex:-1,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`close`})}),r&&(0,g.jsx)(`button`,{className:Cr.mobileCloseBtn,onClick:t,tabIndex:-1,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`close`})})]}),!i&&(0,g.jsx)(`div`,{className:Cr.catLabel,children:`Tendances`}),(0,g.jsx)(`div`,{className:Cr.grid,children:c?(0,g.jsx)(`p`,{className:Cr.empty,children:`Chargement…`}):u?(0,g.jsx)(`p`,{className:Cr.empty,children:u}):o.length===0?(0,g.jsx)(`p`,{className:Cr.empty,children:`Aucun GIF trouvé`}):o.map(e=>(0,g.jsx)(`button`,{className:Cr.gifBtn,onClick:()=>ee(e),title:e.title,children:(0,g.jsx)(`img`,{src:e.thumb_url,alt:e.title,loading:`lazy`})},e.id))}),(0,g.jsx)(`div`,{className:Cr.attribution,children:`Propulsé par Klipy`})]}),document.body)}var Q={actions:`_actions_unqu8_1`,btn:`_btn_unqu8_17`,btnDelete:`_btnDelete_unqu8_30`,pickerWrap:`_pickerWrap_unqu8_32`,mobileMenuBtn:`_mobileMenuBtn_unqu8_38`,sheetOverlay:`_sheetOverlay_unqu8_53`,sheet:`_sheet_unqu8_53`,sheetReacts:`_sheetReacts_unqu8_71`,sheetReactBtn:`_sheetReactBtn_unqu8_77`,sheetDivider:`_sheetDivider_unqu8_88`,sheetBtn:`_sheetBtn_unqu8_94`,sheetBtnDelete:`_sheetBtnDelete_unqu8_111`,sheetCancel:`_sheetCancel_unqu8_114`},Er=[`👍`,`❤️`,`😂`,`😭`,`🔥`,`👎`];function Dr({canDelete:e,canEdit:t,onDelete:n,onReply:r,onEdit:i,onBlock:a,onReact:o,pickerOpen:s,onTogglePicker:c,onClosePicker:l}){let u=(0,X.useRef)(null),[d,f]=(0,X.useState)(!1);return window.innerWidth<=640?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`button`,{className:Q.mobileMenuBtn,"data-msg-actions":``,onClick:()=>f(!0),"aria-label":`Actions`,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`more_horiz`})}),d&&(0,cr.createPortal)((0,g.jsx)(`div`,{className:Q.sheetOverlay,onClick:()=>f(!1),children:(0,g.jsxs)(`div`,{className:Q.sheet,onClick:e=>e.stopPropagation(),children:[(0,g.jsx)(`div`,{className:Q.sheetReacts,children:Er.map(e=>(0,g.jsx)(`button`,{className:Q.sheetReactBtn,onClick:()=>{o(e),f(!1)},children:e},e))}),(0,g.jsx)(`div`,{className:Q.sheetDivider}),r&&(0,g.jsxs)(`button`,{className:Q.sheetBtn,onClick:()=>{r(),f(!1)},children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`reply`}),`Répondre`]}),t&&i&&(0,g.jsxs)(`button`,{className:Q.sheetBtn,onClick:()=>{i(),f(!1)},children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`edit`}),`Modifier`]}),e&&n||a?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:Q.sheetDivider}),e&&n&&(0,g.jsxs)(`button`,{className:`${Q.sheetBtn} ${Q.sheetBtnDelete}`,onClick:()=>{n(),f(!1)},children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`delete`}),`Supprimer`]}
78),a&&(0,g.jsxs)(`button`,{className:`${Q.sheetBtn} ${Q.sheetBtnDelete}`,onClick:()=>{a(),f(!1)},children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`block`}),`Bloquer`]})]}):null,(0,g.jsx)(`div`,{className:Q.sheetDivider}),(0,g.jsx)(`button`,{className:Q.sheetCancel,onClick:()=>f(!1),children:`Annuler`})]})}),document.body)]}):(0,g.jsxs)(`div`,{className:Q.actions,"data-msg-actions":``,children:[e&&n&&(0,g.jsx)(`button`,{className:`${Q.btn} ${Q.btnDelete}`,onClick:n,title:`Supprimer`,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`delete`})}),r&&(0,g.jsx)(`button`,{className:Q.btn,onClick:r,title:`Répondre`,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`reply`})}),(0,g.jsxs)(`div`,{className:Q.pickerWrap,children:[(0,g.jsx)(`button`,{ref:u,className:Q.btn,onClick:c,title:`Réagir`,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`add_reaction`})}),s&&(0,g.jsx)(vr,{anchorRef:u,onPick:e=>{o(e),l()},onClose:l})]}),t&&i&&(0,g.jsx)(`button`,{className:Q.btn,onClick:i,title:`Modifier`,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`edit`})}),a&&(0,g.jsx)(`button`,{className:`${Q.btn} ${Q.btnDelete}`,onClick:a,title:`Bloquer cet utilisateur`,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`block`})})]})}var Or={overlay:`_overlay_znkix_1`,box:`_box_znkix_11`,icon:`_icon_znkix_23`,text:`_text_znkix_29`,actions:`_actions_znkix_37`,yes:`_yes_znkix_43`,no:`_no_znkix_56`};function kr({onConfirm:e,onCancel:t}){return(0,g.jsx)(`div`,{className:Or.overlay,onClick:t,children:(0,g.jsxs)(`div`,{className:Or.box,onClick:e=>e.stopPropagation(),children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined ${Or.icon}`,children:`delete`}),(0,g.jsx)(`p`,{className:Or.text,children:`Ce message va être supprimé.`}),(0,g.jsxs)(`div`,{className:Or.actions,children:[(0,g.jsx)(`button`,{className:Or.yes,onClick:e,children:`Supprimer`}),(0,g.jsx)(`button`,{className:Or.no,onClick:t,children:`Annuler`})]})]})})}var $={window:`_window_160eo_1`,header:`_header_160eo_12`,headerLeft:`_headerLeft_160eo_23`,convIcon:`_convIcon_160eo_30`,convTitleGroup:`_convTitleGroup_160eo_36`,convTitle:`_convTitle_160eo_36`,convDescription:`_convDescription_160eo_51`,statusBadge:`_statusBadge_160eo_60`,closeTicketBtn:`_closeTicketBtn_160eo_71`,ticketToolbar:`_ticketToolbar_160eo_88`,escalateBtn:`_escalateBtn_160eo_94`,convTitleRow:`_convTitleRow_160eo_111`,navigateTorrentBtn:`_navigateTorrentBtn_160eo_118`,editTorrentBtn:`_editTorrentBtn_160eo_136`,reportActionBtns:`_reportActionBtns_160eo_153`,reportActionBtn:`_reportActionBtn_160eo_153`,"material-symbols-outlined":`_material-symbols-outlined_160eo_177`,messageList:`_messageList_160eo_181`,loadMore:`_loadMore_160eo_206`,loading:`_loading_160eo_219`,spin:`_spin_160eo_1`,emptyChat:`_emptyChat_160eo_230`,systemMsg:`_systemMsg_160eo_246`,systemMsgText:`_systemMsgText_160eo_263`,systemCard:`_systemCard_160eo_271`,systemCardAccentReport:`_systemCardAccentReport_160eo_280`,systemCardAccentRevision:`_systemCardAccentRevision_160eo_281`,systemCardAccentInfo:`_systemCardAccentInfo_160eo_282`,systemCardHead:`_systemCardHead_160eo_284`,systemCardIcon:`_systemCardIcon_160eo_292`,systemCardHeadText:`_systemCardHeadText_160eo_300`,systemCardAction:`_systemCardAction_160eo_308`,systemCardDate:`_systemCardDate_160eo_315`,systemCardFields:`_systemCardFields_160eo_323`,systemCardField:`_systemCardField_160eo_323`,systemCardKey:`_systemCardKey_160eo_340`,systemCardValue:`_systemCardValue_160eo_351`,msgRow:`_msgRow_160eo_363`,grouped:`_grouped_160eo_373`,mentionedRow:`_mentionedRow_160eo_376`,msgHighlight:`_msgHighlight_160eo_387`,msgHighlightFade:`_msgHighlightFade_160eo_1`,msgAvatar:`_msgAvatar_160eo_391`,msgAvatarImg:`_msgAvatarImg_160eo_412`,msgAvatarSpacer:`_msgAvatarSpacer_160eo_420`,msgContent:`_msgContent_160eo_425`,msgMeta:`_msgMeta_160eo_433`,msgSender:`_msgSender_160eo_439`,msgTime:`_msgTime_160eo_452`,msgBadges:`_msgBadges_160eo_458`,msgBadgeImg:`_msgBadgeImg_160eo_464`,edited:`_edited_160eo_471`,quote:`_quote_160eo_479`,quoteArrow:`_quoteArrow_160eo_493`,quoteAuthor:`_quoteAuthor_160eo_498`,quoteBody:`_quoteBody_160eo_503`,msgBubble:`_msgBubble_160eo_511`,deleted:`_deleted_160eo_518`,failedBubble:`_failedBubble_160eo_524`,failedNotice:`_failedNotice_160eo_528`,retryBtn:`_retryBtn_160eo_540`,emojiTriggerWrap:`_emojiTriggerWrap_160eo_556`,emojiInputBtn:`_emojiInputBtn_160eo_562`,emojiInputBtnDisabled:`_emojiInputBtnDisabled_160eo_576`,gifBtnLabel:`_gifBtnLabel_160eo_578`,imgPopover:`_imgPopover_160eo_586`,imgPopoverInput:`_imgPopoverInput_160eo_599`,imgPopoverAdd:`_imgPopoverAdd_160eo_610`,typing:`_typing_160eo_625`,typingDots:`_typingDots_160eo_637`,typingBounce:`_typingBounce_160eo_1`,replyBar:`_replyBar_160eo_658`,replyBarIcon:`_replyBarIcon_160eo_669`,replyBarText:`_replyBarText_160eo_675`,replyBarPreview:`_replyBarPreview_160eo_687`,replyBarDismiss:`_replyBarDismiss_160eo_691`,chatLink:`_chatLink_160eo_710`,chatImg:`_chatImg_160eo_722`,mention:`_mention_160eo_376`,mentionSelf:`_mentionSelf_160eo_747`,mentionDropdown:`_mentionDropdown_160eo_753`,mentionItem:`_mentionItem_160eo_764`,mentionItemActive:`_mentionItemActive_160eo_780`,inputArea:`_inputArea_160eo_782`,inputField:`_inputField_160eo_792`,writeLockedMsg:`_writeLockedMsg_160eo_803`,input:`_input_160eo_782`,sendBtn:`_sendBtn_160eo_842`,
78inputWrapper:`_inputWrapper_160eo_858`,inputError:`_inputError_160eo_864`,inputInvalid:`_inputInvalid_160eo_877`,staffToggle:`_staffToggle_160eo_882`,staffToggleHint:`_staffToggleHint_160eo_895`,msgRealSender:`_msgRealSender_160eo_898`,charCount:`_charCount_160eo_911`,editBox:`_editBox_160eo_920`,editTextarea:`_editTextarea_160eo_927`,editHint:`_editHint_160eo_944`,editCancelBtn:`_editCancelBtn_160eo_953`,closedNotice:`_closedNotice_160eo_966`,ctxBackdrop:`_ctxBackdrop_160eo_1004`,ctxMenu:`_ctxMenu_160eo_1010`,ctxItem:`_ctxItem_160eo_1020`,ctxItemDanger:`_ctxItemDanger_160eo_1039`,msgTitle:`_msgTitle_160eo_1042`},Ar=/\[img\]\s*(\S+?)\s*\[\/img\]/gi,jr=/\.(?:gif|png|jpe?g|webp)$/i,Mr=/^\/uploads\/chat\/[0-9a-f]{32}\.(?:gif|jpg)$/i;function Nr(e,t){if(Mr.test(e))return!0;let n;try{n=new URL(e)}catch{return!1}if(n.protocol!==`http:`&&n.protocol!==`https:`||!jr.test(n.pathname))return!1;let r=n.hostname.toLowerCase();return t.some(e=>{let t=e.domain.toLowerCase();return t===`*`||r===t||e.include_subdomains&&r.endsWith(`.`+t)})}var Pr=/(?:https?:\/\/|ftps?:\/\/|\/\/)\S+/gi;function Fr(e){try{let t=/^[a-z]+:\/\//i.test(e)?e:`https://${e.replace(/^\/\//,``)}`;return new URL(t).hostname.toLowerCase()}catch{return null}}function Ir(e,t){let n=e.toLowerCase();return t.some(e=>{let t=e.domain.toLowerCase();return t===`*`||n===t||e.include_subdomains&&n.endsWith(`.`+t)})}function Lr(e,t){let n;try{let t=/^[a-z]+:\/\//i.test(e)?e:`https://${e.replace(/^\/\//,``)}`;n=new URL(t)}catch{return!1}return n.protocol!==`http:`&&n.protocol!==`https:`?!1:Ir(n.hostname,t)}function Rr(e,t){let n=e.match(Pr);if(!n)return null;for(let e of n){let n=Fr(e);if(!n||!Ir(n,t))return e}return null}var zr={overlay:`_overlay_1nz3j_1`,lbFade:`_lbFade_1nz3j_1`,img:`_img_1nz3j_19`,close:`_close_1nz3j_30`};function Br({url:e,onClose:t}){return(0,X.useEffect)(()=>{if(!e)return;let n=e=>{e.key===`Escape`&&t()};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t]),e?(0,g.jsxs)(`div`,{className:zr.overlay,onClick:t,role:`dialog`,"aria-modal":`true`,children:[(0,g.jsx)(`button`,{className:zr.close,onClick:t,"aria-label":`Fermer`,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`close`})}),(0,g.jsx)(`img`,{src:e,alt:``,className:zr.img,referrerPolicy:`no-referrer`,onClick:e=>e.stopPropagation()})]}):null}function Vr(e,t,n,r,i,a,o){let s=[],c=0,l=/(@[a-zA-Z0-9_]{1,50})|((?:https?:\/\/|ftps?:\/\/|\/\/)\S+)|(\bwww\.[a-z0-9-]{2,}\.[a-z]{2,}\S*)/gi,u;for(;(u=l.exec(e))!==null;){if(u.index>c&&s.push(e.slice(c,u.index)),u[1]){let e=u[1].slice(1).toLowerCase()===t.toLowerCase();s.push((0,g.jsx)(`span`,{className:e?`${r} ${i}`:r,children:u[1]},`${o}m${u.index}`))}else{let e=u[2]??u[3];if(Lr(e,n)){let t=/^[a-z]+:\/\//i.test(e)?e:`https://${e.replace(/^\/\//,``)}`;s.push((0,g.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,className:a,children:e},`${o}l${u.index}`))}else s.push(e)}c=u.index+u[0].length}return c<e.length&&s.push(e.slice(c)),s.length>0?(0,g.jsx)(g.Fragment,{children:s}):(0,g.jsx)(g.Fragment,{children:e})}function Hr(e,t,n,r,i,a,o,s,c){let l=[],u=0,d=0,f=new RegExp(Ar.source,`gi`),p;for(;(p=f.exec(e))!==null;){if(p.index>u&&l.push((0,g.jsx)(X.Fragment,{children:Vr(e.slice(u,p.index),t,r,i,a,o,`t${d}`)},`t${d++}`)),Nr(p[1],n)){let e=p[1];l.push((0,g.jsx)(`img`,{src:e,alt:``,className:s,loading:`lazy`,referrerPolicy:`no-referrer`,onClick:()=>c(e)},`i${d++}`))}else l.push((0,g.jsx)(X.Fragment,{children:p[0]},`r${d++}`));u=p.index+p[0].length}return u<e.length&&l.push((0,g.jsx)(X.Fragment,{children:Vr(e.slice(u),t,r,i,a,o,`t${d}`)},`t${d++}`)),l.length>0?(0,g.jsx)(g.Fragment,{children:l}):Vr(e,t,r,i,a,o,`b`)}function Ur(e,t){let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`@${n}(?![a-zA-Z0-9_])`,`i`).test(e)}function Wr(e,t){let n=e.slice(0,t),r=/@([a-zA-Z0-9_]*)$/.exec(n);return r?r[1]:null}var Gr={"trop de messages, ralentissez":`Vous écrivez trop vite, posez cette cocaïne et prenez une tisane`,"Ce message contient un mot interdit.":`Langage svp, 2€ dans le bocal à gros mots`,"non membre de cette c
78onversation":`Vous n'êtes pas membre de cette conversation`,"erreur lors de l'enregistrement du message":`Erreur serveur, réessayez`,"message en double ignoré":`Message en double, ignoré`},Kr=new Set([`Vous écrivez trop vite, posez cette cocaïne et prenez une tisane`,`Langage svp, 2€ dans le bocal à gros mots`,`Vous n'êtes pas membre de cette conversation`,`Message en double, ignoré`,`Uniquement les liens relatifs à Tr4ker sont autorisés dans le chat`,`Le HTML n'est pas autorisé dans le chat`,`Les images ne sont pas autorisées dans le chat`,`Image non autorisée (domaine non approuvé ou format autre que gif/png/jpg/webp)`]),qr=`Vous devez être actif et avoir une ancienneté`;function Jr(e){return Gr[e]||e.trim()||`Ouvrez un ticket et détaillez au mieux la situation`}function Yr(e){return Kr.has(e)||e.startsWith(qr)}var Xr=/\bwww\.[a-z0-9\-]{2,}\.[a-z]{2,}/gi,Zr=/<[a-zA-Z/!][^>]{0,200}>/,Qr=/!\[[^\]]{0,200}\]\([^)]{0,500}\)/;function $r(e,t,n){let r=e,i=new RegExp(Ar.source,`gi`),a,o=[];for(;(a=i.exec(e))!==null;)if(Nr(a[1],t))o.push(a[0]);else return`Image non autorisée (domaine non approuvé ou format autre que gif/png/jpg/webp)`;for(let e of o)r=r.replace(e,` `);let s=Rr(r,n);if(s)return`Lien non autorisé dans le chat : ${s}`;let c=r.match(Xr)??[];for(let e of c)if(!Lr(e,n))return`Lien non autorisé dans le chat : ${e}`;return Zr.test(r)?`Le HTML n'est pas autorisé dans le chat`:Qr.test(r)?`Les images markdown ne sont pas autorisées — utilisez [img]…[/img]`:null}function ei(e){let t=new Date(e),n=new Date;return t.toDateString()===n.toDateString()?t.toLocaleTimeString(`fr-FR`,{hour:`2-digit`,minute:`2-digit`}):t.toLocaleDateString(`fr-FR`,{day:`2-digit`,month:`short`,hour:`2-digit`,minute:`2-digit`})}var ti={open:`Ouvert`,in_progress:`En cours`,closed:`Fermé`,resolved:`Résolu`},ni={open:`#16a34a`,in_progress:`#f59e0b`,closed:`#6b7280`,resolved:`#8b5cf6`};function ri(e){let t=e.split(`
79`).map(e=>e.trim()).filter(Boolean),n=t[0]?.match(/─+\s+(.+?)\s+─+/),r=n?n[1]:t[0]??``,i=r.indexOf(` : `),a=i===-1?``:r.slice(0,i),o=i===-1?r:r.slice(i+3),s=[];for(let e=1;e<t.length;e++){let n=t[e].indexOf(` : `);n===-1?t[e]&&s.push({key:``,value:t[e]}):s.push({key:t[e].slice(0,n),value:t[e].slice(n+3)})}return{date:a,action:o,fields:s}}function ii({body:e}){if(!e.includes(`─`))return(0,g.jsx)(`div`,{className:$.systemMsg,children:(0,g.jsx)(`span`,{className:$.systemMsgText,children:e})});let{date:t,action:n,fields:r}=ri(e),i=n.toLowerCase(),a=i.includes(`signalement`),o=i.includes(`révision`),s=a?$.systemCardAccentReport:o?$.systemCardAccentRevision:$.systemCardAccentInfo;return(0,g.jsxs)(`div`,{className:`${$.systemCard} ${s}`,children:[(0,g.jsx)(`div`,{className:$.systemCardHead,children:(0,g.jsxs)(`div`,{className:$.systemCardHeadText,children:[(0,g.jsx)(`span`,{className:$.systemCardAction,children:n}),t&&(0,g.jsx)(`span`,{className:$.systemCardDate,children:t})]})}),r.length>0&&(0,g.jsx)(`div`,{className:$.systemCardFields,children:r.map((e,t)=>(0,g.jsxs)(`div`,{className:$.systemCardField,children:[e.key&&(0,g.jsx)(`span`,{className:$.systemCardKey,children:e.key}),(0,g.jsx)(`span`,{className:$.systemCardValue,children:e.value})]},t))})]})}function ai({convId:e,title:t,description:n,type:r,writeRoles:i,user:a,wsSend:o,onWSMessage:s,offWSMessage:c,onNavigateUser:l,onStartDM:u,ticketStatus:d,ticketTier:f,isAdmin:p,isRealAdmin:m,onCloseTicket:h,onEscalate:ee,onDelegate:te,onEditTorrent:_,onNavigateTorrent:v,onMarkFixed:y,onDisputeAbusive:b,targetMsgId:ne,blockedUsernames:x,onBlockUser:re,features:ie}){let S=!i?.length||i.includes(a.role)||a.role===`admin`||a.role===`moderator`,C=a.role===`admin`||a.role===`moderator`,ae=C&&r!==`dm`,[w,oe]=(0,X.useState)(!1),se=ie?.[`feature.chat_gifs`]!==!1||C,[T,E]=(0,X.useState)([]),[D,O]=(0,X.useState)(``),[k,ce]=(0,X.useState)(null),[A,le]=(0,X.useState)(!0),[j,ue]=(0,X.useState)(!1),[de,fe]=(0,X.useState)([]),[pe,me]=(0,X.useState)(!1),[he,ge]=(0,X.useState)(null),_e=(0,X.useRef)(ne),[ve,M]=(0,X.useState)(null),[N,ye]=(0,X.useState)(null),[be,xe]=(0,X.useState)(``),[P,Se]=(0,X.useState)(null),[Ce,we]=(0,X.useState)(null),[F,Te]=(0,X.useState)(null),I=(0,X.useCallback)(()=>Te(null),[]),[Ee,De]=(0,X.useState)([]),[Oe,ke]=(0,X.useState)([]),[Ae,je]=(0,X.useState)(0),[Me,Ne]=(0,X.useState)(null),[Pe,Fe]=(0,X.useState)(!1),[Ie,Le]=(0,X.useState)(``),[Re,ze]=(0,X.useState)(!1),Be=(0,X.useRef)(null),[L,Ve]=(0,X.useState)([]);(0,X.useEffect)(()=>{fetch(`/api/image-domains`,{credentials:`include`}).then(e=>e.ok?e.json():null).then(e=>{e?.domains&&Ve(e.domains)}).catch(()=>{})},[]);let[R,He]=(0,X.useState)([]);(0,X.useEffect)(()=>{fetch(`/api/link-domains`,{credentials:`include`}).then(e=>e.ok?e.json():null).then(e=>{e?.domains&&He(e.domains)}).catch(()=>{})},[]);let Ue=(0,X.useRef)(null),We=(0,X.useRef)(null),Ge=(0,X.useRef)(null),Ke=(0,X.useRef)(null),z=(0,X.useRef)(null),qe=(0,X.useRef)(!0),B=(0,X.useRef)(!1),V=(0,X.useRef)(null),Je=(0,X.useRef)(new Map),Ye=(0,X.useCallback)(async t=>{try{let n=t?`/api/conversations/${e}/messages?before=${t}`:`/api/conversations/${e}/messages`,r=await fetch(n);if(!r.ok)return;let i=await r.json(),a=(i.messages??[]).reverse();ue(i.has_more??!1),E(t?e=>[...a,...e]:a);let o=[...new Set(a.map(e=>
79e.sender).filter(Boolean))];De(e=>[...new Set([...e,...o])])}catch{}finally{t||le(!1)}},[e]);(0,X.useEffect)(()=>(E([]),le(!0),ue(!1),O(``),fe([]),De([]),ke([]),B.current=!1,V.current=null,Ye(),()=>{Je.current.forEach(e=>clearTimeout(e)),Je.current.clear()}),[e,Ye]);let Xe=(0,X.useCallback)(e=>{E(t=>{let n=t.findLastIndex(e=>e.id<0&&!e.failed);if(n===-1)return t;let r=[...t];return r[n]={...r[n],failed:!0,failReason:e},r})},[]),Ze=(0,X.useCallback)(e=>{Je.current.delete(e),E(t=>{let n=t.findIndex(t=>t.id===e);if(n===-1)return t;let r=[...t];return r[n]={...r[n],failed:!0,failReason:r[n].failReason??`Pas de réponse du serveur`},r})},[]),H=(0,X.useCallback)(t=>{if(!t.body||!e)return;let n=-Date.now();E(e=>e.map(e=>e.id===t.id?{...e,id:n,failed:!1,failReason:void 0}:e));let r=t.real_sender===a.username;o({type:`msg.send`,conv_id:e,body:t.body,...t.parentId?{parent_id:t.parentId}:{},...r?{as_staff:!0}:{}});let i=setTimeout(()=>Ze(n),1e4);Je.current.set(n,i)},[e,o,Ze,a.username]);(0,X.useEffect)(()=>(s(t=>{if(t.type===`chan.cleared`&&t.conv_id===e){E([]);return}if(t.type===`msg.deleted`&&t.conv_id===e){let e=t.message_id;E(t=>t.map(t=>t.id===e?{...t,deleted_at:new Date().toISOString(),body:void 0}:t.parent?.id===e?{...t,parent:{...t.parent,body:`message supprimé`}}:t));return}if(t.type===`msg.received`&&t.conv_id===e){let n=t.sender_id===a.id,r=t.sender===`Membre du staff`,i={id:t.id,sender_id:t.sender_id,sender:t.sender,sender_role:t.sender_role,avatar_url:t.avatar_url,featured_badges:t.featured_badges,sender_title:t.sender_title,body:t.body,content_type:t.content_type||`text`,created_at:t.at,parent:t.parent},s=t.sender;s&&De(e=>e.includes(s)?e:[...e,s]),E(e=>{let o=e.findLastIndex(e=>e.id<0&&!e.failed&&e.body===t.body&&(n||r&&e.real_sender===a.username));if(o!==-1){let t=e[o].id,n=Je.current.get(t);n&&(clearTimeout(n),Je.current.delete(t));let r=[...e];return r[o]={...i,real_sender:e[o].real_sender??i.real_sender},r}return[...e,i]}),fe(e=>e.filter(e=>e!==t.sender)),o({type:`read`,conv_id:e})}if(t.type===`error`&&Xe(Jr(t.message??``)),t.type===`typing`&&t.conv_id===e&&t.user!==a.username&&(fe(e=>e.includes(t.user)?e:[...e,t.user]),setTimeout(()=>fe(e=>e.filter(e=>e!==t.user)),3e3)),t.type===`reaction.updated`){let e=t.message_id,n=t.counts,r=t.users;E(t=>t.map(t=>t.id===e?{...t,reactions:n,...r?{reaction_users:r}:{}}:t))}if(t.type===`msg.edited`){let e=t.message_id;E(n=>n.map(n=>n.id===e?{...n,body:t.body,edited_at:t.edited_at}:n)),ye(t=>t===e?null:t)}}),()=>c()),[e,o,s,c,a.username,Xe]);let U=(0,X.useRef)(!1);(0,X.useLayoutEffect)(()=>{if(A)return;let e=_e.current;if(e){let t=Ue.current?.querySelector(`[data-msg-id="${e}"]`);if(t){t.scrollIntoView({block:`center`}),ge(e),setTimeout(()=>ge(null),2500),U.current=!0;return}}let t=Ue.current;t&&(t.scrollTop=t.scrollHeight)},[A]);let Qe=T[T.length-1]?.id;(0,X.useLayoutEffect)(()=>{if(!A){if(U.current){U.current=!1;return}if(qe.current){let e=Ue.current;e&&(e.scrollTop=e.scrollHeight)}}},[Qe,A]);let $e=T[0]?.id;(0,X.useLayoutEffect)(()=>{if(V.current===null)return;let e=Ue.current;e&&(e.scrollTop=e.scrollHeight-V.current),V.current=null,B.current=!1},[$e]);let W=(0,X.useCallback)(()=>{let e=Ue.current;e&&(qe.current=e.scrollHeight-e.scrollTop-e.clientHeight<80,e.scrollTop<60&&j&&T.length>0&&!B.current&&(B.current=!0,V.current=e.scrollHeight,Ye(T[0].id)))},[j,T,Ye]),et=(0,X.useCallback)(t=>{let n=(t??D).trim();if(!n||pe)return;let r=$r(n,L,R);if(r){ce(r);return}let i=ae&&w,s=-Date.now(),c={id:s,sender_id:i?void 0:a.id,sender:i?`Membre du staff`:a.username,sender_role:i?`moderator`:void 0,avatar_url:i?void 0:a.avatar_url??void 0,body:n,content_type:`text`,created_at:new Date().toISOString(),parentId:P?.id,real_sender:i?a.username:void 0};E(e=>[...e,c]),o({type:`msg.send`,conv_id:e,body:n,...P?{parent_id:P.id}:{},...i?{as_staff:!0}:{}}),O(``),Se(null),z.current&&clearTimeout(z.current);let l=setTimeout(()=>Ze(s),1e4);Je.current.set(s,l)},[D,pe,o,e,a.id,a.username,a.avatar_url,Ze,P,ae,w]),tt=(0,X.useCallback)(e=>{let t=We.current,n=t?.selectionStart??D.length,r=D.slice(0,n),i=D.slice(n),a=r.replace(/@([a-zA-Z0-9_]*)$/,`@${e} `),o=a+i;O(o),ce($r(o,L,R)),ke([]),requestAnimationFrame(()=>{t&&(t.focus(),t.selectionStart=t.selectionEnd=a.length)})},[D]),G=(0,X.useCallback)(e=>{if(Oe.length>0){if(e.key===`ArrowDown`){e.preventDefault(),je(e=>Math.min(e+1,Oe.length-1));return}if(e.key===`ArrowUp`){e.preventDefault(),je(e=>Math.max(e-1,0));return}if(e.key===`Tab`||e.key===`Enter`){e.preventDefault(),tt(Oe[Ae]);return}if(e.key===`Escape`){ke([]);return}}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),et())},[et,Oe,Ae,tt]),nt=(0,X.useCallback)(t=>{let n=t.target.value,r=t.target.selectionStart??n.length;O(n),ce($r(n,L,R)),o({type:`typing.start`,conv_id:e,...ae&&w?{as_staff:!0}:{}}),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{o({type:`typing.stop`,conv_id:e})},2500);let i=Wr(n,r);i===null?ke([]):(ke(Ee.filter(e=>e.toLowerCase().startsWith(i.toLowerCase())).slice(0,6)),je(0))},[o,e,Ee,ae,w]),rt=(0,X.useCallback)(e=>{Se(e),ye(null),requestAnimationFrame(()=>We.current?.focus())},[]),it=(0,X.useCallback)(e=>{ye(e.id),xe(e.body??``),M(null),requestAnimationFrame(()=>{let e=Ke.current;e&&(e.focus(),e.selectionStart=e.selectionEnd=e.value.length)})},[]),at=(0,X.useCallback)(()=>{ye(null),xe(``)},[]),ot=(0,X.useCallback)(()=>
79{if(!N)return;let e=be.trim();if(!e){we(N),ye(null),xe(``);return}$r(e,L,R)||(o({type:`msg.edit`,message_id:N,body:e}),E(t=>t.map(t=>t.id===N?{...t,body:e,edited_at:new Date().toISOString()}:t)),ye(null),xe(``))},[be,N,o]),st=(0,X.useCallback)(e=>{we(null),fetch(`/api/messages/${e}`,{method:`DELETE`,credentials:`include`}).catch(()=>{}),E(t=>t.map(t=>t.id===e?{...t,deleted_at:new Date().toISOString(),body:void 0}:t.parent?.id===e?{...t,parent:{...t.parent,body:`message supprimé`}}:t))},[]),ct=(0,X.useCallback)(e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),ot()),e.key===`Escape`&&(e.preventDefault(),at())},[ot,at]),lt=(0,X.useCallback)((e,t)=>{let n=qe.current;E(n=>n.map(n=>{if(n.id!==e)return n;let r=n.my_reactions?.includes(t)??!1,i=(n.reactions?.[t]??0)+(r?-1:1),s={...n.reactions??{}};i<=0?delete s[t]:s[t]=i;let c=r?(n.my_reactions??[]).filter(e=>e!==t):[...n.my_reactions??[],t],l={...n.reaction_users??{}};return r?(l[t]=(l[t]??[]).filter(e=>e!==a.username),(l[t]??[]).length===0&&delete l[t]):l[t]=[...l[t]??[],a.username],o({type:r?`reaction.remove`:`reaction.add`,message_id:e,emoji:t}),{...n,reactions:s,my_reactions:c,reaction_users:l}})),n&&requestAnimationFrame(()=>{let e=Ue.current;e&&(e.scrollTop=e.scrollHeight)})},[o,a.username]),ut=(0,X.useCallback)(e=>{if(ve===`input`){let t=We.current;if(t){let n=t.selectionStart??D.length,r=t.selectionEnd??D.length,i=D.slice(0,n)+e+D.slice(r);O(i),ce($r(i,L,R)),requestAnimationFrame(()=>{t.focus(),t.selectionStart=t.selectionEnd=n+e.length})}else O(t=>t+e)}else typeof ve==`number`&&lt(ve,e);M(null)},[ve,D,lt]),dt=(0,X.useCallback)(e=>{let t=`[img]${e}[/img]`,n=We.current,r=n?.selectionStart??D.length,i=n?.selectionEnd??D.length,a=D.slice(0,r)+t+D.slice(i);O(a),ce($r(a,L,R)),requestAnimationFrame(()=>{n&&(n.focus(),n.selectionStart=n.selectionEnd=r+t.length)})},[D,L,R]),ft=(0,X.useCallback)(()=>{let e=Ie.trim();e&&(dt(e),Le(``),Fe(!1))},[Ie,dt]),[pt,mt]=(0,X.useState)(!1),ht=(0,X.useId)(),gt=(0,X.useCallback)(async e=>{let t=e.target.files?.[0];if(e.target.value=``,t){mt(!0),Fe(!1);try{let e=new FormData;e.append(`image`,t);let n=await fetch(`/api/chat/upload-image`,{method:`POST`,credentials:`include`,body:e});if(!n.ok){ce((await n.json().catch(()=>({})))?.error??`Erreur lors de l'envoi de l'image`);return}let{url:r}=await n.json();if(r){let e=`[img]${r}[/img]`,t=D.trim();et(t?`${t}\n${e}`:e)}}catch{ce(`Erreur lors de l'envoi de l'image`)}finally{mt(!1)}}},[D,et]),_t=r===`ticket`&&(d===`closed`||d===`resolved`),vt=x?.size?T.filter(e=>!e.sender||!x.has(e.sender.toLowerCase())):T,yt=x?.size?de.filter(e=>!x.has(e.toLowerCase())):de;return(0,g.jsxs)(`div`,{className:$.window,children:[(0,g.jsxs)(`div`,{className:$.header,children:[(0,g.jsxs)(`div`,{className:$.headerLeft,children:[r!==`ticket`&&(0,g.jsx)(`span`,{className:`material-symbols-outlined ${$.convIcon}`,children:r===`channel`?`tag`:`chat`}),(0,g.jsxs)(`div`,{className:$.convTitleGroup,children:[(0,g.jsxs)(`div`,{className:$.convTitleRow,children:[(0,g.jsx)(`span`,{className:$.convTitle,children:t}),v&&(0,g.jsxs)(`button`,{className:$.navigateTorrentBtn,onClick:v,title:`Voir la page du torrent`,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`arrow_outward`}),`Voir`]})]}),n&&r!==`moderation`&&(0,g.jsx)(`span`,{className:$.convDescription,children:n})]}),r===`ticket`&&d&&(0,g.jsx)(`span`,{className:$.statusBadge,style:{color:ni[d]??`#888`,borderColor:ni[d]??`#888`},children:ti[d]??d})]}),r===`ticket`&&p&&!_t&&(0,g.jsxs)(`div`,{className:$.ticketToolbar,children:[ee&&f!==`admin`&&(0,g.jsxs)(`button`,{className:$.escalateBtn,onClick:ee,title:`Escalader vers un administrateur`,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`arrow_upward`}),`Escalader`]}),m&&te&&f===`admin`&&(0,g.jsxs)(`button`,{className:$.escalateBtn,onClick:te,title:`Déléguer à un modérateur`,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`arrow_downward`}),`Déléguer`]}),(0,g.jsxs)(`button`,{className:$.closeTicketBtn,onClick:h,title:`Fermer le ticket`,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`check_circle`}),`Résoudre`]})]}),(_||y||b)&&(0,g.jsxs)(`div`,{className:$.reportActionBtns,children:[_&&(0,g.jsxs)(`button`,{className:$.editTorrentBtn,onClick:_,title:`Modifier le torrent`,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`edit`}),`Modifier`]}),y&&(0,g.jsxs)(`button`,{className:$.reportActionBtn,onClick:y,title:`J'ai corrigé le problème`,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`check_circle`}),`J'ai corrigé`]}),b&&(0,g.jsxs)(`button`,{className:$.reportActionBtn,onClick:b,title:`Contester comme signalement abusif`,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`gavel`}),`Contester`]})]})]}),(0,g.jsxs)(`div`,{className:$.messageList,ref:Ue,onScroll:W,children:[j&&(0,g.jsx)(`button`,{className:$.loadMore,onClick:()=>{B.current||!T[0]||(B.current=!0,V.current=Ue.current?.scrollHeight??null,Ye(T[0].id))},children:`Charger plus`}),A?(0,g.jsx)(`div`,{className:$.loading,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`hourglass_empty`})}):vt.length===0?(0,g.jsxs)(`div`,{className:$.emptyChat,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`chat_bubble_outline`}),(0,g.jsx)(`span`,{children:`Aucun message pour l'instant. Soyez le premier !`})]}):vt.map((e,t)=>
79{let n=e.sender_id===a.id,r=(t>0?vt[t-1].sender_id:null)===e.sender_id;if(e.content_type===`system`)return(0,g.jsx)(ii,{body:e.body??``},e.id);let i=!e.deleted_at&&!!e.body&&Ur(e.body,a.username);return(0,g.jsxs)(`div`,{"data-msg-id":e.id,className:`${$.msgRow} ${n?$.own:``} ${r?$.grouped:``} ${i?$.mentionedRow:``} ${he===e.id?$.msgHighlight:``}`,children:[!r&&(0,g.jsx)(`button`,{className:$.msgAvatar,onClick:()=>e.sender&&l?.(e.sender),"aria-label":`Profil de ${e.sender}`,title:e.sender,children:e.avatar_url?(0,g.jsx)(`img`,{src:e.avatar_url,alt:``,className:$.msgAvatarImg}):e.sender?.[0]?.toUpperCase()??`?`}),r&&(0,g.jsx)(`div`,{className:$.msgAvatarSpacer}),(0,g.jsxs)(`div`,{className:$.msgContent,children:[!r&&(0,g.jsxs)(`div`,{className:$.msgMeta,children:[(0,g.jsx)(`button`,{className:$.msgSender,style:{color:e.sender_role?yr[e.sender_role]??void 0:void 0},onClick:()=>{if(!e.sender)return;let t=`@${e.sender} `;O(e=>e.endsWith(` `)||e===``?e+t:e+` `+t),requestAnimationFrame(()=>We.current?.focus())},onContextMenu:t=>{!e.sender||e.sender_id===a.id||(t.preventDefault(),Te({x:t.clientX,y:t.clientY,username:e.sender}))},children:e.sender??`Inconnu`}),e.sender_title&&(0,g.jsx)(`span`,{className:$.msgTitle,style:{color:e.sender_role?yr[e.sender_role]??void 0:void 0},title:e.sender_title,children:e.sender_title}),e.featured_badges&&e.featured_badges.length>0&&(0,g.jsx)(`span`,{className:$.msgBadges,children:e.featured_badges.slice(0,3).map((e,t)=>(0,g.jsx)(`img`,{src:e.img,alt:e.name,title:e.name,className:$.msgBadgeImg},t))}),e.real_sender&&(0,g.jsxs)(`span`,{className:$.msgRealSender,title:`Auteur réel — visible uniquement par le staff`,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`visibility`}),e.real_sender]}),(0,g.jsx)(`span`,{className:$.msgTime,children:ei(e.created_at)})]}),e.parent&&(0,g.jsxs)(`div`,{className:$.quote,children:[(0,g.jsx)(`span`,{className:$.quoteArrow,children:`→`}),` `,`réponse à`,` `,(0,g.jsxs)(`span`,{className:$.quoteAuthor,children:[`@`,e.parent.sender]}),` `,`: `,(0,g.jsx)(`span`,{className:$.quoteBody,children:e.parent.body})]}),N===e.id?(0,g.jsxs)(`div`,{className:$.editBox,children:[(0,g.jsx)(`textarea`,{ref:Ke,className:$.editTextarea,value:be,onChange:e=>xe(e.target.value),onKeyDown:ct,rows:1,maxLength:4e3}),(0,g.jsxs)(`div`,{className:$.editHint,children:[(0,g.jsx)(`span`,{children:`Entrée pour confirmer`}),(0,g.jsx)(`span`,{children:`·`}),(0,g.jsx)(`button`,{className:$.editCancelBtn,onClick:at,children:`Annuler`})]})]}):(0,g.jsx)(`div`,{className:`${$.msgBubble} ${e.deleted_at?$.deleted:``} ${e.failed?$.failedBubble:``}`,children:e.deleted_at?(0,g.jsx)(`em`,{children:`Message supprimé`}):Hr(e.body??``,a.username,L,R,$.mention,$.mentionSelf,$.chatLink,$.chatImg,Ne)}),e.edited_at&&!e.deleted_at&&N!==e.id&&(0,g.jsx)(`span`,{className:$.edited,children:`(modifié)`}),e.failed&&(0,g.jsxs)(`div`,{className:$.failedNotice,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`error`}),e.failReason??`Échec de l'envoi`,e.id<0&&!Yr(e.failReason??``)&&(0,g.jsx)(`button`,{className:$.retryBtn,onClick:()=>H(e),title:`Réessayer`,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`refresh`})})]}),e.reactions&&(0,g.jsx)(ur,{reactions:e.reactions,reactionUsers:e.reaction_users,myReactions:e.my_reactions,onToggle:t=>lt(e.id,t)}),!e.deleted_at&&N!==e.id&&e.id>0&&(0,g.jsx)(Dr,{canDelete:p,canEdit:n,onDelete:()=>we(e.id),onReply:()=>rt(e),onEdit:()=>it(e),onBlock:re&&e.sender&&!n?()=>re(e.sender):void 0,onReact:t=>lt(e.id,t),pickerOpen:ve===e.id,onTogglePicker:()=>M(t=>t===e.id?null:e.id),onClosePicker:()=>M(null)})]})]},e.id)})]}),(0,g.jsx)(`div`,{className:$.typing,children:yt.length>0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`span`,{className:$.typingDots,children:[(0,g.jsx)(`span`,{}),(0,g.jsx)(`span`,{}),(0,g.jsx)(`span`,{})]}),(0,g.jsxs)(`span`,{children:[yt.join(`, `),` `,yt.length>1?`écrivent`:`écrit`,`…`]})]})}),_t?(0,g.jsxs)(`div`,{className:$.closedNotice,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`lock`}),`Ce ticket est fermé`]}):(0,g.jsxs)(`div`,{className:$.inputWrapper,children:[P&&(0,g.jsxs)(`div`,{className:$.replyBar,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined ${$.replyBarIcon}`,children:`reply`}),(0,g.jsxs)(`span`,{className:$.replyBarText,children:[`Répondre à `,(0,g.jsxs)(`strong`,{children:[`@`,P.sender]}),P.body&&(0,g.jsxs)(`span`,{className:$.replyBarPreview,children:[` `,`· `,P.body.length>60?P.body.slice(0,60)+`…`:P.body]})]}),(0,g.jsx)(`button`,{className:$.replyBarDismiss,onClick:()=>Se(null),title:`Annuler la réponse`,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`close`})})]}
79),k&&(0,g.jsxs)(`div`,{className:$.inputError,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`block`}),k]}),ae&&S&&(0,g.jsxs)(`label`,{className:$.staffToggle,children:[(0,g.jsx)(`input`,{type:`checkbox`,checked:w,onChange:e=>oe(e.target.checked)}),(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`shield_person`}),`Répondre en tant que `,(0,g.jsx)(`strong`,{children:`Membre du staff`}),w&&(0,g.jsx)(`span`,{className:$.staffToggleHint,children:`· votre identité est masquée`})]}),(0,g.jsxs)(`div`,{className:$.inputArea,children:[Oe.length>0&&(0,g.jsx)(`div`,{className:$.mentionDropdown,children:Oe.map((e,t)=>(0,g.jsxs)(`button`,{className:`${$.mentionItem} ${t===Ae?$.mentionItemActive:``}`,onMouseDown:t=>{t.preventDefault(),tt(e)},children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`alternate_email`}),e]},e))}),S?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:$.inputField,children:[(0,g.jsx)(`textarea`,{ref:We,className:`${$.input} ${k?$.inputInvalid:``}`,placeholder:`Message dans ${r===`channel`?`#`:``}${t}…`,value:D,onChange:nt,onKeyDown:G,rows:1,maxLength:4e3}),(0,g.jsxs)(`div`,{className:$.emojiTriggerWrap,children:[(0,g.jsx)(`label`,{htmlFor:ht,className:`${$.emojiInputBtn} ${pt?$.emojiInputBtnDisabled:``}`,title:`Envoyer une image`,"aria-label":`Envoyer une image`,tabIndex:-1,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:pt?`hourglass_top`:`upload`})}),(0,g.jsx)(`input`,{id:ht,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,style:{display:`none`},onChange:gt,disabled:pt})]}),(0,g.jsxs)(`div`,{className:$.emojiTriggerWrap,children:[(0,g.jsx)(`button`,{className:$.emojiInputBtn,onClick:()=>{Fe(e=>!e),M(null),ze(!1)},title:`Insérer une image par URL`,"aria-label":`Insérer une image par URL`,tabIndex:-1,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`link`})}),Pe&&(0,g.jsxs)(`div`,{className:$.imgPopover,children:[(0,g.jsx)(`input`,{className:$.imgPopoverInput,type:`url`,placeholder:`https://…/image.png`,value:Ie,onChange:e=>Le(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),ft()),e.key===`Escape`&&(Fe(!1),Le(``))},autoFocus:!0}),(0,g.jsx)(`button`,{className:$.imgPopoverAdd,onClick:ft,disabled:!Ie.trim(),children:`Ajouter`})]})]}),se&&(0,g.jsxs)(`div`,{className:$.emojiTriggerWrap,children:[(0,g.jsx)(`button`,{ref:Be,className:$.emojiInputBtn,onClick:()=>{ze(e=>!e),Fe(!1),M(null)},title:`Insérer un GIF`,"aria-label":`Insérer un GIF`,tabIndex:-1,children:(0,g.jsx)(`span`,{className:$.gifBtnLabel,children:`GIF`})}),Re&&(0,g.jsx)(Tr,{anchorRef:Be,onPick:dt,onClose:()=>ze(!1)})]}),(0,g.jsxs)(`div`,{className:$.emojiTriggerWrap,children:[(0,g.jsx)(`button`,{ref:Ge,className:$.emojiInputBtn,onClick:()=>{M(e=>e===`input`?null:`input`),Fe(!1),ze(!1)},title:`Insérer un emoji`,"aria-label":`Choisir un emoji`,tabIndex:-1,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`emoji_emotions`})}),ve===`input`&&(0,g.jsx)(vr,{anchorRef:Ge,onPick:ut,onClose:()=>M(null)})]})]}),(0,g.jsx)(`button`,{className:$.sendBtn,onClick:()=>et(),disabled:!D.trim()||pe||!!k,"aria-label":`Envoyer`,children:(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`send`})})]}):(0,g.jsx)(`div`,{className:$.writeLockedMsg,children:`Vous n'avez pas la permission d'écrire dans ce canal.`})]}),D.length>3600&&(0,g.jsxs)(`div`,{className:$.charCount,style:{color:D.length>=4e3?`#ef4444`:`#f59e0b`},children:[D.length,` / 4000`]})]}),F&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:$.ctxBackdrop,onClick:I,onContextMenu:e=>{e.preventDefault(),I()}}),(0,g.jsxs)(`div`,{className:$.ctxMenu,style:{top:F.y,left:F.x+144>window.innerWidth?F.x-144:F.x+4},children:[(0,g.jsxs)(`button`,{className:$.ctxItem,onClick:()=>{u?.(F.username),I()},children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`chat`}),`DM `,F.username]}),re&&(0,g.jsxs)(`button`,{className:`${$.ctxItem} ${$.ctxItemDanger}`,onClick:()=>{re(F.username),I()},children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined`,children:`block`}),`Bloquer `,F.username]})]})]}),Ce!==null&&(0,g.jsx)(kr,{onConfirm:()=>st(Ce),onCancel:()=>we(null)}),(0,g.jsx)(Br,{url:Me,onClose:()=>Ne(null)})]})}var oi={state:`_state_k9byb_1`,"material-symbols-outlined":`_material-symbols-outlined_k9byb_13`,spin:`_spin_k9byb_20`};function si({icon:e,loading:t,children:n}){let r=t?`hourglass_top`:e??`inbox`;return(0,g.jsxs)(`div`,{className:oi.state,role:t?`status`:void 0,"aria-live":t?`polite`:void 0,children:[(0,g.jsx)(`span`,{className:`material-symbols-outlined ${t?oi.spin:``}`,children:r}),(0,g.jsx)(`span`,{children:n})]})}export{u as A,Cn as C,ee as D,G as E,c as M,h as O,En as S,it as T,Wn as _,Rr as a,Tn as b,Nr as c,xr as d,Sr as f,ar as g,sr as h,Pr as i,o as j,f as k,kr as l,ur as m,ai as n,Lr as o,vr as p,Br as r,Ar as s,si as t,Dr as u,Gn as v,ht as w,Dn as x,Kn as y};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.