recker 1.0.78 → 1.0.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.iife.min.js +24 -24
- package/dist/browser/index.min.js +33 -33
- package/dist/browser/index.umd.min.js +24 -24
- package/dist/browser/seo/analyzer.d.ts +1 -0
- package/dist/browser/seo/analyzer.js +46 -4
- package/dist/browser/seo/formatter.js +20 -2
- package/dist/browser/seo/types.d.ts +7 -0
- package/dist/cli/commands/seo-runner.d.ts +2 -0
- package/dist/cli/commands/seo-runner.js +4 -0
- package/dist/cli/handlers/seo.js +6 -0
- package/dist/cli/tui/components/rich-response.d.ts +2 -0
- package/dist/cli/tui/components/rich-response.js +1 -1
- package/dist/seo/analyzer.d.ts +1 -0
- package/dist/seo/analyzer.js +46 -4
- package/dist/seo/formatter.js +20 -2
- package/dist/seo/types.d.ts +7 -0
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* https://github.com/forattini-dev/recker
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
7
|
-
"use strict";var recker=(()=>{var Qp=Object.create;var vn=Object.defineProperty;var Yp=Object.getOwnPropertyDescriptor;var Zp=Object.getOwnPropertyNames;var em=Object.getPrototypeOf,tm=Object.prototype.hasOwnProperty;var rm=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var T=(t,e)=>()=>(t&&(e=t(t=0)),e);var Ws=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ve=(t,e)=>{for(var r in e)vn(t,r,{get:e[r],enumerable:!0})},Vs=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Zp(e))!tm.call(t,i)&&i!==r&&vn(t,i,{get:()=>e[i],enumerable:!(n=Yp(e,i))||n.enumerable});return t};var Qe=(t,e,r)=>(r=t!=null?Qp(em(t)):{},Vs(e||!t||!t.__esModule?vn(r,"default",{value:t,enumerable:!0}):r,t)),nm=t=>Vs(vn({},"__esModule",{value:!0}),t);function im(t){return["NO_ERROR","INTERNAL_ERROR","REFUSED_STREAM","ENHANCE_YOUR_CALM","CANCEL"].includes(t)}function om(t){return["HTTP_1_1_REQUIRED","INADEQUATE_SECURITY","PROTOCOL_ERROR","COMPRESSION_ERROR"].includes(t)}function am(t,e){let r=[];switch(t){case"ENHANCE_YOUR_CALM":r.push("Server is rate limiting. Implement exponential backoff."),r.push("Reduce concurrent requests to this origin.");break;case"REFUSED_STREAM":r.push("Server is overloaded. Retry with backoff."),r.push("Consider reducing max concurrent streams.");break;case"FLOW_CONTROL_ERROR":r.push("Reduce initial window size in HTTP/2 settings."),r.push("Server may not handle large uploads well over HTTP/2.");break;case"HTTP_1_1_REQUIRED":r.push("Server requires HTTP/1.1 for this request."),r.push("Disable HTTP/2 for this origin.");break;case"INADEQUATE_SECURITY":r.push("Upgrade TLS configuration or use HTTP/1.1.");break;case"GOAWAY":r.push("Server is shutting down connection. Retry is safe.");break;default:r.push("Check server logs for details.")}return e&&r.push("Consider disabling HTTP/2 for this origin with { http2: false }."),r}function wn(t){let e=t.message||"",r=t.code||"";if(e.includes("GOAWAY")||r.includes("GOAWAY"))return new Et("Server sent GOAWAY frame, closing connection","NO_ERROR",{level:"session"});if(e.includes("RST_STREAM")||r.includes("RST_STREAM")){let i=e.match(/RST_STREAM.*code[:\s]+(\w+)/i),o=(i==null?void 0:i[1])||"CANCEL";return new Et(`Stream was reset: ${o}`,o,{level:"stream"})}let n=["PROTOCOL_ERROR","INTERNAL_ERROR","FLOW_CONTROL_ERROR","SETTINGS_TIMEOUT","STREAM_CLOSED","FRAME_SIZE_ERROR","REFUSED_STREAM","CANCEL","COMPRESSION_ERROR","CONNECT_ERROR","ENHANCE_YOUR_CALM","INADEQUATE_SECURITY","HTTP_1_1_REQUIRED"];for(let i of n)if(e.includes(i)||r.includes(i))return new Et(`HTTP/2 error: ${i}`,i,{level:e.includes("session")?"session":"stream"});if(r.startsWith("ERR_HTTP2_")){let i=r.replace("ERR_HTTP2_","");return new Et(e||`HTTP/2 error: ${i}`,i,{level:"session"})}return null}function xn(t){var s;if(t instanceof $&&t.classification)return t.classification;if(!t||typeof t!="object")return;let e=t,r=e.name||"",n=e.message||"",i=(s=e.code)==null?void 0:s.toUpperCase();if(r==="AbortError"||i==="ABORT_ERR"||i==="UND_ERR_ABORTED"||n.includes("aborted")||n.includes("AbortError"))return{category:"queue",source:"client",severity:"low",canRetry:!0,reason:"Request was aborted"};if(r==="TimeoutError"||i==="UND_ERR_CONNECT_TIMEOUT"||i==="UND_ERR_HEADERS_TIMEOUT"||i==="UND_ERR_BODY_TIMEOUT"||n.includes("timeout"))return{category:"timeout",source:"transport",severity:"medium",canRetry:!0,reason:n||"Request timed out"};if(i&&new Set(["ECONNRESET","ECONNREFUSED","ENOTFOUND","EPIPE","ETIMEDOUT","EHOSTUNREACH","ENETUNREACH","ENETDOWN","EAI_AGAIN"]).has(i))return{category:"network",source:"transport",severity:"medium",canRetry:!0,reason:n||`Network error (${i})`};if(r==="Http2Error"||n.includes("HTTP/2")||n.includes("RST_STREAM")||n.includes("GOAWAY"))return{category:"protocol",source:"transport",severity:"medium",canRetry:!0,reason:n||"HTTP/2 protocol error"};if(r==="MaxSizeExceededError"||r==="ParseError")return{category:"resource",source:"server",severity:"low",canRetry:!1,reason:n||"Resource limitation"};if(r==="ConfigurationError"||r==="ValidationError"||r==="StateError")return{category:"state",source:"client",severity:"high",canRetry:!1,reason:n||"Request cannot be retried"}}function sm(t){return[408,425,429,500,502,503,504].includes(t)}var $,We,V,qe,Et,ft,co,Tr,uo,lo,po,Ar,Cr,Le,me,mo,$e,ae,fo,G=T(()=>{"use strict";$=class extends Error{request;response;suggestions;retriable;classification;constructor(e,r,n,i=[],o=!1,s){super(e),this.name="ReckerError",this.request=r,this.response=n,this.suggestions=i,this.retriable=o,this.classification=s}},We=class extends ${status;statusText;constructor(e,r){let n=sm(e.status);super(`Request failed with status code ${e.status} ${e.statusText}`,r,e,["Check the upstream service response body for error details.","Inspect request headers/body to ensure they match the API contract.","Retry if this is a transient 5xx/429 error."],n,{category:"http",source:"server",severity:e.status>=500?"high":"medium",canRetry:n,reason:`HTTP ${e.status}`,statusCode:e.status}),this.name="HttpError",this.status=e.status,this.statusText=e.statusText}},V=class extends ${phase;timeout;elapsed;event;constructor(e,r){let n=(r==null?void 0:r.phase)||"request",i=r==null?void 0:r.timeout,o=r==null?void 0:r.elapsed,c={lookup:"DNS lookup timed out",connect:"TCP connection timed out",secureConnect:"TLS handshake timed out",socket:"Socket assignment timed out (connection pool exhausted)",send:"Request body upload timed out",response:"Waiting for response timed out (TTFB)",request:"Request timed out (total time exceeded)","webrtc-connect":"WebRTC peer connection timed out"}[n];i!==void 0&&(c+=` after ${i}ms`),o!==void 0&&o!==i&&(c+=` (elapsed: ${Math.round(o)}ms)`);let u=["Verify network connectivity and DNS resolution for the target host.","Increase the specific timeout phase or optimize the upstream response time.","Reduce concurrent requests if the connection pool is exhausted."];super(c,e,void 0,u,!0,{category:"timeout",source:"transport",severity:"medium",canRetry:!0,reason:`Timeout while ${n}`}),this.name="TimeoutError",this.phase=n,this.timeout=i??0,this.elapsed=o,this.event=`timeout:${n}`}},qe=class extends ${code;constructor(e,r,n){let i=["Confirm the host and port are reachable from this environment.","Check proxy/VPN/firewall settings that might block the request.","Retry the request or switch transport if this is transient."];super(e,n,void 0,i,!0,{category:"network",source:"transport",severity:r?"medium":"low",canRetry:!0,reason:r?`Network error (${r})`:e}),this.name="NetworkError",this.code=r}},Et=class extends ${errorCode;level;streamId;suggestFallback;constructor(e,r,n={}){let i=im(r),o=om(r),s=am(r,o);super(e,n.request,void 0,s,i,{category:"protocol",source:"transport",severity:i?"medium":"high",canRetry:i,reason:`HTTP/2 ${r}`,statusCode:r&&Number.parseInt(String(r),10)||void 0}),this.name="Http2Error",this.errorCode=r,this.level=n.level??"stream",this.streamId=n.streamId,this.suggestFallback=o}};ft=class extends ${maxSize;actualSize;constructor(e,r,n){let i=r?`${r} bytes (max: ${e} bytes)`:`${e} bytes`;super(`Response size exceeded maximum allowed: ${i}`,n,void 0,["Increase maxResponseSize if the larger payload is expected.","Add pagination/streaming to reduce payload size.","Ensure the upstream is not returning unexpected large responses."],!1,{category:"resource",source:"server",severity:"medium",canRetry:!1,reason:"Response size exceeded configured max"}),this.name="MaxSizeExceededError",this.maxSize=e,this.actualSize=r}};co=class extends ${reason;constructor(e,r){super(e||"Request was aborted",r,void 0,["Check if the abort was intentional (user-triggered or timeout).","Increase timeout if the request needs more time to complete.","Ensure AbortController is not being triggered prematurely."],!0,{category:"timeout",source:"client",severity:"low",canRetry:!0,reason:e?`Request was aborted: ${e}`:"Request was aborted"}),this.name="AbortError",this.reason=e}},Tr=class extends ${host;port;code;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Verify the host and port are correct and the service is running.","Check network connectivity and firewall rules.","Ensure the service is accepting connections on the specified port."],(r==null?void 0:r.retriable)??!0,{category:"network",source:"transport",severity:(r==null?void 0:r.retriable)===!1?"high":"medium",canRetry:(r==null?void 0:r.retriable)??!0,reason:r!=null&&r.code?`Connection error (${r.code})`:"Connection error"}),this.name="ConnectionError",this.host=r==null?void 0:r.host,this.port=r==null?void 0:r.port,this.code=r==null?void 0:r.code}},uo=class extends ${authType;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Verify credentials (username/password, API key, or certificate).","Check if the account is active and has proper permissions.","Ensure the authentication method matches what the server expects."],!1),this.name="AuthenticationError",this.authType=r==null?void 0:r.authType}},lo=class extends ${protocol;code;phase;constructor(e,r){let i={ftp:["Ensure the FTP server is running and accessible.","Check file/directory permissions on the server.","Verify the path exists and is correct."],sftp:["Verify SSH credentials and key permissions.","Check that the SFTP subsystem is enabled on the server.","Ensure the target path exists and is accessible."],telnet:["Verify the Telnet service is running on the target host.","Check login credentials and terminal settings.","Ensure the expected prompts match the server output."],udp:["UDP is connectionless - verify the target is listening.","Check firewall rules for UDP traffic.","Ensure the message format matches what the server expects."],webrtc:["Verify the signaling server is reachable.","Check ICE server configuration (STUN/TURN).","Ensure both peers have compatible codecs and capabilities."],dns:["Verify the DNS server is reachable.","Check if the domain exists and has the requested record type.","Try an alternative DNS resolver."],tls:["Verify the certificate is valid and not expired.","Check that the hostname matches the certificate.","Ensure TLS version and cipher suites are compatible."]}[r.protocol.toLowerCase()]||["Check the protocol-specific documentation.","Verify the server supports the requested operation.","Review the error code for specific guidance."];super(e,r.request,void 0,i,r.retriable??!1),this.name="ProtocolError",this.protocol=r.protocol,this.code=r.code,this.phase=r.phase}},po=class extends ${resource;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Verify the resource path or identifier is correct.","Check if the resource was deleted or moved.","Ensure you have permission to access this resource."],!1),this.name="NotFoundError",this.resource=r==null?void 0:r.resource}},Ar=class extends ${expectedState;actualState;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Ensure the required setup/initialization step was performed.","Check that operations are called in the correct order.","Verify the connection or resource is still valid."],!1),this.name="StateError",this.expectedState=r==null?void 0:r.expectedState,this.actualState=r==null?void 0:r.actualState}},Cr=class extends ${field;value;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Check the input format and constraints.","Refer to the API documentation for valid values.","Ensure required fields are provided."],!1),this.name="ValidationError",this.field=r==null?void 0:r.field,this.value=r==null?void 0:r.value}},Le=class extends ${configKey;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Check the configuration file or environment variables.","Ensure all required configuration keys are set.","Verify the configuration values are in the correct format."],!1),this.name="ConfigurationError",this.configKey=r==null?void 0:r.configKey}},me=class extends ${feature;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Check if this feature is supported in the current context.","Refer to the documentation for supported operations.","Consider using an alternative approach."],!1),this.name="UnsupportedError",this.feature=r==null?void 0:r.feature}},mo=class extends ${format;position;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Verify the input is in the expected format.","Check for malformed or corrupted data.","Ensure the encoding is correct (UTF-8, etc.)."],!1),this.name="ParseError",this.format=r==null?void 0:r.format,this.position=r==null?void 0:r.position}},$e=class extends ${queueName;constructor(e,r){super(e||"Queue operation was cancelled",r==null?void 0:r.request,void 0,["This is typically expected during shutdown.","Check if the queue was manually cleared.","Retry the operation if the queue is still active."],!0,{category:"queue",source:"client",severity:"low",canRetry:!0,reason:e||"Queue was cancelled"}),this.name="QueueCancelledError",this.queueName=r==null?void 0:r.queueName}},ae=class extends ${streamType;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Check if the stream was prematurely closed.","Verify the data source is still available.","Ensure proper error handling for stream events."],(r==null?void 0:r.retriable)??!1),this.name="StreamError",this.streamType=r==null?void 0:r.streamType}},fo=class extends ${url;statusCode;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Verify the URL is correct and accessible.","Check network connectivity.",r!=null&&r.statusCode?`HTTP ${r.statusCode} - check server response.`:"Retry the download if the error is transient."],(r==null?void 0:r.retriable)??!0),this.name="DownloadError",this.url=r==null?void 0:r.url,this.statusCode=r==null?void 0:r.statusCode}}});function Sn(t,e={}){let r={allowDuplicateKeys:e.allowDuplicateKeys??!1,parseDates:e.parseDates??!0,customTags:e.customTags??{},maxDepth:e.maxDepth??100,maxKeys:e.maxKeys??1e4};if(!t||!t.trim())return null;let n=t.replace(/^\uFEFF/,"");n=n.replace(/^---\s*$/gm,"").replace(/^\.\.\.\s*$/gm,"");let o={lines:n.split(`
|
|
7
|
+
"use strict";var recker=(()=>{var Qp=Object.create;var vn=Object.defineProperty;var Yp=Object.getOwnPropertyDescriptor;var Zp=Object.getOwnPropertyNames;var em=Object.getPrototypeOf,tm=Object.prototype.hasOwnProperty;var rm=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var A=(t,e)=>()=>(t&&(e=t(t=0)),e);var Ws=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ve=(t,e)=>{for(var r in e)vn(t,r,{get:e[r],enumerable:!0})},Vs=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Zp(e))!tm.call(t,i)&&i!==r&&vn(t,i,{get:()=>e[i],enumerable:!(n=Yp(e,i))||n.enumerable});return t};var Qe=(t,e,r)=>(r=t!=null?Qp(em(t)):{},Vs(e||!t||!t.__esModule?vn(r,"default",{value:t,enumerable:!0}):r,t)),nm=t=>Vs(vn({},"__esModule",{value:!0}),t);function im(t){return["NO_ERROR","INTERNAL_ERROR","REFUSED_STREAM","ENHANCE_YOUR_CALM","CANCEL"].includes(t)}function om(t){return["HTTP_1_1_REQUIRED","INADEQUATE_SECURITY","PROTOCOL_ERROR","COMPRESSION_ERROR"].includes(t)}function am(t,e){let r=[];switch(t){case"ENHANCE_YOUR_CALM":r.push("Server is rate limiting. Implement exponential backoff."),r.push("Reduce concurrent requests to this origin.");break;case"REFUSED_STREAM":r.push("Server is overloaded. Retry with backoff."),r.push("Consider reducing max concurrent streams.");break;case"FLOW_CONTROL_ERROR":r.push("Reduce initial window size in HTTP/2 settings."),r.push("Server may not handle large uploads well over HTTP/2.");break;case"HTTP_1_1_REQUIRED":r.push("Server requires HTTP/1.1 for this request."),r.push("Disable HTTP/2 for this origin.");break;case"INADEQUATE_SECURITY":r.push("Upgrade TLS configuration or use HTTP/1.1.");break;case"GOAWAY":r.push("Server is shutting down connection. Retry is safe.");break;default:r.push("Check server logs for details.")}return e&&r.push("Consider disabling HTTP/2 for this origin with { http2: false }."),r}function wn(t){let e=t.message||"",r=t.code||"";if(e.includes("GOAWAY")||r.includes("GOAWAY"))return new Et("Server sent GOAWAY frame, closing connection","NO_ERROR",{level:"session"});if(e.includes("RST_STREAM")||r.includes("RST_STREAM")){let i=e.match(/RST_STREAM.*code[:\s]+(\w+)/i),o=(i==null?void 0:i[1])||"CANCEL";return new Et(`Stream was reset: ${o}`,o,{level:"stream"})}let n=["PROTOCOL_ERROR","INTERNAL_ERROR","FLOW_CONTROL_ERROR","SETTINGS_TIMEOUT","STREAM_CLOSED","FRAME_SIZE_ERROR","REFUSED_STREAM","CANCEL","COMPRESSION_ERROR","CONNECT_ERROR","ENHANCE_YOUR_CALM","INADEQUATE_SECURITY","HTTP_1_1_REQUIRED"];for(let i of n)if(e.includes(i)||r.includes(i))return new Et(`HTTP/2 error: ${i}`,i,{level:e.includes("session")?"session":"stream"});if(r.startsWith("ERR_HTTP2_")){let i=r.replace("ERR_HTTP2_","");return new Et(e||`HTTP/2 error: ${i}`,i,{level:"session"})}return null}function xn(t){var s;if(t instanceof $&&t.classification)return t.classification;if(!t||typeof t!="object")return;let e=t,r=e.name||"",n=e.message||"",i=(s=e.code)==null?void 0:s.toUpperCase();if(r==="AbortError"||i==="ABORT_ERR"||i==="UND_ERR_ABORTED"||n.includes("aborted")||n.includes("AbortError"))return{category:"queue",source:"client",severity:"low",canRetry:!0,reason:"Request was aborted"};if(r==="TimeoutError"||i==="UND_ERR_CONNECT_TIMEOUT"||i==="UND_ERR_HEADERS_TIMEOUT"||i==="UND_ERR_BODY_TIMEOUT"||n.includes("timeout"))return{category:"timeout",source:"transport",severity:"medium",canRetry:!0,reason:n||"Request timed out"};if(i&&new Set(["ECONNRESET","ECONNREFUSED","ENOTFOUND","EPIPE","ETIMEDOUT","EHOSTUNREACH","ENETUNREACH","ENETDOWN","EAI_AGAIN"]).has(i))return{category:"network",source:"transport",severity:"medium",canRetry:!0,reason:n||`Network error (${i})`};if(r==="Http2Error"||n.includes("HTTP/2")||n.includes("RST_STREAM")||n.includes("GOAWAY"))return{category:"protocol",source:"transport",severity:"medium",canRetry:!0,reason:n||"HTTP/2 protocol error"};if(r==="MaxSizeExceededError"||r==="ParseError")return{category:"resource",source:"server",severity:"low",canRetry:!1,reason:n||"Resource limitation"};if(r==="ConfigurationError"||r==="ValidationError"||r==="StateError")return{category:"state",source:"client",severity:"high",canRetry:!1,reason:n||"Request cannot be retried"}}function sm(t){return[408,425,429,500,502,503,504].includes(t)}var $,We,V,qe,Et,ft,co,Sr,uo,lo,po,Ar,Cr,Le,me,mo,$e,ae,fo,G=A(()=>{"use strict";$=class extends Error{request;response;suggestions;retriable;classification;constructor(e,r,n,i=[],o=!1,s){super(e),this.name="ReckerError",this.request=r,this.response=n,this.suggestions=i,this.retriable=o,this.classification=s}},We=class extends ${status;statusText;constructor(e,r){let n=sm(e.status);super(`Request failed with status code ${e.status} ${e.statusText}`,r,e,["Check the upstream service response body for error details.","Inspect request headers/body to ensure they match the API contract.","Retry if this is a transient 5xx/429 error."],n,{category:"http",source:"server",severity:e.status>=500?"high":"medium",canRetry:n,reason:`HTTP ${e.status}`,statusCode:e.status}),this.name="HttpError",this.status=e.status,this.statusText=e.statusText}},V=class extends ${phase;timeout;elapsed;event;constructor(e,r){let n=(r==null?void 0:r.phase)||"request",i=r==null?void 0:r.timeout,o=r==null?void 0:r.elapsed,c={lookup:"DNS lookup timed out",connect:"TCP connection timed out",secureConnect:"TLS handshake timed out",socket:"Socket assignment timed out (connection pool exhausted)",send:"Request body upload timed out",response:"Waiting for response timed out (TTFB)",request:"Request timed out (total time exceeded)","webrtc-connect":"WebRTC peer connection timed out"}[n];i!==void 0&&(c+=` after ${i}ms`),o!==void 0&&o!==i&&(c+=` (elapsed: ${Math.round(o)}ms)`);let u=["Verify network connectivity and DNS resolution for the target host.","Increase the specific timeout phase or optimize the upstream response time.","Reduce concurrent requests if the connection pool is exhausted."];super(c,e,void 0,u,!0,{category:"timeout",source:"transport",severity:"medium",canRetry:!0,reason:`Timeout while ${n}`}),this.name="TimeoutError",this.phase=n,this.timeout=i??0,this.elapsed=o,this.event=`timeout:${n}`}},qe=class extends ${code;constructor(e,r,n){let i=["Confirm the host and port are reachable from this environment.","Check proxy/VPN/firewall settings that might block the request.","Retry the request or switch transport if this is transient."];super(e,n,void 0,i,!0,{category:"network",source:"transport",severity:r?"medium":"low",canRetry:!0,reason:r?`Network error (${r})`:e}),this.name="NetworkError",this.code=r}},Et=class extends ${errorCode;level;streamId;suggestFallback;constructor(e,r,n={}){let i=im(r),o=om(r),s=am(r,o);super(e,n.request,void 0,s,i,{category:"protocol",source:"transport",severity:i?"medium":"high",canRetry:i,reason:`HTTP/2 ${r}`,statusCode:r&&Number.parseInt(String(r),10)||void 0}),this.name="Http2Error",this.errorCode=r,this.level=n.level??"stream",this.streamId=n.streamId,this.suggestFallback=o}};ft=class extends ${maxSize;actualSize;constructor(e,r,n){let i=r?`${r} bytes (max: ${e} bytes)`:`${e} bytes`;super(`Response size exceeded maximum allowed: ${i}`,n,void 0,["Increase maxResponseSize if the larger payload is expected.","Add pagination/streaming to reduce payload size.","Ensure the upstream is not returning unexpected large responses."],!1,{category:"resource",source:"server",severity:"medium",canRetry:!1,reason:"Response size exceeded configured max"}),this.name="MaxSizeExceededError",this.maxSize=e,this.actualSize=r}};co=class extends ${reason;constructor(e,r){super(e||"Request was aborted",r,void 0,["Check if the abort was intentional (user-triggered or timeout).","Increase timeout if the request needs more time to complete.","Ensure AbortController is not being triggered prematurely."],!0,{category:"timeout",source:"client",severity:"low",canRetry:!0,reason:e?`Request was aborted: ${e}`:"Request was aborted"}),this.name="AbortError",this.reason=e}},Sr=class extends ${host;port;code;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Verify the host and port are correct and the service is running.","Check network connectivity and firewall rules.","Ensure the service is accepting connections on the specified port."],(r==null?void 0:r.retriable)??!0,{category:"network",source:"transport",severity:(r==null?void 0:r.retriable)===!1?"high":"medium",canRetry:(r==null?void 0:r.retriable)??!0,reason:r!=null&&r.code?`Connection error (${r.code})`:"Connection error"}),this.name="ConnectionError",this.host=r==null?void 0:r.host,this.port=r==null?void 0:r.port,this.code=r==null?void 0:r.code}},uo=class extends ${authType;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Verify credentials (username/password, API key, or certificate).","Check if the account is active and has proper permissions.","Ensure the authentication method matches what the server expects."],!1),this.name="AuthenticationError",this.authType=r==null?void 0:r.authType}},lo=class extends ${protocol;code;phase;constructor(e,r){let i={ftp:["Ensure the FTP server is running and accessible.","Check file/directory permissions on the server.","Verify the path exists and is correct."],sftp:["Verify SSH credentials and key permissions.","Check that the SFTP subsystem is enabled on the server.","Ensure the target path exists and is accessible."],telnet:["Verify the Telnet service is running on the target host.","Check login credentials and terminal settings.","Ensure the expected prompts match the server output."],udp:["UDP is connectionless - verify the target is listening.","Check firewall rules for UDP traffic.","Ensure the message format matches what the server expects."],webrtc:["Verify the signaling server is reachable.","Check ICE server configuration (STUN/TURN).","Ensure both peers have compatible codecs and capabilities."],dns:["Verify the DNS server is reachable.","Check if the domain exists and has the requested record type.","Try an alternative DNS resolver."],tls:["Verify the certificate is valid and not expired.","Check that the hostname matches the certificate.","Ensure TLS version and cipher suites are compatible."]}[r.protocol.toLowerCase()]||["Check the protocol-specific documentation.","Verify the server supports the requested operation.","Review the error code for specific guidance."];super(e,r.request,void 0,i,r.retriable??!1),this.name="ProtocolError",this.protocol=r.protocol,this.code=r.code,this.phase=r.phase}},po=class extends ${resource;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Verify the resource path or identifier is correct.","Check if the resource was deleted or moved.","Ensure you have permission to access this resource."],!1),this.name="NotFoundError",this.resource=r==null?void 0:r.resource}},Ar=class extends ${expectedState;actualState;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Ensure the required setup/initialization step was performed.","Check that operations are called in the correct order.","Verify the connection or resource is still valid."],!1),this.name="StateError",this.expectedState=r==null?void 0:r.expectedState,this.actualState=r==null?void 0:r.actualState}},Cr=class extends ${field;value;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Check the input format and constraints.","Refer to the API documentation for valid values.","Ensure required fields are provided."],!1),this.name="ValidationError",this.field=r==null?void 0:r.field,this.value=r==null?void 0:r.value}},Le=class extends ${configKey;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Check the configuration file or environment variables.","Ensure all required configuration keys are set.","Verify the configuration values are in the correct format."],!1),this.name="ConfigurationError",this.configKey=r==null?void 0:r.configKey}},me=class extends ${feature;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Check if this feature is supported in the current context.","Refer to the documentation for supported operations.","Consider using an alternative approach."],!1),this.name="UnsupportedError",this.feature=r==null?void 0:r.feature}},mo=class extends ${format;position;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Verify the input is in the expected format.","Check for malformed or corrupted data.","Ensure the encoding is correct (UTF-8, etc.)."],!1),this.name="ParseError",this.format=r==null?void 0:r.format,this.position=r==null?void 0:r.position}},$e=class extends ${queueName;constructor(e,r){super(e||"Queue operation was cancelled",r==null?void 0:r.request,void 0,["This is typically expected during shutdown.","Check if the queue was manually cleared.","Retry the operation if the queue is still active."],!0,{category:"queue",source:"client",severity:"low",canRetry:!0,reason:e||"Queue was cancelled"}),this.name="QueueCancelledError",this.queueName=r==null?void 0:r.queueName}},ae=class extends ${streamType;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Check if the stream was prematurely closed.","Verify the data source is still available.","Ensure proper error handling for stream events."],(r==null?void 0:r.retriable)??!1),this.name="StreamError",this.streamType=r==null?void 0:r.streamType}},fo=class extends ${url;statusCode;constructor(e,r){super(e,r==null?void 0:r.request,void 0,["Verify the URL is correct and accessible.","Check network connectivity.",r!=null&&r.statusCode?`HTTP ${r.statusCode} - check server response.`:"Retry the download if the error is transient."],(r==null?void 0:r.retriable)??!0),this.name="DownloadError",this.url=r==null?void 0:r.url,this.statusCode=r==null?void 0:r.statusCode}}});function Tn(t,e={}){let r={allowDuplicateKeys:e.allowDuplicateKeys??!1,parseDates:e.parseDates??!0,customTags:e.customTags??{},maxDepth:e.maxDepth??100,maxKeys:e.maxKeys??1e4};if(!t||!t.trim())return null;let n=t.replace(/^\uFEFF/,"");n=n.replace(/^---\s*$/gm,"").replace(/^\.\.\.\s*$/gm,"");let o={lines:n.split(`
|
|
8
8
|
`),index:0,depth:0,keyCount:0,options:r};return yo(o,0,new Map)}function yo(t,e,r){if(Er(t),t.index>=t.lines.length)return null;let i=t.lines[t.index].trim();return i==="~"||i==="null"||i==="Null"||i==="NULL"?(t.index++,null):i.startsWith("- ")||i==="-"?cm(t,e,r):i.includes(":")&&!i.startsWith('"')&&!i.startsWith("'")?Ks(t,e,r):(t.index++,Dt(i,t.options,r))}function Ks(t,e,r){let n={};if(t.depth++,t.depth>t.options.maxDepth)throw new at("Maximum nesting depth exceeded",t.index);for(;t.index<t.lines.length&&(Er(t),!(t.index>=t.lines.length));){let i=t.lines[t.index],o=Kt(i);if(o<e&&i.trim())break;if(o<e){t.index++;continue}let s=i.trim();if(!s||s.startsWith("#")){t.index++;continue}if(s.startsWith("- ")&&o<=e)break;let c=go(s);if(c===-1){t.index++;continue}let u=s.substring(0,c).trim(),l=s.substring(c+1).trim(),d=null,p=u.match(/^&(\w+)\s+/);if(p&&(d=p[1],u=u.substring(p[0].length)),l.startsWith("*")){let h=l.substring(1).split(/\s/)[0];if(!r.has(h))throw new at(`Unknown alias: ${h}`,t.index);n[u]=r.get(h),t.index++;continue}let m=l.match(/^&(\w+)\s*/);if(m&&(d=m[1],l=l.substring(m[0].length)),u=kn(u),t.keyCount++,t.keyCount>t.options.maxKeys)throw new at("Maximum number of keys exceeded",t.index);if(!t.options.allowDuplicateKeys&&u in n)throw new at(`Duplicate key: ${u}`,t.index);t.index++;let f;if(l===""||l==="|"||l===">"||l==="|-"||l===">-")if(l==="|"||l==="|-")f=um(t,o,l==="|-");else if(l===">"||l===">-")f=lm(t,o,l===">-");else if(Er(t),t.index<t.lines.length){let h=Kt(t.lines[t.index]);h>o?f=yo(t,h,r):f=null}else f=null;else f=Dt(l,t.options,r);d&&r.set(d,f),n[u]=f}return t.depth--,n}function cm(t,e,r){let n=[];if(t.depth++,t.depth>t.options.maxDepth)throw new at("Maximum nesting depth exceeded",t.index);for(;t.index<t.lines.length&&(Er(t),!(t.index>=t.lines.length));){let i=t.lines[t.index],o=Kt(i),s=i.trim();if(o<e&&s)break;if(!s.startsWith("-")){if(o<=e)break;t.index++;continue}let c=null,u=s.substring(1).trim(),l=u.match(/^&(\w+)\s*/);if(l&&(c=l[1],u=u.substring(l[0].length)),u.startsWith("*")){let p=u.substring(1).split(/\s/)[0];if(!r.has(p))throw new at(`Unknown alias: ${p}`,t.index);n.push(r.get(p)),t.index++;continue}t.index++;let d;if(u==="")if(Er(t),t.index<t.lines.length){let p=Kt(t.lines[t.index]);p>o?d=yo(t,p,r):d=null}else d=null;else if(u.includes(":")&&!u.startsWith('"')&&!u.startsWith("'")){t.index--;let p=" ".repeat(o+2)+u,m=t.lines[t.index];t.lines[t.index]=p,d=Ks(t,o+2,r),t.index<t.lines.length&&(t.lines[t.index-1]=m)}else d=Dt(u,t.options,r);c&&r.set(c,d),n.push(d)}return t.depth--,n}function um(t,e,r){let n=[],i=-1;for(;t.index<t.lines.length;){let o=t.lines[t.index],s=Kt(o),c=o.trim();if(i===-1&&c&&(i=s),i!==-1&&s<i&&c||c&&s<=e)break;if(i!==-1){let u=Math.max(0,s-i);n.push(" ".repeat(u)+c)}else n.push("");t.index++}if(r)for(;n.length>0&&n[n.length-1]==="";)n.pop();return n.join(`
|
|
9
9
|
`)}function lm(t,e,r){let n=[],i=[],o=-1;for(;t.index<t.lines.length;){let s=t.lines[t.index],c=Kt(s),u=s.trim();if(o===-1&&u&&(o=c),o!==-1&&c<o&&u||u&&c<=e)break;o!==-1&&(u===""?(i.length>0&&(n.push(i.join(" ")),i=[]),n.push("")):i.push(u)),t.index++}if(i.length>0&&n.push(i.join(" ")),r)for(;n.length>0&&n[n.length-1]==="";)n.pop();return n.join(`
|
|
10
10
|
`)}function Dt(t,e,r){if(t.startsWith("*")){let o=t.substring(1).split(/\s|#/)[0];if(!r.has(o))throw new at(`Unknown alias: ${o}`);return r.get(o)}let n=mm(t);n!==-1&&(t=t.substring(0,n).trim());let i=t.match(/^!(\S+)\s*/);if(i){let o=i[1],s=t.substring(i[0].length);return e.customTags[o]?e.customTags[o](s):s}if(t===""||t==="~"||t==="null"||t==="Null"||t==="NULL")return null;if(t==="true"||t==="True"||t==="TRUE"||t==="yes"||t==="Yes"||t==="YES"||t==="on"||t==="On"||t==="ON")return!0;if(t==="false"||t==="False"||t==="FALSE"||t==="no"||t==="No"||t==="NO"||t==="off"||t==="Off"||t==="OFF")return!1;if(t===".inf"||t===".Inf"||t===".INF"||t==="+.inf"||t==="+.Inf"||t==="+.INF")return 1/0;if(t==="-.inf"||t==="-.Inf"||t==="-.INF")return-1/0;if(t===".nan"||t===".NaN"||t===".NAN")return NaN;if(/^0o[0-7]+$/.test(t))return parseInt(t.substring(2),8);if(/^0x[0-9a-fA-F]+$/.test(t))return parseInt(t,16);if(/^[-+]?\d+$/.test(t)){let o=parseInt(t,10);return Number.isSafeInteger(o),o}if(/^[-+]?(\d+\.?\d*|\.\d+)([eE][-+]?\d+)?$/.test(t))return parseFloat(t);if(/^\d+:\d{2}(:\d{2})?(\.\d+)?$/.test(t)){let o=t.split(":").map(parseFloat),s=o[0];for(let c=1;c<o.length;c++)s=s*60+o[c];return s}if(e.parseDates&&/^\d{4}-\d{2}-\d{2}([T ]\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})?)?$/.test(t)){let o=new Date(t.replace(" ","T"));if(!isNaN(o.getTime()))return o}return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?kn(t):t.startsWith("[")&&t.endsWith("]")?dm(t,e,r):t.startsWith("{")&&t.endsWith("}")?pm(t,e,r):t}function dm(t,e,r){let n=t.slice(1,-1).trim();if(!n)return[];let i=[],o="",s=0,c=!1,u="";for(let l=0;l<n.length;l++){let d=n[l];if(c){o+=d,d===u&&n[l-1]!=="\\"&&(c=!1);continue}if(d==='"'||d==="'"){c=!0,u=d,o+=d;continue}if(d==="["||d==="{"){s++,o+=d;continue}if(d==="]"||d==="}"){s--,o+=d;continue}if(d===","&&s===0){i.push(Dt(o.trim(),e,r)),o="";continue}o+=d}return o.trim()&&i.push(Dt(o.trim(),e,r)),i}function pm(t,e,r){let n=t.slice(1,-1).trim();if(!n)return{};let i={},o="",s=0,c=!1,u="";for(let l=0;l<n.length;l++){let d=n[l];if(c){o+=d,d===u&&n[l-1]!=="\\"&&(c=!1);continue}if(d==='"'||d==="'"){c=!0,u=d,o+=d;continue}if(d==="["||d==="{"){s++,o+=d;continue}if(d==="]"||d==="}"){s--,o+=d;continue}if(d===","&&s===0){let p=go(o);if(p!==-1){let m=kn(o.substring(0,p).trim()),f=o.substring(p+1).trim();i[m]=Dt(f,e,r)}o="";continue}o+=d}if(o.trim()){let l=go(o);if(l!==-1){let d=kn(o.substring(0,l).trim()),p=o.substring(l+1).trim();i[d]=Dt(p,e,r)}}return i}function Kt(t){let e=t.match(/^(\s*)/);return e?e[1].length:0}function Er(t){for(;t.index<t.lines.length;){let e=t.lines[t.index].trim();if(e&&!e.startsWith("#"))break;t.index++}}function go(t){let e=!1,r="";for(let n=0;n<t.length;n++){let i=t[n];if(e){i===r&&t[n-1]!=="\\"&&(e=!1);continue}if(i==='"'||i==="'"){e=!0,r=i;continue}if(i===":"&&(n===t.length-1||t[n+1]===" "||t[n+1]===`
|
|
@@ -23,47 +23,47 @@
|
|
|
23
23
|
`)}function vo(t,e,r){let n=Object.keys(t);if(n.length===0)return"{}";if(r.sortKeys&&n.sort(),r.flowStyle&&n.length<=3&&n.every(s=>typeof t[s]!="object"||t[s]===null)){let c=`{${n.map(u=>`${u}: ${Dr(t[u],e,r)}`).join(", ")}}`;if(c.length<=r.lineWidth)return c}let i=" ".repeat(r.indent*e),o=[];for(let s of n){let c=t[s];if(r.skipUndefined&&c===void 0)continue;let u=/^[\w-]+$/.test(s)&&s!=="true"&&s!=="false"&&s!=="null"?s:`"${s}"`;if(typeof c=="object"&&c!==null&&!Array.isArray(c)&&!(c instanceof Date)){o.push(`${i}${u}:`);let l=vo(c,e+1,r);o.push(...l.split(`
|
|
24
24
|
`))}else if(Array.isArray(c)&&c.length>0&&!r.flowStyle){o.push(`${i}${u}:`);let l=bo(c,e+1,r);o.push(...l.split(`
|
|
25
25
|
`))}else o.push(`${i}${u}: ${Dr(c,e+1,r)}`)}return o.join(`
|
|
26
|
-
`)}var at,
|
|
26
|
+
`)}var at,Sn=A(()=>{"use strict";at=class extends Error{line;constructor(e,r){super(r!==void 0?`${e} at line ${r+1}`:e),this.name="YamlError",this.line=r}}});function Cn(t,e={}){let r={headers:e.headers??!0,columns:e.columns,delimiter:e.delimiter??",",quote:e.quote??'"',skipEmptyLines:e.skipEmptyLines??!0,trim:e.trim??!1,parseNumbers:e.parseNumbers??!1,parseBooleans:e.parseBooleans??!1,comment:e.comment,maxRows:e.maxRows??1e5,maxColumns:e.maxColumns??1e3};if(!t||!t.trim())return[];let n=t.replace(/\r\n/g,`
|
|
27
27
|
`).replace(/\r/g,`
|
|
28
28
|
`),i=[],o=[],s="",c=!1,u=0;for(let p=0;p<n.length;p++){let m=n[p],f=n[p+1];if(c)m===r.quote?f===r.quote?(s+=r.quote,p++):c=!1:s+=m;else if(m===r.quote&&s==="")c=!0;else if(m===r.delimiter){if(o.push(wo(s,r)),s="",o.length>r.maxColumns)throw new An(`Maximum columns (${r.maxColumns}) exceeded`,u)}else if(m===`
|
|
29
29
|
`){if(o.push(wo(s,r)),s="",r.comment&&o.length===1&&o[0].startsWith(r.comment)){o=[];continue}if(r.skipEmptyLines&&o.length===1&&o[0]===""){o=[];continue}if(i.push(o),o=[],u++,u>r.maxRows)throw new An(`Maximum rows (${r.maxRows}) exceeded`,u)}else s+=m}if((s||o.length>0)&&(o.push(wo(s,r)),r.comment&&o.length===1&&o[0].startsWith(r.comment)||r.skipEmptyLines&&o.length===1&&o[0]===""||i.push(o)),!r.headers&&!r.columns)return i;let l,d;if(r.columns)l=r.columns,d=r.headers?i.slice(1):i;else{if(i.length===0)return[];l=i[0],d=i.slice(1)}return d.map(p=>{let m={};for(let f=0;f<l.length;f++)m[l[f]]=p[f]??"";return m})}function wo(t,e){let r=e.trim?t.trim():t;if(e.parseNumbers){let n=Number(r);if(!isNaN(n)&&r!=="")return n}if(e.parseBooleans){let n=r.toLowerCase();if(n==="true")return!0;if(n==="false")return!1}return r}function Js(t,e={}){let r={headers:e.headers??!0,columns:e.columns,delimiter:e.delimiter??",",quote:e.quote??'"',alwaysQuote:e.alwaysQuote??!1,lineEnding:e.lineEnding??`\r
|
|
30
30
|
`,nullValue:e.nullValue??""};if(!t||t.length===0)return"";let n=[];if(Array.isArray(t[0]))for(let o of t)n.push(o.map(s=>xo(s,r)).join(r.delimiter));else{let o=t,s;if(r.columns)s=r.columns;else{let c=new Set;for(let u of o)for(let l of Object.keys(u))c.add(l);s=Array.from(c)}r.headers&&n.push(s.map(c=>xo(c,r)).join(r.delimiter));for(let c of o){let u=s.map(l=>{let d=c[l];return xo(d,r)});n.push(u.join(r.delimiter))}}return n.join(r.lineEnding)}function xo(t,e){if(t==null)return e.nullValue;let r=String(t);if(e.alwaysQuote||r.includes(e.quote)||r.includes(e.delimiter)||r.includes(`
|
|
31
|
-
`)||r.includes("\r")){let i=r.replace(new RegExp(e.quote,"g"),e.quote+e.quote);return e.quote+i+e.quote}return r}var An,En=T(()=>{"use strict";An=class extends Error{row;constructor(e,r){super(r!==void 0?`${e} at row ${r+1}`:e),this.name="CsvError",this.row=r}}});var Qs={};ve(Qs,{Agent:()=>Of,AsyncLocalStorage:()=>Af,AsyncResource:()=>Cf,Buffer:()=>Df,Client:()=>zf,EventEmitter:()=>Um,PassThrough:()=>Fm,ProxyAgent:()=>$f,Readable:()=>Pm,Server:()=>of,Socket:()=>nf,TLSSocket:()=>af,Transform:()=>Mm,WebSocket:()=>jf,Writable:()=>Nm,arch:()=>Xm,basename:()=>Em,brotliCompress:()=>gf,brotliDecompress:()=>vf,channel:()=>Ef,connect:()=>rf,cpus:()=>Jm,createCipheriv:()=>_m,createConnection:()=>tf,createDecipheriv:()=>jm,createHash:()=>Hm,createHmac:()=>Im,createPrivateKey:()=>$m,createReadStream:()=>hm,createSign:()=>qm,createWriteStream:()=>Lr,deepStrictEqual:()=>Pf,default:()=>Dn,deflate:()=>hf,deflateSync:()=>kf,dirname:()=>Cm,errors:()=>qf,exec:()=>Uf,execSync:()=>Hf,existsSync:()=>Xt,extname:()=>Dm,finished:()=>Bm,format:()=>Gm,freemem:()=>Qm,gunzip:()=>yf,gunzipSync:()=>wf,gzip:()=>ff,gzipSync:()=>xf,homedir:()=>Zm,inflate:()=>bf,inflateSync:()=>Sf,inspect:()=>Vm,join:()=>Am,lookup:()=>sf,mkdir:()=>bm,ok:()=>Lf,performance:()=>Tf,pipeline:()=>Rm,platform:()=>Km,promises:()=>ko,promisify:()=>Wm,randomBytes:()=>Om,randomUUID:()=>zm,readFile:()=>vm,readFileSync:()=>gm,readdir:()=>Tm,rejects:()=>Mf,request:()=>If,resolve:()=>Lm,resolve4:()=>cf,resolve6:()=>uf,resolveCname:()=>mf,resolveMx:()=>lf,resolveNs:()=>pf,resolveTxt:()=>df,rm:()=>km,spawn:()=>Ff,spawnSync:()=>Bf,stat:()=>Sm,strictEqual:()=>Rf,throws:()=>Nf,tmpdir:()=>ef,totalmem:()=>Ym,unlink:()=>xm,writeFile:()=>wm,writeFileSync:()=>ym});var se,K,we,Dn,Lr,hm,gm,ym,Xt,bm,vm,wm,xm,km,Sm,Tm,Am,Cm,Em,Dm,Lm,Rm,Pm,Nm,Mm,Fm,Bm,Um,Hm,Im,qm,$m,Om,zm,jm,_m,Wm,Vm,Gm,Km,Xm,Jm,Qm,Ym,Zm,ef,tf,rf,nf,of,af,sf,cf,uf,lf,df,pf,mf,ff,hf,gf,yf,bf,vf,wf,xf,kf,Sf,Tf,Af,Cf,Ef,Df,Lf,Rf,Pf,Nf,Mf,Ff,Bf,Uf,Hf,If,qf,$f,Of,zf,jf,ko,Lt=T(()=>{se=()=>{},K=()=>Promise.resolve(),we=class{constructor(){}},Dn={},Lr=se,hm=se,gm=()=>"",ym=se,Xt=()=>!1,bm=K,vm=K,wm=K,xm=K,km=K,Sm=K,Tm=K,Am=(...t)=>t.join("/"),Cm=t=>t.split("/").slice(0,-1).join("/"),Em=t=>t.split("/").pop()||"",Dm=t=>{let e=t.match(/\.[^.]+$/);return e?e[0]:""},Lm=(...t)=>t.join("/"),Rm=K,Pm=we,Nm=we,Mm=we,Fm=we,Bm=K,Um=class{on(){return this}off(){return this}emit(){return!1}once(){return this}addListener(){return this}removeListener(){return this}},Hm=()=>({update:()=>({digest:()=>""})}),Im=()=>({update:()=>({digest:()=>""})}),qm=()=>({update:()=>({}),sign:()=>""}),$m=()=>({}),Om=t=>new Uint8Array(t),zm=()=>crypto.randomUUID(),jm=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:se}),_m=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:se}),Wm=t=>t,Vm=t=>JSON.stringify(t),Gm=(...t)=>t.join(" "),Km=()=>"browser",Xm=()=>"unknown",Jm=()=>[],Qm=()=>0,Ym=()=>0,Zm=()=>"/",ef=()=>"/tmp",tf=se,rf=se,nf=we,of=we,af=we,sf=(t,e)=>e(null,"127.0.0.1",4),cf=K,uf=K,lf=K,df=K,pf=K,mf=K,ff=(t,e)=>e(null,t),hf=(t,e)=>e(null,t),gf=(t,e)=>e(null,t),yf=(t,e)=>e(null,t),bf=(t,e)=>e(null,t),vf=(t,e)=>e(null,t),wf=t=>t,xf=t=>t,kf=t=>t,Sf=t=>t,Tf=globalThis.performance,Af=class{getStore(){}run(t,e){return e()}enterWith(){}},Cf=we,Ef=()=>({subscribe:se,unsubscribe:se,publish:se,hasSubscribers:!1}),Df={from:t=>new Uint8Array(typeof t=="string"?new TextEncoder().encode(t):t),alloc:t=>new Uint8Array(t),allocUnsafe:t=>new Uint8Array(t),isBuffer:()=>!1},Lf=se,Rf=se,Pf=se,Nf=se,Mf=K,Ff=()=>({on:se,stdout:{on:se},stderr:{on:se},kill:se}),Bf=()=>({status:0,stdout:"",stderr:""}),Uf=se,Hf=()=>"",If=K,qf={ConnectTimeoutError:we,HeadersTimeoutError:we,BodyTimeoutError:we},$f=we,Of=we,zf=we,jf=we,ko={readFile:K,writeFile:K,access:K,stat:K,mkdir:K,unlink:K,readdir:K}});var ec={};ve(ec,{Agent:()=>gg,AsyncLocalStorage:()=>eg,AsyncResource:()=>tg,Buffer:()=>ng,Client:()=>yg,EventEmitter:()=>ph,PassThrough:()=>dh,ProxyAgent:()=>hg,Readable:()=>ch,Server:()=>Fh,Socket:()=>Mh,TLSSocket:()=>Bh,Transform:()=>lh,WebSocket:()=>bg,Writable:()=>uh,arch:()=>Ah,basename:()=>oh,brotliCompress:()=>Wh,brotliDecompress:()=>Kh,channel:()=>rg,connect:()=>Nh,cpus:()=>Ch,createCipheriv:()=>wh,createConnection:()=>Ph,createDecipheriv:()=>vh,createHash:()=>mh,createHmac:()=>fh,createPrivateKey:()=>gh,createReadStream:()=>Vf,createSign:()=>hh,createWriteStream:()=>Wf,deepStrictEqual:()=>ag,default:()=>_f,deflate:()=>_h,deflateSync:()=>Qh,dirname:()=>ih,errors:()=>fg,exec:()=>dg,execSync:()=>pg,existsSync:()=>Xf,extname:()=>ah,finished:()=>Zs,format:()=>Sh,freemem:()=>Eh,gunzip:()=>Vh,gunzipSync:()=>Xh,gzip:()=>jh,gzipSync:()=>Jh,homedir:()=>Lh,inflate:()=>Gh,inflateSync:()=>Yh,inspect:()=>kh,join:()=>nh,lookup:()=>Uh,mkdir:()=>Jf,ok:()=>ig,performance:()=>Zh,pipeline:()=>Ys,platform:()=>Th,promises:()=>vg,promisify:()=>xh,randomBytes:()=>yh,randomUUID:()=>bh,readFile:()=>Qf,readFileSync:()=>Gf,readdir:()=>rh,rejects:()=>cg,request:()=>mg,resolve:()=>sh,resolve4:()=>Hh,resolve6:()=>Ih,resolveCname:()=>zh,resolveMx:()=>qh,resolveNs:()=>Oh,resolveTxt:()=>$h,rm:()=>eh,spawn:()=>ug,spawnSync:()=>lg,stat:()=>th,strictEqual:()=>og,throws:()=>sg,tmpdir:()=>Rh,totalmem:()=>Dh,unlink:()=>Zf,writeFile:()=>Yf,writeFileSync:()=>Kf});var ce,X,xe,_f,Wf,Vf,Gf,Kf,Xf,Jf,Qf,Yf,Zf,eh,th,rh,nh,ih,oh,ah,sh,Ys,ch,uh,lh,dh,Zs,ph,mh,fh,hh,gh,yh,bh,vh,wh,xh,kh,Sh,Th,Ah,Ch,Eh,Dh,Lh,Rh,Ph,Nh,Mh,Fh,Bh,Uh,Hh,Ih,qh,$h,Oh,zh,jh,_h,Wh,Vh,Gh,Kh,Xh,Jh,Qh,Yh,Zh,eg,tg,rg,ng,ig,og,ag,sg,cg,ug,lg,dg,pg,mg,fg,hg,gg,yg,bg,vg,Ln=T(()=>{ce=()=>{},X=()=>Promise.resolve(),xe=class{constructor(){}},_f={},Wf=ce,Vf=ce,Gf=()=>"",Kf=ce,Xf=()=>!1,Jf=X,Qf=X,Yf=X,Zf=X,eh=X,th=X,rh=X,nh=(...t)=>t.join("/"),ih=t=>t.split("/").slice(0,-1).join("/"),oh=t=>t.split("/").pop()||"",ah=t=>{let e=t.match(/\.[^.]+$/);return e?e[0]:""},sh=(...t)=>t.join("/"),Ys=X,ch=xe,uh=xe,lh=xe,dh=xe,Zs=X,ph=class{on(){return this}off(){return this}emit(){return!1}once(){return this}addListener(){return this}removeListener(){return this}},mh=()=>({update:()=>({digest:()=>""})}),fh=()=>({update:()=>({digest:()=>""})}),hh=()=>({update:()=>({}),sign:()=>""}),gh=()=>({}),yh=t=>new Uint8Array(t),bh=()=>crypto.randomUUID(),vh=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:ce}),wh=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:ce}),xh=t=>t,kh=t=>JSON.stringify(t),Sh=(...t)=>t.join(" "),Th=()=>"browser",Ah=()=>"unknown",Ch=()=>[],Eh=()=>0,Dh=()=>0,Lh=()=>"/",Rh=()=>"/tmp",Ph=ce,Nh=ce,Mh=xe,Fh=xe,Bh=xe,Uh=(t,e)=>e(null,"127.0.0.1",4),Hh=X,Ih=X,qh=X,$h=X,Oh=X,zh=X,jh=(t,e)=>e(null,t),_h=(t,e)=>e(null,t),Wh=(t,e)=>e(null,t),Vh=(t,e)=>e(null,t),Gh=(t,e)=>e(null,t),Kh=(t,e)=>e(null,t),Xh=t=>t,Jh=t=>t,Qh=t=>t,Yh=t=>t,Zh=globalThis.performance,eg=class{getStore(){}run(t,e){return e()}enterWith(){}},tg=xe,rg=()=>({subscribe:ce,unsubscribe:ce,publish:ce,hasSubscribers:!1}),ng={from:t=>new Uint8Array(typeof t=="string"?new TextEncoder().encode(t):t),alloc:t=>new Uint8Array(t),allocUnsafe:t=>new Uint8Array(t),isBuffer:()=>!1},ig=ce,og=ce,ag=ce,sg=ce,cg=X,ug=()=>({on:ce,stdout:{on:ce},stderr:{on:ce},kill:ce}),lg=()=>({status:0,stdout:"",stderr:""}),dg=ce,pg=()=>"",mg=X,fg={ConnectTimeoutError:xe,HeadersTimeoutError:xe,BodyTimeoutError:xe},hg=xe,gg=xe,yg=xe,bg=xe,vg={readFile:X,writeFile:X,access:X,stat:X,mkdir:X,unlink:X,readdir:X}});var rc={};ve(rc,{Agent:()=>V0,AsyncLocalStorage:()=>R0,AsyncResource:()=>P0,Buffer:()=>M0,Client:()=>G0,EventEmitter:()=>zg,PassThrough:()=>tc,ProxyAgent:()=>W0,Readable:()=>Rn,Server:()=>l0,Socket:()=>u0,TLSSocket:()=>d0,Transform:()=>$g,WebSocket:()=>K0,Writable:()=>qg,arch:()=>t0,basename:()=>Bg,brotliCompress:()=>x0,brotliDecompress:()=>T0,channel:()=>N0,connect:()=>c0,cpus:()=>r0,createCipheriv:()=>Jg,createConnection:()=>s0,createDecipheriv:()=>Xg,createHash:()=>jg,createHmac:()=>_g,createPrivateKey:()=>Vg,createReadStream:()=>kg,createSign:()=>Wg,createWriteStream:()=>xg,deepStrictEqual:()=>U0,default:()=>wg,deflate:()=>w0,deflateSync:()=>E0,dirname:()=>Fg,errors:()=>_0,exec:()=>O0,execSync:()=>z0,existsSync:()=>Ag,extname:()=>Ug,finished:()=>Og,format:()=>Zg,freemem:()=>n0,gunzip:()=>k0,gunzipSync:()=>A0,gzip:()=>v0,gzipSync:()=>C0,homedir:()=>o0,inflate:()=>S0,inflateSync:()=>D0,inspect:()=>Yg,join:()=>Mg,lookup:()=>p0,mkdir:()=>Cg,ok:()=>F0,performance:()=>L0,pipeline:()=>Ig,platform:()=>e0,promises:()=>X0,promisify:()=>Qg,randomBytes:()=>Gg,randomUUID:()=>Kg,readFile:()=>Eg,readFileSync:()=>Sg,readdir:()=>Ng,rejects:()=>I0,request:()=>j0,resolve:()=>Hg,resolve4:()=>m0,resolve6:()=>f0,resolveCname:()=>b0,resolveMx:()=>h0,resolveNs:()=>y0,resolveTxt:()=>g0,rm:()=>Rg,spawn:()=>q0,spawnSync:()=>$0,stat:()=>Pg,strictEqual:()=>B0,throws:()=>H0,tmpdir:()=>a0,totalmem:()=>i0,unlink:()=>Lg,writeFile:()=>Dg,writeFileSync:()=>Tg});var ue,J,ke,wg,xg,kg,Sg,Tg,Ag,Cg,Eg,Dg,Lg,Rg,Pg,Ng,Mg,Fg,Bg,Ug,Hg,Ig,Rn,qg,$g,tc,Og,zg,jg,_g,Wg,Vg,Gg,Kg,Xg,Jg,Qg,Yg,Zg,e0,t0,r0,n0,i0,o0,a0,s0,c0,u0,l0,d0,p0,m0,f0,h0,g0,y0,b0,v0,w0,x0,k0,S0,T0,A0,C0,E0,D0,L0,R0,P0,N0,M0,F0,B0,U0,H0,I0,q0,$0,O0,z0,j0,_0,W0,V0,G0,K0,X0,Pn=T(()=>{ue=()=>{},J=()=>Promise.resolve(),ke=class{constructor(){}},wg={},xg=ue,kg=ue,Sg=()=>"",Tg=ue,Ag=()=>!1,Cg=J,Eg=J,Dg=J,Lg=J,Rg=J,Pg=J,Ng=J,Mg=(...t)=>t.join("/"),Fg=t=>t.split("/").slice(0,-1).join("/"),Bg=t=>t.split("/").pop()||"",Ug=t=>{let e=t.match(/\.[^.]+$/);return e?e[0]:""},Hg=(...t)=>t.join("/"),Ig=J,Rn=ke,qg=ke,$g=ke,tc=ke,Og=J,zg=class{on(){return this}off(){return this}emit(){return!1}once(){return this}addListener(){return this}removeListener(){return this}},jg=()=>({update:()=>({digest:()=>""})}),_g=()=>({update:()=>({digest:()=>""})}),Wg=()=>({update:()=>({}),sign:()=>""}),Vg=()=>({}),Gg=t=>new Uint8Array(t),Kg=()=>crypto.randomUUID(),Xg=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:ue}),Jg=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:ue}),Qg=t=>t,Yg=t=>JSON.stringify(t),Zg=(...t)=>t.join(" "),e0=()=>"browser",t0=()=>"unknown",r0=()=>[],n0=()=>0,i0=()=>0,o0=()=>"/",a0=()=>"/tmp",s0=ue,c0=ue,u0=ke,l0=ke,d0=ke,p0=(t,e)=>e(null,"127.0.0.1",4),m0=J,f0=J,h0=J,g0=J,y0=J,b0=J,v0=(t,e)=>e(null,t),w0=(t,e)=>e(null,t),x0=(t,e)=>e(null,t),k0=(t,e)=>e(null,t),S0=(t,e)=>e(null,t),T0=(t,e)=>e(null,t),A0=t=>t,C0=t=>t,E0=t=>t,D0=t=>t,L0=globalThis.performance,R0=class{getStore(){}run(t,e){return e()}enterWith(){}},P0=ke,N0=()=>({subscribe:ue,unsubscribe:ue,publish:ue,hasSubscribers:!1}),M0={from:t=>new Uint8Array(typeof t=="string"?new TextEncoder().encode(t):t),alloc:t=>new Uint8Array(t),allocUnsafe:t=>new Uint8Array(t),isBuffer:()=>!1},F0=ue,B0=ue,U0=ue,H0=ue,I0=J,q0=()=>({on:ue,stdout:{on:ue},stderr:{on:ue},kill:ue}),$0=()=>({status:0,stdout:"",stderr:""}),O0=ue,z0=()=>"",j0=J,_0={ConnectTimeoutError:ke,HeadersTimeoutError:ke,BodyTimeoutError:ke},W0=ke,V0=ke,G0=ke,K0=ke,X0={readFile:J,writeFile:J,access:J,stat:J,mkdir:J,unlink:J,readdir:J}});function gt(t){try{let e=new URL(t);return`${e.protocol}//${e.host}`}catch{return t}}function Eo(t){if(!t)return;let e=t.toLowerCase();if(e==="h2"||e==="http/2"||e==="http/2.0")return"h2";if(e==="h3"||e.startsWith("h3-"))return"h3";if(e==="http/1.1"||e==="http/1.0"||e==="http")return"http/1.1"}function Un(){return Co||(Co=new Nr),Co}var Nr,Co,Hn=T(()=>{"use strict";Nr=class{cache;options;constructor(e={}){this.cache=new Map,this.options={ttl:e.ttl??3600*1e3,maxSize:e.maxSize??1e3,failureThreshold:e.failureThreshold??3}}get(e){let r=gt(e),n=this.cache.get(r);if(n){if(Date.now()-n.detectedAt>this.options.ttl){this.cache.delete(r);return}return n.protocol}}getEntry(e){let r=gt(e),n=this.cache.get(r);if(n){if(Date.now()-n.detectedAt>this.options.ttl){this.cache.delete(r);return}return n}}set(e,r){let n=gt(e),i=Eo(r)??r;if(this.cache.size>=this.options.maxSize&&!this.cache.has(n)){let s=this.cache.keys().next().value;s&&this.cache.delete(s)}let o=this.cache.get(n);this.cache.set(n,{protocol:i,detectedAt:Date.now(),successCount:((o==null?void 0:o.successCount)??0)+1,failureCount:(o==null?void 0:o.failureCount)??0,http2Rejected:o==null?void 0:o.http2Rejected}),this.cache.delete(n),this.cache.set(n,this.cache.get(n)??{protocol:i,detectedAt:Date.now(),successCount:1,failureCount:0})}recordSuccess(e){let r=gt(e),n=this.cache.get(r);n&&(n.successCount++,n.failureCount=Math.max(0,n.failureCount-1))}recordFailure(e,r=!1){let n=gt(e),i=this.cache.get(n);return i?(i.failureCount++,r&&(i.http2Rejected=!0),i.failureCount>=this.options.failureThreshold):!1}hasHttp2Issues(e){let r=this.getEntry(e);return r?r.http2Rejected===!0||r.protocol==="http/1.1"&&r.failureCount>=this.options.failureThreshold:!1}shouldTryHttp2(e){let r=this.getEntry(e);return r?r.http2Rejected?!1:r.protocol==="h2"||r.protocol==="h3"?!0:!(r.failureCount>=this.options.failureThreshold):!0}delete(e){let r=gt(e);return this.cache.delete(r)}clear(){this.cache.clear()}getStats(){let e=[],r=[],n=[];for(let[i,o]of this.cache.entries())o.protocol==="h2"||o.protocol==="h3"?e.push(i):r.push(i),(o.http2Rejected||o.failureCount>=this.options.failureThreshold)&&n.push(i);return{size:this.cache.size,maxSize:this.options.maxSize,origins:Array.from(this.cache.keys()),http2Origins:e,http1Origins:r,problematicOrigins:n}}toJSON(){let e={};for(let[r,n]of this.cache.entries())e[r]=n;return e}fromJSON(e){let r=Date.now();for(let[n,i]of Object.entries(e))r-i.detectedAt<=this.options.ttl&&this.cache.set(n,i)}},Co=null});function Fe(t,e,r){let n=typeof r=="number"?{total:r}:r||{},{total:i,direction:o,throttleMs:s=100}=n,c=0,u=Date.now(),l=0,d=0,p=u,m=0,f=.3,h=(g,y)=>{let C=(g-u)/1e3,b=g-p,x=c-d;if(b>0){let S=x/b*1e3;m=m===0?S:m*(1-f)+S*f}d=c,p=g;let k=m,v;i&&(v=y?100:Math.min(c/i*100,99.9));let w={loaded:c,transferred:c,total:i,percent:v,rate:k,estimated:i&&k>0?(i-c)/k*1e3:void 0,direction:o};e(w),l=g};return new ReadableStream({async start(g){let y=t.getReader();try{for(h(Date.now(),!1);;){let{done:C,value:b}=await y.read();if(C){h(Date.now(),!0),g.close();break}c+=b.byteLength;let x=Date.now();(x-l>=s||i&&c===i)&&h(x,!1),g.enqueue(b)}}catch(C){throw g.error(C),C}}})}var Ro=T(()=>{"use strict"});function qn(t){if(!t)return"";let e=t;return e=e.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),e=e.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,""),e=e.replace(/<!--[\s\S]*?-->/g,""),e=e.replace(/<\/(div|p|h[1-6]|li|ul|ol|tr|table|section|article|main|header|footer|nav)>/gi,`
|
|
31
|
+
`)||r.includes("\r")){let i=r.replace(new RegExp(e.quote,"g"),e.quote+e.quote);return e.quote+i+e.quote}return r}var An,En=A(()=>{"use strict";An=class extends Error{row;constructor(e,r){super(r!==void 0?`${e} at row ${r+1}`:e),this.name="CsvError",this.row=r}}});var Qs={};ve(Qs,{Agent:()=>Of,AsyncLocalStorage:()=>Af,AsyncResource:()=>Cf,Buffer:()=>Df,Client:()=>zf,EventEmitter:()=>Um,PassThrough:()=>Fm,ProxyAgent:()=>$f,Readable:()=>Pm,Server:()=>of,Socket:()=>nf,TLSSocket:()=>af,Transform:()=>Mm,WebSocket:()=>jf,Writable:()=>Nm,arch:()=>Xm,basename:()=>Em,brotliCompress:()=>gf,brotliDecompress:()=>vf,channel:()=>Ef,connect:()=>rf,cpus:()=>Jm,createCipheriv:()=>_m,createConnection:()=>tf,createDecipheriv:()=>jm,createHash:()=>Im,createHmac:()=>Hm,createPrivateKey:()=>$m,createReadStream:()=>hm,createSign:()=>qm,createWriteStream:()=>Lr,deepStrictEqual:()=>Pf,default:()=>Dn,deflate:()=>hf,deflateSync:()=>kf,dirname:()=>Cm,errors:()=>qf,exec:()=>Uf,execSync:()=>If,existsSync:()=>Xt,extname:()=>Dm,finished:()=>Bm,format:()=>Gm,freemem:()=>Qm,gunzip:()=>yf,gunzipSync:()=>wf,gzip:()=>ff,gzipSync:()=>xf,homedir:()=>Zm,inflate:()=>bf,inflateSync:()=>Tf,inspect:()=>Vm,join:()=>Am,lookup:()=>sf,mkdir:()=>bm,ok:()=>Lf,performance:()=>Sf,pipeline:()=>Rm,platform:()=>Km,promises:()=>ko,promisify:()=>Wm,randomBytes:()=>Om,randomUUID:()=>zm,readFile:()=>vm,readFileSync:()=>gm,readdir:()=>Sm,rejects:()=>Mf,request:()=>Hf,resolve:()=>Lm,resolve4:()=>cf,resolve6:()=>uf,resolveCname:()=>mf,resolveMx:()=>lf,resolveNs:()=>pf,resolveTxt:()=>df,rm:()=>km,spawn:()=>Ff,spawnSync:()=>Bf,stat:()=>Tm,strictEqual:()=>Rf,throws:()=>Nf,tmpdir:()=>ef,totalmem:()=>Ym,unlink:()=>xm,writeFile:()=>wm,writeFileSync:()=>ym});var se,K,we,Dn,Lr,hm,gm,ym,Xt,bm,vm,wm,xm,km,Tm,Sm,Am,Cm,Em,Dm,Lm,Rm,Pm,Nm,Mm,Fm,Bm,Um,Im,Hm,qm,$m,Om,zm,jm,_m,Wm,Vm,Gm,Km,Xm,Jm,Qm,Ym,Zm,ef,tf,rf,nf,of,af,sf,cf,uf,lf,df,pf,mf,ff,hf,gf,yf,bf,vf,wf,xf,kf,Tf,Sf,Af,Cf,Ef,Df,Lf,Rf,Pf,Nf,Mf,Ff,Bf,Uf,If,Hf,qf,$f,Of,zf,jf,ko,Lt=A(()=>{se=()=>{},K=()=>Promise.resolve(),we=class{constructor(){}},Dn={},Lr=se,hm=se,gm=()=>"",ym=se,Xt=()=>!1,bm=K,vm=K,wm=K,xm=K,km=K,Tm=K,Sm=K,Am=(...t)=>t.join("/"),Cm=t=>t.split("/").slice(0,-1).join("/"),Em=t=>t.split("/").pop()||"",Dm=t=>{let e=t.match(/\.[^.]+$/);return e?e[0]:""},Lm=(...t)=>t.join("/"),Rm=K,Pm=we,Nm=we,Mm=we,Fm=we,Bm=K,Um=class{on(){return this}off(){return this}emit(){return!1}once(){return this}addListener(){return this}removeListener(){return this}},Im=()=>({update:()=>({digest:()=>""})}),Hm=()=>({update:()=>({digest:()=>""})}),qm=()=>({update:()=>({}),sign:()=>""}),$m=()=>({}),Om=t=>new Uint8Array(t),zm=()=>crypto.randomUUID(),jm=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:se}),_m=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:se}),Wm=t=>t,Vm=t=>JSON.stringify(t),Gm=(...t)=>t.join(" "),Km=()=>"browser",Xm=()=>"unknown",Jm=()=>[],Qm=()=>0,Ym=()=>0,Zm=()=>"/",ef=()=>"/tmp",tf=se,rf=se,nf=we,of=we,af=we,sf=(t,e)=>e(null,"127.0.0.1",4),cf=K,uf=K,lf=K,df=K,pf=K,mf=K,ff=(t,e)=>e(null,t),hf=(t,e)=>e(null,t),gf=(t,e)=>e(null,t),yf=(t,e)=>e(null,t),bf=(t,e)=>e(null,t),vf=(t,e)=>e(null,t),wf=t=>t,xf=t=>t,kf=t=>t,Tf=t=>t,Sf=globalThis.performance,Af=class{getStore(){}run(t,e){return e()}enterWith(){}},Cf=we,Ef=()=>({subscribe:se,unsubscribe:se,publish:se,hasSubscribers:!1}),Df={from:t=>new Uint8Array(typeof t=="string"?new TextEncoder().encode(t):t),alloc:t=>new Uint8Array(t),allocUnsafe:t=>new Uint8Array(t),isBuffer:()=>!1},Lf=se,Rf=se,Pf=se,Nf=se,Mf=K,Ff=()=>({on:se,stdout:{on:se},stderr:{on:se},kill:se}),Bf=()=>({status:0,stdout:"",stderr:""}),Uf=se,If=()=>"",Hf=K,qf={ConnectTimeoutError:we,HeadersTimeoutError:we,BodyTimeoutError:we},$f=we,Of=we,zf=we,jf=we,ko={readFile:K,writeFile:K,access:K,stat:K,mkdir:K,unlink:K,readdir:K}});var ec={};ve(ec,{Agent:()=>gg,AsyncLocalStorage:()=>eg,AsyncResource:()=>tg,Buffer:()=>ng,Client:()=>yg,EventEmitter:()=>ph,PassThrough:()=>dh,ProxyAgent:()=>hg,Readable:()=>ch,Server:()=>Fh,Socket:()=>Mh,TLSSocket:()=>Bh,Transform:()=>lh,WebSocket:()=>bg,Writable:()=>uh,arch:()=>Ah,basename:()=>oh,brotliCompress:()=>Wh,brotliDecompress:()=>Kh,channel:()=>rg,connect:()=>Nh,cpus:()=>Ch,createCipheriv:()=>wh,createConnection:()=>Ph,createDecipheriv:()=>vh,createHash:()=>mh,createHmac:()=>fh,createPrivateKey:()=>gh,createReadStream:()=>Vf,createSign:()=>hh,createWriteStream:()=>Wf,deepStrictEqual:()=>ag,default:()=>_f,deflate:()=>_h,deflateSync:()=>Qh,dirname:()=>ih,errors:()=>fg,exec:()=>dg,execSync:()=>pg,existsSync:()=>Xf,extname:()=>ah,finished:()=>Zs,format:()=>Th,freemem:()=>Eh,gunzip:()=>Vh,gunzipSync:()=>Xh,gzip:()=>jh,gzipSync:()=>Jh,homedir:()=>Lh,inflate:()=>Gh,inflateSync:()=>Yh,inspect:()=>kh,join:()=>nh,lookup:()=>Uh,mkdir:()=>Jf,ok:()=>ig,performance:()=>Zh,pipeline:()=>Ys,platform:()=>Sh,promises:()=>vg,promisify:()=>xh,randomBytes:()=>yh,randomUUID:()=>bh,readFile:()=>Qf,readFileSync:()=>Gf,readdir:()=>rh,rejects:()=>cg,request:()=>mg,resolve:()=>sh,resolve4:()=>Ih,resolve6:()=>Hh,resolveCname:()=>zh,resolveMx:()=>qh,resolveNs:()=>Oh,resolveTxt:()=>$h,rm:()=>eh,spawn:()=>ug,spawnSync:()=>lg,stat:()=>th,strictEqual:()=>og,throws:()=>sg,tmpdir:()=>Rh,totalmem:()=>Dh,unlink:()=>Zf,writeFile:()=>Yf,writeFileSync:()=>Kf});var ce,X,xe,_f,Wf,Vf,Gf,Kf,Xf,Jf,Qf,Yf,Zf,eh,th,rh,nh,ih,oh,ah,sh,Ys,ch,uh,lh,dh,Zs,ph,mh,fh,hh,gh,yh,bh,vh,wh,xh,kh,Th,Sh,Ah,Ch,Eh,Dh,Lh,Rh,Ph,Nh,Mh,Fh,Bh,Uh,Ih,Hh,qh,$h,Oh,zh,jh,_h,Wh,Vh,Gh,Kh,Xh,Jh,Qh,Yh,Zh,eg,tg,rg,ng,ig,og,ag,sg,cg,ug,lg,dg,pg,mg,fg,hg,gg,yg,bg,vg,Ln=A(()=>{ce=()=>{},X=()=>Promise.resolve(),xe=class{constructor(){}},_f={},Wf=ce,Vf=ce,Gf=()=>"",Kf=ce,Xf=()=>!1,Jf=X,Qf=X,Yf=X,Zf=X,eh=X,th=X,rh=X,nh=(...t)=>t.join("/"),ih=t=>t.split("/").slice(0,-1).join("/"),oh=t=>t.split("/").pop()||"",ah=t=>{let e=t.match(/\.[^.]+$/);return e?e[0]:""},sh=(...t)=>t.join("/"),Ys=X,ch=xe,uh=xe,lh=xe,dh=xe,Zs=X,ph=class{on(){return this}off(){return this}emit(){return!1}once(){return this}addListener(){return this}removeListener(){return this}},mh=()=>({update:()=>({digest:()=>""})}),fh=()=>({update:()=>({digest:()=>""})}),hh=()=>({update:()=>({}),sign:()=>""}),gh=()=>({}),yh=t=>new Uint8Array(t),bh=()=>crypto.randomUUID(),vh=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:ce}),wh=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:ce}),xh=t=>t,kh=t=>JSON.stringify(t),Th=(...t)=>t.join(" "),Sh=()=>"browser",Ah=()=>"unknown",Ch=()=>[],Eh=()=>0,Dh=()=>0,Lh=()=>"/",Rh=()=>"/tmp",Ph=ce,Nh=ce,Mh=xe,Fh=xe,Bh=xe,Uh=(t,e)=>e(null,"127.0.0.1",4),Ih=X,Hh=X,qh=X,$h=X,Oh=X,zh=X,jh=(t,e)=>e(null,t),_h=(t,e)=>e(null,t),Wh=(t,e)=>e(null,t),Vh=(t,e)=>e(null,t),Gh=(t,e)=>e(null,t),Kh=(t,e)=>e(null,t),Xh=t=>t,Jh=t=>t,Qh=t=>t,Yh=t=>t,Zh=globalThis.performance,eg=class{getStore(){}run(t,e){return e()}enterWith(){}},tg=xe,rg=()=>({subscribe:ce,unsubscribe:ce,publish:ce,hasSubscribers:!1}),ng={from:t=>new Uint8Array(typeof t=="string"?new TextEncoder().encode(t):t),alloc:t=>new Uint8Array(t),allocUnsafe:t=>new Uint8Array(t),isBuffer:()=>!1},ig=ce,og=ce,ag=ce,sg=ce,cg=X,ug=()=>({on:ce,stdout:{on:ce},stderr:{on:ce},kill:ce}),lg=()=>({status:0,stdout:"",stderr:""}),dg=ce,pg=()=>"",mg=X,fg={ConnectTimeoutError:xe,HeadersTimeoutError:xe,BodyTimeoutError:xe},hg=xe,gg=xe,yg=xe,bg=xe,vg={readFile:X,writeFile:X,access:X,stat:X,mkdir:X,unlink:X,readdir:X}});var rc={};ve(rc,{Agent:()=>V0,AsyncLocalStorage:()=>R0,AsyncResource:()=>P0,Buffer:()=>M0,Client:()=>G0,EventEmitter:()=>zg,PassThrough:()=>tc,ProxyAgent:()=>W0,Readable:()=>Rn,Server:()=>l0,Socket:()=>u0,TLSSocket:()=>d0,Transform:()=>$g,WebSocket:()=>K0,Writable:()=>qg,arch:()=>t0,basename:()=>Bg,brotliCompress:()=>x0,brotliDecompress:()=>S0,channel:()=>N0,connect:()=>c0,cpus:()=>r0,createCipheriv:()=>Jg,createConnection:()=>s0,createDecipheriv:()=>Xg,createHash:()=>jg,createHmac:()=>_g,createPrivateKey:()=>Vg,createReadStream:()=>kg,createSign:()=>Wg,createWriteStream:()=>xg,deepStrictEqual:()=>U0,default:()=>wg,deflate:()=>w0,deflateSync:()=>E0,dirname:()=>Fg,errors:()=>_0,exec:()=>O0,execSync:()=>z0,existsSync:()=>Ag,extname:()=>Ug,finished:()=>Og,format:()=>Zg,freemem:()=>n0,gunzip:()=>k0,gunzipSync:()=>A0,gzip:()=>v0,gzipSync:()=>C0,homedir:()=>o0,inflate:()=>T0,inflateSync:()=>D0,inspect:()=>Yg,join:()=>Mg,lookup:()=>p0,mkdir:()=>Cg,ok:()=>F0,performance:()=>L0,pipeline:()=>Hg,platform:()=>e0,promises:()=>X0,promisify:()=>Qg,randomBytes:()=>Gg,randomUUID:()=>Kg,readFile:()=>Eg,readFileSync:()=>Tg,readdir:()=>Ng,rejects:()=>H0,request:()=>j0,resolve:()=>Ig,resolve4:()=>m0,resolve6:()=>f0,resolveCname:()=>b0,resolveMx:()=>h0,resolveNs:()=>y0,resolveTxt:()=>g0,rm:()=>Rg,spawn:()=>q0,spawnSync:()=>$0,stat:()=>Pg,strictEqual:()=>B0,throws:()=>I0,tmpdir:()=>a0,totalmem:()=>i0,unlink:()=>Lg,writeFile:()=>Dg,writeFileSync:()=>Sg});var ue,J,ke,wg,xg,kg,Tg,Sg,Ag,Cg,Eg,Dg,Lg,Rg,Pg,Ng,Mg,Fg,Bg,Ug,Ig,Hg,Rn,qg,$g,tc,Og,zg,jg,_g,Wg,Vg,Gg,Kg,Xg,Jg,Qg,Yg,Zg,e0,t0,r0,n0,i0,o0,a0,s0,c0,u0,l0,d0,p0,m0,f0,h0,g0,y0,b0,v0,w0,x0,k0,T0,S0,A0,C0,E0,D0,L0,R0,P0,N0,M0,F0,B0,U0,I0,H0,q0,$0,O0,z0,j0,_0,W0,V0,G0,K0,X0,Pn=A(()=>{ue=()=>{},J=()=>Promise.resolve(),ke=class{constructor(){}},wg={},xg=ue,kg=ue,Tg=()=>"",Sg=ue,Ag=()=>!1,Cg=J,Eg=J,Dg=J,Lg=J,Rg=J,Pg=J,Ng=J,Mg=(...t)=>t.join("/"),Fg=t=>t.split("/").slice(0,-1).join("/"),Bg=t=>t.split("/").pop()||"",Ug=t=>{let e=t.match(/\.[^.]+$/);return e?e[0]:""},Ig=(...t)=>t.join("/"),Hg=J,Rn=ke,qg=ke,$g=ke,tc=ke,Og=J,zg=class{on(){return this}off(){return this}emit(){return!1}once(){return this}addListener(){return this}removeListener(){return this}},jg=()=>({update:()=>({digest:()=>""})}),_g=()=>({update:()=>({digest:()=>""})}),Wg=()=>({update:()=>({}),sign:()=>""}),Vg=()=>({}),Gg=t=>new Uint8Array(t),Kg=()=>crypto.randomUUID(),Xg=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:ue}),Jg=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:ue}),Qg=t=>t,Yg=t=>JSON.stringify(t),Zg=(...t)=>t.join(" "),e0=()=>"browser",t0=()=>"unknown",r0=()=>[],n0=()=>0,i0=()=>0,o0=()=>"/",a0=()=>"/tmp",s0=ue,c0=ue,u0=ke,l0=ke,d0=ke,p0=(t,e)=>e(null,"127.0.0.1",4),m0=J,f0=J,h0=J,g0=J,y0=J,b0=J,v0=(t,e)=>e(null,t),w0=(t,e)=>e(null,t),x0=(t,e)=>e(null,t),k0=(t,e)=>e(null,t),T0=(t,e)=>e(null,t),S0=(t,e)=>e(null,t),A0=t=>t,C0=t=>t,E0=t=>t,D0=t=>t,L0=globalThis.performance,R0=class{getStore(){}run(t,e){return e()}enterWith(){}},P0=ke,N0=()=>({subscribe:ue,unsubscribe:ue,publish:ue,hasSubscribers:!1}),M0={from:t=>new Uint8Array(typeof t=="string"?new TextEncoder().encode(t):t),alloc:t=>new Uint8Array(t),allocUnsafe:t=>new Uint8Array(t),isBuffer:()=>!1},F0=ue,B0=ue,U0=ue,I0=ue,H0=J,q0=()=>({on:ue,stdout:{on:ue},stderr:{on:ue},kill:ue}),$0=()=>({status:0,stdout:"",stderr:""}),O0=ue,z0=()=>"",j0=J,_0={ConnectTimeoutError:ke,HeadersTimeoutError:ke,BodyTimeoutError:ke},W0=ke,V0=ke,G0=ke,K0=ke,X0={readFile:J,writeFile:J,access:J,stat:J,mkdir:J,unlink:J,readdir:J}});function gt(t){try{let e=new URL(t);return`${e.protocol}//${e.host}`}catch{return t}}function Eo(t){if(!t)return;let e=t.toLowerCase();if(e==="h2"||e==="http/2"||e==="http/2.0")return"h2";if(e==="h3"||e.startsWith("h3-"))return"h3";if(e==="http/1.1"||e==="http/1.0"||e==="http")return"http/1.1"}function Un(){return Co||(Co=new Nr),Co}var Nr,Co,In=A(()=>{"use strict";Nr=class{cache;options;constructor(e={}){this.cache=new Map,this.options={ttl:e.ttl??3600*1e3,maxSize:e.maxSize??1e3,failureThreshold:e.failureThreshold??3}}get(e){let r=gt(e),n=this.cache.get(r);if(n){if(Date.now()-n.detectedAt>this.options.ttl){this.cache.delete(r);return}return n.protocol}}getEntry(e){let r=gt(e),n=this.cache.get(r);if(n){if(Date.now()-n.detectedAt>this.options.ttl){this.cache.delete(r);return}return n}}set(e,r){let n=gt(e),i=Eo(r)??r;if(this.cache.size>=this.options.maxSize&&!this.cache.has(n)){let s=this.cache.keys().next().value;s&&this.cache.delete(s)}let o=this.cache.get(n);this.cache.set(n,{protocol:i,detectedAt:Date.now(),successCount:((o==null?void 0:o.successCount)??0)+1,failureCount:(o==null?void 0:o.failureCount)??0,http2Rejected:o==null?void 0:o.http2Rejected}),this.cache.delete(n),this.cache.set(n,this.cache.get(n)??{protocol:i,detectedAt:Date.now(),successCount:1,failureCount:0})}recordSuccess(e){let r=gt(e),n=this.cache.get(r);n&&(n.successCount++,n.failureCount=Math.max(0,n.failureCount-1))}recordFailure(e,r=!1){let n=gt(e),i=this.cache.get(n);return i?(i.failureCount++,r&&(i.http2Rejected=!0),i.failureCount>=this.options.failureThreshold):!1}hasHttp2Issues(e){let r=this.getEntry(e);return r?r.http2Rejected===!0||r.protocol==="http/1.1"&&r.failureCount>=this.options.failureThreshold:!1}shouldTryHttp2(e){let r=this.getEntry(e);return r?r.http2Rejected?!1:r.protocol==="h2"||r.protocol==="h3"?!0:!(r.failureCount>=this.options.failureThreshold):!0}delete(e){let r=gt(e);return this.cache.delete(r)}clear(){this.cache.clear()}getStats(){let e=[],r=[],n=[];for(let[i,o]of this.cache.entries())o.protocol==="h2"||o.protocol==="h3"?e.push(i):r.push(i),(o.http2Rejected||o.failureCount>=this.options.failureThreshold)&&n.push(i);return{size:this.cache.size,maxSize:this.options.maxSize,origins:Array.from(this.cache.keys()),http2Origins:e,http1Origins:r,problematicOrigins:n}}toJSON(){let e={};for(let[r,n]of this.cache.entries())e[r]=n;return e}fromJSON(e){let r=Date.now();for(let[n,i]of Object.entries(e))r-i.detectedAt<=this.options.ttl&&this.cache.set(n,i)}},Co=null});function Fe(t,e,r){let n=typeof r=="number"?{total:r}:r||{},{total:i,direction:o,throttleMs:s=100}=n,c=0,u=Date.now(),l=0,d=0,p=u,m=0,f=.3,h=(g,y)=>{let C=(g-u)/1e3,b=g-p,w=c-d;if(b>0){let k=w/b*1e3;m=m===0?k:m*(1-f)+k*f}d=c,p=g;let x=m,v;i&&(v=y?100:Math.min(c/i*100,99.9));let T={loaded:c,transferred:c,total:i,percent:v,rate:x,estimated:i&&x>0?(i-c)/x*1e3:void 0,direction:o};e(T),l=g};return new ReadableStream({async start(g){let y=t.getReader();try{for(h(Date.now(),!1);;){let{done:C,value:b}=await y.read();if(C){h(Date.now(),!0),g.close();break}c+=b.byteLength;let w=Date.now();(w-l>=s||i&&c===i)&&h(w,!1),g.enqueue(b)}}catch(C){throw g.error(C),C}}})}var Ro=A(()=>{"use strict"});function qn(t){if(!t)return"";let e=t;return e=e.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),e=e.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,""),e=e.replace(/<!--[\s\S]*?-->/g,""),e=e.replace(/<\/(div|p|h[1-6]|li|ul|ol|tr|table|section|article|main|header|footer|nav)>/gi,`
|
|
32
32
|
`),e=e.replace(/<(br|hr)\s*\/?>/gi,`
|
|
33
33
|
`),e=e.replace(/<[^>]+>/g," "),e=e.replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'"),e=e.replace(/[ \t]+/g," "),e=e.replace(/\n\s*\n\s*\n+/g,`
|
|
34
34
|
|
|
35
|
-
`),e.trim()}var Uo=
|
|
35
|
+
`),e.trim()}var Uo=A(()=>{"use strict"});async function*$n(t){if(!t.body)throw new ae("Response body is empty; cannot parse SSE stream.",{streamType:"sse",retriable:!0});let e=t.body.getReader(),r=new TextDecoder,n="",i={data:""};try{for(;;){let{done:o,value:s}=await e.read();if(o)break;n+=r.decode(s,{stream:!0});let c=n.split(/\r\n|\r|\n/);n=c.pop()||"";for(let u of c){if(u.trim()===""){(i.data||i.event||i.id)&&(i.data.endsWith(`
|
|
36
36
|
`)&&(i.data=i.data.slice(0,-1)),yield i,i={data:""});continue}let l=u.indexOf(":"),d=u,p="";switch(l!==-1&&(d=u.slice(0,l),p=u.slice(l+1),p.startsWith(" ")&&(p=p.slice(1))),d){case"data":i.data+=p+`
|
|
37
|
-
`;break;case"event":i.event=p;break;case"id":i.id=p;break;case"retry":let m=parseInt(p,10);isNaN(m)||(i.retry=m);break}}}n.trim()}finally{e.releaseLock()}}var Ho=T(()=>{"use strict";G()});function Sc(t){let e={hit:!1},r=t.get("cf-cache-status");r&&(e.provider="cloudflare",e.status=r.toUpperCase(),e.hit=r.toUpperCase()==="HIT");let n=t.get("x-cache");if(n){let l=n.toUpperCase();e.hit=l.includes("HIT"),l.includes("FASTLY")?e.provider="fastly":l.includes("VARNISH")&&(e.provider="varnish"),l.includes("HIT")?e.status="HIT":l.includes("MISS")?e.status="MISS":l.includes("EXPIRED")?e.status="EXPIRED":l.includes("STALE")&&(e.status="STALE")}let i=t.get("x-akamai-cache-status");i&&(e.provider="akamai",e.hit=i.toUpperCase().includes("HIT"));let o=t.get("x-cache");t.get("x-amz-cf-id")&&(e.provider="cloudfront");let c=t.get("cache-control");if(c){let l=c.match(/max-age=(\d+)/);l&&(e.maxAge=parseInt(l[1],10))}let u=t.get("age");return u&&(e.age=parseInt(u,10)),e}function Tc(t){let e={metadata:{}};for(let r of yy)if(r.detect(t)){e.provider=r.name,e.category=r.category;let n=r.extract(t);n.region&&(e.region=n.region),n.server&&(e.server=n.server),n.metadata&&Object.assign(e.metadata,n.metadata);break}if(!e.provider){let r=t.get("server");if(r){e.server=r;let n=r.toLowerCase();n.includes("cloudflare")?(e.provider="cloudflare",e.category="cdn"):n.includes("cloudfront")?(e.provider="aws-cloudfront",e.category="cloud"):n.includes("fastly")?(e.provider="fastly",e.category="cdn"):n.includes("akamai")?(e.provider="akamai",e.category="cdn"):n.includes("nginx")?(e.provider="nginx",e.category="server"):n.includes("apache")?(e.provider="apache",e.category="server"):n.includes("varnish")?(e.provider="varnish",e.category="proxy"):(e.provider="unknown",e.category="unknown")}}if(!e.provider){let r=t.get("via");if(r){let n=r.toLowerCase();n.includes("cloudflare")?(e.provider="cloudflare",e.category="cdn"):n.includes("akamai")?(e.provider="akamai",e.category="cdn"):n.includes("varnish")?(e.provider="varnish",e.category="proxy"):n.includes("squid")&&(e.provider="squid",e.category="proxy")}}return Object.keys(e.metadata||{}).length===0&&delete e.metadata,e}function Ac(t,e){let r={limited:e===429},n=t.get("x-ratelimit-limit")||t.get("ratelimit-limit"),i=t.get("x-ratelimit-remaining")||t.get("ratelimit-remaining"),o=t.get("x-ratelimit-reset")||t.get("ratelimit-reset");if(n&&(r.limit=parseInt(n,10)),i&&(r.remaining=parseInt(i,10)),o){let u=parseInt(o,10);u>1e9?r.reset=new Date(u*1e3):r.reset=new Date(Date.now()+u*1e3)}let s=t.get("retry-after");if(s){let u=parseInt(s,10);if(!isNaN(u))r.retryAfter=u;else{let l=new Date(s);isNaN(l.getTime())||(r.retryAfter=Math.ceil((l.getTime()-Date.now())/1e3))}}let c=t.get("ratelimit-policy");return c&&(r.policy=c),r.remaining!==void 0&&r.remaining===0&&(r.limited=!0),r}function Cc(t){let e={},r=t.get("content-encoding");r&&(e.encoding=r.toLowerCase());let n=t.get("x-original-size")||t.get("x-uncompressed-size");n&&(e.originalSize=parseInt(n,10));let i=t.get("content-length");return i&&(e.compressedSize=parseInt(i,10)),e.originalSize&&e.compressedSize&&(e.ratio=e.originalSize/e.compressedSize),e}function Ec(t){let e={directives:{},reportOnly:!1},r=t.get("content-security-policy");if(r||(r=t.get("content-security-policy-report-only"),r&&(e.reportOnly=!0)),r){e.policy=r;let n=r.split(";").map(i=>i.trim()).filter(Boolean);for(let i of n){let[o,...s]=i.split(/\s+/);o&&(e.directives[o]=s)}}return e}function Dc(t){let e={},r=t.get("content-type");if(!r)return e;let n=r.split(";").map(i=>i.trim());if(n[0]){e.mediaType=n[0];let[i,o]=n[0].split("/");i&&(e.type=i),o&&(e.subtype=o)}for(let i=1;i<n.length;i++){let o=n[i],[s,c]=o.split("=").map(u=>u.trim());s==="charset"&&c?e.charset=c.replace(/['"]/g,""):s==="boundary"&&c&&(e.boundary=c.replace(/['"]/g,""))}return e}function Lc(t){let e={types:[],encodings:[],languages:[]},r=t.get("accept");if(r){let o=r.split(",").map(s=>s.trim());for(let s of o){let[c,...u]=s.split(";").map(m=>m.trim()),l=1;for(let m of u)m.startsWith("q=")&&(l=parseFloat(m.substring(2))||1);let[d,p]=c.split("/");e.types.push({mediaType:c,q:l,type:d||void 0,subtype:p||void 0})}e.types.sort((s,c)=>c.q-s.q)}let n=t.get("accept-encoding");if(n){let o=n.split(",").map(s=>s.trim());for(let s of o){let[c,...u]=s.split(";").map(d=>d.trim()),l=1;for(let d of u)d.startsWith("q=")&&(l=parseFloat(d.substring(2))||1);e.encodings.push({encoding:c,q:l})}e.encodings.sort((s,c)=>c.q-s.q)}let i=t.get("accept-language");if(i){let o=i.split(",").map(s=>s.trim());for(let s of o){let[c,...u]=s.split(";").map(d=>d.trim()),l=1;for(let d of u)d.startsWith("q=")&&(l=parseFloat(d.substring(2))||1);e.languages.push({language:c,q:l})}e.languages.sort((s,c)=>c.q-s.q)}return e}function Rc(t){let e={methods:[]},r=t.get("www-authenticate");if(r){r.toLowerCase().includes("basic")&&e.methods.push("Basic"),r.toLowerCase().includes("bearer")&&e.methods.push("Bearer"),r.toLowerCase().includes("digest")&&e.methods.push("Digest"),r.toLowerCase().includes("negotiate")&&e.methods.push("Negotiate"),r.toLowerCase().includes("aws4-hmac-sha256")&&e.methods.push("AWS4");let i=r.match(/realm="([^"]+)"/);i&&(e.realm=i[1]);let o=r.match(/error="([^"]+)"/);o&&(e.error=o[1]);let s=r.match(/error_description="([^"]+)"/);s&&(e.errorDescription=s[1])}let n=t.get("x-auth-error")||t.get("x-authentication-error");return n&&(e.error||(e.error=n)),e}function Pc(t){let e=t.get("date");if(!e)return{};let r=new Date(e);if(isNaN(r.getTime()))return{};let n=r.getTime()-Date.now();return{serverTime:r,skewMs:n}}function ut(t,e){return{cache:Sc(t),platform:Tc(t),rateLimit:Ac(t,e),compression:Cc(t),csp:Ec(t),contentType:Dc(t),accept:Lc(t),auth:Rc(t),clockSkew:Pc(t)}}var yy,On=T(()=>{"use strict";yy=[{name:"cloudflare",category:"cdn",headers:["cf-ray","cf-cache-status"],detect:t=>t.get("cf-ray")!==null,extract:t=>{let e=t.get("cf-ray"),r={};if(e){r.ray=e;let n=e.split("-");if(n.length>1)return{region:n[1],metadata:r}}return{metadata:r}}},{name:"fastly",category:"cdn",headers:["fastly-debug-digest","x-served-by"],detect:t=>{let e=t.get("x-served-by");return(e==null?void 0:e.includes("cache-"))||t.get("fastly-debug-digest")!==null},extract:t=>({server:t.get("x-served-by")||void 0,metadata:{digest:t.get("fastly-debug-digest")}})},{name:"akamai",category:"cdn",headers:["x-akamai-request-id","x-akamai-cache-status"],detect:t=>t.get("x-akamai-request-id")!==null,extract:t=>({metadata:{requestId:t.get("x-akamai-request-id"),cacheId:t.get("x-akamai-cache-status")}})},{name:"aws-cloudfront",category:"cloud",headers:["x-amz-cf-id","x-amz-cf-pop"],detect:t=>t.get("x-amz-cf-id")!==null,extract:t=>({region:t.get("x-amz-cf-pop")||void 0,metadata:{requestId:t.get("x-amz-cf-id"),pop:t.get("x-amz-cf-pop")}})},{name:"gcp",category:"cloud",headers:["x-cloud-trace-context","x-goog-request-id"],detect:t=>t.get("x-cloud-trace-context")!==null||t.get("x-goog-request-id")!==null,extract:t=>{let e=t.get("x-cloud-trace-context");return{metadata:{traceId:e?e.split("/")[0]:void 0,requestId:t.get("x-goog-request-id")}}}},{name:"azure",category:"cloud",headers:["x-ms-request-id","x-azure-ref"],detect:t=>t.get("x-ms-request-id")!==null,extract:t=>({metadata:{requestId:t.get("x-ms-request-id"),ref:t.get("x-azure-ref")}})},{name:"oracle-cloud",category:"cloud",headers:["x-oracle-dms-rid","x-oracle-dms-ecid"],detect:t=>t.get("x-oracle-dms-rid")!==null,extract:t=>({metadata:{requestId:t.get("x-oracle-dms-rid"),ecid:t.get("x-oracle-dms-ecid")}})},{name:"alibaba-cloud",category:"cloud",headers:["ali-swift-global-savetime","eagleeye-traceid"],detect:t=>t.get("eagleeye-traceid")!==null,extract:t=>({metadata:{traceId:t.get("eagleeye-traceid")}})},{name:"vercel",category:"hosting",headers:["x-vercel-id","x-vercel-cache"],detect:t=>t.get("x-vercel-id")!==null,extract:t=>({metadata:{requestId:t.get("x-vercel-id"),cache:t.get("x-vercel-cache")}})},{name:"netlify",category:"hosting",headers:["x-nf-request-id","x-nf-trace-id"],detect:t=>t.get("x-nf-request-id")!==null,extract:t=>({metadata:{requestId:t.get("x-nf-request-id"),traceId:t.get("x-nf-trace-id")}})},{name:"render",category:"hosting",headers:["x-render-origin-server"],detect:t=>t.get("x-render-origin-server")!==null,extract:t=>({metadata:{origin:t.get("x-render-origin-server")}})},{name:"datadome",category:"security",headers:["x-datadome","x-datadome-cid"],detect:t=>t.get("x-datadome")!==null||t.get("x-datadome-cid")!==null,extract:t=>({metadata:{cid:t.get("x-datadome-cid")}})},{name:"incapsula",category:"security",headers:["x-iinfo","x-cdn"],detect:t=>t.get("x-iinfo")!==null||(t.get("x-cdn")||"").includes("Incapsula"),extract:t=>({metadata:{iinfo:t.get("x-iinfo")}})},{name:"imperva",category:"security",headers:["x-imperva-uuid"],detect:t=>t.get("x-imperva-uuid")!==null,extract:t=>({metadata:{uuid:t.get("x-imperva-uuid")}})},{name:"aws-waf",category:"security",headers:["x-amzn-waf-action"],detect:t=>t.get("server")==="awselb/2.0",extract:t=>({})},{name:"envoy",category:"proxy",headers:["x-envoy-upstream-service-time"],detect:t=>t.get("x-envoy-upstream-service-time")!==null||t.get("server")==="envoy",extract:t=>({})},{name:"traefik",category:"proxy",headers:[],detect:t=>(t.get("server")||"").toLowerCase().includes("traefik"),extract:t=>({})},{name:"caddy",category:"server",headers:[],detect:t=>(t.get("server")||"").toLowerCase().includes("caddy"),extract:t=>({})},{name:"haproxy",category:"proxy",headers:[],detect:t=>(t.get("server")||"").toLowerCase().includes("haproxy"),extract:t=>({})},{name:"iis",category:"server",headers:["x-powered-by"],detect:t=>(t.get("server")||"").toLowerCase().includes("iis"),extract:t=>({})},{name:"kestrel",category:"server",headers:[],detect:t=>(t.get("server")||"").toLowerCase().includes("kestrel"),extract:t=>({})},{name:"express",category:"framework",headers:["x-powered-by"],detect:t=>(t.get("x-powered-by")||"").toLowerCase().includes("express"),extract:t=>({})},{name:"rails",category:"framework",headers:["x-runtime","x-request-id"],detect:t=>t.get("x-runtime")!==null&&!(t.get("x-powered-by")||"").includes("Express"),extract:t=>({metadata:{runtime:t.get("x-runtime")}})},{name:"django",category:"framework",headers:[],detect:t=>(t.get("server")||"").toLowerCase().includes("wsgi"),extract:t=>({})},{name:"aspnet",category:"framework",headers:["x-aspnet-version","x-powered-by"],detect:t=>t.get("x-aspnet-version")!==null||(t.get("x-powered-by")||"").includes("ASP.NET"),extract:t=>({metadata:{version:t.get("x-aspnet-version")}})},{name:"php",category:"framework",headers:["x-powered-by"],detect:t=>(t.get("x-powered-by")||"").toLowerCase().includes("php"),extract:t=>({metadata:{version:t.get("x-powered-by")}})}]});function Nc(t){if(!t||typeof t!="string")return{all:[]};let e=[],r={all:e},n=by(t);for(let i of n){let o=vy(i.trim());if(o&&(e.push(o),o.rel)){let s=o.rel.split(/\s+/);for(let c of s){let u=r[c];u?Array.isArray(u)?u.push(o):r[c]=[u,o]:r[c]=o}}}return r}function by(t){let e=[],r="",n=!1,i=!1;for(let o=0;o<t.length;o++){let s=t[o],c=o>0?t[o-1]:"";if(s==="<"&&!i)n=!0;else if(s===">"&&!i)n=!1;else if(s==='"'&&c!=="\\")i=!i;else if(s===","&&!n&&!i){e.push(r.trim()),r="";continue}r+=s}return r.trim()&&e.push(r.trim()),e}function vy(t){let e=t.match(/^<([^>]+)>/);if(!e)return null;let n={uri:e[1]},i=t.slice(e[0].length),o=wy(i);for(let[s,c]of Object.entries(o))n[s]=c;return n}function wy(t){let e={},r=t.split(/;/).filter(n=>n.trim());for(let n of r){let i=n.indexOf("=");if(i===-1)continue;let o=n.slice(0,i).trim(),s=n.slice(i+1).trim();(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"))&&(s=s.slice(1,-1)),s=s.replace(/\\(.)/g,"$1"),e[o]=s}return e}function Br(t){let e=t.get("Link");return e?new zn(e):null}var Se,zn,jn=T(()=>{"use strict";Se={NEXT:"next",PREV:"prev",PREVIOUS:"previous",FIRST:"first",LAST:"last",ALTERNATE:"alternate",CANONICAL:"canonical",AUTHOR:"author",LICENSE:"license",STYLESHEET:"stylesheet",ICON:"icon",PRELOAD:"preload",PREFETCH:"prefetch",PRECONNECT:"preconnect",DNS_PREFETCH:"dns-prefetch",PRERENDER:"prerender",SELF:"self",EDIT:"edit",COLLECTION:"collection",ITEM:"item",HELP:"help",DESCRIBEDBY:"describedby",UP:"up",RELATED:"related",REPLIES:"replies",VIA:"via"},zn=class{links;constructor(e){this.links=Nc(e)}getAll(){return this.links.all}getRel(e){return this.links[e]}getFirst(e){let r=this.links[e];if(r)return Array.isArray(r)?r[0]:r}has(e){return e in this.links}getPagination(){var e,r,n,i,o;return{next:(e=this.getFirst(Se.NEXT))==null?void 0:e.uri,prev:((r=this.getFirst(Se.PREV))==null?void 0:r.uri)||((n=this.getFirst(Se.PREVIOUS))==null?void 0:n.uri),first:(i=this.getFirst(Se.FIRST))==null?void 0:i.uri,last:(o=this.getFirst(Se.LAST))==null?void 0:o.uri}}hasNext(){return this.has(Se.NEXT)}hasPrev(){return this.has(Se.PREV)||this.has(Se.PREVIOUS)}getCanonical(){var e;return(e=this.getFirst(Se.CANONICAL))==null?void 0:e.uri}getAlternates(){let e=this.getRel(Se.ALTERNATE);return e?Array.isArray(e)?e:[e]:[]}getResourceHints(){let e=r=>{let n=this.getRel(r);return n?Array.isArray(n)?n:[n]:[]};return{preload:e(Se.PRELOAD),prefetch:e(Se.PREFETCH),preconnect:e(Se.PRECONNECT),dnsPrefetch:e(Se.DNS_PREFETCH)}}toJSON(){return this.links}}});var Io,Mc,Yk,qo=T(()=>{Io={},Mc=t=>t,Yk=globalThis.performance});var Ur,Fc,eS,_n=T(()=>{Ur={},Fc=()=>"/",eS=globalThis.performance});var $o,rS,Bc=T(()=>{$o={},rS=globalThis.performance});function ky(){let t=["/sys/fs/cgroup/memory.max","/sys/fs/cgroup/memory/memory.limit_in_bytes"];for(let e of t)try{if(Dn.existsSync(e)){let r=Dn.readFileSync(e,"utf8").trim();if(!r||r==="max")continue;let n=Number.parseInt(r,10);if(Number.isFinite(n)&&n>0)return n}}catch{}return null}function Oo(){let t=ky();return t&&Number.isFinite(t)&&t>0?t:Ur.totalmem()}function Hc(t={}){let{maxMemoryBytes:e,maxMemoryPercent:r,safetyPercent:n}=t,i=$o.getHeapStatistics(),o=(i==null?void 0:i.heap_size_limit)??0,s=Oo(),c=0,u=!1;if(typeof e=="number"&&e>0)c=e;else if(typeof r=="number"&&r>0){let m=Math.max(0,Math.min(r,1));c=Math.floor(s*m),u=!0}let l=typeof n=="number"&&n>0&&n<=1?n:Uc,d=Math.floor(s*l);if((c===0||d<c)&&(c=d,u=u||(r??0)>0),o>0){let m=Math.floor(o*xy);(c===0||m<c)&&(c=m,u=u||(r??0)>0)}(!Number.isFinite(c)||c<=0)&&(c=Math.floor(s*Uc),u=!0);let p=s>0?c/s:null;return{maxMemoryBytes:c,derivedFromPercent:u,effectiveTotal:s,heapLimit:o,inferredPercent:p}}function Ye(t){if(t===0)return"0 B";let e=1024,r=["B","KB","MB","GB","TB"],n=Math.floor(Math.log(t)/Math.log(e));return`${(t/Math.pow(e,n)).toFixed(2)} ${r[n]}`}function Wn(){let t=$o.getHeapStatistics(),{heapUsed:e}=process.memoryUsage(),r=(t==null?void 0:t.heap_size_limit)??0,n=r>0?e/r:0;return{heapUsed:e,heapLimit:r,heapRatio:n}}var Uc,xy,Ic=T(()=>{"use strict";Lt();_n();Bc();Uc=.5,xy=.6});var jo={};ve(jo,{MemoryStorage:()=>zo});var zo,_o=T(()=>{"use strict";G();qo();_n();Ic();zo=class{storage=new Map;meta=new Map;maxSize;maxMemoryBytes;maxMemoryPercent;defaultTtl;evictionPolicy;compressionEnabled;compressionThreshold;enableStats;heapUsageThreshold;onEvict;onPressure;currentMemoryBytes=0;evictedDueToMemory=0;memoryPressureEvents=0;accessCounter=0;monitorHandle=null;cleanupHandle=null;stats={hits:0,misses:0,sets:0,deletes:0,evictions:0};compressionStats={totalCompressed:0,totalOriginalSize:0,totalCompressedSize:0};constructor(e={}){if(e.maxMemoryBytes&&e.maxMemoryBytes>0&&e.maxMemoryPercent&&e.maxMemoryPercent>0)throw new Le("[MemoryStorage] Cannot use both maxMemoryBytes and maxMemoryPercent",{configKey:"maxMemoryBytes|maxMemoryPercent"});if(e.maxMemoryPercent!==void 0&&(e.maxMemoryPercent<0||e.maxMemoryPercent>1))throw new Le("[MemoryStorage] maxMemoryPercent must be between 0 and 1",{configKey:"maxMemoryPercent"});if(this.maxSize=e.maxSize??1e3,this.defaultTtl=e.ttl??3e5,this.evictionPolicy=e.evictionPolicy??"lru",this.enableStats=e.enableStats??!1,this.heapUsageThreshold=e.heapUsageThreshold??.6,e.maxMemoryBytes&&e.maxMemoryBytes>0)this.maxMemoryBytes=e.maxMemoryBytes,this.maxMemoryPercent=0;else if(e.maxMemoryPercent&&e.maxMemoryPercent>0){let i=Oo();this.maxMemoryBytes=Math.floor(i*e.maxMemoryPercent),this.maxMemoryPercent=e.maxMemoryPercent}else{let i=Hc({});this.maxMemoryBytes=i.maxMemoryBytes,this.maxMemoryPercent=i.inferredPercent??0}e.compression===!0?(this.compressionEnabled=!0,this.compressionThreshold=1024):typeof e.compression=="object"&&e.compression.enabled?(this.compressionEnabled=!0,this.compressionThreshold=e.compression.threshold??1024):(this.compressionEnabled=!1,this.compressionThreshold=1024),this.onEvict=e.onEvict,this.onPressure=e.onPressure;let r=e.monitorInterval??15e3;r>0&&(this.monitorHandle=setInterval(()=>this.memoryHealthCheck(),r),this.monitorHandle.unref());let n=e.cleanupInterval??6e4;n>0&&(this.cleanupHandle=setInterval(()=>this.cleanupExpired(),n),this.cleanupHandle.unref())}async get(e){let r=this.storage.get(e),n=this.meta.get(e);if(!r||!n){this.recordStat("misses");return}let i=Date.now();if(i>n.expiresAt){this.deleteInternal(e),this.recordStat("misses");return}if(this.evictionPolicy==="lru"&&(n.lastAccess=i,n.accessOrder=++this.accessCounter),this.recordStat("hits"),this.isCompressed(r))try{let o=this.decompress(r);return JSON.parse(o)}catch{this.deleteInternal(e);return}return JSON.parse(r)}async set(e,r,n){let i=n??this.defaultTtl,o=Date.now(),s=JSON.stringify(r),c=Buffer.byteLength(s,"utf8"),u=s,l=c,d=!1;if(this.compressionEnabled&&c>=this.compressionThreshold)try{let m=this.compress(s);u=m,l=Buffer.byteLength(m.__data,"utf8"),d=!0,this.compressionStats.totalCompressed++,this.compressionStats.totalOriginalSize+=c,this.compressionStats.totalCompressedSize+=l}catch{}let p=this.meta.get(e);if(p&&(this.currentMemoryBytes-=p.compressedSize),!this.enforceMemoryLimit(l)){this.evictedDueToMemory++;return}!p&&this.storage.size>=this.maxSize&&this.evictOne("size"),this.storage.set(e,u),this.meta.set(e,{createdAt:o,expiresAt:o+i,lastAccess:o,insertOrder:++this.accessCounter,accessOrder:this.accessCounter,compressed:d,originalSize:c,compressedSize:l}),this.currentMemoryBytes+=l,this.recordStat("sets")}async delete(e){this.deleteInternal(e),this.recordStat("deletes")}clear(e){if(!e){this.storage.clear(),this.meta.clear(),this.currentMemoryBytes=0,this.evictedDueToMemory=0,this.enableStats&&(this.stats={hits:0,misses:0,sets:0,deletes:0,evictions:0});return}for(let r of this.storage.keys())r.startsWith(e)&&this.deleteInternal(r)}size(){return this.storage.size}keys(){return Array.from(this.storage.keys())}has(e){let r=this.meta.get(e);return r?Date.now()>r.expiresAt?(this.deleteInternal(e),!1):!0:!1}getStats(){let e=this.stats.hits+this.stats.misses,r=e>0?this.stats.hits/e:0;return{enabled:this.enableStats,...this.stats,hitRate:r,totalItems:this.storage.size,memoryUsageBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes,evictedDueToMemory:this.evictedDueToMemory}}getMemoryStats(){let e=this.storage.size,r=this.maxMemoryBytes>0?this.currentMemoryBytes/this.maxMemoryBytes*100:0,n=Ur.totalmem(),i=Ur.freemem(),o=n-i,s=n>0?this.currentMemoryBytes/n*100:0;return{currentMemoryBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes,maxMemoryPercent:this.maxMemoryPercent,memoryUsagePercent:parseFloat(r.toFixed(2)),cachePercentOfSystemMemory:parseFloat(s.toFixed(2)),totalItems:e,maxSize:this.maxSize,evictedDueToMemory:this.evictedDueToMemory,memoryPressureEvents:this.memoryPressureEvents,averageItemSize:e>0?Math.round(this.currentMemoryBytes/e):0,memoryUsage:{current:Ye(this.currentMemoryBytes),max:Ye(this.maxMemoryBytes),available:Ye(Math.max(0,this.maxMemoryBytes-this.currentMemoryBytes))},systemMemory:{total:Ye(n),free:Ye(i),used:Ye(o),cachePercent:`${s.toFixed(2)}%`}}}getCompressionStats(){if(!this.compressionEnabled)return{enabled:!1,totalItems:this.storage.size,compressedItems:0,compressionThreshold:this.compressionThreshold,totalOriginalSize:0,totalCompressedSize:0,averageCompressionRatio:"0",spaceSavingsPercent:"0",memoryUsage:{uncompressed:"0 B",compressed:"0 B",saved:"0 B"}};let e=this.compressionStats.totalOriginalSize>0?(this.compressionStats.totalCompressedSize/this.compressionStats.totalOriginalSize).toFixed(2):"0",r=this.compressionStats.totalOriginalSize>0?((this.compressionStats.totalOriginalSize-this.compressionStats.totalCompressedSize)/this.compressionStats.totalOriginalSize*100).toFixed(2):"0",n=this.compressionStats.totalOriginalSize-this.compressionStats.totalCompressedSize;return{enabled:!0,totalItems:this.storage.size,compressedItems:this.compressionStats.totalCompressed,compressionThreshold:this.compressionThreshold,totalOriginalSize:this.compressionStats.totalOriginalSize,totalCompressedSize:this.compressionStats.totalCompressedSize,averageCompressionRatio:e,spaceSavingsPercent:r,memoryUsage:{uncompressed:Ye(this.compressionStats.totalOriginalSize),compressed:Ye(this.compressionStats.totalCompressedSize),saved:Ye(n)}}}shutdown(){this.monitorHandle&&(clearInterval(this.monitorHandle),this.monitorHandle=null),this.cleanupHandle&&(clearInterval(this.cleanupHandle),this.cleanupHandle=null)}deleteInternal(e){let r=this.meta.get(e);r&&(this.currentMemoryBytes-=r.compressedSize),this.storage.delete(e),this.meta.delete(e)}recordStat(e){this.enableStats&&this.stats[e]++}isCompressed(e){return typeof e=="object"&&e!==null&&"__compressed"in e}compress(e){let r=Buffer.from(e,"utf8");return{__compressed:!0,__data:Io.gzipSync(r).toString("base64"),__originalSize:r.length}}decompress(e){let r=Buffer.from(e.__data,"base64");return Io.gunzipSync(r).toString("utf8")}selectEvictionCandidate(){if(this.meta.size===0)return null;let e=null,r=(this.evictionPolicy==="lru",1/0);for(let[n,i]of this.meta){let o=this.evictionPolicy==="lru"?i.accessOrder:i.insertOrder;o<r&&(r=o,e=n)}return e}evictOne(e){var o;let r=this.selectEvictionCandidate();if(!r)return null;let n=this.meta.get(r),i=(n==null?void 0:n.compressedSize)??0;return this.deleteInternal(r),this.stats.evictions++,(e==="memory"||e==="heap")&&this.evictedDueToMemory++,(o=this.onEvict)==null||o.call(this,{reason:e,key:r,freedBytes:i,currentBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes}),{key:r,freedBytes:i}}enforceMemoryLimit(e){if(e>this.maxMemoryBytes)return!1;for(;this.currentMemoryBytes+e>this.maxMemoryBytes&&this.storage.size>0&&this.evictOne("memory"););return this.currentMemoryBytes+e<=this.maxMemoryBytes}reduceMemoryTo(e){e=Math.max(0,e);let r=0;for(;this.currentMemoryBytes>e&&this.storage.size>0;){let n=this.evictOne("memory");if(!n)break;r+=n.freedBytes}return r}memoryHealthCheck(){var o,s;let e=0;if(this.currentMemoryBytes>this.maxMemoryBytes){let c=this.currentMemoryBytes;this.enforceMemoryLimit(0);let u=c-this.currentMemoryBytes;u>0&&(e+=u,this.memoryPressureEvents++,(o=this.onPressure)==null||o.call(this,{reason:"limit",heapLimit:Wn().heapLimit,heapUsed:Wn().heapUsed,currentBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes,freedBytes:u}))}let{heapUsed:r,heapLimit:n,heapRatio:i}=Wn();if(n>0&&i>=this.heapUsageThreshold){let c=this.currentMemoryBytes,u=Math.floor(this.currentMemoryBytes*.5);this.reduceMemoryTo(u);let l=c-this.currentMemoryBytes;l>0&&(e+=l,this.memoryPressureEvents++,(s=this.onPressure)==null||s.call(this,{reason:"heap",heapLimit:n,heapUsed:r,heapRatio:i,currentBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes,freedBytes:l}))}return e}cleanupExpired(){var n;let e=Date.now(),r=0;for(let[i,o]of this.meta)e>o.expiresAt&&(this.deleteInternal(i),r++,(n=this.onEvict)==null||n.call(this,{reason:"expired",key:i,freedBytes:o.compressedSize,currentBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes}));return r}}});var Bt=Ws((PS,Xc)=>{Xc.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}});var L,Z,Yn=T(()=>{(function(t){t.Attribute="attribute",t.Pseudo="pseudo",t.PseudoElement="pseudo-element",t.Tag="tag",t.Universal="universal",t.Adjacent="adjacent",t.Child="child",t.Descendant="descendant",t.Parent="parent",t.Sibling="sibling",t.ColumnCombinator="column-combinator"})(L||(L={}));(function(t){t.Any="any",t.Element="element",t.End="end",t.Equals="equals",t.Exists="exists",t.Hyphen="hyphen",t.Not="not",t.Start="start"})(Z||(Z={}))});function Zn(t){switch(t.type){case L.Adjacent:case L.Child:case L.Descendant:case L.Parent:case L.Sibling:case L.ColumnCombinator:return!0;default:return!1}}function ib(t,e,r){let n=Number.parseInt(e,16)-65536;return n!==n||r?e:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,n&1023|56320)}function qr(t){return t.replace(Zy,ib)}function oa(t){return t===D.SingleQuote||t===D.DoubleQuote}function Qc(t){return t===D.Space||t===D.Tab||t===D.NewLine||t===D.FormFeed||t===D.CarriageReturn}function $r(t){let e=[],r=Yc(e,`${t}`,0);if(r<t.length)throw new Error(`Unmatched selector: ${t.slice(r)}`);return e}function Yc(t,e,r){let n=[];function i(p){let m=e.slice(r+p).match(Jc);if(!m)throw new Error(`Expected name, found ${e.slice(r)}`);let[f]=m;return r+=p+f.length,qr(f)}function o(p){for(r+=p;r<e.length&&Qc(e.charCodeAt(r));)r++}function s(){r+=1;let p=r;for(let m=1;r<e.length;r++)switch(e.charCodeAt(r)){case D.BackSlash:{r+=1;break}case D.LeftParenthesis:{m+=1;break}case D.RightParenthesis:{if(m-=1,m===0)return qr(e.slice(p,r++));break}}throw new Error("Parenthesis not matched")}function c(){if(n.length>0&&Zn(n[n.length-1]))throw new Error("Did not expect successive traversals.")}function u(p){if(n.length>0&&n[n.length-1].type===L.Descendant){n[n.length-1].type=p;return}c(),n.push({type:p})}function l(p,m){n.push({type:L.Attribute,name:p,action:m,value:i(1),namespace:null,ignoreCase:"quirks"})}function d(){if(n.length>0&&n[n.length-1].type===L.Descendant&&n.pop(),n.length===0)throw new Error("Empty sub-selector");t.push(n)}if(o(0),e.length===r)return r;e:for(;r<e.length;){let p=e.charCodeAt(r);switch(p){case D.Space:case D.Tab:case D.NewLine:case D.FormFeed:case D.CarriageReturn:{(n.length===0||n[0].type!==L.Descendant)&&(c(),n.push({type:L.Descendant})),o(1);break}case D.GreaterThan:{u(L.Child),o(1);break}case D.LessThan:{u(L.Parent),o(1);break}case D.Tilde:{u(L.Sibling),o(1);break}case D.Plus:{u(L.Adjacent),o(1);break}case D.Period:{l("class",Z.Element);break}case D.Hash:{l("id",Z.Equals);break}case D.LeftSquareBracket:{o(1);let m,f=null;e.charCodeAt(r)===D.Pipe?m=i(1):e.startsWith("*|",r)?(f="*",m=i(2)):(m=i(0),e.charCodeAt(r)===D.Pipe&&e.charCodeAt(r+1)!==D.Equal&&(f=m,m=i(1))),o(0);let h=Z.Exists,g=eb.get(e.charCodeAt(r));if(g){if(h=g,e.charCodeAt(r+1)!==D.Equal)throw new Error("Expected `=`");o(2)}else e.charCodeAt(r)===D.Equal&&(h=Z.Equals,o(1));let y="",C=null;if(h!=="exists"){if(oa(e.charCodeAt(r))){let x=e.charCodeAt(r);r+=1;let k=r;for(;r<e.length&&e.charCodeAt(r)!==x;)r+=e.charCodeAt(r)===D.BackSlash?2:1;if(e.charCodeAt(r)!==x)throw new Error("Attribute value didn't end");y=qr(e.slice(k,r)),r+=1}else{let x=r;for(;r<e.length&&!Qc(e.charCodeAt(r))&&e.charCodeAt(r)!==D.RightSquareBracket;)r+=e.charCodeAt(r)===D.BackSlash?2:1;y=qr(e.slice(x,r))}switch(o(0),e.charCodeAt(r)|32){case D.LowerI:{C=!0,o(1);break}case D.LowerS:{C=!1,o(1);break}}}if(e.charCodeAt(r)!==D.RightSquareBracket)throw new Error("Attribute selector didn't terminate");r+=1;let b={type:L.Attribute,name:m,action:h,value:y,namespace:f,ignoreCase:C};n.push(b);break}case D.Colon:{if(e.charCodeAt(r+1)===D.Colon){n.push({type:L.PseudoElement,name:i(2).toLowerCase(),data:e.charCodeAt(r)===D.LeftParenthesis?s():null});break}let m=i(1).toLowerCase();if(rb.has(m)){n.push({type:L.PseudoElement,name:m,data:null});break}let f=null;if(e.charCodeAt(r)===D.LeftParenthesis)if(tb.has(m)){if(oa(e.charCodeAt(r+1)))throw new Error(`Pseudo-selector ${m} cannot be quoted`);if(f=[],r=Yc(f,e,r+1),e.charCodeAt(r)!==D.RightParenthesis)throw new Error(`Missing closing parenthesis in :${m} (${e})`);r+=1}else{if(f=s(),nb.has(m)){let h=f.charCodeAt(0);h===f.charCodeAt(f.length-1)&&oa(h)&&(f=f.slice(1,-1))}f=qr(f)}n.push({type:L.Pseudo,name:m,data:f});break}case D.Comma:{d(),n=[],o(1);break}default:{if(e.startsWith("/*",r)){let h=e.indexOf("*/",r+2);if(h<0)throw new Error("Comment was not terminated");r=h+2,n.length===0&&o(0);break}let m=null,f;if(p===D.Asterisk)r+=1,f="*";else if(p===D.Pipe){if(f="",e.charCodeAt(r+1)===D.Pipe){u(L.ColumnCombinator),o(2);break}}else if(Jc.test(e.slice(r)))f=i(0);else break e;e.charCodeAt(r)===D.Pipe&&e.charCodeAt(r+1)!==D.Pipe&&(m=f,e.charCodeAt(r+1)===D.Asterisk?(f="*",r+=2):f=i(1)),n.push(f==="*"?{type:L.Universal,namespace:m}:{type:L.Tag,name:f,namespace:m})}}}return d(),r}var Jc,Zy,D,eb,tb,rb,nb,Zc=T(()=>{Yn();Jc=/^[^#\\]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\u00B0-\uFFFF-])+/,Zy=/\\([\da-f]{1,6}\s?|(\s)|.)/gi;(function(t){t[t.LeftParenthesis=40]="LeftParenthesis",t[t.RightParenthesis=41]="RightParenthesis",t[t.LeftSquareBracket=91]="LeftSquareBracket",t[t.RightSquareBracket=93]="RightSquareBracket",t[t.Comma=44]="Comma",t[t.Period=46]="Period",t[t.Colon=58]="Colon",t[t.SingleQuote=39]="SingleQuote",t[t.DoubleQuote=34]="DoubleQuote",t[t.Plus=43]="Plus",t[t.Tilde=126]="Tilde",t[t.QuestionMark=63]="QuestionMark",t[t.ExclamationMark=33]="ExclamationMark",t[t.Slash=47]="Slash",t[t.Equal=61]="Equal",t[t.Dollar=36]="Dollar",t[t.Pipe=124]="Pipe",t[t.Circumflex=94]="Circumflex",t[t.Asterisk=42]="Asterisk",t[t.GreaterThan=62]="GreaterThan",t[t.LessThan=60]="LessThan",t[t.Hash=35]="Hash",t[t.LowerI=105]="LowerI",t[t.LowerS=115]="LowerS",t[t.BackSlash=92]="BackSlash",t[t.Space=32]="Space",t[t.Tab=9]="Tab",t[t.NewLine=10]="NewLine",t[t.FormFeed=12]="FormFeed",t[t.CarriageReturn=13]="CarriageReturn"})(D||(D={}));eb=new Map([[D.Tilde,Z.Element],[D.Circumflex,Z.Start],[D.Dollar,Z.End],[D.Asterisk,Z.Any],[D.ExclamationMark,Z.Not],[D.Pipe,Z.Hyphen]]),tb=new Set(["has","not","matches","is","where","host","host-context"]),rb=new Set(["before","after","first-line","first-letter"]);nb=new Set(["contains","icontains"])});var eu,tu,US,HS,IS,ru=T(()=>{Yn();eu=["\\",'"'],tu=[...eu,"(",")"],US=new Set(eu.map(t=>t.charCodeAt(0))),HS=new Set(tu.map(t=>t.charCodeAt(0))),IS=new Set([...tu,"~","^","$","*","+","!","|",":","[","]"," ",".","%"].map(t=>t.charCodeAt(0)))});var nr=T(()=>{Yn();Zc();ru()});function nu(t){return t.type===re.Tag||t.type===re.Script||t.type===re.Style}var re,iu,ou,au,su,cu,uu,lu,du,pu,Or=T(()=>{(function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"})(re||(re={}));iu=re.Root,ou=re.Text,au=re.Directive,su=re.Comment,cu=re.Script,uu=re.Style,lu=re.Tag,du=re.CDATA,pu=re.Doctype});function ge(t){return nu(t)}function zr(t){return t.type===re.CDATA}function lt(t){return t.type===re.Text}function ei(t){return t.type===re.Comment}function mu(t){return t.type===re.Root}function be(t){return Object.prototype.hasOwnProperty.call(t,"children")}var aa=T(()=>{Or()});var Ut=T(()=>{Or();aa();aa()});var fu,hu=T(()=>{fu=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(t=>t.charCodeAt(0)))});var gu,yu=T(()=>{gu=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(t=>t.charCodeAt(0)))});function ua(t){var e;return t>=55296&&t<=57343||t>1114111?65533:(e=ab.get(t))!==null&&e!==void 0?e:t}var sa,ab,ca,la=T(()=>{ab=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),ca=(sa=String.fromCodePoint)!==null&&sa!==void 0?sa:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|t&1023),e+=String.fromCharCode(t),e}});function da(t){return t>=he.ZERO&&t<=he.NINE}function cb(t){return t>=he.UPPER_A&&t<=he.UPPER_F||t>=he.LOWER_A&&t<=he.LOWER_F}function ub(t){return t>=he.UPPER_A&&t<=he.UPPER_Z||t>=he.LOWER_A&&t<=he.LOWER_Z||da(t)}function lb(t){return t===he.EQUALS||ub(t)}function bu(t){let e="",r=new ti(t,n=>e+=ca(n));return function(i,o){let s=0,c=0;for(;(c=i.indexOf("&",c))>=0;){e+=i.slice(s,c),r.startEntity(o);let l=r.write(i,c+1);if(l<0){s=c+r.end();break}s=c+l,c=l===0?s+1:s}let u=e+i.slice(s);return e="",u}}function db(t,e,r,n){let i=(e&vt.BRANCH_LENGTH)>>7,o=e&vt.JUMP_TABLE;if(i===0)return o!==0&&n===o?r:-1;if(o){let u=n-o;return u<0||u>=i?-1:t[r+u]-1}let s=r,c=s+i-1;for(;s<=c;){let u=s+c>>>1,l=t[u];if(l<n)s=u+1;else if(l>n)c=u-1;else return t[u+i]}return-1}var he,sb,vt,fe,dt,ti,lT,dT,pa=T(()=>{hu();yu();la();la();(function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"})(he||(he={}));sb=32;(function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"})(vt||(vt={}));(function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"})(fe||(fe={}));(function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"})(dt||(dt={}));ti=class{constructor(e,r,n){this.decodeTree=e,this.emitCodePoint=r,this.errors=n,this.state=fe.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=dt.Strict}startEntity(e){this.decodeMode=e,this.state=fe.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,r){switch(this.state){case fe.EntityStart:return e.charCodeAt(r)===he.NUM?(this.state=fe.NumericStart,this.consumed+=1,this.stateNumericStart(e,r+1)):(this.state=fe.NamedEntity,this.stateNamedEntity(e,r));case fe.NumericStart:return this.stateNumericStart(e,r);case fe.NumericDecimal:return this.stateNumericDecimal(e,r);case fe.NumericHex:return this.stateNumericHex(e,r);case fe.NamedEntity:return this.stateNamedEntity(e,r)}}stateNumericStart(e,r){return r>=e.length?-1:(e.charCodeAt(r)|sb)===he.LOWER_X?(this.state=fe.NumericHex,this.consumed+=1,this.stateNumericHex(e,r+1)):(this.state=fe.NumericDecimal,this.stateNumericDecimal(e,r))}addToNumericResult(e,r,n,i){if(r!==n){let o=n-r;this.result=this.result*Math.pow(i,o)+parseInt(e.substr(r,o),i),this.consumed+=o}}stateNumericHex(e,r){let n=r;for(;r<e.length;){let i=e.charCodeAt(r);if(da(i)||cb(i))r+=1;else return this.addToNumericResult(e,n,r,16),this.emitNumericEntity(i,3)}return this.addToNumericResult(e,n,r,16),-1}stateNumericDecimal(e,r){let n=r;for(;r<e.length;){let i=e.charCodeAt(r);if(da(i))r+=1;else return this.addToNumericResult(e,n,r,10),this.emitNumericEntity(i,2)}return this.addToNumericResult(e,n,r,10),-1}emitNumericEntity(e,r){var n;if(this.consumed<=r)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===he.SEMI)this.consumed+=1;else if(this.decodeMode===dt.Strict)return 0;return this.emitCodePoint(ua(this.result),this.consumed),this.errors&&(e!==he.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,r){let{decodeTree:n}=this,i=n[this.treeIndex],o=(i&vt.VALUE_LENGTH)>>14;for(;r<e.length;r++,this.excess++){let s=e.charCodeAt(r);if(this.treeIndex=db(n,i,this.treeIndex+Math.max(1,o),s),this.treeIndex<0)return this.result===0||this.decodeMode===dt.Attribute&&(o===0||lb(s))?0:this.emitNotTerminatedNamedEntity();if(i=n[this.treeIndex],o=(i&vt.VALUE_LENGTH)>>14,o!==0){if(s===he.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);this.decodeMode!==dt.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:r,decodeTree:n}=this,i=(n[r]&vt.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,i,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,r,n){let{decodeTree:i}=this;return this.emitCodePoint(r===1?i[e]&~vt.VALUE_LENGTH:i[e+1],n),r===3&&this.emitCodePoint(i[e+2],n),n}end(){var e;switch(this.state){case fe.NamedEntity:return this.result!==0&&(this.decodeMode!==dt.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case fe.NumericDecimal:return this.emitNumericEntity(0,2);case fe.NumericHex:return this.emitNumericEntity(0,3);case fe.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case fe.EntityStart:return 0}}};lT=bu(fu),dT=bu(gu)});function ri(t){for(let e=1;e<t.length;e++)t[e][0]+=t[e-1][0]+1;return t}var pb,vu=T(()=>{pb=new Map(ri([[9,"	"],[0,"
"],[22,"!"],[0,"""],[0,"#"],[0,"$"],[0,"%"],[0,"&"],[0,"'"],[0,"("],[0,")"],[0,"*"],[0,"+"],[0,","],[1,"."],[0,"/"],[10,":"],[0,";"],[0,{v:"<",n:8402,o:"<⃒"}],[0,{v:"=",n:8421,o:"=⃥"}],[0,{v:">",n:8402,o:">⃒"}],[0,"?"],[0,"@"],[26,"["],[0,"\"],[0,"]"],[0,"^"],[0,"_"],[0,"`"],[5,{n:106,o:"fj"}],[20,"{"],[0,"|"],[0,"}"],[34," "],[0,"¡"],[0,"¢"],[0,"£"],[0,"¤"],[0,"¥"],[0,"¦"],[0,"§"],[0,"¨"],[0,"©"],[0,"ª"],[0,"«"],[0,"¬"],[0,"­"],[0,"®"],[0,"¯"],[0,"°"],[0,"±"],[0,"²"],[0,"³"],[0,"´"],[0,"µ"],[0,"¶"],[0,"·"],[0,"¸"],[0,"¹"],[0,"º"],[0,"»"],[0,"¼"],[0,"½"],[0,"¾"],[0,"¿"],[0,"À"],[0,"Á"],[0,"Â"],[0,"Ã"],[0,"Ä"],[0,"Å"],[0,"Æ"],[0,"Ç"],[0,"È"],[0,"É"],[0,"Ê"],[0,"Ë"],[0,"Ì"],[0,"Í"],[0,"Î"],[0,"Ï"],[0,"Ð"],[0,"Ñ"],[0,"Ò"],[0,"Ó"],[0,"Ô"],[0,"Õ"],[0,"Ö"],[0,"×"],[0,"Ø"],[0,"Ù"],[0,"Ú"],[0,"Û"],[0,"Ü"],[0,"Ý"],[0,"Þ"],[0,"ß"],[0,"à"],[0,"á"],[0,"â"],[0,"ã"],[0,"ä"],[0,"å"],[0,"æ"],[0,"ç"],[0,"è"],[0,"é"],[0,"ê"],[0,"ë"],[0,"ì"],[0,"í"],[0,"î"],[0,"ï"],[0,"ð"],[0,"ñ"],[0,"ò"],[0,"ó"],[0,"ô"],[0,"õ"],[0,"ö"],[0,"÷"],[0,"ø"],[0,"ù"],[0,"ú"],[0,"û"],[0,"ü"],[0,"ý"],[0,"þ"],[0,"ÿ"],[0,"Ā"],[0,"ā"],[0,"Ă"],[0,"ă"],[0,"Ą"],[0,"ą"],[0,"Ć"],[0,"ć"],[0,"Ĉ"],[0,"ĉ"],[0,"Ċ"],[0,"ċ"],[0,"Č"],[0,"č"],[0,"Ď"],[0,"ď"],[0,"Đ"],[0,"đ"],[0,"Ē"],[0,"ē"],[2,"Ė"],[0,"ė"],[0,"Ę"],[0,"ę"],[0,"Ě"],[0,"ě"],[0,"Ĝ"],[0,"ĝ"],[0,"Ğ"],[0,"ğ"],[0,"Ġ"],[0,"ġ"],[0,"Ģ"],[1,"Ĥ"],[0,"ĥ"],[0,"Ħ"],[0,"ħ"],[0,"Ĩ"],[0,"ĩ"],[0,"Ī"],[0,"ī"],[2,"Į"],[0,"į"],[0,"İ"],[0,"ı"],[0,"IJ"],[0,"ij"],[0,"Ĵ"],[0,"ĵ"],[0,"Ķ"],[0,"ķ"],[0,"ĸ"],[0,"Ĺ"],[0,"ĺ"],[0,"Ļ"],[0,"ļ"],[0,"Ľ"],[0,"ľ"],[0,"Ŀ"],[0,"ŀ"],[0,"Ł"],[0,"ł"],[0,"Ń"],[0,"ń"],[0,"Ņ"],[0,"ņ"],[0,"Ň"],[0,"ň"],[0,"ʼn"],[0,"Ŋ"],[0,"ŋ"],[0,"Ō"],[0,"ō"],[2,"Ő"],[0,"ő"],[0,"Œ"],[0,"œ"],[0,"Ŕ"],[0,"ŕ"],[0,"Ŗ"],[0,"ŗ"],[0,"Ř"],[0,"ř"],[0,"Ś"],[0,"ś"],[0,"Ŝ"],[0,"ŝ"],[0,"Ş"],[0,"ş"],[0,"Š"],[0,"š"],[0,"Ţ"],[0,"ţ"],[0,"Ť"],[0,"ť"],[0,"Ŧ"],[0,"ŧ"],[0,"Ũ"],[0,"ũ"],[0,"Ū"],[0,"ū"],[0,"Ŭ"],[0,"ŭ"],[0,"Ů"],[0,"ů"],[0,"Ű"],[0,"ű"],[0,"Ų"],[0,"ų"],[0,"Ŵ"],[0,"ŵ"],[0,"Ŷ"],[0,"ŷ"],[0,"Ÿ"],[0,"Ź"],[0,"ź"],[0,"Ż"],[0,"ż"],[0,"Ž"],[0,"ž"],[19,"ƒ"],[34,"Ƶ"],[63,"ǵ"],[65,"ȷ"],[142,"ˆ"],[0,"ˇ"],[16,"˘"],[0,"˙"],[0,"˚"],[0,"˛"],[0,"˜"],[0,"˝"],[51,"̑"],[127,"Α"],[0,"Β"],[0,"Γ"],[0,"Δ"],[0,"Ε"],[0,"Ζ"],[0,"Η"],[0,"Θ"],[0,"Ι"],[0,"Κ"],[0,"Λ"],[0,"Μ"],[0,"Ν"],[0,"Ξ"],[0,"Ο"],[0,"Π"],[0,"Ρ"],[1,"Σ"],[0,"Τ"],[0,"Υ"],[0,"Φ"],[0,"Χ"],[0,"Ψ"],[0,"Ω"],[7,"α"],[0,"β"],[0,"γ"],[0,"δ"],[0,"ε"],[0,"ζ"],[0,"η"],[0,"θ"],[0,"ι"],[0,"κ"],[0,"λ"],[0,"μ"],[0,"ν"],[0,"ξ"],[0,"ο"],[0,"π"],[0,"ρ"],[0,"ς"],[0,"σ"],[0,"τ"],[0,"υ"],[0,"φ"],[0,"χ"],[0,"ψ"],[0,"ω"],[7,"ϑ"],[0,"ϒ"],[2,"ϕ"],[0,"ϖ"],[5,"Ϝ"],[0,"ϝ"],[18,"ϰ"],[0,"ϱ"],[3,"ϵ"],[0,"϶"],[10,"Ё"],[0,"Ђ"],[0,"Ѓ"],[0,"Є"],[0,"Ѕ"],[0,"І"],[0,"Ї"],[0,"Ј"],[0,"Љ"],[0,"Њ"],[0,"Ћ"],[0,"Ќ"],[1,"Ў"],[0,"Џ"],[0,"А"],[0,"Б"],[0,"В"],[0,"Г"],[0,"Д"],[0,"Е"],[0,"Ж"],[0,"З"],[0,"И"],[0,"Й"],[0,"К"],[0,"Л"],[0,"М"],[0,"Н"],[0,"О"],[0,"П"],[0,"Р"],[0,"С"],[0,"Т"],[0,"У"],[0,"Ф"],[0,"Х"],[0,"Ц"],[0,"Ч"],[0,"Ш"],[0,"Щ"],[0,"Ъ"],[0,"Ы"],[0,"Ь"],[0,"Э"],[0,"Ю"],[0,"Я"],[0,"а"],[0,"б"],[0,"в"],[0,"г"],[0,"д"],[0,"е"],[0,"ж"],[0,"з"],[0,"и"],[0,"й"],[0,"к"],[0,"л"],[0,"м"],[0,"н"],[0,"о"],[0,"п"],[0,"р"],[0,"с"],[0,"т"],[0,"у"],[0,"ф"],[0,"х"],[0,"ц"],[0,"ч"],[0,"ш"],[0,"щ"],[0,"ъ"],[0,"ы"],[0,"ь"],[0,"э"],[0,"ю"],[0,"я"],[1,"ё"],[0,"ђ"],[0,"ѓ"],[0,"є"],[0,"ѕ"],[0,"і"],[0,"ї"],[0,"ј"],[0,"љ"],[0,"њ"],[0,"ћ"],[0,"ќ"],[1,"ў"],[0,"џ"],[7074," "],[0," "],[0," "],[0," "],[1," "],[0," "],[0," "],[0," "],[0,"​"],[0,"‌"],[0,"‍"],[0,"‎"],[0,"‏"],[0,"‐"],[2,"–"],[0,"—"],[0,"―"],[0,"‖"],[1,"‘"],[0,"’"],[0,"‚"],[1,"“"],[0,"”"],[0,"„"],[1,"†"],[0,"‡"],[0,"•"],[2,"‥"],[0,"…"],[9,"‰"],[0,"‱"],[0,"′"],[0,"″"],[0,"‴"],[0,"‵"],[3,"‹"],[0,"›"],[3,"‾"],[2,"⁁"],[1,"⁃"],[0,"⁄"],[10,"⁏"],[7,"⁗"],[7,{v:" ",n:8202,o:"  "}],[0,"⁠"],[0,"⁡"],[0,"⁢"],[0,"⁣"],[72,"€"],[46,"⃛"],[0,"⃜"],[37,"ℂ"],[2,"℅"],[4,"ℊ"],[0,"ℋ"],[0,"ℌ"],[0,"ℍ"],[0,"ℎ"],[0,"ℏ"],[0,"ℐ"],[0,"ℑ"],[0,"ℒ"],[0,"ℓ"],[1,"ℕ"],[0,"№"],[0,"℗"],[0,"℘"],[0,"ℙ"],[0,"ℚ"],[0,"ℛ"],[0,"ℜ"],[0,"ℝ"],[0,"℞"],[3,"™"],[1,"ℤ"],[2,"℧"],[0,"ℨ"],[0,"℩"],[2,"ℬ"],[0,"ℭ"],[1,"ℯ"],[0,"ℰ"],[0,"ℱ"],[1,"ℳ"],[0,"ℴ"],[0,"ℵ"],[0,"ℶ"],[0,"ℷ"],[0,"ℸ"],[12,"ⅅ"],[0,"ⅆ"],[0,"ⅇ"],[0,"ⅈ"],[10,"⅓"],[0,"⅔"],[0,"⅕"],[0,"⅖"],[0,"⅗"],[0,"⅘"],[0,"⅙"],[0,"⅚"],[0,"⅛"],[0,"⅜"],[0,"⅝"],[0,"⅞"],[49,"←"],[0,"↑"],[0,"→"],[0,"↓"],[0,"↔"],[0,"↕"],[0,"↖"],[0,"↗"],[0,"↘"],[0,"↙"],[0,"↚"],[0,"↛"],[1,{v:"↝",n:824,o:"↝̸"}],[0,"↞"],[0,"↟"],[0,"↠"],[0,"↡"],[0,"↢"],[0,"↣"],[0,"↤"],[0,"↥"],[0,"↦"],[0,"↧"],[1,"↩"],[0,"↪"],[0,"↫"],[0,"↬"],[0,"↭"],[0,"↮"],[1,"↰"],[0,"↱"],[0,"↲"],[0,"↳"],[1,"↵"],[0,"↶"],[0,"↷"],[2,"↺"],[0,"↻"],[0,"↼"],[0,"↽"],[0,"↾"],[0,"↿"],[0,"⇀"],[0,"⇁"],[0,"⇂"],[0,"⇃"],[0,"⇄"],[0,"⇅"],[0,"⇆"],[0,"⇇"],[0,"⇈"],[0,"⇉"],[0,"⇊"],[0,"⇋"],[0,"⇌"],[0,"⇍"],[0,"⇎"],[0,"⇏"],[0,"⇐"],[0,"⇑"],[0,"⇒"],[0,"⇓"],[0,"⇔"],[0,"⇕"],[0,"⇖"],[0,"⇗"],[0,"⇘"],[0,"⇙"],[0,"⇚"],[0,"⇛"],[1,"⇝"],[6,"⇤"],[0,"⇥"],[15,"⇵"],[7,"⇽"],[0,"⇾"],[0,"⇿"],[0,"∀"],[0,"∁"],[0,{v:"∂",n:824,o:"∂̸"}],[0,"∃"],[0,"∄"],[0,"∅"],[1,"∇"],[0,"∈"],[0,"∉"],[1,"∋"],[0,"∌"],[2,"∏"],[0,"∐"],[0,"∑"],[0,"−"],[0,"∓"],[0,"∔"],[1,"∖"],[0,"∗"],[0,"∘"],[1,"√"],[2,"∝"],[0,"∞"],[0,"∟"],[0,{v:"∠",n:8402,o:"∠⃒"}],[0,"∡"],[0,"∢"],[0,"∣"],[0,"∤"],[0,"∥"],[0,"∦"],[0,"∧"],[0,"∨"],[0,{v:"∩",n:65024,o:"∩︀"}],[0,{v:"∪",n:65024,o:"∪︀"}],[0,"∫"],[0,"∬"],[0,"∭"],[0,"∮"],[0,"∯"],[0,"∰"],[0,"∱"],[0,"∲"],[0,"∳"],[0,"∴"],[0,"∵"],[0,"∶"],[0,"∷"],[0,"∸"],[1,"∺"],[0,"∻"],[0,{v:"∼",n:8402,o:"∼⃒"}],[0,{v:"∽",n:817,o:"∽̱"}],[0,{v:"∾",n:819,o:"∾̳"}],[0,"∿"],[0,"≀"],[0,"≁"],[0,{v:"≂",n:824,o:"≂̸"}],[0,"≃"],[0,"≄"],[0,"≅"],[0,"≆"],[0,"≇"],[0,"≈"],[0,"≉"],[0,"≊"],[0,{v:"≋",n:824,o:"≋̸"}],[0,"≌"],[0,{v:"≍",n:8402,o:"≍⃒"}],[0,{v:"≎",n:824,o:"≎̸"}],[0,{v:"≏",n:824,o:"≏̸"}],[0,{v:"≐",n:824,o:"≐̸"}],[0,"≑"],[0,"≒"],[0,"≓"],[0,"≔"],[0,"≕"],[0,"≖"],[0,"≗"],[1,"≙"],[0,"≚"],[1,"≜"],[2,"≟"],[0,"≠"],[0,{v:"≡",n:8421,o:"≡⃥"}],[0,"≢"],[1,{v:"≤",n:8402,o:"≤⃒"}],[0,{v:"≥",n:8402,o:"≥⃒"}],[0,{v:"≦",n:824,o:"≦̸"}],[0,{v:"≧",n:824,o:"≧̸"}],[0,{v:"≨",n:65024,o:"≨︀"}],[0,{v:"≩",n:65024,o:"≩︀"}],[0,{v:"≪",n:new Map(ri([[824,"≪̸"],[7577,"≪⃒"]]))}],[0,{v:"≫",n:new Map(ri([[824,"≫̸"],[7577,"≫⃒"]]))}],[0,"≬"],[0,"≭"],[0,"≮"],[0,"≯"],[0,"≰"],[0,"≱"],[0,"≲"],[0,"≳"],[0,"≴"],[0,"≵"],[0,"≶"],[0,"≷"],[0,"≸"],[0,"≹"],[0,"≺"],[0,"≻"],[0,"≼"],[0,"≽"],[0,"≾"],[0,{v:"≿",n:824,o:"≿̸"}],[0,"⊀"],[0,"⊁"],[0,{v:"⊂",n:8402,o:"⊂⃒"}],[0,{v:"⊃",n:8402,o:"⊃⃒"}],[0,"⊄"],[0,"⊅"],[0,"⊆"],[0,"⊇"],[0,"⊈"],[0,"⊉"],[0,{v:"⊊",n:65024,o:"⊊︀"}],[0,{v:"⊋",n:65024,o:"⊋︀"}],[1,"⊍"],[0,"⊎"],[0,{v:"⊏",n:824,o:"⊏̸"}],[0,{v:"⊐",n:824,o:"⊐̸"}],[0,"⊑"],[0,"⊒"],[0,{v:"⊓",n:65024,o:"⊓︀"}],[0,{v:"⊔",n:65024,o:"⊔︀"}],[0,"⊕"],[0,"⊖"],[0,"⊗"],[0,"⊘"],[0,"⊙"],[0,"⊚"],[0,"⊛"],[1,"⊝"],[0,"⊞"],[0,"⊟"],[0,"⊠"],[0,"⊡"],[0,"⊢"],[0,"⊣"],[0,"⊤"],[0,"⊥"],[1,"⊧"],[0,"⊨"],[0,"⊩"],[0,"⊪"],[0,"⊫"],[0,"⊬"],[0,"⊭"],[0,"⊮"],[0,"⊯"],[0,"⊰"],[1,"⊲"],[0,"⊳"],[0,{v:"⊴",n:8402,o:"⊴⃒"}],[0,{v:"⊵",n:8402,o:"⊵⃒"}],[0,"⊶"],[0,"⊷"],[0,"⊸"],[0,"⊹"],[0,"⊺"],[0,"⊻"],[1,"⊽"],[0,"⊾"],[0,"⊿"],[0,"⋀"],[0,"⋁"],[0,"⋂"],[0,"⋃"],[0,"⋄"],[0,"⋅"],[0,"⋆"],[0,"⋇"],[0,"⋈"],[0,"⋉"],[0,"⋊"],[0,"⋋"],[0,"⋌"],[0,"⋍"],[0,"⋎"],[0,"⋏"],[0,"⋐"],[0,"⋑"],[0,"⋒"],[0,"⋓"],[0,"⋔"],[0,"⋕"],[0,"⋖"],[0,"⋗"],[0,{v:"⋘",n:824,o:"⋘̸"}],[0,{v:"⋙",n:824,o:"⋙̸"}],[0,{v:"⋚",n:65024,o:"⋚︀"}],[0,{v:"⋛",n:65024,o:"⋛︀"}],[2,"⋞"],[0,"⋟"],[0,"⋠"],[0,"⋡"],[0,"⋢"],[0,"⋣"],[2,"⋦"],[0,"⋧"],[0,"⋨"],[0,"⋩"],[0,"⋪"],[0,"⋫"],[0,"⋬"],[0,"⋭"],[0,"⋮"],[0,"⋯"],[0,"⋰"],[0,"⋱"],[0,"⋲"],[0,"⋳"],[0,"⋴"],[0,{v:"⋵",n:824,o:"⋵̸"}],[0,"⋶"],[0,"⋷"],[1,{v:"⋹",n:824,o:"⋹̸"}],[0,"⋺"],[0,"⋻"],[0,"⋼"],[0,"⋽"],[0,"⋾"],[6,"⌅"],[0,"⌆"],[1,"⌈"],[0,"⌉"],[0,"⌊"],[0,"⌋"],[0,"⌌"],[0,"⌍"],[0,"⌎"],[0,"⌏"],[0,"⌐"],[1,"⌒"],[0,"⌓"],[1,"⌕"],[0,"⌖"],[5,"⌜"],[0,"⌝"],[0,"⌞"],[0,"⌟"],[2,"⌢"],[0,"⌣"],[9,"⌭"],[0,"⌮"],[7,"⌶"],[6,"⌽"],[1,"⌿"],[60,"⍼"],[51,"⎰"],[0,"⎱"],[2,"⎴"],[0,"⎵"],[0,"⎶"],[37,"⏜"],[0,"⏝"],[0,"⏞"],[0,"⏟"],[2,"⏢"],[4,"⏧"],[59,"␣"],[164,"Ⓢ"],[55,"─"],[1,"│"],[9,"┌"],[3,"┐"],[3,"└"],[3,"┘"],[3,"├"],[7,"┤"],[7,"┬"],[7,"┴"],[7,"┼"],[19,"═"],[0,"║"],[0,"╒"],[0,"╓"],[0,"╔"],[0,"╕"],[0,"╖"],[0,"╗"],[0,"╘"],[0,"╙"],[0,"╚"],[0,"╛"],[0,"╜"],[0,"╝"],[0,"╞"],[0,"╟"],[0,"╠"],[0,"╡"],[0,"╢"],[0,"╣"],[0,"╤"],[0,"╥"],[0,"╦"],[0,"╧"],[0,"╨"],[0,"╩"],[0,"╪"],[0,"╫"],[0,"╬"],[19,"▀"],[3,"▄"],[3,"█"],[8,"░"],[0,"▒"],[0,"▓"],[13,"□"],[8,"▪"],[0,"▫"],[1,"▭"],[0,"▮"],[2,"▱"],[1,"△"],[0,"▴"],[0,"▵"],[2,"▸"],[0,"▹"],[3,"▽"],[0,"▾"],[0,"▿"],[2,"◂"],[0,"◃"],[6,"◊"],[0,"○"],[32,"◬"],[2,"◯"],[8,"◸"],[0,"◹"],[0,"◺"],[0,"◻"],[0,"◼"],[8,"★"],[0,"☆"],[7,"☎"],[49,"♀"],[1,"♂"],[29,"♠"],[2,"♣"],[1,"♥"],[0,"♦"],[3,"♪"],[2,"♭"],[0,"♮"],[0,"♯"],[163,"✓"],[3,"✗"],[8,"✠"],[21,"✶"],[33,"❘"],[25,"❲"],[0,"❳"],[84,"⟈"],[0,"⟉"],[28,"⟦"],[0,"⟧"],[0,"⟨"],[0,"⟩"],[0,"⟪"],[0,"⟫"],[0,"⟬"],[0,"⟭"],[7,"⟵"],[0,"⟶"],[0,"⟷"],[0,"⟸"],[0,"⟹"],[0,"⟺"],[1,"⟼"],[2,"⟿"],[258,"⤂"],[0,"⤃"],[0,"⤄"],[0,"⤅"],[6,"⤌"],[0,"⤍"],[0,"⤎"],[0,"⤏"],[0,"⤐"],[0,"⤑"],[0,"⤒"],[0,"⤓"],[2,"⤖"],[2,"⤙"],[0,"⤚"],[0,"⤛"],[0,"⤜"],[0,"⤝"],[0,"⤞"],[0,"⤟"],[0,"⤠"],[2,"⤣"],[0,"⤤"],[0,"⤥"],[0,"⤦"],[0,"⤧"],[0,"⤨"],[0,"⤩"],[0,"⤪"],[8,{v:"⤳",n:824,o:"⤳̸"}],[1,"⤵"],[0,"⤶"],[0,"⤷"],[0,"⤸"],[0,"⤹"],[2,"⤼"],[0,"⤽"],[7,"⥅"],[2,"⥈"],[0,"⥉"],[0,"⥊"],[0,"⥋"],[2,"⥎"],[0,"⥏"],[0,"⥐"],[0,"⥑"],[0,"⥒"],[0,"⥓"],[0,"⥔"],[0,"⥕"],[0,"⥖"],[0,"⥗"],[0,"⥘"],[0,"⥙"],[0,"⥚"],[0,"⥛"],[0,"⥜"],[0,"⥝"],[0,"⥞"],[0,"⥟"],[0,"⥠"],[0,"⥡"],[0,"⥢"],[0,"⥣"],[0,"⥤"],[0,"⥥"],[0,"⥦"],[0,"⥧"],[0,"⥨"],[0,"⥩"],[0,"⥪"],[0,"⥫"],[0,"⥬"],[0,"⥭"],[0,"⥮"],[0,"⥯"],[0,"⥰"],[0,"⥱"],[0,"⥲"],[0,"⥳"],[0,"⥴"],[0,"⥵"],[0,"⥶"],[1,"⥸"],[0,"⥹"],[1,"⥻"],[0,"⥼"],[0,"⥽"],[0,"⥾"],[0,"⥿"],[5,"⦅"],[0,"⦆"],[4,"⦋"],[0,"⦌"],[0,"⦍"],[0,"⦎"],[0,"⦏"],[0,"⦐"],[0,"⦑"],[0,"⦒"],[0,"⦓"],[0,"⦔"],[0,"⦕"],[0,"⦖"],[3,"⦚"],[1,"⦜"],[0,"⦝"],[6,"⦤"],[0,"⦥"],[0,"⦦"],[0,"⦧"],[0,"⦨"],[0,"⦩"],[0,"⦪"],[0,"⦫"],[0,"⦬"],[0,"⦭"],[0,"⦮"],[0,"⦯"],[0,"⦰"],[0,"⦱"],[0,"⦲"],[0,"⦳"],[0,"⦴"],[0,"⦵"],[0,"⦶"],[0,"⦷"],[1,"⦹"],[1,"⦻"],[0,"⦼"],[1,"⦾"],[0,"⦿"],[0,"⧀"],[0,"⧁"],[0,"⧂"],[0,"⧃"],[0,"⧄"],[0,"⧅"],[3,"⧉"],[3,"⧍"],[0,"⧎"],[0,{v:"⧏",n:824,o:"⧏̸"}],[0,{v:"⧐",n:824,o:"⧐̸"}],[11,"⧜"],[0,"⧝"],[0,"⧞"],[4,"⧣"],[0,"⧤"],[0,"⧥"],[5,"⧫"],[8,"⧴"],[1,"⧶"],[9,"⨀"],[0,"⨁"],[0,"⨂"],[1,"⨄"],[1,"⨆"],[5,"⨌"],[0,"⨍"],[2,"⨐"],[0,"⨑"],[0,"⨒"],[0,"⨓"],[0,"⨔"],[0,"⨕"],[0,"⨖"],[0,"⨗"],[10,"⨢"],[0,"⨣"],[0,"⨤"],[0,"⨥"],[0,"⨦"],[0,"⨧"],[1,"⨩"],[0,"⨪"],[2,"⨭"],[0,"⨮"],[0,"⨯"],[0,"⨰"],[0,"⨱"],[1,"⨳"],[0,"⨴"],[0,"⨵"],[0,"⨶"],[0,"⨷"],[0,"⨸"],[0,"⨹"],[0,"⨺"],[0,"⨻"],[0,"⨼"],[2,"⨿"],[0,"⩀"],[1,"⩂"],[0,"⩃"],[0,"⩄"],[0,"⩅"],[0,"⩆"],[0,"⩇"],[0,"⩈"],[0,"⩉"],[0,"⩊"],[0,"⩋"],[0,"⩌"],[0,"⩍"],[2,"⩐"],[2,"⩓"],[0,"⩔"],[0,"⩕"],[0,"⩖"],[0,"⩗"],[0,"⩘"],[1,"⩚"],[0,"⩛"],[0,"⩜"],[0,"⩝"],[1,"⩟"],[6,"⩦"],[3,"⩪"],[2,{v:"⩭",n:824,o:"⩭̸"}],[0,"⩮"],[0,"⩯"],[0,{v:"⩰",n:824,o:"⩰̸"}],[0,"⩱"],[0,"⩲"],[0,"⩳"],[0,"⩴"],[0,"⩵"],[1,"⩷"],[0,"⩸"],[0,"⩹"],[0,"⩺"],[0,"⩻"],[0,"⩼"],[0,{v:"⩽",n:824,o:"⩽̸"}],[0,{v:"⩾",n:824,o:"⩾̸"}],[0,"⩿"],[0,"⪀"],[0,"⪁"],[0,"⪂"],[0,"⪃"],[0,"⪄"],[0,"⪅"],[0,"⪆"],[0,"⪇"],[0,"⪈"],[0,"⪉"],[0,"⪊"],[0,"⪋"],[0,"⪌"],[0,"⪍"],[0,"⪎"],[0,"⪏"],[0,"⪐"],[0,"⪑"],[0,"⪒"],[0,"⪓"],[0,"⪔"],[0,"⪕"],[0,"⪖"],[0,"⪗"],[0,"⪘"],[0,"⪙"],[0,"⪚"],[2,"⪝"],[0,"⪞"],[0,"⪟"],[0,"⪠"],[0,{v:"⪡",n:824,o:"⪡̸"}],[0,{v:"⪢",n:824,o:"⪢̸"}],[1,"⪤"],[0,"⪥"],[0,"⪦"],[0,"⪧"],[0,"⪨"],[0,"⪩"],[0,"⪪"],[0,"⪫"],[0,{v:"⪬",n:65024,o:"⪬︀"}],[0,{v:"⪭",n:65024,o:"⪭︀"}],[0,"⪮"],[0,{v:"⪯",n:824,o:"⪯̸"}],[0,{v:"⪰",n:824,o:"⪰̸"}],[2,"⪳"],[0,"⪴"],[0,"⪵"],[0,"⪶"],[0,"⪷"],[0,"⪸"],[0,"⪹"],[0,"⪺"],[0,"⪻"],[0,"⪼"],[0,"⪽"],[0,"⪾"],[0,"⪿"],[0,"⫀"],[0,"⫁"],[0,"⫂"],[0,"⫃"],[0,"⫄"],[0,{v:"⫅",n:824,o:"⫅̸"}],[0,{v:"⫆",n:824,o:"⫆̸"}],[0,"⫇"],[0,"⫈"],[2,{v:"⫋",n:65024,o:"⫋︀"}],[0,{v:"⫌",n:65024,o:"⫌︀"}],[2,"⫏"],[0,"⫐"],[0,"⫑"],[0,"⫒"],[0,"⫓"],[0,"⫔"],[0,"⫕"],[0,"⫖"],[0,"⫗"],[0,"⫘"],[0,"⫙"],[0,"⫚"],[0,"⫛"],[8,"⫤"],[1,"⫦"],[0,"⫧"],[0,"⫨"],[0,"⫩"],[1,"⫫"],[0,"⫬"],[0,"⫭"],[0,"⫮"],[0,"⫯"],[0,"⫰"],[0,"⫱"],[0,"⫲"],[0,"⫳"],[9,{v:"⫽",n:8421,o:"⫽⃥"}],[44343,{n:new Map(ri([[56476,"𝒜"],[1,"𝒞"],[0,"𝒟"],[2,"𝒢"],[2,"𝒥"],[0,"𝒦"],[2,"𝒩"],[0,"𝒪"],[0,"𝒫"],[0,"𝒬"],[1,"𝒮"],[0,"𝒯"],[0,"𝒰"],[0,"𝒱"],[0,"𝒲"],[0,"𝒳"],[0,"𝒴"],[0,"𝒵"],[0,"𝒶"],[0,"𝒷"],[0,"𝒸"],[0,"𝒹"],[1,"𝒻"],[1,"𝒽"],[0,"𝒾"],[0,"𝒿"],[0,"𝓀"],[0,"𝓁"],[0,"𝓂"],[0,"𝓃"],[1,"𝓅"],[0,"𝓆"],[0,"𝓇"],[0,"𝓈"],[0,"𝓉"],[0,"𝓊"],[0,"𝓋"],[0,"𝓌"],[0,"𝓍"],[0,"𝓎"],[0,"𝓏"],[52,"𝔄"],[0,"𝔅"],[1,"𝔇"],[0,"𝔈"],[0,"𝔉"],[0,"𝔊"],[2,"𝔍"],[0,"𝔎"],[0,"𝔏"],[0,"𝔐"],[0,"𝔑"],[0,"𝔒"],[0,"𝔓"],[0,"𝔔"],[1,"𝔖"],[0,"𝔗"],[0,"𝔘"],[0,"𝔙"],[0,"𝔚"],[0,"𝔛"],[0,"𝔜"],[1,"𝔞"],[0,"𝔟"],[0,"𝔠"],[0,"𝔡"],[0,"𝔢"],[0,"𝔣"],[0,"𝔤"],[0,"𝔥"],[0,"𝔦"],[0,"𝔧"],[0,"𝔨"],[0,"𝔩"],[0,"𝔪"],[0,"𝔫"],[0,"𝔬"],[0,"𝔭"],[0,"𝔮"],[0,"𝔯"],[0,"𝔰"],[0,"𝔱"],[0,"𝔲"],[0,"𝔳"],[0,"𝔴"],[0,"𝔵"],[0,"𝔶"],[0,"𝔷"],[0,"𝔸"],[0,"𝔹"],[1,"𝔻"],[0,"𝔼"],[0,"𝔽"],[0,"𝔾"],[1,"𝕀"],[0,"𝕁"],[0,"𝕂"],[0,"𝕃"],[0,"𝕄"],[1,"𝕆"],[3,"𝕊"],[0,"𝕋"],[0,"𝕌"],[0,"𝕍"],[0,"𝕎"],[0,"𝕏"],[0,"𝕐"],[1,"𝕒"],[0,"𝕓"],[0,"𝕔"],[0,"𝕕"],[0,"𝕖"],[0,"𝕗"],[0,"𝕘"],[0,"𝕙"],[0,"𝕚"],[0,"𝕛"],[0,"𝕜"],[0,"𝕝"],[0,"𝕞"],[0,"𝕟"],[0,"𝕠"],[0,"𝕡"],[0,"𝕢"],[0,"𝕣"],[0,"𝕤"],[0,"𝕥"],[0,"𝕦"],[0,"𝕧"],[0,"𝕨"],[0,"𝕩"],[0,"𝕪"],[0,"𝕫"]]))}],[8906,"ff"],[0,"fi"],[0,"fl"],[0,"ffi"],[0,"ffl"]]))});function jr(t){let e="",r=0,n;for(;(n=ma.exec(t))!==null;){let i=n.index,o=t.charCodeAt(i),s=wu.get(o);s!==void 0?(e+=t.substring(r,i)+s,r=i+1):(e+=`${t.substring(r,i)}&#x${xu(t,i).toString(16)};`,r=ma.lastIndex+=+((o&64512)===55296))}return e+t.substr(r)}function fa(t,e){return function(n){let i,o=0,s="";for(;i=t.exec(n);)o!==i.index&&(s+=n.substring(o,i.index)),s+=e.get(i[0].charCodeAt(0)),o=i.index+1;return s+n.substring(o)}}var ma,wu,xu,ku,ni,ii,oi=T(()=>{ma=/["&'<>$\x80-\uFFFF]/g,wu=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),xu=String.prototype.codePointAt!=null?(t,e)=>t.codePointAt(e):(t,e)=>(t.charCodeAt(e)&64512)===55296?(t.charCodeAt(e)-55296)*1024+t.charCodeAt(e+1)-56320+65536:t.charCodeAt(e);ku=fa(/[&<>'"]/g,wu),ni=fa(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),ii=fa(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))});var ha=T(()=>{vu();oi()});var Su,Tu,Eu=T(()=>{pa();ha();oi();oi();ha();pa();(function(t){t[t.XML=0]="XML",t[t.HTML=1]="HTML"})(Su||(Su={}));(function(t){t[t.UTF8=0]="UTF8",t[t.ASCII=1]="ASCII",t[t.Extensive=2]="Extensive",t[t.Attribute=3]="Attribute",t[t.Text=4]="Text"})(Tu||(Tu={}))});var Du,Lu,Ru=T(()=>{Du=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","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","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),Lu=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t]))});function hb(t){return t.replace(/"/g,""")}function gb(t,e){var r;if(!t)return;let n=((r=e.encodeEntities)!==null&&r!==void 0?r:e.decodeEntities)===!1?hb:e.xmlMode||e.encodeEntities!=="utf8"?jr:ni;return Object.keys(t).map(i=>{var o,s;let c=(o=t[i])!==null&&o!==void 0?o:"";return e.xmlMode==="foreign"&&(i=(s=Lu.get(i))!==null&&s!==void 0?s:i),!e.emptyAttrs&&!e.xmlMode&&c===""?i:`${i}="${n(c)}"`}).join(" ")}function ba(t,e={}){let r="length"in t?t:[t],n="";for(let i=0;i<r.length;i++)n+=yb(r[i],e);return n}function yb(t,e){switch(t.type){case iu:return ba(t.children,e);case pu:case au:return xb(t);case su:return Tb(t);case du:return Sb(t);case cu:case uu:case lu:return wb(t,e);case ou:return kb(t,e)}}function wb(t,e){var r;e.xmlMode==="foreign"&&(t.name=(r=Du.get(t.name))!==null&&r!==void 0?r:t.name,t.parent&&bb.has(t.parent.name)&&(e={...e,xmlMode:!1})),!e.xmlMode&&vb.has(t.name)&&(e={...e,xmlMode:"foreign"});let n=`<${t.name}`,i=gb(t.attribs,e);return i&&(n+=` ${i}`),t.children.length===0&&(e.xmlMode?e.selfClosingTags!==!1:e.selfClosingTags&&Pu.has(t.name))?(e.xmlMode||(n+=" "),n+="/>"):(n+=">",t.children.length>0&&(n+=ba(t.children,e)),(e.xmlMode||!Pu.has(t.name))&&(n+=`</${t.name}>`)),n}function xb(t){return`<${t.data}>`}function kb(t,e){var r;let n=t.data||"";return((r=e.encodeEntities)!==null&&r!==void 0?r:e.decodeEntities)!==!1&&!(!e.xmlMode&&t.parent&&fb.has(t.parent.name))&&(n=e.xmlMode||e.encodeEntities!=="utf8"?jr(n):ii(n)),n}function Sb(t){return`<![CDATA[${t.children[0].data}]]>`}function Tb(t){return`<!--${t.data}-->`}var fb,Pu,Nu,bb,vb,Mu=T(()=>{Or();Eu();Ru();fb=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);Pu=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);Nu=ba;bb=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),vb=new Set(["svg","math"])});function Fu(t,e){return Nu(t,e)}function Ab(t,e){return be(t)?t.children.map(r=>Fu(r,e)).join(""):""}function ai(t){return Array.isArray(t)?t.map(ai).join(""):ge(t)?t.name==="br"?`
|
|
38
|
-
`:ai(t.children):zr(t)?ai(t.children):lt(t)?t.data:""}function _r(t){return Array.isArray(t)?t.map(_r).join(""):be(t)&&!ei(t)?_r(t.children):lt(t)?t.data:""}function va(t){return Array.isArray(t)?t.map(va).join(""):be(t)&&(t.type===re.Tag||zr(t))?va(t.children):lt(t)?t.data:""}var wa=T(()=>{Ut();Mu();Or()});function Bu(t){return be(t)?t.children:[]}function Uu(t){return t.parent||null}function Cb(t){let e=Uu(t);if(e!=null)return Bu(e);let r=[t],{prev:n,next:i}=t;for(;n!=null;)r.unshift(n),{prev:n}=n;for(;i!=null;)r.push(i),{next:i}=i;return r}function Eb(t,e){var r;return(r=t.attribs)===null||r===void 0?void 0:r[e]}function Db(t,e){return t.attribs!=null&&Object.prototype.hasOwnProperty.call(t.attribs,e)&&t.attribs[e]!=null}function Lb(t){return t.name}function Rb(t){let{next:e}=t;for(;e!==null&&!ge(e);)({next:e}=e);return e}function Pb(t){let{prev:e}=t;for(;e!==null&&!ge(e);)({prev:e}=e);return e}var Hu=T(()=>{Ut()});function Wr(t){if(t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t.parent){let e=t.parent.children,r=e.lastIndexOf(t);r>=0&&e.splice(r,1)}t.next=null,t.prev=null,t.parent=null}function Nb(t,e){let r=e.prev=t.prev;r&&(r.next=e);let n=e.next=t.next;n&&(n.prev=e);let i=e.parent=t.parent;if(i){let o=i.children;o[o.lastIndexOf(t)]=e,t.parent=null}}function Mb(t,e){if(Wr(e),e.next=null,e.parent=t,t.children.push(e)>1){let r=t.children[t.children.length-2];r.next=e,e.prev=r}else e.prev=null}function Fb(t,e){Wr(e);let{parent:r}=t,n=t.next;if(e.next=n,e.prev=t,t.next=e,e.parent=r,n){if(n.prev=e,r){let i=r.children;i.splice(i.lastIndexOf(n),0,e)}}else r&&r.children.push(e)}function Bb(t,e){if(Wr(e),e.parent=t,e.prev=null,t.children.unshift(e)!==1){let r=t.children[1];r.prev=e,e.next=r}else e.next=null}function Ub(t,e){Wr(e);let{parent:r}=t;if(r){let n=r.children;n.splice(n.indexOf(t),0,e)}t.prev&&(t.prev.next=e),e.parent=r,e.prev=t.prev,e.next=t,t.prev=e}var Iu=T(()=>{});function ir(t,e,r=!0,n=1/0){return qu(t,Array.isArray(e)?e:[e],r,n)}function qu(t,e,r,n){let i=[],o=[Array.isArray(e)?e:[e]],s=[0];for(;;){if(s[0]>=o[0].length){if(s.length===1)return i;o.shift(),s.shift();continue}let c=o[0][s[0]++];if(t(c)&&(i.push(c),--n<=0))return i;r&&be(c)&&c.children.length>0&&(s.unshift(0),o.unshift(c.children))}}function Hb(t,e){return e.find(t)}function si(t,e,r=!0){let n=Array.isArray(e)?e:[e];for(let i=0;i<n.length;i++){let o=n[i];if(ge(o)&&t(o))return o;if(r&&be(o)&&o.children.length>0){let s=si(t,o.children,!0);if(s)return s}}return null}function $u(t,e){return(Array.isArray(e)?e:[e]).some(r=>ge(r)&&t(r)||be(r)&&$u(t,r.children))}function Ib(t,e){let r=[],n=[Array.isArray(e)?e:[e]],i=[0];for(;;){if(i[0]>=n[0].length){if(n.length===1)return r;n.shift(),i.shift();continue}let o=n[0][i[0]++];ge(o)&&t(o)&&r.push(o),be(o)&&o.children.length>0&&(i.unshift(0),n.unshift(o.children))}}var xa=T(()=>{Ut()});function ka(t,e){return typeof e=="function"?r=>ge(r)&&e(r.attribs[t]):r=>ge(r)&&r.attribs[t]===e}function qb(t,e){return r=>t(r)||e(r)}function Ou(t){let e=Object.keys(t).map(r=>{let n=t[r];return Object.prototype.hasOwnProperty.call(ci,r)?ci[r](n):ka(r,n)});return e.length===0?null:e.reduce(qb)}function $b(t,e){let r=Ou(t);return r?r(e):!0}function Ob(t,e,r,n=1/0){let i=Ou(t);return i?ir(i,e,r,n):[]}function zb(t,e,r=!0){return Array.isArray(e)||(e=[e]),si(ka("id",t),e,r)}function Ht(t,e,r=!0,n=1/0){return ir(ci.tag_name(t),e,r,n)}function jb(t,e,r=!0,n=1/0){return ir(ka("class",t),e,r,n)}function _b(t,e,r=!0,n=1/0){return ir(ci.tag_type(t),e,r,n)}var ci,Sa=T(()=>{Ut();xa();ci={tag_name(t){return typeof t=="function"?e=>ge(e)&&t(e.name):t==="*"?ge:e=>ge(e)&&e.name===t},tag_type(t){return typeof t=="function"?e=>t(e.type):e=>e.type===t},tag_contains(t){return typeof t=="function"?e=>lt(e)&&t(e.data):e=>lt(e)&&e.data===t}}});function Wb(t){let e=t.length;for(;--e>=0;){let r=t[e];if(e>0&&t.lastIndexOf(r,e-1)>=0){t.splice(e,1);continue}for(let n=r.parent;n;n=n.parent)if(t.includes(n)){t.splice(e,1);break}}return t}function zu(t,e){let r=[],n=[];if(t===e)return 0;let i=be(t)?t:t.parent;for(;i;)r.unshift(i),i=i.parent;for(i=be(e)?e:e.parent;i;)n.unshift(i),i=i.parent;let o=Math.min(r.length,n.length),s=0;for(;s<o&&r[s]===n[s];)s++;if(s===0)return Oe.DISCONNECTED;let c=r[s-1],u=c.children,l=r[s],d=n[s];return u.indexOf(l)>u.indexOf(d)?c===e?Oe.FOLLOWING|Oe.CONTAINED_BY:Oe.FOLLOWING:c===t?Oe.PRECEDING|Oe.CONTAINS:Oe.PRECEDING}function Vb(t){return t=t.filter((e,r,n)=>!n.includes(e,r+1)),t.sort((e,r)=>{let n=zu(e,r);return n&Oe.PRECEDING?-1:n&Oe.FOLLOWING?1:0}),t}var Oe,ju=T(()=>{Ut();(function(t){t[t.DISCONNECTED=1]="DISCONNECTED",t[t.PRECEDING=2]="PRECEDING",t[t.FOLLOWING=4]="FOLLOWING",t[t.CONTAINS=8]="CONTAINS",t[t.CONTAINED_BY=16]="CONTAINED_BY"})(Oe||(Oe={}))});function Gb(t){let e=ui(Yb,t);return e?e.name==="feed"?Kb(e):Xb(e):null}function Kb(t){var e;let r=t.children,n={type:"atom",items:Ht("entry",r).map(s=>{var c;let{children:u}=s,l={media:_u(u)};Re(l,"id","id",u),Re(l,"title","title",u);let d=(c=ui("link",u))===null||c===void 0?void 0:c.attribs.href;d&&(l.link=d);let p=wt("summary",u)||wt("content",u);p&&(l.description=p);let m=wt("updated",u);return m&&(l.pubDate=new Date(m)),l})};Re(n,"id","id",r),Re(n,"title","title",r);let i=(e=ui("link",r))===null||e===void 0?void 0:e.attribs.href;i&&(n.link=i),Re(n,"description","subtitle",r);let o=wt("updated",r);return o&&(n.updated=new Date(o)),Re(n,"author","email",r,!0),n}function Xb(t){var e,r;let n=(r=(e=ui("channel",t.children))===null||e===void 0?void 0:e.children)!==null&&r!==void 0?r:[],i={type:t.name.substr(0,3),id:"",items:Ht("item",t.children).map(s=>{let{children:c}=s,u={media:_u(c)};Re(u,"id","guid",c),Re(u,"title","title",c),Re(u,"link","link",c),Re(u,"description","description",c);let l=wt("pubDate",c)||wt("dc:date",c);return l&&(u.pubDate=new Date(l)),u})};Re(i,"title","title",n),Re(i,"link","link",n),Re(i,"description","description",n);let o=wt("lastBuildDate",n);return o&&(i.updated=new Date(o)),Re(i,"author","managingEditor",n,!0),i}function _u(t){return Ht("media:content",t).map(e=>{let{attribs:r}=e,n={medium:r.medium,isDefault:!!r.isDefault};for(let i of Jb)r[i]&&(n[i]=r[i]);for(let i of Qb)r[i]&&(n[i]=parseInt(r[i],10));return r.expression&&(n.expression=r.expression),n})}function ui(t,e){return Ht(t,e,!0,1)[0]}function wt(t,e,r=!1){return _r(Ht(t,e,r,1)).trim()}function Re(t,e,r,n,i=!1){let o=wt(r,n,i);o&&(t[e]=o)}function Yb(t){return t==="rss"||t==="feed"||t==="rdf:RDF"}var Jb,Qb,Wu=T(()=>{wa();Sa();Jb=["url","type","lang"],Qb=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"]});var li={};ve(li,{DocumentPosition:()=>Oe,append:()=>Fb,appendChild:()=>Mb,compareDocumentPosition:()=>zu,existsOne:()=>$u,filter:()=>ir,find:()=>qu,findAll:()=>Ib,findOne:()=>si,findOneChild:()=>Hb,getAttributeValue:()=>Eb,getChildren:()=>Bu,getElementById:()=>zb,getElements:()=>Ob,getElementsByClassName:()=>jb,getElementsByTagName:()=>Ht,getElementsByTagType:()=>_b,getFeed:()=>Gb,getInnerHTML:()=>Ab,getName:()=>Lb,getOuterHTML:()=>Fu,getParent:()=>Uu,getSiblings:()=>Cb,getText:()=>ai,hasAttrib:()=>Db,hasChildren:()=>be,innerText:()=>va,isCDATA:()=>zr,isComment:()=>ei,isDocument:()=>mu,isTag:()=>ge,isText:()=>lt,nextElementSibling:()=>Rb,prepend:()=>Ub,prependChild:()=>Bb,prevElementSibling:()=>Pb,removeElement:()=>Wr,removeSubsets:()=>Wb,replaceElement:()=>Nb,testElement:()=>$b,textContent:()=>_r,uniqueSort:()=>Vb});var Vu=T(()=>{wa();Hu();Iu();xa();Sa();ju();Wu();Ut()});function Gu(t){return t.replace(Zb,"\\$&")}function It(t,e){return typeof t.ignoreCase=="boolean"?t.ignoreCase:t.ignoreCase==="quirks"?!!e.quirksMode:!e.xmlMode&&e2.has(t.name)}var Vr,Zb,e2,Ku,Xu=T(()=>{Vr=Qe(Bt(),1),Zb=/[-[\]{}()*+?.,\\^$|#\s]/g;e2=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);Ku={equals(t,e,r){let{adapter:n}=r,{name:i}=e,{value:o}=e;return It(e,r)?(o=o.toLowerCase(),s=>{let c=n.getAttributeValue(s,i);return c!=null&&c.length===o.length&&c.toLowerCase()===o&&t(s)}):s=>n.getAttributeValue(s,i)===o&&t(s)},hyphen(t,e,r){let{adapter:n}=r,{name:i}=e,{value:o}=e,s=o.length;return It(e,r)?(o=o.toLowerCase(),function(u){let l=n.getAttributeValue(u,i);return l!=null&&(l.length===s||l.charAt(s)==="-")&&l.substr(0,s).toLowerCase()===o&&t(u)}):function(u){let l=n.getAttributeValue(u,i);return l!=null&&(l.length===s||l.charAt(s)==="-")&&l.substr(0,s)===o&&t(u)}},element(t,e,r){let{adapter:n}=r,{name:i,value:o}=e;if(/\s/.test(o))return Vr.falseFunc;let s=new RegExp(`(?:^|\\s)${Gu(o)}(?:$|\\s)`,It(e,r)?"i":"");return function(u){let l=n.getAttributeValue(u,i);return l!=null&&l.length>=o.length&&s.test(l)&&t(u)}},exists(t,{name:e},{adapter:r}){return n=>r.hasAttrib(n,e)&&t(n)},start(t,e,r){let{adapter:n}=r,{name:i}=e,{value:o}=e,s=o.length;return s===0?Vr.falseFunc:It(e,r)?(o=o.toLowerCase(),c=>{let u=n.getAttributeValue(c,i);return u!=null&&u.length>=s&&u.substr(0,s).toLowerCase()===o&&t(c)}):c=>{var u;return!!((u=n.getAttributeValue(c,i))!=null&&u.startsWith(o))&&t(c)}},end(t,e,r){let{adapter:n}=r,{name:i}=e,{value:o}=e,s=-o.length;return s===0?Vr.falseFunc:It(e,r)?(o=o.toLowerCase(),c=>{var u;return((u=n.getAttributeValue(c,i))==null?void 0:u.substr(s).toLowerCase())===o&&t(c)}):c=>{var u;return!!((u=n.getAttributeValue(c,i))!=null&&u.endsWith(o))&&t(c)}},any(t,e,r){let{adapter:n}=r,{name:i,value:o}=e;if(o==="")return Vr.falseFunc;if(It(e,r)){let s=new RegExp(Gu(o),"i");return function(u){let l=n.getAttributeValue(u,i);return l!=null&&l.length>=o.length&&s.test(l)&&t(u)}}return s=>{var c;return!!((c=n.getAttributeValue(s,i))!=null&&c.includes(o))&&t(s)}},not(t,e,r){let{adapter:n}=r,{name:i}=e,{value:o}=e;return o===""?s=>!!n.getAttributeValue(s,i)&&t(s):It(e,r)?(o=o.toLowerCase(),s=>{let c=n.getAttributeValue(s,i);return(c==null||c.length!==o.length||c.toLowerCase()!==o)&&t(s)}):s=>n.getAttributeValue(s,i)!==o&&t(s)}}});function Ju(t,e,r){let{adapter:n,xmlMode:i=!1}=r,o=[],s=[e],c=[0];for(;;){if(c[0]>=s[0].length){if(s.length===1)return o;s.shift(),c.shift();continue}let u=s[0][c[0]++];if(n.isTag(u)&&(t(u)&&o.push(u),i||n.getName(u)!=="template")){let l=n.getChildren(u);l.length>0&&(s.unshift(l),c.unshift(0))}}}function or(t,e,r){let{adapter:n,xmlMode:i=!1}=r,o=[e],s=[0];for(;;){if(s[0]>=o[0].length){if(o.length===1)return null;o.shift(),s.shift();continue}let c=o[0][s[0]++];if(n.isTag(c)){if(t(c))return c;if(i||n.getName(c)!=="template"){let u=n.getChildren(c);u.length>0&&(o.unshift(u),s.unshift(0))}}}}function di(t,e){let r=e.getSiblings(t);if(r.length<=1)return[];let n=r.indexOf(t);return n<0||n===r.length-1?[]:r.slice(n+1).filter(e.isTag)}function Te(t,e){let r=e.getParent(t);return r!=null&&e.isTag(r)?r:null}var qt=T(()=>{});var Qu,Ta,Yu=T(()=>{Qu="input:is([type=text i],[type=search i],[type=url i],[type=tel i],[type=email i],[type=password i],[type=date i],[type=month i],[type=week i],[type=time i],[type=datetime-local i],[type=number i])",Ta={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is(
|
|
37
|
+
`;break;case"event":i.event=p;break;case"id":i.id=p;break;case"retry":let m=parseInt(p,10);isNaN(m)||(i.retry=m);break}}}n.trim()}finally{e.releaseLock()}}var Io=A(()=>{"use strict";G()});function Tc(t){let e={hit:!1},r=t.get("cf-cache-status");r&&(e.provider="cloudflare",e.status=r.toUpperCase(),e.hit=r.toUpperCase()==="HIT");let n=t.get("x-cache");if(n){let l=n.toUpperCase();e.hit=l.includes("HIT"),l.includes("FASTLY")?e.provider="fastly":l.includes("VARNISH")&&(e.provider="varnish"),l.includes("HIT")?e.status="HIT":l.includes("MISS")?e.status="MISS":l.includes("EXPIRED")?e.status="EXPIRED":l.includes("STALE")&&(e.status="STALE")}let i=t.get("x-akamai-cache-status");i&&(e.provider="akamai",e.hit=i.toUpperCase().includes("HIT"));let o=t.get("x-cache");t.get("x-amz-cf-id")&&(e.provider="cloudfront");let c=t.get("cache-control");if(c){let l=c.match(/max-age=(\d+)/);l&&(e.maxAge=parseInt(l[1],10))}let u=t.get("age");return u&&(e.age=parseInt(u,10)),e}function Sc(t){let e={metadata:{}};for(let r of yy)if(r.detect(t)){e.provider=r.name,e.category=r.category;let n=r.extract(t);n.region&&(e.region=n.region),n.server&&(e.server=n.server),n.metadata&&Object.assign(e.metadata,n.metadata);break}if(!e.provider){let r=t.get("server");if(r){e.server=r;let n=r.toLowerCase();n.includes("cloudflare")?(e.provider="cloudflare",e.category="cdn"):n.includes("cloudfront")?(e.provider="aws-cloudfront",e.category="cloud"):n.includes("fastly")?(e.provider="fastly",e.category="cdn"):n.includes("akamai")?(e.provider="akamai",e.category="cdn"):n.includes("nginx")?(e.provider="nginx",e.category="server"):n.includes("apache")?(e.provider="apache",e.category="server"):n.includes("varnish")?(e.provider="varnish",e.category="proxy"):(e.provider="unknown",e.category="unknown")}}if(!e.provider){let r=t.get("via");if(r){let n=r.toLowerCase();n.includes("cloudflare")?(e.provider="cloudflare",e.category="cdn"):n.includes("akamai")?(e.provider="akamai",e.category="cdn"):n.includes("varnish")?(e.provider="varnish",e.category="proxy"):n.includes("squid")&&(e.provider="squid",e.category="proxy")}}return Object.keys(e.metadata||{}).length===0&&delete e.metadata,e}function Ac(t,e){let r={limited:e===429},n=t.get("x-ratelimit-limit")||t.get("ratelimit-limit"),i=t.get("x-ratelimit-remaining")||t.get("ratelimit-remaining"),o=t.get("x-ratelimit-reset")||t.get("ratelimit-reset");if(n&&(r.limit=parseInt(n,10)),i&&(r.remaining=parseInt(i,10)),o){let u=parseInt(o,10);u>1e9?r.reset=new Date(u*1e3):r.reset=new Date(Date.now()+u*1e3)}let s=t.get("retry-after");if(s){let u=parseInt(s,10);if(!isNaN(u))r.retryAfter=u;else{let l=new Date(s);isNaN(l.getTime())||(r.retryAfter=Math.ceil((l.getTime()-Date.now())/1e3))}}let c=t.get("ratelimit-policy");return c&&(r.policy=c),r.remaining!==void 0&&r.remaining===0&&(r.limited=!0),r}function Cc(t){let e={},r=t.get("content-encoding");r&&(e.encoding=r.toLowerCase());let n=t.get("x-original-size")||t.get("x-uncompressed-size");n&&(e.originalSize=parseInt(n,10));let i=t.get("content-length");return i&&(e.compressedSize=parseInt(i,10)),e.originalSize&&e.compressedSize&&(e.ratio=e.originalSize/e.compressedSize),e}function Ec(t){let e={directives:{},reportOnly:!1},r=t.get("content-security-policy");if(r||(r=t.get("content-security-policy-report-only"),r&&(e.reportOnly=!0)),r){e.policy=r;let n=r.split(";").map(i=>i.trim()).filter(Boolean);for(let i of n){let[o,...s]=i.split(/\s+/);o&&(e.directives[o]=s)}}return e}function Dc(t){let e={},r=t.get("content-type");if(!r)return e;let n=r.split(";").map(i=>i.trim());if(n[0]){e.mediaType=n[0];let[i,o]=n[0].split("/");i&&(e.type=i),o&&(e.subtype=o)}for(let i=1;i<n.length;i++){let o=n[i],[s,c]=o.split("=").map(u=>u.trim());s==="charset"&&c?e.charset=c.replace(/['"]/g,""):s==="boundary"&&c&&(e.boundary=c.replace(/['"]/g,""))}return e}function Lc(t){let e={types:[],encodings:[],languages:[]},r=t.get("accept");if(r){let o=r.split(",").map(s=>s.trim());for(let s of o){let[c,...u]=s.split(";").map(m=>m.trim()),l=1;for(let m of u)m.startsWith("q=")&&(l=parseFloat(m.substring(2))||1);let[d,p]=c.split("/");e.types.push({mediaType:c,q:l,type:d||void 0,subtype:p||void 0})}e.types.sort((s,c)=>c.q-s.q)}let n=t.get("accept-encoding");if(n){let o=n.split(",").map(s=>s.trim());for(let s of o){let[c,...u]=s.split(";").map(d=>d.trim()),l=1;for(let d of u)d.startsWith("q=")&&(l=parseFloat(d.substring(2))||1);e.encodings.push({encoding:c,q:l})}e.encodings.sort((s,c)=>c.q-s.q)}let i=t.get("accept-language");if(i){let o=i.split(",").map(s=>s.trim());for(let s of o){let[c,...u]=s.split(";").map(d=>d.trim()),l=1;for(let d of u)d.startsWith("q=")&&(l=parseFloat(d.substring(2))||1);e.languages.push({language:c,q:l})}e.languages.sort((s,c)=>c.q-s.q)}return e}function Rc(t){let e={methods:[]},r=t.get("www-authenticate");if(r){r.toLowerCase().includes("basic")&&e.methods.push("Basic"),r.toLowerCase().includes("bearer")&&e.methods.push("Bearer"),r.toLowerCase().includes("digest")&&e.methods.push("Digest"),r.toLowerCase().includes("negotiate")&&e.methods.push("Negotiate"),r.toLowerCase().includes("aws4-hmac-sha256")&&e.methods.push("AWS4");let i=r.match(/realm="([^"]+)"/);i&&(e.realm=i[1]);let o=r.match(/error="([^"]+)"/);o&&(e.error=o[1]);let s=r.match(/error_description="([^"]+)"/);s&&(e.errorDescription=s[1])}let n=t.get("x-auth-error")||t.get("x-authentication-error");return n&&(e.error||(e.error=n)),e}function Pc(t){let e=t.get("date");if(!e)return{};let r=new Date(e);if(isNaN(r.getTime()))return{};let n=r.getTime()-Date.now();return{serverTime:r,skewMs:n}}function ut(t,e){return{cache:Tc(t),platform:Sc(t),rateLimit:Ac(t,e),compression:Cc(t),csp:Ec(t),contentType:Dc(t),accept:Lc(t),auth:Rc(t),clockSkew:Pc(t)}}var yy,On=A(()=>{"use strict";yy=[{name:"cloudflare",category:"cdn",headers:["cf-ray","cf-cache-status"],detect:t=>t.get("cf-ray")!==null,extract:t=>{let e=t.get("cf-ray"),r={};if(e){r.ray=e;let n=e.split("-");if(n.length>1)return{region:n[1],metadata:r}}return{metadata:r}}},{name:"fastly",category:"cdn",headers:["fastly-debug-digest","x-served-by"],detect:t=>{let e=t.get("x-served-by");return(e==null?void 0:e.includes("cache-"))||t.get("fastly-debug-digest")!==null},extract:t=>({server:t.get("x-served-by")||void 0,metadata:{digest:t.get("fastly-debug-digest")}})},{name:"akamai",category:"cdn",headers:["x-akamai-request-id","x-akamai-cache-status"],detect:t=>t.get("x-akamai-request-id")!==null,extract:t=>({metadata:{requestId:t.get("x-akamai-request-id"),cacheId:t.get("x-akamai-cache-status")}})},{name:"aws-cloudfront",category:"cloud",headers:["x-amz-cf-id","x-amz-cf-pop"],detect:t=>t.get("x-amz-cf-id")!==null,extract:t=>({region:t.get("x-amz-cf-pop")||void 0,metadata:{requestId:t.get("x-amz-cf-id"),pop:t.get("x-amz-cf-pop")}})},{name:"gcp",category:"cloud",headers:["x-cloud-trace-context","x-goog-request-id"],detect:t=>t.get("x-cloud-trace-context")!==null||t.get("x-goog-request-id")!==null,extract:t=>{let e=t.get("x-cloud-trace-context");return{metadata:{traceId:e?e.split("/")[0]:void 0,requestId:t.get("x-goog-request-id")}}}},{name:"azure",category:"cloud",headers:["x-ms-request-id","x-azure-ref"],detect:t=>t.get("x-ms-request-id")!==null,extract:t=>({metadata:{requestId:t.get("x-ms-request-id"),ref:t.get("x-azure-ref")}})},{name:"oracle-cloud",category:"cloud",headers:["x-oracle-dms-rid","x-oracle-dms-ecid"],detect:t=>t.get("x-oracle-dms-rid")!==null,extract:t=>({metadata:{requestId:t.get("x-oracle-dms-rid"),ecid:t.get("x-oracle-dms-ecid")}})},{name:"alibaba-cloud",category:"cloud",headers:["ali-swift-global-savetime","eagleeye-traceid"],detect:t=>t.get("eagleeye-traceid")!==null,extract:t=>({metadata:{traceId:t.get("eagleeye-traceid")}})},{name:"vercel",category:"hosting",headers:["x-vercel-id","x-vercel-cache"],detect:t=>t.get("x-vercel-id")!==null,extract:t=>({metadata:{requestId:t.get("x-vercel-id"),cache:t.get("x-vercel-cache")}})},{name:"netlify",category:"hosting",headers:["x-nf-request-id","x-nf-trace-id"],detect:t=>t.get("x-nf-request-id")!==null,extract:t=>({metadata:{requestId:t.get("x-nf-request-id"),traceId:t.get("x-nf-trace-id")}})},{name:"render",category:"hosting",headers:["x-render-origin-server"],detect:t=>t.get("x-render-origin-server")!==null,extract:t=>({metadata:{origin:t.get("x-render-origin-server")}})},{name:"datadome",category:"security",headers:["x-datadome","x-datadome-cid"],detect:t=>t.get("x-datadome")!==null||t.get("x-datadome-cid")!==null,extract:t=>({metadata:{cid:t.get("x-datadome-cid")}})},{name:"incapsula",category:"security",headers:["x-iinfo","x-cdn"],detect:t=>t.get("x-iinfo")!==null||(t.get("x-cdn")||"").includes("Incapsula"),extract:t=>({metadata:{iinfo:t.get("x-iinfo")}})},{name:"imperva",category:"security",headers:["x-imperva-uuid"],detect:t=>t.get("x-imperva-uuid")!==null,extract:t=>({metadata:{uuid:t.get("x-imperva-uuid")}})},{name:"aws-waf",category:"security",headers:["x-amzn-waf-action"],detect:t=>t.get("server")==="awselb/2.0",extract:t=>({})},{name:"envoy",category:"proxy",headers:["x-envoy-upstream-service-time"],detect:t=>t.get("x-envoy-upstream-service-time")!==null||t.get("server")==="envoy",extract:t=>({})},{name:"traefik",category:"proxy",headers:[],detect:t=>(t.get("server")||"").toLowerCase().includes("traefik"),extract:t=>({})},{name:"caddy",category:"server",headers:[],detect:t=>(t.get("server")||"").toLowerCase().includes("caddy"),extract:t=>({})},{name:"haproxy",category:"proxy",headers:[],detect:t=>(t.get("server")||"").toLowerCase().includes("haproxy"),extract:t=>({})},{name:"iis",category:"server",headers:["x-powered-by"],detect:t=>(t.get("server")||"").toLowerCase().includes("iis"),extract:t=>({})},{name:"kestrel",category:"server",headers:[],detect:t=>(t.get("server")||"").toLowerCase().includes("kestrel"),extract:t=>({})},{name:"express",category:"framework",headers:["x-powered-by"],detect:t=>(t.get("x-powered-by")||"").toLowerCase().includes("express"),extract:t=>({})},{name:"rails",category:"framework",headers:["x-runtime","x-request-id"],detect:t=>t.get("x-runtime")!==null&&!(t.get("x-powered-by")||"").includes("Express"),extract:t=>({metadata:{runtime:t.get("x-runtime")}})},{name:"django",category:"framework",headers:[],detect:t=>(t.get("server")||"").toLowerCase().includes("wsgi"),extract:t=>({})},{name:"aspnet",category:"framework",headers:["x-aspnet-version","x-powered-by"],detect:t=>t.get("x-aspnet-version")!==null||(t.get("x-powered-by")||"").includes("ASP.NET"),extract:t=>({metadata:{version:t.get("x-aspnet-version")}})},{name:"php",category:"framework",headers:["x-powered-by"],detect:t=>(t.get("x-powered-by")||"").toLowerCase().includes("php"),extract:t=>({metadata:{version:t.get("x-powered-by")}})}]});function Nc(t){if(!t||typeof t!="string")return{all:[]};let e=[],r={all:e},n=by(t);for(let i of n){let o=vy(i.trim());if(o&&(e.push(o),o.rel)){let s=o.rel.split(/\s+/);for(let c of s){let u=r[c];u?Array.isArray(u)?u.push(o):r[c]=[u,o]:r[c]=o}}}return r}function by(t){let e=[],r="",n=!1,i=!1;for(let o=0;o<t.length;o++){let s=t[o],c=o>0?t[o-1]:"";if(s==="<"&&!i)n=!0;else if(s===">"&&!i)n=!1;else if(s==='"'&&c!=="\\")i=!i;else if(s===","&&!n&&!i){e.push(r.trim()),r="";continue}r+=s}return r.trim()&&e.push(r.trim()),e}function vy(t){let e=t.match(/^<([^>]+)>/);if(!e)return null;let n={uri:e[1]},i=t.slice(e[0].length),o=wy(i);for(let[s,c]of Object.entries(o))n[s]=c;return n}function wy(t){let e={},r=t.split(/;/).filter(n=>n.trim());for(let n of r){let i=n.indexOf("=");if(i===-1)continue;let o=n.slice(0,i).trim(),s=n.slice(i+1).trim();(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"))&&(s=s.slice(1,-1)),s=s.replace(/\\(.)/g,"$1"),e[o]=s}return e}function Br(t){let e=t.get("Link");return e?new zn(e):null}var Te,zn,jn=A(()=>{"use strict";Te={NEXT:"next",PREV:"prev",PREVIOUS:"previous",FIRST:"first",LAST:"last",ALTERNATE:"alternate",CANONICAL:"canonical",AUTHOR:"author",LICENSE:"license",STYLESHEET:"stylesheet",ICON:"icon",PRELOAD:"preload",PREFETCH:"prefetch",PRECONNECT:"preconnect",DNS_PREFETCH:"dns-prefetch",PRERENDER:"prerender",SELF:"self",EDIT:"edit",COLLECTION:"collection",ITEM:"item",HELP:"help",DESCRIBEDBY:"describedby",UP:"up",RELATED:"related",REPLIES:"replies",VIA:"via"},zn=class{links;constructor(e){this.links=Nc(e)}getAll(){return this.links.all}getRel(e){return this.links[e]}getFirst(e){let r=this.links[e];if(r)return Array.isArray(r)?r[0]:r}has(e){return e in this.links}getPagination(){var e,r,n,i,o;return{next:(e=this.getFirst(Te.NEXT))==null?void 0:e.uri,prev:((r=this.getFirst(Te.PREV))==null?void 0:r.uri)||((n=this.getFirst(Te.PREVIOUS))==null?void 0:n.uri),first:(i=this.getFirst(Te.FIRST))==null?void 0:i.uri,last:(o=this.getFirst(Te.LAST))==null?void 0:o.uri}}hasNext(){return this.has(Te.NEXT)}hasPrev(){return this.has(Te.PREV)||this.has(Te.PREVIOUS)}getCanonical(){var e;return(e=this.getFirst(Te.CANONICAL))==null?void 0:e.uri}getAlternates(){let e=this.getRel(Te.ALTERNATE);return e?Array.isArray(e)?e:[e]:[]}getResourceHints(){let e=r=>{let n=this.getRel(r);return n?Array.isArray(n)?n:[n]:[]};return{preload:e(Te.PRELOAD),prefetch:e(Te.PREFETCH),preconnect:e(Te.PRECONNECT),dnsPrefetch:e(Te.DNS_PREFETCH)}}toJSON(){return this.links}}});var Ho,Mc,Yk,qo=A(()=>{Ho={},Mc=t=>t,Yk=globalThis.performance});var Ur,Fc,eT,_n=A(()=>{Ur={},Fc=()=>"/",eT=globalThis.performance});var $o,rT,Bc=A(()=>{$o={},rT=globalThis.performance});function ky(){let t=["/sys/fs/cgroup/memory.max","/sys/fs/cgroup/memory/memory.limit_in_bytes"];for(let e of t)try{if(Dn.existsSync(e)){let r=Dn.readFileSync(e,"utf8").trim();if(!r||r==="max")continue;let n=Number.parseInt(r,10);if(Number.isFinite(n)&&n>0)return n}}catch{}return null}function Oo(){let t=ky();return t&&Number.isFinite(t)&&t>0?t:Ur.totalmem()}function Ic(t={}){let{maxMemoryBytes:e,maxMemoryPercent:r,safetyPercent:n}=t,i=$o.getHeapStatistics(),o=(i==null?void 0:i.heap_size_limit)??0,s=Oo(),c=0,u=!1;if(typeof e=="number"&&e>0)c=e;else if(typeof r=="number"&&r>0){let m=Math.max(0,Math.min(r,1));c=Math.floor(s*m),u=!0}let l=typeof n=="number"&&n>0&&n<=1?n:Uc,d=Math.floor(s*l);if((c===0||d<c)&&(c=d,u=u||(r??0)>0),o>0){let m=Math.floor(o*xy);(c===0||m<c)&&(c=m,u=u||(r??0)>0)}(!Number.isFinite(c)||c<=0)&&(c=Math.floor(s*Uc),u=!0);let p=s>0?c/s:null;return{maxMemoryBytes:c,derivedFromPercent:u,effectiveTotal:s,heapLimit:o,inferredPercent:p}}function Ye(t){if(t===0)return"0 B";let e=1024,r=["B","KB","MB","GB","TB"],n=Math.floor(Math.log(t)/Math.log(e));return`${(t/Math.pow(e,n)).toFixed(2)} ${r[n]}`}function Wn(){let t=$o.getHeapStatistics(),{heapUsed:e}=process.memoryUsage(),r=(t==null?void 0:t.heap_size_limit)??0,n=r>0?e/r:0;return{heapUsed:e,heapLimit:r,heapRatio:n}}var Uc,xy,Hc=A(()=>{"use strict";Lt();_n();Bc();Uc=.5,xy=.6});var jo={};ve(jo,{MemoryStorage:()=>zo});var zo,_o=A(()=>{"use strict";G();qo();_n();Hc();zo=class{storage=new Map;meta=new Map;maxSize;maxMemoryBytes;maxMemoryPercent;defaultTtl;evictionPolicy;compressionEnabled;compressionThreshold;enableStats;heapUsageThreshold;onEvict;onPressure;currentMemoryBytes=0;evictedDueToMemory=0;memoryPressureEvents=0;accessCounter=0;monitorHandle=null;cleanupHandle=null;stats={hits:0,misses:0,sets:0,deletes:0,evictions:0};compressionStats={totalCompressed:0,totalOriginalSize:0,totalCompressedSize:0};constructor(e={}){if(e.maxMemoryBytes&&e.maxMemoryBytes>0&&e.maxMemoryPercent&&e.maxMemoryPercent>0)throw new Le("[MemoryStorage] Cannot use both maxMemoryBytes and maxMemoryPercent",{configKey:"maxMemoryBytes|maxMemoryPercent"});if(e.maxMemoryPercent!==void 0&&(e.maxMemoryPercent<0||e.maxMemoryPercent>1))throw new Le("[MemoryStorage] maxMemoryPercent must be between 0 and 1",{configKey:"maxMemoryPercent"});if(this.maxSize=e.maxSize??1e3,this.defaultTtl=e.ttl??3e5,this.evictionPolicy=e.evictionPolicy??"lru",this.enableStats=e.enableStats??!1,this.heapUsageThreshold=e.heapUsageThreshold??.6,e.maxMemoryBytes&&e.maxMemoryBytes>0)this.maxMemoryBytes=e.maxMemoryBytes,this.maxMemoryPercent=0;else if(e.maxMemoryPercent&&e.maxMemoryPercent>0){let i=Oo();this.maxMemoryBytes=Math.floor(i*e.maxMemoryPercent),this.maxMemoryPercent=e.maxMemoryPercent}else{let i=Ic({});this.maxMemoryBytes=i.maxMemoryBytes,this.maxMemoryPercent=i.inferredPercent??0}e.compression===!0?(this.compressionEnabled=!0,this.compressionThreshold=1024):typeof e.compression=="object"&&e.compression.enabled?(this.compressionEnabled=!0,this.compressionThreshold=e.compression.threshold??1024):(this.compressionEnabled=!1,this.compressionThreshold=1024),this.onEvict=e.onEvict,this.onPressure=e.onPressure;let r=e.monitorInterval??15e3;r>0&&(this.monitorHandle=setInterval(()=>this.memoryHealthCheck(),r),this.monitorHandle.unref());let n=e.cleanupInterval??6e4;n>0&&(this.cleanupHandle=setInterval(()=>this.cleanupExpired(),n),this.cleanupHandle.unref())}async get(e){let r=this.storage.get(e),n=this.meta.get(e);if(!r||!n){this.recordStat("misses");return}let i=Date.now();if(i>n.expiresAt){this.deleteInternal(e),this.recordStat("misses");return}if(this.evictionPolicy==="lru"&&(n.lastAccess=i,n.accessOrder=++this.accessCounter),this.recordStat("hits"),this.isCompressed(r))try{let o=this.decompress(r);return JSON.parse(o)}catch{this.deleteInternal(e);return}return JSON.parse(r)}async set(e,r,n){let i=n??this.defaultTtl,o=Date.now(),s=JSON.stringify(r),c=Buffer.byteLength(s,"utf8"),u=s,l=c,d=!1;if(this.compressionEnabled&&c>=this.compressionThreshold)try{let m=this.compress(s);u=m,l=Buffer.byteLength(m.__data,"utf8"),d=!0,this.compressionStats.totalCompressed++,this.compressionStats.totalOriginalSize+=c,this.compressionStats.totalCompressedSize+=l}catch{}let p=this.meta.get(e);if(p&&(this.currentMemoryBytes-=p.compressedSize),!this.enforceMemoryLimit(l)){this.evictedDueToMemory++;return}!p&&this.storage.size>=this.maxSize&&this.evictOne("size"),this.storage.set(e,u),this.meta.set(e,{createdAt:o,expiresAt:o+i,lastAccess:o,insertOrder:++this.accessCounter,accessOrder:this.accessCounter,compressed:d,originalSize:c,compressedSize:l}),this.currentMemoryBytes+=l,this.recordStat("sets")}async delete(e){this.deleteInternal(e),this.recordStat("deletes")}clear(e){if(!e){this.storage.clear(),this.meta.clear(),this.currentMemoryBytes=0,this.evictedDueToMemory=0,this.enableStats&&(this.stats={hits:0,misses:0,sets:0,deletes:0,evictions:0});return}for(let r of this.storage.keys())r.startsWith(e)&&this.deleteInternal(r)}size(){return this.storage.size}keys(){return Array.from(this.storage.keys())}has(e){let r=this.meta.get(e);return r?Date.now()>r.expiresAt?(this.deleteInternal(e),!1):!0:!1}getStats(){let e=this.stats.hits+this.stats.misses,r=e>0?this.stats.hits/e:0;return{enabled:this.enableStats,...this.stats,hitRate:r,totalItems:this.storage.size,memoryUsageBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes,evictedDueToMemory:this.evictedDueToMemory}}getMemoryStats(){let e=this.storage.size,r=this.maxMemoryBytes>0?this.currentMemoryBytes/this.maxMemoryBytes*100:0,n=Ur.totalmem(),i=Ur.freemem(),o=n-i,s=n>0?this.currentMemoryBytes/n*100:0;return{currentMemoryBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes,maxMemoryPercent:this.maxMemoryPercent,memoryUsagePercent:parseFloat(r.toFixed(2)),cachePercentOfSystemMemory:parseFloat(s.toFixed(2)),totalItems:e,maxSize:this.maxSize,evictedDueToMemory:this.evictedDueToMemory,memoryPressureEvents:this.memoryPressureEvents,averageItemSize:e>0?Math.round(this.currentMemoryBytes/e):0,memoryUsage:{current:Ye(this.currentMemoryBytes),max:Ye(this.maxMemoryBytes),available:Ye(Math.max(0,this.maxMemoryBytes-this.currentMemoryBytes))},systemMemory:{total:Ye(n),free:Ye(i),used:Ye(o),cachePercent:`${s.toFixed(2)}%`}}}getCompressionStats(){if(!this.compressionEnabled)return{enabled:!1,totalItems:this.storage.size,compressedItems:0,compressionThreshold:this.compressionThreshold,totalOriginalSize:0,totalCompressedSize:0,averageCompressionRatio:"0",spaceSavingsPercent:"0",memoryUsage:{uncompressed:"0 B",compressed:"0 B",saved:"0 B"}};let e=this.compressionStats.totalOriginalSize>0?(this.compressionStats.totalCompressedSize/this.compressionStats.totalOriginalSize).toFixed(2):"0",r=this.compressionStats.totalOriginalSize>0?((this.compressionStats.totalOriginalSize-this.compressionStats.totalCompressedSize)/this.compressionStats.totalOriginalSize*100).toFixed(2):"0",n=this.compressionStats.totalOriginalSize-this.compressionStats.totalCompressedSize;return{enabled:!0,totalItems:this.storage.size,compressedItems:this.compressionStats.totalCompressed,compressionThreshold:this.compressionThreshold,totalOriginalSize:this.compressionStats.totalOriginalSize,totalCompressedSize:this.compressionStats.totalCompressedSize,averageCompressionRatio:e,spaceSavingsPercent:r,memoryUsage:{uncompressed:Ye(this.compressionStats.totalOriginalSize),compressed:Ye(this.compressionStats.totalCompressedSize),saved:Ye(n)}}}shutdown(){this.monitorHandle&&(clearInterval(this.monitorHandle),this.monitorHandle=null),this.cleanupHandle&&(clearInterval(this.cleanupHandle),this.cleanupHandle=null)}deleteInternal(e){let r=this.meta.get(e);r&&(this.currentMemoryBytes-=r.compressedSize),this.storage.delete(e),this.meta.delete(e)}recordStat(e){this.enableStats&&this.stats[e]++}isCompressed(e){return typeof e=="object"&&e!==null&&"__compressed"in e}compress(e){let r=Buffer.from(e,"utf8");return{__compressed:!0,__data:Ho.gzipSync(r).toString("base64"),__originalSize:r.length}}decompress(e){let r=Buffer.from(e.__data,"base64");return Ho.gunzipSync(r).toString("utf8")}selectEvictionCandidate(){if(this.meta.size===0)return null;let e=null,r=(this.evictionPolicy==="lru",1/0);for(let[n,i]of this.meta){let o=this.evictionPolicy==="lru"?i.accessOrder:i.insertOrder;o<r&&(r=o,e=n)}return e}evictOne(e){var o;let r=this.selectEvictionCandidate();if(!r)return null;let n=this.meta.get(r),i=(n==null?void 0:n.compressedSize)??0;return this.deleteInternal(r),this.stats.evictions++,(e==="memory"||e==="heap")&&this.evictedDueToMemory++,(o=this.onEvict)==null||o.call(this,{reason:e,key:r,freedBytes:i,currentBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes}),{key:r,freedBytes:i}}enforceMemoryLimit(e){if(e>this.maxMemoryBytes)return!1;for(;this.currentMemoryBytes+e>this.maxMemoryBytes&&this.storage.size>0&&this.evictOne("memory"););return this.currentMemoryBytes+e<=this.maxMemoryBytes}reduceMemoryTo(e){e=Math.max(0,e);let r=0;for(;this.currentMemoryBytes>e&&this.storage.size>0;){let n=this.evictOne("memory");if(!n)break;r+=n.freedBytes}return r}memoryHealthCheck(){var o,s;let e=0;if(this.currentMemoryBytes>this.maxMemoryBytes){let c=this.currentMemoryBytes;this.enforceMemoryLimit(0);let u=c-this.currentMemoryBytes;u>0&&(e+=u,this.memoryPressureEvents++,(o=this.onPressure)==null||o.call(this,{reason:"limit",heapLimit:Wn().heapLimit,heapUsed:Wn().heapUsed,currentBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes,freedBytes:u}))}let{heapUsed:r,heapLimit:n,heapRatio:i}=Wn();if(n>0&&i>=this.heapUsageThreshold){let c=this.currentMemoryBytes,u=Math.floor(this.currentMemoryBytes*.5);this.reduceMemoryTo(u);let l=c-this.currentMemoryBytes;l>0&&(e+=l,this.memoryPressureEvents++,(s=this.onPressure)==null||s.call(this,{reason:"heap",heapLimit:n,heapUsed:r,heapRatio:i,currentBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes,freedBytes:l}))}return e}cleanupExpired(){var n;let e=Date.now(),r=0;for(let[i,o]of this.meta)e>o.expiresAt&&(this.deleteInternal(i),r++,(n=this.onEvict)==null||n.call(this,{reason:"expired",key:i,freedBytes:o.compressedSize,currentBytes:this.currentMemoryBytes,maxMemoryBytes:this.maxMemoryBytes}));return r}}});var Bt=Ws((PT,Xc)=>{Xc.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}});var L,Z,Yn=A(()=>{(function(t){t.Attribute="attribute",t.Pseudo="pseudo",t.PseudoElement="pseudo-element",t.Tag="tag",t.Universal="universal",t.Adjacent="adjacent",t.Child="child",t.Descendant="descendant",t.Parent="parent",t.Sibling="sibling",t.ColumnCombinator="column-combinator"})(L||(L={}));(function(t){t.Any="any",t.Element="element",t.End="end",t.Equals="equals",t.Exists="exists",t.Hyphen="hyphen",t.Not="not",t.Start="start"})(Z||(Z={}))});function Zn(t){switch(t.type){case L.Adjacent:case L.Child:case L.Descendant:case L.Parent:case L.Sibling:case L.ColumnCombinator:return!0;default:return!1}}function ib(t,e,r){let n=Number.parseInt(e,16)-65536;return n!==n||r?e:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,n&1023|56320)}function qr(t){return t.replace(Zy,ib)}function oa(t){return t===D.SingleQuote||t===D.DoubleQuote}function Qc(t){return t===D.Space||t===D.Tab||t===D.NewLine||t===D.FormFeed||t===D.CarriageReturn}function $r(t){let e=[],r=Yc(e,`${t}`,0);if(r<t.length)throw new Error(`Unmatched selector: ${t.slice(r)}`);return e}function Yc(t,e,r){let n=[];function i(p){let m=e.slice(r+p).match(Jc);if(!m)throw new Error(`Expected name, found ${e.slice(r)}`);let[f]=m;return r+=p+f.length,qr(f)}function o(p){for(r+=p;r<e.length&&Qc(e.charCodeAt(r));)r++}function s(){r+=1;let p=r;for(let m=1;r<e.length;r++)switch(e.charCodeAt(r)){case D.BackSlash:{r+=1;break}case D.LeftParenthesis:{m+=1;break}case D.RightParenthesis:{if(m-=1,m===0)return qr(e.slice(p,r++));break}}throw new Error("Parenthesis not matched")}function c(){if(n.length>0&&Zn(n[n.length-1]))throw new Error("Did not expect successive traversals.")}function u(p){if(n.length>0&&n[n.length-1].type===L.Descendant){n[n.length-1].type=p;return}c(),n.push({type:p})}function l(p,m){n.push({type:L.Attribute,name:p,action:m,value:i(1),namespace:null,ignoreCase:"quirks"})}function d(){if(n.length>0&&n[n.length-1].type===L.Descendant&&n.pop(),n.length===0)throw new Error("Empty sub-selector");t.push(n)}if(o(0),e.length===r)return r;e:for(;r<e.length;){let p=e.charCodeAt(r);switch(p){case D.Space:case D.Tab:case D.NewLine:case D.FormFeed:case D.CarriageReturn:{(n.length===0||n[0].type!==L.Descendant)&&(c(),n.push({type:L.Descendant})),o(1);break}case D.GreaterThan:{u(L.Child),o(1);break}case D.LessThan:{u(L.Parent),o(1);break}case D.Tilde:{u(L.Sibling),o(1);break}case D.Plus:{u(L.Adjacent),o(1);break}case D.Period:{l("class",Z.Element);break}case D.Hash:{l("id",Z.Equals);break}case D.LeftSquareBracket:{o(1);let m,f=null;e.charCodeAt(r)===D.Pipe?m=i(1):e.startsWith("*|",r)?(f="*",m=i(2)):(m=i(0),e.charCodeAt(r)===D.Pipe&&e.charCodeAt(r+1)!==D.Equal&&(f=m,m=i(1))),o(0);let h=Z.Exists,g=eb.get(e.charCodeAt(r));if(g){if(h=g,e.charCodeAt(r+1)!==D.Equal)throw new Error("Expected `=`");o(2)}else e.charCodeAt(r)===D.Equal&&(h=Z.Equals,o(1));let y="",C=null;if(h!=="exists"){if(oa(e.charCodeAt(r))){let w=e.charCodeAt(r);r+=1;let x=r;for(;r<e.length&&e.charCodeAt(r)!==w;)r+=e.charCodeAt(r)===D.BackSlash?2:1;if(e.charCodeAt(r)!==w)throw new Error("Attribute value didn't end");y=qr(e.slice(x,r)),r+=1}else{let w=r;for(;r<e.length&&!Qc(e.charCodeAt(r))&&e.charCodeAt(r)!==D.RightSquareBracket;)r+=e.charCodeAt(r)===D.BackSlash?2:1;y=qr(e.slice(w,r))}switch(o(0),e.charCodeAt(r)|32){case D.LowerI:{C=!0,o(1);break}case D.LowerS:{C=!1,o(1);break}}}if(e.charCodeAt(r)!==D.RightSquareBracket)throw new Error("Attribute selector didn't terminate");r+=1;let b={type:L.Attribute,name:m,action:h,value:y,namespace:f,ignoreCase:C};n.push(b);break}case D.Colon:{if(e.charCodeAt(r+1)===D.Colon){n.push({type:L.PseudoElement,name:i(2).toLowerCase(),data:e.charCodeAt(r)===D.LeftParenthesis?s():null});break}let m=i(1).toLowerCase();if(rb.has(m)){n.push({type:L.PseudoElement,name:m,data:null});break}let f=null;if(e.charCodeAt(r)===D.LeftParenthesis)if(tb.has(m)){if(oa(e.charCodeAt(r+1)))throw new Error(`Pseudo-selector ${m} cannot be quoted`);if(f=[],r=Yc(f,e,r+1),e.charCodeAt(r)!==D.RightParenthesis)throw new Error(`Missing closing parenthesis in :${m} (${e})`);r+=1}else{if(f=s(),nb.has(m)){let h=f.charCodeAt(0);h===f.charCodeAt(f.length-1)&&oa(h)&&(f=f.slice(1,-1))}f=qr(f)}n.push({type:L.Pseudo,name:m,data:f});break}case D.Comma:{d(),n=[],o(1);break}default:{if(e.startsWith("/*",r)){let h=e.indexOf("*/",r+2);if(h<0)throw new Error("Comment was not terminated");r=h+2,n.length===0&&o(0);break}let m=null,f;if(p===D.Asterisk)r+=1,f="*";else if(p===D.Pipe){if(f="",e.charCodeAt(r+1)===D.Pipe){u(L.ColumnCombinator),o(2);break}}else if(Jc.test(e.slice(r)))f=i(0);else break e;e.charCodeAt(r)===D.Pipe&&e.charCodeAt(r+1)!==D.Pipe&&(m=f,e.charCodeAt(r+1)===D.Asterisk?(f="*",r+=2):f=i(1)),n.push(f==="*"?{type:L.Universal,namespace:m}:{type:L.Tag,name:f,namespace:m})}}}return d(),r}var Jc,Zy,D,eb,tb,rb,nb,Zc=A(()=>{Yn();Jc=/^[^#\\]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\u00B0-\uFFFF-])+/,Zy=/\\([\da-f]{1,6}\s?|(\s)|.)/gi;(function(t){t[t.LeftParenthesis=40]="LeftParenthesis",t[t.RightParenthesis=41]="RightParenthesis",t[t.LeftSquareBracket=91]="LeftSquareBracket",t[t.RightSquareBracket=93]="RightSquareBracket",t[t.Comma=44]="Comma",t[t.Period=46]="Period",t[t.Colon=58]="Colon",t[t.SingleQuote=39]="SingleQuote",t[t.DoubleQuote=34]="DoubleQuote",t[t.Plus=43]="Plus",t[t.Tilde=126]="Tilde",t[t.QuestionMark=63]="QuestionMark",t[t.ExclamationMark=33]="ExclamationMark",t[t.Slash=47]="Slash",t[t.Equal=61]="Equal",t[t.Dollar=36]="Dollar",t[t.Pipe=124]="Pipe",t[t.Circumflex=94]="Circumflex",t[t.Asterisk=42]="Asterisk",t[t.GreaterThan=62]="GreaterThan",t[t.LessThan=60]="LessThan",t[t.Hash=35]="Hash",t[t.LowerI=105]="LowerI",t[t.LowerS=115]="LowerS",t[t.BackSlash=92]="BackSlash",t[t.Space=32]="Space",t[t.Tab=9]="Tab",t[t.NewLine=10]="NewLine",t[t.FormFeed=12]="FormFeed",t[t.CarriageReturn=13]="CarriageReturn"})(D||(D={}));eb=new Map([[D.Tilde,Z.Element],[D.Circumflex,Z.Start],[D.Dollar,Z.End],[D.Asterisk,Z.Any],[D.ExclamationMark,Z.Not],[D.Pipe,Z.Hyphen]]),tb=new Set(["has","not","matches","is","where","host","host-context"]),rb=new Set(["before","after","first-line","first-letter"]);nb=new Set(["contains","icontains"])});var eu,tu,UT,IT,HT,ru=A(()=>{Yn();eu=["\\",'"'],tu=[...eu,"(",")"],UT=new Set(eu.map(t=>t.charCodeAt(0))),IT=new Set(tu.map(t=>t.charCodeAt(0))),HT=new Set([...tu,"~","^","$","*","+","!","|",":","[","]"," ",".","%"].map(t=>t.charCodeAt(0)))});var nr=A(()=>{Yn();Zc();ru()});function nu(t){return t.type===re.Tag||t.type===re.Script||t.type===re.Style}var re,iu,ou,au,su,cu,uu,lu,du,pu,Or=A(()=>{(function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"})(re||(re={}));iu=re.Root,ou=re.Text,au=re.Directive,su=re.Comment,cu=re.Script,uu=re.Style,lu=re.Tag,du=re.CDATA,pu=re.Doctype});function ge(t){return nu(t)}function zr(t){return t.type===re.CDATA}function lt(t){return t.type===re.Text}function ei(t){return t.type===re.Comment}function mu(t){return t.type===re.Root}function be(t){return Object.prototype.hasOwnProperty.call(t,"children")}var aa=A(()=>{Or()});var Ut=A(()=>{Or();aa();aa()});var fu,hu=A(()=>{fu=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(t=>t.charCodeAt(0)))});var gu,yu=A(()=>{gu=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(t=>t.charCodeAt(0)))});function ua(t){var e;return t>=55296&&t<=57343||t>1114111?65533:(e=ab.get(t))!==null&&e!==void 0?e:t}var sa,ab,ca,la=A(()=>{ab=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),ca=(sa=String.fromCodePoint)!==null&&sa!==void 0?sa:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|t&1023),e+=String.fromCharCode(t),e}});function da(t){return t>=he.ZERO&&t<=he.NINE}function cb(t){return t>=he.UPPER_A&&t<=he.UPPER_F||t>=he.LOWER_A&&t<=he.LOWER_F}function ub(t){return t>=he.UPPER_A&&t<=he.UPPER_Z||t>=he.LOWER_A&&t<=he.LOWER_Z||da(t)}function lb(t){return t===he.EQUALS||ub(t)}function bu(t){let e="",r=new ti(t,n=>e+=ca(n));return function(i,o){let s=0,c=0;for(;(c=i.indexOf("&",c))>=0;){e+=i.slice(s,c),r.startEntity(o);let l=r.write(i,c+1);if(l<0){s=c+r.end();break}s=c+l,c=l===0?s+1:s}let u=e+i.slice(s);return e="",u}}function db(t,e,r,n){let i=(e&vt.BRANCH_LENGTH)>>7,o=e&vt.JUMP_TABLE;if(i===0)return o!==0&&n===o?r:-1;if(o){let u=n-o;return u<0||u>=i?-1:t[r+u]-1}let s=r,c=s+i-1;for(;s<=c;){let u=s+c>>>1,l=t[u];if(l<n)s=u+1;else if(l>n)c=u-1;else return t[u+i]}return-1}var he,sb,vt,fe,dt,ti,lS,dS,pa=A(()=>{hu();yu();la();la();(function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"})(he||(he={}));sb=32;(function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"})(vt||(vt={}));(function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"})(fe||(fe={}));(function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"})(dt||(dt={}));ti=class{constructor(e,r,n){this.decodeTree=e,this.emitCodePoint=r,this.errors=n,this.state=fe.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=dt.Strict}startEntity(e){this.decodeMode=e,this.state=fe.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,r){switch(this.state){case fe.EntityStart:return e.charCodeAt(r)===he.NUM?(this.state=fe.NumericStart,this.consumed+=1,this.stateNumericStart(e,r+1)):(this.state=fe.NamedEntity,this.stateNamedEntity(e,r));case fe.NumericStart:return this.stateNumericStart(e,r);case fe.NumericDecimal:return this.stateNumericDecimal(e,r);case fe.NumericHex:return this.stateNumericHex(e,r);case fe.NamedEntity:return this.stateNamedEntity(e,r)}}stateNumericStart(e,r){return r>=e.length?-1:(e.charCodeAt(r)|sb)===he.LOWER_X?(this.state=fe.NumericHex,this.consumed+=1,this.stateNumericHex(e,r+1)):(this.state=fe.NumericDecimal,this.stateNumericDecimal(e,r))}addToNumericResult(e,r,n,i){if(r!==n){let o=n-r;this.result=this.result*Math.pow(i,o)+parseInt(e.substr(r,o),i),this.consumed+=o}}stateNumericHex(e,r){let n=r;for(;r<e.length;){let i=e.charCodeAt(r);if(da(i)||cb(i))r+=1;else return this.addToNumericResult(e,n,r,16),this.emitNumericEntity(i,3)}return this.addToNumericResult(e,n,r,16),-1}stateNumericDecimal(e,r){let n=r;for(;r<e.length;){let i=e.charCodeAt(r);if(da(i))r+=1;else return this.addToNumericResult(e,n,r,10),this.emitNumericEntity(i,2)}return this.addToNumericResult(e,n,r,10),-1}emitNumericEntity(e,r){var n;if(this.consumed<=r)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===he.SEMI)this.consumed+=1;else if(this.decodeMode===dt.Strict)return 0;return this.emitCodePoint(ua(this.result),this.consumed),this.errors&&(e!==he.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,r){let{decodeTree:n}=this,i=n[this.treeIndex],o=(i&vt.VALUE_LENGTH)>>14;for(;r<e.length;r++,this.excess++){let s=e.charCodeAt(r);if(this.treeIndex=db(n,i,this.treeIndex+Math.max(1,o),s),this.treeIndex<0)return this.result===0||this.decodeMode===dt.Attribute&&(o===0||lb(s))?0:this.emitNotTerminatedNamedEntity();if(i=n[this.treeIndex],o=(i&vt.VALUE_LENGTH)>>14,o!==0){if(s===he.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);this.decodeMode!==dt.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:r,decodeTree:n}=this,i=(n[r]&vt.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,i,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,r,n){let{decodeTree:i}=this;return this.emitCodePoint(r===1?i[e]&~vt.VALUE_LENGTH:i[e+1],n),r===3&&this.emitCodePoint(i[e+2],n),n}end(){var e;switch(this.state){case fe.NamedEntity:return this.result!==0&&(this.decodeMode!==dt.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case fe.NumericDecimal:return this.emitNumericEntity(0,2);case fe.NumericHex:return this.emitNumericEntity(0,3);case fe.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case fe.EntityStart:return 0}}};lS=bu(fu),dS=bu(gu)});function ri(t){for(let e=1;e<t.length;e++)t[e][0]+=t[e-1][0]+1;return t}var pb,vu=A(()=>{pb=new Map(ri([[9,"	"],[0,"
"],[22,"!"],[0,"""],[0,"#"],[0,"$"],[0,"%"],[0,"&"],[0,"'"],[0,"("],[0,")"],[0,"*"],[0,"+"],[0,","],[1,"."],[0,"/"],[10,":"],[0,";"],[0,{v:"<",n:8402,o:"<⃒"}],[0,{v:"=",n:8421,o:"=⃥"}],[0,{v:">",n:8402,o:">⃒"}],[0,"?"],[0,"@"],[26,"["],[0,"\"],[0,"]"],[0,"^"],[0,"_"],[0,"`"],[5,{n:106,o:"fj"}],[20,"{"],[0,"|"],[0,"}"],[34," "],[0,"¡"],[0,"¢"],[0,"£"],[0,"¤"],[0,"¥"],[0,"¦"],[0,"§"],[0,"¨"],[0,"©"],[0,"ª"],[0,"«"],[0,"¬"],[0,"­"],[0,"®"],[0,"¯"],[0,"°"],[0,"±"],[0,"²"],[0,"³"],[0,"´"],[0,"µ"],[0,"¶"],[0,"·"],[0,"¸"],[0,"¹"],[0,"º"],[0,"»"],[0,"¼"],[0,"½"],[0,"¾"],[0,"¿"],[0,"À"],[0,"Á"],[0,"Â"],[0,"Ã"],[0,"Ä"],[0,"Å"],[0,"Æ"],[0,"Ç"],[0,"È"],[0,"É"],[0,"Ê"],[0,"Ë"],[0,"Ì"],[0,"Í"],[0,"Î"],[0,"Ï"],[0,"Ð"],[0,"Ñ"],[0,"Ò"],[0,"Ó"],[0,"Ô"],[0,"Õ"],[0,"Ö"],[0,"×"],[0,"Ø"],[0,"Ù"],[0,"Ú"],[0,"Û"],[0,"Ü"],[0,"Ý"],[0,"Þ"],[0,"ß"],[0,"à"],[0,"á"],[0,"â"],[0,"ã"],[0,"ä"],[0,"å"],[0,"æ"],[0,"ç"],[0,"è"],[0,"é"],[0,"ê"],[0,"ë"],[0,"ì"],[0,"í"],[0,"î"],[0,"ï"],[0,"ð"],[0,"ñ"],[0,"ò"],[0,"ó"],[0,"ô"],[0,"õ"],[0,"ö"],[0,"÷"],[0,"ø"],[0,"ù"],[0,"ú"],[0,"û"],[0,"ü"],[0,"ý"],[0,"þ"],[0,"ÿ"],[0,"Ā"],[0,"ā"],[0,"Ă"],[0,"ă"],[0,"Ą"],[0,"ą"],[0,"Ć"],[0,"ć"],[0,"Ĉ"],[0,"ĉ"],[0,"Ċ"],[0,"ċ"],[0,"Č"],[0,"č"],[0,"Ď"],[0,"ď"],[0,"Đ"],[0,"đ"],[0,"Ē"],[0,"ē"],[2,"Ė"],[0,"ė"],[0,"Ę"],[0,"ę"],[0,"Ě"],[0,"ě"],[0,"Ĝ"],[0,"ĝ"],[0,"Ğ"],[0,"ğ"],[0,"Ġ"],[0,"ġ"],[0,"Ģ"],[1,"Ĥ"],[0,"ĥ"],[0,"Ħ"],[0,"ħ"],[0,"Ĩ"],[0,"ĩ"],[0,"Ī"],[0,"ī"],[2,"Į"],[0,"į"],[0,"İ"],[0,"ı"],[0,"IJ"],[0,"ij"],[0,"Ĵ"],[0,"ĵ"],[0,"Ķ"],[0,"ķ"],[0,"ĸ"],[0,"Ĺ"],[0,"ĺ"],[0,"Ļ"],[0,"ļ"],[0,"Ľ"],[0,"ľ"],[0,"Ŀ"],[0,"ŀ"],[0,"Ł"],[0,"ł"],[0,"Ń"],[0,"ń"],[0,"Ņ"],[0,"ņ"],[0,"Ň"],[0,"ň"],[0,"ʼn"],[0,"Ŋ"],[0,"ŋ"],[0,"Ō"],[0,"ō"],[2,"Ő"],[0,"ő"],[0,"Œ"],[0,"œ"],[0,"Ŕ"],[0,"ŕ"],[0,"Ŗ"],[0,"ŗ"],[0,"Ř"],[0,"ř"],[0,"Ś"],[0,"ś"],[0,"Ŝ"],[0,"ŝ"],[0,"Ş"],[0,"ş"],[0,"Š"],[0,"š"],[0,"Ţ"],[0,"ţ"],[0,"Ť"],[0,"ť"],[0,"Ŧ"],[0,"ŧ"],[0,"Ũ"],[0,"ũ"],[0,"Ū"],[0,"ū"],[0,"Ŭ"],[0,"ŭ"],[0,"Ů"],[0,"ů"],[0,"Ű"],[0,"ű"],[0,"Ų"],[0,"ų"],[0,"Ŵ"],[0,"ŵ"],[0,"Ŷ"],[0,"ŷ"],[0,"Ÿ"],[0,"Ź"],[0,"ź"],[0,"Ż"],[0,"ż"],[0,"Ž"],[0,"ž"],[19,"ƒ"],[34,"Ƶ"],[63,"ǵ"],[65,"ȷ"],[142,"ˆ"],[0,"ˇ"],[16,"˘"],[0,"˙"],[0,"˚"],[0,"˛"],[0,"˜"],[0,"˝"],[51,"̑"],[127,"Α"],[0,"Β"],[0,"Γ"],[0,"Δ"],[0,"Ε"],[0,"Ζ"],[0,"Η"],[0,"Θ"],[0,"Ι"],[0,"Κ"],[0,"Λ"],[0,"Μ"],[0,"Ν"],[0,"Ξ"],[0,"Ο"],[0,"Π"],[0,"Ρ"],[1,"Σ"],[0,"Τ"],[0,"Υ"],[0,"Φ"],[0,"Χ"],[0,"Ψ"],[0,"Ω"],[7,"α"],[0,"β"],[0,"γ"],[0,"δ"],[0,"ε"],[0,"ζ"],[0,"η"],[0,"θ"],[0,"ι"],[0,"κ"],[0,"λ"],[0,"μ"],[0,"ν"],[0,"ξ"],[0,"ο"],[0,"π"],[0,"ρ"],[0,"ς"],[0,"σ"],[0,"τ"],[0,"υ"],[0,"φ"],[0,"χ"],[0,"ψ"],[0,"ω"],[7,"ϑ"],[0,"ϒ"],[2,"ϕ"],[0,"ϖ"],[5,"Ϝ"],[0,"ϝ"],[18,"ϰ"],[0,"ϱ"],[3,"ϵ"],[0,"϶"],[10,"Ё"],[0,"Ђ"],[0,"Ѓ"],[0,"Є"],[0,"Ѕ"],[0,"І"],[0,"Ї"],[0,"Ј"],[0,"Љ"],[0,"Њ"],[0,"Ћ"],[0,"Ќ"],[1,"Ў"],[0,"Џ"],[0,"А"],[0,"Б"],[0,"В"],[0,"Г"],[0,"Д"],[0,"Е"],[0,"Ж"],[0,"З"],[0,"И"],[0,"Й"],[0,"К"],[0,"Л"],[0,"М"],[0,"Н"],[0,"О"],[0,"П"],[0,"Р"],[0,"С"],[0,"Т"],[0,"У"],[0,"Ф"],[0,"Х"],[0,"Ц"],[0,"Ч"],[0,"Ш"],[0,"Щ"],[0,"Ъ"],[0,"Ы"],[0,"Ь"],[0,"Э"],[0,"Ю"],[0,"Я"],[0,"а"],[0,"б"],[0,"в"],[0,"г"],[0,"д"],[0,"е"],[0,"ж"],[0,"з"],[0,"и"],[0,"й"],[0,"к"],[0,"л"],[0,"м"],[0,"н"],[0,"о"],[0,"п"],[0,"р"],[0,"с"],[0,"т"],[0,"у"],[0,"ф"],[0,"х"],[0,"ц"],[0,"ч"],[0,"ш"],[0,"щ"],[0,"ъ"],[0,"ы"],[0,"ь"],[0,"э"],[0,"ю"],[0,"я"],[1,"ё"],[0,"ђ"],[0,"ѓ"],[0,"є"],[0,"ѕ"],[0,"і"],[0,"ї"],[0,"ј"],[0,"љ"],[0,"њ"],[0,"ћ"],[0,"ќ"],[1,"ў"],[0,"џ"],[7074," "],[0," "],[0," "],[0," "],[1," "],[0," "],[0," "],[0," "],[0,"​"],[0,"‌"],[0,"‍"],[0,"‎"],[0,"‏"],[0,"‐"],[2,"–"],[0,"—"],[0,"―"],[0,"‖"],[1,"‘"],[0,"’"],[0,"‚"],[1,"“"],[0,"”"],[0,"„"],[1,"†"],[0,"‡"],[0,"•"],[2,"‥"],[0,"…"],[9,"‰"],[0,"‱"],[0,"′"],[0,"″"],[0,"‴"],[0,"‵"],[3,"‹"],[0,"›"],[3,"‾"],[2,"⁁"],[1,"⁃"],[0,"⁄"],[10,"⁏"],[7,"⁗"],[7,{v:" ",n:8202,o:"  "}],[0,"⁠"],[0,"⁡"],[0,"⁢"],[0,"⁣"],[72,"€"],[46,"⃛"],[0,"⃜"],[37,"ℂ"],[2,"℅"],[4,"ℊ"],[0,"ℋ"],[0,"ℌ"],[0,"ℍ"],[0,"ℎ"],[0,"ℏ"],[0,"ℐ"],[0,"ℑ"],[0,"ℒ"],[0,"ℓ"],[1,"ℕ"],[0,"№"],[0,"℗"],[0,"℘"],[0,"ℙ"],[0,"ℚ"],[0,"ℛ"],[0,"ℜ"],[0,"ℝ"],[0,"℞"],[3,"™"],[1,"ℤ"],[2,"℧"],[0,"ℨ"],[0,"℩"],[2,"ℬ"],[0,"ℭ"],[1,"ℯ"],[0,"ℰ"],[0,"ℱ"],[1,"ℳ"],[0,"ℴ"],[0,"ℵ"],[0,"ℶ"],[0,"ℷ"],[0,"ℸ"],[12,"ⅅ"],[0,"ⅆ"],[0,"ⅇ"],[0,"ⅈ"],[10,"⅓"],[0,"⅔"],[0,"⅕"],[0,"⅖"],[0,"⅗"],[0,"⅘"],[0,"⅙"],[0,"⅚"],[0,"⅛"],[0,"⅜"],[0,"⅝"],[0,"⅞"],[49,"←"],[0,"↑"],[0,"→"],[0,"↓"],[0,"↔"],[0,"↕"],[0,"↖"],[0,"↗"],[0,"↘"],[0,"↙"],[0,"↚"],[0,"↛"],[1,{v:"↝",n:824,o:"↝̸"}],[0,"↞"],[0,"↟"],[0,"↠"],[0,"↡"],[0,"↢"],[0,"↣"],[0,"↤"],[0,"↥"],[0,"↦"],[0,"↧"],[1,"↩"],[0,"↪"],[0,"↫"],[0,"↬"],[0,"↭"],[0,"↮"],[1,"↰"],[0,"↱"],[0,"↲"],[0,"↳"],[1,"↵"],[0,"↶"],[0,"↷"],[2,"↺"],[0,"↻"],[0,"↼"],[0,"↽"],[0,"↾"],[0,"↿"],[0,"⇀"],[0,"⇁"],[0,"⇂"],[0,"⇃"],[0,"⇄"],[0,"⇅"],[0,"⇆"],[0,"⇇"],[0,"⇈"],[0,"⇉"],[0,"⇊"],[0,"⇋"],[0,"⇌"],[0,"⇍"],[0,"⇎"],[0,"⇏"],[0,"⇐"],[0,"⇑"],[0,"⇒"],[0,"⇓"],[0,"⇔"],[0,"⇕"],[0,"⇖"],[0,"⇗"],[0,"⇘"],[0,"⇙"],[0,"⇚"],[0,"⇛"],[1,"⇝"],[6,"⇤"],[0,"⇥"],[15,"⇵"],[7,"⇽"],[0,"⇾"],[0,"⇿"],[0,"∀"],[0,"∁"],[0,{v:"∂",n:824,o:"∂̸"}],[0,"∃"],[0,"∄"],[0,"∅"],[1,"∇"],[0,"∈"],[0,"∉"],[1,"∋"],[0,"∌"],[2,"∏"],[0,"∐"],[0,"∑"],[0,"−"],[0,"∓"],[0,"∔"],[1,"∖"],[0,"∗"],[0,"∘"],[1,"√"],[2,"∝"],[0,"∞"],[0,"∟"],[0,{v:"∠",n:8402,o:"∠⃒"}],[0,"∡"],[0,"∢"],[0,"∣"],[0,"∤"],[0,"∥"],[0,"∦"],[0,"∧"],[0,"∨"],[0,{v:"∩",n:65024,o:"∩︀"}],[0,{v:"∪",n:65024,o:"∪︀"}],[0,"∫"],[0,"∬"],[0,"∭"],[0,"∮"],[0,"∯"],[0,"∰"],[0,"∱"],[0,"∲"],[0,"∳"],[0,"∴"],[0,"∵"],[0,"∶"],[0,"∷"],[0,"∸"],[1,"∺"],[0,"∻"],[0,{v:"∼",n:8402,o:"∼⃒"}],[0,{v:"∽",n:817,o:"∽̱"}],[0,{v:"∾",n:819,o:"∾̳"}],[0,"∿"],[0,"≀"],[0,"≁"],[0,{v:"≂",n:824,o:"≂̸"}],[0,"≃"],[0,"≄"],[0,"≅"],[0,"≆"],[0,"≇"],[0,"≈"],[0,"≉"],[0,"≊"],[0,{v:"≋",n:824,o:"≋̸"}],[0,"≌"],[0,{v:"≍",n:8402,o:"≍⃒"}],[0,{v:"≎",n:824,o:"≎̸"}],[0,{v:"≏",n:824,o:"≏̸"}],[0,{v:"≐",n:824,o:"≐̸"}],[0,"≑"],[0,"≒"],[0,"≓"],[0,"≔"],[0,"≕"],[0,"≖"],[0,"≗"],[1,"≙"],[0,"≚"],[1,"≜"],[2,"≟"],[0,"≠"],[0,{v:"≡",n:8421,o:"≡⃥"}],[0,"≢"],[1,{v:"≤",n:8402,o:"≤⃒"}],[0,{v:"≥",n:8402,o:"≥⃒"}],[0,{v:"≦",n:824,o:"≦̸"}],[0,{v:"≧",n:824,o:"≧̸"}],[0,{v:"≨",n:65024,o:"≨︀"}],[0,{v:"≩",n:65024,o:"≩︀"}],[0,{v:"≪",n:new Map(ri([[824,"≪̸"],[7577,"≪⃒"]]))}],[0,{v:"≫",n:new Map(ri([[824,"≫̸"],[7577,"≫⃒"]]))}],[0,"≬"],[0,"≭"],[0,"≮"],[0,"≯"],[0,"≰"],[0,"≱"],[0,"≲"],[0,"≳"],[0,"≴"],[0,"≵"],[0,"≶"],[0,"≷"],[0,"≸"],[0,"≹"],[0,"≺"],[0,"≻"],[0,"≼"],[0,"≽"],[0,"≾"],[0,{v:"≿",n:824,o:"≿̸"}],[0,"⊀"],[0,"⊁"],[0,{v:"⊂",n:8402,o:"⊂⃒"}],[0,{v:"⊃",n:8402,o:"⊃⃒"}],[0,"⊄"],[0,"⊅"],[0,"⊆"],[0,"⊇"],[0,"⊈"],[0,"⊉"],[0,{v:"⊊",n:65024,o:"⊊︀"}],[0,{v:"⊋",n:65024,o:"⊋︀"}],[1,"⊍"],[0,"⊎"],[0,{v:"⊏",n:824,o:"⊏̸"}],[0,{v:"⊐",n:824,o:"⊐̸"}],[0,"⊑"],[0,"⊒"],[0,{v:"⊓",n:65024,o:"⊓︀"}],[0,{v:"⊔",n:65024,o:"⊔︀"}],[0,"⊕"],[0,"⊖"],[0,"⊗"],[0,"⊘"],[0,"⊙"],[0,"⊚"],[0,"⊛"],[1,"⊝"],[0,"⊞"],[0,"⊟"],[0,"⊠"],[0,"⊡"],[0,"⊢"],[0,"⊣"],[0,"⊤"],[0,"⊥"],[1,"⊧"],[0,"⊨"],[0,"⊩"],[0,"⊪"],[0,"⊫"],[0,"⊬"],[0,"⊭"],[0,"⊮"],[0,"⊯"],[0,"⊰"],[1,"⊲"],[0,"⊳"],[0,{v:"⊴",n:8402,o:"⊴⃒"}],[0,{v:"⊵",n:8402,o:"⊵⃒"}],[0,"⊶"],[0,"⊷"],[0,"⊸"],[0,"⊹"],[0,"⊺"],[0,"⊻"],[1,"⊽"],[0,"⊾"],[0,"⊿"],[0,"⋀"],[0,"⋁"],[0,"⋂"],[0,"⋃"],[0,"⋄"],[0,"⋅"],[0,"⋆"],[0,"⋇"],[0,"⋈"],[0,"⋉"],[0,"⋊"],[0,"⋋"],[0,"⋌"],[0,"⋍"],[0,"⋎"],[0,"⋏"],[0,"⋐"],[0,"⋑"],[0,"⋒"],[0,"⋓"],[0,"⋔"],[0,"⋕"],[0,"⋖"],[0,"⋗"],[0,{v:"⋘",n:824,o:"⋘̸"}],[0,{v:"⋙",n:824,o:"⋙̸"}],[0,{v:"⋚",n:65024,o:"⋚︀"}],[0,{v:"⋛",n:65024,o:"⋛︀"}],[2,"⋞"],[0,"⋟"],[0,"⋠"],[0,"⋡"],[0,"⋢"],[0,"⋣"],[2,"⋦"],[0,"⋧"],[0,"⋨"],[0,"⋩"],[0,"⋪"],[0,"⋫"],[0,"⋬"],[0,"⋭"],[0,"⋮"],[0,"⋯"],[0,"⋰"],[0,"⋱"],[0,"⋲"],[0,"⋳"],[0,"⋴"],[0,{v:"⋵",n:824,o:"⋵̸"}],[0,"⋶"],[0,"⋷"],[1,{v:"⋹",n:824,o:"⋹̸"}],[0,"⋺"],[0,"⋻"],[0,"⋼"],[0,"⋽"],[0,"⋾"],[6,"⌅"],[0,"⌆"],[1,"⌈"],[0,"⌉"],[0,"⌊"],[0,"⌋"],[0,"⌌"],[0,"⌍"],[0,"⌎"],[0,"⌏"],[0,"⌐"],[1,"⌒"],[0,"⌓"],[1,"⌕"],[0,"⌖"],[5,"⌜"],[0,"⌝"],[0,"⌞"],[0,"⌟"],[2,"⌢"],[0,"⌣"],[9,"⌭"],[0,"⌮"],[7,"⌶"],[6,"⌽"],[1,"⌿"],[60,"⍼"],[51,"⎰"],[0,"⎱"],[2,"⎴"],[0,"⎵"],[0,"⎶"],[37,"⏜"],[0,"⏝"],[0,"⏞"],[0,"⏟"],[2,"⏢"],[4,"⏧"],[59,"␣"],[164,"Ⓢ"],[55,"─"],[1,"│"],[9,"┌"],[3,"┐"],[3,"└"],[3,"┘"],[3,"├"],[7,"┤"],[7,"┬"],[7,"┴"],[7,"┼"],[19,"═"],[0,"║"],[0,"╒"],[0,"╓"],[0,"╔"],[0,"╕"],[0,"╖"],[0,"╗"],[0,"╘"],[0,"╙"],[0,"╚"],[0,"╛"],[0,"╜"],[0,"╝"],[0,"╞"],[0,"╟"],[0,"╠"],[0,"╡"],[0,"╢"],[0,"╣"],[0,"╤"],[0,"╥"],[0,"╦"],[0,"╧"],[0,"╨"],[0,"╩"],[0,"╪"],[0,"╫"],[0,"╬"],[19,"▀"],[3,"▄"],[3,"█"],[8,"░"],[0,"▒"],[0,"▓"],[13,"□"],[8,"▪"],[0,"▫"],[1,"▭"],[0,"▮"],[2,"▱"],[1,"△"],[0,"▴"],[0,"▵"],[2,"▸"],[0,"▹"],[3,"▽"],[0,"▾"],[0,"▿"],[2,"◂"],[0,"◃"],[6,"◊"],[0,"○"],[32,"◬"],[2,"◯"],[8,"◸"],[0,"◹"],[0,"◺"],[0,"◻"],[0,"◼"],[8,"★"],[0,"☆"],[7,"☎"],[49,"♀"],[1,"♂"],[29,"♠"],[2,"♣"],[1,"♥"],[0,"♦"],[3,"♪"],[2,"♭"],[0,"♮"],[0,"♯"],[163,"✓"],[3,"✗"],[8,"✠"],[21,"✶"],[33,"❘"],[25,"❲"],[0,"❳"],[84,"⟈"],[0,"⟉"],[28,"⟦"],[0,"⟧"],[0,"⟨"],[0,"⟩"],[0,"⟪"],[0,"⟫"],[0,"⟬"],[0,"⟭"],[7,"⟵"],[0,"⟶"],[0,"⟷"],[0,"⟸"],[0,"⟹"],[0,"⟺"],[1,"⟼"],[2,"⟿"],[258,"⤂"],[0,"⤃"],[0,"⤄"],[0,"⤅"],[6,"⤌"],[0,"⤍"],[0,"⤎"],[0,"⤏"],[0,"⤐"],[0,"⤑"],[0,"⤒"],[0,"⤓"],[2,"⤖"],[2,"⤙"],[0,"⤚"],[0,"⤛"],[0,"⤜"],[0,"⤝"],[0,"⤞"],[0,"⤟"],[0,"⤠"],[2,"⤣"],[0,"⤤"],[0,"⤥"],[0,"⤦"],[0,"⤧"],[0,"⤨"],[0,"⤩"],[0,"⤪"],[8,{v:"⤳",n:824,o:"⤳̸"}],[1,"⤵"],[0,"⤶"],[0,"⤷"],[0,"⤸"],[0,"⤹"],[2,"⤼"],[0,"⤽"],[7,"⥅"],[2,"⥈"],[0,"⥉"],[0,"⥊"],[0,"⥋"],[2,"⥎"],[0,"⥏"],[0,"⥐"],[0,"⥑"],[0,"⥒"],[0,"⥓"],[0,"⥔"],[0,"⥕"],[0,"⥖"],[0,"⥗"],[0,"⥘"],[0,"⥙"],[0,"⥚"],[0,"⥛"],[0,"⥜"],[0,"⥝"],[0,"⥞"],[0,"⥟"],[0,"⥠"],[0,"⥡"],[0,"⥢"],[0,"⥣"],[0,"⥤"],[0,"⥥"],[0,"⥦"],[0,"⥧"],[0,"⥨"],[0,"⥩"],[0,"⥪"],[0,"⥫"],[0,"⥬"],[0,"⥭"],[0,"⥮"],[0,"⥯"],[0,"⥰"],[0,"⥱"],[0,"⥲"],[0,"⥳"],[0,"⥴"],[0,"⥵"],[0,"⥶"],[1,"⥸"],[0,"⥹"],[1,"⥻"],[0,"⥼"],[0,"⥽"],[0,"⥾"],[0,"⥿"],[5,"⦅"],[0,"⦆"],[4,"⦋"],[0,"⦌"],[0,"⦍"],[0,"⦎"],[0,"⦏"],[0,"⦐"],[0,"⦑"],[0,"⦒"],[0,"⦓"],[0,"⦔"],[0,"⦕"],[0,"⦖"],[3,"⦚"],[1,"⦜"],[0,"⦝"],[6,"⦤"],[0,"⦥"],[0,"⦦"],[0,"⦧"],[0,"⦨"],[0,"⦩"],[0,"⦪"],[0,"⦫"],[0,"⦬"],[0,"⦭"],[0,"⦮"],[0,"⦯"],[0,"⦰"],[0,"⦱"],[0,"⦲"],[0,"⦳"],[0,"⦴"],[0,"⦵"],[0,"⦶"],[0,"⦷"],[1,"⦹"],[1,"⦻"],[0,"⦼"],[1,"⦾"],[0,"⦿"],[0,"⧀"],[0,"⧁"],[0,"⧂"],[0,"⧃"],[0,"⧄"],[0,"⧅"],[3,"⧉"],[3,"⧍"],[0,"⧎"],[0,{v:"⧏",n:824,o:"⧏̸"}],[0,{v:"⧐",n:824,o:"⧐̸"}],[11,"⧜"],[0,"⧝"],[0,"⧞"],[4,"⧣"],[0,"⧤"],[0,"⧥"],[5,"⧫"],[8,"⧴"],[1,"⧶"],[9,"⨀"],[0,"⨁"],[0,"⨂"],[1,"⨄"],[1,"⨆"],[5,"⨌"],[0,"⨍"],[2,"⨐"],[0,"⨑"],[0,"⨒"],[0,"⨓"],[0,"⨔"],[0,"⨕"],[0,"⨖"],[0,"⨗"],[10,"⨢"],[0,"⨣"],[0,"⨤"],[0,"⨥"],[0,"⨦"],[0,"⨧"],[1,"⨩"],[0,"⨪"],[2,"⨭"],[0,"⨮"],[0,"⨯"],[0,"⨰"],[0,"⨱"],[1,"⨳"],[0,"⨴"],[0,"⨵"],[0,"⨶"],[0,"⨷"],[0,"⨸"],[0,"⨹"],[0,"⨺"],[0,"⨻"],[0,"⨼"],[2,"⨿"],[0,"⩀"],[1,"⩂"],[0,"⩃"],[0,"⩄"],[0,"⩅"],[0,"⩆"],[0,"⩇"],[0,"⩈"],[0,"⩉"],[0,"⩊"],[0,"⩋"],[0,"⩌"],[0,"⩍"],[2,"⩐"],[2,"⩓"],[0,"⩔"],[0,"⩕"],[0,"⩖"],[0,"⩗"],[0,"⩘"],[1,"⩚"],[0,"⩛"],[0,"⩜"],[0,"⩝"],[1,"⩟"],[6,"⩦"],[3,"⩪"],[2,{v:"⩭",n:824,o:"⩭̸"}],[0,"⩮"],[0,"⩯"],[0,{v:"⩰",n:824,o:"⩰̸"}],[0,"⩱"],[0,"⩲"],[0,"⩳"],[0,"⩴"],[0,"⩵"],[1,"⩷"],[0,"⩸"],[0,"⩹"],[0,"⩺"],[0,"⩻"],[0,"⩼"],[0,{v:"⩽",n:824,o:"⩽̸"}],[0,{v:"⩾",n:824,o:"⩾̸"}],[0,"⩿"],[0,"⪀"],[0,"⪁"],[0,"⪂"],[0,"⪃"],[0,"⪄"],[0,"⪅"],[0,"⪆"],[0,"⪇"],[0,"⪈"],[0,"⪉"],[0,"⪊"],[0,"⪋"],[0,"⪌"],[0,"⪍"],[0,"⪎"],[0,"⪏"],[0,"⪐"],[0,"⪑"],[0,"⪒"],[0,"⪓"],[0,"⪔"],[0,"⪕"],[0,"⪖"],[0,"⪗"],[0,"⪘"],[0,"⪙"],[0,"⪚"],[2,"⪝"],[0,"⪞"],[0,"⪟"],[0,"⪠"],[0,{v:"⪡",n:824,o:"⪡̸"}],[0,{v:"⪢",n:824,o:"⪢̸"}],[1,"⪤"],[0,"⪥"],[0,"⪦"],[0,"⪧"],[0,"⪨"],[0,"⪩"],[0,"⪪"],[0,"⪫"],[0,{v:"⪬",n:65024,o:"⪬︀"}],[0,{v:"⪭",n:65024,o:"⪭︀"}],[0,"⪮"],[0,{v:"⪯",n:824,o:"⪯̸"}],[0,{v:"⪰",n:824,o:"⪰̸"}],[2,"⪳"],[0,"⪴"],[0,"⪵"],[0,"⪶"],[0,"⪷"],[0,"⪸"],[0,"⪹"],[0,"⪺"],[0,"⪻"],[0,"⪼"],[0,"⪽"],[0,"⪾"],[0,"⪿"],[0,"⫀"],[0,"⫁"],[0,"⫂"],[0,"⫃"],[0,"⫄"],[0,{v:"⫅",n:824,o:"⫅̸"}],[0,{v:"⫆",n:824,o:"⫆̸"}],[0,"⫇"],[0,"⫈"],[2,{v:"⫋",n:65024,o:"⫋︀"}],[0,{v:"⫌",n:65024,o:"⫌︀"}],[2,"⫏"],[0,"⫐"],[0,"⫑"],[0,"⫒"],[0,"⫓"],[0,"⫔"],[0,"⫕"],[0,"⫖"],[0,"⫗"],[0,"⫘"],[0,"⫙"],[0,"⫚"],[0,"⫛"],[8,"⫤"],[1,"⫦"],[0,"⫧"],[0,"⫨"],[0,"⫩"],[1,"⫫"],[0,"⫬"],[0,"⫭"],[0,"⫮"],[0,"⫯"],[0,"⫰"],[0,"⫱"],[0,"⫲"],[0,"⫳"],[9,{v:"⫽",n:8421,o:"⫽⃥"}],[44343,{n:new Map(ri([[56476,"𝒜"],[1,"𝒞"],[0,"𝒟"],[2,"𝒢"],[2,"𝒥"],[0,"𝒦"],[2,"𝒩"],[0,"𝒪"],[0,"𝒫"],[0,"𝒬"],[1,"𝒮"],[0,"𝒯"],[0,"𝒰"],[0,"𝒱"],[0,"𝒲"],[0,"𝒳"],[0,"𝒴"],[0,"𝒵"],[0,"𝒶"],[0,"𝒷"],[0,"𝒸"],[0,"𝒹"],[1,"𝒻"],[1,"𝒽"],[0,"𝒾"],[0,"𝒿"],[0,"𝓀"],[0,"𝓁"],[0,"𝓂"],[0,"𝓃"],[1,"𝓅"],[0,"𝓆"],[0,"𝓇"],[0,"𝓈"],[0,"𝓉"],[0,"𝓊"],[0,"𝓋"],[0,"𝓌"],[0,"𝓍"],[0,"𝓎"],[0,"𝓏"],[52,"𝔄"],[0,"𝔅"],[1,"𝔇"],[0,"𝔈"],[0,"𝔉"],[0,"𝔊"],[2,"𝔍"],[0,"𝔎"],[0,"𝔏"],[0,"𝔐"],[0,"𝔑"],[0,"𝔒"],[0,"𝔓"],[0,"𝔔"],[1,"𝔖"],[0,"𝔗"],[0,"𝔘"],[0,"𝔙"],[0,"𝔚"],[0,"𝔛"],[0,"𝔜"],[1,"𝔞"],[0,"𝔟"],[0,"𝔠"],[0,"𝔡"],[0,"𝔢"],[0,"𝔣"],[0,"𝔤"],[0,"𝔥"],[0,"𝔦"],[0,"𝔧"],[0,"𝔨"],[0,"𝔩"],[0,"𝔪"],[0,"𝔫"],[0,"𝔬"],[0,"𝔭"],[0,"𝔮"],[0,"𝔯"],[0,"𝔰"],[0,"𝔱"],[0,"𝔲"],[0,"𝔳"],[0,"𝔴"],[0,"𝔵"],[0,"𝔶"],[0,"𝔷"],[0,"𝔸"],[0,"𝔹"],[1,"𝔻"],[0,"𝔼"],[0,"𝔽"],[0,"𝔾"],[1,"𝕀"],[0,"𝕁"],[0,"𝕂"],[0,"𝕃"],[0,"𝕄"],[1,"𝕆"],[3,"𝕊"],[0,"𝕋"],[0,"𝕌"],[0,"𝕍"],[0,"𝕎"],[0,"𝕏"],[0,"𝕐"],[1,"𝕒"],[0,"𝕓"],[0,"𝕔"],[0,"𝕕"],[0,"𝕖"],[0,"𝕗"],[0,"𝕘"],[0,"𝕙"],[0,"𝕚"],[0,"𝕛"],[0,"𝕜"],[0,"𝕝"],[0,"𝕞"],[0,"𝕟"],[0,"𝕠"],[0,"𝕡"],[0,"𝕢"],[0,"𝕣"],[0,"𝕤"],[0,"𝕥"],[0,"𝕦"],[0,"𝕧"],[0,"𝕨"],[0,"𝕩"],[0,"𝕪"],[0,"𝕫"]]))}],[8906,"ff"],[0,"fi"],[0,"fl"],[0,"ffi"],[0,"ffl"]]))});function jr(t){let e="",r=0,n;for(;(n=ma.exec(t))!==null;){let i=n.index,o=t.charCodeAt(i),s=wu.get(o);s!==void 0?(e+=t.substring(r,i)+s,r=i+1):(e+=`${t.substring(r,i)}&#x${xu(t,i).toString(16)};`,r=ma.lastIndex+=+((o&64512)===55296))}return e+t.substr(r)}function fa(t,e){return function(n){let i,o=0,s="";for(;i=t.exec(n);)o!==i.index&&(s+=n.substring(o,i.index)),s+=e.get(i[0].charCodeAt(0)),o=i.index+1;return s+n.substring(o)}}var ma,wu,xu,ku,ni,ii,oi=A(()=>{ma=/["&'<>$\x80-\uFFFF]/g,wu=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),xu=String.prototype.codePointAt!=null?(t,e)=>t.codePointAt(e):(t,e)=>(t.charCodeAt(e)&64512)===55296?(t.charCodeAt(e)-55296)*1024+t.charCodeAt(e+1)-56320+65536:t.charCodeAt(e);ku=fa(/[&<>'"]/g,wu),ni=fa(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),ii=fa(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))});var ha=A(()=>{vu();oi()});var Tu,Su,Eu=A(()=>{pa();ha();oi();oi();ha();pa();(function(t){t[t.XML=0]="XML",t[t.HTML=1]="HTML"})(Tu||(Tu={}));(function(t){t[t.UTF8=0]="UTF8",t[t.ASCII=1]="ASCII",t[t.Extensive=2]="Extensive",t[t.Attribute=3]="Attribute",t[t.Text=4]="Text"})(Su||(Su={}))});var Du,Lu,Ru=A(()=>{Du=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","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","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),Lu=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t]))});function hb(t){return t.replace(/"/g,""")}function gb(t,e){var r;if(!t)return;let n=((r=e.encodeEntities)!==null&&r!==void 0?r:e.decodeEntities)===!1?hb:e.xmlMode||e.encodeEntities!=="utf8"?jr:ni;return Object.keys(t).map(i=>{var o,s;let c=(o=t[i])!==null&&o!==void 0?o:"";return e.xmlMode==="foreign"&&(i=(s=Lu.get(i))!==null&&s!==void 0?s:i),!e.emptyAttrs&&!e.xmlMode&&c===""?i:`${i}="${n(c)}"`}).join(" ")}function ba(t,e={}){let r="length"in t?t:[t],n="";for(let i=0;i<r.length;i++)n+=yb(r[i],e);return n}function yb(t,e){switch(t.type){case iu:return ba(t.children,e);case pu:case au:return xb(t);case su:return Sb(t);case du:return Tb(t);case cu:case uu:case lu:return wb(t,e);case ou:return kb(t,e)}}function wb(t,e){var r;e.xmlMode==="foreign"&&(t.name=(r=Du.get(t.name))!==null&&r!==void 0?r:t.name,t.parent&&bb.has(t.parent.name)&&(e={...e,xmlMode:!1})),!e.xmlMode&&vb.has(t.name)&&(e={...e,xmlMode:"foreign"});let n=`<${t.name}`,i=gb(t.attribs,e);return i&&(n+=` ${i}`),t.children.length===0&&(e.xmlMode?e.selfClosingTags!==!1:e.selfClosingTags&&Pu.has(t.name))?(e.xmlMode||(n+=" "),n+="/>"):(n+=">",t.children.length>0&&(n+=ba(t.children,e)),(e.xmlMode||!Pu.has(t.name))&&(n+=`</${t.name}>`)),n}function xb(t){return`<${t.data}>`}function kb(t,e){var r;let n=t.data||"";return((r=e.encodeEntities)!==null&&r!==void 0?r:e.decodeEntities)!==!1&&!(!e.xmlMode&&t.parent&&fb.has(t.parent.name))&&(n=e.xmlMode||e.encodeEntities!=="utf8"?jr(n):ii(n)),n}function Tb(t){return`<![CDATA[${t.children[0].data}]]>`}function Sb(t){return`<!--${t.data}-->`}var fb,Pu,Nu,bb,vb,Mu=A(()=>{Or();Eu();Ru();fb=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);Pu=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);Nu=ba;bb=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),vb=new Set(["svg","math"])});function Fu(t,e){return Nu(t,e)}function Ab(t,e){return be(t)?t.children.map(r=>Fu(r,e)).join(""):""}function ai(t){return Array.isArray(t)?t.map(ai).join(""):ge(t)?t.name==="br"?`
|
|
38
|
+
`:ai(t.children):zr(t)?ai(t.children):lt(t)?t.data:""}function _r(t){return Array.isArray(t)?t.map(_r).join(""):be(t)&&!ei(t)?_r(t.children):lt(t)?t.data:""}function va(t){return Array.isArray(t)?t.map(va).join(""):be(t)&&(t.type===re.Tag||zr(t))?va(t.children):lt(t)?t.data:""}var wa=A(()=>{Ut();Mu();Or()});function Bu(t){return be(t)?t.children:[]}function Uu(t){return t.parent||null}function Cb(t){let e=Uu(t);if(e!=null)return Bu(e);let r=[t],{prev:n,next:i}=t;for(;n!=null;)r.unshift(n),{prev:n}=n;for(;i!=null;)r.push(i),{next:i}=i;return r}function Eb(t,e){var r;return(r=t.attribs)===null||r===void 0?void 0:r[e]}function Db(t,e){return t.attribs!=null&&Object.prototype.hasOwnProperty.call(t.attribs,e)&&t.attribs[e]!=null}function Lb(t){return t.name}function Rb(t){let{next:e}=t;for(;e!==null&&!ge(e);)({next:e}=e);return e}function Pb(t){let{prev:e}=t;for(;e!==null&&!ge(e);)({prev:e}=e);return e}var Iu=A(()=>{Ut()});function Wr(t){if(t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t.parent){let e=t.parent.children,r=e.lastIndexOf(t);r>=0&&e.splice(r,1)}t.next=null,t.prev=null,t.parent=null}function Nb(t,e){let r=e.prev=t.prev;r&&(r.next=e);let n=e.next=t.next;n&&(n.prev=e);let i=e.parent=t.parent;if(i){let o=i.children;o[o.lastIndexOf(t)]=e,t.parent=null}}function Mb(t,e){if(Wr(e),e.next=null,e.parent=t,t.children.push(e)>1){let r=t.children[t.children.length-2];r.next=e,e.prev=r}else e.prev=null}function Fb(t,e){Wr(e);let{parent:r}=t,n=t.next;if(e.next=n,e.prev=t,t.next=e,e.parent=r,n){if(n.prev=e,r){let i=r.children;i.splice(i.lastIndexOf(n),0,e)}}else r&&r.children.push(e)}function Bb(t,e){if(Wr(e),e.parent=t,e.prev=null,t.children.unshift(e)!==1){let r=t.children[1];r.prev=e,e.next=r}else e.next=null}function Ub(t,e){Wr(e);let{parent:r}=t;if(r){let n=r.children;n.splice(n.indexOf(t),0,e)}t.prev&&(t.prev.next=e),e.parent=r,e.prev=t.prev,e.next=t,t.prev=e}var Hu=A(()=>{});function ir(t,e,r=!0,n=1/0){return qu(t,Array.isArray(e)?e:[e],r,n)}function qu(t,e,r,n){let i=[],o=[Array.isArray(e)?e:[e]],s=[0];for(;;){if(s[0]>=o[0].length){if(s.length===1)return i;o.shift(),s.shift();continue}let c=o[0][s[0]++];if(t(c)&&(i.push(c),--n<=0))return i;r&&be(c)&&c.children.length>0&&(s.unshift(0),o.unshift(c.children))}}function Ib(t,e){return e.find(t)}function si(t,e,r=!0){let n=Array.isArray(e)?e:[e];for(let i=0;i<n.length;i++){let o=n[i];if(ge(o)&&t(o))return o;if(r&&be(o)&&o.children.length>0){let s=si(t,o.children,!0);if(s)return s}}return null}function $u(t,e){return(Array.isArray(e)?e:[e]).some(r=>ge(r)&&t(r)||be(r)&&$u(t,r.children))}function Hb(t,e){let r=[],n=[Array.isArray(e)?e:[e]],i=[0];for(;;){if(i[0]>=n[0].length){if(n.length===1)return r;n.shift(),i.shift();continue}let o=n[0][i[0]++];ge(o)&&t(o)&&r.push(o),be(o)&&o.children.length>0&&(i.unshift(0),n.unshift(o.children))}}var xa=A(()=>{Ut()});function ka(t,e){return typeof e=="function"?r=>ge(r)&&e(r.attribs[t]):r=>ge(r)&&r.attribs[t]===e}function qb(t,e){return r=>t(r)||e(r)}function Ou(t){let e=Object.keys(t).map(r=>{let n=t[r];return Object.prototype.hasOwnProperty.call(ci,r)?ci[r](n):ka(r,n)});return e.length===0?null:e.reduce(qb)}function $b(t,e){let r=Ou(t);return r?r(e):!0}function Ob(t,e,r,n=1/0){let i=Ou(t);return i?ir(i,e,r,n):[]}function zb(t,e,r=!0){return Array.isArray(e)||(e=[e]),si(ka("id",t),e,r)}function It(t,e,r=!0,n=1/0){return ir(ci.tag_name(t),e,r,n)}function jb(t,e,r=!0,n=1/0){return ir(ka("class",t),e,r,n)}function _b(t,e,r=!0,n=1/0){return ir(ci.tag_type(t),e,r,n)}var ci,Ta=A(()=>{Ut();xa();ci={tag_name(t){return typeof t=="function"?e=>ge(e)&&t(e.name):t==="*"?ge:e=>ge(e)&&e.name===t},tag_type(t){return typeof t=="function"?e=>t(e.type):e=>e.type===t},tag_contains(t){return typeof t=="function"?e=>lt(e)&&t(e.data):e=>lt(e)&&e.data===t}}});function Wb(t){let e=t.length;for(;--e>=0;){let r=t[e];if(e>0&&t.lastIndexOf(r,e-1)>=0){t.splice(e,1);continue}for(let n=r.parent;n;n=n.parent)if(t.includes(n)){t.splice(e,1);break}}return t}function zu(t,e){let r=[],n=[];if(t===e)return 0;let i=be(t)?t:t.parent;for(;i;)r.unshift(i),i=i.parent;for(i=be(e)?e:e.parent;i;)n.unshift(i),i=i.parent;let o=Math.min(r.length,n.length),s=0;for(;s<o&&r[s]===n[s];)s++;if(s===0)return Oe.DISCONNECTED;let c=r[s-1],u=c.children,l=r[s],d=n[s];return u.indexOf(l)>u.indexOf(d)?c===e?Oe.FOLLOWING|Oe.CONTAINED_BY:Oe.FOLLOWING:c===t?Oe.PRECEDING|Oe.CONTAINS:Oe.PRECEDING}function Vb(t){return t=t.filter((e,r,n)=>!n.includes(e,r+1)),t.sort((e,r)=>{let n=zu(e,r);return n&Oe.PRECEDING?-1:n&Oe.FOLLOWING?1:0}),t}var Oe,ju=A(()=>{Ut();(function(t){t[t.DISCONNECTED=1]="DISCONNECTED",t[t.PRECEDING=2]="PRECEDING",t[t.FOLLOWING=4]="FOLLOWING",t[t.CONTAINS=8]="CONTAINS",t[t.CONTAINED_BY=16]="CONTAINED_BY"})(Oe||(Oe={}))});function Gb(t){let e=ui(Yb,t);return e?e.name==="feed"?Kb(e):Xb(e):null}function Kb(t){var e;let r=t.children,n={type:"atom",items:It("entry",r).map(s=>{var c;let{children:u}=s,l={media:_u(u)};Re(l,"id","id",u),Re(l,"title","title",u);let d=(c=ui("link",u))===null||c===void 0?void 0:c.attribs.href;d&&(l.link=d);let p=wt("summary",u)||wt("content",u);p&&(l.description=p);let m=wt("updated",u);return m&&(l.pubDate=new Date(m)),l})};Re(n,"id","id",r),Re(n,"title","title",r);let i=(e=ui("link",r))===null||e===void 0?void 0:e.attribs.href;i&&(n.link=i),Re(n,"description","subtitle",r);let o=wt("updated",r);return o&&(n.updated=new Date(o)),Re(n,"author","email",r,!0),n}function Xb(t){var e,r;let n=(r=(e=ui("channel",t.children))===null||e===void 0?void 0:e.children)!==null&&r!==void 0?r:[],i={type:t.name.substr(0,3),id:"",items:It("item",t.children).map(s=>{let{children:c}=s,u={media:_u(c)};Re(u,"id","guid",c),Re(u,"title","title",c),Re(u,"link","link",c),Re(u,"description","description",c);let l=wt("pubDate",c)||wt("dc:date",c);return l&&(u.pubDate=new Date(l)),u})};Re(i,"title","title",n),Re(i,"link","link",n),Re(i,"description","description",n);let o=wt("lastBuildDate",n);return o&&(i.updated=new Date(o)),Re(i,"author","managingEditor",n,!0),i}function _u(t){return It("media:content",t).map(e=>{let{attribs:r}=e,n={medium:r.medium,isDefault:!!r.isDefault};for(let i of Jb)r[i]&&(n[i]=r[i]);for(let i of Qb)r[i]&&(n[i]=parseInt(r[i],10));return r.expression&&(n.expression=r.expression),n})}function ui(t,e){return It(t,e,!0,1)[0]}function wt(t,e,r=!1){return _r(It(t,e,r,1)).trim()}function Re(t,e,r,n,i=!1){let o=wt(r,n,i);o&&(t[e]=o)}function Yb(t){return t==="rss"||t==="feed"||t==="rdf:RDF"}var Jb,Qb,Wu=A(()=>{wa();Ta();Jb=["url","type","lang"],Qb=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"]});var li={};ve(li,{DocumentPosition:()=>Oe,append:()=>Fb,appendChild:()=>Mb,compareDocumentPosition:()=>zu,existsOne:()=>$u,filter:()=>ir,find:()=>qu,findAll:()=>Hb,findOne:()=>si,findOneChild:()=>Ib,getAttributeValue:()=>Eb,getChildren:()=>Bu,getElementById:()=>zb,getElements:()=>Ob,getElementsByClassName:()=>jb,getElementsByTagName:()=>It,getElementsByTagType:()=>_b,getFeed:()=>Gb,getInnerHTML:()=>Ab,getName:()=>Lb,getOuterHTML:()=>Fu,getParent:()=>Uu,getSiblings:()=>Cb,getText:()=>ai,hasAttrib:()=>Db,hasChildren:()=>be,innerText:()=>va,isCDATA:()=>zr,isComment:()=>ei,isDocument:()=>mu,isTag:()=>ge,isText:()=>lt,nextElementSibling:()=>Rb,prepend:()=>Ub,prependChild:()=>Bb,prevElementSibling:()=>Pb,removeElement:()=>Wr,removeSubsets:()=>Wb,replaceElement:()=>Nb,testElement:()=>$b,textContent:()=>_r,uniqueSort:()=>Vb});var Vu=A(()=>{wa();Iu();Hu();xa();Ta();ju();Wu();Ut()});function Gu(t){return t.replace(Zb,"\\$&")}function Ht(t,e){return typeof t.ignoreCase=="boolean"?t.ignoreCase:t.ignoreCase==="quirks"?!!e.quirksMode:!e.xmlMode&&e2.has(t.name)}var Vr,Zb,e2,Ku,Xu=A(()=>{Vr=Qe(Bt(),1),Zb=/[-[\]{}()*+?.,\\^$|#\s]/g;e2=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);Ku={equals(t,e,r){let{adapter:n}=r,{name:i}=e,{value:o}=e;return Ht(e,r)?(o=o.toLowerCase(),s=>{let c=n.getAttributeValue(s,i);return c!=null&&c.length===o.length&&c.toLowerCase()===o&&t(s)}):s=>n.getAttributeValue(s,i)===o&&t(s)},hyphen(t,e,r){let{adapter:n}=r,{name:i}=e,{value:o}=e,s=o.length;return Ht(e,r)?(o=o.toLowerCase(),function(u){let l=n.getAttributeValue(u,i);return l!=null&&(l.length===s||l.charAt(s)==="-")&&l.substr(0,s).toLowerCase()===o&&t(u)}):function(u){let l=n.getAttributeValue(u,i);return l!=null&&(l.length===s||l.charAt(s)==="-")&&l.substr(0,s)===o&&t(u)}},element(t,e,r){let{adapter:n}=r,{name:i,value:o}=e;if(/\s/.test(o))return Vr.falseFunc;let s=new RegExp(`(?:^|\\s)${Gu(o)}(?:$|\\s)`,Ht(e,r)?"i":"");return function(u){let l=n.getAttributeValue(u,i);return l!=null&&l.length>=o.length&&s.test(l)&&t(u)}},exists(t,{name:e},{adapter:r}){return n=>r.hasAttrib(n,e)&&t(n)},start(t,e,r){let{adapter:n}=r,{name:i}=e,{value:o}=e,s=o.length;return s===0?Vr.falseFunc:Ht(e,r)?(o=o.toLowerCase(),c=>{let u=n.getAttributeValue(c,i);return u!=null&&u.length>=s&&u.substr(0,s).toLowerCase()===o&&t(c)}):c=>{var u;return!!((u=n.getAttributeValue(c,i))!=null&&u.startsWith(o))&&t(c)}},end(t,e,r){let{adapter:n}=r,{name:i}=e,{value:o}=e,s=-o.length;return s===0?Vr.falseFunc:Ht(e,r)?(o=o.toLowerCase(),c=>{var u;return((u=n.getAttributeValue(c,i))==null?void 0:u.substr(s).toLowerCase())===o&&t(c)}):c=>{var u;return!!((u=n.getAttributeValue(c,i))!=null&&u.endsWith(o))&&t(c)}},any(t,e,r){let{adapter:n}=r,{name:i,value:o}=e;if(o==="")return Vr.falseFunc;if(Ht(e,r)){let s=new RegExp(Gu(o),"i");return function(u){let l=n.getAttributeValue(u,i);return l!=null&&l.length>=o.length&&s.test(l)&&t(u)}}return s=>{var c;return!!((c=n.getAttributeValue(s,i))!=null&&c.includes(o))&&t(s)}},not(t,e,r){let{adapter:n}=r,{name:i}=e,{value:o}=e;return o===""?s=>!!n.getAttributeValue(s,i)&&t(s):Ht(e,r)?(o=o.toLowerCase(),s=>{let c=n.getAttributeValue(s,i);return(c==null||c.length!==o.length||c.toLowerCase()!==o)&&t(s)}):s=>n.getAttributeValue(s,i)!==o&&t(s)}}});function Ju(t,e,r){let{adapter:n,xmlMode:i=!1}=r,o=[],s=[e],c=[0];for(;;){if(c[0]>=s[0].length){if(s.length===1)return o;s.shift(),c.shift();continue}let u=s[0][c[0]++];if(n.isTag(u)&&(t(u)&&o.push(u),i||n.getName(u)!=="template")){let l=n.getChildren(u);l.length>0&&(s.unshift(l),c.unshift(0))}}}function or(t,e,r){let{adapter:n,xmlMode:i=!1}=r,o=[e],s=[0];for(;;){if(s[0]>=o[0].length){if(o.length===1)return null;o.shift(),s.shift();continue}let c=o[0][s[0]++];if(n.isTag(c)){if(t(c))return c;if(i||n.getName(c)!=="template"){let u=n.getChildren(c);u.length>0&&(o.unshift(u),s.unshift(0))}}}}function di(t,e){let r=e.getSiblings(t);if(r.length<=1)return[];let n=r.indexOf(t);return n<0||n===r.length-1?[]:r.slice(n+1).filter(e.isTag)}function Se(t,e){let r=e.getParent(t);return r!=null&&e.isTag(r)?r:null}var qt=A(()=>{});var Qu,Sa,Yu=A(()=>{Qu="input:is([type=text i],[type=search i],[type=url i],[type=tel i],[type=email i],[type=password i],[type=date i],[type=month i],[type=week i],[type=time i],[type=datetime-local i],[type=number i])",Sa={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is(
|
|
39
39
|
:is(button, input, select, textarea, optgroup, option)[disabled],
|
|
40
40
|
optgroup[disabled] > option,
|
|
41
41
|
fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)
|
|
42
|
-
)`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], :selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])","read-only":`[readonly]:is(textarea, ${Qu})`,"read-write":`:not([readonly]):is(textarea, ${Qu})`,selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"}});function el(t){if(t=t.trim().toLowerCase(),t==="even")return[2,0];if(t==="odd")return[2,1];let e=0,r=0,n=o(),i=s();if(e<t.length&&t.charAt(e)==="n"&&(e++,r=n*(i??1),c(),e<t.length?(n=o(),c(),i=s()):n=i=0),i===null||e<t.length)throw new Error(`n-th rule couldn't be parsed ('${t}')`);return[r,n*i];function o(){return t.charAt(e)==="-"?(e++,-1):(t.charAt(e)==="+"&&e++,1)}function s(){let u=e,l=0;for(;e<t.length&&t.charCodeAt(e)>=Zu&&t.charCodeAt(e)<=r2;)l=l*10+(t.charCodeAt(e)-Zu),e++;return e===u?null:l}function c(){for(;e<t.length&&t2.has(t.charCodeAt(e));)e++}}var t2,Zu,r2,tl=T(()=>{t2=new Set([9,10,12,13,32]),Zu=48,r2=57});function rl(t){let e=t[0],r=t[1]-1;if(r<0&&e<=0)return Aa.default.falseFunc;if(e===-1)return o=>o<=r;if(e===0)return o=>o===r;if(e===1)return r<0?Aa.default.trueFunc:o=>o>=r;let n=Math.abs(e),i=(r%n+n)%n;return e>1?o=>o>=r&&o%n===i:o=>o<=r&&o%n===i}var Aa,nl=T(()=>{Aa=Qe(Bt(),1)});function ar(t){return rl(el(t))}var il=T(()=>{tl();nl()});function sr(t,{adapter:e,cacheResults:r},n){if(r===!1||typeof WeakMap>"u")return s=>t(s)&&n(s);let i=new WeakMap;function o(s){let c=n(s);return i.set(s,c),c}return function(c){if(!t(c))return!1;if(i.has(c))return i.get(c);let u=c;do{let l=Te(u,e);if(l===null)return o(c);u=l}while(!i.has(u));return i.get(u)&&o(c)}}var Ca=T(()=>{qt()});function Ea(t){return function(r,n,{adapter:i}){let o=i[t];return typeof o!="function"?Ae.falseFunc:function(c){return o(c)&&r(c)}}}var Ae,Gr,ol=T(()=>{Ae=Qe(Bt(),1);il();Ca();qt();Gr={contains(t,e,r){let{getText:n}=r.adapter;return sr(t,r,i=>n(i).includes(e))},icontains(t,e,r){let n=e.toLowerCase(),{getText:i}=r.adapter;return sr(t,r,o=>i(o).toLowerCase().includes(n))},"nth-child"(t,e,{adapter:r,equals:n}){let i=ar(e);return i===Ae.falseFunc?Ae.falseFunc:i===Ae.trueFunc?o=>Te(o,r)!==null&&t(o):function(s){let c=r.getSiblings(s),u=0;for(let l=0;l<c.length&&!n(s,c[l]);l++)r.isTag(c[l])&&u++;return i(u)&&t(s)}},"nth-last-child"(t,e,{adapter:r,equals:n}){let i=ar(e);return i===Ae.falseFunc?Ae.falseFunc:i===Ae.trueFunc?o=>Te(o,r)!==null&&t(o):function(s){let c=r.getSiblings(s),u=0;for(let l=c.length-1;l>=0&&!n(s,c[l]);l--)r.isTag(c[l])&&u++;return i(u)&&t(s)}},"nth-of-type"(t,e,{adapter:r,equals:n}){let i=ar(e);return i===Ae.falseFunc?Ae.falseFunc:i===Ae.trueFunc?o=>Te(o,r)!==null&&t(o):function(s){let c=r.getSiblings(s),u=0;for(let l=0;l<c.length;l++){let d=c[l];if(n(s,d))break;r.isTag(d)&&r.getName(d)===r.getName(s)&&u++}return i(u)&&t(s)}},"nth-last-of-type"(t,e,{adapter:r,equals:n}){let i=ar(e);return i===Ae.falseFunc?Ae.falseFunc:i===Ae.trueFunc?o=>Te(o,r)!==null&&t(o):function(s){let c=r.getSiblings(s),u=0;for(let l=c.length-1;l>=0;l--){let d=c[l];if(n(s,d))break;r.isTag(d)&&r.getName(d)===r.getName(s)&&u++}return i(u)&&t(s)}},root(t,e,{adapter:r}){return n=>Te(n,r)===null&&t(n)},scope(t,e,r,n){let{equals:i}=r;return!n||n.length===0?Gr.root(t,e,r):n.length===1?o=>i(n[0],o)&&t(o):o=>n.includes(o)&&t(o)},hover:Ea("isHovered"),visited:Ea("isVisited"),active:Ea("isActive")}});function Da(t,e,r,n){if(r===null){if(t.length>n)throw new Error(`Pseudo-class :${e} requires an argument`)}else if(t.length===n)throw new Error(`Pseudo-class :${e} doesn't have any arguments`)}var n2,pi,al=T(()=>{n2=/^[ \t\r\n]*$/,pi={empty(t,{adapter:e}){let r=e.getChildren(t);return r.every(n=>!e.isTag(n))&&r.every(n=>n2.test(e.getText(n)))},"first-child"(t,{adapter:e,equals:r}){if(e.prevElementSibling)return e.prevElementSibling(t)==null;let n=e.getSiblings(t).find(i=>e.isTag(i));return n!=null&&r(t,n)},"last-child"(t,{adapter:e,equals:r}){let n=e.getSiblings(t);for(let i=n.length-1;i>=0;i--){if(r(t,n[i]))return!0;if(e.isTag(n[i]))break}return!1},"first-of-type"(t,{adapter:e,equals:r}){let n=e.getSiblings(t),i=e.getName(t);for(let o=0;o<n.length;o++){let s=n[o];if(r(t,s))return!0;if(e.isTag(s)&&e.getName(s)===i)break}return!1},"last-of-type"(t,{adapter:e,equals:r}){let n=e.getSiblings(t),i=e.getName(t);for(let o=n.length-1;o>=0;o--){let s=n[o];if(r(t,s))return!0;if(e.isTag(s)&&e.getName(s)===i)break}return!1},"only-of-type"(t,{adapter:e,equals:r}){let n=e.getName(t);return e.getSiblings(t).every(i=>r(t,i)||!e.isTag(i)||e.getName(i)!==n)},"only-child"(t,{adapter:e,equals:r}){return e.getSiblings(t).every(n=>r(t,n)||!e.isTag(n))}}});function cr(t){return t.type==="_flexibleDescendant"||Zn(t)}function sl(t){let e=t.map(mi);for(let r=1;r<t.length;r++){let n=e[r];if(!(n<0))for(let i=r;i>0&&n<e[i-1];i--){let o=t[i];t[i]=t[i-1],t[i-1]=o,e[i]=e[i-1],e[i-1]=n}}}function i2(t){switch(t.action){case Z.Exists:return 10;case Z.Equals:return t.name==="id"?9:8;case Z.Not:return 7;case Z.Start:return 6;case Z.End:return 6;case Z.Any:return 5;case Z.Hyphen:return 4;case Z.Element:return 3}}function mi(t){switch(t.type){case L.Universal:return 50;case L.Tag:return 30;case L.Attribute:return Math.floor(i2(t)/(t.ignoreCase?2:1));case L.Pseudo:return t.data?t.name==="has"||t.name==="contains"||t.name==="icontains"?0:Array.isArray(t.data)?Math.max(0,Math.min(...t.data.map(e=>Math.min(...e.map(mi))))):2:3;default:return-1}}function Kr(t){return t.type===L.Pseudo&&(t.name==="scope"||Array.isArray(t.data)&&t.data.some(e=>e.some(Kr)))}var La=T(()=>{nr()});function o2(t){return t.some(e=>e.length>0&&(cr(e[0])||e.some(Kr)))}function Pa(t){return{xmlMode:!!t.xmlMode,lowerCaseAttributeNames:!!t.lowerCaseAttributeNames,lowerCaseTags:!!t.lowerCaseTags,quirksMode:!!t.quirksMode,cacheResults:!!t.cacheResults,pseudos:t.pseudos,adapter:t.adapter,equals:t.equals}}var Ve,Na,Ra,fi,Ma=T(()=>{Ve=Qe(Bt(),1);Ca();qt();La();Na={};Ra=(t,e,r,n,i)=>{let o=i(e,Pa(r),n);return o===Ve.trueFunc?t:o===Ve.falseFunc?Ve.falseFunc:s=>o(s)&&t(s)},fi={is:Ra,matches:Ra,where:Ra,not(t,e,r,n,i){let o=i(e,Pa(r),n);return o===Ve.falseFunc?t:o===Ve.trueFunc?Ve.falseFunc:s=>!o(s)&&t(s)},has(t,e,r,n,i){let{adapter:o}=r,s=Pa(r);s.relativeSelector=!0;let c=e.some(p=>p.some(cr))?[Na]:void 0,u=o2(e),l=i(e,s,c);if(l===Ve.falseFunc)return Ve.falseFunc;if(c&&l!==Ve.trueFunc)return u?p=>{if(!t(p))return!1;c[0]=p;let m=o.getChildren(p);return or(l,l.shouldTestNextSiblings?[...m,...di(p,o)]:m,r)!==null}:sr(t,r,p=>(c[0]=p,or(l,o.getChildren(p),r)!==null));let d=p=>or(l,o.getChildren(p),r)!==null;return u?p=>t(p)&&d(p):sr(t,r,d)}}});function cl(t,e,r,n,i){var l;let{name:o,data:s}=e;if(Array.isArray(s)){if(!(o in fi))throw new Error(`Unknown pseudo-class :${o}(${s})`);return fi[o](t,s,r,n,i)}let c=(l=r.pseudos)==null?void 0:l[o],u=typeof c=="string"?c:Ta[o];if(typeof u=="string"){if(s!=null)throw new Error(`Pseudo ${o} doesn't have any arguments`);let d=$r(u);return fi.is(t,d,r,n,i)}if(typeof c=="function")return Da(c,o,s,1),d=>c(d,s)&&t(d);if(o in Gr)return Gr[o](t,s,r,n);if(o in pi){let d=pi[o];return Da(d,o,s,2),p=>d(p,r,s)&&t(p)}throw new Error(`Unknown pseudo-class :${o}`)}var Fa=T(()=>{nr();Yu();ol();al();Ma()});function ul(t,e,r,n,i,o){let{adapter:s,equals:c,cacheResults:u}=r;switch(e.type){case L.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case L.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case L.Attribute:{if(e.namespace!=null)throw new Error("Namespaced attributes are not yet supported by css-select");return(!r.xmlMode||r.lowerCaseAttributeNames)&&(e.name=e.name.toLowerCase()),Ku[e.action](t,e,r)}case L.Pseudo:return cl(t,e,r,n,i);case L.Tag:{if(e.namespace!=null)throw new Error("Namespaced tag names are not yet supported by css-select");let{name:l}=e;return(!r.xmlMode||r.lowerCaseTags)&&(l=l.toLowerCase()),function(p){return s.getName(p)===l&&t(p)}}case L.Descendant:{if(!o||u===!1||typeof WeakMap>"u")return function(p){let m=p;for(;m=Te(m,s);)if(t(m))return!0;return!1};let l=new WeakMap;return function(p){let m=p,f;for(;m=Te(m,s);){let h=l.get(m);if(h===void 0){if(f??(f={matches:!1}),f.matches=t(m),l.set(m,f),f.matches)return!0}else return f&&(f.matches=h.matches),h.matches}return!1}}case"_flexibleDescendant":return function(d){let p=d;do{if(t(p))return!0;p=Te(p,s)}while(p);return!1};case L.Parent:return function(d){return s.getChildren(d).some(p=>s.isTag(p)&&t(p))};case L.Child:return function(d){let p=Te(d,s);return p!==null&&t(p)};case L.Sibling:return function(d){let p=s.getSiblings(d);for(let m=0;m<p.length;m++){let f=p[m];if(c(d,f))break;if(s.isTag(f)&&t(f))return!0}return!1};case L.Adjacent:return s.prevElementSibling?function(d){let p=s.prevElementSibling(d);return p!=null&&t(p)}:function(d){let p=s.getSiblings(d),m;for(let f=0;f<p.length;f++){let h=p[f];if(c(d,h))break;s.isTag(h)&&(m=h)}return!!m&&t(m)};case L.Universal:{if(e.namespace!=null&&e.namespace!=="*")throw new Error("Namespaced universal selectors are not yet supported by css-select");return t}}}var ll=T(()=>{nr();Xu();qt();Fa()});function u2(t,{adapter:e},r){let n=!!(r!=null&&r.every(i=>i===Na||e.isTag(i)&&Te(i,e)!==null));for(let i of t){if(!(i.length>0&&cr(i[0])&&i[0].type!==L.Descendant))if(n&&!i.some(Kr))i.unshift(a2);else continue;i.unshift(c2)}}function Ba(t,e,r){t.forEach(sl);let{context:n=r,rootFunc:i=ur.trueFunc}=e,o=Array.isArray(n),s=n&&(Array.isArray(n)?n:[n]);if(e.relativeSelector!==!1)u2(t,e,s);else if(t.some(l=>l.length>0&&cr(l[0])))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let c=!1,u=ur.falseFunc;e:for(let l of t){if(l.length>=2){let[m,f]=l;m.type!==L.Pseudo||m.name!=="scope"||(o&&f.type===L.Descendant?l[1]=s2:(f.type===L.Adjacent||f.type===L.Sibling)&&(c=!0))}let d=i,p=!1;for(let m of l)if(d=ul(d,m,e,s,Ba,p),mi(m)===0&&(p=!0),d===ur.falseFunc)continue e;if(d===i)return i;u=u===ur.falseFunc?d:l2(u,d)}return u.shouldTestNextSiblings=c,u}function l2(t,e){return r=>t(r)||e(r)}var ur,a2,s2,c2,dl=T(()=>{ur=Qe(Bt(),1);nr();ll();qt();La();Ma();a2={type:L.Descendant},s2={type:"_flexibleDescendant"},c2={type:L.Pseudo,name:"scope",data:null}});function Ua(t){var r;let e=t??d2;return e.adapter??(e.adapter=li),e.equals??(e.equals=((r=e.adapter)==null?void 0:r.equals)??pl),e}function p2(t,e,r){let n=Ua(e),i=ml(t,n,r);return i===Xr.falseFunc?Xr.falseFunc:o=>n.adapter.isTag(o)&&i(o)}function ml(t,e,r){return m2(typeof t=="string"?$r(t):t,e,r)}function m2(t,e,r){return Ba(t,Ua(e),r)}function fl(t){return function(r,n,i){let o=Ua(i);typeof r!="function"&&(r=ml(r,o,n));let s=f2(n,o.adapter,r.shouldTestNextSiblings);return t(r,s,o)}}function f2(t,e,r=!1){return r&&(t=h2(t,e)),Array.isArray(t)?e.removeSubsets(t):e.getChildren(t)}function h2(t,e){let r=Array.isArray(t)?t.slice(0):[t],n=r.length;for(let i=0;i<n;i++){let o=di(r[i],e);r.push(...o)}return r}function Ce(t,e,r){return(typeof e=="function"?e:p2(e,r))(t)}var Xr,pl,d2,hl,Ha,Ia=T(()=>{Xr=Qe(Bt(),1);nr();Vu();dl();qt();Fa();pl=(t,e)=>t===e,d2={adapter:li,equals:pl};hl=fl((t,e,r)=>t===Xr.falseFunc||!e||e.length===0?[]:Ju(t,e,r)),Ha=fl((t,e,r)=>t===Xr.falseFunc||!e||e.length===0?null:or(t,e,r))});var gi=Ws((hi,Jr)=>{(function(t){var e=typeof hi=="object"&&hi,r=typeof Jr=="object"&&Jr&&Jr.exports==e&&Jr,n=typeof global=="object"&&global;(n.global===n||n.window===n)&&(t=n);var i=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,o=/[\x01-\x7F]/g,s=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,c=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,u={"\xAD":"shy","\u200C":"zwnj","\u200D":"zwj","\u200E":"lrm","\u2063":"ic","\u2062":"it","\u2061":"af","\u200F":"rlm","\u200B":"ZeroWidthSpace","\u2060":"NoBreak","\u0311":"DownBreve","\u20DB":"tdot","\u20DC":"DotDot"," ":"Tab","\n":"NewLine","\u2008":"puncsp","\u205F":"MediumSpace","\u2009":"thinsp","\u200A":"hairsp","\u2004":"emsp13","\u2002":"ensp","\u2005":"emsp14","\u2003":"emsp","\u2007":"numsp","\xA0":"nbsp","\u205F\u200A":"ThickSpace","\u203E":"oline",_:"lowbar","\u2010":"dash","\u2013":"ndash","\u2014":"mdash","\u2015":"horbar",",":"comma",";":"semi","\u204F":"bsemi",":":"colon","\u2A74":"Colone","!":"excl","\xA1":"iexcl","?":"quest","\xBF":"iquest",".":"period","\u2025":"nldr","\u2026":"mldr","\xB7":"middot","'":"apos","\u2018":"lsquo","\u2019":"rsquo","\u201A":"sbquo","\u2039":"lsaquo","\u203A":"rsaquo",'"':"quot","\u201C":"ldquo","\u201D":"rdquo","\u201E":"bdquo","\xAB":"laquo","\xBB":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","\u2308":"lceil","\u2309":"rceil","\u230A":"lfloor","\u230B":"rfloor","\u2985":"lopar","\u2986":"ropar","\u298B":"lbrke","\u298C":"rbrke","\u298D":"lbrkslu","\u298E":"rbrksld","\u298F":"lbrksld","\u2990":"rbrkslu","\u2991":"langd","\u2992":"rangd","\u2993":"lparlt","\u2994":"rpargt","\u2995":"gtlPar","\u2996":"ltrPar","\u27E6":"lobrk","\u27E7":"robrk","\u27E8":"lang","\u27E9":"rang","\u27EA":"Lang","\u27EB":"Rang","\u27EC":"loang","\u27ED":"roang","\u2772":"lbbrk","\u2773":"rbbrk","\u2016":"Vert","\xA7":"sect","\xB6":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","\u2030":"permil","\u2031":"pertenk","\u2020":"dagger","\u2021":"Dagger","\u2022":"bull","\u2043":"hybull","\u2032":"prime","\u2033":"Prime","\u2034":"tprime","\u2057":"qprime","\u2035":"bprime","\u2041":"caret","`":"grave","\xB4":"acute","\u02DC":"tilde","^":"Hat","\xAF":"macr","\u02D8":"breve","\u02D9":"dot","\xA8":"die","\u02DA":"ring","\u02DD":"dblac","\xB8":"cedil","\u02DB":"ogon","\u02C6":"circ","\u02C7":"caron","\xB0":"deg","\xA9":"copy","\xAE":"reg","\u2117":"copysr","\u2118":"wp","\u211E":"rx","\u2127":"mho","\u2129":"iiota","\u2190":"larr","\u219A":"nlarr","\u2192":"rarr","\u219B":"nrarr","\u2191":"uarr","\u2193":"darr","\u2194":"harr","\u21AE":"nharr","\u2195":"varr","\u2196":"nwarr","\u2197":"nearr","\u2198":"searr","\u2199":"swarr","\u219D":"rarrw","\u219D\u0338":"nrarrw","\u219E":"Larr","\u219F":"Uarr","\u21A0":"Rarr","\u21A1":"Darr","\u21A2":"larrtl","\u21A3":"rarrtl","\u21A4":"mapstoleft","\u21A5":"mapstoup","\u21A6":"map","\u21A7":"mapstodown","\u21A9":"larrhk","\u21AA":"rarrhk","\u21AB":"larrlp","\u21AC":"rarrlp","\u21AD":"harrw","\u21B0":"lsh","\u21B1":"rsh","\u21B2":"ldsh","\u21B3":"rdsh","\u21B5":"crarr","\u21B6":"cularr","\u21B7":"curarr","\u21BA":"olarr","\u21BB":"orarr","\u21BC":"lharu","\u21BD":"lhard","\u21BE":"uharr","\u21BF":"uharl","\u21C0":"rharu","\u21C1":"rhard","\u21C2":"dharr","\u21C3":"dharl","\u21C4":"rlarr","\u21C5":"udarr","\u21C6":"lrarr","\u21C7":"llarr","\u21C8":"uuarr","\u21C9":"rrarr","\u21CA":"ddarr","\u21CB":"lrhar","\u21CC":"rlhar","\u21D0":"lArr","\u21CD":"nlArr","\u21D1":"uArr","\u21D2":"rArr","\u21CF":"nrArr","\u21D3":"dArr","\u21D4":"iff","\u21CE":"nhArr","\u21D5":"vArr","\u21D6":"nwArr","\u21D7":"neArr","\u21D8":"seArr","\u21D9":"swArr","\u21DA":"lAarr","\u21DB":"rAarr","\u21DD":"zigrarr","\u21E4":"larrb","\u21E5":"rarrb","\u21F5":"duarr","\u21FD":"loarr","\u21FE":"roarr","\u21FF":"hoarr","\u2200":"forall","\u2201":"comp","\u2202":"part","\u2202\u0338":"npart","\u2203":"exist","\u2204":"nexist","\u2205":"empty","\u2207":"Del","\u2208":"in","\u2209":"notin","\u220B":"ni","\u220C":"notni","\u03F6":"bepsi","\u220F":"prod","\u2210":"coprod","\u2211":"sum","+":"plus","\xB1":"pm","\xF7":"div","\xD7":"times","<":"lt","\u226E":"nlt","<\u20D2":"nvlt","=":"equals","\u2260":"ne","=\u20E5":"bne","\u2A75":"Equal",">":"gt","\u226F":"ngt",">\u20D2":"nvgt","\xAC":"not","|":"vert","\xA6":"brvbar","\u2212":"minus","\u2213":"mp","\u2214":"plusdo","\u2044":"frasl","\u2216":"setmn","\u2217":"lowast","\u2218":"compfn","\u221A":"Sqrt","\u221D":"prop","\u221E":"infin","\u221F":"angrt","\u2220":"ang","\u2220\u20D2":"nang","\u2221":"angmsd","\u2222":"angsph","\u2223":"mid","\u2224":"nmid","\u2225":"par","\u2226":"npar","\u2227":"and","\u2228":"or","\u2229":"cap","\u2229\uFE00":"caps","\u222A":"cup","\u222A\uFE00":"cups","\u222B":"int","\u222C":"Int","\u222D":"tint","\u2A0C":"qint","\u222E":"oint","\u222F":"Conint","\u2230":"Cconint","\u2231":"cwint","\u2232":"cwconint","\u2233":"awconint","\u2234":"there4","\u2235":"becaus","\u2236":"ratio","\u2237":"Colon","\u2238":"minusd","\u223A":"mDDot","\u223B":"homtht","\u223C":"sim","\u2241":"nsim","\u223C\u20D2":"nvsim","\u223D":"bsim","\u223D\u0331":"race","\u223E":"ac","\u223E\u0333":"acE","\u223F":"acd","\u2240":"wr","\u2242":"esim","\u2242\u0338":"nesim","\u2243":"sime","\u2244":"nsime","\u2245":"cong","\u2247":"ncong","\u2246":"simne","\u2248":"ap","\u2249":"nap","\u224A":"ape","\u224B":"apid","\u224B\u0338":"napid","\u224C":"bcong","\u224D":"CupCap","\u226D":"NotCupCap","\u224D\u20D2":"nvap","\u224E":"bump","\u224E\u0338":"nbump","\u224F":"bumpe","\u224F\u0338":"nbumpe","\u2250":"doteq","\u2250\u0338":"nedot","\u2251":"eDot","\u2252":"efDot","\u2253":"erDot","\u2254":"colone","\u2255":"ecolon","\u2256":"ecir","\u2257":"cire","\u2259":"wedgeq","\u225A":"veeeq","\u225C":"trie","\u225F":"equest","\u2261":"equiv","\u2262":"nequiv","\u2261\u20E5":"bnequiv","\u2264":"le","\u2270":"nle","\u2264\u20D2":"nvle","\u2265":"ge","\u2271":"nge","\u2265\u20D2":"nvge","\u2266":"lE","\u2266\u0338":"nlE","\u2267":"gE","\u2267\u0338":"ngE","\u2268\uFE00":"lvnE","\u2268":"lnE","\u2269":"gnE","\u2269\uFE00":"gvnE","\u226A":"ll","\u226A\u0338":"nLtv","\u226A\u20D2":"nLt","\u226B":"gg","\u226B\u0338":"nGtv","\u226B\u20D2":"nGt","\u226C":"twixt","\u2272":"lsim","\u2274":"nlsim","\u2273":"gsim","\u2275":"ngsim","\u2276":"lg","\u2278":"ntlg","\u2277":"gl","\u2279":"ntgl","\u227A":"pr","\u2280":"npr","\u227B":"sc","\u2281":"nsc","\u227C":"prcue","\u22E0":"nprcue","\u227D":"sccue","\u22E1":"nsccue","\u227E":"prsim","\u227F":"scsim","\u227F\u0338":"NotSucceedsTilde","\u2282":"sub","\u2284":"nsub","\u2282\u20D2":"vnsub","\u2283":"sup","\u2285":"nsup","\u2283\u20D2":"vnsup","\u2286":"sube","\u2288":"nsube","\u2287":"supe","\u2289":"nsupe","\u228A\uFE00":"vsubne","\u228A":"subne","\u228B\uFE00":"vsupne","\u228B":"supne","\u228D":"cupdot","\u228E":"uplus","\u228F":"sqsub","\u228F\u0338":"NotSquareSubset","\u2290":"sqsup","\u2290\u0338":"NotSquareSuperset","\u2291":"sqsube","\u22E2":"nsqsube","\u2292":"sqsupe","\u22E3":"nsqsupe","\u2293":"sqcap","\u2293\uFE00":"sqcaps","\u2294":"sqcup","\u2294\uFE00":"sqcups","\u2295":"oplus","\u2296":"ominus","\u2297":"otimes","\u2298":"osol","\u2299":"odot","\u229A":"ocir","\u229B":"oast","\u229D":"odash","\u229E":"plusb","\u229F":"minusb","\u22A0":"timesb","\u22A1":"sdotb","\u22A2":"vdash","\u22AC":"nvdash","\u22A3":"dashv","\u22A4":"top","\u22A5":"bot","\u22A7":"models","\u22A8":"vDash","\u22AD":"nvDash","\u22A9":"Vdash","\u22AE":"nVdash","\u22AA":"Vvdash","\u22AB":"VDash","\u22AF":"nVDash","\u22B0":"prurel","\u22B2":"vltri","\u22EA":"nltri","\u22B3":"vrtri","\u22EB":"nrtri","\u22B4":"ltrie","\u22EC":"nltrie","\u22B4\u20D2":"nvltrie","\u22B5":"rtrie","\u22ED":"nrtrie","\u22B5\u20D2":"nvrtrie","\u22B6":"origof","\u22B7":"imof","\u22B8":"mumap","\u22B9":"hercon","\u22BA":"intcal","\u22BB":"veebar","\u22BD":"barvee","\u22BE":"angrtvb","\u22BF":"lrtri","\u22C0":"Wedge","\u22C1":"Vee","\u22C2":"xcap","\u22C3":"xcup","\u22C4":"diam","\u22C5":"sdot","\u22C6":"Star","\u22C7":"divonx","\u22C8":"bowtie","\u22C9":"ltimes","\u22CA":"rtimes","\u22CB":"lthree","\u22CC":"rthree","\u22CD":"bsime","\u22CE":"cuvee","\u22CF":"cuwed","\u22D0":"Sub","\u22D1":"Sup","\u22D2":"Cap","\u22D3":"Cup","\u22D4":"fork","\u22D5":"epar","\u22D6":"ltdot","\u22D7":"gtdot","\u22D8":"Ll","\u22D8\u0338":"nLl","\u22D9":"Gg","\u22D9\u0338":"nGg","\u22DA\uFE00":"lesg","\u22DA":"leg","\u22DB":"gel","\u22DB\uFE00":"gesl","\u22DE":"cuepr","\u22DF":"cuesc","\u22E6":"lnsim","\u22E7":"gnsim","\u22E8":"prnsim","\u22E9":"scnsim","\u22EE":"vellip","\u22EF":"ctdot","\u22F0":"utdot","\u22F1":"dtdot","\u22F2":"disin","\u22F3":"isinsv","\u22F4":"isins","\u22F5":"isindot","\u22F5\u0338":"notindot","\u22F6":"notinvc","\u22F7":"notinvb","\u22F9":"isinE","\u22F9\u0338":"notinE","\u22FA":"nisd","\u22FB":"xnis","\u22FC":"nis","\u22FD":"notnivc","\u22FE":"notnivb","\u2305":"barwed","\u2306":"Barwed","\u230C":"drcrop","\u230D":"dlcrop","\u230E":"urcrop","\u230F":"ulcrop","\u2310":"bnot","\u2312":"profline","\u2313":"profsurf","\u2315":"telrec","\u2316":"target","\u231C":"ulcorn","\u231D":"urcorn","\u231E":"dlcorn","\u231F":"drcorn","\u2322":"frown","\u2323":"smile","\u232D":"cylcty","\u232E":"profalar","\u2336":"topbot","\u233D":"ovbar","\u233F":"solbar","\u237C":"angzarr","\u23B0":"lmoust","\u23B1":"rmoust","\u23B4":"tbrk","\u23B5":"bbrk","\u23B6":"bbrktbrk","\u23DC":"OverParenthesis","\u23DD":"UnderParenthesis","\u23DE":"OverBrace","\u23DF":"UnderBrace","\u23E2":"trpezium","\u23E7":"elinters","\u2423":"blank","\u2500":"boxh","\u2502":"boxv","\u250C":"boxdr","\u2510":"boxdl","\u2514":"boxur","\u2518":"boxul","\u251C":"boxvr","\u2524":"boxvl","\u252C":"boxhd","\u2534":"boxhu","\u253C":"boxvh","\u2550":"boxH","\u2551":"boxV","\u2552":"boxdR","\u2553":"boxDr","\u2554":"boxDR","\u2555":"boxdL","\u2556":"boxDl","\u2557":"boxDL","\u2558":"boxuR","\u2559":"boxUr","\u255A":"boxUR","\u255B":"boxuL","\u255C":"boxUl","\u255D":"boxUL","\u255E":"boxvR","\u255F":"boxVr","\u2560":"boxVR","\u2561":"boxvL","\u2562":"boxVl","\u2563":"boxVL","\u2564":"boxHd","\u2565":"boxhD","\u2566":"boxHD","\u2567":"boxHu","\u2568":"boxhU","\u2569":"boxHU","\u256A":"boxvH","\u256B":"boxVh","\u256C":"boxVH","\u2580":"uhblk","\u2584":"lhblk","\u2588":"block","\u2591":"blk14","\u2592":"blk12","\u2593":"blk34","\u25A1":"squ","\u25AA":"squf","\u25AB":"EmptyVerySmallSquare","\u25AD":"rect","\u25AE":"marker","\u25B1":"fltns","\u25B3":"xutri","\u25B4":"utrif","\u25B5":"utri","\u25B8":"rtrif","\u25B9":"rtri","\u25BD":"xdtri","\u25BE":"dtrif","\u25BF":"dtri","\u25C2":"ltrif","\u25C3":"ltri","\u25CA":"loz","\u25CB":"cir","\u25EC":"tridot","\u25EF":"xcirc","\u25F8":"ultri","\u25F9":"urtri","\u25FA":"lltri","\u25FB":"EmptySmallSquare","\u25FC":"FilledSmallSquare","\u2605":"starf","\u2606":"star","\u260E":"phone","\u2640":"female","\u2642":"male","\u2660":"spades","\u2663":"clubs","\u2665":"hearts","\u2666":"diams","\u266A":"sung","\u2713":"check","\u2717":"cross","\u2720":"malt","\u2736":"sext","\u2758":"VerticalSeparator","\u27C8":"bsolhsub","\u27C9":"suphsol","\u27F5":"xlarr","\u27F6":"xrarr","\u27F7":"xharr","\u27F8":"xlArr","\u27F9":"xrArr","\u27FA":"xhArr","\u27FC":"xmap","\u27FF":"dzigrarr","\u2902":"nvlArr","\u2903":"nvrArr","\u2904":"nvHarr","\u2905":"Map","\u290C":"lbarr","\u290D":"rbarr","\u290E":"lBarr","\u290F":"rBarr","\u2910":"RBarr","\u2911":"DDotrahd","\u2912":"UpArrowBar","\u2913":"DownArrowBar","\u2916":"Rarrtl","\u2919":"latail","\u291A":"ratail","\u291B":"lAtail","\u291C":"rAtail","\u291D":"larrfs","\u291E":"rarrfs","\u291F":"larrbfs","\u2920":"rarrbfs","\u2923":"nwarhk","\u2924":"nearhk","\u2925":"searhk","\u2926":"swarhk","\u2927":"nwnear","\u2928":"toea","\u2929":"tosa","\u292A":"swnwar","\u2933":"rarrc","\u2933\u0338":"nrarrc","\u2935":"cudarrr","\u2936":"ldca","\u2937":"rdca","\u2938":"cudarrl","\u2939":"larrpl","\u293C":"curarrm","\u293D":"cularrp","\u2945":"rarrpl","\u2948":"harrcir","\u2949":"Uarrocir","\u294A":"lurdshar","\u294B":"ldrushar","\u294E":"LeftRightVector","\u294F":"RightUpDownVector","\u2950":"DownLeftRightVector","\u2951":"LeftUpDownVector","\u2952":"LeftVectorBar","\u2953":"RightVectorBar","\u2954":"RightUpVectorBar","\u2955":"RightDownVectorBar","\u2956":"DownLeftVectorBar","\u2957":"DownRightVectorBar","\u2958":"LeftUpVectorBar","\u2959":"LeftDownVectorBar","\u295A":"LeftTeeVector","\u295B":"RightTeeVector","\u295C":"RightUpTeeVector","\u295D":"RightDownTeeVector","\u295E":"DownLeftTeeVector","\u295F":"DownRightTeeVector","\u2960":"LeftUpTeeVector","\u2961":"LeftDownTeeVector","\u2962":"lHar","\u2963":"uHar","\u2964":"rHar","\u2965":"dHar","\u2966":"luruhar","\u2967":"ldrdhar","\u2968":"ruluhar","\u2969":"rdldhar","\u296A":"lharul","\u296B":"llhard","\u296C":"rharul","\u296D":"lrhard","\u296E":"udhar","\u296F":"duhar","\u2970":"RoundImplies","\u2971":"erarr","\u2972":"simrarr","\u2973":"larrsim","\u2974":"rarrsim","\u2975":"rarrap","\u2976":"ltlarr","\u2978":"gtrarr","\u2979":"subrarr","\u297B":"suplarr","\u297C":"lfisht","\u297D":"rfisht","\u297E":"ufisht","\u297F":"dfisht","\u299A":"vzigzag","\u299C":"vangrt","\u299D":"angrtvbd","\u29A4":"ange","\u29A5":"range","\u29A6":"dwangle","\u29A7":"uwangle","\u29A8":"angmsdaa","\u29A9":"angmsdab","\u29AA":"angmsdac","\u29AB":"angmsdad","\u29AC":"angmsdae","\u29AD":"angmsdaf","\u29AE":"angmsdag","\u29AF":"angmsdah","\u29B0":"bemptyv","\u29B1":"demptyv","\u29B2":"cemptyv","\u29B3":"raemptyv","\u29B4":"laemptyv","\u29B5":"ohbar","\u29B6":"omid","\u29B7":"opar","\u29B9":"operp","\u29BB":"olcross","\u29BC":"odsold","\u29BE":"olcir","\u29BF":"ofcir","\u29C0":"olt","\u29C1":"ogt","\u29C2":"cirscir","\u29C3":"cirE","\u29C4":"solb","\u29C5":"bsolb","\u29C9":"boxbox","\u29CD":"trisb","\u29CE":"rtriltri","\u29CF":"LeftTriangleBar","\u29CF\u0338":"NotLeftTriangleBar","\u29D0":"RightTriangleBar","\u29D0\u0338":"NotRightTriangleBar","\u29DC":"iinfin","\u29DD":"infintie","\u29DE":"nvinfin","\u29E3":"eparsl","\u29E4":"smeparsl","\u29E5":"eqvparsl","\u29EB":"lozf","\u29F4":"RuleDelayed","\u29F6":"dsol","\u2A00":"xodot","\u2A01":"xoplus","\u2A02":"xotime","\u2A04":"xuplus","\u2A06":"xsqcup","\u2A0D":"fpartint","\u2A10":"cirfnint","\u2A11":"awint","\u2A12":"rppolint","\u2A13":"scpolint","\u2A14":"npolint","\u2A15":"pointint","\u2A16":"quatint","\u2A17":"intlarhk","\u2A22":"pluscir","\u2A23":"plusacir","\u2A24":"simplus","\u2A25":"plusdu","\u2A26":"plussim","\u2A27":"plustwo","\u2A29":"mcomma","\u2A2A":"minusdu","\u2A2D":"loplus","\u2A2E":"roplus","\u2A2F":"Cross","\u2A30":"timesd","\u2A31":"timesbar","\u2A33":"smashp","\u2A34":"lotimes","\u2A35":"rotimes","\u2A36":"otimesas","\u2A37":"Otimes","\u2A38":"odiv","\u2A39":"triplus","\u2A3A":"triminus","\u2A3B":"tritime","\u2A3C":"iprod","\u2A3F":"amalg","\u2A40":"capdot","\u2A42":"ncup","\u2A43":"ncap","\u2A44":"capand","\u2A45":"cupor","\u2A46":"cupcap","\u2A47":"capcup","\u2A48":"cupbrcap","\u2A49":"capbrcup","\u2A4A":"cupcup","\u2A4B":"capcap","\u2A4C":"ccups","\u2A4D":"ccaps","\u2A50":"ccupssm","\u2A53":"And","\u2A54":"Or","\u2A55":"andand","\u2A56":"oror","\u2A57":"orslope","\u2A58":"andslope","\u2A5A":"andv","\u2A5B":"orv","\u2A5C":"andd","\u2A5D":"ord","\u2A5F":"wedbar","\u2A66":"sdote","\u2A6A":"simdot","\u2A6D":"congdot","\u2A6D\u0338":"ncongdot","\u2A6E":"easter","\u2A6F":"apacir","\u2A70":"apE","\u2A70\u0338":"napE","\u2A71":"eplus","\u2A72":"pluse","\u2A73":"Esim","\u2A77":"eDDot","\u2A78":"equivDD","\u2A79":"ltcir","\u2A7A":"gtcir","\u2A7B":"ltquest","\u2A7C":"gtquest","\u2A7D":"les","\u2A7D\u0338":"nles","\u2A7E":"ges","\u2A7E\u0338":"nges","\u2A7F":"lesdot","\u2A80":"gesdot","\u2A81":"lesdoto","\u2A82":"gesdoto","\u2A83":"lesdotor","\u2A84":"gesdotol","\u2A85":"lap","\u2A86":"gap","\u2A87":"lne","\u2A88":"gne","\u2A89":"lnap","\u2A8A":"gnap","\u2A8B":"lEg","\u2A8C":"gEl","\u2A8D":"lsime","\u2A8E":"gsime","\u2A8F":"lsimg","\u2A90":"gsiml","\u2A91":"lgE","\u2A92":"glE","\u2A93":"lesges","\u2A94":"gesles","\u2A95":"els","\u2A96":"egs","\u2A97":"elsdot","\u2A98":"egsdot","\u2A99":"el","\u2A9A":"eg","\u2A9D":"siml","\u2A9E":"simg","\u2A9F":"simlE","\u2AA0":"simgE","\u2AA1":"LessLess","\u2AA1\u0338":"NotNestedLessLess","\u2AA2":"GreaterGreater","\u2AA2\u0338":"NotNestedGreaterGreater","\u2AA4":"glj","\u2AA5":"gla","\u2AA6":"ltcc","\u2AA7":"gtcc","\u2AA8":"lescc","\u2AA9":"gescc","\u2AAA":"smt","\u2AAB":"lat","\u2AAC":"smte","\u2AAC\uFE00":"smtes","\u2AAD":"late","\u2AAD\uFE00":"lates","\u2AAE":"bumpE","\u2AAF":"pre","\u2AAF\u0338":"npre","\u2AB0":"sce","\u2AB0\u0338":"nsce","\u2AB3":"prE","\u2AB4":"scE","\u2AB5":"prnE","\u2AB6":"scnE","\u2AB7":"prap","\u2AB8":"scap","\u2AB9":"prnap","\u2ABA":"scnap","\u2ABB":"Pr","\u2ABC":"Sc","\u2ABD":"subdot","\u2ABE":"supdot","\u2ABF":"subplus","\u2AC0":"supplus","\u2AC1":"submult","\u2AC2":"supmult","\u2AC3":"subedot","\u2AC4":"supedot","\u2AC5":"subE","\u2AC5\u0338":"nsubE","\u2AC6":"supE","\u2AC6\u0338":"nsupE","\u2AC7":"subsim","\u2AC8":"supsim","\u2ACB\uFE00":"vsubnE","\u2ACB":"subnE","\u2ACC\uFE00":"vsupnE","\u2ACC":"supnE","\u2ACF":"csub","\u2AD0":"csup","\u2AD1":"csube","\u2AD2":"csupe","\u2AD3":"subsup","\u2AD4":"supsub","\u2AD5":"subsub","\u2AD6":"supsup","\u2AD7":"suphsub","\u2AD8":"supdsub","\u2AD9":"forkv","\u2ADA":"topfork","\u2ADB":"mlcp","\u2AE4":"Dashv","\u2AE6":"Vdashl","\u2AE7":"Barv","\u2AE8":"vBar","\u2AE9":"vBarv","\u2AEB":"Vbar","\u2AEC":"Not","\u2AED":"bNot","\u2AEE":"rnmid","\u2AEF":"cirmid","\u2AF0":"midcir","\u2AF1":"topcir","\u2AF2":"nhpar","\u2AF3":"parsim","\u2AFD":"parsl","\u2AFD\u20E5":"nparsl","\u266D":"flat","\u266E":"natur","\u266F":"sharp","\xA4":"curren","\xA2":"cent",$:"dollar","\xA3":"pound","\xA5":"yen","\u20AC":"euro","\xB9":"sup1","\xBD":"half","\u2153":"frac13","\xBC":"frac14","\u2155":"frac15","\u2159":"frac16","\u215B":"frac18","\xB2":"sup2","\u2154":"frac23","\u2156":"frac25","\xB3":"sup3","\xBE":"frac34","\u2157":"frac35","\u215C":"frac38","\u2158":"frac45","\u215A":"frac56","\u215D":"frac58","\u215E":"frac78","\u{1D4B6}":"ascr","\u{1D552}":"aopf","\u{1D51E}":"afr","\u{1D538}":"Aopf","\u{1D504}":"Afr","\u{1D49C}":"Ascr",\u00AA:"ordf",\u00E1:"aacute",\u00C1:"Aacute",\u00E0:"agrave",\u00C0:"Agrave",\u0103:"abreve",\u0102:"Abreve",\u00E2:"acirc",\u00C2:"Acirc",\u00E5:"aring",\u00C5:"angst",\u00E4:"auml",\u00C4:"Auml",\u00E3:"atilde",\u00C3:"Atilde",\u0105:"aogon",\u0104:"Aogon",\u0101:"amacr",\u0100:"Amacr",\u00E6:"aelig",\u00C6:"AElig","\u{1D4B7}":"bscr","\u{1D553}":"bopf","\u{1D51F}":"bfr","\u{1D539}":"Bopf",\u212C:"Bscr","\u{1D505}":"Bfr","\u{1D520}":"cfr","\u{1D4B8}":"cscr","\u{1D554}":"copf",\u212D:"Cfr","\u{1D49E}":"Cscr",\u2102:"Copf",\u0107:"cacute",\u0106:"Cacute",\u0109:"ccirc",\u0108:"Ccirc",\u010D:"ccaron",\u010C:"Ccaron",\u010B:"cdot",\u010A:"Cdot",\u00E7:"ccedil",\u00C7:"Ccedil","\u2105":"incare","\u{1D521}":"dfr","\u2146":"dd","\u{1D555}":"dopf","\u{1D4B9}":"dscr","\u{1D49F}":"Dscr","\u{1D507}":"Dfr","\u2145":"DD","\u{1D53B}":"Dopf",\u010F:"dcaron",\u010E:"Dcaron",\u0111:"dstrok",\u0110:"Dstrok",\u00F0:"eth",\u00D0:"ETH","\u2147":"ee",\u212F:"escr","\u{1D522}":"efr","\u{1D556}":"eopf",\u2130:"Escr","\u{1D508}":"Efr","\u{1D53C}":"Eopf",\u00E9:"eacute",\u00C9:"Eacute",\u00E8:"egrave",\u00C8:"Egrave",\u00EA:"ecirc",\u00CA:"Ecirc",\u011B:"ecaron",\u011A:"Ecaron",\u00EB:"euml",\u00CB:"Euml",\u0117:"edot",\u0116:"Edot",\u0119:"eogon",\u0118:"Eogon",\u0113:"emacr",\u0112:"Emacr","\u{1D523}":"ffr","\u{1D557}":"fopf","\u{1D4BB}":"fscr","\u{1D509}":"Ffr","\u{1D53D}":"Fopf",\u2131:"Fscr",\uFB00:"fflig",\uFB03:"ffilig",\uFB04:"ffllig",\uFB01:"filig",fj:"fjlig",\uFB02:"fllig",\u0192:"fnof",\u210A:"gscr","\u{1D558}":"gopf","\u{1D524}":"gfr","\u{1D4A2}":"Gscr","\u{1D53E}":"Gopf","\u{1D50A}":"Gfr",\u01F5:"gacute",\u011F:"gbreve",\u011E:"Gbreve",\u011D:"gcirc",\u011C:"Gcirc",\u0121:"gdot",\u0120:"Gdot",\u0122:"Gcedil","\u{1D525}":"hfr",\u210E:"planckh","\u{1D4BD}":"hscr","\u{1D559}":"hopf",\u210B:"Hscr",\u210C:"Hfr",\u210D:"Hopf",\u0125:"hcirc",\u0124:"Hcirc",\u210F:"hbar",\u0127:"hstrok",\u0126:"Hstrok","\u{1D55A}":"iopf","\u{1D526}":"ifr","\u{1D4BE}":"iscr","\u2148":"ii","\u{1D540}":"Iopf",\u2110:"Iscr",\u2111:"Im",\u00ED:"iacute",\u00CD:"Iacute",\u00EC:"igrave",\u00CC:"Igrave",\u00EE:"icirc",\u00CE:"Icirc",\u00EF:"iuml",\u00CF:"Iuml",\u0129:"itilde",\u0128:"Itilde",\u0130:"Idot",\u012F:"iogon",\u012E:"Iogon",\u012B:"imacr",\u012A:"Imacr",\u0133:"ijlig",\u0132:"IJlig",\u0131:"imath","\u{1D4BF}":"jscr","\u{1D55B}":"jopf","\u{1D527}":"jfr","\u{1D4A5}":"Jscr","\u{1D50D}":"Jfr","\u{1D541}":"Jopf",\u0135:"jcirc",\u0134:"Jcirc","\u0237":"jmath","\u{1D55C}":"kopf","\u{1D4C0}":"kscr","\u{1D528}":"kfr","\u{1D4A6}":"Kscr","\u{1D542}":"Kopf","\u{1D50E}":"Kfr",\u0137:"kcedil",\u0136:"Kcedil","\u{1D529}":"lfr","\u{1D4C1}":"lscr",\u2113:"ell","\u{1D55D}":"lopf",\u2112:"Lscr","\u{1D50F}":"Lfr","\u{1D543}":"Lopf",\u013A:"lacute",\u0139:"Lacute",\u013E:"lcaron",\u013D:"Lcaron",\u013C:"lcedil",\u013B:"Lcedil",\u0142:"lstrok",\u0141:"Lstrok",\u0140:"lmidot",\u013F:"Lmidot","\u{1D52A}":"mfr","\u{1D55E}":"mopf","\u{1D4C2}":"mscr","\u{1D510}":"Mfr","\u{1D544}":"Mopf",\u2133:"Mscr","\u{1D52B}":"nfr","\u{1D55F}":"nopf","\u{1D4C3}":"nscr",\u2115:"Nopf","\u{1D4A9}":"Nscr","\u{1D511}":"Nfr",\u0144:"nacute",\u0143:"Nacute",\u0148:"ncaron",\u0147:"Ncaron",\u00F1:"ntilde",\u00D1:"Ntilde",\u0146:"ncedil",\u0145:"Ncedil","\u2116":"numero",\u014B:"eng",\u014A:"ENG","\u{1D560}":"oopf","\u{1D52C}":"ofr",\u2134:"oscr","\u{1D4AA}":"Oscr","\u{1D512}":"Ofr","\u{1D546}":"Oopf",\u00BA:"ordm",\u00F3:"oacute",\u00D3:"Oacute",\u00F2:"ograve",\u00D2:"Ograve",\u00F4:"ocirc",\u00D4:"Ocirc",\u00F6:"ouml",\u00D6:"Ouml",\u0151:"odblac",\u0150:"Odblac",\u00F5:"otilde",\u00D5:"Otilde",\u00F8:"oslash",\u00D8:"Oslash",\u014D:"omacr",\u014C:"Omacr",\u0153:"oelig",\u0152:"OElig","\u{1D52D}":"pfr","\u{1D4C5}":"pscr","\u{1D561}":"popf",\u2119:"Popf","\u{1D513}":"Pfr","\u{1D4AB}":"Pscr","\u{1D562}":"qopf","\u{1D52E}":"qfr","\u{1D4C6}":"qscr","\u{1D4AC}":"Qscr","\u{1D514}":"Qfr",\u211A:"Qopf",\u0138:"kgreen","\u{1D52F}":"rfr","\u{1D563}":"ropf","\u{1D4C7}":"rscr",\u211B:"Rscr",\u211C:"Re",\u211D:"Ropf",\u0155:"racute",\u0154:"Racute",\u0159:"rcaron",\u0158:"Rcaron",\u0157:"rcedil",\u0156:"Rcedil","\u{1D564}":"sopf","\u{1D4C8}":"sscr","\u{1D530}":"sfr","\u{1D54A}":"Sopf","\u{1D516}":"Sfr","\u{1D4AE}":"Sscr","\u24C8":"oS",\u015B:"sacute",\u015A:"Sacute",\u015D:"scirc",\u015C:"Scirc",\u0161:"scaron",\u0160:"Scaron",\u015F:"scedil",\u015E:"Scedil",\u00DF:"szlig","\u{1D531}":"tfr","\u{1D4C9}":"tscr","\u{1D565}":"topf","\u{1D4AF}":"Tscr","\u{1D517}":"Tfr","\u{1D54B}":"Topf",\u0165:"tcaron",\u0164:"Tcaron",\u0163:"tcedil",\u0162:"Tcedil","\u2122":"trade",\u0167:"tstrok",\u0166:"Tstrok","\u{1D4CA}":"uscr","\u{1D566}":"uopf","\u{1D532}":"ufr","\u{1D54C}":"Uopf","\u{1D518}":"Ufr","\u{1D4B0}":"Uscr",\u00FA:"uacute",\u00DA:"Uacute",\u00F9:"ugrave",\u00D9:"Ugrave",\u016D:"ubreve",\u016C:"Ubreve",\u00FB:"ucirc",\u00DB:"Ucirc",\u016F:"uring",\u016E:"Uring",\u00FC:"uuml",\u00DC:"Uuml",\u0171:"udblac",\u0170:"Udblac",\u0169:"utilde",\u0168:"Utilde",\u0173:"uogon",\u0172:"Uogon",\u016B:"umacr",\u016A:"Umacr","\u{1D533}":"vfr","\u{1D567}":"vopf","\u{1D4CB}":"vscr","\u{1D519}":"Vfr","\u{1D54D}":"Vopf","\u{1D4B1}":"Vscr","\u{1D568}":"wopf","\u{1D4CC}":"wscr","\u{1D534}":"wfr","\u{1D4B2}":"Wscr","\u{1D54E}":"Wopf","\u{1D51A}":"Wfr",\u0175:"wcirc",\u0174:"Wcirc","\u{1D535}":"xfr","\u{1D4CD}":"xscr","\u{1D569}":"xopf","\u{1D54F}":"Xopf","\u{1D51B}":"Xfr","\u{1D4B3}":"Xscr","\u{1D536}":"yfr","\u{1D4CE}":"yscr","\u{1D56A}":"yopf","\u{1D4B4}":"Yscr","\u{1D51C}":"Yfr","\u{1D550}":"Yopf",\u00FD:"yacute",\u00DD:"Yacute",\u0177:"ycirc",\u0176:"Ycirc",\u00FF:"yuml",\u0178:"Yuml","\u{1D4CF}":"zscr","\u{1D537}":"zfr","\u{1D56B}":"zopf",\u2128:"Zfr",\u2124:"Zopf","\u{1D4B5}":"Zscr",\u017A:"zacute",\u0179:"Zacute",\u017E:"zcaron",\u017D:"Zcaron",\u017C:"zdot",\u017B:"Zdot",\u01B5:"imped",\u00FE:"thorn",\u00DE:"THORN",\u0149:"napos",\u03B1:"alpha",\u0391:"Alpha",\u03B2:"beta",\u0392:"Beta",\u03B3:"gamma",\u0393:"Gamma",\u03B4:"delta",\u0394:"Delta",\u03B5:"epsi","\u03F5":"epsiv",\u0395:"Epsilon",\u03DD:"gammad",\u03DC:"Gammad",\u03B6:"zeta",\u0396:"Zeta",\u03B7:"eta",\u0397:"Eta",\u03B8:"theta",\u03D1:"thetav",\u0398:"Theta",\u03B9:"iota",\u0399:"Iota",\u03BA:"kappa",\u03F0:"kappav",\u039A:"Kappa",\u03BB:"lambda",\u039B:"Lambda",\u03BC:"mu",\u00B5:"micro",\u039C:"Mu",\u03BD:"nu",\u039D:"Nu",\u03BE:"xi",\u039E:"Xi",\u03BF:"omicron",\u039F:"Omicron",\u03C0:"pi",\u03D6:"piv",\u03A0:"Pi",\u03C1:"rho",\u03F1:"rhov",\u03A1:"Rho",\u03C3:"sigma",\u03A3:"Sigma",\u03C2:"sigmaf",\u03C4:"tau",\u03A4:"Tau",\u03C5:"upsi",\u03A5:"Upsilon",\u03D2:"Upsi",\u03C6:"phi",\u03D5:"phiv",\u03A6:"Phi",\u03C7:"chi",\u03A7:"Chi",\u03C8:"psi",\u03A8:"Psi",\u03C9:"omega",\u03A9:"ohm",\u0430:"acy",\u0410:"Acy",\u0431:"bcy",\u0411:"Bcy",\u0432:"vcy",\u0412:"Vcy",\u0433:"gcy",\u0413:"Gcy",\u0453:"gjcy",\u0403:"GJcy",\u0434:"dcy",\u0414:"Dcy",\u0452:"djcy",\u0402:"DJcy",\u0435:"iecy",\u0415:"IEcy",\u0451:"iocy",\u0401:"IOcy",\u0454:"jukcy",\u0404:"Jukcy",\u0436:"zhcy",\u0416:"ZHcy",\u0437:"zcy",\u0417:"Zcy",\u0455:"dscy",\u0405:"DScy",\u0438:"icy",\u0418:"Icy",\u0456:"iukcy",\u0406:"Iukcy",\u0457:"yicy",\u0407:"YIcy",\u0439:"jcy",\u0419:"Jcy",\u0458:"jsercy",\u0408:"Jsercy",\u043A:"kcy",\u041A:"Kcy",\u045C:"kjcy",\u040C:"KJcy",\u043B:"lcy",\u041B:"Lcy",\u0459:"ljcy",\u0409:"LJcy",\u043C:"mcy",\u041C:"Mcy",\u043D:"ncy",\u041D:"Ncy",\u045A:"njcy",\u040A:"NJcy",\u043E:"ocy",\u041E:"Ocy",\u043F:"pcy",\u041F:"Pcy",\u0440:"rcy",\u0420:"Rcy",\u0441:"scy",\u0421:"Scy",\u0442:"tcy",\u0422:"Tcy",\u045B:"tshcy",\u040B:"TSHcy",\u0443:"ucy",\u0423:"Ucy",\u045E:"ubrcy",\u040E:"Ubrcy",\u0444:"fcy",\u0424:"Fcy",\u0445:"khcy",\u0425:"KHcy",\u0446:"tscy",\u0426:"TScy",\u0447:"chcy",\u0427:"CHcy",\u045F:"dzcy",\u040F:"DZcy",\u0448:"shcy",\u0428:"SHcy",\u0449:"shchcy",\u0429:"SHCHcy",\u044A:"hardcy",\u042A:"HARDcy",\u044B:"ycy",\u042B:"Ycy",\u044C:"softcy",\u042C:"SOFTcy",\u044D:"ecy",\u042D:"Ecy",\u044E:"yucy",\u042E:"YUcy",\u044F:"yacy",\u042F:"YAcy",\u2135:"aleph",\u2136:"beth",\u2137:"gimel",\u2138:"daleth"},l=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},p=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,m=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,f=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,h={aacute:"\xE1",Aacute:"\xC1",abreve:"\u0103",Abreve:"\u0102",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",acirc:"\xE2",Acirc:"\xC2",acute:"\xB4",acy:"\u0430",Acy:"\u0410",aelig:"\xE6",AElig:"\xC6",af:"\u2061",afr:"\u{1D51E}",Afr:"\u{1D504}",agrave:"\xE0",Agrave:"\xC0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",Alpha:"\u0391",amacr:"\u0101",Amacr:"\u0100",amalg:"\u2A3F",amp:"&",AMP:"&",and:"\u2227",And:"\u2A53",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",Aogon:"\u0104",aopf:"\u{1D552}",Aopf:"\u{1D538}",ap:"\u2248",apacir:"\u2A6F",ape:"\u224A",apE:"\u2A70",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",Aring:"\xC5",ascr:"\u{1D4B6}",Ascr:"\u{1D49C}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",Atilde:"\xC3",auml:"\xE4",Auml:"\xC4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",Bcy:"\u0411",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",beta:"\u03B2",Beta:"\u0392",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",Bfr:"\u{1D505}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bNot:"\u2AED",bopf:"\u{1D553}",Bopf:"\u{1D539}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxhD:"\u2565",boxHd:"\u2564",boxHD:"\u2566",boxhu:"\u2534",boxhU:"\u2568",boxHu:"\u2567",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpe:"\u224F",bumpE:"\u2AAE",bumpeq:"\u224F",Bumpeq:"\u224E",cacute:"\u0107",Cacute:"\u0106",cap:"\u2229",Cap:"\u22D2",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",ccaron:"\u010D",Ccaron:"\u010C",ccedil:"\xE7",Ccedil:"\xC7",ccirc:"\u0109",Ccirc:"\u0108",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",Cdot:"\u010A",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",chcy:"\u0447",CHcy:"\u0427",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",Chi:"\u03A7",cir:"\u25CB",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cire:"\u2257",cirE:"\u29C3",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",colone:"\u2254",Colone:"\u2A74",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",cscr:"\u{1D4B8}",Cscr:"\u{1D49E}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",Cup:"\u22D3",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",dArr:"\u21D3",Darr:"\u21A1",dash:"\u2010",dashv:"\u22A3",Dashv:"\u2AE4",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",Dcaron:"\u010E",dcy:"\u0434",Dcy:"\u0414",dd:"\u2146",DD:"\u2145",ddagger:"\u2021",ddarr:"\u21CA",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",delta:"\u03B4",Delta:"\u0394",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",Dfr:"\u{1D507}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",DJcy:"\u0402",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",Dopf:"\u{1D53B}",dot:"\u02D9",Dot:"\xA8",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",downarrow:"\u2193",Downarrow:"\u21D3",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",Dscr:"\u{1D49F}",dscy:"\u0455",DScy:"\u0405",dsol:"\u29F6",dstrok:"\u0111",Dstrok:"\u0110",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",DZcy:"\u040F",dzigrarr:"\u27FF",eacute:"\xE9",Eacute:"\xC9",easter:"\u2A6E",ecaron:"\u011B",Ecaron:"\u011A",ecir:"\u2256",ecirc:"\xEA",Ecirc:"\xCA",ecolon:"\u2255",ecy:"\u044D",Ecy:"\u042D",eDDot:"\u2A77",edot:"\u0117",eDot:"\u2251",Edot:"\u0116",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",Efr:"\u{1D508}",eg:"\u2A9A",egrave:"\xE8",Egrave:"\xC8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",Emacr:"\u0112",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp:"\u2003",emsp13:"\u2004",emsp14:"\u2005",eng:"\u014B",ENG:"\u014A",ensp:"\u2002",eogon:"\u0119",Eogon:"\u0118",eopf:"\u{1D556}",Eopf:"\u{1D53C}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",Epsilon:"\u0395",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",esim:"\u2242",Esim:"\u2A73",eta:"\u03B7",Eta:"\u0397",eth:"\xF0",ETH:"\xD0",euml:"\xEB",Euml:"\xCB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",Fcy:"\u0424",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",Ffr:"\u{1D509}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",Fopf:"\u{1D53D}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",gamma:"\u03B3",Gamma:"\u0393",gammad:"\u03DD",Gammad:"\u03DC",gap:"\u2A86",gbreve:"\u011F",Gbreve:"\u011E",Gcedil:"\u0122",gcirc:"\u011D",Gcirc:"\u011C",gcy:"\u0433",Gcy:"\u0413",gdot:"\u0121",Gdot:"\u0120",ge:"\u2265",gE:"\u2267",gel:"\u22DB",gEl:"\u2A8C",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",Gfr:"\u{1D50A}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",GJcy:"\u0403",gl:"\u2277",gla:"\u2AA5",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",Gopf:"\u{1D53E}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",gscr:"\u210A",Gscr:"\u{1D4A2}",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",Gt:"\u226B",GT:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",HARDcy:"\u042A",harr:"\u2194",hArr:"\u21D4",harrcir:"\u2948",harrw:"\u21AD",Hat:"^",hbar:"\u210F",hcirc:"\u0125",Hcirc:"\u0124",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",hstrok:"\u0127",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",Iacute:"\xCD",ic:"\u2063",icirc:"\xEE",Icirc:"\xCE",icy:"\u0438",Icy:"\u0418",Idot:"\u0130",iecy:"\u0435",IEcy:"\u0415",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",igrave:"\xEC",Igrave:"\xCC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",IJlig:"\u0132",Im:"\u2111",imacr:"\u012B",Imacr:"\u012A",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",Int:"\u222C",intcal:"\u22BA",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",iocy:"\u0451",IOcy:"\u0401",iogon:"\u012F",Iogon:"\u012E",iopf:"\u{1D55A}",Iopf:"\u{1D540}",iota:"\u03B9",Iota:"\u0399",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",Itilde:"\u0128",iukcy:"\u0456",Iukcy:"\u0406",iuml:"\xEF",Iuml:"\xCF",jcirc:"\u0135",Jcirc:"\u0134",jcy:"\u0439",Jcy:"\u0419",jfr:"\u{1D527}",Jfr:"\u{1D50D}",jmath:"\u0237",jopf:"\u{1D55B}",Jopf:"\u{1D541}",jscr:"\u{1D4BF}",Jscr:"\u{1D4A5}",jsercy:"\u0458",Jsercy:"\u0408",jukcy:"\u0454",Jukcy:"\u0404",kappa:"\u03BA",Kappa:"\u039A",kappav:"\u03F0",kcedil:"\u0137",Kcedil:"\u0136",kcy:"\u043A",Kcy:"\u041A",kfr:"\u{1D528}",Kfr:"\u{1D50E}",kgreen:"\u0138",khcy:"\u0445",KHcy:"\u0425",kjcy:"\u045C",KJcy:"\u040C",kopf:"\u{1D55C}",Kopf:"\u{1D542}",kscr:"\u{1D4C0}",Kscr:"\u{1D4A6}",lAarr:"\u21DA",lacute:"\u013A",Lacute:"\u0139",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",Lambda:"\u039B",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larr:"\u2190",lArr:"\u21D0",Larr:"\u219E",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",lAtail:"\u291B",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",Lcaron:"\u013D",lcedil:"\u013C",Lcedil:"\u013B",lceil:"\u2308",lcub:"{",lcy:"\u043B",Lcy:"\u041B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",leftarrow:"\u2190",Leftarrow:"\u21D0",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",Leftrightarrow:"\u21D4",LeftRightArrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",leg:"\u22DA",lEg:"\u2A8B",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",Lfr:"\u{1D50F}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",LJcy:"\u0409",ll:"\u226A",Ll:"\u22D8",llarr:"\u21C7",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",Lmidot:"\u013F",lmoust:"\u23B0",lmoustache:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",Longleftarrow:"\u27F8",LongLeftArrow:"\u27F5",longleftrightarrow:"\u27F7",Longleftrightarrow:"\u27FA",LongLeftRightArrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",Longrightarrow:"\u27F9",LongRightArrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",Lopf:"\u{1D543}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",Lstrok:"\u0141",lt:"<",Lt:"\u226A",LT:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",Map:"\u2905",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",Mcy:"\u041C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",mfr:"\u{1D52A}",Mfr:"\u{1D510}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",Mopf:"\u{1D544}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",mu:"\u03BC",Mu:"\u039C",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",nacute:"\u0144",Nacute:"\u0143",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",Ncaron:"\u0147",ncedil:"\u0146",Ncedil:"\u0145",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",Ncy:"\u041D",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:`
|
|
43
|
-
`,nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",Nfr:"\u{1D511}",nge:"\u2271",ngE:"\u2267\u0338",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",ngt:"\u226F",nGt:"\u226B\u20D2",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",NJcy:"\u040A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nle:"\u2270",nlE:"\u2266\u0338",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nlt:"\u226E",nLt:"\u226A\u20D2",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",not:"\xAC",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",Nscr:"\u{1D4A9}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsube:"\u2288",nsubE:"\u2AC5\u0338",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupe:"\u2289",nsupE:"\u2AC6\u0338",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",Ntilde:"\xD1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",Nu:"\u039D",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",oacute:"\xF3",Oacute:"\xD3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",Ocirc:"\xD4",ocy:"\u043E",Ocy:"\u041E",odash:"\u229D",odblac:"\u0151",Odblac:"\u0150",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",OElig:"\u0152",ofcir:"\u29BF",ofr:"\u{1D52C}",Ofr:"\u{1D512}",ogon:"\u02DB",ograve:"\xF2",Ograve:"\xD2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",Omacr:"\u014C",omega:"\u03C9",Omega:"\u03A9",omicron:"\u03BF",Omicron:"\u039F",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",Oopf:"\u{1D546}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",or:"\u2228",Or:"\u2A54",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",oscr:"\u2134",Oscr:"\u{1D4AA}",oslash:"\xF8",Oslash:"\xD8",osol:"\u2298",otilde:"\xF5",Otilde:"\xD5",otimes:"\u2297",Otimes:"\u2A37",otimesas:"\u2A36",ouml:"\xF6",Ouml:"\xD6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",pcy:"\u043F",Pcy:"\u041F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",Pfr:"\u{1D513}",phi:"\u03C6",Phi:"\u03A6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",Pi:"\u03A0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",pr:"\u227A",Pr:"\u2ABB",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prE:"\u2AB3",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportion:"\u2237",Proportional:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",Pscr:"\u{1D4AB}",psi:"\u03C8",Psi:"\u03A8",puncsp:"\u2008",qfr:"\u{1D52E}",Qfr:"\u{1D514}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",qscr:"\u{1D4C6}",Qscr:"\u{1D4AC}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",racute:"\u0155",Racute:"\u0154",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rArr:"\u21D2",Rarr:"\u21A0",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",Rarrtl:"\u2916",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",Rcaron:"\u0158",rcedil:"\u0157",Rcedil:"\u0156",rceil:"\u2309",rcub:"}",rcy:"\u0440",Rcy:"\u0420",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",Re:"\u211C",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",Rho:"\u03A1",rhov:"\u03F1",RightAngleBracket:"\u27E9",rightarrow:"\u2192",Rightarrow:"\u21D2",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",Sacute:"\u015A",sbquo:"\u201A",sc:"\u227B",Sc:"\u2ABC",scap:"\u2AB8",scaron:"\u0161",Scaron:"\u0160",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",scedil:"\u015F",Scedil:"\u015E",scirc:"\u015D",Scirc:"\u015C",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",Scy:"\u0421",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",Sfr:"\u{1D516}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",SHCHcy:"\u0429",shcy:"\u0448",SHcy:"\u0428",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",sigma:"\u03C3",Sigma:"\u03A3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",SOFTcy:"\u042C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",Sopf:"\u{1D54A}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",Sscr:"\u{1D4AE}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",Star:"\u22C6",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",sube:"\u2286",subE:"\u2AC5",subedot:"\u2AC3",submult:"\u2AC1",subne:"\u228A",subnE:"\u2ACB",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup:"\u2283",Sup:"\u22D1",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supE:"\u2AC6",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supne:"\u228B",supnE:"\u2ACC",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",tau:"\u03C4",Tau:"\u03A4",tbrk:"\u23B4",tcaron:"\u0165",Tcaron:"\u0164",tcedil:"\u0163",Tcedil:"\u0162",tcy:"\u0442",Tcy:"\u0422",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",Tfr:"\u{1D517}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",theta:"\u03B8",Theta:"\u0398",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",THORN:"\xDE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",Topf:"\u{1D54B}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",Tscr:"\u{1D4AF}",tscy:"\u0446",TScy:"\u0426",tshcy:"\u045B",TSHcy:"\u040B",tstrok:"\u0167",Tstrok:"\u0166",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uacute:"\xFA",Uacute:"\xDA",uarr:"\u2191",uArr:"\u21D1",Uarr:"\u219F",Uarrocir:"\u2949",ubrcy:"\u045E",Ubrcy:"\u040E",ubreve:"\u016D",Ubreve:"\u016C",ucirc:"\xFB",Ucirc:"\xDB",ucy:"\u0443",Ucy:"\u0423",udarr:"\u21C5",udblac:"\u0171",Udblac:"\u0170",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",Ufr:"\u{1D518}",ugrave:"\xF9",Ugrave:"\xD9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",Umacr:"\u016A",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",uogon:"\u0173",Uogon:"\u0172",uopf:"\u{1D566}",Uopf:"\u{1D54C}",uparrow:"\u2191",Uparrow:"\u21D1",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",Updownarrow:"\u21D5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",upsilon:"\u03C5",Upsilon:"\u03A5",UpTee:"\u22A5",UpTeeArrow:"\u21A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",Uring:"\u016E",urtri:"\u25F9",uscr:"\u{1D4CA}",Uscr:"\u{1D4B0}",utdot:"\u22F0",utilde:"\u0169",Utilde:"\u0168",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",Uuml:"\xDC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",vcy:"\u0432",Vcy:"\u0412",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",vee:"\u2228",Vee:"\u22C1",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",vfr:"\u{1D533}",Vfr:"\u{1D519}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",Vopf:"\u{1D54D}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",Vscr:"\u{1D4B1}",vsubne:"\u228A\uFE00",vsubnE:"\u2ACB\uFE00",vsupne:"\u228B\uFE00",vsupnE:"\u2ACC\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",wcirc:"\u0175",Wcirc:"\u0174",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",Wfr:"\u{1D51A}",wopf:"\u{1D568}",Wopf:"\u{1D54E}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",Wscr:"\u{1D4B2}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",Xfr:"\u{1D51B}",xharr:"\u27F7",xhArr:"\u27FA",xi:"\u03BE",Xi:"\u039E",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",Xopf:"\u{1D54F}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",xscr:"\u{1D4CD}",Xscr:"\u{1D4B3}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",Yacute:"\xDD",yacy:"\u044F",YAcy:"\u042F",ycirc:"\u0177",Ycirc:"\u0176",ycy:"\u044B",Ycy:"\u042B",yen:"\xA5",yfr:"\u{1D536}",Yfr:"\u{1D51C}",yicy:"\u0457",YIcy:"\u0407",yopf:"\u{1D56A}",Yopf:"\u{1D550}",yscr:"\u{1D4CE}",Yscr:"\u{1D4B4}",yucy:"\u044E",YUcy:"\u042E",yuml:"\xFF",Yuml:"\u0178",zacute:"\u017A",Zacute:"\u0179",zcaron:"\u017E",Zcaron:"\u017D",zcy:"\u0437",Zcy:"\u0417",zdot:"\u017C",Zdot:"\u017B",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",zeta:"\u03B6",Zeta:"\u0396",zfr:"\u{1D537}",Zfr:"\u2128",zhcy:"\u0436",ZHcy:"\u0416",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",zscr:"\u{1D4CF}",Zscr:"\u{1D4B5}",zwj:"\u200D",zwnj:"\u200C"},g={aacute:"\xE1",Aacute:"\xC1",acirc:"\xE2",Acirc:"\xC2",acute:"\xB4",aelig:"\xE6",AElig:"\xC6",agrave:"\xE0",Agrave:"\xC0",amp:"&",AMP:"&",aring:"\xE5",Aring:"\xC5",atilde:"\xE3",Atilde:"\xC3",auml:"\xE4",Auml:"\xC4",brvbar:"\xA6",ccedil:"\xE7",Ccedil:"\xC7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",COPY:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",eacute:"\xE9",Eacute:"\xC9",ecirc:"\xEA",Ecirc:"\xCA",egrave:"\xE8",Egrave:"\xC8",eth:"\xF0",ETH:"\xD0",euml:"\xEB",Euml:"\xCB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",GT:">",iacute:"\xED",Iacute:"\xCD",icirc:"\xEE",Icirc:"\xCE",iexcl:"\xA1",igrave:"\xEC",Igrave:"\xCC",iquest:"\xBF",iuml:"\xEF",Iuml:"\xCF",laquo:"\xAB",lt:"<",LT:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",ntilde:"\xF1",Ntilde:"\xD1",oacute:"\xF3",Oacute:"\xD3",ocirc:"\xF4",Ocirc:"\xD4",ograve:"\xF2",Ograve:"\xD2",ordf:"\xAA",ordm:"\xBA",oslash:"\xF8",Oslash:"\xD8",otilde:"\xF5",Otilde:"\xD5",ouml:"\xF6",Ouml:"\xD6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',QUOT:'"',raquo:"\xBB",reg:"\xAE",REG:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",thorn:"\xFE",THORN:"\xDE",times:"\xD7",uacute:"\xFA",Uacute:"\xDA",ucirc:"\xFB",Ucirc:"\xDB",ugrave:"\xF9",Ugrave:"\xD9",uml:"\xA8",uuml:"\xFC",Uuml:"\xDC",yacute:"\xFD",Yacute:"\xDD",yen:"\xA5",yuml:"\xFF"},y={0:"\uFFFD",128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"},C=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],b=String.fromCharCode,x={},k=x.hasOwnProperty,v=function(E,M){return k.call(E,M)},w=function(E,M){for(var B=-1,I=E.length;++B<I;)if(E[B]==M)return!0;return!1},S=function(E,M){if(!E)return M;var B={},I;for(I in M)B[I]=v(E,I)?E[I]:M[I];return B},A=function(E,M){var B="";return E>=55296&&E<=57343||E>1114111?(M&&R("character reference outside the permissible Unicode range"),"\uFFFD"):v(y,E)?(M&&R("disallowed character reference"),y[E]):(M&&w(C,E)&&R("disallowed character reference"),E>65535&&(E-=65536,B+=b(E>>>10&1023|55296),E=56320|E&1023),B+=b(E),B)},P=function(E){return"&#x"+E.toString(16).toUpperCase()+";"},q=function(E){return"&#"+E+";"},R=function(E){throw Error("Parse error: "+E)},O=function(E,M){M=S(M,O.options);var B=M.strict;B&&m.test(E)&&R("forbidden code point");var I=M.encodeEverything,F=M.useNamedReferences,oe=M.allowUnsafeSymbols,ee=M.decimal?q:P,He=function(ne){return ee(ne.charCodeAt(0))};return I?(E=E.replace(o,function(ne){return F&&v(u,ne)?"&"+u[ne]+";":He(ne)}),F&&(E=E.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),F&&(E=E.replace(c,function(ne){return"&"+u[ne]+";"}))):F?(oe||(E=E.replace(l,function(ne){return"&"+u[ne]+";"})),E=E.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),E=E.replace(c,function(ne){return"&"+u[ne]+";"})):oe||(E=E.replace(l,He)),E.replace(i,function(ne){var Xe=ne.charCodeAt(0),je=ne.charCodeAt(1),Ie=(Xe-55296)*1024+je-56320+65536;return ee(Ie)}).replace(s,He)};O.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var W=function(E,M){M=S(M,W.options);var B=M.strict;return B&&p.test(E)&&R("malformed character reference"),E.replace(f,function(I,F,oe,ee,He,ne,Xe,je,Ie){var Je,_e,Vt,yn,At,Gt;return F?(At=F,h[At]):oe?(At=oe,Gt=ee,Gt&&M.isAttributeValue?(B&&Gt=="="&&R("`&` did not start a character reference"),I):(B&&R("named character reference was not terminated by a semicolon"),g[At]+(Gt||""))):He?(Vt=He,_e=ne,B&&!_e&&R("character reference was not terminated by a semicolon"),Je=parseInt(Vt,10),A(Je,B)):Xe?(yn=Xe,_e=je,B&&!_e&&R("character reference was not terminated by a semicolon"),Je=parseInt(yn,16),A(Je,B)):(B&&R("named character reference was not terminated by a semicolon"),I)})};W.options={isAttributeValue:!1,strict:!1};var z=function(E){return E.replace(l,function(M){return d[M]})},H={version:"1.2.0",encode:O,decode:W,escape:z,unescape:W};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd)define(function(){return H});else if(e&&!e.nodeType)if(r)r.exports=H;else for(var _ in H)v(H,_)&&(e[_]=H[_]);else t.he=H})(hi)});var qa,Be,Qr=T(()=>{"use strict";qa=Qe(gi(),1),Be=class{parentNode;childNodes=[];range=[-1,-1];constructor(e=null,r){this.parentNode=e,r&&(this.range=r)}remove(){if(this.parentNode){typeof this.parentNode.invalidateSelectorCacheRecursively=="function"&&this.parentNode.invalidateSelectorCacheRecursively();let e=this.parentNode.childNodes;this.parentNode.childNodes=e.filter(r=>this!==r),this.parentNode=null}return this}invalidateSelectorCacheRecursively(){}get innerText(){return this.rawText}get textContent(){return qa.default.decode(this.rawText)}set textContent(e){this.rawText=qa.default.encode(e)}}});var $a,j,lr=T(()=>{"use strict";(function(t){t[t.ELEMENT_NODE=1]="ELEMENT_NODE",t[t.TEXT_NODE=3]="TEXT_NODE",t[t.COMMENT_NODE=8]="COMMENT_NODE"})($a||($a={}));j=$a});var $t,Oa=T(()=>{"use strict";Qr();lr();$t=class t extends Be{rawText;rawTagName;clone(){return new t(this.rawText,null,void 0,this.rawTagName)}constructor(e,r=null,n,i="!--"){super(r,n),this.rawText=e,this.rawTagName=i}nodeType=j.COMMENT_NODE;get text(){return this.rawText}toString(){return`<!--${this.rawText}-->`}}});function xt(t){return t[t.length-1]}var gl=T(()=>{"use strict"});function yi(t){return!!t&&t.nodeType===j.ELEMENT_NODE}function yl(t,e){return yi(t)?t.getAttribute(e):void 0}function g2(t){return(t&&t.rawTagName||"").toLowerCase()}function Yr(t){return t&&t.childNodes}function za(t){return t?t.parentNode:null}function y2(t){return t.text}function b2(t){let e=t.length,r,n,i;for(;--e>-1;){for(r=n=t[e],t[e]=null,i=!0;n;){if(t.indexOf(n)>-1){i=!1,t.splice(e,1);break}n=za(n)}i&&(t[e]=r)}return t}function bl(t,e){return e.some(r=>yi(r)?t(r)||bl(t,Yr(r)):!1)}function v2(t){let e=za(t);return e?Yr(e):[]}function w2(t,e){return yl(t,e)!==void 0}function vl(t,e){let r=null;for(let n=0,i=e==null?void 0:e.length;n<i&&!r;n++){let o=e[n];if(t(o))r=o;else{let s=Yr(o);s&&s.length>0&&(r=vl(t,s))}}return r}function wl(t,e){let r=[];for(let n=0,i=e.length;n<i;n++){if(!yi(e[n]))continue;t(e[n])&&r.push(e[n]);let o=Yr(e[n]);o&&(r=r.concat(wl(t,o)))}return r}var le,ja=T(()=>{"use strict";lr();le={isTag:yi,getAttributeValue:yl,getName:g2,getChildren:Yr,getParent:za,getText:y2,removeSubsets:b2,existsOne:bl,getSiblings:v2,hasAttrib:w2,findOne:vl,findAll:wl}});var dr,xl=T(()=>{"use strict";dr=class{addClosingSlash;voidTags;constructor(e=!1,r){this.addClosingSlash=e,Array.isArray(r)?this.voidTags=r.reduce((n,i)=>n.add(i.toLowerCase()).add(i.toUpperCase()).add(i),new Set):this.voidTags=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"].reduce((n,i)=>n.add(i.toLowerCase()).add(i.toUpperCase()).add(i),new Set)}formatNode(e,r,n){let i=this.addClosingSlash,o=i&&r&&!r.endsWith(" ")?" ":"",s=i?`${o}/`:"";return this.isVoidElement(e.toLowerCase())?`<${e}${r}${s}>`:`<${e}${r}>${n}</${e}>`}isVoidElement(e){return this.voidTags.has(e)}}});var kl,Ue,_a=T(()=>{"use strict";kl=Qe(gi(),1);Qr();lr();Ue=class t extends Be{rawText;nodeType=j.TEXT_NODE;rawTagName="#text";constructor(e,r=null,n){super(r,n),this.rawText=e}clone(){return new t(this.rawText,null,this.range?[...this.range]:void 0)}get text(){return kl.default.decode(this.rawText)}get trimmedText(){return this.text.trim()}get trimmedRawText(){return this.rawText.trim()}get isWhitespace(){return/^(\s| )*$/.test(this.rawText)}toString(){return this.rawText}}});function Zr(t){return JSON.parse(JSON.stringify(Al.default.decode(t)))}function C2(...t){let e=r=>{for(let n=0;n<r.length;n++){let i=r[n];Wa.add(i),Wa.add(i.toUpperCase())}};for(let r of t)e(r)}function vi(t,e={}){var k,v;let r=new dr((k=e==null?void 0:e.voidTag)==null?void 0:k.closingSlash,(v=e==null?void 0:e.voidTag)==null?void 0:v.tags),n=e.blockTextElements||{script:!0,noscript:!0,style:!0,pre:!0},i=Object.keys(n),o=i.map(w=>new RegExp(`^${w}$`,"i")),s=i.filter(w=>!!n[w]).map(w=>new RegExp(`^${w}$`,"i"));function c(w){return s.some(S=>S.test(w))}function u(w){return o.some(S=>S.test(w))}let l=(w,S)=>[w-x,S-x],d=new Ot("",{},"",null,[0,t.length],r,e),p=d,m=[d],f=-1,h,g;t=`<${en}>${t}</${en}>`;let{lowerCaseTagName:y,fixNestedATags:C}=e,b=t.length-(en.length+2),x=en.length+2;for(;g=pt.exec(t);){let{0:w,1:S,2:A,3:P,4:q}=g,R=w.length,O=pt.lastIndex-R,W=pt.lastIndex;if(f>-1&&f+R<W){let z=t.substring(f,O);p.appendChild(new Ue(z,p,l(f,O)))}if(f=pt.lastIndex,A!==en){if(w[1]==="!"){if(e.comment){let z=t.substring(O+4,W-3);p.appendChild(new $t(z,p,l(O,W)))}continue}if(y&&(A=A.toLowerCase()),!S){let z={};for(let M;M=E2.exec(P);){let{1:B,2:I}=M,F=I[0]==="'"||I[0]==='"';z[B.toLowerCase()]=F?I.slice(1,I.length-1):I}let H=p.rawTagName;!q&&Sl[H]&&Sl[H][A]&&(m.pop(),p=xt(m)),C&&(A==="a"||A==="A")&&(h!==void 0&&(m.splice(h),p=xt(m)),h=m.length);let _=pt.lastIndex,E=_-R;if(p=p.appendChild(new Ot(A,z,P.slice(1),null,l(E,_),r,e)),m.push(p),u(A)){let M=`</${A}>`,B=y?t.toLocaleLowerCase().indexOf(M,pt.lastIndex):t.indexOf(M,pt.lastIndex),I=B===-1?b:B;if(c(A)){let F=t.substring(_,I);F.length>0&&/\S/.test(F)&&p.appendChild(new Ue(F,p,l(_,I)))}B===-1?f=pt.lastIndex=t.length+1:(f=pt.lastIndex=B+M.length,S="/")}}if(S||q||r.isVoidElement(A))for(;;)if(h!=null&&(A==="a"||A==="A")&&(h=void 0),p.rawTagName===A){p.range[1]=l(-1,Math.max(f,W))[1],m.pop(),p=xt(m);break}else{let z=p.tagName;if(Tl[z]&&Tl[z][A]){m.pop(),p=xt(m);continue}break}}}return m}function mt(t,e={}){let r=vi(t,e),[n]=r;for(;r.length>1;){let i=r.pop(),o=xt(r);i&&i.parentNode&&i.parentNode.parentNode&&(i.parentNode===o&&i.tagName===o.tagName?e.parseNoneClosedTags!==!0&&(o.removeChild(i),i.childNodes.forEach(s=>{o.parentNode&&o.parentNode.appendChild(s)}),r.pop()):e.parseNoneClosedTags!==!0&&(o.removeChild(i),i.childNodes.forEach(s=>{o.appendChild(s)})))}return n}function bi(t,e){let r=[];for(let n of t)if(typeof n=="string")if(/<[a-zA-Z!]/.test(n)){let o=vi(n,e||{})[0];if(o&&o.childNodes)for(let s of o.childNodes)s.parentNode=null,r.push(s)}else r.push(new Ue(n));else n.remove(),r.push(n);return r}function tt(t,e){return t.map(r=>(r.parentNode=e,r))}var Al,x2,k2,S2,T2,A2,Wa,Va,Ot,pt,E2,Sl,Tl,en,wi=T(()=>{"use strict";Ia();Al=Qe(gi(),1);gl();ja();xl();Oa();Qr();_a();lr();x2=["h1","h2","h3","h4","h5","h6","header","hgroup"],k2=["details","dialog","dd","div","dt"],S2=["fieldset","figcaption","figure","footer","form"],T2=["table","td","tr"],A2=["address","article","aside","blockquote","br","hr","li","main","nav","ol","p","pre","section","ul"],Wa=new Set;C2(x2,k2,S2,T2,A2);Va=class{_set;_afterUpdate;_validate(e){if(/\s/.test(e))throw new Error(`DOMException in DOMTokenList.add: The token '${e}' contains HTML space characters, which are not valid in tokens.`)}constructor(e=[],r=()=>null){this._set=new Set(e),this._afterUpdate=r}add(e){this._validate(e),this._set.add(e),this._afterUpdate(this)}replace(e,r){this._validate(r),this._set.delete(e),this._set.add(r),this._afterUpdate(this)}remove(e){this._set.delete(e)&&this._afterUpdate(this)}toggle(e){this._validate(e),this._set.has(e)?this._set.delete(e):this._set.add(e),this._afterUpdate(this)}contains(e){return this._set.has(e)}get length(){return this._set.size}values(){return this._set.values()}get value(){return Array.from(this._set.values())}toString(){return Array.from(this._set.values()).join(" ")}},Ot=class t extends Be{rawAttrs;voidTag;_attrs;_rawAttrs;_queryCache;_parseOptions;rawTagName;id;classList;nodeType=j.ELEMENT_NODE;get isSelectorCacheEnabled(){var e;return((e=this._parseOptions)==null?void 0:e.selectorCache)!==!1}getQueryCache(){return this._queryCache||(this._queryCache=new Map),this._queryCache}clearQueryCache(){this._queryCache=void 0}invalidateSelectorCacheRecursively(){let e=this;for(;e;)e.clearQueryCache(),e=e.parentNode}quoteAttribute(e){return e==null?"null":JSON.stringify(e.replace(/"/g,""")).replace(/\\t/g," ").replace(/\\n/g,`
|
|
42
|
+
)`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], :selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])","read-only":`[readonly]:is(textarea, ${Qu})`,"read-write":`:not([readonly]):is(textarea, ${Qu})`,selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"}});function el(t){if(t=t.trim().toLowerCase(),t==="even")return[2,0];if(t==="odd")return[2,1];let e=0,r=0,n=o(),i=s();if(e<t.length&&t.charAt(e)==="n"&&(e++,r=n*(i??1),c(),e<t.length?(n=o(),c(),i=s()):n=i=0),i===null||e<t.length)throw new Error(`n-th rule couldn't be parsed ('${t}')`);return[r,n*i];function o(){return t.charAt(e)==="-"?(e++,-1):(t.charAt(e)==="+"&&e++,1)}function s(){let u=e,l=0;for(;e<t.length&&t.charCodeAt(e)>=Zu&&t.charCodeAt(e)<=r2;)l=l*10+(t.charCodeAt(e)-Zu),e++;return e===u?null:l}function c(){for(;e<t.length&&t2.has(t.charCodeAt(e));)e++}}var t2,Zu,r2,tl=A(()=>{t2=new Set([9,10,12,13,32]),Zu=48,r2=57});function rl(t){let e=t[0],r=t[1]-1;if(r<0&&e<=0)return Aa.default.falseFunc;if(e===-1)return o=>o<=r;if(e===0)return o=>o===r;if(e===1)return r<0?Aa.default.trueFunc:o=>o>=r;let n=Math.abs(e),i=(r%n+n)%n;return e>1?o=>o>=r&&o%n===i:o=>o<=r&&o%n===i}var Aa,nl=A(()=>{Aa=Qe(Bt(),1)});function ar(t){return rl(el(t))}var il=A(()=>{tl();nl()});function sr(t,{adapter:e,cacheResults:r},n){if(r===!1||typeof WeakMap>"u")return s=>t(s)&&n(s);let i=new WeakMap;function o(s){let c=n(s);return i.set(s,c),c}return function(c){if(!t(c))return!1;if(i.has(c))return i.get(c);let u=c;do{let l=Se(u,e);if(l===null)return o(c);u=l}while(!i.has(u));return i.get(u)&&o(c)}}var Ca=A(()=>{qt()});function Ea(t){return function(r,n,{adapter:i}){let o=i[t];return typeof o!="function"?Ae.falseFunc:function(c){return o(c)&&r(c)}}}var Ae,Gr,ol=A(()=>{Ae=Qe(Bt(),1);il();Ca();qt();Gr={contains(t,e,r){let{getText:n}=r.adapter;return sr(t,r,i=>n(i).includes(e))},icontains(t,e,r){let n=e.toLowerCase(),{getText:i}=r.adapter;return sr(t,r,o=>i(o).toLowerCase().includes(n))},"nth-child"(t,e,{adapter:r,equals:n}){let i=ar(e);return i===Ae.falseFunc?Ae.falseFunc:i===Ae.trueFunc?o=>Se(o,r)!==null&&t(o):function(s){let c=r.getSiblings(s),u=0;for(let l=0;l<c.length&&!n(s,c[l]);l++)r.isTag(c[l])&&u++;return i(u)&&t(s)}},"nth-last-child"(t,e,{adapter:r,equals:n}){let i=ar(e);return i===Ae.falseFunc?Ae.falseFunc:i===Ae.trueFunc?o=>Se(o,r)!==null&&t(o):function(s){let c=r.getSiblings(s),u=0;for(let l=c.length-1;l>=0&&!n(s,c[l]);l--)r.isTag(c[l])&&u++;return i(u)&&t(s)}},"nth-of-type"(t,e,{adapter:r,equals:n}){let i=ar(e);return i===Ae.falseFunc?Ae.falseFunc:i===Ae.trueFunc?o=>Se(o,r)!==null&&t(o):function(s){let c=r.getSiblings(s),u=0;for(let l=0;l<c.length;l++){let d=c[l];if(n(s,d))break;r.isTag(d)&&r.getName(d)===r.getName(s)&&u++}return i(u)&&t(s)}},"nth-last-of-type"(t,e,{adapter:r,equals:n}){let i=ar(e);return i===Ae.falseFunc?Ae.falseFunc:i===Ae.trueFunc?o=>Se(o,r)!==null&&t(o):function(s){let c=r.getSiblings(s),u=0;for(let l=c.length-1;l>=0;l--){let d=c[l];if(n(s,d))break;r.isTag(d)&&r.getName(d)===r.getName(s)&&u++}return i(u)&&t(s)}},root(t,e,{adapter:r}){return n=>Se(n,r)===null&&t(n)},scope(t,e,r,n){let{equals:i}=r;return!n||n.length===0?Gr.root(t,e,r):n.length===1?o=>i(n[0],o)&&t(o):o=>n.includes(o)&&t(o)},hover:Ea("isHovered"),visited:Ea("isVisited"),active:Ea("isActive")}});function Da(t,e,r,n){if(r===null){if(t.length>n)throw new Error(`Pseudo-class :${e} requires an argument`)}else if(t.length===n)throw new Error(`Pseudo-class :${e} doesn't have any arguments`)}var n2,pi,al=A(()=>{n2=/^[ \t\r\n]*$/,pi={empty(t,{adapter:e}){let r=e.getChildren(t);return r.every(n=>!e.isTag(n))&&r.every(n=>n2.test(e.getText(n)))},"first-child"(t,{adapter:e,equals:r}){if(e.prevElementSibling)return e.prevElementSibling(t)==null;let n=e.getSiblings(t).find(i=>e.isTag(i));return n!=null&&r(t,n)},"last-child"(t,{adapter:e,equals:r}){let n=e.getSiblings(t);for(let i=n.length-1;i>=0;i--){if(r(t,n[i]))return!0;if(e.isTag(n[i]))break}return!1},"first-of-type"(t,{adapter:e,equals:r}){let n=e.getSiblings(t),i=e.getName(t);for(let o=0;o<n.length;o++){let s=n[o];if(r(t,s))return!0;if(e.isTag(s)&&e.getName(s)===i)break}return!1},"last-of-type"(t,{adapter:e,equals:r}){let n=e.getSiblings(t),i=e.getName(t);for(let o=n.length-1;o>=0;o--){let s=n[o];if(r(t,s))return!0;if(e.isTag(s)&&e.getName(s)===i)break}return!1},"only-of-type"(t,{adapter:e,equals:r}){let n=e.getName(t);return e.getSiblings(t).every(i=>r(t,i)||!e.isTag(i)||e.getName(i)!==n)},"only-child"(t,{adapter:e,equals:r}){return e.getSiblings(t).every(n=>r(t,n)||!e.isTag(n))}}});function cr(t){return t.type==="_flexibleDescendant"||Zn(t)}function sl(t){let e=t.map(mi);for(let r=1;r<t.length;r++){let n=e[r];if(!(n<0))for(let i=r;i>0&&n<e[i-1];i--){let o=t[i];t[i]=t[i-1],t[i-1]=o,e[i]=e[i-1],e[i-1]=n}}}function i2(t){switch(t.action){case Z.Exists:return 10;case Z.Equals:return t.name==="id"?9:8;case Z.Not:return 7;case Z.Start:return 6;case Z.End:return 6;case Z.Any:return 5;case Z.Hyphen:return 4;case Z.Element:return 3}}function mi(t){switch(t.type){case L.Universal:return 50;case L.Tag:return 30;case L.Attribute:return Math.floor(i2(t)/(t.ignoreCase?2:1));case L.Pseudo:return t.data?t.name==="has"||t.name==="contains"||t.name==="icontains"?0:Array.isArray(t.data)?Math.max(0,Math.min(...t.data.map(e=>Math.min(...e.map(mi))))):2:3;default:return-1}}function Kr(t){return t.type===L.Pseudo&&(t.name==="scope"||Array.isArray(t.data)&&t.data.some(e=>e.some(Kr)))}var La=A(()=>{nr()});function o2(t){return t.some(e=>e.length>0&&(cr(e[0])||e.some(Kr)))}function Pa(t){return{xmlMode:!!t.xmlMode,lowerCaseAttributeNames:!!t.lowerCaseAttributeNames,lowerCaseTags:!!t.lowerCaseTags,quirksMode:!!t.quirksMode,cacheResults:!!t.cacheResults,pseudos:t.pseudos,adapter:t.adapter,equals:t.equals}}var Ve,Na,Ra,fi,Ma=A(()=>{Ve=Qe(Bt(),1);Ca();qt();La();Na={};Ra=(t,e,r,n,i)=>{let o=i(e,Pa(r),n);return o===Ve.trueFunc?t:o===Ve.falseFunc?Ve.falseFunc:s=>o(s)&&t(s)},fi={is:Ra,matches:Ra,where:Ra,not(t,e,r,n,i){let o=i(e,Pa(r),n);return o===Ve.falseFunc?t:o===Ve.trueFunc?Ve.falseFunc:s=>!o(s)&&t(s)},has(t,e,r,n,i){let{adapter:o}=r,s=Pa(r);s.relativeSelector=!0;let c=e.some(p=>p.some(cr))?[Na]:void 0,u=o2(e),l=i(e,s,c);if(l===Ve.falseFunc)return Ve.falseFunc;if(c&&l!==Ve.trueFunc)return u?p=>{if(!t(p))return!1;c[0]=p;let m=o.getChildren(p);return or(l,l.shouldTestNextSiblings?[...m,...di(p,o)]:m,r)!==null}:sr(t,r,p=>(c[0]=p,or(l,o.getChildren(p),r)!==null));let d=p=>or(l,o.getChildren(p),r)!==null;return u?p=>t(p)&&d(p):sr(t,r,d)}}});function cl(t,e,r,n,i){var l;let{name:o,data:s}=e;if(Array.isArray(s)){if(!(o in fi))throw new Error(`Unknown pseudo-class :${o}(${s})`);return fi[o](t,s,r,n,i)}let c=(l=r.pseudos)==null?void 0:l[o],u=typeof c=="string"?c:Sa[o];if(typeof u=="string"){if(s!=null)throw new Error(`Pseudo ${o} doesn't have any arguments`);let d=$r(u);return fi.is(t,d,r,n,i)}if(typeof c=="function")return Da(c,o,s,1),d=>c(d,s)&&t(d);if(o in Gr)return Gr[o](t,s,r,n);if(o in pi){let d=pi[o];return Da(d,o,s,2),p=>d(p,r,s)&&t(p)}throw new Error(`Unknown pseudo-class :${o}`)}var Fa=A(()=>{nr();Yu();ol();al();Ma()});function ul(t,e,r,n,i,o){let{adapter:s,equals:c,cacheResults:u}=r;switch(e.type){case L.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case L.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case L.Attribute:{if(e.namespace!=null)throw new Error("Namespaced attributes are not yet supported by css-select");return(!r.xmlMode||r.lowerCaseAttributeNames)&&(e.name=e.name.toLowerCase()),Ku[e.action](t,e,r)}case L.Pseudo:return cl(t,e,r,n,i);case L.Tag:{if(e.namespace!=null)throw new Error("Namespaced tag names are not yet supported by css-select");let{name:l}=e;return(!r.xmlMode||r.lowerCaseTags)&&(l=l.toLowerCase()),function(p){return s.getName(p)===l&&t(p)}}case L.Descendant:{if(!o||u===!1||typeof WeakMap>"u")return function(p){let m=p;for(;m=Se(m,s);)if(t(m))return!0;return!1};let l=new WeakMap;return function(p){let m=p,f;for(;m=Se(m,s);){let h=l.get(m);if(h===void 0){if(f??(f={matches:!1}),f.matches=t(m),l.set(m,f),f.matches)return!0}else return f&&(f.matches=h.matches),h.matches}return!1}}case"_flexibleDescendant":return function(d){let p=d;do{if(t(p))return!0;p=Se(p,s)}while(p);return!1};case L.Parent:return function(d){return s.getChildren(d).some(p=>s.isTag(p)&&t(p))};case L.Child:return function(d){let p=Se(d,s);return p!==null&&t(p)};case L.Sibling:return function(d){let p=s.getSiblings(d);for(let m=0;m<p.length;m++){let f=p[m];if(c(d,f))break;if(s.isTag(f)&&t(f))return!0}return!1};case L.Adjacent:return s.prevElementSibling?function(d){let p=s.prevElementSibling(d);return p!=null&&t(p)}:function(d){let p=s.getSiblings(d),m;for(let f=0;f<p.length;f++){let h=p[f];if(c(d,h))break;s.isTag(h)&&(m=h)}return!!m&&t(m)};case L.Universal:{if(e.namespace!=null&&e.namespace!=="*")throw new Error("Namespaced universal selectors are not yet supported by css-select");return t}}}var ll=A(()=>{nr();Xu();qt();Fa()});function u2(t,{adapter:e},r){let n=!!(r!=null&&r.every(i=>i===Na||e.isTag(i)&&Se(i,e)!==null));for(let i of t){if(!(i.length>0&&cr(i[0])&&i[0].type!==L.Descendant))if(n&&!i.some(Kr))i.unshift(a2);else continue;i.unshift(c2)}}function Ba(t,e,r){t.forEach(sl);let{context:n=r,rootFunc:i=ur.trueFunc}=e,o=Array.isArray(n),s=n&&(Array.isArray(n)?n:[n]);if(e.relativeSelector!==!1)u2(t,e,s);else if(t.some(l=>l.length>0&&cr(l[0])))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let c=!1,u=ur.falseFunc;e:for(let l of t){if(l.length>=2){let[m,f]=l;m.type!==L.Pseudo||m.name!=="scope"||(o&&f.type===L.Descendant?l[1]=s2:(f.type===L.Adjacent||f.type===L.Sibling)&&(c=!0))}let d=i,p=!1;for(let m of l)if(d=ul(d,m,e,s,Ba,p),mi(m)===0&&(p=!0),d===ur.falseFunc)continue e;if(d===i)return i;u=u===ur.falseFunc?d:l2(u,d)}return u.shouldTestNextSiblings=c,u}function l2(t,e){return r=>t(r)||e(r)}var ur,a2,s2,c2,dl=A(()=>{ur=Qe(Bt(),1);nr();ll();qt();La();Ma();a2={type:L.Descendant},s2={type:"_flexibleDescendant"},c2={type:L.Pseudo,name:"scope",data:null}});function Ua(t){var r;let e=t??d2;return e.adapter??(e.adapter=li),e.equals??(e.equals=((r=e.adapter)==null?void 0:r.equals)??pl),e}function p2(t,e,r){let n=Ua(e),i=ml(t,n,r);return i===Xr.falseFunc?Xr.falseFunc:o=>n.adapter.isTag(o)&&i(o)}function ml(t,e,r){return m2(typeof t=="string"?$r(t):t,e,r)}function m2(t,e,r){return Ba(t,Ua(e),r)}function fl(t){return function(r,n,i){let o=Ua(i);typeof r!="function"&&(r=ml(r,o,n));let s=f2(n,o.adapter,r.shouldTestNextSiblings);return t(r,s,o)}}function f2(t,e,r=!1){return r&&(t=h2(t,e)),Array.isArray(t)?e.removeSubsets(t):e.getChildren(t)}function h2(t,e){let r=Array.isArray(t)?t.slice(0):[t],n=r.length;for(let i=0;i<n;i++){let o=di(r[i],e);r.push(...o)}return r}function Ce(t,e,r){return(typeof e=="function"?e:p2(e,r))(t)}var Xr,pl,d2,hl,Ia,Ha=A(()=>{Xr=Qe(Bt(),1);nr();Vu();dl();qt();Fa();pl=(t,e)=>t===e,d2={adapter:li,equals:pl};hl=fl((t,e,r)=>t===Xr.falseFunc||!e||e.length===0?[]:Ju(t,e,r)),Ia=fl((t,e,r)=>t===Xr.falseFunc||!e||e.length===0?null:or(t,e,r))});var gi=Ws((hi,Jr)=>{(function(t){var e=typeof hi=="object"&&hi,r=typeof Jr=="object"&&Jr&&Jr.exports==e&&Jr,n=typeof global=="object"&&global;(n.global===n||n.window===n)&&(t=n);var i=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,o=/[\x01-\x7F]/g,s=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,c=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,u={"\xAD":"shy","\u200C":"zwnj","\u200D":"zwj","\u200E":"lrm","\u2063":"ic","\u2062":"it","\u2061":"af","\u200F":"rlm","\u200B":"ZeroWidthSpace","\u2060":"NoBreak","\u0311":"DownBreve","\u20DB":"tdot","\u20DC":"DotDot"," ":"Tab","\n":"NewLine","\u2008":"puncsp","\u205F":"MediumSpace","\u2009":"thinsp","\u200A":"hairsp","\u2004":"emsp13","\u2002":"ensp","\u2005":"emsp14","\u2003":"emsp","\u2007":"numsp","\xA0":"nbsp","\u205F\u200A":"ThickSpace","\u203E":"oline",_:"lowbar","\u2010":"dash","\u2013":"ndash","\u2014":"mdash","\u2015":"horbar",",":"comma",";":"semi","\u204F":"bsemi",":":"colon","\u2A74":"Colone","!":"excl","\xA1":"iexcl","?":"quest","\xBF":"iquest",".":"period","\u2025":"nldr","\u2026":"mldr","\xB7":"middot","'":"apos","\u2018":"lsquo","\u2019":"rsquo","\u201A":"sbquo","\u2039":"lsaquo","\u203A":"rsaquo",'"':"quot","\u201C":"ldquo","\u201D":"rdquo","\u201E":"bdquo","\xAB":"laquo","\xBB":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","\u2308":"lceil","\u2309":"rceil","\u230A":"lfloor","\u230B":"rfloor","\u2985":"lopar","\u2986":"ropar","\u298B":"lbrke","\u298C":"rbrke","\u298D":"lbrkslu","\u298E":"rbrksld","\u298F":"lbrksld","\u2990":"rbrkslu","\u2991":"langd","\u2992":"rangd","\u2993":"lparlt","\u2994":"rpargt","\u2995":"gtlPar","\u2996":"ltrPar","\u27E6":"lobrk","\u27E7":"robrk","\u27E8":"lang","\u27E9":"rang","\u27EA":"Lang","\u27EB":"Rang","\u27EC":"loang","\u27ED":"roang","\u2772":"lbbrk","\u2773":"rbbrk","\u2016":"Vert","\xA7":"sect","\xB6":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","\u2030":"permil","\u2031":"pertenk","\u2020":"dagger","\u2021":"Dagger","\u2022":"bull","\u2043":"hybull","\u2032":"prime","\u2033":"Prime","\u2034":"tprime","\u2057":"qprime","\u2035":"bprime","\u2041":"caret","`":"grave","\xB4":"acute","\u02DC":"tilde","^":"Hat","\xAF":"macr","\u02D8":"breve","\u02D9":"dot","\xA8":"die","\u02DA":"ring","\u02DD":"dblac","\xB8":"cedil","\u02DB":"ogon","\u02C6":"circ","\u02C7":"caron","\xB0":"deg","\xA9":"copy","\xAE":"reg","\u2117":"copysr","\u2118":"wp","\u211E":"rx","\u2127":"mho","\u2129":"iiota","\u2190":"larr","\u219A":"nlarr","\u2192":"rarr","\u219B":"nrarr","\u2191":"uarr","\u2193":"darr","\u2194":"harr","\u21AE":"nharr","\u2195":"varr","\u2196":"nwarr","\u2197":"nearr","\u2198":"searr","\u2199":"swarr","\u219D":"rarrw","\u219D\u0338":"nrarrw","\u219E":"Larr","\u219F":"Uarr","\u21A0":"Rarr","\u21A1":"Darr","\u21A2":"larrtl","\u21A3":"rarrtl","\u21A4":"mapstoleft","\u21A5":"mapstoup","\u21A6":"map","\u21A7":"mapstodown","\u21A9":"larrhk","\u21AA":"rarrhk","\u21AB":"larrlp","\u21AC":"rarrlp","\u21AD":"harrw","\u21B0":"lsh","\u21B1":"rsh","\u21B2":"ldsh","\u21B3":"rdsh","\u21B5":"crarr","\u21B6":"cularr","\u21B7":"curarr","\u21BA":"olarr","\u21BB":"orarr","\u21BC":"lharu","\u21BD":"lhard","\u21BE":"uharr","\u21BF":"uharl","\u21C0":"rharu","\u21C1":"rhard","\u21C2":"dharr","\u21C3":"dharl","\u21C4":"rlarr","\u21C5":"udarr","\u21C6":"lrarr","\u21C7":"llarr","\u21C8":"uuarr","\u21C9":"rrarr","\u21CA":"ddarr","\u21CB":"lrhar","\u21CC":"rlhar","\u21D0":"lArr","\u21CD":"nlArr","\u21D1":"uArr","\u21D2":"rArr","\u21CF":"nrArr","\u21D3":"dArr","\u21D4":"iff","\u21CE":"nhArr","\u21D5":"vArr","\u21D6":"nwArr","\u21D7":"neArr","\u21D8":"seArr","\u21D9":"swArr","\u21DA":"lAarr","\u21DB":"rAarr","\u21DD":"zigrarr","\u21E4":"larrb","\u21E5":"rarrb","\u21F5":"duarr","\u21FD":"loarr","\u21FE":"roarr","\u21FF":"hoarr","\u2200":"forall","\u2201":"comp","\u2202":"part","\u2202\u0338":"npart","\u2203":"exist","\u2204":"nexist","\u2205":"empty","\u2207":"Del","\u2208":"in","\u2209":"notin","\u220B":"ni","\u220C":"notni","\u03F6":"bepsi","\u220F":"prod","\u2210":"coprod","\u2211":"sum","+":"plus","\xB1":"pm","\xF7":"div","\xD7":"times","<":"lt","\u226E":"nlt","<\u20D2":"nvlt","=":"equals","\u2260":"ne","=\u20E5":"bne","\u2A75":"Equal",">":"gt","\u226F":"ngt",">\u20D2":"nvgt","\xAC":"not","|":"vert","\xA6":"brvbar","\u2212":"minus","\u2213":"mp","\u2214":"plusdo","\u2044":"frasl","\u2216":"setmn","\u2217":"lowast","\u2218":"compfn","\u221A":"Sqrt","\u221D":"prop","\u221E":"infin","\u221F":"angrt","\u2220":"ang","\u2220\u20D2":"nang","\u2221":"angmsd","\u2222":"angsph","\u2223":"mid","\u2224":"nmid","\u2225":"par","\u2226":"npar","\u2227":"and","\u2228":"or","\u2229":"cap","\u2229\uFE00":"caps","\u222A":"cup","\u222A\uFE00":"cups","\u222B":"int","\u222C":"Int","\u222D":"tint","\u2A0C":"qint","\u222E":"oint","\u222F":"Conint","\u2230":"Cconint","\u2231":"cwint","\u2232":"cwconint","\u2233":"awconint","\u2234":"there4","\u2235":"becaus","\u2236":"ratio","\u2237":"Colon","\u2238":"minusd","\u223A":"mDDot","\u223B":"homtht","\u223C":"sim","\u2241":"nsim","\u223C\u20D2":"nvsim","\u223D":"bsim","\u223D\u0331":"race","\u223E":"ac","\u223E\u0333":"acE","\u223F":"acd","\u2240":"wr","\u2242":"esim","\u2242\u0338":"nesim","\u2243":"sime","\u2244":"nsime","\u2245":"cong","\u2247":"ncong","\u2246":"simne","\u2248":"ap","\u2249":"nap","\u224A":"ape","\u224B":"apid","\u224B\u0338":"napid","\u224C":"bcong","\u224D":"CupCap","\u226D":"NotCupCap","\u224D\u20D2":"nvap","\u224E":"bump","\u224E\u0338":"nbump","\u224F":"bumpe","\u224F\u0338":"nbumpe","\u2250":"doteq","\u2250\u0338":"nedot","\u2251":"eDot","\u2252":"efDot","\u2253":"erDot","\u2254":"colone","\u2255":"ecolon","\u2256":"ecir","\u2257":"cire","\u2259":"wedgeq","\u225A":"veeeq","\u225C":"trie","\u225F":"equest","\u2261":"equiv","\u2262":"nequiv","\u2261\u20E5":"bnequiv","\u2264":"le","\u2270":"nle","\u2264\u20D2":"nvle","\u2265":"ge","\u2271":"nge","\u2265\u20D2":"nvge","\u2266":"lE","\u2266\u0338":"nlE","\u2267":"gE","\u2267\u0338":"ngE","\u2268\uFE00":"lvnE","\u2268":"lnE","\u2269":"gnE","\u2269\uFE00":"gvnE","\u226A":"ll","\u226A\u0338":"nLtv","\u226A\u20D2":"nLt","\u226B":"gg","\u226B\u0338":"nGtv","\u226B\u20D2":"nGt","\u226C":"twixt","\u2272":"lsim","\u2274":"nlsim","\u2273":"gsim","\u2275":"ngsim","\u2276":"lg","\u2278":"ntlg","\u2277":"gl","\u2279":"ntgl","\u227A":"pr","\u2280":"npr","\u227B":"sc","\u2281":"nsc","\u227C":"prcue","\u22E0":"nprcue","\u227D":"sccue","\u22E1":"nsccue","\u227E":"prsim","\u227F":"scsim","\u227F\u0338":"NotSucceedsTilde","\u2282":"sub","\u2284":"nsub","\u2282\u20D2":"vnsub","\u2283":"sup","\u2285":"nsup","\u2283\u20D2":"vnsup","\u2286":"sube","\u2288":"nsube","\u2287":"supe","\u2289":"nsupe","\u228A\uFE00":"vsubne","\u228A":"subne","\u228B\uFE00":"vsupne","\u228B":"supne","\u228D":"cupdot","\u228E":"uplus","\u228F":"sqsub","\u228F\u0338":"NotSquareSubset","\u2290":"sqsup","\u2290\u0338":"NotSquareSuperset","\u2291":"sqsube","\u22E2":"nsqsube","\u2292":"sqsupe","\u22E3":"nsqsupe","\u2293":"sqcap","\u2293\uFE00":"sqcaps","\u2294":"sqcup","\u2294\uFE00":"sqcups","\u2295":"oplus","\u2296":"ominus","\u2297":"otimes","\u2298":"osol","\u2299":"odot","\u229A":"ocir","\u229B":"oast","\u229D":"odash","\u229E":"plusb","\u229F":"minusb","\u22A0":"timesb","\u22A1":"sdotb","\u22A2":"vdash","\u22AC":"nvdash","\u22A3":"dashv","\u22A4":"top","\u22A5":"bot","\u22A7":"models","\u22A8":"vDash","\u22AD":"nvDash","\u22A9":"Vdash","\u22AE":"nVdash","\u22AA":"Vvdash","\u22AB":"VDash","\u22AF":"nVDash","\u22B0":"prurel","\u22B2":"vltri","\u22EA":"nltri","\u22B3":"vrtri","\u22EB":"nrtri","\u22B4":"ltrie","\u22EC":"nltrie","\u22B4\u20D2":"nvltrie","\u22B5":"rtrie","\u22ED":"nrtrie","\u22B5\u20D2":"nvrtrie","\u22B6":"origof","\u22B7":"imof","\u22B8":"mumap","\u22B9":"hercon","\u22BA":"intcal","\u22BB":"veebar","\u22BD":"barvee","\u22BE":"angrtvb","\u22BF":"lrtri","\u22C0":"Wedge","\u22C1":"Vee","\u22C2":"xcap","\u22C3":"xcup","\u22C4":"diam","\u22C5":"sdot","\u22C6":"Star","\u22C7":"divonx","\u22C8":"bowtie","\u22C9":"ltimes","\u22CA":"rtimes","\u22CB":"lthree","\u22CC":"rthree","\u22CD":"bsime","\u22CE":"cuvee","\u22CF":"cuwed","\u22D0":"Sub","\u22D1":"Sup","\u22D2":"Cap","\u22D3":"Cup","\u22D4":"fork","\u22D5":"epar","\u22D6":"ltdot","\u22D7":"gtdot","\u22D8":"Ll","\u22D8\u0338":"nLl","\u22D9":"Gg","\u22D9\u0338":"nGg","\u22DA\uFE00":"lesg","\u22DA":"leg","\u22DB":"gel","\u22DB\uFE00":"gesl","\u22DE":"cuepr","\u22DF":"cuesc","\u22E6":"lnsim","\u22E7":"gnsim","\u22E8":"prnsim","\u22E9":"scnsim","\u22EE":"vellip","\u22EF":"ctdot","\u22F0":"utdot","\u22F1":"dtdot","\u22F2":"disin","\u22F3":"isinsv","\u22F4":"isins","\u22F5":"isindot","\u22F5\u0338":"notindot","\u22F6":"notinvc","\u22F7":"notinvb","\u22F9":"isinE","\u22F9\u0338":"notinE","\u22FA":"nisd","\u22FB":"xnis","\u22FC":"nis","\u22FD":"notnivc","\u22FE":"notnivb","\u2305":"barwed","\u2306":"Barwed","\u230C":"drcrop","\u230D":"dlcrop","\u230E":"urcrop","\u230F":"ulcrop","\u2310":"bnot","\u2312":"profline","\u2313":"profsurf","\u2315":"telrec","\u2316":"target","\u231C":"ulcorn","\u231D":"urcorn","\u231E":"dlcorn","\u231F":"drcorn","\u2322":"frown","\u2323":"smile","\u232D":"cylcty","\u232E":"profalar","\u2336":"topbot","\u233D":"ovbar","\u233F":"solbar","\u237C":"angzarr","\u23B0":"lmoust","\u23B1":"rmoust","\u23B4":"tbrk","\u23B5":"bbrk","\u23B6":"bbrktbrk","\u23DC":"OverParenthesis","\u23DD":"UnderParenthesis","\u23DE":"OverBrace","\u23DF":"UnderBrace","\u23E2":"trpezium","\u23E7":"elinters","\u2423":"blank","\u2500":"boxh","\u2502":"boxv","\u250C":"boxdr","\u2510":"boxdl","\u2514":"boxur","\u2518":"boxul","\u251C":"boxvr","\u2524":"boxvl","\u252C":"boxhd","\u2534":"boxhu","\u253C":"boxvh","\u2550":"boxH","\u2551":"boxV","\u2552":"boxdR","\u2553":"boxDr","\u2554":"boxDR","\u2555":"boxdL","\u2556":"boxDl","\u2557":"boxDL","\u2558":"boxuR","\u2559":"boxUr","\u255A":"boxUR","\u255B":"boxuL","\u255C":"boxUl","\u255D":"boxUL","\u255E":"boxvR","\u255F":"boxVr","\u2560":"boxVR","\u2561":"boxvL","\u2562":"boxVl","\u2563":"boxVL","\u2564":"boxHd","\u2565":"boxhD","\u2566":"boxHD","\u2567":"boxHu","\u2568":"boxhU","\u2569":"boxHU","\u256A":"boxvH","\u256B":"boxVh","\u256C":"boxVH","\u2580":"uhblk","\u2584":"lhblk","\u2588":"block","\u2591":"blk14","\u2592":"blk12","\u2593":"blk34","\u25A1":"squ","\u25AA":"squf","\u25AB":"EmptyVerySmallSquare","\u25AD":"rect","\u25AE":"marker","\u25B1":"fltns","\u25B3":"xutri","\u25B4":"utrif","\u25B5":"utri","\u25B8":"rtrif","\u25B9":"rtri","\u25BD":"xdtri","\u25BE":"dtrif","\u25BF":"dtri","\u25C2":"ltrif","\u25C3":"ltri","\u25CA":"loz","\u25CB":"cir","\u25EC":"tridot","\u25EF":"xcirc","\u25F8":"ultri","\u25F9":"urtri","\u25FA":"lltri","\u25FB":"EmptySmallSquare","\u25FC":"FilledSmallSquare","\u2605":"starf","\u2606":"star","\u260E":"phone","\u2640":"female","\u2642":"male","\u2660":"spades","\u2663":"clubs","\u2665":"hearts","\u2666":"diams","\u266A":"sung","\u2713":"check","\u2717":"cross","\u2720":"malt","\u2736":"sext","\u2758":"VerticalSeparator","\u27C8":"bsolhsub","\u27C9":"suphsol","\u27F5":"xlarr","\u27F6":"xrarr","\u27F7":"xharr","\u27F8":"xlArr","\u27F9":"xrArr","\u27FA":"xhArr","\u27FC":"xmap","\u27FF":"dzigrarr","\u2902":"nvlArr","\u2903":"nvrArr","\u2904":"nvHarr","\u2905":"Map","\u290C":"lbarr","\u290D":"rbarr","\u290E":"lBarr","\u290F":"rBarr","\u2910":"RBarr","\u2911":"DDotrahd","\u2912":"UpArrowBar","\u2913":"DownArrowBar","\u2916":"Rarrtl","\u2919":"latail","\u291A":"ratail","\u291B":"lAtail","\u291C":"rAtail","\u291D":"larrfs","\u291E":"rarrfs","\u291F":"larrbfs","\u2920":"rarrbfs","\u2923":"nwarhk","\u2924":"nearhk","\u2925":"searhk","\u2926":"swarhk","\u2927":"nwnear","\u2928":"toea","\u2929":"tosa","\u292A":"swnwar","\u2933":"rarrc","\u2933\u0338":"nrarrc","\u2935":"cudarrr","\u2936":"ldca","\u2937":"rdca","\u2938":"cudarrl","\u2939":"larrpl","\u293C":"curarrm","\u293D":"cularrp","\u2945":"rarrpl","\u2948":"harrcir","\u2949":"Uarrocir","\u294A":"lurdshar","\u294B":"ldrushar","\u294E":"LeftRightVector","\u294F":"RightUpDownVector","\u2950":"DownLeftRightVector","\u2951":"LeftUpDownVector","\u2952":"LeftVectorBar","\u2953":"RightVectorBar","\u2954":"RightUpVectorBar","\u2955":"RightDownVectorBar","\u2956":"DownLeftVectorBar","\u2957":"DownRightVectorBar","\u2958":"LeftUpVectorBar","\u2959":"LeftDownVectorBar","\u295A":"LeftTeeVector","\u295B":"RightTeeVector","\u295C":"RightUpTeeVector","\u295D":"RightDownTeeVector","\u295E":"DownLeftTeeVector","\u295F":"DownRightTeeVector","\u2960":"LeftUpTeeVector","\u2961":"LeftDownTeeVector","\u2962":"lHar","\u2963":"uHar","\u2964":"rHar","\u2965":"dHar","\u2966":"luruhar","\u2967":"ldrdhar","\u2968":"ruluhar","\u2969":"rdldhar","\u296A":"lharul","\u296B":"llhard","\u296C":"rharul","\u296D":"lrhard","\u296E":"udhar","\u296F":"duhar","\u2970":"RoundImplies","\u2971":"erarr","\u2972":"simrarr","\u2973":"larrsim","\u2974":"rarrsim","\u2975":"rarrap","\u2976":"ltlarr","\u2978":"gtrarr","\u2979":"subrarr","\u297B":"suplarr","\u297C":"lfisht","\u297D":"rfisht","\u297E":"ufisht","\u297F":"dfisht","\u299A":"vzigzag","\u299C":"vangrt","\u299D":"angrtvbd","\u29A4":"ange","\u29A5":"range","\u29A6":"dwangle","\u29A7":"uwangle","\u29A8":"angmsdaa","\u29A9":"angmsdab","\u29AA":"angmsdac","\u29AB":"angmsdad","\u29AC":"angmsdae","\u29AD":"angmsdaf","\u29AE":"angmsdag","\u29AF":"angmsdah","\u29B0":"bemptyv","\u29B1":"demptyv","\u29B2":"cemptyv","\u29B3":"raemptyv","\u29B4":"laemptyv","\u29B5":"ohbar","\u29B6":"omid","\u29B7":"opar","\u29B9":"operp","\u29BB":"olcross","\u29BC":"odsold","\u29BE":"olcir","\u29BF":"ofcir","\u29C0":"olt","\u29C1":"ogt","\u29C2":"cirscir","\u29C3":"cirE","\u29C4":"solb","\u29C5":"bsolb","\u29C9":"boxbox","\u29CD":"trisb","\u29CE":"rtriltri","\u29CF":"LeftTriangleBar","\u29CF\u0338":"NotLeftTriangleBar","\u29D0":"RightTriangleBar","\u29D0\u0338":"NotRightTriangleBar","\u29DC":"iinfin","\u29DD":"infintie","\u29DE":"nvinfin","\u29E3":"eparsl","\u29E4":"smeparsl","\u29E5":"eqvparsl","\u29EB":"lozf","\u29F4":"RuleDelayed","\u29F6":"dsol","\u2A00":"xodot","\u2A01":"xoplus","\u2A02":"xotime","\u2A04":"xuplus","\u2A06":"xsqcup","\u2A0D":"fpartint","\u2A10":"cirfnint","\u2A11":"awint","\u2A12":"rppolint","\u2A13":"scpolint","\u2A14":"npolint","\u2A15":"pointint","\u2A16":"quatint","\u2A17":"intlarhk","\u2A22":"pluscir","\u2A23":"plusacir","\u2A24":"simplus","\u2A25":"plusdu","\u2A26":"plussim","\u2A27":"plustwo","\u2A29":"mcomma","\u2A2A":"minusdu","\u2A2D":"loplus","\u2A2E":"roplus","\u2A2F":"Cross","\u2A30":"timesd","\u2A31":"timesbar","\u2A33":"smashp","\u2A34":"lotimes","\u2A35":"rotimes","\u2A36":"otimesas","\u2A37":"Otimes","\u2A38":"odiv","\u2A39":"triplus","\u2A3A":"triminus","\u2A3B":"tritime","\u2A3C":"iprod","\u2A3F":"amalg","\u2A40":"capdot","\u2A42":"ncup","\u2A43":"ncap","\u2A44":"capand","\u2A45":"cupor","\u2A46":"cupcap","\u2A47":"capcup","\u2A48":"cupbrcap","\u2A49":"capbrcup","\u2A4A":"cupcup","\u2A4B":"capcap","\u2A4C":"ccups","\u2A4D":"ccaps","\u2A50":"ccupssm","\u2A53":"And","\u2A54":"Or","\u2A55":"andand","\u2A56":"oror","\u2A57":"orslope","\u2A58":"andslope","\u2A5A":"andv","\u2A5B":"orv","\u2A5C":"andd","\u2A5D":"ord","\u2A5F":"wedbar","\u2A66":"sdote","\u2A6A":"simdot","\u2A6D":"congdot","\u2A6D\u0338":"ncongdot","\u2A6E":"easter","\u2A6F":"apacir","\u2A70":"apE","\u2A70\u0338":"napE","\u2A71":"eplus","\u2A72":"pluse","\u2A73":"Esim","\u2A77":"eDDot","\u2A78":"equivDD","\u2A79":"ltcir","\u2A7A":"gtcir","\u2A7B":"ltquest","\u2A7C":"gtquest","\u2A7D":"les","\u2A7D\u0338":"nles","\u2A7E":"ges","\u2A7E\u0338":"nges","\u2A7F":"lesdot","\u2A80":"gesdot","\u2A81":"lesdoto","\u2A82":"gesdoto","\u2A83":"lesdotor","\u2A84":"gesdotol","\u2A85":"lap","\u2A86":"gap","\u2A87":"lne","\u2A88":"gne","\u2A89":"lnap","\u2A8A":"gnap","\u2A8B":"lEg","\u2A8C":"gEl","\u2A8D":"lsime","\u2A8E":"gsime","\u2A8F":"lsimg","\u2A90":"gsiml","\u2A91":"lgE","\u2A92":"glE","\u2A93":"lesges","\u2A94":"gesles","\u2A95":"els","\u2A96":"egs","\u2A97":"elsdot","\u2A98":"egsdot","\u2A99":"el","\u2A9A":"eg","\u2A9D":"siml","\u2A9E":"simg","\u2A9F":"simlE","\u2AA0":"simgE","\u2AA1":"LessLess","\u2AA1\u0338":"NotNestedLessLess","\u2AA2":"GreaterGreater","\u2AA2\u0338":"NotNestedGreaterGreater","\u2AA4":"glj","\u2AA5":"gla","\u2AA6":"ltcc","\u2AA7":"gtcc","\u2AA8":"lescc","\u2AA9":"gescc","\u2AAA":"smt","\u2AAB":"lat","\u2AAC":"smte","\u2AAC\uFE00":"smtes","\u2AAD":"late","\u2AAD\uFE00":"lates","\u2AAE":"bumpE","\u2AAF":"pre","\u2AAF\u0338":"npre","\u2AB0":"sce","\u2AB0\u0338":"nsce","\u2AB3":"prE","\u2AB4":"scE","\u2AB5":"prnE","\u2AB6":"scnE","\u2AB7":"prap","\u2AB8":"scap","\u2AB9":"prnap","\u2ABA":"scnap","\u2ABB":"Pr","\u2ABC":"Sc","\u2ABD":"subdot","\u2ABE":"supdot","\u2ABF":"subplus","\u2AC0":"supplus","\u2AC1":"submult","\u2AC2":"supmult","\u2AC3":"subedot","\u2AC4":"supedot","\u2AC5":"subE","\u2AC5\u0338":"nsubE","\u2AC6":"supE","\u2AC6\u0338":"nsupE","\u2AC7":"subsim","\u2AC8":"supsim","\u2ACB\uFE00":"vsubnE","\u2ACB":"subnE","\u2ACC\uFE00":"vsupnE","\u2ACC":"supnE","\u2ACF":"csub","\u2AD0":"csup","\u2AD1":"csube","\u2AD2":"csupe","\u2AD3":"subsup","\u2AD4":"supsub","\u2AD5":"subsub","\u2AD6":"supsup","\u2AD7":"suphsub","\u2AD8":"supdsub","\u2AD9":"forkv","\u2ADA":"topfork","\u2ADB":"mlcp","\u2AE4":"Dashv","\u2AE6":"Vdashl","\u2AE7":"Barv","\u2AE8":"vBar","\u2AE9":"vBarv","\u2AEB":"Vbar","\u2AEC":"Not","\u2AED":"bNot","\u2AEE":"rnmid","\u2AEF":"cirmid","\u2AF0":"midcir","\u2AF1":"topcir","\u2AF2":"nhpar","\u2AF3":"parsim","\u2AFD":"parsl","\u2AFD\u20E5":"nparsl","\u266D":"flat","\u266E":"natur","\u266F":"sharp","\xA4":"curren","\xA2":"cent",$:"dollar","\xA3":"pound","\xA5":"yen","\u20AC":"euro","\xB9":"sup1","\xBD":"half","\u2153":"frac13","\xBC":"frac14","\u2155":"frac15","\u2159":"frac16","\u215B":"frac18","\xB2":"sup2","\u2154":"frac23","\u2156":"frac25","\xB3":"sup3","\xBE":"frac34","\u2157":"frac35","\u215C":"frac38","\u2158":"frac45","\u215A":"frac56","\u215D":"frac58","\u215E":"frac78","\u{1D4B6}":"ascr","\u{1D552}":"aopf","\u{1D51E}":"afr","\u{1D538}":"Aopf","\u{1D504}":"Afr","\u{1D49C}":"Ascr",\u00AA:"ordf",\u00E1:"aacute",\u00C1:"Aacute",\u00E0:"agrave",\u00C0:"Agrave",\u0103:"abreve",\u0102:"Abreve",\u00E2:"acirc",\u00C2:"Acirc",\u00E5:"aring",\u00C5:"angst",\u00E4:"auml",\u00C4:"Auml",\u00E3:"atilde",\u00C3:"Atilde",\u0105:"aogon",\u0104:"Aogon",\u0101:"amacr",\u0100:"Amacr",\u00E6:"aelig",\u00C6:"AElig","\u{1D4B7}":"bscr","\u{1D553}":"bopf","\u{1D51F}":"bfr","\u{1D539}":"Bopf",\u212C:"Bscr","\u{1D505}":"Bfr","\u{1D520}":"cfr","\u{1D4B8}":"cscr","\u{1D554}":"copf",\u212D:"Cfr","\u{1D49E}":"Cscr",\u2102:"Copf",\u0107:"cacute",\u0106:"Cacute",\u0109:"ccirc",\u0108:"Ccirc",\u010D:"ccaron",\u010C:"Ccaron",\u010B:"cdot",\u010A:"Cdot",\u00E7:"ccedil",\u00C7:"Ccedil","\u2105":"incare","\u{1D521}":"dfr","\u2146":"dd","\u{1D555}":"dopf","\u{1D4B9}":"dscr","\u{1D49F}":"Dscr","\u{1D507}":"Dfr","\u2145":"DD","\u{1D53B}":"Dopf",\u010F:"dcaron",\u010E:"Dcaron",\u0111:"dstrok",\u0110:"Dstrok",\u00F0:"eth",\u00D0:"ETH","\u2147":"ee",\u212F:"escr","\u{1D522}":"efr","\u{1D556}":"eopf",\u2130:"Escr","\u{1D508}":"Efr","\u{1D53C}":"Eopf",\u00E9:"eacute",\u00C9:"Eacute",\u00E8:"egrave",\u00C8:"Egrave",\u00EA:"ecirc",\u00CA:"Ecirc",\u011B:"ecaron",\u011A:"Ecaron",\u00EB:"euml",\u00CB:"Euml",\u0117:"edot",\u0116:"Edot",\u0119:"eogon",\u0118:"Eogon",\u0113:"emacr",\u0112:"Emacr","\u{1D523}":"ffr","\u{1D557}":"fopf","\u{1D4BB}":"fscr","\u{1D509}":"Ffr","\u{1D53D}":"Fopf",\u2131:"Fscr",\uFB00:"fflig",\uFB03:"ffilig",\uFB04:"ffllig",\uFB01:"filig",fj:"fjlig",\uFB02:"fllig",\u0192:"fnof",\u210A:"gscr","\u{1D558}":"gopf","\u{1D524}":"gfr","\u{1D4A2}":"Gscr","\u{1D53E}":"Gopf","\u{1D50A}":"Gfr",\u01F5:"gacute",\u011F:"gbreve",\u011E:"Gbreve",\u011D:"gcirc",\u011C:"Gcirc",\u0121:"gdot",\u0120:"Gdot",\u0122:"Gcedil","\u{1D525}":"hfr",\u210E:"planckh","\u{1D4BD}":"hscr","\u{1D559}":"hopf",\u210B:"Hscr",\u210C:"Hfr",\u210D:"Hopf",\u0125:"hcirc",\u0124:"Hcirc",\u210F:"hbar",\u0127:"hstrok",\u0126:"Hstrok","\u{1D55A}":"iopf","\u{1D526}":"ifr","\u{1D4BE}":"iscr","\u2148":"ii","\u{1D540}":"Iopf",\u2110:"Iscr",\u2111:"Im",\u00ED:"iacute",\u00CD:"Iacute",\u00EC:"igrave",\u00CC:"Igrave",\u00EE:"icirc",\u00CE:"Icirc",\u00EF:"iuml",\u00CF:"Iuml",\u0129:"itilde",\u0128:"Itilde",\u0130:"Idot",\u012F:"iogon",\u012E:"Iogon",\u012B:"imacr",\u012A:"Imacr",\u0133:"ijlig",\u0132:"IJlig",\u0131:"imath","\u{1D4BF}":"jscr","\u{1D55B}":"jopf","\u{1D527}":"jfr","\u{1D4A5}":"Jscr","\u{1D50D}":"Jfr","\u{1D541}":"Jopf",\u0135:"jcirc",\u0134:"Jcirc","\u0237":"jmath","\u{1D55C}":"kopf","\u{1D4C0}":"kscr","\u{1D528}":"kfr","\u{1D4A6}":"Kscr","\u{1D542}":"Kopf","\u{1D50E}":"Kfr",\u0137:"kcedil",\u0136:"Kcedil","\u{1D529}":"lfr","\u{1D4C1}":"lscr",\u2113:"ell","\u{1D55D}":"lopf",\u2112:"Lscr","\u{1D50F}":"Lfr","\u{1D543}":"Lopf",\u013A:"lacute",\u0139:"Lacute",\u013E:"lcaron",\u013D:"Lcaron",\u013C:"lcedil",\u013B:"Lcedil",\u0142:"lstrok",\u0141:"Lstrok",\u0140:"lmidot",\u013F:"Lmidot","\u{1D52A}":"mfr","\u{1D55E}":"mopf","\u{1D4C2}":"mscr","\u{1D510}":"Mfr","\u{1D544}":"Mopf",\u2133:"Mscr","\u{1D52B}":"nfr","\u{1D55F}":"nopf","\u{1D4C3}":"nscr",\u2115:"Nopf","\u{1D4A9}":"Nscr","\u{1D511}":"Nfr",\u0144:"nacute",\u0143:"Nacute",\u0148:"ncaron",\u0147:"Ncaron",\u00F1:"ntilde",\u00D1:"Ntilde",\u0146:"ncedil",\u0145:"Ncedil","\u2116":"numero",\u014B:"eng",\u014A:"ENG","\u{1D560}":"oopf","\u{1D52C}":"ofr",\u2134:"oscr","\u{1D4AA}":"Oscr","\u{1D512}":"Ofr","\u{1D546}":"Oopf",\u00BA:"ordm",\u00F3:"oacute",\u00D3:"Oacute",\u00F2:"ograve",\u00D2:"Ograve",\u00F4:"ocirc",\u00D4:"Ocirc",\u00F6:"ouml",\u00D6:"Ouml",\u0151:"odblac",\u0150:"Odblac",\u00F5:"otilde",\u00D5:"Otilde",\u00F8:"oslash",\u00D8:"Oslash",\u014D:"omacr",\u014C:"Omacr",\u0153:"oelig",\u0152:"OElig","\u{1D52D}":"pfr","\u{1D4C5}":"pscr","\u{1D561}":"popf",\u2119:"Popf","\u{1D513}":"Pfr","\u{1D4AB}":"Pscr","\u{1D562}":"qopf","\u{1D52E}":"qfr","\u{1D4C6}":"qscr","\u{1D4AC}":"Qscr","\u{1D514}":"Qfr",\u211A:"Qopf",\u0138:"kgreen","\u{1D52F}":"rfr","\u{1D563}":"ropf","\u{1D4C7}":"rscr",\u211B:"Rscr",\u211C:"Re",\u211D:"Ropf",\u0155:"racute",\u0154:"Racute",\u0159:"rcaron",\u0158:"Rcaron",\u0157:"rcedil",\u0156:"Rcedil","\u{1D564}":"sopf","\u{1D4C8}":"sscr","\u{1D530}":"sfr","\u{1D54A}":"Sopf","\u{1D516}":"Sfr","\u{1D4AE}":"Sscr","\u24C8":"oS",\u015B:"sacute",\u015A:"Sacute",\u015D:"scirc",\u015C:"Scirc",\u0161:"scaron",\u0160:"Scaron",\u015F:"scedil",\u015E:"Scedil",\u00DF:"szlig","\u{1D531}":"tfr","\u{1D4C9}":"tscr","\u{1D565}":"topf","\u{1D4AF}":"Tscr","\u{1D517}":"Tfr","\u{1D54B}":"Topf",\u0165:"tcaron",\u0164:"Tcaron",\u0163:"tcedil",\u0162:"Tcedil","\u2122":"trade",\u0167:"tstrok",\u0166:"Tstrok","\u{1D4CA}":"uscr","\u{1D566}":"uopf","\u{1D532}":"ufr","\u{1D54C}":"Uopf","\u{1D518}":"Ufr","\u{1D4B0}":"Uscr",\u00FA:"uacute",\u00DA:"Uacute",\u00F9:"ugrave",\u00D9:"Ugrave",\u016D:"ubreve",\u016C:"Ubreve",\u00FB:"ucirc",\u00DB:"Ucirc",\u016F:"uring",\u016E:"Uring",\u00FC:"uuml",\u00DC:"Uuml",\u0171:"udblac",\u0170:"Udblac",\u0169:"utilde",\u0168:"Utilde",\u0173:"uogon",\u0172:"Uogon",\u016B:"umacr",\u016A:"Umacr","\u{1D533}":"vfr","\u{1D567}":"vopf","\u{1D4CB}":"vscr","\u{1D519}":"Vfr","\u{1D54D}":"Vopf","\u{1D4B1}":"Vscr","\u{1D568}":"wopf","\u{1D4CC}":"wscr","\u{1D534}":"wfr","\u{1D4B2}":"Wscr","\u{1D54E}":"Wopf","\u{1D51A}":"Wfr",\u0175:"wcirc",\u0174:"Wcirc","\u{1D535}":"xfr","\u{1D4CD}":"xscr","\u{1D569}":"xopf","\u{1D54F}":"Xopf","\u{1D51B}":"Xfr","\u{1D4B3}":"Xscr","\u{1D536}":"yfr","\u{1D4CE}":"yscr","\u{1D56A}":"yopf","\u{1D4B4}":"Yscr","\u{1D51C}":"Yfr","\u{1D550}":"Yopf",\u00FD:"yacute",\u00DD:"Yacute",\u0177:"ycirc",\u0176:"Ycirc",\u00FF:"yuml",\u0178:"Yuml","\u{1D4CF}":"zscr","\u{1D537}":"zfr","\u{1D56B}":"zopf",\u2128:"Zfr",\u2124:"Zopf","\u{1D4B5}":"Zscr",\u017A:"zacute",\u0179:"Zacute",\u017E:"zcaron",\u017D:"Zcaron",\u017C:"zdot",\u017B:"Zdot",\u01B5:"imped",\u00FE:"thorn",\u00DE:"THORN",\u0149:"napos",\u03B1:"alpha",\u0391:"Alpha",\u03B2:"beta",\u0392:"Beta",\u03B3:"gamma",\u0393:"Gamma",\u03B4:"delta",\u0394:"Delta",\u03B5:"epsi","\u03F5":"epsiv",\u0395:"Epsilon",\u03DD:"gammad",\u03DC:"Gammad",\u03B6:"zeta",\u0396:"Zeta",\u03B7:"eta",\u0397:"Eta",\u03B8:"theta",\u03D1:"thetav",\u0398:"Theta",\u03B9:"iota",\u0399:"Iota",\u03BA:"kappa",\u03F0:"kappav",\u039A:"Kappa",\u03BB:"lambda",\u039B:"Lambda",\u03BC:"mu",\u00B5:"micro",\u039C:"Mu",\u03BD:"nu",\u039D:"Nu",\u03BE:"xi",\u039E:"Xi",\u03BF:"omicron",\u039F:"Omicron",\u03C0:"pi",\u03D6:"piv",\u03A0:"Pi",\u03C1:"rho",\u03F1:"rhov",\u03A1:"Rho",\u03C3:"sigma",\u03A3:"Sigma",\u03C2:"sigmaf",\u03C4:"tau",\u03A4:"Tau",\u03C5:"upsi",\u03A5:"Upsilon",\u03D2:"Upsi",\u03C6:"phi",\u03D5:"phiv",\u03A6:"Phi",\u03C7:"chi",\u03A7:"Chi",\u03C8:"psi",\u03A8:"Psi",\u03C9:"omega",\u03A9:"ohm",\u0430:"acy",\u0410:"Acy",\u0431:"bcy",\u0411:"Bcy",\u0432:"vcy",\u0412:"Vcy",\u0433:"gcy",\u0413:"Gcy",\u0453:"gjcy",\u0403:"GJcy",\u0434:"dcy",\u0414:"Dcy",\u0452:"djcy",\u0402:"DJcy",\u0435:"iecy",\u0415:"IEcy",\u0451:"iocy",\u0401:"IOcy",\u0454:"jukcy",\u0404:"Jukcy",\u0436:"zhcy",\u0416:"ZHcy",\u0437:"zcy",\u0417:"Zcy",\u0455:"dscy",\u0405:"DScy",\u0438:"icy",\u0418:"Icy",\u0456:"iukcy",\u0406:"Iukcy",\u0457:"yicy",\u0407:"YIcy",\u0439:"jcy",\u0419:"Jcy",\u0458:"jsercy",\u0408:"Jsercy",\u043A:"kcy",\u041A:"Kcy",\u045C:"kjcy",\u040C:"KJcy",\u043B:"lcy",\u041B:"Lcy",\u0459:"ljcy",\u0409:"LJcy",\u043C:"mcy",\u041C:"Mcy",\u043D:"ncy",\u041D:"Ncy",\u045A:"njcy",\u040A:"NJcy",\u043E:"ocy",\u041E:"Ocy",\u043F:"pcy",\u041F:"Pcy",\u0440:"rcy",\u0420:"Rcy",\u0441:"scy",\u0421:"Scy",\u0442:"tcy",\u0422:"Tcy",\u045B:"tshcy",\u040B:"TSHcy",\u0443:"ucy",\u0423:"Ucy",\u045E:"ubrcy",\u040E:"Ubrcy",\u0444:"fcy",\u0424:"Fcy",\u0445:"khcy",\u0425:"KHcy",\u0446:"tscy",\u0426:"TScy",\u0447:"chcy",\u0427:"CHcy",\u045F:"dzcy",\u040F:"DZcy",\u0448:"shcy",\u0428:"SHcy",\u0449:"shchcy",\u0429:"SHCHcy",\u044A:"hardcy",\u042A:"HARDcy",\u044B:"ycy",\u042B:"Ycy",\u044C:"softcy",\u042C:"SOFTcy",\u044D:"ecy",\u042D:"Ecy",\u044E:"yucy",\u042E:"YUcy",\u044F:"yacy",\u042F:"YAcy",\u2135:"aleph",\u2136:"beth",\u2137:"gimel",\u2138:"daleth"},l=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},p=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,m=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,f=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,h={aacute:"\xE1",Aacute:"\xC1",abreve:"\u0103",Abreve:"\u0102",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",acirc:"\xE2",Acirc:"\xC2",acute:"\xB4",acy:"\u0430",Acy:"\u0410",aelig:"\xE6",AElig:"\xC6",af:"\u2061",afr:"\u{1D51E}",Afr:"\u{1D504}",agrave:"\xE0",Agrave:"\xC0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",Alpha:"\u0391",amacr:"\u0101",Amacr:"\u0100",amalg:"\u2A3F",amp:"&",AMP:"&",and:"\u2227",And:"\u2A53",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",Aogon:"\u0104",aopf:"\u{1D552}",Aopf:"\u{1D538}",ap:"\u2248",apacir:"\u2A6F",ape:"\u224A",apE:"\u2A70",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",Aring:"\xC5",ascr:"\u{1D4B6}",Ascr:"\u{1D49C}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",Atilde:"\xC3",auml:"\xE4",Auml:"\xC4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",Bcy:"\u0411",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",beta:"\u03B2",Beta:"\u0392",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",Bfr:"\u{1D505}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bNot:"\u2AED",bopf:"\u{1D553}",Bopf:"\u{1D539}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxhD:"\u2565",boxHd:"\u2564",boxHD:"\u2566",boxhu:"\u2534",boxhU:"\u2568",boxHu:"\u2567",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpe:"\u224F",bumpE:"\u2AAE",bumpeq:"\u224F",Bumpeq:"\u224E",cacute:"\u0107",Cacute:"\u0106",cap:"\u2229",Cap:"\u22D2",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",ccaron:"\u010D",Ccaron:"\u010C",ccedil:"\xE7",Ccedil:"\xC7",ccirc:"\u0109",Ccirc:"\u0108",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",Cdot:"\u010A",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",chcy:"\u0447",CHcy:"\u0427",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",Chi:"\u03A7",cir:"\u25CB",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cire:"\u2257",cirE:"\u29C3",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",colone:"\u2254",Colone:"\u2A74",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",cscr:"\u{1D4B8}",Cscr:"\u{1D49E}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",Cup:"\u22D3",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",dArr:"\u21D3",Darr:"\u21A1",dash:"\u2010",dashv:"\u22A3",Dashv:"\u2AE4",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",Dcaron:"\u010E",dcy:"\u0434",Dcy:"\u0414",dd:"\u2146",DD:"\u2145",ddagger:"\u2021",ddarr:"\u21CA",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",delta:"\u03B4",Delta:"\u0394",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",Dfr:"\u{1D507}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",DJcy:"\u0402",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",Dopf:"\u{1D53B}",dot:"\u02D9",Dot:"\xA8",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",downarrow:"\u2193",Downarrow:"\u21D3",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",Dscr:"\u{1D49F}",dscy:"\u0455",DScy:"\u0405",dsol:"\u29F6",dstrok:"\u0111",Dstrok:"\u0110",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",DZcy:"\u040F",dzigrarr:"\u27FF",eacute:"\xE9",Eacute:"\xC9",easter:"\u2A6E",ecaron:"\u011B",Ecaron:"\u011A",ecir:"\u2256",ecirc:"\xEA",Ecirc:"\xCA",ecolon:"\u2255",ecy:"\u044D",Ecy:"\u042D",eDDot:"\u2A77",edot:"\u0117",eDot:"\u2251",Edot:"\u0116",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",Efr:"\u{1D508}",eg:"\u2A9A",egrave:"\xE8",Egrave:"\xC8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",Emacr:"\u0112",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp:"\u2003",emsp13:"\u2004",emsp14:"\u2005",eng:"\u014B",ENG:"\u014A",ensp:"\u2002",eogon:"\u0119",Eogon:"\u0118",eopf:"\u{1D556}",Eopf:"\u{1D53C}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",Epsilon:"\u0395",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",esim:"\u2242",Esim:"\u2A73",eta:"\u03B7",Eta:"\u0397",eth:"\xF0",ETH:"\xD0",euml:"\xEB",Euml:"\xCB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",Fcy:"\u0424",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",Ffr:"\u{1D509}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",Fopf:"\u{1D53D}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",gamma:"\u03B3",Gamma:"\u0393",gammad:"\u03DD",Gammad:"\u03DC",gap:"\u2A86",gbreve:"\u011F",Gbreve:"\u011E",Gcedil:"\u0122",gcirc:"\u011D",Gcirc:"\u011C",gcy:"\u0433",Gcy:"\u0413",gdot:"\u0121",Gdot:"\u0120",ge:"\u2265",gE:"\u2267",gel:"\u22DB",gEl:"\u2A8C",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",Gfr:"\u{1D50A}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",GJcy:"\u0403",gl:"\u2277",gla:"\u2AA5",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",Gopf:"\u{1D53E}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",gscr:"\u210A",Gscr:"\u{1D4A2}",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",Gt:"\u226B",GT:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",HARDcy:"\u042A",harr:"\u2194",hArr:"\u21D4",harrcir:"\u2948",harrw:"\u21AD",Hat:"^",hbar:"\u210F",hcirc:"\u0125",Hcirc:"\u0124",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",hstrok:"\u0127",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",Iacute:"\xCD",ic:"\u2063",icirc:"\xEE",Icirc:"\xCE",icy:"\u0438",Icy:"\u0418",Idot:"\u0130",iecy:"\u0435",IEcy:"\u0415",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",igrave:"\xEC",Igrave:"\xCC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",IJlig:"\u0132",Im:"\u2111",imacr:"\u012B",Imacr:"\u012A",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",Int:"\u222C",intcal:"\u22BA",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",iocy:"\u0451",IOcy:"\u0401",iogon:"\u012F",Iogon:"\u012E",iopf:"\u{1D55A}",Iopf:"\u{1D540}",iota:"\u03B9",Iota:"\u0399",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",Itilde:"\u0128",iukcy:"\u0456",Iukcy:"\u0406",iuml:"\xEF",Iuml:"\xCF",jcirc:"\u0135",Jcirc:"\u0134",jcy:"\u0439",Jcy:"\u0419",jfr:"\u{1D527}",Jfr:"\u{1D50D}",jmath:"\u0237",jopf:"\u{1D55B}",Jopf:"\u{1D541}",jscr:"\u{1D4BF}",Jscr:"\u{1D4A5}",jsercy:"\u0458",Jsercy:"\u0408",jukcy:"\u0454",Jukcy:"\u0404",kappa:"\u03BA",Kappa:"\u039A",kappav:"\u03F0",kcedil:"\u0137",Kcedil:"\u0136",kcy:"\u043A",Kcy:"\u041A",kfr:"\u{1D528}",Kfr:"\u{1D50E}",kgreen:"\u0138",khcy:"\u0445",KHcy:"\u0425",kjcy:"\u045C",KJcy:"\u040C",kopf:"\u{1D55C}",Kopf:"\u{1D542}",kscr:"\u{1D4C0}",Kscr:"\u{1D4A6}",lAarr:"\u21DA",lacute:"\u013A",Lacute:"\u0139",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",Lambda:"\u039B",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larr:"\u2190",lArr:"\u21D0",Larr:"\u219E",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",lAtail:"\u291B",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",Lcaron:"\u013D",lcedil:"\u013C",Lcedil:"\u013B",lceil:"\u2308",lcub:"{",lcy:"\u043B",Lcy:"\u041B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",leftarrow:"\u2190",Leftarrow:"\u21D0",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",Leftrightarrow:"\u21D4",LeftRightArrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",leg:"\u22DA",lEg:"\u2A8B",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",Lfr:"\u{1D50F}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",LJcy:"\u0409",ll:"\u226A",Ll:"\u22D8",llarr:"\u21C7",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",Lmidot:"\u013F",lmoust:"\u23B0",lmoustache:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",Longleftarrow:"\u27F8",LongLeftArrow:"\u27F5",longleftrightarrow:"\u27F7",Longleftrightarrow:"\u27FA",LongLeftRightArrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",Longrightarrow:"\u27F9",LongRightArrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",Lopf:"\u{1D543}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",Lstrok:"\u0141",lt:"<",Lt:"\u226A",LT:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",Map:"\u2905",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",Mcy:"\u041C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",mfr:"\u{1D52A}",Mfr:"\u{1D510}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",Mopf:"\u{1D544}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",mu:"\u03BC",Mu:"\u039C",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",nacute:"\u0144",Nacute:"\u0143",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",Ncaron:"\u0147",ncedil:"\u0146",Ncedil:"\u0145",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",Ncy:"\u041D",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:`
|
|
43
|
+
`,nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",Nfr:"\u{1D511}",nge:"\u2271",ngE:"\u2267\u0338",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",ngt:"\u226F",nGt:"\u226B\u20D2",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",NJcy:"\u040A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nle:"\u2270",nlE:"\u2266\u0338",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nlt:"\u226E",nLt:"\u226A\u20D2",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",not:"\xAC",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",Nscr:"\u{1D4A9}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsube:"\u2288",nsubE:"\u2AC5\u0338",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupe:"\u2289",nsupE:"\u2AC6\u0338",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",Ntilde:"\xD1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",Nu:"\u039D",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",oacute:"\xF3",Oacute:"\xD3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",Ocirc:"\xD4",ocy:"\u043E",Ocy:"\u041E",odash:"\u229D",odblac:"\u0151",Odblac:"\u0150",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",OElig:"\u0152",ofcir:"\u29BF",ofr:"\u{1D52C}",Ofr:"\u{1D512}",ogon:"\u02DB",ograve:"\xF2",Ograve:"\xD2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",Omacr:"\u014C",omega:"\u03C9",Omega:"\u03A9",omicron:"\u03BF",Omicron:"\u039F",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",Oopf:"\u{1D546}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",or:"\u2228",Or:"\u2A54",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",oscr:"\u2134",Oscr:"\u{1D4AA}",oslash:"\xF8",Oslash:"\xD8",osol:"\u2298",otilde:"\xF5",Otilde:"\xD5",otimes:"\u2297",Otimes:"\u2A37",otimesas:"\u2A36",ouml:"\xF6",Ouml:"\xD6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",pcy:"\u043F",Pcy:"\u041F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",Pfr:"\u{1D513}",phi:"\u03C6",Phi:"\u03A6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",Pi:"\u03A0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",pr:"\u227A",Pr:"\u2ABB",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prE:"\u2AB3",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportion:"\u2237",Proportional:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",Pscr:"\u{1D4AB}",psi:"\u03C8",Psi:"\u03A8",puncsp:"\u2008",qfr:"\u{1D52E}",Qfr:"\u{1D514}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",qscr:"\u{1D4C6}",Qscr:"\u{1D4AC}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",racute:"\u0155",Racute:"\u0154",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rArr:"\u21D2",Rarr:"\u21A0",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",Rarrtl:"\u2916",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",Rcaron:"\u0158",rcedil:"\u0157",Rcedil:"\u0156",rceil:"\u2309",rcub:"}",rcy:"\u0440",Rcy:"\u0420",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",Re:"\u211C",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",Rho:"\u03A1",rhov:"\u03F1",RightAngleBracket:"\u27E9",rightarrow:"\u2192",Rightarrow:"\u21D2",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",Sacute:"\u015A",sbquo:"\u201A",sc:"\u227B",Sc:"\u2ABC",scap:"\u2AB8",scaron:"\u0161",Scaron:"\u0160",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",scedil:"\u015F",Scedil:"\u015E",scirc:"\u015D",Scirc:"\u015C",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",Scy:"\u0421",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",Sfr:"\u{1D516}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",SHCHcy:"\u0429",shcy:"\u0448",SHcy:"\u0428",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",sigma:"\u03C3",Sigma:"\u03A3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",SOFTcy:"\u042C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",Sopf:"\u{1D54A}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",Sscr:"\u{1D4AE}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",Star:"\u22C6",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",sube:"\u2286",subE:"\u2AC5",subedot:"\u2AC3",submult:"\u2AC1",subne:"\u228A",subnE:"\u2ACB",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup:"\u2283",Sup:"\u22D1",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supE:"\u2AC6",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supne:"\u228B",supnE:"\u2ACC",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",tau:"\u03C4",Tau:"\u03A4",tbrk:"\u23B4",tcaron:"\u0165",Tcaron:"\u0164",tcedil:"\u0163",Tcedil:"\u0162",tcy:"\u0442",Tcy:"\u0422",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",Tfr:"\u{1D517}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",theta:"\u03B8",Theta:"\u0398",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",THORN:"\xDE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",Topf:"\u{1D54B}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",Tscr:"\u{1D4AF}",tscy:"\u0446",TScy:"\u0426",tshcy:"\u045B",TSHcy:"\u040B",tstrok:"\u0167",Tstrok:"\u0166",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uacute:"\xFA",Uacute:"\xDA",uarr:"\u2191",uArr:"\u21D1",Uarr:"\u219F",Uarrocir:"\u2949",ubrcy:"\u045E",Ubrcy:"\u040E",ubreve:"\u016D",Ubreve:"\u016C",ucirc:"\xFB",Ucirc:"\xDB",ucy:"\u0443",Ucy:"\u0423",udarr:"\u21C5",udblac:"\u0171",Udblac:"\u0170",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",Ufr:"\u{1D518}",ugrave:"\xF9",Ugrave:"\xD9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",Umacr:"\u016A",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",uogon:"\u0173",Uogon:"\u0172",uopf:"\u{1D566}",Uopf:"\u{1D54C}",uparrow:"\u2191",Uparrow:"\u21D1",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",Updownarrow:"\u21D5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",upsilon:"\u03C5",Upsilon:"\u03A5",UpTee:"\u22A5",UpTeeArrow:"\u21A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",Uring:"\u016E",urtri:"\u25F9",uscr:"\u{1D4CA}",Uscr:"\u{1D4B0}",utdot:"\u22F0",utilde:"\u0169",Utilde:"\u0168",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",Uuml:"\xDC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",vcy:"\u0432",Vcy:"\u0412",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",vee:"\u2228",Vee:"\u22C1",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",vfr:"\u{1D533}",Vfr:"\u{1D519}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",Vopf:"\u{1D54D}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",Vscr:"\u{1D4B1}",vsubne:"\u228A\uFE00",vsubnE:"\u2ACB\uFE00",vsupne:"\u228B\uFE00",vsupnE:"\u2ACC\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",wcirc:"\u0175",Wcirc:"\u0174",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",Wfr:"\u{1D51A}",wopf:"\u{1D568}",Wopf:"\u{1D54E}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",Wscr:"\u{1D4B2}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",Xfr:"\u{1D51B}",xharr:"\u27F7",xhArr:"\u27FA",xi:"\u03BE",Xi:"\u039E",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",Xopf:"\u{1D54F}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",xscr:"\u{1D4CD}",Xscr:"\u{1D4B3}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",Yacute:"\xDD",yacy:"\u044F",YAcy:"\u042F",ycirc:"\u0177",Ycirc:"\u0176",ycy:"\u044B",Ycy:"\u042B",yen:"\xA5",yfr:"\u{1D536}",Yfr:"\u{1D51C}",yicy:"\u0457",YIcy:"\u0407",yopf:"\u{1D56A}",Yopf:"\u{1D550}",yscr:"\u{1D4CE}",Yscr:"\u{1D4B4}",yucy:"\u044E",YUcy:"\u042E",yuml:"\xFF",Yuml:"\u0178",zacute:"\u017A",Zacute:"\u0179",zcaron:"\u017E",Zcaron:"\u017D",zcy:"\u0437",Zcy:"\u0417",zdot:"\u017C",Zdot:"\u017B",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",zeta:"\u03B6",Zeta:"\u0396",zfr:"\u{1D537}",Zfr:"\u2128",zhcy:"\u0436",ZHcy:"\u0416",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",zscr:"\u{1D4CF}",Zscr:"\u{1D4B5}",zwj:"\u200D",zwnj:"\u200C"},g={aacute:"\xE1",Aacute:"\xC1",acirc:"\xE2",Acirc:"\xC2",acute:"\xB4",aelig:"\xE6",AElig:"\xC6",agrave:"\xE0",Agrave:"\xC0",amp:"&",AMP:"&",aring:"\xE5",Aring:"\xC5",atilde:"\xE3",Atilde:"\xC3",auml:"\xE4",Auml:"\xC4",brvbar:"\xA6",ccedil:"\xE7",Ccedil:"\xC7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",COPY:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",eacute:"\xE9",Eacute:"\xC9",ecirc:"\xEA",Ecirc:"\xCA",egrave:"\xE8",Egrave:"\xC8",eth:"\xF0",ETH:"\xD0",euml:"\xEB",Euml:"\xCB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",GT:">",iacute:"\xED",Iacute:"\xCD",icirc:"\xEE",Icirc:"\xCE",iexcl:"\xA1",igrave:"\xEC",Igrave:"\xCC",iquest:"\xBF",iuml:"\xEF",Iuml:"\xCF",laquo:"\xAB",lt:"<",LT:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",ntilde:"\xF1",Ntilde:"\xD1",oacute:"\xF3",Oacute:"\xD3",ocirc:"\xF4",Ocirc:"\xD4",ograve:"\xF2",Ograve:"\xD2",ordf:"\xAA",ordm:"\xBA",oslash:"\xF8",Oslash:"\xD8",otilde:"\xF5",Otilde:"\xD5",ouml:"\xF6",Ouml:"\xD6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',QUOT:'"',raquo:"\xBB",reg:"\xAE",REG:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",thorn:"\xFE",THORN:"\xDE",times:"\xD7",uacute:"\xFA",Uacute:"\xDA",ucirc:"\xFB",Ucirc:"\xDB",ugrave:"\xF9",Ugrave:"\xD9",uml:"\xA8",uuml:"\xFC",Uuml:"\xDC",yacute:"\xFD",Yacute:"\xDD",yen:"\xA5",yuml:"\xFF"},y={0:"\uFFFD",128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"},C=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],b=String.fromCharCode,w={},x=w.hasOwnProperty,v=function(E,M){return x.call(E,M)},T=function(E,M){for(var B=-1,H=E.length;++B<H;)if(E[B]==M)return!0;return!1},k=function(E,M){if(!E)return M;var B={},H;for(H in M)B[H]=v(E,H)?E[H]:M[H];return B},S=function(E,M){var B="";return E>=55296&&E<=57343||E>1114111?(M&&R("character reference outside the permissible Unicode range"),"\uFFFD"):v(y,E)?(M&&R("disallowed character reference"),y[E]):(M&&T(C,E)&&R("disallowed character reference"),E>65535&&(E-=65536,B+=b(E>>>10&1023|55296),E=56320|E&1023),B+=b(E),B)},P=function(E){return"&#x"+E.toString(16).toUpperCase()+";"},q=function(E){return"&#"+E+";"},R=function(E){throw Error("Parse error: "+E)},O=function(E,M){M=k(M,O.options);var B=M.strict;B&&m.test(E)&&R("forbidden code point");var H=M.encodeEverything,F=M.useNamedReferences,oe=M.allowUnsafeSymbols,ee=M.decimal?q:P,Ie=function(ne){return ee(ne.charCodeAt(0))};return H?(E=E.replace(o,function(ne){return F&&v(u,ne)?"&"+u[ne]+";":Ie(ne)}),F&&(E=E.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),F&&(E=E.replace(c,function(ne){return"&"+u[ne]+";"}))):F?(oe||(E=E.replace(l,function(ne){return"&"+u[ne]+";"})),E=E.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),E=E.replace(c,function(ne){return"&"+u[ne]+";"})):oe||(E=E.replace(l,Ie)),E.replace(i,function(ne){var Xe=ne.charCodeAt(0),je=ne.charCodeAt(1),He=(Xe-55296)*1024+je-56320+65536;return ee(He)}).replace(s,Ie)};O.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var W=function(E,M){M=k(M,W.options);var B=M.strict;return B&&p.test(E)&&R("malformed character reference"),E.replace(f,function(H,F,oe,ee,Ie,ne,Xe,je,He){var Je,_e,Vt,yn,At,Gt;return F?(At=F,h[At]):oe?(At=oe,Gt=ee,Gt&&M.isAttributeValue?(B&&Gt=="="&&R("`&` did not start a character reference"),H):(B&&R("named character reference was not terminated by a semicolon"),g[At]+(Gt||""))):Ie?(Vt=Ie,_e=ne,B&&!_e&&R("character reference was not terminated by a semicolon"),Je=parseInt(Vt,10),S(Je,B)):Xe?(yn=Xe,_e=je,B&&!_e&&R("character reference was not terminated by a semicolon"),Je=parseInt(yn,16),S(Je,B)):(B&&R("named character reference was not terminated by a semicolon"),H)})};W.options={isAttributeValue:!1,strict:!1};var z=function(E){return E.replace(l,function(M){return d[M]})},I={version:"1.2.0",encode:O,decode:W,escape:z,unescape:W};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd)define(function(){return I});else if(e&&!e.nodeType)if(r)r.exports=I;else for(var _ in I)v(I,_)&&(e[_]=I[_]);else t.he=I})(hi)});var qa,Be,Qr=A(()=>{"use strict";qa=Qe(gi(),1),Be=class{parentNode;childNodes=[];range=[-1,-1];constructor(e=null,r){this.parentNode=e,r&&(this.range=r)}remove(){if(this.parentNode){typeof this.parentNode.invalidateSelectorCacheRecursively=="function"&&this.parentNode.invalidateSelectorCacheRecursively();let e=this.parentNode.childNodes;this.parentNode.childNodes=e.filter(r=>this!==r),this.parentNode=null}return this}invalidateSelectorCacheRecursively(){}get innerText(){return this.rawText}get textContent(){return qa.default.decode(this.rawText)}set textContent(e){this.rawText=qa.default.encode(e)}}});var $a,j,lr=A(()=>{"use strict";(function(t){t[t.ELEMENT_NODE=1]="ELEMENT_NODE",t[t.TEXT_NODE=3]="TEXT_NODE",t[t.COMMENT_NODE=8]="COMMENT_NODE"})($a||($a={}));j=$a});var $t,Oa=A(()=>{"use strict";Qr();lr();$t=class t extends Be{rawText;rawTagName;clone(){return new t(this.rawText,null,void 0,this.rawTagName)}constructor(e,r=null,n,i="!--"){super(r,n),this.rawText=e,this.rawTagName=i}nodeType=j.COMMENT_NODE;get text(){return this.rawText}toString(){return`<!--${this.rawText}-->`}}});function xt(t){return t[t.length-1]}var gl=A(()=>{"use strict"});function yi(t){return!!t&&t.nodeType===j.ELEMENT_NODE}function yl(t,e){return yi(t)?t.getAttribute(e):void 0}function g2(t){return(t&&t.rawTagName||"").toLowerCase()}function Yr(t){return t&&t.childNodes}function za(t){return t?t.parentNode:null}function y2(t){return t.text}function b2(t){let e=t.length,r,n,i;for(;--e>-1;){for(r=n=t[e],t[e]=null,i=!0;n;){if(t.indexOf(n)>-1){i=!1,t.splice(e,1);break}n=za(n)}i&&(t[e]=r)}return t}function bl(t,e){return e.some(r=>yi(r)?t(r)||bl(t,Yr(r)):!1)}function v2(t){let e=za(t);return e?Yr(e):[]}function w2(t,e){return yl(t,e)!==void 0}function vl(t,e){let r=null;for(let n=0,i=e==null?void 0:e.length;n<i&&!r;n++){let o=e[n];if(t(o))r=o;else{let s=Yr(o);s&&s.length>0&&(r=vl(t,s))}}return r}function wl(t,e){let r=[];for(let n=0,i=e.length;n<i;n++){if(!yi(e[n]))continue;t(e[n])&&r.push(e[n]);let o=Yr(e[n]);o&&(r=r.concat(wl(t,o)))}return r}var le,ja=A(()=>{"use strict";lr();le={isTag:yi,getAttributeValue:yl,getName:g2,getChildren:Yr,getParent:za,getText:y2,removeSubsets:b2,existsOne:bl,getSiblings:v2,hasAttrib:w2,findOne:vl,findAll:wl}});var dr,xl=A(()=>{"use strict";dr=class{addClosingSlash;voidTags;constructor(e=!1,r){this.addClosingSlash=e,Array.isArray(r)?this.voidTags=r.reduce((n,i)=>n.add(i.toLowerCase()).add(i.toUpperCase()).add(i),new Set):this.voidTags=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"].reduce((n,i)=>n.add(i.toLowerCase()).add(i.toUpperCase()).add(i),new Set)}formatNode(e,r,n){let i=this.addClosingSlash,o=i&&r&&!r.endsWith(" ")?" ":"",s=i?`${o}/`:"";return this.isVoidElement(e.toLowerCase())?`<${e}${r}${s}>`:`<${e}${r}>${n}</${e}>`}isVoidElement(e){return this.voidTags.has(e)}}});var kl,Ue,_a=A(()=>{"use strict";kl=Qe(gi(),1);Qr();lr();Ue=class t extends Be{rawText;nodeType=j.TEXT_NODE;rawTagName="#text";constructor(e,r=null,n){super(r,n),this.rawText=e}clone(){return new t(this.rawText,null,this.range?[...this.range]:void 0)}get text(){return kl.default.decode(this.rawText)}get trimmedText(){return this.text.trim()}get trimmedRawText(){return this.rawText.trim()}get isWhitespace(){return/^(\s| )*$/.test(this.rawText)}toString(){return this.rawText}}});function Zr(t){return JSON.parse(JSON.stringify(Al.default.decode(t)))}function C2(...t){let e=r=>{for(let n=0;n<r.length;n++){let i=r[n];Wa.add(i),Wa.add(i.toUpperCase())}};for(let r of t)e(r)}function vi(t,e={}){var x,v;let r=new dr((x=e==null?void 0:e.voidTag)==null?void 0:x.closingSlash,(v=e==null?void 0:e.voidTag)==null?void 0:v.tags),n=e.blockTextElements||{script:!0,noscript:!0,style:!0,pre:!0},i=Object.keys(n),o=i.map(T=>new RegExp(`^${T}$`,"i")),s=i.filter(T=>!!n[T]).map(T=>new RegExp(`^${T}$`,"i"));function c(T){return s.some(k=>k.test(T))}function u(T){return o.some(k=>k.test(T))}let l=(T,k)=>[T-w,k-w],d=new Ot("",{},"",null,[0,t.length],r,e),p=d,m=[d],f=-1,h,g;t=`<${en}>${t}</${en}>`;let{lowerCaseTagName:y,fixNestedATags:C}=e,b=t.length-(en.length+2),w=en.length+2;for(;g=pt.exec(t);){let{0:T,1:k,2:S,3:P,4:q}=g,R=T.length,O=pt.lastIndex-R,W=pt.lastIndex;if(f>-1&&f+R<W){let z=t.substring(f,O);p.appendChild(new Ue(z,p,l(f,O)))}if(f=pt.lastIndex,S!==en){if(T[1]==="!"){if(e.comment){let z=t.substring(O+4,W-3);p.appendChild(new $t(z,p,l(O,W)))}continue}if(y&&(S=S.toLowerCase()),!k){let z={};for(let M;M=E2.exec(P);){let{1:B,2:H}=M,F=H[0]==="'"||H[0]==='"';z[B.toLowerCase()]=F?H.slice(1,H.length-1):H}let I=p.rawTagName;!q&&Tl[I]&&Tl[I][S]&&(m.pop(),p=xt(m)),C&&(S==="a"||S==="A")&&(h!==void 0&&(m.splice(h),p=xt(m)),h=m.length);let _=pt.lastIndex,E=_-R;if(p=p.appendChild(new Ot(S,z,P.slice(1),null,l(E,_),r,e)),m.push(p),u(S)){let M=`</${S}>`,B=y?t.toLocaleLowerCase().indexOf(M,pt.lastIndex):t.indexOf(M,pt.lastIndex),H=B===-1?b:B;if(c(S)){let F=t.substring(_,H);F.length>0&&/\S/.test(F)&&p.appendChild(new Ue(F,p,l(_,H)))}B===-1?f=pt.lastIndex=t.length+1:(f=pt.lastIndex=B+M.length,k="/")}}if(k||q||r.isVoidElement(S))for(;;)if(h!=null&&(S==="a"||S==="A")&&(h=void 0),p.rawTagName===S){p.range[1]=l(-1,Math.max(f,W))[1],m.pop(),p=xt(m);break}else{let z=p.tagName;if(Sl[z]&&Sl[z][S]){m.pop(),p=xt(m);continue}break}}}return m}function mt(t,e={}){let r=vi(t,e),[n]=r;for(;r.length>1;){let i=r.pop(),o=xt(r);i&&i.parentNode&&i.parentNode.parentNode&&(i.parentNode===o&&i.tagName===o.tagName?e.parseNoneClosedTags!==!0&&(o.removeChild(i),i.childNodes.forEach(s=>{o.parentNode&&o.parentNode.appendChild(s)}),r.pop()):e.parseNoneClosedTags!==!0&&(o.removeChild(i),i.childNodes.forEach(s=>{o.appendChild(s)})))}return n}function bi(t,e){let r=[];for(let n of t)if(typeof n=="string")if(/<[a-zA-Z!]/.test(n)){let o=vi(n,e||{})[0];if(o&&o.childNodes)for(let s of o.childNodes)s.parentNode=null,r.push(s)}else r.push(new Ue(n));else n.remove(),r.push(n);return r}function tt(t,e){return t.map(r=>(r.parentNode=e,r))}var Al,x2,k2,T2,S2,A2,Wa,Va,Ot,pt,E2,Tl,Sl,en,wi=A(()=>{"use strict";Ha();Al=Qe(gi(),1);gl();ja();xl();Oa();Qr();_a();lr();x2=["h1","h2","h3","h4","h5","h6","header","hgroup"],k2=["details","dialog","dd","div","dt"],T2=["fieldset","figcaption","figure","footer","form"],S2=["table","td","tr"],A2=["address","article","aside","blockquote","br","hr","li","main","nav","ol","p","pre","section","ul"],Wa=new Set;C2(x2,k2,T2,S2,A2);Va=class{_set;_afterUpdate;_validate(e){if(/\s/.test(e))throw new Error(`DOMException in DOMTokenList.add: The token '${e}' contains HTML space characters, which are not valid in tokens.`)}constructor(e=[],r=()=>null){this._set=new Set(e),this._afterUpdate=r}add(e){this._validate(e),this._set.add(e),this._afterUpdate(this)}replace(e,r){this._validate(r),this._set.delete(e),this._set.add(r),this._afterUpdate(this)}remove(e){this._set.delete(e)&&this._afterUpdate(this)}toggle(e){this._validate(e),this._set.has(e)?this._set.delete(e):this._set.add(e),this._afterUpdate(this)}contains(e){return this._set.has(e)}get length(){return this._set.size}values(){return this._set.values()}get value(){return Array.from(this._set.values())}toString(){return Array.from(this._set.values()).join(" ")}},Ot=class t extends Be{rawAttrs;voidTag;_attrs;_rawAttrs;_queryCache;_parseOptions;rawTagName;id;classList;nodeType=j.ELEMENT_NODE;get isSelectorCacheEnabled(){var e;return((e=this._parseOptions)==null?void 0:e.selectorCache)!==!1}getQueryCache(){return this._queryCache||(this._queryCache=new Map),this._queryCache}clearQueryCache(){this._queryCache=void 0}invalidateSelectorCacheRecursively(){let e=this;for(;e;)e.clearQueryCache(),e=e.parentNode}quoteAttribute(e){return e==null?"null":JSON.stringify(e.replace(/"/g,""")).replace(/\\t/g," ").replace(/\\n/g,`
|
|
44
44
|
`).replace(/\\r/g,"\r").replace(/\\/g,"")}constructor(e,r,n="",i=null,o,s=new dr,c={}){if(super(i,o),this.rawAttrs=n,this.voidTag=s,this.rawTagName=e,this.rawAttrs=n||"",this.id=r.id||"",this.childNodes=[],this._parseOptions=c,this.classList=new Va(r.class?r.class.split(/\s+/):[],u=>this.setAttribute("class",u.toString())),r.id&&(n||(this.rawAttrs=`id="${r.id}"`)),r.class&&!n){let u=`class="${this.classList.toString()}"`;this.rawAttrs?this.rawAttrs+=` ${u}`:this.rawAttrs=u}}removeChild(e){return this.childNodes=this.childNodes.filter(r=>r!==e),this.invalidateSelectorCacheRecursively(),this}exchangeChild(e,r){let n=this.childNodes;return this.childNodes=n.map(i=>i===e?r:i),this.invalidateSelectorCacheRecursively(),this}get tagName(){return this.rawTagName?this.rawTagName.toUpperCase():this.rawTagName}set tagName(e){this.rawTagName=e.toLowerCase()}get localName(){return this.rawTagName.toLowerCase()}get isVoidElement(){return this.voidTag.isVoidElement(this.localName)}get rawText(){return/^br$/i.test(this.rawTagName)?`
|
|
45
45
|
`:this.childNodes.reduce((e,r)=>e+=r.rawText,"")}get textContent(){return Zr(this.rawText)}set textContent(e){let r=[new Ue(e,this)];this.childNodes=r,this.invalidateSelectorCacheRecursively()}get text(){return Zr(this.rawText)}get structuredText(){let e=[],r=[e];function n(i){if(i.nodeType===j.ELEMENT_NODE)Wa.has(i.rawTagName)?(e.length>0&&r.push(e=[]),i.childNodes.forEach(n),e.length>0&&r.push(e=[])):i.childNodes.forEach(n);else if(i.nodeType===j.TEXT_NODE)if(i.isWhitespace)e.prependWhitespace=!0;else{let o=i.trimmedText;e.prependWhitespace&&(o=` ${o}`,e.prependWhitespace=!1),e.push(o)}}return n(this),r.map(i=>i.join("").replace(/\s{2,}/g," ")).join(`
|
|
46
46
|
`).replace(/\s+$/,"")}toString(){let e=this.rawTagName;if(e){let r=this.rawAttrs?` ${this.rawAttrs}`:"";return this.voidTag.formatNode(e,r,this.innerHTML)}return this.innerHTML}get innerHTML(){return this.childNodes.map(e=>e.toString()).join("")}set innerHTML(e){let r=mt(e,this._parseOptions),n=r.childNodes.length?r.childNodes:[new Ue(e,this)];tt(n,this),tt(this.childNodes,null),this.childNodes=n,this.invalidateSelectorCacheRecursively()}set_content(e,r={}){if(e instanceof Be)e=[e];else if(typeof e=="string"){r={...this._parseOptions,...r};let n=mt(e,r);e=n.childNodes.length?n.childNodes:[new Ue(n.innerHTML,this)]}return tt(this.childNodes,null),tt(e,this),this.childNodes=e,this.invalidateSelectorCacheRecursively(),this}replaceWith(...e){let r=this.parentNode;if(!r)return this;let n=e.map(o=>{if(o instanceof Be)return[o];if(typeof o=="string"){let s=mt(o,this._parseOptions);return s.childNodes.length?s.childNodes:[new Ue(o,this)]}return[]}).flat(),i=r.childNodes.findIndex(o=>o===this);return tt([this],null),r.childNodes=[...r.childNodes.slice(0,i),...tt(n,r),...r.childNodes.slice(i+1)],r.invalidateSelectorCacheRecursively(),this}get outerHTML(){return this.toString()}trimRight(e){for(let r=0;r<this.childNodes.length;r++){let n=this.childNodes[r];if(n.nodeType===j.ELEMENT_NODE)n.trimRight(e);else{let i=n.rawText.search(e);i>-1&&(n.rawText=n.rawText.substr(0,i),this.childNodes.length=r+1)}}return this.invalidateSelectorCacheRecursively(),this}get structure(){let e=[],r=0;function n(o){e.push(" ".repeat(r)+o)}function i(o){let s=o.id?`#${o.id}`:"",c=o.classList.length?`.${o.classList.value.join(".")}`:"";n(`${o.rawTagName}${s}${c}`),r++,o.childNodes.forEach(u=>{u.nodeType===j.ELEMENT_NODE?i(u):u.nodeType===j.TEXT_NODE&&(u.isWhitespace||n("#text"))}),r--}return i(this),e.join(`
|
|
47
|
-
`)}removeWhitespace(){let e=0;this.childNodes.forEach(n=>{if(n.nodeType===j.TEXT_NODE){if(n.isWhitespace)return;n.rawText=n.trimmedRawText}else n.nodeType===j.ELEMENT_NODE&&n.removeWhitespace();this.childNodes[e++]=n}),this.childNodes.length=e,this.invalidateSelectorCacheRecursively();let r=Object.keys(this.rawAttributes).map(n=>{let i=this.rawAttributes[n];return`${n}=${JSON.stringify(i)}`}).join(" ");return this.rawAttrs=r,delete this._rawAttrs,this}querySelectorAll(e){if(this.isSelectorCacheEnabled){let n=this.getQueryCache().get(e);if(n!=null&&n.all)return n.all.slice()}let r=hl(e,this,{xmlMode:!1,adapter:le});if(this.isSelectorCacheEnabled){let n=this.getQueryCache().get(e)||{};n.all=r,n.first===void 0&&(n.first=r[0]||null),this.getQueryCache().set(e,n)}return r}querySelector(e){if(this.isSelectorCacheEnabled){let n=this.getQueryCache().get(e);if((n==null?void 0:n.first)!==void 0)return n.first||null;if(n!=null&&n.all){let i=n.all[0]||null;return n.first=i,this.getQueryCache().set(e,n),i}}let r=Ha(e,this,{xmlMode:!1,adapter:le});if(this.isSelectorCacheEnabled){let n=this.getQueryCache().get(e)||{};n.first=r,this.getQueryCache().set(e,n)}return r}getElementsByTagName(e){let r=e.toUpperCase(),n=[],i=[],o=this,s=0;for(;s!==void 0&&o;){let c;do c=o.childNodes[s++];while(s<o.childNodes.length&&c===void 0);if(c===void 0){o=o.parentNode,s=i.pop();continue}c.nodeType===j.ELEMENT_NODE&&((e==="*"||c.tagName===r)&&n.push(c),c.childNodes.length>0&&(i.push(s),o=c,s=0))}return n}getElementById(e){let r=[],n=this,i=0;for(;i!==void 0&&n;){let o;do o=n.childNodes[i++];while(i<n.childNodes.length&&o===void 0);if(o===void 0){n=n.parentNode,i=r.pop();continue}if(o.nodeType===j.ELEMENT_NODE){if(o.id===e)return o;o.childNodes.length>0&&(r.push(i),n=o,i=0)}}return null}closest(e){let r=new Map,n=this,i=null;for(;n;)i&&r.set(n,i),i=n,n=n.parentNode;for(n=this;n;){let o=Ha(e,n,{xmlMode:!0,adapter:{...le,getChildren(s){let c=r.get(s);return c?[c]:[]},getSiblings(s){return[s]}}});if(o)return o;n=n.parentNode}return null}appendChild(e){return this.append(e),e}get attrs(){if(this._attrs)return this._attrs;this._attrs={};let e=this.rawAttributes;for(let r in e){let n=e[r]||"";this._attrs[r.toLowerCase()]=Zr(n)}return this._attrs}get attributes(){let e={},r=this.rawAttributes;for(let n in r){let i=r[n]||"";e[n]=Zr(i)}return e}get rawAttributes(){if(this._rawAttrs)return this._rawAttrs;let e={};if(this.rawAttrs){let r=/([a-zA-Z()[\]#@$.?:][a-zA-Z0-9-._:()[\]#]*)(?:\s*=\s*((?:'[^']*')|(?:"[^"]*")|\S+))?/g,n;for(;n=r.exec(this.rawAttrs);){let i=n[1],o=n[2]||null;o&&(o[0]==="'"||o[0]==='"')&&(o=o.slice(1,o.length-1)),e[i]=e[i]||o||""}}return this._rawAttrs=e,e}removeAttribute(e){let r=this.rawAttributes;return delete r[e],this._attrs&&delete this._attrs[e],this.rawAttrs=Object.keys(r).map(n=>{let i=this.quoteAttribute(r[n]);return i==="null"||i==='""'?n:`${n}=${i}`}).join(" "),e==="id"&&(this.id=""),this.invalidateSelectorCacheRecursively(),this}hasAttribute(e){return e.toLowerCase()in this.attrs}getAttribute(e){return this.attrs[e.toLowerCase()]}setAttribute(e,r){if(arguments.length<2)throw new Error("Failed to execute 'setAttribute' on 'Element'");let n=e.toLowerCase(),i=this.rawAttributes;for(let o in i)if(o.toLowerCase()===n){e=o;break}return i[e]=String(r),this._attrs&&(this._attrs[n]=Zr(i[e])),this.rawAttrs=Object.keys(i).map(o=>{let s=this.quoteAttribute(i[o]);return s==="null"||s==='""'?o:`${o}=${s}`}).join(" "),e==="id"&&(this.id=r),this.invalidateSelectorCacheRecursively(),this}setAttributes(e){return this._attrs&&delete this._attrs,this._rawAttrs&&delete this._rawAttrs,this.rawAttrs=Object.keys(e).map(r=>{let n=e[r];return n==="null"||n==='""'?r:`${r}=${this.quoteAttribute(String(n))}`}).join(" "),this.invalidateSelectorCacheRecursively(),this}insertAdjacentHTML(e,r){if(arguments.length<2)throw new Error("2 arguments required");let n=mt(r,this._parseOptions);if(e==="afterend")this.after(...n.childNodes);else if(e==="afterbegin")this.prepend(...n.childNodes);else if(e==="beforeend")this.append(...n.childNodes);else if(e==="beforebegin")this.before(...n.childNodes);else throw new Error(`The value provided ('${e}') is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'`);return this}prepend(...e){let r=bi(e,this._parseOptions);tt(r,this),this.childNodes.unshift(...r),this.invalidateSelectorCacheRecursively()}append(...e){let r=bi(e,this._parseOptions);tt(r,this),this.childNodes.push(...r),this.invalidateSelectorCacheRecursively()}before(...e){if(!this.parentNode)return;let r=bi(e,this.parentNode._parseOptions),n=this.parentNode.childNodes;tt(r,this.parentNode),n.splice(n.indexOf(this),0,...r),this.parentNode.invalidateSelectorCacheRecursively()}after(...e){if(!this.parentNode)return;let r=bi(e,this.parentNode._parseOptions),n=this.parentNode.childNodes;tt(r,this.parentNode),n.splice(n.indexOf(this)+1,0,...r),this.parentNode.invalidateSelectorCacheRecursively()}get nextSibling(){if(this.parentNode){let e=this.parentNode.childNodes,r=0;for(;r<e.length;){let n=e[r++];if(this===n)return e[r]||null}}return null}get nextElementSibling(){if(this.parentNode){let e=this.parentNode.childNodes,r=0,n=!1;for(;r<e.length;){let i=e[r++];if(n){if(i instanceof t)return i||null}else this===i&&(n=!0)}}return null}get previousSibling(){if(this.parentNode){let e=this.parentNode.childNodes,r=e.length;for(;r>0;){let n=e[--r];if(this===n)return e[r-1]||null}}return null}get previousElementSibling(){if(this.parentNode){let e=this.parentNode.childNodes,r=e.length,n=!1;for(;r>0;){let i=e[--r];if(n){if(i instanceof t)return i||null}else this===i&&(n=!0)}}return null}get children(){let e=[];for(let r of this.childNodes)r instanceof t&&e.push(r);return e}get firstChild(){return this.childNodes[0]}get firstElementChild(){return this.children[0]}get lastChild(){return xt(this.childNodes)}get lastElementChild(){return this.children[this.children.length-1]}get childElementCount(){return this.children.length}get classNames(){return this.classList.toString()}clone(){return mt(this.toString(),this._parseOptions).firstChild}},pt=/<!--[\s\S]*?-->|<(\/?)([a-zA-Z][-.:0-9_a-zA-Z@\xB7\xC0-\xD6\xD8-\xF6\u00F8-\u03A1\u03A3-\u03D9\u03DB-\u03EF\u03F7-\u03FF\u0400-\u04FF\u0500-\u052F\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1E9B\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A-\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA78E\uA790-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64-\uAB65\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A\uFF41-\uFF5A\x37F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]*)((?:\s+[^>]*?(?:(?:'[^']*')|(?:"[^"]*"))?)*)\s*(\/?)>/gu,E2=/(?:^|\s)(id|class)\s*=\s*((?:'[^']*')|(?:"[^"]*")|\S+)/gi,Sl={li:{li:!0,LI:!0},LI:{li:!0,LI:!0},p:{p:!0,div:!0,P:!0,DIV:!0},P:{p:!0,div:!0,P:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},td:{td:!0,th:!0,TD:!0,TH:!0},TD:{td:!0,th:!0,TD:!0,TH:!0},th:{td:!0,th:!0,TD:!0,TH:!0},TH:{td:!0,th:!0,TD:!0,TH:!0},h1:{h1:!0,H1:!0},H1:{h1:!0,H1:!0},h2:{h2:!0,H2:!0},H2:{h2:!0,H2:!0},h3:{h3:!0,H3:!0},H3:{h3:!0,H3:!0},h4:{h4:!0,H4:!0},H4:{h4:!0,H4:!0},h5:{h5:!0,H5:!0},H5:{h5:!0,H5:!0},h6:{h6:!0,H6:!0},H6:{h6:!0,H6:!0}},Tl={li:{ul:!0,ol:!0,UL:!0,OL:!0},LI:{ul:!0,ol:!0,UL:!0,OL:!0},a:{div:!0,DIV:!0},A:{div:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},i:{div:!0,DIV:!0},I:{div:!0,DIV:!0},p:{div:!0,DIV:!0},P:{div:!0,DIV:!0},td:{tr:!0,table:!0,TR:!0,TABLE:!0},TD:{tr:!0,table:!0,TR:!0,TABLE:!0},th:{tr:!0,table:!0,TR:!0,TABLE:!0},TH:{tr:!0,table:!0,TR:!0,TABLE:!0}},en="documentfragmentcontainer"});var Cl=T(()=>{"use strict";wi()});function Ga(t,e={}){return vi(t,e).length===1}var El=T(()=>{"use strict";wi()});function Pe(t,e={}){return mt(t,e)}var tn=T(()=>{"use strict";Oa();wi();Qr();_a();lr();Cl();El();Pe.parse=mt;Pe.HTMLElement=Ot;Pe.CommentNode=$t;Pe.valid=Ga;Pe.Node=Be;Pe.TextNode=Ue;Pe.NodeType=j});var Ge,Dl=T(()=>{"use strict";Ia();tn();ja();Ge=class t{elements;constructor(e){Array.isArray(e)?this.elements=e.filter(r=>r.nodeType===j.ELEMENT_NODE):this.elements=e.nodeType===j.ELEMENT_NODE?[e]:[]}find(e){let r=[];return this.elements.forEach(n=>{r.push(...n.querySelectorAll(e))}),new t(r)}parent(e){let r=[];return this.elements.forEach(n=>{let i=n.parentNode;i&&i.nodeType===j.ELEMENT_NODE&&(!e||Ce(i,e,{adapter:le}))&&(r.includes(i)||r.push(i))}),new t(r)}children(e){let r=[];return this.elements.forEach(n=>{n.childNodes.forEach(i=>{if(i.nodeType===j.ELEMENT_NODE){let o=i;(!e||Ce(o,e,{adapter:le}))&&r.push(o)}})}),new t(r)}siblings(e){let r=[];return this.elements.forEach(n=>{let i=n.parentNode;i&&i.childNodes.forEach(o=>{if(o!==n&&o.nodeType===j.ELEMENT_NODE){let s=o;(!e||Ce(s,e,{adapter:le}))&&(r.includes(s)||r.push(s))}})}),new t(r)}next(e){let r=[];return this.elements.forEach(n=>{let i=n.nextElementSibling;for(;i;){if(!e||Ce(i,e,{adapter:le})){r.push(i);break}break}}),new t(r)}prev(e){let r=[];return this.elements.forEach(n=>{let i=n.previousElementSibling;i&&(!e||Ce(i,e,{adapter:le}))&&r.push(i)}),new t(r)}nextAll(e){let r=[];return this.elements.forEach(n=>{let i=n.nextElementSibling;for(;i;)(!e||Ce(i,e,{adapter:le}))&&r.push(i),i=i.nextElementSibling}),new t(r)}prevAll(e){let r=[];return this.elements.forEach(n=>{let i=n.previousElementSibling;for(;i;)(!e||Ce(i,e,{adapter:le}))&&r.push(i),i=i.previousElementSibling}),new t(r)}closest(e){let r=[];return this.elements.forEach(n=>{let i=n.closest(e);i&&(r.includes(i)||r.push(i))}),new t(r)}first(){return new t(this.elements.slice(0,1))}last(){return new t(this.elements.slice(-1))}eq(e){return e<0&&(e=this.elements.length+e),new t(this.elements.slice(e,e+1))}filter(e){if(typeof e=="string"){let r=this.elements.filter(n=>Ce(n,e,{adapter:le}));return new t(r)}else{let r=this.elements.filter((n,i)=>e(new t(n),i));return new t(r)}}not(e){let r=this.elements.filter(n=>!Ce(n,e,{adapter:le}));return new t(r)}has(e){let r=this.elements.filter(n=>n.querySelector(e)!==null);return new t(r)}add(e){if(e.trim().startsWith("<")){let r=Pe(e);return new t([...this.elements,...r.children])}return this}parents(e){let r=[];return this.elements.forEach(n=>{let i=n.parentNode;for(;i&&i.nodeType===j.ELEMENT_NODE;){let o=i;(!e||Ce(o,e,{adapter:le}))&&(r.includes(o)||r.push(o)),i=i.parentNode}}),new t(r)}parentsUntil(e){let r=[];return this.elements.forEach(n=>{let i=n.parentNode;for(;i&&i.nodeType===j.ELEMENT_NODE;){let o=i;if(Ce(o,e,{adapter:le}))break;r.includes(o)||r.push(o),i=i.parentNode}}),new t(r)}nextUntil(e){let r=[];return this.elements.forEach(n=>{let i=n.nextElementSibling;for(;i&&!Ce(i,e,{adapter:le});)r.push(i),i=i.nextElementSibling}),new t(r)}prevUntil(e){let r=[];return this.elements.forEach(n=>{let i=n.previousElementSibling;for(;i&&!Ce(i,e,{adapter:le});)r.push(i),i=i.previousElementSibling}),new t(r)}slice(e,r){return new t(this.elements.slice(e,r))}contents(){let e=[];return this.elements.forEach(r=>{r.childNodes.forEach(n=>{n.nodeType===j.ELEMENT_NODE&&e.push(n)})}),new t(e)}text(){return this.elements.map(e=>e.text).join("")}html(){return this.elements.length>0?this.elements[0].innerHTML:null}outerHtml(){return this.elements.length>0?this.elements[0].outerHTML:""}attr(e){if(this.elements.length>0)return this.elements[0].getAttribute(e)}attrs(){return this.elements.length>0?this.elements[0].attributes:{}}data(e){if(this.elements.length===0)return;let n=this.elements[0].attributes;if(e)return n[`data-${e}`];let i={};for(let o in n)if(o.startsWith("data-")){let s=o.slice(5);i[s]=n[o]}return i}val(){if(this.elements.length===0)return;let e=this.elements[0];if(e.tagName==="INPUT")return e.getAttribute("value");if(e.tagName==="TEXTAREA")return e.text;if(e.tagName==="SELECT"){let r=e.querySelector("option[selected]")||e.querySelector("option");return r?r.getAttribute("value")??r.text:void 0}return e.getAttribute("value")}prop(e){if(this.elements.length===0)return;let r=this.elements[0];return e==="tagName"?r.tagName:e in r?r[e]:this.attr(e)}exists(){return this.elements.length>0}get length(){return this.elements.length}is(e){return this.elements.some(r=>Ce(r,e,{adapter:le}))}hasClass(e){return this.elements.some(r=>r.classList.contains(e))}index(e){if(this.elements.length===0)return-1;let r=this.elements[0],n=r.parentNode;if(!n)return 0;let i=n.childNodes.filter(o=>o.nodeType===j.ELEMENT_NODE);return e?i.findIndex(o=>o===r):i.indexOf(r)}each(e){return this.elements.forEach((r,n)=>{e(new t(r),n)}),this}map(e){return this.elements.map((r,n)=>e(new t(r),n))}toArray(){return this.elements.map(e=>new t(e))}reduce(e,r){let n=r;return this.elements.forEach((i,o)=>{n=e(n,new t(i),o)}),n}some(e){return this.elements.some((r,n)=>e(new t(r),n))}every(e){return this.elements.every((r,n)=>e(new t(r),n))}tagName(){var e;if(this.elements.length>0)return(e=this.elements[0].tagName)==null?void 0:e.toLowerCase()}clone(){let e=this.elements.map(r=>r.clone());return new t(e)}toString(){return this.outerHtml()}get raw(){return this.elements}get(e=0){return this.elements[e]}}});function Ll(t,e){if(!t)return"";if(!e)return t;try{return t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")?t:new URL(t,e).href}catch{return t}}function D2(t,e){if(t){if(t.startsWith("mailto:"))return"mailto";if(t.startsWith("tel:"))return"tel";if(t.startsWith("#"))return"anchor";if(e)try{let r=new URL(e);return new URL(t,e).hostname===r.hostname?"internal":"external"}catch{return}return t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")?"external":"internal"}}function xi(t,e){let r=(e==null?void 0:e.selector)||"a[href]",n=[];return t.querySelectorAll(r).forEach(i=>{let o=i.getAttribute("href")||"";e!=null&&e.absolute&&(e!=null&&e.baseUrl)&&(o=Ll(o,e.baseUrl));let s=i.querySelectorAll("img"),c=i.querySelectorAll("svg");n.push({href:o,text:i.text.trim(),rel:i.getAttribute("rel"),target:i.getAttribute("target"),title:i.getAttribute("title"),type:D2(o,e==null?void 0:e.baseUrl),hasImage:s.length>0,hasImageWithAlt:s.filter(u=>{var l;return!!((l=u.getAttribute("alt"))!=null&&l.trim())}).length>0,hasSvg:c.length>0,hasSvgWithTitle:c.filter(u=>u.querySelectorAll("title").length>0||!!u.getAttribute("aria-label")).length>0,ariaLabel:i.getAttribute("aria-label")})}),n}function ki(t,e){let r=(e==null?void 0:e.selector)||"img[src]",n=[];return t.querySelectorAll(r).forEach(i=>{let o=i.getAttribute("src")||"";e!=null&&e.absolute&&(e!=null&&e.baseUrl)&&(o=Ll(o,e.baseUrl));let s=i.getAttribute("width"),c=i.getAttribute("height");n.push({src:o,alt:i.getAttribute("alt"),title:i.getAttribute("title"),width:s?parseInt(s,10):void 0,height:c?parseInt(c,10):void 0,srcset:i.getAttribute("srcset"),loading:i.getAttribute("loading"),decoding:i.getAttribute("decoding")})}),n}function Si(t){let e={},r=t.querySelector("title");e.title=r&&r.text.trim()||void 0;let n=t.querySelector("meta[charset]");if(n)e.charset=n.getAttribute("charset");else{let o=t.querySelector('meta[http-equiv="Content-Type"]'),s=o?o.getAttribute("content"):null;if(s){let c=s.match(/charset=([^;]+)/i);c&&(e.charset=c[1].trim())}}let i=t.querySelector('link[rel="canonical"]');return i&&(e.canonical=i.getAttribute("href")),t.querySelectorAll("meta[name]").forEach(o=>{var u;let s=(u=o.getAttribute("name"))==null?void 0:u.toLowerCase(),c=o.getAttribute("content");if(!(!s||!c))switch(s){case"description":e.description=c;break;case"keywords":e.keywords=c.split(",").map(l=>l.trim()).filter(Boolean);break;case"author":e.author=c;break;case"robots":e.robots=c.split(",").map(l=>l.trim().toLowerCase());break;case"viewport":e.viewport=c;break;default:e[s]=c}}),e}function Ti(t){let e={},r=[];return t.querySelectorAll('meta[property^="og:"]').forEach(n=>{let i=n.getAttribute("property"),o=n.getAttribute("content");if(!i||!o)return;let s=i.replace("og:","");switch(s){case"title":e.title=o;break;case"type":e.type=o;break;case"url":e.url=o;break;case"image":r.push(o);break;case"description":e.description=o;break;case"site_name":e.siteName=o;break;case"locale":e.locale=o;break;default:e[s.replace(/_([a-z])/g,(c,u)=>u.toUpperCase())]=o}}),r.length===1?e.image=r[0]:r.length>1&&(e.image=r),e}function Ai(t){let e={};return t.querySelectorAll('meta[name^="twitter:"]').forEach(r=>{let n=r.getAttribute("name"),i=r.getAttribute("content");if(!n||!i)return;let o=n.replace("twitter:","");switch(o){case"card":e.card=i;break;case"site":e.site=i;break;case"creator":e.creator=i;break;case"title":e.title=i;break;case"description":e.description=i;break;case"image":e.image=i;break;default:e[o]=i}}),e}function Ci(t){let e=[];return t.querySelectorAll('script[type="application/ld+json"]').forEach(r=>{let n=r.innerHTML;if(n)try{let i=JSON.parse(n);i["@graph"]&&Array.isArray(i["@graph"])?e.push(...i["@graph"]):Array.isArray(i)?e.push(...i):e.push(i)}catch{}}),e}function Rl(t,e){let r=[],n=e||"form";return t.querySelectorAll(n).forEach(i=>{var s;let o=[];i.querySelectorAll("input, select, textarea").forEach(c=>{var m;let u=(m=c.tagName)==null?void 0:m.toLowerCase(),l=c.getAttribute("type")||(u==="textarea"?"textarea":u==="select"?"select":"text"),d=c.getAttribute("value");u==="textarea"&&(d=c.text);let p={name:c.getAttribute("name"),type:l,value:d,placeholder:c.getAttribute("placeholder"),required:c.hasAttribute("required")};if(u==="select"){p.options=[],c.querySelectorAll("option").forEach(h=>{p.options.push({value:h.getAttribute("value")||h.text,text:h.text.trim()})});let f=c.querySelector("option[selected]");f&&(p.value=f.getAttribute("value")||f.text)}o.push(p)}),r.push({action:i.getAttribute("action"),method:(s=i.getAttribute("method"))==null?void 0:s.toUpperCase(),name:i.getAttribute("name"),id:i.getAttribute("id"),fields:o})}),r}function Pl(t,e){let r=[],n=e||"table";return t.querySelectorAll(n).forEach(i=>{let o=[],s=[],c=i.querySelector("caption"),u=c&&c.text.trim()||void 0,l=null,d=i.querySelector("thead");if(d&&d.querySelectorAll("th, td").forEach(m=>{o.push(m.text.trim())}),o.length===0){let m=i.querySelector("tr");m&&(m.childNodes.forEach(f=>{if(f.nodeType===j.ELEMENT_NODE){let h=f;["TH","TD"].includes(h.tagName)&&o.push(h.text.trim())}}),o.length>0&&(l=m))}i.querySelectorAll("tr").forEach(m=>{if(m.parentNode&&m.parentNode.tagName==="THEAD"||m===l)return;let f=[];m.querySelectorAll("td, th").forEach(h=>{f.push(h.text.trim())}),f.length>0&&s.push(f)}),(o.length>0||s.length>0)&&r.push({caption:u,headers:o,rows:s})}),r}function Nl(t){let e=[];return t.querySelectorAll("script").forEach(r=>{var o;let n=r.getAttribute("src"),i=n||(o=r.innerHTML)==null?void 0:o.trim();!n&&!i||e.push({src:n,type:r.getAttribute("type"),async:r.hasAttribute("async"),defer:r.hasAttribute("defer"),inline:i})}),e}function Ml(t){let e=[];return t.querySelectorAll('link[rel="stylesheet"]').forEach(r=>{e.push({href:r.getAttribute("href"),media:r.getAttribute("media")})}),t.querySelectorAll("style").forEach(r=>{var i;let n=(i=r.innerHTML)==null?void 0:i.trim();n&&e.push({media:r.getAttribute("media"),inline:n})}),e}var Ka=T(()=>{"use strict";tn()});var Fl={};ve(Fl,{ScrapeDocument:()=>Xa});var Xa,Bl=T(()=>{"use strict";Dl();tn();Ka();Xa=class t{rootElement;options;constructor(e,r){this.rootElement=e,this.options=r||{}}static async create(e,r){let n=Pe(e);return new t(n,r)}static createSync(e,r){let n=Pe(e);return new t(n,r)}select(e){let r=this.rootElement.querySelectorAll(e);return new Ge(r)}selectFirst(e){let r=this.rootElement.querySelector(e);return new Ge(r?[r]:[])}selectAll(e){return this.rootElement.querySelectorAll(e).map(n=>new Ge(n))}query(e){return this.select(e)}queryAll(e){return this.selectAll(e)}text(e){let r=this.rootElement.querySelector(e);return r?r.text.trim():""}texts(e){return this.rootElement.querySelectorAll(e).map(n=>n.text.trim()).filter(n=>n.length>0)}attr(e,r){let n=this.rootElement.querySelector(e);return n?n.getAttribute(r):void 0}attrs(e,r){let n=this.rootElement.querySelectorAll(e),i=[];return n.forEach(o=>{let s=o.getAttribute(r);s!==void 0&&i.push(s)}),i}innerHtml(e){let r=this.rootElement.querySelector(e);return r?r.innerHTML:null}outerHtml(e){let r=this.rootElement.querySelector(e);return r?r.outerHTML:""}links(e){return xi(this.rootElement,{...e,baseUrl:this.options.baseUrl})}images(e){return ki(this.rootElement,{...e,baseUrl:this.options.baseUrl})}meta(){return Si(this.rootElement)}openGraph(){return Ti(this.rootElement)}twitterCard(){return Ai(this.rootElement)}jsonLd(){return Ci(this.rootElement)}forms(e){return Rl(this.rootElement,e)}tables(e){return Pl(this.rootElement,e)}scripts(){return Nl(this.rootElement)}styles(){return Ml(this.rootElement)}extract(e){let r={};for(let[n,i]of Object.entries(e)){let o=this.extractField(i);o===void 0?typeof i=="object"&&i.optional===!0||(r[n]=void 0):r[n]=o}return r}extractField(e){if(typeof e=="string")return this.text(e)||void 0;let{selector:r,attribute:n,multiple:i,transform:o}=e,s="default"in e?e.default:void 0;if(i){let c=this.rootElement.querySelectorAll(r),u=[];return c.forEach(l=>{let d;n?d=l.getAttribute(n)||"":d=l.text.trim(),d&&u.push(o?o(d):d)}),u.length===0&&s!==void 0?s:u}else{let c=this.rootElement.querySelector(r);if(!c)return s;let u;return n?u=c.getAttribute(n)||"":u=c.text.trim(),u?o?o(u):u:s}}title(){let e=this.rootElement.querySelector("title");return(e?e.text.trim():"")||void 0}body(){let e=this.rootElement.querySelector("body");return new Ge(e?[e]:[])}head(){let e=this.rootElement.querySelector("head");return new Ge(e?[e]:[])}html(){return this.rootElement.outerHTML}root(){return new Ge(this.rootElement)}exists(e){return this.rootElement.querySelector(e)!==null}count(e){return this.rootElement.querySelectorAll(e).length}findByText(e,r){let n=[];return(r?this.rootElement.querySelectorAll(r):this.rootElement.querySelectorAll("*")).forEach(o=>{o.text.includes(e)&&n.push(new Ge(o))}),n}findByExactText(e,r){let n=[];return(r?this.rootElement.querySelectorAll(r):this.rootElement.querySelectorAll("*")).forEach(o=>{o.text.trim()===e&&n.push(new Ge(o))}),n}findByData(e,r){let n=r!==void 0?`[data-${e}="${r}"]`:`[data-${e}]`;return this.selectAll(n)}get raw(){return this.rootElement}get baseUrl(){return this.options.baseUrl}}});var Ei,UC,Qa,Ya=T(()=>{Ei=()=>{},UC=globalThis.performance,Qa=()=>({on:Ei,stdout:{on:Ei},stderr:{on:Ei},kill:Ei})});function Hl(t){let e=t.getReader();return new Rn({async read(){try{let{done:r,value:n}=await e.read();r?this.push(null):this.push(n)}catch(r){this.destroy(r)}},destroy(r,n){e.cancel().finally(()=>n(r))}})}function Za(t){return new ReadableStream({start(e){t.on("data",r=>{e.enqueue(new Uint8Array(r))}),t.on("end",()=>{e.close()}),t.on("error",r=>{e.error(r)})},cancel(){t.destroy()}})}var es=T(()=>{"use strict";Pn();Ln()});var R2,rt,ts=T(()=>{"use strict";Ho();Uo();es();On();jn();G();Tn();En();R2=[101,103,204,205,304],rt=class t{timings;connection;raw;constructor(e,r={}){if(this.timings=r.timings,this.connection=r.connection,e instanceof Response)this.raw=e;else{let n=R2.includes(e.statusCode)?null:e.body;this.raw=new Response(n,{status:e.statusCode,statusText:String(e.statusCode),headers:e.headers})}}get status(){return this.raw.status}get statusText(){return this.raw.statusText}get headers(){return this.raw.headers}get ok(){return this.raw.ok}get url(){return this.raw.url}get cache(){return ut(this.headers,this.status).cache}get rateLimit(){return ut(this.headers,this.status).rateLimit}links(){return Br(this.headers)}get headerInfo(){return ut(this.headers,this.status)}async json(){return await this.raw.json()}async yaml(e){let r=await this.raw.text();return Sn(r,e)}async csv(e){let r=await this.raw.text();return Cn(r,e)}async text(){return this.raw.text()}async cleanText(){let e=await this.text();return qn(e)}async blob(){return this.raw.blob()}read(){return this.raw.body}toNodeStream(){return this.raw.body?Hl(this.raw.body):null}async pipe(e){let r=this.toNodeStream();if(!r)throw new ae("Response has no body to pipe",{streamType:"response",retriable:!0});return new Promise((n,i)=>{r.pipe(e),r.on("end",n),r.on("error",i),e.on("error",i)})}clone(){return new t(this.raw.clone(),{timings:this.timings,connection:this.connection})}sse(){return $n(this.raw)}async*download(){if(!this.raw.body)return;let e=this.headers.get("content-length"),r=e?parseInt(e,10):void 0,n=0,i=Date.now(),o=0,s=0,c=i,u=0,l=.3,d=m=>{let f=Date.now(),h=f-c,g=n-s;if(h>0){let C=g/h*1e3;u=u===0?C:u*(1-l)+C*l}s=n,c=f;let y;return r&&(y=m?100:Math.min(n/r*100,99.9)),{loaded:n,transferred:n,total:r,percent:y,rate:u,estimated:r&&u>0?(r-n)/u*1e3:void 0,direction:"download"}},p=this.raw.body.getReader();try{for(yield d(!1);;){let{done:m,value:f}=await p.read();if(m){yield d(!0);break}if(f){n+=f.byteLength;let h=Date.now();h-o>100&&(yield d(!1),o=h)}}}finally{p.releaseLock()}}async*[Symbol.asyncIterator](){if(!this.raw.body)return;let e=this.raw.body.getReader();try{for(;;){let{done:r,value:n}=await e.read();if(r)break;n&&(yield n)}}finally{e.releaseLock()}}}});var zt,Di,JC,Li=T(()=>{zt=(...t)=>t.join("/"),Di=t=>t.split("/").slice(0,-1).join("/"),JC=globalThis.performance});function N2(){return"curl-impersonate-chrome"}function rs(){return zt(P2,N2())}async function Il(){try{return await ko.access(rs()),!0}catch{return!1}}var P2,ql=T(()=>{"use strict";Lt();Li();_n();Ya();Lt();Pn();Ln();P2=zt(Fc(),".recker","bin")});var $l={};ve($l,{CurlTransport:()=>ns});var ns,Ol=T(()=>{"use strict";Ya();ts();G();ql();ns=class{async dispatch(e){return new Promise(async(r,n)=>{let i=["-X",e.method,e.url,"-i","-s","--compressed","--no-keepalive"];e.headers.forEach((l,d)=>{i.push("-H",`${d}: ${l}`)}),e.body&&typeof e.body=="string"&&i.push("-d",e.body);let o=process.env.RECKER_CURL_BIN;o||(await Il()?o=rs():o="curl");let s=Qa(o,i),c=[],u=[];s.stdout.on("data",l=>c.push(l)),s.stderr.on("data",l=>u.push(l)),s.on("error",l=>{n(new qe(`Failed to spawn curl: ${l.message}`,"ERR_CURL_SPAWN",e))}),s.on("close",l=>{if(l!==0){let w=Buffer.concat(u).toString();n(new qe(`Curl exited with code ${l}: ${w}`,"ERR_CURL_EXIT",e));return}let d=Buffer.concat(c),p=d.indexOf(`\r
|
|
47
|
+
`)}removeWhitespace(){let e=0;this.childNodes.forEach(n=>{if(n.nodeType===j.TEXT_NODE){if(n.isWhitespace)return;n.rawText=n.trimmedRawText}else n.nodeType===j.ELEMENT_NODE&&n.removeWhitespace();this.childNodes[e++]=n}),this.childNodes.length=e,this.invalidateSelectorCacheRecursively();let r=Object.keys(this.rawAttributes).map(n=>{let i=this.rawAttributes[n];return`${n}=${JSON.stringify(i)}`}).join(" ");return this.rawAttrs=r,delete this._rawAttrs,this}querySelectorAll(e){if(this.isSelectorCacheEnabled){let n=this.getQueryCache().get(e);if(n!=null&&n.all)return n.all.slice()}let r=hl(e,this,{xmlMode:!1,adapter:le});if(this.isSelectorCacheEnabled){let n=this.getQueryCache().get(e)||{};n.all=r,n.first===void 0&&(n.first=r[0]||null),this.getQueryCache().set(e,n)}return r}querySelector(e){if(this.isSelectorCacheEnabled){let n=this.getQueryCache().get(e);if((n==null?void 0:n.first)!==void 0)return n.first||null;if(n!=null&&n.all){let i=n.all[0]||null;return n.first=i,this.getQueryCache().set(e,n),i}}let r=Ia(e,this,{xmlMode:!1,adapter:le});if(this.isSelectorCacheEnabled){let n=this.getQueryCache().get(e)||{};n.first=r,this.getQueryCache().set(e,n)}return r}getElementsByTagName(e){let r=e.toUpperCase(),n=[],i=[],o=this,s=0;for(;s!==void 0&&o;){let c;do c=o.childNodes[s++];while(s<o.childNodes.length&&c===void 0);if(c===void 0){o=o.parentNode,s=i.pop();continue}c.nodeType===j.ELEMENT_NODE&&((e==="*"||c.tagName===r)&&n.push(c),c.childNodes.length>0&&(i.push(s),o=c,s=0))}return n}getElementById(e){let r=[],n=this,i=0;for(;i!==void 0&&n;){let o;do o=n.childNodes[i++];while(i<n.childNodes.length&&o===void 0);if(o===void 0){n=n.parentNode,i=r.pop();continue}if(o.nodeType===j.ELEMENT_NODE){if(o.id===e)return o;o.childNodes.length>0&&(r.push(i),n=o,i=0)}}return null}closest(e){let r=new Map,n=this,i=null;for(;n;)i&&r.set(n,i),i=n,n=n.parentNode;for(n=this;n;){let o=Ia(e,n,{xmlMode:!0,adapter:{...le,getChildren(s){let c=r.get(s);return c?[c]:[]},getSiblings(s){return[s]}}});if(o)return o;n=n.parentNode}return null}appendChild(e){return this.append(e),e}get attrs(){if(this._attrs)return this._attrs;this._attrs={};let e=this.rawAttributes;for(let r in e){let n=e[r]||"";this._attrs[r.toLowerCase()]=Zr(n)}return this._attrs}get attributes(){let e={},r=this.rawAttributes;for(let n in r){let i=r[n]||"";e[n]=Zr(i)}return e}get rawAttributes(){if(this._rawAttrs)return this._rawAttrs;let e={};if(this.rawAttrs){let r=/([a-zA-Z()[\]#@$.?:][a-zA-Z0-9-._:()[\]#]*)(?:\s*=\s*((?:'[^']*')|(?:"[^"]*")|\S+))?/g,n;for(;n=r.exec(this.rawAttrs);){let i=n[1],o=n[2]||null;o&&(o[0]==="'"||o[0]==='"')&&(o=o.slice(1,o.length-1)),e[i]=e[i]||o||""}}return this._rawAttrs=e,e}removeAttribute(e){let r=this.rawAttributes;return delete r[e],this._attrs&&delete this._attrs[e],this.rawAttrs=Object.keys(r).map(n=>{let i=this.quoteAttribute(r[n]);return i==="null"||i==='""'?n:`${n}=${i}`}).join(" "),e==="id"&&(this.id=""),this.invalidateSelectorCacheRecursively(),this}hasAttribute(e){return e.toLowerCase()in this.attrs}getAttribute(e){return this.attrs[e.toLowerCase()]}setAttribute(e,r){if(arguments.length<2)throw new Error("Failed to execute 'setAttribute' on 'Element'");let n=e.toLowerCase(),i=this.rawAttributes;for(let o in i)if(o.toLowerCase()===n){e=o;break}return i[e]=String(r),this._attrs&&(this._attrs[n]=Zr(i[e])),this.rawAttrs=Object.keys(i).map(o=>{let s=this.quoteAttribute(i[o]);return s==="null"||s==='""'?o:`${o}=${s}`}).join(" "),e==="id"&&(this.id=r),this.invalidateSelectorCacheRecursively(),this}setAttributes(e){return this._attrs&&delete this._attrs,this._rawAttrs&&delete this._rawAttrs,this.rawAttrs=Object.keys(e).map(r=>{let n=e[r];return n==="null"||n==='""'?r:`${r}=${this.quoteAttribute(String(n))}`}).join(" "),this.invalidateSelectorCacheRecursively(),this}insertAdjacentHTML(e,r){if(arguments.length<2)throw new Error("2 arguments required");let n=mt(r,this._parseOptions);if(e==="afterend")this.after(...n.childNodes);else if(e==="afterbegin")this.prepend(...n.childNodes);else if(e==="beforeend")this.append(...n.childNodes);else if(e==="beforebegin")this.before(...n.childNodes);else throw new Error(`The value provided ('${e}') is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'`);return this}prepend(...e){let r=bi(e,this._parseOptions);tt(r,this),this.childNodes.unshift(...r),this.invalidateSelectorCacheRecursively()}append(...e){let r=bi(e,this._parseOptions);tt(r,this),this.childNodes.push(...r),this.invalidateSelectorCacheRecursively()}before(...e){if(!this.parentNode)return;let r=bi(e,this.parentNode._parseOptions),n=this.parentNode.childNodes;tt(r,this.parentNode),n.splice(n.indexOf(this),0,...r),this.parentNode.invalidateSelectorCacheRecursively()}after(...e){if(!this.parentNode)return;let r=bi(e,this.parentNode._parseOptions),n=this.parentNode.childNodes;tt(r,this.parentNode),n.splice(n.indexOf(this)+1,0,...r),this.parentNode.invalidateSelectorCacheRecursively()}get nextSibling(){if(this.parentNode){let e=this.parentNode.childNodes,r=0;for(;r<e.length;){let n=e[r++];if(this===n)return e[r]||null}}return null}get nextElementSibling(){if(this.parentNode){let e=this.parentNode.childNodes,r=0,n=!1;for(;r<e.length;){let i=e[r++];if(n){if(i instanceof t)return i||null}else this===i&&(n=!0)}}return null}get previousSibling(){if(this.parentNode){let e=this.parentNode.childNodes,r=e.length;for(;r>0;){let n=e[--r];if(this===n)return e[r-1]||null}}return null}get previousElementSibling(){if(this.parentNode){let e=this.parentNode.childNodes,r=e.length,n=!1;for(;r>0;){let i=e[--r];if(n){if(i instanceof t)return i||null}else this===i&&(n=!0)}}return null}get children(){let e=[];for(let r of this.childNodes)r instanceof t&&e.push(r);return e}get firstChild(){return this.childNodes[0]}get firstElementChild(){return this.children[0]}get lastChild(){return xt(this.childNodes)}get lastElementChild(){return this.children[this.children.length-1]}get childElementCount(){return this.children.length}get classNames(){return this.classList.toString()}clone(){return mt(this.toString(),this._parseOptions).firstChild}},pt=/<!--[\s\S]*?-->|<(\/?)([a-zA-Z][-.:0-9_a-zA-Z@\xB7\xC0-\xD6\xD8-\xF6\u00F8-\u03A1\u03A3-\u03D9\u03DB-\u03EF\u03F7-\u03FF\u0400-\u04FF\u0500-\u052F\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1E9B\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A-\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA78E\uA790-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64-\uAB65\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A\uFF41-\uFF5A\x37F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]*)((?:\s+[^>]*?(?:(?:'[^']*')|(?:"[^"]*"))?)*)\s*(\/?)>/gu,E2=/(?:^|\s)(id|class)\s*=\s*((?:'[^']*')|(?:"[^"]*")|\S+)/gi,Tl={li:{li:!0,LI:!0},LI:{li:!0,LI:!0},p:{p:!0,div:!0,P:!0,DIV:!0},P:{p:!0,div:!0,P:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},td:{td:!0,th:!0,TD:!0,TH:!0},TD:{td:!0,th:!0,TD:!0,TH:!0},th:{td:!0,th:!0,TD:!0,TH:!0},TH:{td:!0,th:!0,TD:!0,TH:!0},h1:{h1:!0,H1:!0},H1:{h1:!0,H1:!0},h2:{h2:!0,H2:!0},H2:{h2:!0,H2:!0},h3:{h3:!0,H3:!0},H3:{h3:!0,H3:!0},h4:{h4:!0,H4:!0},H4:{h4:!0,H4:!0},h5:{h5:!0,H5:!0},H5:{h5:!0,H5:!0},h6:{h6:!0,H6:!0},H6:{h6:!0,H6:!0}},Sl={li:{ul:!0,ol:!0,UL:!0,OL:!0},LI:{ul:!0,ol:!0,UL:!0,OL:!0},a:{div:!0,DIV:!0},A:{div:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},i:{div:!0,DIV:!0},I:{div:!0,DIV:!0},p:{div:!0,DIV:!0},P:{div:!0,DIV:!0},td:{tr:!0,table:!0,TR:!0,TABLE:!0},TD:{tr:!0,table:!0,TR:!0,TABLE:!0},th:{tr:!0,table:!0,TR:!0,TABLE:!0},TH:{tr:!0,table:!0,TR:!0,TABLE:!0}},en="documentfragmentcontainer"});var Cl=A(()=>{"use strict";wi()});function Ga(t,e={}){return vi(t,e).length===1}var El=A(()=>{"use strict";wi()});function Pe(t,e={}){return mt(t,e)}var tn=A(()=>{"use strict";Oa();wi();Qr();_a();lr();Cl();El();Pe.parse=mt;Pe.HTMLElement=Ot;Pe.CommentNode=$t;Pe.valid=Ga;Pe.Node=Be;Pe.TextNode=Ue;Pe.NodeType=j});var Ge,Dl=A(()=>{"use strict";Ha();tn();ja();Ge=class t{elements;constructor(e){Array.isArray(e)?this.elements=e.filter(r=>r.nodeType===j.ELEMENT_NODE):this.elements=e.nodeType===j.ELEMENT_NODE?[e]:[]}find(e){let r=[];return this.elements.forEach(n=>{r.push(...n.querySelectorAll(e))}),new t(r)}parent(e){let r=[];return this.elements.forEach(n=>{let i=n.parentNode;i&&i.nodeType===j.ELEMENT_NODE&&(!e||Ce(i,e,{adapter:le}))&&(r.includes(i)||r.push(i))}),new t(r)}children(e){let r=[];return this.elements.forEach(n=>{n.childNodes.forEach(i=>{if(i.nodeType===j.ELEMENT_NODE){let o=i;(!e||Ce(o,e,{adapter:le}))&&r.push(o)}})}),new t(r)}siblings(e){let r=[];return this.elements.forEach(n=>{let i=n.parentNode;i&&i.childNodes.forEach(o=>{if(o!==n&&o.nodeType===j.ELEMENT_NODE){let s=o;(!e||Ce(s,e,{adapter:le}))&&(r.includes(s)||r.push(s))}})}),new t(r)}next(e){let r=[];return this.elements.forEach(n=>{let i=n.nextElementSibling;for(;i;){if(!e||Ce(i,e,{adapter:le})){r.push(i);break}break}}),new t(r)}prev(e){let r=[];return this.elements.forEach(n=>{let i=n.previousElementSibling;i&&(!e||Ce(i,e,{adapter:le}))&&r.push(i)}),new t(r)}nextAll(e){let r=[];return this.elements.forEach(n=>{let i=n.nextElementSibling;for(;i;)(!e||Ce(i,e,{adapter:le}))&&r.push(i),i=i.nextElementSibling}),new t(r)}prevAll(e){let r=[];return this.elements.forEach(n=>{let i=n.previousElementSibling;for(;i;)(!e||Ce(i,e,{adapter:le}))&&r.push(i),i=i.previousElementSibling}),new t(r)}closest(e){let r=[];return this.elements.forEach(n=>{let i=n.closest(e);i&&(r.includes(i)||r.push(i))}),new t(r)}first(){return new t(this.elements.slice(0,1))}last(){return new t(this.elements.slice(-1))}eq(e){return e<0&&(e=this.elements.length+e),new t(this.elements.slice(e,e+1))}filter(e){if(typeof e=="string"){let r=this.elements.filter(n=>Ce(n,e,{adapter:le}));return new t(r)}else{let r=this.elements.filter((n,i)=>e(new t(n),i));return new t(r)}}not(e){let r=this.elements.filter(n=>!Ce(n,e,{adapter:le}));return new t(r)}has(e){let r=this.elements.filter(n=>n.querySelector(e)!==null);return new t(r)}add(e){if(e.trim().startsWith("<")){let r=Pe(e);return new t([...this.elements,...r.children])}return this}parents(e){let r=[];return this.elements.forEach(n=>{let i=n.parentNode;for(;i&&i.nodeType===j.ELEMENT_NODE;){let o=i;(!e||Ce(o,e,{adapter:le}))&&(r.includes(o)||r.push(o)),i=i.parentNode}}),new t(r)}parentsUntil(e){let r=[];return this.elements.forEach(n=>{let i=n.parentNode;for(;i&&i.nodeType===j.ELEMENT_NODE;){let o=i;if(Ce(o,e,{adapter:le}))break;r.includes(o)||r.push(o),i=i.parentNode}}),new t(r)}nextUntil(e){let r=[];return this.elements.forEach(n=>{let i=n.nextElementSibling;for(;i&&!Ce(i,e,{adapter:le});)r.push(i),i=i.nextElementSibling}),new t(r)}prevUntil(e){let r=[];return this.elements.forEach(n=>{let i=n.previousElementSibling;for(;i&&!Ce(i,e,{adapter:le});)r.push(i),i=i.previousElementSibling}),new t(r)}slice(e,r){return new t(this.elements.slice(e,r))}contents(){let e=[];return this.elements.forEach(r=>{r.childNodes.forEach(n=>{n.nodeType===j.ELEMENT_NODE&&e.push(n)})}),new t(e)}text(){return this.elements.map(e=>e.text).join("")}html(){return this.elements.length>0?this.elements[0].innerHTML:null}outerHtml(){return this.elements.length>0?this.elements[0].outerHTML:""}attr(e){if(this.elements.length>0)return this.elements[0].getAttribute(e)}attrs(){return this.elements.length>0?this.elements[0].attributes:{}}data(e){if(this.elements.length===0)return;let n=this.elements[0].attributes;if(e)return n[`data-${e}`];let i={};for(let o in n)if(o.startsWith("data-")){let s=o.slice(5);i[s]=n[o]}return i}val(){if(this.elements.length===0)return;let e=this.elements[0];if(e.tagName==="INPUT")return e.getAttribute("value");if(e.tagName==="TEXTAREA")return e.text;if(e.tagName==="SELECT"){let r=e.querySelector("option[selected]")||e.querySelector("option");return r?r.getAttribute("value")??r.text:void 0}return e.getAttribute("value")}prop(e){if(this.elements.length===0)return;let r=this.elements[0];return e==="tagName"?r.tagName:e in r?r[e]:this.attr(e)}exists(){return this.elements.length>0}get length(){return this.elements.length}is(e){return this.elements.some(r=>Ce(r,e,{adapter:le}))}hasClass(e){return this.elements.some(r=>r.classList.contains(e))}index(e){if(this.elements.length===0)return-1;let r=this.elements[0],n=r.parentNode;if(!n)return 0;let i=n.childNodes.filter(o=>o.nodeType===j.ELEMENT_NODE);return e?i.findIndex(o=>o===r):i.indexOf(r)}each(e){return this.elements.forEach((r,n)=>{e(new t(r),n)}),this}map(e){return this.elements.map((r,n)=>e(new t(r),n))}toArray(){return this.elements.map(e=>new t(e))}reduce(e,r){let n=r;return this.elements.forEach((i,o)=>{n=e(n,new t(i),o)}),n}some(e){return this.elements.some((r,n)=>e(new t(r),n))}every(e){return this.elements.every((r,n)=>e(new t(r),n))}tagName(){var e;if(this.elements.length>0)return(e=this.elements[0].tagName)==null?void 0:e.toLowerCase()}clone(){let e=this.elements.map(r=>r.clone());return new t(e)}toString(){return this.outerHtml()}get raw(){return this.elements}get(e=0){return this.elements[e]}}});function Ll(t,e){if(!t)return"";if(!e)return t;try{return t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")?t:new URL(t,e).href}catch{return t}}function D2(t,e){if(t){if(t.startsWith("mailto:"))return"mailto";if(t.startsWith("tel:"))return"tel";if(t.startsWith("#"))return"anchor";if(e)try{let r=new URL(e);return new URL(t,e).hostname===r.hostname?"internal":"external"}catch{return}return t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")?"external":"internal"}}function xi(t,e){let r=(e==null?void 0:e.selector)||"a[href]",n=[];return t.querySelectorAll(r).forEach(i=>{let o=i.getAttribute("href")||"";e!=null&&e.absolute&&(e!=null&&e.baseUrl)&&(o=Ll(o,e.baseUrl));let s=i.querySelectorAll("img"),c=i.querySelectorAll("svg");n.push({href:o,text:i.text.trim(),rel:i.getAttribute("rel"),target:i.getAttribute("target"),title:i.getAttribute("title"),type:D2(o,e==null?void 0:e.baseUrl),hasImage:s.length>0,hasImageWithAlt:s.filter(u=>{var l;return!!((l=u.getAttribute("alt"))!=null&&l.trim())}).length>0,hasSvg:c.length>0,hasSvgWithTitle:c.filter(u=>u.querySelectorAll("title").length>0||!!u.getAttribute("aria-label")).length>0,ariaLabel:i.getAttribute("aria-label")})}),n}function ki(t,e){let r=(e==null?void 0:e.selector)||"img[src]",n=[];return t.querySelectorAll(r).forEach(i=>{let o=i.getAttribute("src")||"";e!=null&&e.absolute&&(e!=null&&e.baseUrl)&&(o=Ll(o,e.baseUrl));let s=i.getAttribute("width"),c=i.getAttribute("height");n.push({src:o,alt:i.getAttribute("alt"),title:i.getAttribute("title"),width:s?parseInt(s,10):void 0,height:c?parseInt(c,10):void 0,srcset:i.getAttribute("srcset"),loading:i.getAttribute("loading"),decoding:i.getAttribute("decoding")})}),n}function Ti(t){let e={},r=t.querySelector("title");e.title=r&&r.text.trim()||void 0;let n=t.querySelector("meta[charset]");if(n)e.charset=n.getAttribute("charset");else{let o=t.querySelector('meta[http-equiv="Content-Type"]'),s=o?o.getAttribute("content"):null;if(s){let c=s.match(/charset=([^;]+)/i);c&&(e.charset=c[1].trim())}}let i=t.querySelector('link[rel="canonical"]');return i&&(e.canonical=i.getAttribute("href")),t.querySelectorAll("meta[name]").forEach(o=>{var u;let s=(u=o.getAttribute("name"))==null?void 0:u.toLowerCase(),c=o.getAttribute("content");if(!(!s||!c))switch(s){case"description":e.description=c;break;case"keywords":e.keywords=c.split(",").map(l=>l.trim()).filter(Boolean);break;case"author":e.author=c;break;case"robots":e.robots=c.split(",").map(l=>l.trim().toLowerCase());break;case"viewport":e.viewport=c;break;default:e[s]=c}}),e}function Si(t){let e={},r=[];return t.querySelectorAll('meta[property^="og:"]').forEach(n=>{let i=n.getAttribute("property"),o=n.getAttribute("content");if(!i||!o)return;let s=i.replace("og:","");switch(s){case"title":e.title=o;break;case"type":e.type=o;break;case"url":e.url=o;break;case"image":r.push(o);break;case"description":e.description=o;break;case"site_name":e.siteName=o;break;case"locale":e.locale=o;break;default:e[s.replace(/_([a-z])/g,(c,u)=>u.toUpperCase())]=o}}),r.length===1?e.image=r[0]:r.length>1&&(e.image=r),e}function Ai(t){let e={};return t.querySelectorAll('meta[name^="twitter:"]').forEach(r=>{let n=r.getAttribute("name"),i=r.getAttribute("content");if(!n||!i)return;let o=n.replace("twitter:","");switch(o){case"card":e.card=i;break;case"site":e.site=i;break;case"creator":e.creator=i;break;case"title":e.title=i;break;case"description":e.description=i;break;case"image":e.image=i;break;default:e[o]=i}}),e}function Ci(t){let e=[];return t.querySelectorAll('script[type="application/ld+json"]').forEach(r=>{let n=r.innerHTML;if(n)try{let i=JSON.parse(n);i["@graph"]&&Array.isArray(i["@graph"])?e.push(...i["@graph"]):Array.isArray(i)?e.push(...i):e.push(i)}catch{}}),e}function Rl(t,e){let r=[],n=e||"form";return t.querySelectorAll(n).forEach(i=>{var s;let o=[];i.querySelectorAll("input, select, textarea").forEach(c=>{var m;let u=(m=c.tagName)==null?void 0:m.toLowerCase(),l=c.getAttribute("type")||(u==="textarea"?"textarea":u==="select"?"select":"text"),d=c.getAttribute("value");u==="textarea"&&(d=c.text);let p={name:c.getAttribute("name"),type:l,value:d,placeholder:c.getAttribute("placeholder"),required:c.hasAttribute("required")};if(u==="select"){p.options=[],c.querySelectorAll("option").forEach(h=>{p.options.push({value:h.getAttribute("value")||h.text,text:h.text.trim()})});let f=c.querySelector("option[selected]");f&&(p.value=f.getAttribute("value")||f.text)}o.push(p)}),r.push({action:i.getAttribute("action"),method:(s=i.getAttribute("method"))==null?void 0:s.toUpperCase(),name:i.getAttribute("name"),id:i.getAttribute("id"),fields:o})}),r}function Pl(t,e){let r=[],n=e||"table";return t.querySelectorAll(n).forEach(i=>{let o=[],s=[],c=i.querySelector("caption"),u=c&&c.text.trim()||void 0,l=null,d=i.querySelector("thead");if(d&&d.querySelectorAll("th, td").forEach(m=>{o.push(m.text.trim())}),o.length===0){let m=i.querySelector("tr");m&&(m.childNodes.forEach(f=>{if(f.nodeType===j.ELEMENT_NODE){let h=f;["TH","TD"].includes(h.tagName)&&o.push(h.text.trim())}}),o.length>0&&(l=m))}i.querySelectorAll("tr").forEach(m=>{if(m.parentNode&&m.parentNode.tagName==="THEAD"||m===l)return;let f=[];m.querySelectorAll("td, th").forEach(h=>{f.push(h.text.trim())}),f.length>0&&s.push(f)}),(o.length>0||s.length>0)&&r.push({caption:u,headers:o,rows:s})}),r}function Nl(t){let e=[];return t.querySelectorAll("script").forEach(r=>{var o;let n=r.getAttribute("src"),i=n||(o=r.innerHTML)==null?void 0:o.trim();!n&&!i||e.push({src:n,type:r.getAttribute("type"),async:r.hasAttribute("async"),defer:r.hasAttribute("defer"),inline:i})}),e}function Ml(t){let e=[];return t.querySelectorAll('link[rel="stylesheet"]').forEach(r=>{e.push({href:r.getAttribute("href"),media:r.getAttribute("media")})}),t.querySelectorAll("style").forEach(r=>{var i;let n=(i=r.innerHTML)==null?void 0:i.trim();n&&e.push({media:r.getAttribute("media"),inline:n})}),e}var Ka=A(()=>{"use strict";tn()});var Fl={};ve(Fl,{ScrapeDocument:()=>Xa});var Xa,Bl=A(()=>{"use strict";Dl();tn();Ka();Xa=class t{rootElement;options;constructor(e,r){this.rootElement=e,this.options=r||{}}static async create(e,r){let n=Pe(e);return new t(n,r)}static createSync(e,r){let n=Pe(e);return new t(n,r)}select(e){let r=this.rootElement.querySelectorAll(e);return new Ge(r)}selectFirst(e){let r=this.rootElement.querySelector(e);return new Ge(r?[r]:[])}selectAll(e){return this.rootElement.querySelectorAll(e).map(n=>new Ge(n))}query(e){return this.select(e)}queryAll(e){return this.selectAll(e)}text(e){let r=this.rootElement.querySelector(e);return r?r.text.trim():""}texts(e){return this.rootElement.querySelectorAll(e).map(n=>n.text.trim()).filter(n=>n.length>0)}attr(e,r){let n=this.rootElement.querySelector(e);return n?n.getAttribute(r):void 0}attrs(e,r){let n=this.rootElement.querySelectorAll(e),i=[];return n.forEach(o=>{let s=o.getAttribute(r);s!==void 0&&i.push(s)}),i}innerHtml(e){let r=this.rootElement.querySelector(e);return r?r.innerHTML:null}outerHtml(e){let r=this.rootElement.querySelector(e);return r?r.outerHTML:""}links(e){return xi(this.rootElement,{...e,baseUrl:this.options.baseUrl})}images(e){return ki(this.rootElement,{...e,baseUrl:this.options.baseUrl})}meta(){return Ti(this.rootElement)}openGraph(){return Si(this.rootElement)}twitterCard(){return Ai(this.rootElement)}jsonLd(){return Ci(this.rootElement)}forms(e){return Rl(this.rootElement,e)}tables(e){return Pl(this.rootElement,e)}scripts(){return Nl(this.rootElement)}styles(){return Ml(this.rootElement)}extract(e){let r={};for(let[n,i]of Object.entries(e)){let o=this.extractField(i);o===void 0?typeof i=="object"&&i.optional===!0||(r[n]=void 0):r[n]=o}return r}extractField(e){if(typeof e=="string")return this.text(e)||void 0;let{selector:r,attribute:n,multiple:i,transform:o}=e,s="default"in e?e.default:void 0;if(i){let c=this.rootElement.querySelectorAll(r),u=[];return c.forEach(l=>{let d;n?d=l.getAttribute(n)||"":d=l.text.trim(),d&&u.push(o?o(d):d)}),u.length===0&&s!==void 0?s:u}else{let c=this.rootElement.querySelector(r);if(!c)return s;let u;return n?u=c.getAttribute(n)||"":u=c.text.trim(),u?o?o(u):u:s}}title(){let e=this.rootElement.querySelector("title");return(e?e.text.trim():"")||void 0}body(){let e=this.rootElement.querySelector("body");return new Ge(e?[e]:[])}head(){let e=this.rootElement.querySelector("head");return new Ge(e?[e]:[])}html(){return this.rootElement.outerHTML}root(){return new Ge(this.rootElement)}exists(e){return this.rootElement.querySelector(e)!==null}count(e){return this.rootElement.querySelectorAll(e).length}findByText(e,r){let n=[];return(r?this.rootElement.querySelectorAll(r):this.rootElement.querySelectorAll("*")).forEach(o=>{o.text.includes(e)&&n.push(new Ge(o))}),n}findByExactText(e,r){let n=[];return(r?this.rootElement.querySelectorAll(r):this.rootElement.querySelectorAll("*")).forEach(o=>{o.text.trim()===e&&n.push(new Ge(o))}),n}findByData(e,r){let n=r!==void 0?`[data-${e}="${r}"]`:`[data-${e}]`;return this.selectAll(n)}get raw(){return this.rootElement}get baseUrl(){return this.options.baseUrl}}});var Ei,UC,Qa,Ya=A(()=>{Ei=()=>{},UC=globalThis.performance,Qa=()=>({on:Ei,stdout:{on:Ei},stderr:{on:Ei},kill:Ei})});function Il(t){let e=t.getReader();return new Rn({async read(){try{let{done:r,value:n}=await e.read();r?this.push(null):this.push(n)}catch(r){this.destroy(r)}},destroy(r,n){e.cancel().finally(()=>n(r))}})}function Za(t){return new ReadableStream({start(e){t.on("data",r=>{e.enqueue(new Uint8Array(r))}),t.on("end",()=>{e.close()}),t.on("error",r=>{e.error(r)})},cancel(){t.destroy()}})}var es=A(()=>{"use strict";Pn();Ln()});var R2,rt,ts=A(()=>{"use strict";Io();Uo();es();On();jn();G();Sn();En();R2=[101,103,204,205,304],rt=class t{timings;connection;raw;constructor(e,r={}){if(this.timings=r.timings,this.connection=r.connection,e instanceof Response)this.raw=e;else{let n=R2.includes(e.statusCode)?null:e.body;this.raw=new Response(n,{status:e.statusCode,statusText:String(e.statusCode),headers:e.headers})}}get status(){return this.raw.status}get statusText(){return this.raw.statusText}get headers(){return this.raw.headers}get ok(){return this.raw.ok}get url(){return this.raw.url}get cache(){return ut(this.headers,this.status).cache}get rateLimit(){return ut(this.headers,this.status).rateLimit}links(){return Br(this.headers)}get headerInfo(){return ut(this.headers,this.status)}async json(){return await this.raw.json()}async yaml(e){let r=await this.raw.text();return Tn(r,e)}async csv(e){let r=await this.raw.text();return Cn(r,e)}async text(){return this.raw.text()}async cleanText(){let e=await this.text();return qn(e)}async blob(){return this.raw.blob()}read(){return this.raw.body}toNodeStream(){return this.raw.body?Il(this.raw.body):null}async pipe(e){let r=this.toNodeStream();if(!r)throw new ae("Response has no body to pipe",{streamType:"response",retriable:!0});return new Promise((n,i)=>{r.pipe(e),r.on("end",n),r.on("error",i),e.on("error",i)})}clone(){return new t(this.raw.clone(),{timings:this.timings,connection:this.connection})}sse(){return $n(this.raw)}async*download(){if(!this.raw.body)return;let e=this.headers.get("content-length"),r=e?parseInt(e,10):void 0,n=0,i=Date.now(),o=0,s=0,c=i,u=0,l=.3,d=m=>{let f=Date.now(),h=f-c,g=n-s;if(h>0){let C=g/h*1e3;u=u===0?C:u*(1-l)+C*l}s=n,c=f;let y;return r&&(y=m?100:Math.min(n/r*100,99.9)),{loaded:n,transferred:n,total:r,percent:y,rate:u,estimated:r&&u>0?(r-n)/u*1e3:void 0,direction:"download"}},p=this.raw.body.getReader();try{for(yield d(!1);;){let{done:m,value:f}=await p.read();if(m){yield d(!0);break}if(f){n+=f.byteLength;let h=Date.now();h-o>100&&(yield d(!1),o=h)}}}finally{p.releaseLock()}}async*[Symbol.asyncIterator](){if(!this.raw.body)return;let e=this.raw.body.getReader();try{for(;;){let{done:r,value:n}=await e.read();if(r)break;n&&(yield n)}}finally{e.releaseLock()}}}});var zt,Di,JC,Li=A(()=>{zt=(...t)=>t.join("/"),Di=t=>t.split("/").slice(0,-1).join("/"),JC=globalThis.performance});function N2(){return"curl-impersonate-chrome"}function rs(){return zt(P2,N2())}async function Hl(){try{return await ko.access(rs()),!0}catch{return!1}}var P2,ql=A(()=>{"use strict";Lt();Li();_n();Ya();Lt();Pn();Ln();P2=zt(Fc(),".recker","bin")});var $l={};ve($l,{CurlTransport:()=>ns});var ns,Ol=A(()=>{"use strict";Ya();ts();G();ql();ns=class{async dispatch(e){return new Promise(async(r,n)=>{let i=["-X",e.method,e.url,"-i","-s","--compressed","--no-keepalive"];e.headers.forEach((l,d)=>{i.push("-H",`${d}: ${l}`)}),e.body&&typeof e.body=="string"&&i.push("-d",e.body);let o=process.env.RECKER_CURL_BIN;o||(await Hl()?o=rs():o="curl");let s=Qa(o,i),c=[],u=[];s.stdout.on("data",l=>c.push(l)),s.stderr.on("data",l=>u.push(l)),s.on("error",l=>{n(new qe(`Failed to spawn curl: ${l.message}`,"ERR_CURL_SPAWN",e))}),s.on("close",l=>{if(l!==0){let T=Buffer.concat(u).toString();n(new qe(`Curl exited with code ${l}: ${T}`,"ERR_CURL_EXIT",e));return}let d=Buffer.concat(c),p=d.indexOf(`\r
|
|
48
48
|
\r
|
|
49
49
|
`),m=4;if(p===-1&&(p=d.indexOf(`
|
|
50
50
|
|
|
51
|
-
`),m=2),p!==-1){let
|
|
51
|
+
`),m=2),p!==-1){let T=d.subarray(0,Math.min(20,p)).toString();if(T.startsWith("HTTP/1.1 100")||T.startsWith("HTTP/2 100")){let k=p+m,S=d.indexOf(`\r
|
|
52
52
|
\r
|
|
53
|
-
`,S);A!==-1&&(p=A,m=4)}}if(p===-1){let w=new Response(d,{status:200,statusText:"OK"});r(new rt(w,{connection:{protocol:"curl"}}));return}let f=d.subarray(0,p).toString(),h=d.subarray(p+m),g=f.split(/\r?\n/),y=g[0],C=200,b="OK",x=y.match(/HTTP\/[\d\.]+ (\d+) ?(.*)/);x&&(C=parseInt(x[1],10),b=x[2]||"");let k=new Headers;for(let w=1;w<g.length;w++){let S=g[w],A=S.indexOf(":");if(A>0){let P=S.substring(0,A).trim(),q=S.substring(A+1).trim();k.append(P,q)}}let v=new Response(h,{status:C,statusText:b,headers:k});r(new rt(v,{timings:{},connection:{protocol:"curl"}}))})})}}});var zl={};ve(zl,{Agent:()=>rw,AsyncLocalStorage:()=>$v,AsyncResource:()=>Ov,Buffer:()=>jv,Client:()=>nw,EventEmitter:()=>Y2,PassThrough:()=>J2,ProxyAgent:()=>tw,Readable:()=>G2,Server:()=>wv,Socket:()=>vv,TLSSocket:()=>xv,Transform:()=>X2,WebSocket:()=>iw,Writable:()=>K2,arch:()=>dv,basename:()=>j2,brotliCompress:()=>Pv,brotliDecompress:()=>Fv,channel:()=>zv,connect:()=>bv,cpus:()=>pv,createCipheriv:()=>av,createConnection:()=>yv,createDecipheriv:()=>ov,createHash:()=>Z2,createHmac:()=>ev,createPrivateKey:()=>rv,createReadStream:()=>B2,createSign:()=>tv,createWriteStream:()=>F2,deepStrictEqual:()=>Vv,default:()=>M2,deflate:()=>Rv,deflateSync:()=>Hv,dirname:()=>z2,errors:()=>ew,exec:()=>Qv,execSync:()=>Yv,existsSync:()=>I2,extname:()=>_2,finished:()=>Q2,format:()=>uv,freemem:()=>mv,gunzip:()=>Nv,gunzipSync:()=>Bv,gzip:()=>Lv,gzipSync:()=>Uv,homedir:()=>hv,inflate:()=>Mv,inflateSync:()=>Iv,inspect:()=>cv,join:()=>O2,lookup:()=>kv,mkdir:()=>jt,ok:()=>_v,performance:()=>qv,pipeline:()=>V2,platform:()=>lv,promises:()=>ow,promisify:()=>sv,randomBytes:()=>nv,randomUUID:()=>iv,readFile:()=>is,readFileSync:()=>U2,readdir:()=>$2,rejects:()=>Kv,request:()=>Zv,resolve:()=>W2,resolve4:()=>Sv,resolve6:()=>Tv,resolveCname:()=>Dv,resolveMx:()=>Av,resolveNs:()=>Ev,resolveTxt:()=>Cv,rm:()=>ss,spawn:()=>Xv,spawnSync:()=>Jv,stat:()=>q2,strictEqual:()=>Wv,throws:()=>Gv,tmpdir:()=>gv,totalmem:()=>fv,unlink:()=>as,writeFile:()=>os,writeFileSync:()=>H2});var de,Q,Ee,M2,F2,B2,U2,H2,I2,jt,is,os,as,ss,q2,$2,O2,z2,j2,_2,W2,V2,G2,K2,X2,J2,Q2,Y2,Z2,ev,tv,rv,nv,iv,ov,av,sv,cv,uv,lv,dv,pv,mv,fv,hv,gv,yv,bv,vv,wv,xv,kv,Sv,Tv,Av,Cv,Ev,Dv,Lv,Rv,Pv,Nv,Mv,Fv,Bv,Uv,Hv,Iv,qv,$v,Ov,zv,jv,_v,Wv,Vv,Gv,Kv,Xv,Jv,Qv,Yv,Zv,ew,tw,rw,nw,iw,ow,Ri=T(()=>{de=()=>{},Q=()=>Promise.resolve(),Ee=class{constructor(){}},M2={},F2=de,B2=de,U2=()=>"",H2=de,I2=()=>!1,jt=Q,is=Q,os=Q,as=Q,ss=Q,q2=Q,$2=Q,O2=(...t)=>t.join("/"),z2=t=>t.split("/").slice(0,-1).join("/"),j2=t=>t.split("/").pop()||"",_2=t=>{let e=t.match(/\.[^.]+$/);return e?e[0]:""},W2=(...t)=>t.join("/"),V2=Q,G2=Ee,K2=Ee,X2=Ee,J2=Ee,Q2=Q,Y2=class{on(){return this}off(){return this}emit(){return!1}once(){return this}addListener(){return this}removeListener(){return this}},Z2=()=>({update:()=>({digest:()=>""})}),ev=()=>({update:()=>({digest:()=>""})}),tv=()=>({update:()=>({}),sign:()=>""}),rv=()=>({}),nv=t=>new Uint8Array(t),iv=()=>crypto.randomUUID(),ov=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:de}),av=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:de}),sv=t=>t,cv=t=>JSON.stringify(t),uv=(...t)=>t.join(" "),lv=()=>"browser",dv=()=>"unknown",pv=()=>[],mv=()=>0,fv=()=>0,hv=()=>"/",gv=()=>"/tmp",yv=de,bv=de,vv=Ee,wv=Ee,xv=Ee,kv=(t,e)=>e(null,"127.0.0.1",4),Sv=Q,Tv=Q,Av=Q,Cv=Q,Ev=Q,Dv=Q,Lv=(t,e)=>e(null,t),Rv=(t,e)=>e(null,t),Pv=(t,e)=>e(null,t),Nv=(t,e)=>e(null,t),Mv=(t,e)=>e(null,t),Fv=(t,e)=>e(null,t),Bv=t=>t,Uv=t=>t,Hv=t=>t,Iv=t=>t,qv=globalThis.performance,$v=class{getStore(){}run(t,e){return e()}enterWith(){}},Ov=Ee,zv=()=>({subscribe:de,unsubscribe:de,publish:de,hasSubscribers:!1}),jv={from:t=>new Uint8Array(typeof t=="string"?new TextEncoder().encode(t):t),alloc:t=>new Uint8Array(t),allocUnsafe:t=>new Uint8Array(t),isBuffer:()=>!1},_v=de,Wv=de,Vv=de,Gv=de,Kv=Q,Xv=()=>({on:de,stdout:{on:de},stderr:{on:de},kill:de}),Jv=()=>({status:0,stdout:"",stderr:""}),Qv=de,Yv=()=>"",Zv=Q,ew={ConnectTimeoutError:Ee,HeadersTimeoutError:Ee,BodyTimeoutError:Ee},tw=Ee,rw=Ee,nw=Ee,iw=Ee,ow={readFile:Q,writeFile:Q,access:Q,stat:Q,mkdir:Q,unlink:Q,readdir:Q}});var aw,jl,_l,h3,cs=T(()=>{aw=()=>{},jl=()=>({update:()=>({digest:()=>""})}),_l=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:aw}),h3=globalThis.performance});var Wl={};ve(Wl,{FileStorage:()=>us});var us,Vl=T(()=>{"use strict";Ri();Li();cs();Lt();us=class{dir;constructor(e=".recker/cache"){this.dir=e}getHash(e){return jl("md5").update(e).digest("hex")}getPath(e){return zt(this.dir,`${this.getHash(e)}.json`)}async ensureDir(){Xt(this.dir)||await jt(this.dir,{recursive:!0})}async get(e){try{let r=this.getPath(e);if(!Xt(r))return;let n=await is(r,"utf-8");return JSON.parse(n)}catch{return}}async set(e,r,n){await this.ensureDir();let i=this.getPath(e);await os(i,JSON.stringify(r),"utf-8")}async delete(e){let r=this.getPath(e);Xt(r)&&await as(r)}async clear(){Xt(this.dir)&&await ss(this.dir,{recursive:!0,force:!0})}}});var sw,pr,x3,ls,kt,Gl,Pi,Kl,ds=T(()=>{sw=()=>Promise.resolve(),pr=class{constructor(){}},x3=globalThis.performance,ls=sw,kt={ConnectTimeoutError:pr,HeadersTimeoutError:pr,BodyTimeoutError:pr},Gl=pr,Pi=pr,Kl=pr});var Xl,T3,Jl=T(()=>{Xl={},T3=globalThis.performance});var Ql,C3,Yl=T(()=>{Ql={},C3=globalThis.performance});var ps,D3,Zl=T(()=>{ps={},D3=globalThis.performance});var nt,ed=T(()=>{nt=globalThis.performance});function ms(t){let e=Mi.get(t);return process.env.DEBUG_TIMING&&console.log(`[TIMING] getTimingForHost(${t}):`,e?"found":"NOT FOUND","map size:",Mi.size),e}function td(t){return Fi.get(t)??0}function fs(t,e){return(Fi.get(t)??0)>e}function rd(t={}){let e=t.timeout??1e4,r=t.allowH2??!1,n=t.keepAliveInitialDelay??6e4,i=t.maxCachedSessions??100,o=t.localAddress;return function(c,u){let{hostname:l,protocol:d,port:p,servername:m}=c,f=d==="https:",h=Number(p)||(f?443:80),g={dns:0,tcp:0,tls:0,total:0},y=nt.now();C();async function C(){try{let b=nt.now(),x;try{x=(await ps.lookup(l,{family:4})).address}catch(S){try{x=(await ps.lookup(l,{family:6})).address}catch{u(S,null);return}}g.dns=nt.now()-b;let k=nt.now(),v=Xl.connect({host:x,port:h,localAddress:o});v.setNoDelay(!0),v.setKeepAlive(!0,n);let w=setTimeout(()=>{v.destroy(new Error(`Connect timeout after ${e}ms`))},e);v.once("error",S=>{clearTimeout(w),u(S,null)}),v.once("connect",()=>{if(g.tcp=nt.now()-k,clearTimeout(w),!f){g.total=nt.now()-y,Mi.set(l,{...g}),Ni++,Fi.set(l,Ni),u(null,v);return}let S=nt.now(),A=m||l,P=`${A}:${h}`,q=rn.get(P),R=Ql.connect({socket:v,servername:A,session:q,ALPNProtocols:r?["h2","http/1.1"]:["http/1.1"],rejectUnauthorized:!0});R.on("session",O=>{if(rn.size>=i){let W=rn.keys().next().value;W&&rn.delete(W)}rn.set(P,O)}),R.once("error",O=>{u(O,null)}),R.once("secureConnect",()=>{g.tls=nt.now()-S,g.total=nt.now()-y,Mi.set(l,{...g}),Ni++,Fi.set(l,Ni),process.env.DEBUG_TIMING&&console.log(`[TIMING] Stored for ${l}:`,g),u(null,R)})})}catch(b){u(b,null)}}}}var Mi,Fi,Ni,rn,hs=T(()=>{"use strict";Jl();Yl();Zl();ed();Mi=new Map,Fi=new Map,Ni=0,rn=new Map});var id={};ve(id,{AgentManager:()=>mr,analyzeBatchDomains:()=>uw,createAgent:()=>cw,extractDomain:()=>nd});function cw(t={}){return new mr(t).getGlobalAgent()}function nd(t){try{return new URL(t).hostname}catch{return null}}function uw(t){let e=new Set;for(let r of t){let n=nd(r);n&&e.add(n)}return{strategy:e.size<=1?"single":"multi",domains:e}}var mr,gs=T(()=>{"use strict";ds();Hn();hs();mr=class{globalAgent;domainAgents;options;protocolCache;constructor(e={},r){this.domainAgents=new Map,this.protocolCache=r,this.options={connections:e.connections??10,pipelining:e.pipelining??1,keepAlive:e.keepAlive??!0,keepAliveTimeout:e.keepAliveTimeout??4*1e3,keepAliveMaxTimeout:e.keepAliveMaxTimeout??600*1e3,keepAliveTimeoutThreshold:e.keepAliveTimeoutThreshold??1*1e3,connectTimeout:e.connectTimeout??10*1e3,perDomainPooling:e.perDomainPooling??!0,localAddress:e.localAddress,maxRequestsPerClient:e.maxRequestsPerClient??0,maxCachedSessions:e.maxCachedSessions??100,maxHeaderSize:e.maxHeaderSize,clientTtl:e.clientTtl??null,allowH2:e.allowH2,maxConcurrentStreams:e.maxConcurrentStreams}}getGlobalAgent(){return this.globalAgent||(this.globalAgent=this.createAgent(this.options)),this.globalAgent}getAgentForDomain(e,r){if(!this.options.perDomainPooling)return this.getGlobalAgent();let n=this.domainAgents.get(e);if(!n){let i={...this.options,...r};n=this.createAgent(i),this.domainAgents.set(e,n)}return n}getAgentForUrl(e){try{let r=new URL(e);return this.getAgentForDomain(r.hostname)}catch{return this.getGlobalAgent()}}getAdaptiveAgentForUrl(e,r){var u;let n=gt(e),i=new URL(n).hostname;if(this.options.perDomainPooling){let l=this.domainAgents.get(i);if(l)return l}let o=(u=this.protocolCache)==null?void 0:u.get(n),s=this.getAdaptiveOptions(o,r);if(!this.options.perDomainPooling)return this.getGlobalAgent();let c=this.createAgent(s);return this.domainAgents.set(i,c),c}getAdaptiveOptions(e,r){let n={...this.options};return e==="h2"||e==="h3"?{...n,connections:Math.min(n.connections,2),pipelining:1,allowH2:!0,maxConcurrentStreams:n.maxConcurrentStreams??100,...r}:e==="http/1.1"?{...n,connections:Math.max(n.connections,6),pipelining:2,allowH2:!1,...r}:{...n,allowH2:n.allowH2??!0,...r}}setProtocolCache(e){this.protocolCache=e}createBatchAgent(e,r,n){let i=Math.max(1,Math.min(Math.ceil(e/2),50,r)),o=r>20&&e>5?2:1,s={...this.options,connections:(n==null?void 0:n.connections)??i,pipelining:(n==null?void 0:n.pipelining)??o,...n};return this.createAgent(s)}createStressTestAgent(e){let n=Math.min(Math.ceil(e/10),100);return this.createAgent({connections:n,pipelining:10,keepAliveTimeout:3e4,keepAliveMaxTimeout:12e4,connectTimeout:5e3})}createAgent(e){let r=rd({timeout:e.connectTimeout,allowH2:e.allowH2,keepAliveInitialDelay:e.keepAliveTimeout,maxCachedSessions:e.maxCachedSessions,localAddress:e.localAddress});return new Pi({connections:e.connections,pipelining:e.pipelining,maxHeaderSize:e.maxHeaderSize,maxRequestsPerClient:e.maxRequestsPerClient,maxCachedSessions:e.maxCachedSessions,clientTtl:e.clientTtl??null,keepAliveTimeout:e.keepAliveTimeout,keepAliveMaxTimeout:e.keepAliveMaxTimeout,keepAliveTimeoutThreshold:e.keepAliveTimeoutThreshold,connectTimeout:e.connectTimeout,socketPath:void 0,allowH2:e.allowH2,maxConcurrentStreams:e.maxConcurrentStreams,connect:r})}getStats(){return{agentCount:1+this.domainAgents.size,domains:Array.from(this.domainAgents.keys()),totalConnections:(1+this.domainAgents.size)*this.options.connections}}async closeDomainAgent(e){let r=this.domainAgents.get(e);r&&(await r.close(),this.domainAgents.delete(e))}async closeAll(){let e=[];this.globalAgent&&(e.push(this.globalAgent.close()),this.globalAgent=void 0);for(let r of this.domainAgents.values())e.push(r.close());this.domainAgents.clear(),await Promise.all(e)}async destroy(){let e=[];this.globalAgent&&(e.push(this.globalAgent.destroy()),this.globalAgent=void 0);for(let r of this.domainAgents.values())e.push(r.destroy());this.domainAgents.clear(),await Promise.all(e)}}});var fr,od=T(()=>{fr=globalThis.performance});var $3,ad,sd=T(()=>{$3=globalThis.performance,ad=class{getStore(){}run(t,e){return e()}enterWith(){}}});var ys,j3,nn,cd=T(()=>{ys=()=>{},j3=globalThis.performance,nn=()=>({subscribe:ys,unsubscribe:ys,publish:ys,hasSubscribers:!1})});var bs,W3,ud=T(()=>{bs=(t,e)=>e(null,"127.0.0.1",4),W3=globalThis.performance});var ld,G3,dd=T(()=>{ld=t=>t,G3=globalThis.performance});function pd(t){return(e,r,n)=>{var i;if((i=t.override)!=null&&i[e]){let o=t.override[e],s=o.includes(":")?6:4;return n(null,o,s)}bs(e,r,n)}}var Q3,md=T(()=>{"use strict";ud();dd();Q3=ld(bs)});var wd={};ve(wd,{UndiciTransport:()=>vs});function fw(t){return(t==null?void 0:t.cause)??(t==null?void 0:t.reason)}function fd(t){return t instanceof V?!0:!t||typeof t!="object"?!1:t.name==="TimeoutError"}function hd(t,e,r){if(!r)return!1;if(e!==void 0)return!0;let n=fw(t),i=t==null?void 0:t.message,o=typeof i=="string"&&(i.includes("Request timed out (total time exceeded)")||i.includes("timed out (total time exceeded)")),s=typeof i=="string"&&i.toLowerCase()==="request was aborted";return t instanceof V||fd(n)||fd(t)||t instanceof kt.RequestAbortedError||o||s||(t==null?void 0:t.code)==="ABORT_ERR"||(t==null?void 0:t.code)==="UND_ERR_REQUEST_TIMEOUT"}function hw(t,e){return{connectTimeout:(t==null?void 0:t.connect)??(t==null?void 0:t.secureConnect)??(e==null?void 0:e.connectTimeout),headersTimeout:(t==null?void 0:t.response)??(e==null?void 0:e.headersTimeout),bodyTimeout:(t==null?void 0:t.send)??(e==null?void 0:e.bodyTimeout),totalTimeout:t==null?void 0:t.request}}function Bi(t){if(!t)return;let e={};return t.minVersion&&(e.minVersion=t.minVersion),t.maxVersion&&(e.maxVersion=t.maxVersion),t.ciphers&&(e.ciphers=t.ciphers),t.honorCipherOrder!==void 0&&(e.honorCipherOrder=t.honorCipherOrder),t.ca&&(e.ca=t.ca),t.cert&&(e.cert=t.cert),t.key&&(e.key=t.key),t.passphrase&&(e.passphrase=t.passphrase),t.rejectUnauthorized!==void 0&&(e.rejectUnauthorized=t.rejectUnauthorized),t.alpnProtocols&&(e.ALPNProtocols=t.alpnProtocols),t.sessionTimeout!==void 0&&(e.sessionTimeout=t.sessionTimeout),t.sessionIdContext&&(e.sessionIdContext=t.sessionIdContext),t.servername!==void 0&&(e.servername=t.servername===!1?"":t.servername),e}function gd(t){if(t.explicit)return t.explicit;let{proxyAgent:e,agentManager:r,dnsAgent:n,url:i,bypass:o}=t,s=bw(i,o);if(e&&!s)return e;if(r)return r.getAgentForUrl(i);if(n)return n}function gw(t){switch(t.toLowerCase().replace(":","")){case"http":return"http";case"https":return"https";case"socks4":return"socks4";case"socks4a":return"socks4a";case"socks5":case"socks":return"socks5";default:return}}function yw(t,e){let[r,n]=e.split("/");if(!n)return t===r;let i=parseInt(n,10);if(isNaN(i))return!1;let o=t.split(".").map(Number),s=r.split(".").map(Number);if(o.length!==4||s.length!==4||o.some(isNaN)||s.some(isNaN))return!1;let c=o[0]<<24|o[1]<<16|o[2]<<8|o[3],u=s[0]<<24|s[1]<<16|s[2]<<8|s[3],l=~((1<<32-i)-1);return(c&l)===(u&l)}function bw(t,e){if(!e||e.length===0)return!1;let r="",n="";try{let i=new URL(t);r=i.hostname,n=i.port}catch{return!1}for(let i of e){if(i==="*")return!0;if(i.includes("/")){if(yw(r,i))return!0;continue}if(i.includes(":")&&!i.includes("/")){let[o,s]=i.split(":");if(r===o&&(!s||n===s))return!0;continue}if(i.startsWith("*.")){let o=i.slice(1);if(r.endsWith(o))return!0;continue}if(i.startsWith(".")){if(r.endsWith(i))return!0;continue}if(r===i)return!0}return!1}function yd(t){if(!t)return;if(typeof t.get=="function"){let n=t.get("content-length");return n?parseInt(n,10):void 0}let e=t["content-length"]??t["Content-Length"];if(e===void 0)return;let r=parseInt(Array.isArray(e)?e[0]:e,10);return Number.isFinite(r)?r:void 0}function Ui(t,e){if(!e)return t;if(typeof Response<"u"&&t instanceof Response){if(!t.body)return t;let o=yd(t.headers),s=Fe(t.body,e,{total:o,direction:"download"});return new Response(s,{status:t.status,statusText:t.statusText,headers:t.headers})}let r=yd(t.headers),n=t.body;if(!n)return t;let i=Fe(Za(n),e,{total:r,direction:"download"});return new Response(i,{status:t.statusCode,headers:t.headers})}function bd(t,e,r){if(t instanceof FormData||!e||!t)return t;if(typeof ReadableStream<"u"&&t instanceof ReadableStream)return Fe(t,e,{total:r,direction:"upload"});if(typeof Blob<"u"&&t instanceof Blob)return Fe(t.stream(),e,{total:t.size,direction:"upload"});if(vw(t)){let n=Za(t);return Fe(n,e,{total:r,direction:"upload"})}if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let n=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return vd(n,e)}if(typeof t=="string"){let i=new TextEncoder().encode(t);return vd(i,e)}return t}function vd(t,e,r=64*1024){let n=0,i=t.byteLength,o=new ReadableStream({pull(s){if(n>=i){s.close();return}let c=Math.min(n+r,i);s.enqueue(t.slice(n,c)),n=c}});return Fe(o,e,{total:i,direction:"upload"})}function vw(t){return t&&typeof t.pipe=="function"&&typeof t.on=="function"}var lw,dw,pw,mw,on,vs,xd=T(()=>{"use strict";ds();ts();G();od();sd();cd();md();gs();Ro();es();Hn();hs();lw=nn("undici:request:create"),dw=nn("undici:request:bodySent"),pw=nn("undici:request:headers"),mw=nn("undici:client:connect"),on=new ad;lw.subscribe(t=>{var r;let e=on.getStore();if(e){e.requestStartTime===0&&(e.requestStartTime=fr.now()),e.timings.dns||e.timings.tcp||e.timings.tls||(e.timings={queuing:0,dns:0,tcp:0,tls:0,firstByte:0,content:0,total:0},e.connection={});let i=t;if((r=i==null?void 0:i.request)!=null&&r.origin&&!e.requestCorrelationId)try{e.requestCorrelationId=new URL(i.request.origin).hostname}catch{}}});dw.subscribe(t=>{let e=on.getStore();e!=null&&e.hooks&&e.hooks.onRequestSent&&e.hooks.onRequestSent()});pw.subscribe(t=>{let e=t,r=on.getStore();if(!r||!e)return;let i=fr.now()-r.requestStartTime;if(e.timing){let{timing:o}=e;r.timings.queuing=o.queuing,r.timings.dns=o.dns,r.timings.tcp=o.tcp,r.timings.tls=o.tls,r.timings.firstByte=o.response,r.timings.content=o.body,r.timings.total=o.ended}else r.timings.firstByte=i;if(r.hooks){let o=r.timings.dns??0,s=r.timings.tcp??0,c=r.timings.tls??0;if(r.hooks.onDnsLookup&&o>0&&r.hooks.onDnsLookup({domain:e.request.origin,duration:o}),r.hooks.onTcpConnect&&s>0&&r.hooks.onTcpConnect({remoteAddress:"",duration:s}),r.hooks.onTlsHandshake&&c>0&&r.hooks.onTlsHandshake({protocol:"",cipher:"",duration:c}),r.hooks.onResponseStart){let u=new Headers;for(let l=0;l<e.response.headers.length;l+=2)u.append(e.response.headers[l],e.response.headers[l+1]);r.hooks.onResponseStart({status:e.response.statusCode,headers:u})}}});mw.subscribe(t=>{var n,i,o,s,c,u;let e=t,r=on.getStore();if(r&&e&&e.socket){let{socket:l}=e;r.connection.remoteAddress=l.remoteAddress,r.connection.remotePort=l.remotePort,r.connection.localAddress=l.localAddress,r.connection.localPort=l.localPort;let d=l.alpnProtocol||(l.tlsSocket?l.tlsSocket.getProtocol():void 0);if(r.connection.protocol=d,r.connection.cipher=l.tlsSocket?(n=l.tlsSocket.getCipher())==null?void 0:n.name:void 0,r.hooks&&(r.hooks.onTcpConnect&&r.hooks.onTcpConnect({remoteAddress:l.remoteAddress,duration:0}),r.hooks.onTlsHandshake&&l.tlsSocket&&r.hooks.onTlsHandshake({protocol:d||"unknown",cipher:((i=l.tlsSocket.getCipher())==null?void 0:i.name)||"unknown",duration:0})),d==="h2"){let p=l.session||l,m=p.state,f=p.remoteSettings,h=p.localSettings;if(r.connection.http2={streamId:l.streamId,streamWeight:l.weight,streamDependency:l.dependency,serverPush:!!l.serverPush,settingsReceived:!!f,maxConcurrentStreams:f==null?void 0:f.maxConcurrentStreams,currentStreams:m==null?void 0:m.streamCount,pendingStreams:m==null?void 0:m.pendingStreamCount,localWindowSize:(m==null?void 0:m.localWindowSize)??(m==null?void 0:m.effectiveLocalWindowSize),remoteWindowSize:m==null?void 0:m.effectiveRecvDataLength,localSettings:h?{...h}:void 0,remoteSettings:f?{...f}:void 0},(o=r.hooks)!=null&&o.onHttp2Session){let g=l.origin||((s=e.connectParams)==null?void 0:s.hostname)||"";r.hooks.onHttp2Session({origin:g,event:"connect",maxConcurrentStreams:f==null?void 0:f.maxConcurrentStreams,activeStreams:m==null?void 0:m.streamCount,localSettings:h?{...h}:void 0,remoteSettings:f?{...f}:void 0})}if((c=r.hooks)!=null&&c.onHttp2Stream&&l.streamId){let g=l.origin||((u=e.connectParams)==null?void 0:u.hostname)||"";r.hooks.onHttp2Stream({streamId:l.streamId,origin:g,event:"open",state:"open",pushed:!!l.serverPush})}}if(d==="h3"||d!=null&&d.startsWith("h3-")){let p=l.stats,m=l.handshakeConfirmed;r.connection.http3={quicVersion:d,zeroRTT:l.zeroRTT||!1,maxStreams:l.maxStreams,handshakeConfirmed:typeof m=="boolean"?m:void 0},p&&typeof p.rtt=="number"&&(r.connection.rtt=p.rtt)}r.connection.reused=!!l.reused}});vs=class{baseUrl;options;proxyAgent;dnsAgent;agentManager;proxyBypassList;tlsOptions;socketClient;observability;protocolCache;constructor(e,r={}){if(this.baseUrl=e||"",this.options=r,this.tlsOptions=r.tls,this.observability=r.observability!==!1,r.protocolCache===!0?this.protocolCache=Un():r.protocolCache instanceof Nr&&(this.protocolCache=r.protocolCache),r.proxy){let n=typeof r.proxy=="string"?{url:r.proxy}:r.proxy,i=new URL(n.url),o=n.type||gw(i.protocol);if(o!=null&&o.startsWith("socks"))throw new qe(`SOCKS proxy (${o}) is not supported. Use an HTTP/HTTPS proxy or a SOCKS-to-HTTP bridge.`,"ERR_UNSUPPORTED_PROXY_TYPE");let s=n.auth?`${n.auth.username}:${n.auth.password}`:void 0,c=s?n.url.replace("://",`://${s}@`):n.url;this.proxyBypassList=n.bypass;let u={uri:c,headers:n.headers,token:n.token,proxyTunnel:n.tunnel,requestTls:Bi(n.requestTls??r.tls),proxyTls:Bi(n.proxyTls)};n.connectTimeout&&(u.connectTimeout=n.connectTimeout),n.http2&&(u.requestTls||(u.requestTls={}),u.requestTls.ALPNProtocols=["h2","http/1.1"]),this.proxyAgent=new Gl(u)}if(this.agentManager=r.agent,r.dns&&!this.agentManager){let n=pd(r.dns);this.dnsAgent=new Pi({connect:{lookup:n}})}this.agentManager||(this.agentManager=new mr({connections:r.connections,pipelining:r.pipelining,keepAlive:r.keepAlive,keepAliveTimeout:r.keepAliveTimeout,keepAliveMaxTimeout:r.keepAliveMaxTimeout,connectTimeout:r.connectTimeout,perDomainPooling:r.perDomainPooling,localAddress:r.localAddress})),r.socketPath&&e&&(this.socketClient=new Kl(e,{socketPath:r.socketPath}))}updateProtocolCache(e,r){if(!this.protocolCache||!(r!=null&&r.protocol))return;let n=Eo(r.protocol);n&&this.protocolCache.set(e,n)}recordProtocolFailure(e,r){var i,o,s,c;if(!this.protocolCache)return;let n=((i=r.message)==null?void 0:i.includes("HTTP/2"))||((o=r.message)==null?void 0:o.includes("h2"))||((s=r.message)==null?void 0:s.includes("GOAWAY"))||((c=r.message)==null?void 0:c.includes("stream"));this.protocolCache.recordFailure(e,n)}shouldUseHttp2(e){return this.protocolCache?this.protocolCache.shouldTryHttp2(e):!0}getProtocolCache(){return this.protocolCache}async dispatch(e){let r=Object.fromEntries(e.headers),n=r["content-length"],i=n?parseInt(n,10):void 0,o;if(this.baseUrl)if(e.url.startsWith(this.baseUrl))o=e.url;else if(e.url.startsWith("http://")||e.url.startsWith("https://"))o=e.url;else{let y=this.baseUrl.endsWith("/")?this.baseUrl.slice(0,-1):this.baseUrl,C=e.url.startsWith("/")?e.url:"/"+e.url;o=y+C}else o=e.url;let s=!!e.beforeRedirect,c=e.maxRedirects??20,u=e.followRedirects!==!1,l=hw(e.timeout,{connectTimeout:this.options.connectTimeout,headersTimeout:this.options.headersTimeout,bodyTimeout:this.options.bodyTimeout}),d,p,m,f,h;if(!this.observability)return this.dispatchFast(e,r,o,l,s,c,u,i);let g={timings:{},connection:{},requestStartTime:0,requestCorrelationId:"",hooks:e._hooks};return on.run(g,async()=>{var y,C;try{let b=fr.now();g.requestStartTime===0&&(g.requestStartTime=b);let x=0,k=e.method,v=e.body,w={...r},S=e.signal;if(l.totalTimeout){if(d=new AbortController,f=new V(e,{phase:"request",timeout:l.totalTimeout}),e.signal){let A=e.signal;S=d.signal;let P=()=>{m=A.reason??new Error("Request aborted by external signal"),d.abort(m)};A.aborted?(m=A.reason??new Error("Request aborted by external signal"),d.abort(m)):(A.addEventListener("abort",P,{once:!0}),h=()=>A.removeEventListener("abort",P))}else S=d.signal;p=setTimeout(()=>{m=f,d.abort(m)},l.totalTimeout)}for(;;){let A=this.socketClient||gd({explicit:e._dispatcher,proxyAgent:this.proxyAgent,agentManager:this.agentManager,dnsAgent:this.dnsAgent,url:o,bypass:this.proxyBypassList}),P=x===0?bd(v,e.onUploadProgress,i):v,q=P;if(q instanceof FormData){let F=new Response(q);q=F.body,F.headers.forEach((oe,ee)=>{ee.toLowerCase()==="content-type"?(w[ee]=oe,delete w["Content-Type"]):w[ee]||(w[ee]=oe)})}let R={method:k,headers:w,body:q,signal:S,dispatcher:A,connectTimeout:l.connectTimeout,headersTimeout:l.headersTimeout,bodyTimeout:l.bodyTimeout,maxRedirections:0};q&&(q instanceof ReadableStream||typeof q.pipe=="function"||q[Symbol.asyncIterator])&&(R.duplex="half");let O=Bi(this.tlsOptions);O&&(R.tls=O);let W=e.http2!==void 0?e.http2:(y=this.options.http2)==null?void 0:y.enabled;if(W?R.allowH2=!0:e.http2===!1&&(R.allowH2=!1),W&&this.options.http2&&(this.options.http2.maxConcurrentStreams!==void 0&&(R.maxConcurrentStreams=this.options.http2.maxConcurrentStreams),this.options.http2.pipelining!==void 0&&(R.pipelining=this.options.http2.pipelining)),W&&this.options.expectContinue!==void 0&&q){let F=this.options.expectContinue;(F===!0||typeof F=="number"&&i!==void 0&&i>F)&&(R.expectContinue=!0)}let z,H=0;try{H=td(new URL(o).hostname)}catch{}if(this.socketClient){let F=new URL(o).pathname+new URL(o).search;z=await this.socketClient.request({path:F||"/",method:k,headers:w,body:P,signal:e.signal})}else z=await ls(o,R);let _=z.statusCode;if(_>=300&&_<400&&u&&x<c){let F=z.headers.location,oe=Array.isArray(F)?F[0]:F;if(oe){let ee=new URL(oe,o).toString();if(s){let He=new Headers;for(let[je,Ie]of Object.entries(z.headers))Ie!==void 0&&(Array.isArray(Ie)?Ie.forEach(Je=>He.append(je,Je)):He.set(je,Ie));let ne={from:o,to:ee,status:_,headers:He},Xe=await e.beforeRedirect(ne);if(Xe===!1){let je=e.onDownloadProgress?Ui(z,e.onDownloadProgress):z;this.updateProtocolCache(o,g.connection);try{let Ie=new URL(o).hostname;if(fs(Ie,H)){let _e=ms(Ie);_e&&!g.timings.dns&&!g.timings.tcp&&!g.timings.tls&&(g.timings.dns=_e.dns,g.timings.tcp=_e.tcp,g.timings.tls=_e.tls)}else!g.timings.dns&&!g.timings.tcp&&!g.timings.tls&&(g.timings.dns=0,g.timings.tcp=0,g.timings.tls=0)}catch{}return new rt(je,{timings:g.timings,connection:g.connection})}typeof Xe=="string"?o=Xe:o=ee}else o=ee;(_===303||(_===301||_===302)&&k!=="GET"&&k!=="HEAD")&&(k="GET",v=null,delete w["content-type"],delete w["content-length"],delete w["Content-Type"],delete w["Content-Length"]),await z.body.arrayBuffer().catch(()=>{}),x++;continue}}let M=e.onDownloadProgress?Ui(z,e.onDownloadProgress):z,B=fr.now()-b,I=fr.now()-g.requestStartTime;g.timings.firstByte||(g.timings.firstByte=B),g.timings.total||(g.timings.total=I),this.updateProtocolCache(o,g.connection);try{let F=new URL(o).hostname;if(fs(F,H)){let ee=ms(F);ee&&!g.timings.dns&&!g.timings.tcp&&!g.timings.tls&&(g.timings.dns=ee.dns,g.timings.tcp=ee.tcp,g.timings.tls=ee.tls)}else!g.timings.dns&&!g.timings.tcp&&!g.timings.tls&&(g.timings.dns=0,g.timings.tcp=0,g.timings.tls=0)}catch{}return new rt(M,{timings:g.timings,connection:g.connection})}}catch(b){if(this.recordProtocolFailure(o,b),b instanceof kt.ConnectTimeoutError||b.code==="UND_ERR_CONNECT_TIMEOUT")throw new V(e,{phase:"connect",timeout:l.connectTimeout});if(b instanceof kt.HeadersTimeoutError||b.code==="UND_ERR_HEADERS_TIMEOUT")throw new V(e,{phase:"response",timeout:l.headersTimeout});if(b instanceof kt.BodyTimeoutError||b.code==="UND_ERR_BODY_TIMEOUT")throw new V(e,{phase:"send",timeout:l.bodyTimeout});if(hd(b,m,l.totalTimeout))throw f??new V(e,{phase:"request",timeout:l.totalTimeout});let x=b.code||((C=b==null?void 0:b.cause)==null?void 0:C.code);if(x==="UND_ERR_HEADERS_OVERFLOW")throw new ft(16*1024,void 0,e);let k=wn(b);throw k?(k.request=e,k):new qe(b.message,x,e)}finally{typeof h=="function"&&h(),p&&clearTimeout(p)}})}async dispatchFast(e,r,n,i,o,s,c,u){var h,g;let l,d,p,m,f;try{let y=0,C=e.method,b=e.body,x={...r},k=e.signal;if(i.totalTimeout){if(l=new AbortController,m=new V(e,{phase:"request",timeout:i.totalTimeout}),e.signal){let v=e.signal;k=l.signal;let w=()=>{p=v.reason??new Error("Request aborted by external signal"),l.abort(p)};v.aborted?(p=v.reason??new Error("Request aborted by external signal"),l.abort(p)):(v.addEventListener("abort",w,{once:!0}),f=()=>v.removeEventListener("abort",w))}else k=l.signal;d=setTimeout(()=>{p=m,l.abort(p)},i.totalTimeout)}for(;;){let v=this.socketClient||gd({explicit:e._dispatcher,proxyAgent:this.proxyAgent,agentManager:this.agentManager,dnsAgent:this.dnsAgent,url:n,bypass:this.proxyBypassList}),w=y===0?bd(b,e.onUploadProgress,u):b,S=w;if(S instanceof FormData){let H=new Response(S);S=H.body,H.headers.forEach((_,E)=>{E.toLowerCase()==="content-type"?(x[E]=_,delete x["Content-Type"]):x[E]||(x[E]=_)})}let A={method:C,headers:x,body:S,signal:k,dispatcher:v,connectTimeout:i.connectTimeout,headersTimeout:i.headersTimeout,bodyTimeout:i.bodyTimeout,maxRedirections:0};S&&(S instanceof ReadableStream||typeof S.pipe=="function"||S[Symbol.asyncIterator])&&(A.duplex="half");let P=Bi(this.tlsOptions);P&&(A.tls=P);let q=e.http2!==void 0?e.http2:(h=this.options.http2)==null?void 0:h.enabled;if(q?A.allowH2=!0:e.http2===!1&&(A.allowH2=!1),q&&this.options.http2&&(this.options.http2.maxConcurrentStreams!==void 0&&(A.maxConcurrentStreams=this.options.http2.maxConcurrentStreams),this.options.http2.pipelining!==void 0&&(A.pipelining=this.options.http2.pipelining)),q&&this.options.expectContinue!==void 0&&S){let H=this.options.expectContinue;(H===!0||typeof H=="number"&&u!==void 0&&u>H)&&(A.expectContinue=!0)}let R;if(this.socketClient){let H=new URL(n).pathname+new URL(n).search;R=await this.socketClient.request({path:H||"/",method:C,headers:x,body:w,signal:e.signal})}else R=await ls(n,A);let O=R.statusCode;if(O>=300&&O<400&&c&&y<s){let H=R.headers.location,_=Array.isArray(H)?H[0]:H;if(_){let E=new URL(_,n).toString();if(o){let M=new Headers;for(let[F,oe]of Object.entries(R.headers))oe!==void 0&&(Array.isArray(oe)?oe.forEach(ee=>M.append(F,ee)):M.set(F,oe));let B={from:n,to:E,status:O,headers:M},I=await e.beforeRedirect(B);if(I===!1){let F=e.onDownloadProgress?Ui(R,e.onDownloadProgress):R;return new rt(F,{timings:{},connection:{}})}typeof I=="string"?n=I:n=E}else n=E;(O===303||(O===301||O===302)&&C!=="GET"&&C!=="HEAD")&&(C="GET",b=null,delete x["content-type"],delete x["content-length"],delete x["Content-Type"],delete x["Content-Length"]),await R.body.arrayBuffer().catch(()=>{}),y++;continue}}let z=e.onDownloadProgress?Ui(R,e.onDownloadProgress):R;return new rt(z,{timings:{},connection:{}})}}catch(y){if(y instanceof kt.ConnectTimeoutError||y.code==="UND_ERR_CONNECT_TIMEOUT")throw new V(e,{phase:"connect",timeout:i.connectTimeout});if(y instanceof kt.HeadersTimeoutError||y.code==="UND_ERR_HEADERS_TIMEOUT")throw new V(e,{phase:"response",timeout:i.headersTimeout});if(y instanceof kt.BodyTimeoutError||y.code==="UND_ERR_BODY_TIMEOUT")throw new V(e,{phase:"send",timeout:i.bodyTimeout});if(hd(y,p,i.totalTimeout))throw m??new V(e,{phase:"request",timeout:i.totalTimeout});let C=y.code||((g=y==null?void 0:y.cause)==null?void 0:g.code);if(C==="UND_ERR_HEADERS_OVERFLOW")throw new ft(16*1024,void 0,e);let b=wn(y);throw b?(b.request=e,b):new qe(y.message,C,e)}finally{typeof f=="function"&&f(),d&&clearTimeout(d)}}}});var Cd={};ve(Cd,{HlsPromise:()=>qi,hls:()=>ww});async function Hi(t,e,r){let i=await(await t.get(e,{signal:r.signal,headers:r.headers,useCurl:r.useCurl})).blob(),o=Buffer.from(await i.arrayBuffer());if(o.length>=2&&o[0]===31&&o[1]===139)try{return Mc(o).toString("utf-8")}catch{}return o.toString("utf-8")}function xs(t,e){let r={},n=t.substring(e.length),i=/([A-Z0-9-]+)=(?:"([^"]*)"|([^,]*))/g,o;for(;(o=i.exec(n))!==null;)r[o[1]]=o[2]??o[3];return r}function Ii(t,e){if(t.startsWith("http://")||t.startsWith("https://"))return t;try{let r=new URL(e),n=r.pathname.substring(0,r.pathname.lastIndexOf("/")+1);return new URL(t,r.origin+n).toString()}catch{return t}}function kd(t,e){let r=t.split(`
|
|
54
|
-
`),n=[],i={};for(let o of r){let s=o.trim();if(s)if(s.startsWith("#EXT-X-STREAM-INF:")){let c=xs(s,"#EXT-X-STREAM-INF:");i={bandwidth:c.BANDWIDTH?parseInt(c.BANDWIDTH,10):void 0,resolution:c.RESOLUTION,codecs:c.CODECS,name:c.NAME}}else!s.startsWith("#")&&i.bandwidth!==void 0&&(n.push({...i,url:
|
|
55
|
-
`),n=[],i=5,o=0,s=0,c=!1,u,l=0,d,p=!1,m,f,h,g=0,y=0;for(let C of r){let b=C.trim();if(b)if(b.startsWith("#EXT-X-TARGETDURATION:"))i=parseInt(b.split(":")[1],10);else if(b.startsWith("#EXT-X-MEDIA-SEQUENCE:"))o=parseInt(b.split(":")[1],10);else if(b.startsWith("#EXT-X-DISCONTINUITY-SEQUENCE:"))s=parseInt(b.split(":")[1],10);else if(b.startsWith("#EXT-X-PLAYLIST-TYPE:"))u=b.split(":")[1];else if(b==="#EXT-X-ENDLIST")c=!0;else if(b==="#EXT-X-DISCONTINUITY")p=!0;else if(b.startsWith("#EXT-X-PROGRAM-DATE-TIME:"))m=new Date(b.split(":").slice(1).join(":"));else if(b.startsWith("#EXT-X-KEY:")){let x=xs(b,"#EXT-X-KEY:");x.METHOD==="NONE"?d=void 0:d={method:x.METHOD,uri:x.URI?Ii(x.URI,e):void 0,iv:x.IV}}else if(b.startsWith("#EXT-X-BYTERANGE:")){let x=b.substring(17);f=Sd(x,g),g=f.offset+f.length}else if(b.startsWith("#EXT-X-MAP:")){let x=xs(b,"#EXT-X-MAP:");h={url:Ii(x.URI,e),byteRange:x.BYTERANGE?Sd(x.BYTERANGE):void 0}}else if(b.startsWith("#EXTINF:")){let x=b.substring(8).split(",")[0];l=parseFloat(x)}else b.startsWith("#")||(n.push({url:Ii(b,e),duration:l,sequence:o+y,key:d,discontinuity:p,programDateTime:m,byteRange:f,initSegment:h}),f&&(g=f.offset+f.length),y++,p=!1,m=void 0,f=void 0)}return{segments:n,targetDuration:i,mediaSequence:o,endList:c,playlistType:u,discontinuitySequence:s}}function Td(t){return t.includes("#EXT-X-STREAM-INF")}function Ad(t,e){if(!t.length)throw new Error("No variants found in master playlist");let r=[...t].sort((n,i)=>(n.bandwidth??0)-(i.bandwidth??0));if(e==="lowest")return r[0];if(e==="highest"||e===void 0)return r[r.length-1];if(e.resolution){let n=t.find(i=>i.resolution===e.resolution);if(n)return n}if(e.bandwidth){let n=e.bandwidth;return r.reduce((i,o)=>{let s=Math.abs((i.bandwidth??0)-n);return Math.abs((o.bandwidth??0)-n)<s?o:i})}return r[r.length-1]}function ww(t,e,r={}){return new qi(t,e,r)}var qi,Ed=T(()=>{"use strict";Lt();Ri();Li();cs();qo();qi=class{client;manifestUrl;options;seenSequences=new Set;downloadedBytes=0;downloadedSegments=0;startTime=0;aborted=!1;abortController=new AbortController;keyCache=new Map;initSegmentCache=new Map;initSegmentPrepended=new Set;defaultRetryStatusCodes=[403,404,408,429,500,502,503,504];consecutiveErrors=0;constructor(e,r,n={}){if(this.client=e,this.manifestUrl=r,this.options={mode:"merge",format:"ts",concurrency:5,...n},this.options.format!=="ts")throw new Error(`Format '${this.options.format}' requires ffmpeg. Use format: 'ts' or install ffmpeg.`)}get[Symbol.toStringTag](){return"HlsPromise"}then(e,r){return Promise.reject(new Error("HlsPromise requires .download(), .stream(), or .pipe() to execute")).then(e,r)}catch(e){return this.then(null,e)}finally(e){return this.then(()=>{e==null||e()},()=>{e==null||e()})}cancel(){this.aborted=!0,this.abortController.abort()}async download(e){this.startTime=Date.now();let r=await this.resolveMediaPlaylist();if(this.options.mode==="chunks")await this.downloadChunks(r,e);else{if(typeof e!="string")throw new Error("Merge mode requires a string path, not a function");await this.downloadMerged(r,e)}}async*stream(){this.startTime=Date.now();let e=await this.resolveMediaPlaylist(),r=this.isLiveMode(),n=this.getMaxDuration(),i=this.options.concurrency??5,o=2e3;for(;!this.aborted;){if(this.consecutiveErrors>=this.getMaxConsecutiveErrors())throw new Error(`Too many consecutive errors (${this.consecutiveErrors}). Limit: ${this.getMaxConsecutiveErrors()}. Stopping download.`);let s;try{s=await this.fetchMediaPlaylist(e)}catch(u){if(r&&this.consecutiveErrors<this.getMaxConsecutiveErrors()){this.options.onError&&this.options.onError(new Error(`Playlist fetch failed: ${u.message}. Retrying...`)),await this.sleep(o);continue}throw u}o=Math.max(1e3,s.targetDuration*1e3/2);let c=s.segments.filter(u=>!this.seenSequences.has(u.sequence));for(let u of c)this.seenSequences.add(u.sequence);if(c.length>0&&(yield*this.downloadSegmentsConcurrent(c,i,s,r,n)),!r||s.endList||n&&Date.now()-this.startTime>n)break;await this.sleep(o)}}async*downloadSegmentsConcurrent(e,r,n,i,o){let s=new Map,c=new Map,u=0,l=0,d=p=>{let m=e[p],f=this.downloadSegment(m).then(h=>({index:p,data:h?{sequence:m.sequence,duration:m.duration,data:h,url:m.url,downloadedAt:new Date}:null}));c.set(p,f)};for(;l<e.length&&c.size<r;)d(l++);for(;u<e.length&&!(this.aborted||o&&Date.now()-this.startTime>o);){if(this.consecutiveErrors>=this.getMaxConsecutiveErrors())throw new Error(`Too many consecutive errors (${this.consecutiveErrors}). Limit: ${this.getMaxConsecutiveErrors()}. Stopping download.`);if(c.size>0){let p=await Promise.race(c.values());c.delete(p.index),s.set(p.index,p.data),l<e.length&&c.size<r&&d(l++)}for(;s.has(u);){let p=s.get(u);s.delete(u),u++,p&&(this.downloadedSegments++,this.downloadedBytes+=p.data.byteLength,this.emitProgress(n,i),this.options.onSegment&&await this.options.onSegment(p),yield p)}}}async pipe(e){try{for await(let r of this.stream())e.write(r.data)||await new Promise(i=>e.once("drain",i))}finally{"end"in e&&typeof e.end=="function"&&e.end()}}async info(){let e=await Hi(this.client,this.manifestUrl,{signal:this.abortController.signal,headers:this.options.headers,useCurl:this.options.useCurl});if(Td(e)){let i=kd(e,this.manifestUrl),o=Ad(i.variants,this.options.quality),s=await Hi(this.client,o.url,{signal:this.abortController.signal,headers:this.options.headers,useCurl:this.options.useCurl}),c=ws(s,o.url),u=c.endList?c.segments.reduce((l,d)=>l+d.duration,0):void 0;return{master:i,playlist:c,selectedVariant:o,isLive:!c.endList,totalDuration:u}}let r=ws(e,this.manifestUrl),n=r.endList?r.segments.reduce((i,o)=>i+o.duration,0):void 0;return{playlist:r,isLive:!r.endList,totalDuration:n}}async resolveMediaPlaylist(){let e={...this.options.headers},r=await Hi(this.client,this.manifestUrl,{signal:this.abortController.signal,headers:e,useCurl:this.options.useCurl});if(!Td(r))return this.manifestUrl;let n=kd(r,this.manifestUrl);return Ad(n.variants,this.options.quality).url}async fetchMediaPlaylist(e){let r=await this.withRetry(async()=>Hi(this.client,e,{signal:this.abortController.signal,headers:this.options.headers,useCurl:this.options.useCurl}),"Fetch playlist",!1);if(!r)throw new Error("Failed to fetch media playlist");return ws(r,e)}async getKey(e){if(this.keyCache.has(e))return this.keyCache.get(e);let i=await(await(await this.client.get(e,{headers:this.options.headers,signal:this.abortController.signal,useCurl:this.options.useCurl})).blob()).arrayBuffer(),o=Buffer.from(i);if(o.length!==16)throw new Error(`Invalid AES-128 key length: ${o.length} bytes (expected 16)`);return this.keyCache.set(e,o),o}generateIV(e){let r=Buffer.alloc(16);return r.writeBigUInt64BE(BigInt(e),8),r}parseIV(e){let r=e.startsWith("0x")||e.startsWith("0X")?e.slice(2):e;return Buffer.from(r.padStart(32,"0"),"hex")}decryptSegment(e,r,n){let i=_l("aes-128-cbc",r,n);return i.setAutoPadding(!0),Buffer.concat([i.update(e),i.final()])}async getInitSegment(e){var u,l;let r=`${e.url}:${((u=e.byteRange)==null?void 0:u.offset)??0}:${((l=e.byteRange)==null?void 0:l.length)??0}`;if(this.initSegmentCache.has(r))return this.initSegmentCache.get(r);let n={...this.options.headers};if(e.byteRange){let{offset:d,length:p}=e.byteRange;n.Range=`bytes=${d}-${d+p-1}`}let s=await(await(await this.client.get(e.url,{headers:n,signal:this.abortController.signal,useCurl:this.options.useCurl})).blob()).arrayBuffer(),c=Buffer.from(s);return this.initSegmentCache.set(r,c),c}async downloadSegment(e){return await this.withRetry(async()=>{var u;let n={...this.options.headers};if(e.byteRange){let{offset:l,length:d}=e.byteRange;n.Range=`bytes=${l}-${l+d-1}`}let s=await(await(await this.client.get(e.url,{headers:n,signal:this.abortController.signal,useCurl:this.options.useCurl})).blob()).arrayBuffer(),c=Buffer.from(s);if(e.key&&e.key.method==="AES-128"){if(!e.key.uri)throw new Error("AES-128 encryption specified but no key URI provided");let l=await this.getKey(e.key.uri),d=e.key.iv?this.parseIV(e.key.iv):this.generateIV(e.sequence);c=this.decryptSegment(c,l,d)}else if(e.key&&e.key.method==="SAMPLE-AES")throw new Error("SAMPLE-AES encryption is not supported. This typically requires DRM handling.");if(e.initSegment){let l=`${e.initSegment.url}:${((u=e.initSegment.byteRange)==null?void 0:u.offset)??0}`;if(!this.initSegmentPrepended.has(l)){let d=await this.getInitSegment(e.initSegment);c=Buffer.concat([d,c]),this.initSegmentPrepended.add(l)}}return new Uint8Array(c)},`Segment ${e.sequence}`,!0)}async downloadMerged(e,r){await jt(Di(r),{recursive:!0});let n=Lr(r,{flags:"a"});try{await this.pipe(n)}catch(i){throw n.destroy(),i}}async downloadChunks(e,r){let n=typeof r=="string"?o=>zt(r,`segment-${o.sequence}.ts`):r,i=typeof r=="string"?r:Di(n({sequence:0,duration:0,url:""}));await jt(i,{recursive:!0});for await(let o of this.stream()){let s=n({sequence:o.sequence,duration:o.duration,url:o.url});await jt(Di(s),{recursive:!0});let c=Lr(s);await new Promise((u,l)=>{c.write(o.data,d=>{d?l(d):(c.end(),u())})})}}isLiveMode(){return this.options.live===!0||typeof this.options.live=="object"}getMaxDuration(){if(typeof this.options.live=="object"&&this.options.live.duration)return this.options.live.duration}emitProgress(e,r){this.options.onProgress&&this.options.onProgress({downloadedSegments:this.downloadedSegments,totalSegments:r?void 0:e.segments.length,downloadedBytes:this.downloadedBytes,currentSegment:Math.max(...this.seenSequences),isLive:r,elapsed:Date.now()-this.startTime})}sleep(e){return new Promise(r=>{let n=setTimeout(r,e);this.abortController.signal.addEventListener("abort",()=>{clearTimeout(n),r()},{once:!0})})}getRetryConfig(){let e=this.isLiveMode(),r=this.options.retry||{};return{maxAttempts:r.maxAttempts??(e?5:3),delay:r.delay??1e3,maxDelay:r.maxDelay??3e4,backoff:r.backoff??2,jitter:r.jitter??!0,statusCodes:r.statusCodes??this.defaultRetryStatusCodes}}getMaxConsecutiveErrors(){let e=this.isLiveMode();return this.options.maxConsecutiveErrors??(e?10:3)}calculateRetryDelay(e,r){let n=r.delay*Math.pow(r.backoff,e);if(n=Math.min(n,r.maxDelay),r.jitter){let i=n*.25;n=n-i+Math.random()*i*2}return Math.round(n)}isRetryableError(e,r){var i;if(e.code==="ECONNRESET"||e.code==="ETIMEDOUT"||e.code==="ENOTFOUND")return!0;let n=e.status||e.statusCode||((i=e.response)==null?void 0:i.status);return!!(n&&r.statusCodes.includes(n))}async withRetry(e,r,n=!1){let i=this.getRetryConfig(),o=this.isLiveMode(),s=null;for(let c=0;c<=i.maxAttempts;c++){if(this.aborted)throw new Error("Aborted");try{let u=await e();return this.consecutiveErrors=0,u}catch(u){if(s=u,!this.isRetryableError(u,i)){if(this.options.onError&&this.options.onError(u),n&&o)return this.consecutiveErrors++,null;throw u}if(c<i.maxAttempts){let l=this.calculateRetryDelay(c,i);if(this.options.onError){let d=new Error(`${r}: ${u.message}. Retrying in ${l}ms (attempt ${c+1}/${i.maxAttempts})`);d.cause=u,d.isRetry=!0,this.options.onError(d)}await this.sleep(l)}}}if(this.consecutiveErrors++,this.options.onError&&s&&this.options.onError(s),n&&o)return null;throw s||new Error(`${r}: All retry attempts failed`)}}});var Dd={};ve(Dd,{Agent:()=>Xx,AsyncLocalStorage:()=>Mx,AsyncResource:()=>Fx,Buffer:()=>Ux,Client:()=>Jx,EventEmitter:()=>Ww,PassThrough:()=>jw,ProxyAgent:()=>Kx,Readable:()=>$w,Server:()=>mx,Socket:()=>px,TLSSocket:()=>fx,Transform:()=>zw,WebSocket:()=>Qx,Writable:()=>Ow,arch:()=>ix,basename:()=>Uw,brotliCompress:()=>Tx,brotliDecompress:()=>Ex,channel:()=>Bx,connect:()=>dx,cpus:()=>ox,createCipheriv:()=>Zw,createConnection:()=>lx,createDecipheriv:()=>Yw,createHash:()=>Vw,createHmac:()=>Gw,createPrivateKey:()=>Xw,createReadStream:()=>Sw,createSign:()=>Kw,createWriteStream:()=>kw,deepStrictEqual:()=>qx,default:()=>xw,deflate:()=>Sx,deflateSync:()=>Rx,dirname:()=>Bw,errors:()=>Gx,exec:()=>_x,execSync:()=>Wx,existsSync:()=>Cw,extname:()=>Hw,finished:()=>_w,format:()=>rx,freemem:()=>ax,gunzip:()=>Ax,gunzipSync:()=>Dx,gzip:()=>kx,gzipSync:()=>Lx,homedir:()=>cx,inflate:()=>Cx,inflateSync:()=>Px,inspect:()=>tx,join:()=>Fw,lookup:()=>hx,mkdir:()=>Ew,ok:()=>Hx,performance:()=>Nx,pipeline:()=>qw,platform:()=>nx,promises:()=>Yx,promisify:()=>ex,randomBytes:()=>Jw,randomUUID:()=>Qw,readFile:()=>Dw,readFileSync:()=>Tw,readdir:()=>Mw,rejects:()=>Ox,request:()=>Vx,resolve:()=>Iw,resolve4:()=>gx,resolve6:()=>yx,resolveCname:()=>xx,resolveMx:()=>bx,resolveNs:()=>wx,resolveTxt:()=>vx,rm:()=>Pw,spawn:()=>zx,spawnSync:()=>jx,stat:()=>Nw,strictEqual:()=>Ix,throws:()=>$x,tmpdir:()=>ux,totalmem:()=>sx,unlink:()=>Rw,writeFile:()=>Lw,writeFileSync:()=>Aw});var pe,Y,De,xw,kw,Sw,Tw,Aw,Cw,Ew,Dw,Lw,Rw,Pw,Nw,Mw,Fw,Bw,Uw,Hw,Iw,qw,$w,Ow,zw,jw,_w,Ww,Vw,Gw,Kw,Xw,Jw,Qw,Yw,Zw,ex,tx,rx,nx,ix,ox,ax,sx,cx,ux,lx,dx,px,mx,fx,hx,gx,yx,bx,vx,wx,xx,kx,Sx,Tx,Ax,Cx,Ex,Dx,Lx,Rx,Px,Nx,Mx,Fx,Bx,Ux,Hx,Ix,qx,$x,Ox,zx,jx,_x,Wx,Vx,Gx,Kx,Xx,Jx,Qx,Yx,Ld=T(()=>{pe=()=>{},Y=()=>Promise.resolve(),De=class{constructor(){}},xw={},kw=pe,Sw=pe,Tw=()=>"",Aw=pe,Cw=()=>!1,Ew=Y,Dw=Y,Lw=Y,Rw=Y,Pw=Y,Nw=Y,Mw=Y,Fw=(...t)=>t.join("/"),Bw=t=>t.split("/").slice(0,-1).join("/"),Uw=t=>t.split("/").pop()||"",Hw=t=>{let e=t.match(/\.[^.]+$/);return e?e[0]:""},Iw=(...t)=>t.join("/"),qw=Y,$w=De,Ow=De,zw=De,jw=De,_w=Y,Ww=class{on(){return this}off(){return this}emit(){return!1}once(){return this}addListener(){return this}removeListener(){return this}},Vw=()=>({update:()=>({digest:()=>""})}),Gw=()=>({update:()=>({digest:()=>""})}),Kw=()=>({update:()=>({}),sign:()=>""}),Xw=()=>({}),Jw=t=>new Uint8Array(t),Qw=()=>crypto.randomUUID(),Yw=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:pe}),Zw=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:pe}),ex=t=>t,tx=t=>JSON.stringify(t),rx=(...t)=>t.join(" "),nx=()=>"browser",ix=()=>"unknown",ox=()=>[],ax=()=>0,sx=()=>0,cx=()=>"/",ux=()=>"/tmp",lx=pe,dx=pe,px=De,mx=De,fx=De,hx=(t,e)=>e(null,"127.0.0.1",4),gx=Y,yx=Y,bx=Y,vx=Y,wx=Y,xx=Y,kx=(t,e)=>e(null,t),Sx=(t,e)=>e(null,t),Tx=(t,e)=>e(null,t),Ax=(t,e)=>e(null,t),Cx=(t,e)=>e(null,t),Ex=(t,e)=>e(null,t),Dx=t=>t,Lx=t=>t,Rx=t=>t,Px=t=>t,Nx=globalThis.performance,Mx=class{getStore(){}run(t,e){return e()}enterWith(){}},Fx=De,Bx=()=>({subscribe:pe,unsubscribe:pe,publish:pe,hasSubscribers:!1}),Ux={from:t=>new Uint8Array(typeof t=="string"?new TextEncoder().encode(t):t),alloc:t=>new Uint8Array(t),allocUnsafe:t=>new Uint8Array(t),isBuffer:()=>!1},Hx=pe,Ix=pe,qx=pe,$x=pe,Ox=Y,zx=()=>({on:pe,stdout:{on:pe},stderr:{on:pe},kill:pe}),jx=()=>({status:0,stdout:"",stderr:""}),_x=pe,Wx=()=>"",Vx=Y,Gx={ConnectTimeoutError:De,HeadersTimeoutError:De,BodyTimeoutError:De},Kx=De,Xx=De,Jx=De,Qx=De,Yx={readFile:Y,writeFile:Y,access:Y,stat:Y,mkdir:Y,unlink:Y,readdir:Y}});var Y1={};ve(Y1,{AbortError:()=>co,AuthenticationError:()=>uo,BrowserCrypto:()=>oo,CircuitBreakerError:()=>cn,Client:()=>sn,ConfigurationError:()=>Le,ConnectionError:()=>Tr,DownloadError:()=>fo,FetchTransport:()=>yt,FilterBuilder:()=>Qi,GraphQLError:()=>un,GrpcError:()=>_t,GrpcStatusCode:()=>gr,GrpcWebClient:()=>Wi,HarRecorder:()=>Zi,Http2Error:()=>Et,HttpError:()=>We,HttpRequest:()=>ht,HttpStatus:()=>kr,HttpStatusText:()=>Ep,IndexedDBStorage:()=>Es,JsonRpcClient:()=>_i,JsonRpcErrorCodes:()=>hr,JsonRpcException:()=>ln,LinkHeaderParser:()=>zn,LinkRel:()=>Se,MaxSizeExceededError:()=>ft,NetworkError:()=>qe,NotFoundError:()=>po,ODataClient:()=>Yi,ODataException:()=>Xi,ODataQueryBuilder:()=>Ji,ParseError:()=>mo,ProtocolError:()=>lo,QueueCancelledError:()=>$e,RateLimitExceededError:()=>ji,Recker:()=>sn,ReckerError:()=>$,RequestPromise:()=>Jt,SEO_THRESHOLDS:()=>U,SeoAnalyzer:()=>ro,SeoRulesEngine:()=>pn,ServiceWorkerCache:()=>ao,SoapClient:()=>Ki,StateError:()=>Ar,StreamError:()=>ae,TimeoutError:()=>V,USER_AGENT_CATEGORIES:()=>Do,USER_AGENT_PRESETS:()=>fc,UnsupportedError:()=>me,ValidationError:()=>Cr,WorkerTransport:()=>Ss,XmlRpcClient:()=>Gi,ai:()=>Ms,analyzeSeo:()=>Ls,browserCrypto:()=>Sr,circuitBreakerPlugin:()=>a1,classifyTransportError:()=>xn,compression:()=>Fs,consoleLogger:()=>Rt,cookieJarPlugin:()=>s1,createClient:()=>zi,createCompressionMiddleware:()=>J1,createFormData:()=>Pr,createGrpcWebClient:()=>Ud,createJsonRpcClient:()=>Pd,createLevelLogger:()=>To,createMultipart:()=>Z0,createODataClient:()=>qd,createRulesEngine:()=>to,createSoapClient:()=>Id,createXSRFMiddleware:()=>Jo,createXmlRpcClient:()=>Hd,decodeText:()=>x1,decompress:()=>X1,dedupPlugin:()=>Ko,del:()=>Np,detectCharset:()=>w1,detectDeviceType:()=>gc,detectFromBOM:()=>Ds,detectFromContentType:()=>$d,detectFromHTMLMeta:()=>jd,detectFromXMLDeclaration:()=>zd,get:()=>Dp,getDefaultUserAgent:()=>Mr,getRandomUserAgent:()=>py,getStatusText:()=>I1,getSupportedEncodings:()=>k1,getUserAgent:()=>hc,graphql:()=>l1,graphqlPlugin:()=>u1,grpcWeb:()=>m1,harRecorder:()=>yr,harRecorderPlugin:()=>y1,head:()=>Mp,hmacSha256:()=>O1,isCharsetSupported:()=>S1,isClientError:()=>F1,isCompressionSupported:()=>Bs,isError:()=>U1,isFileUpload:()=>oc,isMobile:()=>my,isPlainObject:()=>Rr,isRedirect:()=>M1,isRetryable:()=>H1,isServerError:()=>B1,isSuccess:()=>N1,jsonCodec:()=>Bd,jsonrpc:()=>p1,loggerPlugin:()=>i1,normalizeCharset:()=>St,odata:()=>g1,options:()=>Fp,parse:()=>_c,parseAcceptInfo:()=>Lc,parseAuthInfo:()=>Rc,parseCSPInfo:()=>Ec,parseCacheInfo:()=>Sc,parseClockSkew:()=>Pc,parseCompressionInfo:()=>Cc,parseContentType:()=>Dc,parseHeaders:()=>ut,parseHttp2Error:()=>wn,parseLink:()=>Nc,parseLinkHeader:()=>Br,parsePlatformInfo:()=>Tc,parseRateLimitInfo:()=>Ac,parseXML:()=>_c,patch:()=>Pp,post:()=>Lp,processBody:()=>Ao,purge:()=>Bp,put:()=>Rp,randomBytes:()=>j1,randomUUID:()=>z1,rateLimitPlugin:()=>n1,recker:()=>Q1,retryPlugin:()=>Bo,serialize:()=>rr,serializeXML:()=>rr,serverTimingPlugin:()=>d1,sha1:()=>$1,sha256:()=>q1,silentLogger:()=>So,simulateNetwork:()=>Cs,soap:()=>h1,stripBOM:()=>Od,toCurl:()=>o1,ws:()=>Up,xmlResponse:()=>$y,xsrfPlugin:()=>Xo});G();function Gs(t){if(t==null){let e=new $("fnOrPromise cannot be null or undefined",void 0,void 0,["Pass a valid function or promise to tryFn.","Check the caller to ensure an undefined value is not passed."]);return e.stack=new Error().stack,[!1,e,void 0]}if(typeof t=="function")try{let e=t();return e==null?[!0,null,e]:typeof e.then=="function"?e.then(r=>[!0,null,r]).catch(r=>{if(r instanceof Error&&Object.isExtensible(r)){let n=Object.getOwnPropertyDescriptor(r,"stack");!n||n.writable&&n.configurable}return[!1,ho(r,"Function threw an error"),void 0]}):[!0,null,e]}catch(e){return[!1,ho(e,"Function threw an error"),void 0]}return typeof t.then=="function"?Promise.resolve(t).then(e=>[!0,null,e]).catch(e=>[!1,ho(e,"Promise rejected"),void 0]):[!0,null,t]}function ho(t,e){return t instanceof Error?t:new $(`${e}: ${String(t)}`,void 0,void 0,["Inspect the original value being thrown.","Ensure errors are instances of Error or ReckerError.","Add contextual information when throwing custom errors."])}G();Tn();En();function J0(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var Jt=class{promise;abortController;constructor(e,r){this.promise=e,this.abortController=r}get[Symbol.toStringTag](){return"RequestPromise"}then(e,r){return this.promise.then(e,r)}catch(e){return this.promise.catch(e)}finally(e){return this.promise.finally(e)}cancel(){this.abortController&&this.abortController.abort()}async json(){return(await this.promise).json()}async yaml(e){let n=await(await this.promise).text();return Sn(n,e)}async csv(e){let n=await(await this.promise).text();return Cn(n,e)}async text(){return(await this.promise).text()}async cleanText(){return(await this.promise).cleanText()}async blob(){return(await this.promise).blob()}async read(){return(await this.promise).read()}async write(e){if(!J0())throw new ae("write() is only supported in Node.js environments.",{streamType:"response",retriable:!1});let n=(await this.promise).read();if(!n)throw new ae("Response has no body to write",{streamType:"response",retriable:!0});let[{createWriteStream:i},{pipeline:o},{Readable:s}]=await Promise.all([Promise.resolve().then(()=>(Lt(),Qs)),Promise.resolve().then(()=>(Ln(),ec)),Promise.resolve().then(()=>(Pn(),rc))]),c=s.fromWeb(n),u=i(e);await o(c,u)}async parse(e){let r=await this.json();return e.parse(r)}async safe(){return Gs(()=>this.json())}async*sse(){yield*(await this.promise).sse()}async*download(){yield*(await this.promise).download()}async*[Symbol.asyncIterator](){yield*await this.promise}};G();var Rt={debug:(t,...e)=>{typeof t=="object"?console.debug(t,...e):console.debug(t,...e)},info:(t,...e)=>{typeof t=="object"?console.info(t,...e):console.info(t,...e)},warn:(t,...e)=>{typeof t=="object"?console.warn(t,...e):console.warn(t,...e)},error:(t,...e)=>{typeof t=="object"?console.error(t,...e):console.error(t,...e)}},So={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};function To(t,e){let r={debug:0,info:1,warn:2,error:3},n=r[e];return{debug:(...i)=>{r.debug>=n&&t.debug(...i)},info:(...i)=>{r.info>=n&&t.info(...i)},warn:(...i)=>{r.warn>=n&&t.warn(...i)},error:(...i)=>{r.error>=n&&t.error(...i)}}}var Nn={balanced:{maxConcurrentStreams:100,initialWindowSize:65535,maxHeaderListSize:16384,enablePush:0},performance:{maxConcurrentStreams:128,initialWindowSize:1048576,maxHeaderListSize:32768,enablePush:0},"low-latency":{maxConcurrentStreams:250,initialWindowSize:65535,maxHeaderListSize:16384,enablePush:0},"low-memory":{maxConcurrentStreams:50,initialWindowSize:32768,maxHeaderListSize:8192,enablePush:0}};var Qt=class t{config;systemMessage=null;messages=[];constructor(e={}){this.config={maxPairs:e.maxPairs??12,systemPrompt:e.systemPrompt??""},this.config.systemPrompt&&(this.systemMessage={role:"system",content:this.config.systemPrompt})}setSystemPrompt(e){this.config.systemPrompt=e,e?this.systemMessage={role:"system",content:e}:this.systemMessage=null}getSystemPrompt(){return this.config.systemPrompt}addUserMessage(e){this.messages.push({role:"user",content:e}),this.prune()}addAssistantMessage(e){this.messages.push({role:"assistant",content:e}),this.prune()}addMessage(e){if(e.role==="system"){this.setSystemPrompt(typeof e.content=="string"?e.content:"");return}this.messages.push(e),this.prune()}buildMessages(e){return this.addUserMessage(e),this.getMessages()}recordResponse(e){this.addAssistantMessage(e)}getMessages(){let e=[];return this.systemMessage&&e.push(this.systemMessage),e.push(...this.messages),e}getConversation(){return this.messages}getPairCount(){var r;let e=0;for(let n=0;n<this.messages.length-1;n+=2)this.messages[n].role==="user"&&((r=this.messages[n+1])==null?void 0:r.role)==="assistant"&&e++;return e}clear(){this.messages=[]}reset(){this.messages=[],this.systemMessage=null,this.config.systemPrompt=""}setConfig(e){e.maxPairs!==void 0&&(this.config.maxPairs=e.maxPairs,this.prune()),e.systemPrompt!==void 0&&this.setSystemPrompt(e.systemPrompt)}getConfig(){return{...this.config}}prune(){let e=this.config.maxPairs*2;if(this.messages.length>e){let r=this.messages.length-e,n=Math.ceil(r/2)*2;this.messages=this.messages.slice(n)}}isEmpty(){return this.messages.length===0}getMessageCount(){return this.messages.length}toJSON(){var e;return{config:this.config,systemPrompt:(e=this.systemMessage)==null?void 0:e.content,messages:[...this.messages]}}static fromJSON(e){let r=new t(e.config);if(e.systemPrompt&&r.setSystemPrompt(e.systemPrompt),e.messages)for(let n of e.messages)r.addMessage(n);return r}};var Mn=class extends Error{constructor(e){super(e),this.name="AIConfigurationError"}},Q0={openai:"/chat/completions",anthropic:"/messages",google:"/models/{model}:generateContent",groq:"/chat/completions",mistral:"/chat/completions",cohere:"/chat",together:"/chat/completions",perplexity:"/chat/completions",deepseek:"/chat/completions",fireworks:"/chat/completions",xai:"/chat/completions",replicate:"/predictions",huggingface:"/models/{model}/v1/chat/completions",ollama:"/api/chat","azure-openai":"/chat/completions","cloudflare-workers-ai":"/ai/run/@cf/meta/llama-2-7b-chat-int8",custom:"/chat/completions"},Yt=class{client;config;memory;constructor(e,r){this.client=e,this.config=r,this.memory=new Qt(r.memory)}get provider(){return this.config.provider}get model(){return this.config.model}async chat(e){let r=this.memory.buildMessages(e),n=await this.makeRequest(r,!1);return this.memory.recordResponse(n.content),n}async chatStream(e){let r=this.memory.buildMessages(e),n=await this.makeStreamRequest(r);return this.wrapStreamWithMemory(n)}async prompt(e){let r=[{role:"user",content:e}];return this.makeRequest(r,!1)}async promptStream(e){let r=[{role:"user",content:e}];return this.makeStreamRequest(r)}clearMemory(){this.memory.clear()}getMemory(){return this.memory.getConversation()}setMemoryConfig(e){this.memory.setConfig(e)}getMemoryConfig(){return this.memory.getConfig()}async makeRequest(e,r){let n=performance.now(),i=this.buildRequestBody(e,r),o=this.getEndpoint(),c=await(await this.client.post(o,{json:i,headers:this.getExtraHeaders()})).json();return this.parseResponse(c,n)}async makeStreamRequest(e){let r=this.buildRequestBody(e,!0),n=this.getEndpoint(),i=await this.client.post(n,{json:r,headers:this.getExtraHeaders()});return this.parseSSEStream(i.raw)}buildRequestBody(e,r){let n=this.config.provider;return n==="anthropic"?this.buildAnthropicBody(e,r):n==="google"?this.buildGoogleBody(e,r):n==="cohere"?this.buildCohereBody(e,r):{model:this.config.model,messages:e.map(i=>({role:i.role,content:i.content})),stream:r,...r&&{stream_options:{include_usage:!0}}}}buildAnthropicBody(e,r){let n=e.filter(o=>o.role==="system"),i=e.filter(o=>o.role!=="system");return{model:this.config.model,max_tokens:4096,system:n.map(o=>o.content).join(`
|
|
53
|
+
`,k);S!==-1&&(p=S,m=4)}}if(p===-1){let T=new Response(d,{status:200,statusText:"OK"});r(new rt(T,{connection:{protocol:"curl"}}));return}let f=d.subarray(0,p).toString(),h=d.subarray(p+m),g=f.split(/\r?\n/),y=g[0],C=200,b="OK",w=y.match(/HTTP\/[\d\.]+ (\d+) ?(.*)/);w&&(C=parseInt(w[1],10),b=w[2]||"");let x=new Headers;for(let T=1;T<g.length;T++){let k=g[T],S=k.indexOf(":");if(S>0){let P=k.substring(0,S).trim(),q=k.substring(S+1).trim();x.append(P,q)}}let v=new Response(h,{status:C,statusText:b,headers:x});r(new rt(v,{timings:{},connection:{protocol:"curl"}}))})})}}});var zl={};ve(zl,{Agent:()=>rw,AsyncLocalStorage:()=>$v,AsyncResource:()=>Ov,Buffer:()=>jv,Client:()=>nw,EventEmitter:()=>Y2,PassThrough:()=>J2,ProxyAgent:()=>tw,Readable:()=>G2,Server:()=>wv,Socket:()=>vv,TLSSocket:()=>xv,Transform:()=>X2,WebSocket:()=>iw,Writable:()=>K2,arch:()=>dv,basename:()=>j2,brotliCompress:()=>Pv,brotliDecompress:()=>Fv,channel:()=>zv,connect:()=>bv,cpus:()=>pv,createCipheriv:()=>av,createConnection:()=>yv,createDecipheriv:()=>ov,createHash:()=>Z2,createHmac:()=>ev,createPrivateKey:()=>rv,createReadStream:()=>B2,createSign:()=>tv,createWriteStream:()=>F2,deepStrictEqual:()=>Vv,default:()=>M2,deflate:()=>Rv,deflateSync:()=>Iv,dirname:()=>z2,errors:()=>ew,exec:()=>Qv,execSync:()=>Yv,existsSync:()=>H2,extname:()=>_2,finished:()=>Q2,format:()=>uv,freemem:()=>mv,gunzip:()=>Nv,gunzipSync:()=>Bv,gzip:()=>Lv,gzipSync:()=>Uv,homedir:()=>hv,inflate:()=>Mv,inflateSync:()=>Hv,inspect:()=>cv,join:()=>O2,lookup:()=>kv,mkdir:()=>jt,ok:()=>_v,performance:()=>qv,pipeline:()=>V2,platform:()=>lv,promises:()=>ow,promisify:()=>sv,randomBytes:()=>nv,randomUUID:()=>iv,readFile:()=>is,readFileSync:()=>U2,readdir:()=>$2,rejects:()=>Kv,request:()=>Zv,resolve:()=>W2,resolve4:()=>Tv,resolve6:()=>Sv,resolveCname:()=>Dv,resolveMx:()=>Av,resolveNs:()=>Ev,resolveTxt:()=>Cv,rm:()=>ss,spawn:()=>Xv,spawnSync:()=>Jv,stat:()=>q2,strictEqual:()=>Wv,throws:()=>Gv,tmpdir:()=>gv,totalmem:()=>fv,unlink:()=>as,writeFile:()=>os,writeFileSync:()=>I2});var de,Q,Ee,M2,F2,B2,U2,I2,H2,jt,is,os,as,ss,q2,$2,O2,z2,j2,_2,W2,V2,G2,K2,X2,J2,Q2,Y2,Z2,ev,tv,rv,nv,iv,ov,av,sv,cv,uv,lv,dv,pv,mv,fv,hv,gv,yv,bv,vv,wv,xv,kv,Tv,Sv,Av,Cv,Ev,Dv,Lv,Rv,Pv,Nv,Mv,Fv,Bv,Uv,Iv,Hv,qv,$v,Ov,zv,jv,_v,Wv,Vv,Gv,Kv,Xv,Jv,Qv,Yv,Zv,ew,tw,rw,nw,iw,ow,Ri=A(()=>{de=()=>{},Q=()=>Promise.resolve(),Ee=class{constructor(){}},M2={},F2=de,B2=de,U2=()=>"",I2=de,H2=()=>!1,jt=Q,is=Q,os=Q,as=Q,ss=Q,q2=Q,$2=Q,O2=(...t)=>t.join("/"),z2=t=>t.split("/").slice(0,-1).join("/"),j2=t=>t.split("/").pop()||"",_2=t=>{let e=t.match(/\.[^.]+$/);return e?e[0]:""},W2=(...t)=>t.join("/"),V2=Q,G2=Ee,K2=Ee,X2=Ee,J2=Ee,Q2=Q,Y2=class{on(){return this}off(){return this}emit(){return!1}once(){return this}addListener(){return this}removeListener(){return this}},Z2=()=>({update:()=>({digest:()=>""})}),ev=()=>({update:()=>({digest:()=>""})}),tv=()=>({update:()=>({}),sign:()=>""}),rv=()=>({}),nv=t=>new Uint8Array(t),iv=()=>crypto.randomUUID(),ov=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:de}),av=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:de}),sv=t=>t,cv=t=>JSON.stringify(t),uv=(...t)=>t.join(" "),lv=()=>"browser",dv=()=>"unknown",pv=()=>[],mv=()=>0,fv=()=>0,hv=()=>"/",gv=()=>"/tmp",yv=de,bv=de,vv=Ee,wv=Ee,xv=Ee,kv=(t,e)=>e(null,"127.0.0.1",4),Tv=Q,Sv=Q,Av=Q,Cv=Q,Ev=Q,Dv=Q,Lv=(t,e)=>e(null,t),Rv=(t,e)=>e(null,t),Pv=(t,e)=>e(null,t),Nv=(t,e)=>e(null,t),Mv=(t,e)=>e(null,t),Fv=(t,e)=>e(null,t),Bv=t=>t,Uv=t=>t,Iv=t=>t,Hv=t=>t,qv=globalThis.performance,$v=class{getStore(){}run(t,e){return e()}enterWith(){}},Ov=Ee,zv=()=>({subscribe:de,unsubscribe:de,publish:de,hasSubscribers:!1}),jv={from:t=>new Uint8Array(typeof t=="string"?new TextEncoder().encode(t):t),alloc:t=>new Uint8Array(t),allocUnsafe:t=>new Uint8Array(t),isBuffer:()=>!1},_v=de,Wv=de,Vv=de,Gv=de,Kv=Q,Xv=()=>({on:de,stdout:{on:de},stderr:{on:de},kill:de}),Jv=()=>({status:0,stdout:"",stderr:""}),Qv=de,Yv=()=>"",Zv=Q,ew={ConnectTimeoutError:Ee,HeadersTimeoutError:Ee,BodyTimeoutError:Ee},tw=Ee,rw=Ee,nw=Ee,iw=Ee,ow={readFile:Q,writeFile:Q,access:Q,stat:Q,mkdir:Q,unlink:Q,readdir:Q}});var aw,jl,_l,h3,cs=A(()=>{aw=()=>{},jl=()=>({update:()=>({digest:()=>""})}),_l=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:aw}),h3=globalThis.performance});var Wl={};ve(Wl,{FileStorage:()=>us});var us,Vl=A(()=>{"use strict";Ri();Li();cs();Lt();us=class{dir;constructor(e=".recker/cache"){this.dir=e}getHash(e){return jl("md5").update(e).digest("hex")}getPath(e){return zt(this.dir,`${this.getHash(e)}.json`)}async ensureDir(){Xt(this.dir)||await jt(this.dir,{recursive:!0})}async get(e){try{let r=this.getPath(e);if(!Xt(r))return;let n=await is(r,"utf-8");return JSON.parse(n)}catch{return}}async set(e,r,n){await this.ensureDir();let i=this.getPath(e);await os(i,JSON.stringify(r),"utf-8")}async delete(e){let r=this.getPath(e);Xt(r)&&await as(r)}async clear(){Xt(this.dir)&&await ss(this.dir,{recursive:!0,force:!0})}}});var sw,pr,x3,ls,kt,Gl,Pi,Kl,ds=A(()=>{sw=()=>Promise.resolve(),pr=class{constructor(){}},x3=globalThis.performance,ls=sw,kt={ConnectTimeoutError:pr,HeadersTimeoutError:pr,BodyTimeoutError:pr},Gl=pr,Pi=pr,Kl=pr});var Xl,S3,Jl=A(()=>{Xl={},S3=globalThis.performance});var Ql,C3,Yl=A(()=>{Ql={},C3=globalThis.performance});var ps,D3,Zl=A(()=>{ps={},D3=globalThis.performance});var nt,ed=A(()=>{nt=globalThis.performance});function ms(t){let e=Mi.get(t);return process.env.DEBUG_TIMING&&console.log(`[TIMING] getTimingForHost(${t}):`,e?"found":"NOT FOUND","map size:",Mi.size),e}function td(t){return Fi.get(t)??0}function fs(t,e){return(Fi.get(t)??0)>e}function rd(t={}){let e=t.timeout??1e4,r=t.allowH2??!1,n=t.keepAliveInitialDelay??6e4,i=t.maxCachedSessions??100,o=t.localAddress;return function(c,u){let{hostname:l,protocol:d,port:p,servername:m}=c,f=d==="https:",h=Number(p)||(f?443:80),g={dns:0,tcp:0,tls:0,total:0},y=nt.now();C();async function C(){try{let b=nt.now(),w;try{w=(await ps.lookup(l,{family:4})).address}catch(k){try{w=(await ps.lookup(l,{family:6})).address}catch{u(k,null);return}}g.dns=nt.now()-b;let x=nt.now(),v=Xl.connect({host:w,port:h,localAddress:o});v.setNoDelay(!0),v.setKeepAlive(!0,n);let T=setTimeout(()=>{v.destroy(new Error(`Connect timeout after ${e}ms`))},e);v.once("error",k=>{clearTimeout(T),u(k,null)}),v.once("connect",()=>{if(g.tcp=nt.now()-x,clearTimeout(T),!f){g.total=nt.now()-y,Mi.set(l,{...g}),Ni++,Fi.set(l,Ni),u(null,v);return}let k=nt.now(),S=m||l,P=`${S}:${h}`,q=rn.get(P),R=Ql.connect({socket:v,servername:S,session:q,ALPNProtocols:r?["h2","http/1.1"]:["http/1.1"],rejectUnauthorized:!0});R.on("session",O=>{if(rn.size>=i){let W=rn.keys().next().value;W&&rn.delete(W)}rn.set(P,O)}),R.once("error",O=>{u(O,null)}),R.once("secureConnect",()=>{g.tls=nt.now()-k,g.total=nt.now()-y,Mi.set(l,{...g}),Ni++,Fi.set(l,Ni),process.env.DEBUG_TIMING&&console.log(`[TIMING] Stored for ${l}:`,g),u(null,R)})})}catch(b){u(b,null)}}}}var Mi,Fi,Ni,rn,hs=A(()=>{"use strict";Jl();Yl();Zl();ed();Mi=new Map,Fi=new Map,Ni=0,rn=new Map});var id={};ve(id,{AgentManager:()=>mr,analyzeBatchDomains:()=>uw,createAgent:()=>cw,extractDomain:()=>nd});function cw(t={}){return new mr(t).getGlobalAgent()}function nd(t){try{return new URL(t).hostname}catch{return null}}function uw(t){let e=new Set;for(let r of t){let n=nd(r);n&&e.add(n)}return{strategy:e.size<=1?"single":"multi",domains:e}}var mr,gs=A(()=>{"use strict";ds();In();hs();mr=class{globalAgent;domainAgents;options;protocolCache;constructor(e={},r){this.domainAgents=new Map,this.protocolCache=r,this.options={connections:e.connections??10,pipelining:e.pipelining??1,keepAlive:e.keepAlive??!0,keepAliveTimeout:e.keepAliveTimeout??4*1e3,keepAliveMaxTimeout:e.keepAliveMaxTimeout??600*1e3,keepAliveTimeoutThreshold:e.keepAliveTimeoutThreshold??1*1e3,connectTimeout:e.connectTimeout??10*1e3,perDomainPooling:e.perDomainPooling??!0,localAddress:e.localAddress,maxRequestsPerClient:e.maxRequestsPerClient??0,maxCachedSessions:e.maxCachedSessions??100,maxHeaderSize:e.maxHeaderSize,clientTtl:e.clientTtl??null,allowH2:e.allowH2,maxConcurrentStreams:e.maxConcurrentStreams}}getGlobalAgent(){return this.globalAgent||(this.globalAgent=this.createAgent(this.options)),this.globalAgent}getAgentForDomain(e,r){if(!this.options.perDomainPooling)return this.getGlobalAgent();let n=this.domainAgents.get(e);if(!n){let i={...this.options,...r};n=this.createAgent(i),this.domainAgents.set(e,n)}return n}getAgentForUrl(e){try{let r=new URL(e);return this.getAgentForDomain(r.hostname)}catch{return this.getGlobalAgent()}}getAdaptiveAgentForUrl(e,r){var u;let n=gt(e),i=new URL(n).hostname;if(this.options.perDomainPooling){let l=this.domainAgents.get(i);if(l)return l}let o=(u=this.protocolCache)==null?void 0:u.get(n),s=this.getAdaptiveOptions(o,r);if(!this.options.perDomainPooling)return this.getGlobalAgent();let c=this.createAgent(s);return this.domainAgents.set(i,c),c}getAdaptiveOptions(e,r){let n={...this.options};return e==="h2"||e==="h3"?{...n,connections:Math.min(n.connections,2),pipelining:1,allowH2:!0,maxConcurrentStreams:n.maxConcurrentStreams??100,...r}:e==="http/1.1"?{...n,connections:Math.max(n.connections,6),pipelining:2,allowH2:!1,...r}:{...n,allowH2:n.allowH2??!0,...r}}setProtocolCache(e){this.protocolCache=e}createBatchAgent(e,r,n){let i=Math.max(1,Math.min(Math.ceil(e/2),50,r)),o=r>20&&e>5?2:1,s={...this.options,connections:(n==null?void 0:n.connections)??i,pipelining:(n==null?void 0:n.pipelining)??o,...n};return this.createAgent(s)}createStressTestAgent(e){let n=Math.min(Math.ceil(e/10),100);return this.createAgent({connections:n,pipelining:10,keepAliveTimeout:3e4,keepAliveMaxTimeout:12e4,connectTimeout:5e3})}createAgent(e){let r=rd({timeout:e.connectTimeout,allowH2:e.allowH2,keepAliveInitialDelay:e.keepAliveTimeout,maxCachedSessions:e.maxCachedSessions,localAddress:e.localAddress});return new Pi({connections:e.connections,pipelining:e.pipelining,maxHeaderSize:e.maxHeaderSize,maxRequestsPerClient:e.maxRequestsPerClient,maxCachedSessions:e.maxCachedSessions,clientTtl:e.clientTtl??null,keepAliveTimeout:e.keepAliveTimeout,keepAliveMaxTimeout:e.keepAliveMaxTimeout,keepAliveTimeoutThreshold:e.keepAliveTimeoutThreshold,connectTimeout:e.connectTimeout,socketPath:void 0,allowH2:e.allowH2,maxConcurrentStreams:e.maxConcurrentStreams,connect:r})}getStats(){return{agentCount:1+this.domainAgents.size,domains:Array.from(this.domainAgents.keys()),totalConnections:(1+this.domainAgents.size)*this.options.connections}}async closeDomainAgent(e){let r=this.domainAgents.get(e);r&&(await r.close(),this.domainAgents.delete(e))}async closeAll(){let e=[];this.globalAgent&&(e.push(this.globalAgent.close()),this.globalAgent=void 0);for(let r of this.domainAgents.values())e.push(r.close());this.domainAgents.clear(),await Promise.all(e)}async destroy(){let e=[];this.globalAgent&&(e.push(this.globalAgent.destroy()),this.globalAgent=void 0);for(let r of this.domainAgents.values())e.push(r.destroy());this.domainAgents.clear(),await Promise.all(e)}}});var fr,od=A(()=>{fr=globalThis.performance});var $3,ad,sd=A(()=>{$3=globalThis.performance,ad=class{getStore(){}run(t,e){return e()}enterWith(){}}});var ys,j3,nn,cd=A(()=>{ys=()=>{},j3=globalThis.performance,nn=()=>({subscribe:ys,unsubscribe:ys,publish:ys,hasSubscribers:!1})});var bs,W3,ud=A(()=>{bs=(t,e)=>e(null,"127.0.0.1",4),W3=globalThis.performance});var ld,G3,dd=A(()=>{ld=t=>t,G3=globalThis.performance});function pd(t){return(e,r,n)=>{var i;if((i=t.override)!=null&&i[e]){let o=t.override[e],s=o.includes(":")?6:4;return n(null,o,s)}bs(e,r,n)}}var Q3,md=A(()=>{"use strict";ud();dd();Q3=ld(bs)});var wd={};ve(wd,{UndiciTransport:()=>vs});function fw(t){return(t==null?void 0:t.cause)??(t==null?void 0:t.reason)}function fd(t){return t instanceof V?!0:!t||typeof t!="object"?!1:t.name==="TimeoutError"}function hd(t,e,r){if(!r)return!1;if(e!==void 0)return!0;let n=fw(t),i=t==null?void 0:t.message,o=typeof i=="string"&&(i.includes("Request timed out (total time exceeded)")||i.includes("timed out (total time exceeded)")),s=typeof i=="string"&&i.toLowerCase()==="request was aborted";return t instanceof V||fd(n)||fd(t)||t instanceof kt.RequestAbortedError||o||s||(t==null?void 0:t.code)==="ABORT_ERR"||(t==null?void 0:t.code)==="UND_ERR_REQUEST_TIMEOUT"}function hw(t,e){return{connectTimeout:(t==null?void 0:t.connect)??(t==null?void 0:t.secureConnect)??(e==null?void 0:e.connectTimeout),headersTimeout:(t==null?void 0:t.response)??(e==null?void 0:e.headersTimeout),bodyTimeout:(t==null?void 0:t.send)??(e==null?void 0:e.bodyTimeout),totalTimeout:t==null?void 0:t.request}}function Bi(t){if(!t)return;let e={};return t.minVersion&&(e.minVersion=t.minVersion),t.maxVersion&&(e.maxVersion=t.maxVersion),t.ciphers&&(e.ciphers=t.ciphers),t.honorCipherOrder!==void 0&&(e.honorCipherOrder=t.honorCipherOrder),t.ca&&(e.ca=t.ca),t.cert&&(e.cert=t.cert),t.key&&(e.key=t.key),t.passphrase&&(e.passphrase=t.passphrase),t.rejectUnauthorized!==void 0&&(e.rejectUnauthorized=t.rejectUnauthorized),t.alpnProtocols&&(e.ALPNProtocols=t.alpnProtocols),t.sessionTimeout!==void 0&&(e.sessionTimeout=t.sessionTimeout),t.sessionIdContext&&(e.sessionIdContext=t.sessionIdContext),t.servername!==void 0&&(e.servername=t.servername===!1?"":t.servername),e}function gd(t){if(t.explicit)return t.explicit;let{proxyAgent:e,agentManager:r,dnsAgent:n,url:i,bypass:o}=t,s=bw(i,o);if(e&&!s)return e;if(r)return r.getAgentForUrl(i);if(n)return n}function gw(t){switch(t.toLowerCase().replace(":","")){case"http":return"http";case"https":return"https";case"socks4":return"socks4";case"socks4a":return"socks4a";case"socks5":case"socks":return"socks5";default:return}}function yw(t,e){let[r,n]=e.split("/");if(!n)return t===r;let i=parseInt(n,10);if(isNaN(i))return!1;let o=t.split(".").map(Number),s=r.split(".").map(Number);if(o.length!==4||s.length!==4||o.some(isNaN)||s.some(isNaN))return!1;let c=o[0]<<24|o[1]<<16|o[2]<<8|o[3],u=s[0]<<24|s[1]<<16|s[2]<<8|s[3],l=~((1<<32-i)-1);return(c&l)===(u&l)}function bw(t,e){if(!e||e.length===0)return!1;let r="",n="";try{let i=new URL(t);r=i.hostname,n=i.port}catch{return!1}for(let i of e){if(i==="*")return!0;if(i.includes("/")){if(yw(r,i))return!0;continue}if(i.includes(":")&&!i.includes("/")){let[o,s]=i.split(":");if(r===o&&(!s||n===s))return!0;continue}if(i.startsWith("*.")){let o=i.slice(1);if(r.endsWith(o))return!0;continue}if(i.startsWith(".")){if(r.endsWith(i))return!0;continue}if(r===i)return!0}return!1}function yd(t){if(!t)return;if(typeof t.get=="function"){let n=t.get("content-length");return n?parseInt(n,10):void 0}let e=t["content-length"]??t["Content-Length"];if(e===void 0)return;let r=parseInt(Array.isArray(e)?e[0]:e,10);return Number.isFinite(r)?r:void 0}function Ui(t,e){if(!e)return t;if(typeof Response<"u"&&t instanceof Response){if(!t.body)return t;let o=yd(t.headers),s=Fe(t.body,e,{total:o,direction:"download"});return new Response(s,{status:t.status,statusText:t.statusText,headers:t.headers})}let r=yd(t.headers),n=t.body;if(!n)return t;let i=Fe(Za(n),e,{total:r,direction:"download"});return new Response(i,{status:t.statusCode,headers:t.headers})}function bd(t,e,r){if(t instanceof FormData||!e||!t)return t;if(typeof ReadableStream<"u"&&t instanceof ReadableStream)return Fe(t,e,{total:r,direction:"upload"});if(typeof Blob<"u"&&t instanceof Blob)return Fe(t.stream(),e,{total:t.size,direction:"upload"});if(vw(t)){let n=Za(t);return Fe(n,e,{total:r,direction:"upload"})}if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let n=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return vd(n,e)}if(typeof t=="string"){let i=new TextEncoder().encode(t);return vd(i,e)}return t}function vd(t,e,r=64*1024){let n=0,i=t.byteLength,o=new ReadableStream({pull(s){if(n>=i){s.close();return}let c=Math.min(n+r,i);s.enqueue(t.slice(n,c)),n=c}});return Fe(o,e,{total:i,direction:"upload"})}function vw(t){return t&&typeof t.pipe=="function"&&typeof t.on=="function"}var lw,dw,pw,mw,on,vs,xd=A(()=>{"use strict";ds();ts();G();od();sd();cd();md();gs();Ro();es();In();hs();lw=nn("undici:request:create"),dw=nn("undici:request:bodySent"),pw=nn("undici:request:headers"),mw=nn("undici:client:connect"),on=new ad;lw.subscribe(t=>{var r;let e=on.getStore();if(e){e.requestStartTime===0&&(e.requestStartTime=fr.now()),e.timings.dns||e.timings.tcp||e.timings.tls||(e.timings={queuing:0,dns:0,tcp:0,tls:0,firstByte:0,content:0,total:0},e.connection={});let i=t;if((r=i==null?void 0:i.request)!=null&&r.origin&&!e.requestCorrelationId)try{e.requestCorrelationId=new URL(i.request.origin).hostname}catch{}}});dw.subscribe(t=>{let e=on.getStore();e!=null&&e.hooks&&e.hooks.onRequestSent&&e.hooks.onRequestSent()});pw.subscribe(t=>{let e=t,r=on.getStore();if(!r||!e)return;let i=fr.now()-r.requestStartTime;if(e.timing){let{timing:o}=e;r.timings.queuing=o.queuing,r.timings.dns=o.dns,r.timings.tcp=o.tcp,r.timings.tls=o.tls,r.timings.firstByte=o.response,r.timings.content=o.body,r.timings.total=o.ended}else r.timings.firstByte=i;if(r.hooks){let o=r.timings.dns??0,s=r.timings.tcp??0,c=r.timings.tls??0;if(r.hooks.onDnsLookup&&o>0&&r.hooks.onDnsLookup({domain:e.request.origin,duration:o}),r.hooks.onTcpConnect&&s>0&&r.hooks.onTcpConnect({remoteAddress:"",duration:s}),r.hooks.onTlsHandshake&&c>0&&r.hooks.onTlsHandshake({protocol:"",cipher:"",duration:c}),r.hooks.onResponseStart){let u=new Headers;for(let l=0;l<e.response.headers.length;l+=2)u.append(e.response.headers[l],e.response.headers[l+1]);r.hooks.onResponseStart({status:e.response.statusCode,headers:u})}}});mw.subscribe(t=>{var n,i,o,s,c,u;let e=t,r=on.getStore();if(r&&e&&e.socket){let{socket:l}=e;r.connection.remoteAddress=l.remoteAddress,r.connection.remotePort=l.remotePort,r.connection.localAddress=l.localAddress,r.connection.localPort=l.localPort;let d=l.alpnProtocol||(l.tlsSocket?l.tlsSocket.getProtocol():void 0);if(r.connection.protocol=d,r.connection.cipher=l.tlsSocket?(n=l.tlsSocket.getCipher())==null?void 0:n.name:void 0,r.hooks&&(r.hooks.onTcpConnect&&r.hooks.onTcpConnect({remoteAddress:l.remoteAddress,duration:0}),r.hooks.onTlsHandshake&&l.tlsSocket&&r.hooks.onTlsHandshake({protocol:d||"unknown",cipher:((i=l.tlsSocket.getCipher())==null?void 0:i.name)||"unknown",duration:0})),d==="h2"){let p=l.session||l,m=p.state,f=p.remoteSettings,h=p.localSettings;if(r.connection.http2={streamId:l.streamId,streamWeight:l.weight,streamDependency:l.dependency,serverPush:!!l.serverPush,settingsReceived:!!f,maxConcurrentStreams:f==null?void 0:f.maxConcurrentStreams,currentStreams:m==null?void 0:m.streamCount,pendingStreams:m==null?void 0:m.pendingStreamCount,localWindowSize:(m==null?void 0:m.localWindowSize)??(m==null?void 0:m.effectiveLocalWindowSize),remoteWindowSize:m==null?void 0:m.effectiveRecvDataLength,localSettings:h?{...h}:void 0,remoteSettings:f?{...f}:void 0},(o=r.hooks)!=null&&o.onHttp2Session){let g=l.origin||((s=e.connectParams)==null?void 0:s.hostname)||"";r.hooks.onHttp2Session({origin:g,event:"connect",maxConcurrentStreams:f==null?void 0:f.maxConcurrentStreams,activeStreams:m==null?void 0:m.streamCount,localSettings:h?{...h}:void 0,remoteSettings:f?{...f}:void 0})}if((c=r.hooks)!=null&&c.onHttp2Stream&&l.streamId){let g=l.origin||((u=e.connectParams)==null?void 0:u.hostname)||"";r.hooks.onHttp2Stream({streamId:l.streamId,origin:g,event:"open",state:"open",pushed:!!l.serverPush})}}if(d==="h3"||d!=null&&d.startsWith("h3-")){let p=l.stats,m=l.handshakeConfirmed;r.connection.http3={quicVersion:d,zeroRTT:l.zeroRTT||!1,maxStreams:l.maxStreams,handshakeConfirmed:typeof m=="boolean"?m:void 0},p&&typeof p.rtt=="number"&&(r.connection.rtt=p.rtt)}r.connection.reused=!!l.reused}});vs=class{baseUrl;options;proxyAgent;dnsAgent;agentManager;proxyBypassList;tlsOptions;socketClient;observability;protocolCache;constructor(e,r={}){if(this.baseUrl=e||"",this.options=r,this.tlsOptions=r.tls,this.observability=r.observability!==!1,r.protocolCache===!0?this.protocolCache=Un():r.protocolCache instanceof Nr&&(this.protocolCache=r.protocolCache),r.proxy){let n=typeof r.proxy=="string"?{url:r.proxy}:r.proxy,i=new URL(n.url),o=n.type||gw(i.protocol);if(o!=null&&o.startsWith("socks"))throw new qe(`SOCKS proxy (${o}) is not supported. Use an HTTP/HTTPS proxy or a SOCKS-to-HTTP bridge.`,"ERR_UNSUPPORTED_PROXY_TYPE");let s=n.auth?`${n.auth.username}:${n.auth.password}`:void 0,c=s?n.url.replace("://",`://${s}@`):n.url;this.proxyBypassList=n.bypass;let u={uri:c,headers:n.headers,token:n.token,proxyTunnel:n.tunnel,requestTls:Bi(n.requestTls??r.tls),proxyTls:Bi(n.proxyTls)};n.connectTimeout&&(u.connectTimeout=n.connectTimeout),n.http2&&(u.requestTls||(u.requestTls={}),u.requestTls.ALPNProtocols=["h2","http/1.1"]),this.proxyAgent=new Gl(u)}if(this.agentManager=r.agent,r.dns&&!this.agentManager){let n=pd(r.dns);this.dnsAgent=new Pi({connect:{lookup:n}})}this.agentManager||(this.agentManager=new mr({connections:r.connections,pipelining:r.pipelining,keepAlive:r.keepAlive,keepAliveTimeout:r.keepAliveTimeout,keepAliveMaxTimeout:r.keepAliveMaxTimeout,connectTimeout:r.connectTimeout,perDomainPooling:r.perDomainPooling,localAddress:r.localAddress})),r.socketPath&&e&&(this.socketClient=new Kl(e,{socketPath:r.socketPath}))}updateProtocolCache(e,r){if(!this.protocolCache||!(r!=null&&r.protocol))return;let n=Eo(r.protocol);n&&this.protocolCache.set(e,n)}recordProtocolFailure(e,r){var i,o,s,c;if(!this.protocolCache)return;let n=((i=r.message)==null?void 0:i.includes("HTTP/2"))||((o=r.message)==null?void 0:o.includes("h2"))||((s=r.message)==null?void 0:s.includes("GOAWAY"))||((c=r.message)==null?void 0:c.includes("stream"));this.protocolCache.recordFailure(e,n)}shouldUseHttp2(e){return this.protocolCache?this.protocolCache.shouldTryHttp2(e):!0}getProtocolCache(){return this.protocolCache}async dispatch(e){let r=Object.fromEntries(e.headers),n=r["content-length"],i=n?parseInt(n,10):void 0,o;if(this.baseUrl)if(e.url.startsWith(this.baseUrl))o=e.url;else if(e.url.startsWith("http://")||e.url.startsWith("https://"))o=e.url;else{let y=this.baseUrl.endsWith("/")?this.baseUrl.slice(0,-1):this.baseUrl,C=e.url.startsWith("/")?e.url:"/"+e.url;o=y+C}else o=e.url;let s=!!e.beforeRedirect,c=e.maxRedirects??20,u=e.followRedirects!==!1,l=hw(e.timeout,{connectTimeout:this.options.connectTimeout,headersTimeout:this.options.headersTimeout,bodyTimeout:this.options.bodyTimeout}),d,p,m,f,h;if(!this.observability)return this.dispatchFast(e,r,o,l,s,c,u,i);let g={timings:{},connection:{},requestStartTime:0,requestCorrelationId:"",hooks:e._hooks};return on.run(g,async()=>{var y,C;try{let b=fr.now();g.requestStartTime===0&&(g.requestStartTime=b);let w=0,x=e.method,v=e.body,T={...r},k=e.signal;if(l.totalTimeout){if(d=new AbortController,f=new V(e,{phase:"request",timeout:l.totalTimeout}),e.signal){let S=e.signal;k=d.signal;let P=()=>{m=S.reason??new Error("Request aborted by external signal"),d.abort(m)};S.aborted?(m=S.reason??new Error("Request aborted by external signal"),d.abort(m)):(S.addEventListener("abort",P,{once:!0}),h=()=>S.removeEventListener("abort",P))}else k=d.signal;p=setTimeout(()=>{m=f,d.abort(m)},l.totalTimeout)}for(;;){let S=this.socketClient||gd({explicit:e._dispatcher,proxyAgent:this.proxyAgent,agentManager:this.agentManager,dnsAgent:this.dnsAgent,url:o,bypass:this.proxyBypassList}),P=w===0?bd(v,e.onUploadProgress,i):v,q=P;if(q instanceof FormData){let F=new Response(q);q=F.body,F.headers.forEach((oe,ee)=>{ee.toLowerCase()==="content-type"?(T[ee]=oe,delete T["Content-Type"]):T[ee]||(T[ee]=oe)})}let R={method:x,headers:T,body:q,signal:k,dispatcher:S,connectTimeout:l.connectTimeout,headersTimeout:l.headersTimeout,bodyTimeout:l.bodyTimeout,maxRedirections:0};q&&(q instanceof ReadableStream||typeof q.pipe=="function"||q[Symbol.asyncIterator])&&(R.duplex="half");let O=Bi(this.tlsOptions);O&&(R.tls=O);let W=e.http2!==void 0?e.http2:(y=this.options.http2)==null?void 0:y.enabled;if(W?R.allowH2=!0:e.http2===!1&&(R.allowH2=!1),W&&this.options.http2&&(this.options.http2.maxConcurrentStreams!==void 0&&(R.maxConcurrentStreams=this.options.http2.maxConcurrentStreams),this.options.http2.pipelining!==void 0&&(R.pipelining=this.options.http2.pipelining)),W&&this.options.expectContinue!==void 0&&q){let F=this.options.expectContinue;(F===!0||typeof F=="number"&&i!==void 0&&i>F)&&(R.expectContinue=!0)}let z,I=0;try{I=td(new URL(o).hostname)}catch{}if(this.socketClient){let F=new URL(o).pathname+new URL(o).search;z=await this.socketClient.request({path:F||"/",method:x,headers:T,body:P,signal:e.signal})}else z=await ls(o,R);let _=z.statusCode;if(_>=300&&_<400&&u&&w<c){let F=z.headers.location,oe=Array.isArray(F)?F[0]:F;if(oe){let ee=new URL(oe,o).toString();if(s){let Ie=new Headers;for(let[je,He]of Object.entries(z.headers))He!==void 0&&(Array.isArray(He)?He.forEach(Je=>Ie.append(je,Je)):Ie.set(je,He));let ne={from:o,to:ee,status:_,headers:Ie},Xe=await e.beforeRedirect(ne);if(Xe===!1){let je=e.onDownloadProgress?Ui(z,e.onDownloadProgress):z;this.updateProtocolCache(o,g.connection);try{let He=new URL(o).hostname;if(fs(He,I)){let _e=ms(He);_e&&!g.timings.dns&&!g.timings.tcp&&!g.timings.tls&&(g.timings.dns=_e.dns,g.timings.tcp=_e.tcp,g.timings.tls=_e.tls)}else!g.timings.dns&&!g.timings.tcp&&!g.timings.tls&&(g.timings.dns=0,g.timings.tcp=0,g.timings.tls=0)}catch{}return new rt(je,{timings:g.timings,connection:g.connection})}typeof Xe=="string"?o=Xe:o=ee}else o=ee;(_===303||(_===301||_===302)&&x!=="GET"&&x!=="HEAD")&&(x="GET",v=null,delete T["content-type"],delete T["content-length"],delete T["Content-Type"],delete T["Content-Length"]),await z.body.arrayBuffer().catch(()=>{}),w++;continue}}let M=e.onDownloadProgress?Ui(z,e.onDownloadProgress):z,B=fr.now()-b,H=fr.now()-g.requestStartTime;g.timings.firstByte||(g.timings.firstByte=B),g.timings.total||(g.timings.total=H),this.updateProtocolCache(o,g.connection);try{let F=new URL(o).hostname;if(fs(F,I)){let ee=ms(F);ee&&!g.timings.dns&&!g.timings.tcp&&!g.timings.tls&&(g.timings.dns=ee.dns,g.timings.tcp=ee.tcp,g.timings.tls=ee.tls)}else!g.timings.dns&&!g.timings.tcp&&!g.timings.tls&&(g.timings.dns=0,g.timings.tcp=0,g.timings.tls=0)}catch{}return new rt(M,{timings:g.timings,connection:g.connection})}}catch(b){if(this.recordProtocolFailure(o,b),b instanceof kt.ConnectTimeoutError||b.code==="UND_ERR_CONNECT_TIMEOUT")throw new V(e,{phase:"connect",timeout:l.connectTimeout});if(b instanceof kt.HeadersTimeoutError||b.code==="UND_ERR_HEADERS_TIMEOUT")throw new V(e,{phase:"response",timeout:l.headersTimeout});if(b instanceof kt.BodyTimeoutError||b.code==="UND_ERR_BODY_TIMEOUT")throw new V(e,{phase:"send",timeout:l.bodyTimeout});if(hd(b,m,l.totalTimeout))throw f??new V(e,{phase:"request",timeout:l.totalTimeout});let w=b.code||((C=b==null?void 0:b.cause)==null?void 0:C.code);if(w==="UND_ERR_HEADERS_OVERFLOW")throw new ft(16*1024,void 0,e);let x=wn(b);throw x?(x.request=e,x):new qe(b.message,w,e)}finally{typeof h=="function"&&h(),p&&clearTimeout(p)}})}async dispatchFast(e,r,n,i,o,s,c,u){var h,g;let l,d,p,m,f;try{let y=0,C=e.method,b=e.body,w={...r},x=e.signal;if(i.totalTimeout){if(l=new AbortController,m=new V(e,{phase:"request",timeout:i.totalTimeout}),e.signal){let v=e.signal;x=l.signal;let T=()=>{p=v.reason??new Error("Request aborted by external signal"),l.abort(p)};v.aborted?(p=v.reason??new Error("Request aborted by external signal"),l.abort(p)):(v.addEventListener("abort",T,{once:!0}),f=()=>v.removeEventListener("abort",T))}else x=l.signal;d=setTimeout(()=>{p=m,l.abort(p)},i.totalTimeout)}for(;;){let v=this.socketClient||gd({explicit:e._dispatcher,proxyAgent:this.proxyAgent,agentManager:this.agentManager,dnsAgent:this.dnsAgent,url:n,bypass:this.proxyBypassList}),T=y===0?bd(b,e.onUploadProgress,u):b,k=T;if(k instanceof FormData){let I=new Response(k);k=I.body,I.headers.forEach((_,E)=>{E.toLowerCase()==="content-type"?(w[E]=_,delete w["Content-Type"]):w[E]||(w[E]=_)})}let S={method:C,headers:w,body:k,signal:x,dispatcher:v,connectTimeout:i.connectTimeout,headersTimeout:i.headersTimeout,bodyTimeout:i.bodyTimeout,maxRedirections:0};k&&(k instanceof ReadableStream||typeof k.pipe=="function"||k[Symbol.asyncIterator])&&(S.duplex="half");let P=Bi(this.tlsOptions);P&&(S.tls=P);let q=e.http2!==void 0?e.http2:(h=this.options.http2)==null?void 0:h.enabled;if(q?S.allowH2=!0:e.http2===!1&&(S.allowH2=!1),q&&this.options.http2&&(this.options.http2.maxConcurrentStreams!==void 0&&(S.maxConcurrentStreams=this.options.http2.maxConcurrentStreams),this.options.http2.pipelining!==void 0&&(S.pipelining=this.options.http2.pipelining)),q&&this.options.expectContinue!==void 0&&k){let I=this.options.expectContinue;(I===!0||typeof I=="number"&&u!==void 0&&u>I)&&(S.expectContinue=!0)}let R;if(this.socketClient){let I=new URL(n).pathname+new URL(n).search;R=await this.socketClient.request({path:I||"/",method:C,headers:w,body:T,signal:e.signal})}else R=await ls(n,S);let O=R.statusCode;if(O>=300&&O<400&&c&&y<s){let I=R.headers.location,_=Array.isArray(I)?I[0]:I;if(_){let E=new URL(_,n).toString();if(o){let M=new Headers;for(let[F,oe]of Object.entries(R.headers))oe!==void 0&&(Array.isArray(oe)?oe.forEach(ee=>M.append(F,ee)):M.set(F,oe));let B={from:n,to:E,status:O,headers:M},H=await e.beforeRedirect(B);if(H===!1){let F=e.onDownloadProgress?Ui(R,e.onDownloadProgress):R;return new rt(F,{timings:{},connection:{}})}typeof H=="string"?n=H:n=E}else n=E;(O===303||(O===301||O===302)&&C!=="GET"&&C!=="HEAD")&&(C="GET",b=null,delete w["content-type"],delete w["content-length"],delete w["Content-Type"],delete w["Content-Length"]),await R.body.arrayBuffer().catch(()=>{}),y++;continue}}let z=e.onDownloadProgress?Ui(R,e.onDownloadProgress):R;return new rt(z,{timings:{},connection:{}})}}catch(y){if(y instanceof kt.ConnectTimeoutError||y.code==="UND_ERR_CONNECT_TIMEOUT")throw new V(e,{phase:"connect",timeout:i.connectTimeout});if(y instanceof kt.HeadersTimeoutError||y.code==="UND_ERR_HEADERS_TIMEOUT")throw new V(e,{phase:"response",timeout:i.headersTimeout});if(y instanceof kt.BodyTimeoutError||y.code==="UND_ERR_BODY_TIMEOUT")throw new V(e,{phase:"send",timeout:i.bodyTimeout});if(hd(y,p,i.totalTimeout))throw m??new V(e,{phase:"request",timeout:i.totalTimeout});let C=y.code||((g=y==null?void 0:y.cause)==null?void 0:g.code);if(C==="UND_ERR_HEADERS_OVERFLOW")throw new ft(16*1024,void 0,e);let b=wn(y);throw b?(b.request=e,b):new qe(y.message,C,e)}finally{typeof f=="function"&&f(),d&&clearTimeout(d)}}}});var Cd={};ve(Cd,{HlsPromise:()=>qi,hls:()=>ww});async function Ii(t,e,r){let i=await(await t.get(e,{signal:r.signal,headers:r.headers,useCurl:r.useCurl})).blob(),o=Buffer.from(await i.arrayBuffer());if(o.length>=2&&o[0]===31&&o[1]===139)try{return Mc(o).toString("utf-8")}catch{}return o.toString("utf-8")}function xs(t,e){let r={},n=t.substring(e.length),i=/([A-Z0-9-]+)=(?:"([^"]*)"|([^,]*))/g,o;for(;(o=i.exec(n))!==null;)r[o[1]]=o[2]??o[3];return r}function Hi(t,e){if(t.startsWith("http://")||t.startsWith("https://"))return t;try{let r=new URL(e),n=r.pathname.substring(0,r.pathname.lastIndexOf("/")+1);return new URL(t,r.origin+n).toString()}catch{return t}}function kd(t,e){let r=t.split(`
|
|
54
|
+
`),n=[],i={};for(let o of r){let s=o.trim();if(s)if(s.startsWith("#EXT-X-STREAM-INF:")){let c=xs(s,"#EXT-X-STREAM-INF:");i={bandwidth:c.BANDWIDTH?parseInt(c.BANDWIDTH,10):void 0,resolution:c.RESOLUTION,codecs:c.CODECS,name:c.NAME}}else!s.startsWith("#")&&i.bandwidth!==void 0&&(n.push({...i,url:Hi(s,e)}),i={})}return{variants:n,isMaster:!0}}function Td(t,e=0){let r=t.split("@"),n=parseInt(r[0],10),i=r[1]?parseInt(r[1],10):e;return{length:n,offset:i}}function ws(t,e){let r=t.split(`
|
|
55
|
+
`),n=[],i=5,o=0,s=0,c=!1,u,l=0,d,p=!1,m,f,h,g=0,y=0;for(let C of r){let b=C.trim();if(b)if(b.startsWith("#EXT-X-TARGETDURATION:"))i=parseInt(b.split(":")[1],10);else if(b.startsWith("#EXT-X-MEDIA-SEQUENCE:"))o=parseInt(b.split(":")[1],10);else if(b.startsWith("#EXT-X-DISCONTINUITY-SEQUENCE:"))s=parseInt(b.split(":")[1],10);else if(b.startsWith("#EXT-X-PLAYLIST-TYPE:"))u=b.split(":")[1];else if(b==="#EXT-X-ENDLIST")c=!0;else if(b==="#EXT-X-DISCONTINUITY")p=!0;else if(b.startsWith("#EXT-X-PROGRAM-DATE-TIME:"))m=new Date(b.split(":").slice(1).join(":"));else if(b.startsWith("#EXT-X-KEY:")){let w=xs(b,"#EXT-X-KEY:");w.METHOD==="NONE"?d=void 0:d={method:w.METHOD,uri:w.URI?Hi(w.URI,e):void 0,iv:w.IV}}else if(b.startsWith("#EXT-X-BYTERANGE:")){let w=b.substring(17);f=Td(w,g),g=f.offset+f.length}else if(b.startsWith("#EXT-X-MAP:")){let w=xs(b,"#EXT-X-MAP:");h={url:Hi(w.URI,e),byteRange:w.BYTERANGE?Td(w.BYTERANGE):void 0}}else if(b.startsWith("#EXTINF:")){let w=b.substring(8).split(",")[0];l=parseFloat(w)}else b.startsWith("#")||(n.push({url:Hi(b,e),duration:l,sequence:o+y,key:d,discontinuity:p,programDateTime:m,byteRange:f,initSegment:h}),f&&(g=f.offset+f.length),y++,p=!1,m=void 0,f=void 0)}return{segments:n,targetDuration:i,mediaSequence:o,endList:c,playlistType:u,discontinuitySequence:s}}function Sd(t){return t.includes("#EXT-X-STREAM-INF")}function Ad(t,e){if(!t.length)throw new Error("No variants found in master playlist");let r=[...t].sort((n,i)=>(n.bandwidth??0)-(i.bandwidth??0));if(e==="lowest")return r[0];if(e==="highest"||e===void 0)return r[r.length-1];if(e.resolution){let n=t.find(i=>i.resolution===e.resolution);if(n)return n}if(e.bandwidth){let n=e.bandwidth;return r.reduce((i,o)=>{let s=Math.abs((i.bandwidth??0)-n);return Math.abs((o.bandwidth??0)-n)<s?o:i})}return r[r.length-1]}function ww(t,e,r={}){return new qi(t,e,r)}var qi,Ed=A(()=>{"use strict";Lt();Ri();Li();cs();qo();qi=class{client;manifestUrl;options;seenSequences=new Set;downloadedBytes=0;downloadedSegments=0;startTime=0;aborted=!1;abortController=new AbortController;keyCache=new Map;initSegmentCache=new Map;initSegmentPrepended=new Set;defaultRetryStatusCodes=[403,404,408,429,500,502,503,504];consecutiveErrors=0;constructor(e,r,n={}){if(this.client=e,this.manifestUrl=r,this.options={mode:"merge",format:"ts",concurrency:5,...n},this.options.format!=="ts")throw new Error(`Format '${this.options.format}' requires ffmpeg. Use format: 'ts' or install ffmpeg.`)}get[Symbol.toStringTag](){return"HlsPromise"}then(e,r){return Promise.reject(new Error("HlsPromise requires .download(), .stream(), or .pipe() to execute")).then(e,r)}catch(e){return this.then(null,e)}finally(e){return this.then(()=>{e==null||e()},()=>{e==null||e()})}cancel(){this.aborted=!0,this.abortController.abort()}async download(e){this.startTime=Date.now();let r=await this.resolveMediaPlaylist();if(this.options.mode==="chunks")await this.downloadChunks(r,e);else{if(typeof e!="string")throw new Error("Merge mode requires a string path, not a function");await this.downloadMerged(r,e)}}async*stream(){this.startTime=Date.now();let e=await this.resolveMediaPlaylist(),r=this.isLiveMode(),n=this.getMaxDuration(),i=this.options.concurrency??5,o=2e3;for(;!this.aborted;){if(this.consecutiveErrors>=this.getMaxConsecutiveErrors())throw new Error(`Too many consecutive errors (${this.consecutiveErrors}). Limit: ${this.getMaxConsecutiveErrors()}. Stopping download.`);let s;try{s=await this.fetchMediaPlaylist(e)}catch(u){if(r&&this.consecutiveErrors<this.getMaxConsecutiveErrors()){this.options.onError&&this.options.onError(new Error(`Playlist fetch failed: ${u.message}. Retrying...`)),await this.sleep(o);continue}throw u}o=Math.max(1e3,s.targetDuration*1e3/2);let c=s.segments.filter(u=>!this.seenSequences.has(u.sequence));for(let u of c)this.seenSequences.add(u.sequence);if(c.length>0&&(yield*this.downloadSegmentsConcurrent(c,i,s,r,n)),!r||s.endList||n&&Date.now()-this.startTime>n)break;await this.sleep(o)}}async*downloadSegmentsConcurrent(e,r,n,i,o){let s=new Map,c=new Map,u=0,l=0,d=p=>{let m=e[p],f=this.downloadSegment(m).then(h=>({index:p,data:h?{sequence:m.sequence,duration:m.duration,data:h,url:m.url,downloadedAt:new Date}:null}));c.set(p,f)};for(;l<e.length&&c.size<r;)d(l++);for(;u<e.length&&!(this.aborted||o&&Date.now()-this.startTime>o);){if(this.consecutiveErrors>=this.getMaxConsecutiveErrors())throw new Error(`Too many consecutive errors (${this.consecutiveErrors}). Limit: ${this.getMaxConsecutiveErrors()}. Stopping download.`);if(c.size>0){let p=await Promise.race(c.values());c.delete(p.index),s.set(p.index,p.data),l<e.length&&c.size<r&&d(l++)}for(;s.has(u);){let p=s.get(u);s.delete(u),u++,p&&(this.downloadedSegments++,this.downloadedBytes+=p.data.byteLength,this.emitProgress(n,i),this.options.onSegment&&await this.options.onSegment(p),yield p)}}}async pipe(e){try{for await(let r of this.stream())e.write(r.data)||await new Promise(i=>e.once("drain",i))}finally{"end"in e&&typeof e.end=="function"&&e.end()}}async info(){let e=await Ii(this.client,this.manifestUrl,{signal:this.abortController.signal,headers:this.options.headers,useCurl:this.options.useCurl});if(Sd(e)){let i=kd(e,this.manifestUrl),o=Ad(i.variants,this.options.quality),s=await Ii(this.client,o.url,{signal:this.abortController.signal,headers:this.options.headers,useCurl:this.options.useCurl}),c=ws(s,o.url),u=c.endList?c.segments.reduce((l,d)=>l+d.duration,0):void 0;return{master:i,playlist:c,selectedVariant:o,isLive:!c.endList,totalDuration:u}}let r=ws(e,this.manifestUrl),n=r.endList?r.segments.reduce((i,o)=>i+o.duration,0):void 0;return{playlist:r,isLive:!r.endList,totalDuration:n}}async resolveMediaPlaylist(){let e={...this.options.headers},r=await Ii(this.client,this.manifestUrl,{signal:this.abortController.signal,headers:e,useCurl:this.options.useCurl});if(!Sd(r))return this.manifestUrl;let n=kd(r,this.manifestUrl);return Ad(n.variants,this.options.quality).url}async fetchMediaPlaylist(e){let r=await this.withRetry(async()=>Ii(this.client,e,{signal:this.abortController.signal,headers:this.options.headers,useCurl:this.options.useCurl}),"Fetch playlist",!1);if(!r)throw new Error("Failed to fetch media playlist");return ws(r,e)}async getKey(e){if(this.keyCache.has(e))return this.keyCache.get(e);let i=await(await(await this.client.get(e,{headers:this.options.headers,signal:this.abortController.signal,useCurl:this.options.useCurl})).blob()).arrayBuffer(),o=Buffer.from(i);if(o.length!==16)throw new Error(`Invalid AES-128 key length: ${o.length} bytes (expected 16)`);return this.keyCache.set(e,o),o}generateIV(e){let r=Buffer.alloc(16);return r.writeBigUInt64BE(BigInt(e),8),r}parseIV(e){let r=e.startsWith("0x")||e.startsWith("0X")?e.slice(2):e;return Buffer.from(r.padStart(32,"0"),"hex")}decryptSegment(e,r,n){let i=_l("aes-128-cbc",r,n);return i.setAutoPadding(!0),Buffer.concat([i.update(e),i.final()])}async getInitSegment(e){var u,l;let r=`${e.url}:${((u=e.byteRange)==null?void 0:u.offset)??0}:${((l=e.byteRange)==null?void 0:l.length)??0}`;if(this.initSegmentCache.has(r))return this.initSegmentCache.get(r);let n={...this.options.headers};if(e.byteRange){let{offset:d,length:p}=e.byteRange;n.Range=`bytes=${d}-${d+p-1}`}let s=await(await(await this.client.get(e.url,{headers:n,signal:this.abortController.signal,useCurl:this.options.useCurl})).blob()).arrayBuffer(),c=Buffer.from(s);return this.initSegmentCache.set(r,c),c}async downloadSegment(e){return await this.withRetry(async()=>{var u;let n={...this.options.headers};if(e.byteRange){let{offset:l,length:d}=e.byteRange;n.Range=`bytes=${l}-${l+d-1}`}let s=await(await(await this.client.get(e.url,{headers:n,signal:this.abortController.signal,useCurl:this.options.useCurl})).blob()).arrayBuffer(),c=Buffer.from(s);if(e.key&&e.key.method==="AES-128"){if(!e.key.uri)throw new Error("AES-128 encryption specified but no key URI provided");let l=await this.getKey(e.key.uri),d=e.key.iv?this.parseIV(e.key.iv):this.generateIV(e.sequence);c=this.decryptSegment(c,l,d)}else if(e.key&&e.key.method==="SAMPLE-AES")throw new Error("SAMPLE-AES encryption is not supported. This typically requires DRM handling.");if(e.initSegment){let l=`${e.initSegment.url}:${((u=e.initSegment.byteRange)==null?void 0:u.offset)??0}`;if(!this.initSegmentPrepended.has(l)){let d=await this.getInitSegment(e.initSegment);c=Buffer.concat([d,c]),this.initSegmentPrepended.add(l)}}return new Uint8Array(c)},`Segment ${e.sequence}`,!0)}async downloadMerged(e,r){await jt(Di(r),{recursive:!0});let n=Lr(r,{flags:"a"});try{await this.pipe(n)}catch(i){throw n.destroy(),i}}async downloadChunks(e,r){let n=typeof r=="string"?o=>zt(r,`segment-${o.sequence}.ts`):r,i=typeof r=="string"?r:Di(n({sequence:0,duration:0,url:""}));await jt(i,{recursive:!0});for await(let o of this.stream()){let s=n({sequence:o.sequence,duration:o.duration,url:o.url});await jt(Di(s),{recursive:!0});let c=Lr(s);await new Promise((u,l)=>{c.write(o.data,d=>{d?l(d):(c.end(),u())})})}}isLiveMode(){return this.options.live===!0||typeof this.options.live=="object"}getMaxDuration(){if(typeof this.options.live=="object"&&this.options.live.duration)return this.options.live.duration}emitProgress(e,r){this.options.onProgress&&this.options.onProgress({downloadedSegments:this.downloadedSegments,totalSegments:r?void 0:e.segments.length,downloadedBytes:this.downloadedBytes,currentSegment:Math.max(...this.seenSequences),isLive:r,elapsed:Date.now()-this.startTime})}sleep(e){return new Promise(r=>{let n=setTimeout(r,e);this.abortController.signal.addEventListener("abort",()=>{clearTimeout(n),r()},{once:!0})})}getRetryConfig(){let e=this.isLiveMode(),r=this.options.retry||{};return{maxAttempts:r.maxAttempts??(e?5:3),delay:r.delay??1e3,maxDelay:r.maxDelay??3e4,backoff:r.backoff??2,jitter:r.jitter??!0,statusCodes:r.statusCodes??this.defaultRetryStatusCodes}}getMaxConsecutiveErrors(){let e=this.isLiveMode();return this.options.maxConsecutiveErrors??(e?10:3)}calculateRetryDelay(e,r){let n=r.delay*Math.pow(r.backoff,e);if(n=Math.min(n,r.maxDelay),r.jitter){let i=n*.25;n=n-i+Math.random()*i*2}return Math.round(n)}isRetryableError(e,r){var i;if(e.code==="ECONNRESET"||e.code==="ETIMEDOUT"||e.code==="ENOTFOUND")return!0;let n=e.status||e.statusCode||((i=e.response)==null?void 0:i.status);return!!(n&&r.statusCodes.includes(n))}async withRetry(e,r,n=!1){let i=this.getRetryConfig(),o=this.isLiveMode(),s=null;for(let c=0;c<=i.maxAttempts;c++){if(this.aborted)throw new Error("Aborted");try{let u=await e();return this.consecutiveErrors=0,u}catch(u){if(s=u,!this.isRetryableError(u,i)){if(this.options.onError&&this.options.onError(u),n&&o)return this.consecutiveErrors++,null;throw u}if(c<i.maxAttempts){let l=this.calculateRetryDelay(c,i);if(this.options.onError){let d=new Error(`${r}: ${u.message}. Retrying in ${l}ms (attempt ${c+1}/${i.maxAttempts})`);d.cause=u,d.isRetry=!0,this.options.onError(d)}await this.sleep(l)}}}if(this.consecutiveErrors++,this.options.onError&&s&&this.options.onError(s),n&&o)return null;throw s||new Error(`${r}: All retry attempts failed`)}}});var Dd={};ve(Dd,{Agent:()=>Xx,AsyncLocalStorage:()=>Mx,AsyncResource:()=>Fx,Buffer:()=>Ux,Client:()=>Jx,EventEmitter:()=>Ww,PassThrough:()=>jw,ProxyAgent:()=>Kx,Readable:()=>$w,Server:()=>mx,Socket:()=>px,TLSSocket:()=>fx,Transform:()=>zw,WebSocket:()=>Qx,Writable:()=>Ow,arch:()=>ix,basename:()=>Uw,brotliCompress:()=>Sx,brotliDecompress:()=>Ex,channel:()=>Bx,connect:()=>dx,cpus:()=>ox,createCipheriv:()=>Zw,createConnection:()=>lx,createDecipheriv:()=>Yw,createHash:()=>Vw,createHmac:()=>Gw,createPrivateKey:()=>Xw,createReadStream:()=>Tw,createSign:()=>Kw,createWriteStream:()=>kw,deepStrictEqual:()=>qx,default:()=>xw,deflate:()=>Tx,deflateSync:()=>Rx,dirname:()=>Bw,errors:()=>Gx,exec:()=>_x,execSync:()=>Wx,existsSync:()=>Cw,extname:()=>Iw,finished:()=>_w,format:()=>rx,freemem:()=>ax,gunzip:()=>Ax,gunzipSync:()=>Dx,gzip:()=>kx,gzipSync:()=>Lx,homedir:()=>cx,inflate:()=>Cx,inflateSync:()=>Px,inspect:()=>tx,join:()=>Fw,lookup:()=>hx,mkdir:()=>Ew,ok:()=>Ix,performance:()=>Nx,pipeline:()=>qw,platform:()=>nx,promises:()=>Yx,promisify:()=>ex,randomBytes:()=>Jw,randomUUID:()=>Qw,readFile:()=>Dw,readFileSync:()=>Sw,readdir:()=>Mw,rejects:()=>Ox,request:()=>Vx,resolve:()=>Hw,resolve4:()=>gx,resolve6:()=>yx,resolveCname:()=>xx,resolveMx:()=>bx,resolveNs:()=>wx,resolveTxt:()=>vx,rm:()=>Pw,spawn:()=>zx,spawnSync:()=>jx,stat:()=>Nw,strictEqual:()=>Hx,throws:()=>$x,tmpdir:()=>ux,totalmem:()=>sx,unlink:()=>Rw,writeFile:()=>Lw,writeFileSync:()=>Aw});var pe,Y,De,xw,kw,Tw,Sw,Aw,Cw,Ew,Dw,Lw,Rw,Pw,Nw,Mw,Fw,Bw,Uw,Iw,Hw,qw,$w,Ow,zw,jw,_w,Ww,Vw,Gw,Kw,Xw,Jw,Qw,Yw,Zw,ex,tx,rx,nx,ix,ox,ax,sx,cx,ux,lx,dx,px,mx,fx,hx,gx,yx,bx,vx,wx,xx,kx,Tx,Sx,Ax,Cx,Ex,Dx,Lx,Rx,Px,Nx,Mx,Fx,Bx,Ux,Ix,Hx,qx,$x,Ox,zx,jx,_x,Wx,Vx,Gx,Kx,Xx,Jx,Qx,Yx,Ld=A(()=>{pe=()=>{},Y=()=>Promise.resolve(),De=class{constructor(){}},xw={},kw=pe,Tw=pe,Sw=()=>"",Aw=pe,Cw=()=>!1,Ew=Y,Dw=Y,Lw=Y,Rw=Y,Pw=Y,Nw=Y,Mw=Y,Fw=(...t)=>t.join("/"),Bw=t=>t.split("/").slice(0,-1).join("/"),Uw=t=>t.split("/").pop()||"",Iw=t=>{let e=t.match(/\.[^.]+$/);return e?e[0]:""},Hw=(...t)=>t.join("/"),qw=Y,$w=De,Ow=De,zw=De,jw=De,_w=Y,Ww=class{on(){return this}off(){return this}emit(){return!1}once(){return this}addListener(){return this}removeListener(){return this}},Vw=()=>({update:()=>({digest:()=>""})}),Gw=()=>({update:()=>({digest:()=>""})}),Kw=()=>({update:()=>({}),sign:()=>""}),Xw=()=>({}),Jw=t=>new Uint8Array(t),Qw=()=>crypto.randomUUID(),Yw=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:pe}),Zw=()=>({update:t=>t,final:()=>new Uint8Array(0),setAutoPadding:pe}),ex=t=>t,tx=t=>JSON.stringify(t),rx=(...t)=>t.join(" "),nx=()=>"browser",ix=()=>"unknown",ox=()=>[],ax=()=>0,sx=()=>0,cx=()=>"/",ux=()=>"/tmp",lx=pe,dx=pe,px=De,mx=De,fx=De,hx=(t,e)=>e(null,"127.0.0.1",4),gx=Y,yx=Y,bx=Y,vx=Y,wx=Y,xx=Y,kx=(t,e)=>e(null,t),Tx=(t,e)=>e(null,t),Sx=(t,e)=>e(null,t),Ax=(t,e)=>e(null,t),Cx=(t,e)=>e(null,t),Ex=(t,e)=>e(null,t),Dx=t=>t,Lx=t=>t,Rx=t=>t,Px=t=>t,Nx=globalThis.performance,Mx=class{getStore(){}run(t,e){return e()}enterWith(){}},Fx=De,Bx=()=>({subscribe:pe,unsubscribe:pe,publish:pe,hasSubscribers:!1}),Ux={from:t=>new Uint8Array(typeof t=="string"?new TextEncoder().encode(t):t),alloc:t=>new Uint8Array(t),allocUnsafe:t=>new Uint8Array(t),isBuffer:()=>!1},Ix=pe,Hx=pe,qx=pe,$x=pe,Ox=Y,zx=()=>({on:pe,stdout:{on:pe},stderr:{on:pe},kill:pe}),jx=()=>({status:0,stdout:"",stderr:""}),_x=pe,Wx=()=>"",Vx=Y,Gx={ConnectTimeoutError:De,HeadersTimeoutError:De,BodyTimeoutError:De},Kx=De,Xx=De,Jx=De,Qx=De,Yx={readFile:Y,writeFile:Y,access:Y,stat:Y,mkdir:Y,unlink:Y,readdir:Y}});var Y1={};ve(Y1,{AbortError:()=>co,AuthenticationError:()=>uo,BrowserCrypto:()=>oo,CircuitBreakerError:()=>cn,Client:()=>sn,ConfigurationError:()=>Le,ConnectionError:()=>Sr,DownloadError:()=>fo,FetchTransport:()=>yt,FilterBuilder:()=>Qi,GraphQLError:()=>un,GrpcError:()=>_t,GrpcStatusCode:()=>gr,GrpcWebClient:()=>Wi,HarRecorder:()=>Zi,Http2Error:()=>Et,HttpError:()=>We,HttpRequest:()=>ht,HttpStatus:()=>kr,HttpStatusText:()=>Ep,IndexedDBStorage:()=>Es,JsonRpcClient:()=>_i,JsonRpcErrorCodes:()=>hr,JsonRpcException:()=>ln,LinkHeaderParser:()=>zn,LinkRel:()=>Te,MaxSizeExceededError:()=>ft,NetworkError:()=>qe,NotFoundError:()=>po,ODataClient:()=>Yi,ODataException:()=>Xi,ODataQueryBuilder:()=>Ji,ParseError:()=>mo,ProtocolError:()=>lo,QueueCancelledError:()=>$e,RateLimitExceededError:()=>ji,Recker:()=>sn,ReckerError:()=>$,RequestPromise:()=>Jt,SEO_THRESHOLDS:()=>U,SeoAnalyzer:()=>ro,SeoRulesEngine:()=>pn,ServiceWorkerCache:()=>ao,SoapClient:()=>Ki,StateError:()=>Ar,StreamError:()=>ae,TimeoutError:()=>V,USER_AGENT_CATEGORIES:()=>Do,USER_AGENT_PRESETS:()=>fc,UnsupportedError:()=>me,ValidationError:()=>Cr,WorkerTransport:()=>Ts,XmlRpcClient:()=>Gi,ai:()=>Ms,analyzeSeo:()=>Ls,browserCrypto:()=>Tr,circuitBreakerPlugin:()=>a1,classifyTransportError:()=>xn,compression:()=>Fs,consoleLogger:()=>Rt,cookieJarPlugin:()=>s1,createClient:()=>zi,createCompressionMiddleware:()=>J1,createFormData:()=>Pr,createGrpcWebClient:()=>Ud,createJsonRpcClient:()=>Pd,createLevelLogger:()=>So,createMultipart:()=>Z0,createODataClient:()=>qd,createRulesEngine:()=>to,createSoapClient:()=>Hd,createXSRFMiddleware:()=>Jo,createXmlRpcClient:()=>Id,decodeText:()=>x1,decompress:()=>X1,dedupPlugin:()=>Ko,del:()=>Np,detectCharset:()=>w1,detectDeviceType:()=>gc,detectFromBOM:()=>Ds,detectFromContentType:()=>$d,detectFromHTMLMeta:()=>jd,detectFromXMLDeclaration:()=>zd,get:()=>Dp,getDefaultUserAgent:()=>Mr,getRandomUserAgent:()=>py,getStatusText:()=>H1,getSupportedEncodings:()=>k1,getUserAgent:()=>hc,graphql:()=>l1,graphqlPlugin:()=>u1,grpcWeb:()=>m1,harRecorder:()=>yr,harRecorderPlugin:()=>y1,head:()=>Mp,hmacSha256:()=>O1,isCharsetSupported:()=>T1,isClientError:()=>F1,isCompressionSupported:()=>Bs,isError:()=>U1,isFileUpload:()=>oc,isMobile:()=>my,isPlainObject:()=>Rr,isRedirect:()=>M1,isRetryable:()=>I1,isServerError:()=>B1,isSuccess:()=>N1,jsonCodec:()=>Bd,jsonrpc:()=>p1,loggerPlugin:()=>i1,normalizeCharset:()=>Tt,odata:()=>g1,options:()=>Fp,parse:()=>_c,parseAcceptInfo:()=>Lc,parseAuthInfo:()=>Rc,parseCSPInfo:()=>Ec,parseCacheInfo:()=>Tc,parseClockSkew:()=>Pc,parseCompressionInfo:()=>Cc,parseContentType:()=>Dc,parseHeaders:()=>ut,parseHttp2Error:()=>wn,parseLink:()=>Nc,parseLinkHeader:()=>Br,parsePlatformInfo:()=>Sc,parseRateLimitInfo:()=>Ac,parseXML:()=>_c,patch:()=>Pp,post:()=>Lp,processBody:()=>Ao,purge:()=>Bp,put:()=>Rp,randomBytes:()=>j1,randomUUID:()=>z1,rateLimitPlugin:()=>n1,recker:()=>Q1,retryPlugin:()=>Bo,serialize:()=>rr,serializeXML:()=>rr,serverTimingPlugin:()=>d1,sha1:()=>$1,sha256:()=>q1,silentLogger:()=>To,simulateNetwork:()=>Cs,soap:()=>h1,stripBOM:()=>Od,toCurl:()=>o1,ws:()=>Up,xmlResponse:()=>$y,xsrfPlugin:()=>Xo});G();function Gs(t){if(t==null){let e=new $("fnOrPromise cannot be null or undefined",void 0,void 0,["Pass a valid function or promise to tryFn.","Check the caller to ensure an undefined value is not passed."]);return e.stack=new Error().stack,[!1,e,void 0]}if(typeof t=="function")try{let e=t();return e==null?[!0,null,e]:typeof e.then=="function"?e.then(r=>[!0,null,r]).catch(r=>{if(r instanceof Error&&Object.isExtensible(r)){let n=Object.getOwnPropertyDescriptor(r,"stack");!n||n.writable&&n.configurable}return[!1,ho(r,"Function threw an error"),void 0]}):[!0,null,e]}catch(e){return[!1,ho(e,"Function threw an error"),void 0]}return typeof t.then=="function"?Promise.resolve(t).then(e=>[!0,null,e]).catch(e=>[!1,ho(e,"Promise rejected"),void 0]):[!0,null,t]}function ho(t,e){return t instanceof Error?t:new $(`${e}: ${String(t)}`,void 0,void 0,["Inspect the original value being thrown.","Ensure errors are instances of Error or ReckerError.","Add contextual information when throwing custom errors."])}G();Sn();En();function J0(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var Jt=class{promise;abortController;constructor(e,r){this.promise=e,this.abortController=r}get[Symbol.toStringTag](){return"RequestPromise"}then(e,r){return this.promise.then(e,r)}catch(e){return this.promise.catch(e)}finally(e){return this.promise.finally(e)}cancel(){this.abortController&&this.abortController.abort()}async json(){return(await this.promise).json()}async yaml(e){let n=await(await this.promise).text();return Tn(n,e)}async csv(e){let n=await(await this.promise).text();return Cn(n,e)}async text(){return(await this.promise).text()}async cleanText(){return(await this.promise).cleanText()}async blob(){return(await this.promise).blob()}async read(){return(await this.promise).read()}async write(e){if(!J0())throw new ae("write() is only supported in Node.js environments.",{streamType:"response",retriable:!1});let n=(await this.promise).read();if(!n)throw new ae("Response has no body to write",{streamType:"response",retriable:!0});let[{createWriteStream:i},{pipeline:o},{Readable:s}]=await Promise.all([Promise.resolve().then(()=>(Lt(),Qs)),Promise.resolve().then(()=>(Ln(),ec)),Promise.resolve().then(()=>(Pn(),rc))]),c=s.fromWeb(n),u=i(e);await o(c,u)}async parse(e){let r=await this.json();return e.parse(r)}async safe(){return Gs(()=>this.json())}async*sse(){yield*(await this.promise).sse()}async*download(){yield*(await this.promise).download()}async*[Symbol.asyncIterator](){yield*await this.promise}};G();var Rt={debug:(t,...e)=>{typeof t=="object"?console.debug(t,...e):console.debug(t,...e)},info:(t,...e)=>{typeof t=="object"?console.info(t,...e):console.info(t,...e)},warn:(t,...e)=>{typeof t=="object"?console.warn(t,...e):console.warn(t,...e)},error:(t,...e)=>{typeof t=="object"?console.error(t,...e):console.error(t,...e)}},To={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};function So(t,e){let r={debug:0,info:1,warn:2,error:3},n=r[e];return{debug:(...i)=>{r.debug>=n&&t.debug(...i)},info:(...i)=>{r.info>=n&&t.info(...i)},warn:(...i)=>{r.warn>=n&&t.warn(...i)},error:(...i)=>{r.error>=n&&t.error(...i)}}}var Nn={balanced:{maxConcurrentStreams:100,initialWindowSize:65535,maxHeaderListSize:16384,enablePush:0},performance:{maxConcurrentStreams:128,initialWindowSize:1048576,maxHeaderListSize:32768,enablePush:0},"low-latency":{maxConcurrentStreams:250,initialWindowSize:65535,maxHeaderListSize:16384,enablePush:0},"low-memory":{maxConcurrentStreams:50,initialWindowSize:32768,maxHeaderListSize:8192,enablePush:0}};var Qt=class t{config;systemMessage=null;messages=[];constructor(e={}){this.config={maxPairs:e.maxPairs??12,systemPrompt:e.systemPrompt??""},this.config.systemPrompt&&(this.systemMessage={role:"system",content:this.config.systemPrompt})}setSystemPrompt(e){this.config.systemPrompt=e,e?this.systemMessage={role:"system",content:e}:this.systemMessage=null}getSystemPrompt(){return this.config.systemPrompt}addUserMessage(e){this.messages.push({role:"user",content:e}),this.prune()}addAssistantMessage(e){this.messages.push({role:"assistant",content:e}),this.prune()}addMessage(e){if(e.role==="system"){this.setSystemPrompt(typeof e.content=="string"?e.content:"");return}this.messages.push(e),this.prune()}buildMessages(e){return this.addUserMessage(e),this.getMessages()}recordResponse(e){this.addAssistantMessage(e)}getMessages(){let e=[];return this.systemMessage&&e.push(this.systemMessage),e.push(...this.messages),e}getConversation(){return this.messages}getPairCount(){var r;let e=0;for(let n=0;n<this.messages.length-1;n+=2)this.messages[n].role==="user"&&((r=this.messages[n+1])==null?void 0:r.role)==="assistant"&&e++;return e}clear(){this.messages=[]}reset(){this.messages=[],this.systemMessage=null,this.config.systemPrompt=""}setConfig(e){e.maxPairs!==void 0&&(this.config.maxPairs=e.maxPairs,this.prune()),e.systemPrompt!==void 0&&this.setSystemPrompt(e.systemPrompt)}getConfig(){return{...this.config}}prune(){let e=this.config.maxPairs*2;if(this.messages.length>e){let r=this.messages.length-e,n=Math.ceil(r/2)*2;this.messages=this.messages.slice(n)}}isEmpty(){return this.messages.length===0}getMessageCount(){return this.messages.length}toJSON(){var e;return{config:this.config,systemPrompt:(e=this.systemMessage)==null?void 0:e.content,messages:[...this.messages]}}static fromJSON(e){let r=new t(e.config);if(e.systemPrompt&&r.setSystemPrompt(e.systemPrompt),e.messages)for(let n of e.messages)r.addMessage(n);return r}};var Mn=class extends Error{constructor(e){super(e),this.name="AIConfigurationError"}},Q0={openai:"/chat/completions",anthropic:"/messages",google:"/models/{model}:generateContent",groq:"/chat/completions",mistral:"/chat/completions",cohere:"/chat",together:"/chat/completions",perplexity:"/chat/completions",deepseek:"/chat/completions",fireworks:"/chat/completions",xai:"/chat/completions",replicate:"/predictions",huggingface:"/models/{model}/v1/chat/completions",ollama:"/api/chat","azure-openai":"/chat/completions","cloudflare-workers-ai":"/ai/run/@cf/meta/llama-2-7b-chat-int8",custom:"/chat/completions"},Yt=class{client;config;memory;constructor(e,r){this.client=e,this.config=r,this.memory=new Qt(r.memory)}get provider(){return this.config.provider}get model(){return this.config.model}async chat(e){let r=this.memory.buildMessages(e),n=await this.makeRequest(r,!1);return this.memory.recordResponse(n.content),n}async chatStream(e){let r=this.memory.buildMessages(e),n=await this.makeStreamRequest(r);return this.wrapStreamWithMemory(n)}async prompt(e){let r=[{role:"user",content:e}];return this.makeRequest(r,!1)}async promptStream(e){let r=[{role:"user",content:e}];return this.makeStreamRequest(r)}clearMemory(){this.memory.clear()}getMemory(){return this.memory.getConversation()}setMemoryConfig(e){this.memory.setConfig(e)}getMemoryConfig(){return this.memory.getConfig()}async makeRequest(e,r){let n=performance.now(),i=this.buildRequestBody(e,r),o=this.getEndpoint(),c=await(await this.client.post(o,{json:i,headers:this.getExtraHeaders()})).json();return this.parseResponse(c,n)}async makeStreamRequest(e){let r=this.buildRequestBody(e,!0),n=this.getEndpoint(),i=await this.client.post(n,{json:r,headers:this.getExtraHeaders()});return this.parseSSEStream(i.raw)}buildRequestBody(e,r){let n=this.config.provider;return n==="anthropic"?this.buildAnthropicBody(e,r):n==="google"?this.buildGoogleBody(e,r):n==="cohere"?this.buildCohereBody(e,r):{model:this.config.model,messages:e.map(i=>({role:i.role,content:i.content})),stream:r,...r&&{stream_options:{include_usage:!0}}}}buildAnthropicBody(e,r){let n=e.filter(o=>o.role==="system"),i=e.filter(o=>o.role!=="system");return{model:this.config.model,max_tokens:4096,system:n.map(o=>o.content).join(`
|
|
56
56
|
`)||void 0,messages:i.map(o=>({role:o.role==="assistant"?"assistant":"user",content:o.content})),stream:r}}buildGoogleBody(e,r){let n=e.filter(o=>o.role!=="system").map(o=>({role:o.role==="assistant"?"model":"user",parts:[{text:o.content}]})),i=e.filter(o=>o.role==="system").map(o=>o.content).join(`
|
|
57
57
|
`);return{contents:n,...i&&{systemInstruction:{parts:[{text:i}]}},generationConfig:{maxOutputTokens:4096}}}buildCohereBody(e,r){let n=e.slice(0,-1).map(o=>({role:o.role==="assistant"?"CHATBOT":"USER",message:o.content})),i=e[e.length-1];return{model:this.config.model,message:typeof i.content=="string"?i.content:"",chat_history:n.length>0?n:void 0,stream:r}}getEndpoint(){let e=Q0[this.config.provider]||"/chat/completions";return e=e.replace("{model}",this.config.model),e}getExtraHeaders(){let e={};return this.config.headers&&Object.assign(e,this.config.headers),e}parseResponse(e,r){let n=this.config.provider,i=performance.now();return n==="anthropic"?this.parseAnthropicResponse(e,r,i):n==="google"?this.parseGoogleResponse(e,r,i):n==="cohere"?this.parseCohereResponse(e,r,i):this.parseOpenAIResponse(e,r,i)}parseOpenAIResponse(e,r,n){var c,u,l,d,p,m,f,h;let i=e,o=((l=(u=(c=i.choices)==null?void 0:c[0])==null?void 0:u.message)==null?void 0:l.content)||"",s={inputTokens:((d=i.usage)==null?void 0:d.prompt_tokens)||0,outputTokens:((p=i.usage)==null?void 0:p.completion_tokens)||0,totalTokens:((m=i.usage)==null?void 0:m.total_tokens)||0};return{content:o,usage:s,latency:this.buildLatency(r,n,s.outputTokens),model:i.model||this.config.model,provider:this.config.provider,cached:!1,finishReason:(h=(f=i.choices)==null?void 0:f[0])==null?void 0:h.finish_reason,raw:e}}parseAnthropicResponse(e,r,n){var u,l,d,p,m;let i=e,o=(u=i.content)==null?void 0:u.find(f=>f.type==="text"),s=(o==null?void 0:o.text)||"",c={inputTokens:((l=i.usage)==null?void 0:l.input_tokens)||0,outputTokens:((d=i.usage)==null?void 0:d.output_tokens)||0,totalTokens:(((p=i.usage)==null?void 0:p.input_tokens)||0)+(((m=i.usage)==null?void 0:m.output_tokens)||0)};return{content:s,usage:c,latency:this.buildLatency(r,n,c.outputTokens),model:i.model||this.config.model,provider:"anthropic",cached:!1,finishReason:i.stop_reason==="end_turn"?"stop":void 0,raw:e}}parseGoogleResponse(e,r,n){var c,u,l,d,p,m,f,h,g,y;let i=e,o=((p=(d=(l=(u=(c=i.candidates)==null?void 0:c[0])==null?void 0:u.content)==null?void 0:l.parts)==null?void 0:d[0])==null?void 0:p.text)||"",s={inputTokens:((m=i.usageMetadata)==null?void 0:m.promptTokenCount)||0,outputTokens:((f=i.usageMetadata)==null?void 0:f.candidatesTokenCount)||0,totalTokens:((h=i.usageMetadata)==null?void 0:h.totalTokenCount)||0};return{content:o,usage:s,latency:this.buildLatency(r,n,s.outputTokens),model:this.config.model,provider:"google",cached:!1,finishReason:((y=(g=i.candidates)==null?void 0:g[0])==null?void 0:y.finishReason)==="STOP"?"stop":void 0,raw:e}}parseCohereResponse(e,r,n){var c,u,l,d,p,m,f,h;let i=e,o=i.text||"",s={inputTokens:((u=(c=i.meta)==null?void 0:c.tokens)==null?void 0:u.input_tokens)||0,outputTokens:((d=(l=i.meta)==null?void 0:l.tokens)==null?void 0:d.output_tokens)||0,totalTokens:(((m=(p=i.meta)==null?void 0:p.tokens)==null?void 0:m.input_tokens)||0)+(((h=(f=i.meta)==null?void 0:f.tokens)==null?void 0:h.output_tokens)||0)};return{content:o,usage:s,latency:this.buildLatency(r,n,s.outputTokens),model:this.config.model,provider:"cohere",cached:!1,finishReason:i.finish_reason==="COMPLETE"?"stop":void 0,raw:e}}buildLatency(e,r,n){let i=r-e;return{ttft:i,tps:n>0?n/(i/1e3):0,total:i}}async*parseSSEStream(e){var c;let r=(c=e.body)==null?void 0:c.getReader();if(!r)throw new Error("No response body");let n=new TextDecoder,i="",o,s=performance.now();try{for(;;){let{done:u,value:l}=await r.read();if(u)break;i+=n.decode(l,{stream:!0});let d=i.split(`
|
|
58
|
-
`);i=d.pop()||"";for(let p of d){let m=p.trim();if(!(!m||m==="data: [DONE]")&&m.startsWith("data: ")){let f=m.slice(6);try{let h=this.parseStreamChunk(f);h&&(!o&&h.type==="text"&&(o=performance.now()),yield h)}catch{}}}}}finally{r.releaseLock()}}parseStreamChunk(e){let r=JSON.parse(e);return this.config.provider==="anthropic"?this.parseAnthropicStreamChunk(r):this.parseOpenAIStreamChunk(r)}parseOpenAIStreamChunk(e){var n,i;let r=(n=e.choices)==null?void 0:n[0];return r?(i=r.delta)!=null&&i.content?{type:"text",content:r.delta.content}:r.finish_reason?{type:"done",finishReason:r.finish_reason}:null:e.usage?{type:"usage",usage:{inputTokens:e.usage.prompt_tokens||0,outputTokens:e.usage.completion_tokens||0,totalTokens:e.usage.total_tokens||0}}:null}parseAnthropicStreamChunk(e){var r,n;return e.type==="content_block_delta"&&((r=e.delta)==null?void 0:r.type)==="text_delta"?{type:"text",content:e.delta.text||""}:e.type==="message_stop"?{type:"done",finishReason:"stop"}:e.type==="message_delta"&&((n=e.message)!=null&&n.usage)?{type:"usage",usage:{inputTokens:e.message.usage.input_tokens||0,outputTokens:e.message.usage.output_tokens||0,totalTokens:(e.message.usage.input_tokens||0)+(e.message.usage.output_tokens||0)}}:null}async*wrapStreamWithMemory(e){let r="";for await(let n of e)n.type==="text"&&(r+=n.content),yield n;r&&this.memory.recordResponse(r)}};var nc=0;function ic(t={}){nc+=1;let e=`${Date.now().toString(36)}-${nc.toString(36)}-${Math.random().toString(16).slice(2,8)}`;return{requestId:e,correlationId:t.correlationId||e,tenant:t.tenant,policyTags:t.policyTags??[],policySource:t.policySource,createdAt:Date.now(),traceId:t.traceId}}function Zt(t,e){return t&&(t._runtime=e,t)}function st(t){return t._runtime}function Y0(t){if(t!==void 0)return typeof t=="number"?{request:t}:t}var ht=class t{url;method;headers;body;signal;throwHttpErrors;timeout;onUploadProgress;onDownloadProgress;maxResponseSize;beforeRedirect;maxRedirects;followRedirects;http2;useCurl;correlationId;tenant;policyTags;policySource;traceId;constructor(e,r={}){this.url=e,this.method=r.method||"GET",this.headers=r.headers instanceof Headers?r.headers:new Headers(r.headers),this.body=r.body||null,this.signal=r.signal,this.throwHttpErrors=r.throwHttpErrors!==void 0?r.throwHttpErrors:!0,this.timeout=Y0(r.timeout),this.onUploadProgress=r.onUploadProgress,this.onDownloadProgress=r.onDownloadProgress,this.maxResponseSize=r.maxResponseSize,this.beforeRedirect=r.beforeRedirect,this.maxRedirects=r.maxRedirects,this.followRedirects=r.followRedirects,this.http2=r.http2,this.useCurl=r.useCurl,this.correlationId=r.correlationId,this.tenant=r.tenant,this.policyTags=r.policyTags??[],this.policySource=r.policySource,this.traceId=r.traceId}withHeader(e,r){let n=st(this),i=new Headers(this.headers);i.set(e,r);let o=new t(this.url,{method:this.method,headers:i,body:this.body,signal:this.signal,throwHttpErrors:this.throwHttpErrors,timeout:this.timeout,onUploadProgress:this.onUploadProgress,onDownloadProgress:this.onDownloadProgress,maxResponseSize:this.maxResponseSize,beforeRedirect:this.beforeRedirect,maxRedirects:this.maxRedirects,followRedirects:this.followRedirects,http2:this.http2,useCurl:this.useCurl,correlationId:this.correlationId,tenant:this.tenant,policyTags:this.policyTags,policySource:this.policySource,traceId:this.traceId});return n?Zt(o,n):o}withBody(e){let r=st(this),n=new t(this.url,{method:this.method,headers:this.headers,body:e,signal:this.signal,throwHttpErrors:this.throwHttpErrors,timeout:this.timeout,onUploadProgress:this.onUploadProgress,onDownloadProgress:this.onDownloadProgress,maxResponseSize:this.maxResponseSize,beforeRedirect:this.beforeRedirect,maxRedirects:this.maxRedirects,followRedirects:this.followRedirects,http2:this.http2,useCurl:this.useCurl,correlationId:this.correlationId,tenant:this.tenant,policyTags:this.policyTags,policySource:this.policySource,traceId:this.traceId});return r?Zt(n,r):n}};G();function Rr(t){if(typeof t!="object"||t===null||t instanceof Blob||t instanceof FormData||t instanceof URLSearchParams||t instanceof ArrayBuffer||t instanceof ReadableStream)return!1;if(typeof File<"u")try{if(t instanceof File)return!1}catch{}return!0}function Ao(t){return t==null?{body:void 0}:typeof t=="string"?{body:t,contentType:"text/plain; charset=utf-8"}:t instanceof FormData?{body:t,contentType:void 0}:t instanceof URLSearchParams?{body:t.toString(),contentType:"application/x-www-form-urlencoded"}:t instanceof Blob||Pt(t)?{body:t,contentType:t.type||"application/octet-stream"}:t instanceof ArrayBuffer?{body:t,contentType:"application/octet-stream"}:t instanceof ReadableStream?{body:t,contentType:"application/octet-stream"}:Rr(t)?oc(t)?{body:Pr(t),contentType:void 0}:{body:JSON.stringify(t),contentType:"application/json"}:Array.isArray(t)?{body:JSON.stringify(t),contentType:"application/json"}:{body:String(t),contentType:"text/plain; charset=utf-8"}}function Pr(t){let e=new FormData;for(let[r,n]of Object.entries(t))if(n!=null){if(Array.isArray(n)){n.forEach(i=>{i instanceof Blob||Pt(i)?e.append(r,i):e.append(r,String(i))});continue}if(n instanceof Blob||Pt(n)){e.append(r,n);continue}if(typeof n=="object"){e.append(r,JSON.stringify(n));continue}e.append(r,String(n))}return e}function Z0(t){return Pr(t)}function Pt(t){return typeof File>"u"?!1:t instanceof File}function oc(t){if(!t)return!1;if(t instanceof Blob||Pt(t))return!0;if(t instanceof FormData){for(let e of t.values())if(e instanceof Blob||Pt(e))return!0}if(Rr(t)){for(let e of Object.values(t))if(e instanceof Blob||Pt(e)||Array.isArray(e)&&e.some(r=>r instanceof Blob||Pt(r)))return!0}return!1}G();var Fn=class{concurrency;requestsPerInterval;interval;queue=[];active=0;windowStart=0;startedInWindow=0;waitingTimer;constructor(e={}){this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.requestsPerInterval=e.requestsPerInterval,this.interval=e.interval}run(e,r){return r!=null&&r.aborted?Promise.reject(r.reason??new $("Request aborted before enqueue",void 0,void 0,["Ensure the AbortSignal is not already aborted when calling the request.","Remove or reset the signal before enqueueing."])):new Promise((n,i)=>{let o={fn:e,resolve:n,reject:i,signal:r};if(r){let s=()=>{this._removeFromQueue(o),i(r.reason??new $("Request aborted while queued",void 0,void 0,["Avoid aborting immediately after queuing.","Increase timeouts or adjust rate limits if cancellations are unintended."])),this._schedule()};r.addEventListener("abort",s,{once:!0}),o.abortCleanup=()=>r.removeEventListener("abort",s)}this.queue.push(o),this._schedule()})}_removeFromQueue(e){let r=this.queue.indexOf(e);r>=0&&this.queue.splice(r,1)}_canStart(e){return this.active>=this.concurrency?!1:this.requestsPerInterval==null||this.interval==null||(e-this.windowStart>=this.interval&&(this.windowStart=e,this.startedInWindow=0),this.startedInWindow<this.requestsPerInterval)}_schedule(){var r,n;if(this.waitingTimer)return;let e=Date.now();for(;this.queue.length>0&&this._canStart(Date.now());){let i=this.queue.shift();if((r=i.signal)!=null&&r.aborted){(n=i.abortCleanup)==null||n.call(i),i.reject(i.signal.reason??new $("Request aborted while queued",void 0,void 0,["Avoid aborting immediately after queuing.","Increase timeouts or adjust rate limits if cancellations are unintended."]));continue}this.active++,this.startedInWindow++;let o=i.abortCleanup;o&&(o(),i.abortCleanup=void 0),Promise.resolve().then(()=>i.fn()).then(s=>i.resolve(s)).catch(s=>i.reject(s)).finally(()=>{this.active--,this._schedule()})}if(this.queue.length>0&&this.requestsPerInterval!=null&&this.interval!=null&&!this._canStart(Date.now())){let i=Math.max(0,this.windowStart+this.interval-Date.now());this.waitingTimer=setTimeout(()=>{this.waitingTimer=void 0,this._schedule()},i)}}asMiddleware(){return async(e,r)=>this.run(()=>r(e),e.signal)}};function ac(){return{on:()=>()=>{},emit:()=>{}}}var ey="request";function sc(t,e){return t.__reckerManifest=cc(t,e),t}function ty(t,e={}){return cc(t,e)}function Bn(t){return t.__reckerManifest}function cc(t,e){return{name:(e==null?void 0:e.name)||ry(t),version:(e==null?void 0:e.version)||"1",scope:(e==null?void 0:e.scope)||ey,priority:(e==null?void 0:e.priority)??0,dependsOn:(e==null?void 0:e.dependsOn)||[],setup:e==null?void 0:e.setup,teardown:e==null?void 0:e.teardown}}function ry(t){return t.name&&t.name!=="anonymous"?t.name:`plugin-${Math.random().toString(16).slice(2,10)}`}function ny(t,e,r){if(e.has(t))throw new Error(`Invalid plugin manifest: duplicate plugin name '${t}'. ${r}`);e.add(t)}function iy(t,e){return`${e} -> ${t.join(" -> ")} -> ${e}`}function oy(t){return t.join(" -> ")}function uc(t){return t.map((e,r)=>({plugin:e,manifest:ty(e,Bn(e)),registrationIndex:r}))}function lc(t){let e=new Map,r=new Set;t.forEach(l=>{let p=l.manifest.name;ny(p,r,"Use explicit `manifest.name` to avoid collisions for anonymous plugin factories."),e.set(p,l)});let n=new Map,i=new Map;t.forEach(l=>{let{name:d,dependsOn:p}=l.manifest;i.set(d,0),n.set(d,new Set);for(let m of p){if(!e.has(m))throw new Error(`Invalid plugin dependency for '${d}': missing plugin '${m}'. Available plugins: `+Array.from(e.keys()).sort().join(", "));n.get(m).add(d),i.set(d,(i.get(d)||0)+1)}});let o=[];e.forEach((l,d)=>{(i.get(d)||0)===0&&o.push(d)});let s=[],c=l=>l.sort((d,p)=>{let m=e.get(d),f=e.get(p),h=f.manifest.priority-m.manifest.priority;return h!==0?h:m.registrationIndex-f.registrationIndex});for(;o.length>0;){let l=c(o).splice(0,1)[0],d=o.indexOf(l);d>=0&&o.splice(d,1);let p=e.get(l);if(!p)continue;s.push(p);let m=n.get(l);if(m)for(let f of m){let h=(i.get(f)||0)-1;i.set(f,h),h===0&&o.push(f)}}if(s.length!==t.length){let l=Array.from(i.entries()).filter(([,p])=>p>0).map(([p])=>p),d=ay(l,n);throw new Error(`Invalid plugin manifest: circular dependency detected. Unresolved nodes: ${oy(l)}. `+(d?`Detected cycle: ${d}.`:"Refactor dependency graph to a DAG."))}let u=s.map(l=>`${l.manifest.name}:${l.manifest.scope}:${l.manifest.priority}`);return{ordered:s,debugOrder:u}}function ay(t,e){let r=new Set,n=new Set,i=(o,s)=>{if(n.has(o)){let u=s.indexOf(o);return u>=0?iy(s.slice(u),o):null}if(r.has(o))return null;r.add(o),n.add(o);let c=e.get(o)||new Set;for(let u of c){let l=i(u,[...s,u]);if(l)return l}return n.delete(o),null};for(let o of t){let s=i(o,[o]);if(s)return s}return null}var sy=1*1e3;function dc(t){var d,p,m,f;let e;typeof t.concurrency=="number"?e={max:t.concurrency}:t.concurrency&&typeof t.concurrency=="object"?e=t.concurrency:e={};let r=e.max??1/0,n=e.requestsPerInterval??1/0,i=e.interval??sy,o=pc(t.http2),s=o.enabled??!1,c=cy(e.agent,r,s,o.maxConcurrentStreams),u=ly((d=e.http2)==null?void 0:d.maxConcurrentStreams,r,s),l;return((p=e.runner)==null?void 0:p.concurrency)!==void 0?l=e.runner.concurrency:r!==1/0?l=r:l=1/0,{max:r,requestsPerInterval:n,interval:i,runner:{concurrency:l,retries:(m=e.runner)==null?void 0:m.retries,retryDelay:(f=e.runner)==null?void 0:f.retryDelay},agent:{...c,connections:c.connections},http2:{maxConcurrentStreams:u}}}function pc(t){return t?typeof t=="boolean"?{enabled:t,preset:"balanced"}:typeof t=="string"?{enabled:!0,preset:t}:{...t,enabled:t.enabled??!0,preset:t.preset??"balanced"}:{}}function mc(t){let e=pc(t);if(!e.enabled)return{enabled:!1,resolvedSettings:Nn.balanced};let r=e.preset??"balanced",n=Nn[r]??Nn.balanced,i={...n,...e.settings,maxConcurrentStreams:e.maxConcurrentStreams??n.maxConcurrentStreams};return{enabled:!0,preset:r,maxConcurrentStreams:i.maxConcurrentStreams,pipelining:e.pipelining,settings:i,resolvedSettings:i}}function cy(t,e,r,n){let o={...{pipelining:1,keepAlive:!0,keepAliveTimeout:4e3,keepAliveMaxTimeout:6e5,keepAliveTimeoutThreshold:1e3,connectTimeout:1e4,perDomainPooling:!0,maxCachedSessions:100,maxRequestsPerClient:0,clientTtl:null},...t},s;return(t==null?void 0:t.connections)==="auto"||(t==null?void 0:t.connections)===void 0?s=uy(e,r,n,o.pipelining??1):s=t.connections,{...o,connections:s}}function uy(t,e,r,n=1){if(e)return Math.max(1,Math.ceil(t/(r??100)));{let i=n>1?n:2;return Math.max(1,Math.min(Math.ceil(t/i),50))}}function ly(t,e,r){return r?t==="auto"||t===void 0?Math.min(Math.max(e,100),200):t:100}Hn();var dy="0.0.0-dev";function Mr(){return`recker/${dy}`}var fc={chrome_windows:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",chrome_mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",chrome_linux:"Mozilla/5.0 (X11; Linux x8664) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",firefox_windows:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0",firefox_mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0",firefox_linux:"Mozilla/5.0 (X11; Linux x8664; rv:121.0) Gecko/20100101 Firefox/121.0",safari_mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15",edge_windows:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0",edge_mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0",opera_windows:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 OPR/105.0.0.0",opera_mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 OPR/105.0.0.0",safari_iphone:"Mozilla/5.0 (iPhone; CPU iPhone OS 170 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",safari_ipad:"Mozilla/5.0 (iPad; CPU OS 170 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",chrome_ios:"Mozilla/5.0 (iPhone; CPU iPhone OS 170 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/120.0.6099.119 Mobile/15E148 Safari/604.1",chrome_android:"Mozilla/5.0 (Linux; Android 14) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36",chrome_android_tablet:"Mozilla/5.0 (Linux; Android 14) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Safari/537.36",firefox_android:"Mozilla/5.0 (Android 14; Mobile; rv:121.0) Gecko/121.0 Firefox/121.0",samsung_browser:"Mozilla/5.0 (Linux; Android 14) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/23.0 Chrome/115.0.0.0 Mobile Safari/537.36",googlebot:"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",googlebot_mobile:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",recker:Mr()};function hc(t){return fc[t]}var Do={desktop:{chrome:["chrome_windows","chrome_mac","chrome_linux"],firefox:["firefox_windows","firefox_mac","firefox_linux"],safari:["safari_mac"],edge:["edge_windows","edge_mac"],opera:["opera_windows","opera_mac"]},mobile:{ios:["safari_iphone","safari_ipad","chrome_ios"],android:["chrome_android","chrome_android_tablet","firefox_android","samsung_browser"]},bot:["googlebot","googlebot_mobile"],default:["recker"]};function py(t){let e=t.split("."),r=[];if(e.length===1){let i=Do[e[0]];Array.isArray(i)?r=i:typeof i=="object"&&(r=Object.values(i).flat())}else if(e.length===2){let i=Do[e[0]];typeof i=="object"&&e[1]in i&&(r=i[e[1]])}if(r.length===0)return Mr();let n=Math.floor(Math.random()*r.length);return hc(r[n])}function gc(t){let e=t.toLowerCase();return e.includes("bot")||e.includes("crawler")||e.includes("spider")?"bot":e.includes("ipad")||e.includes("tablet")||e.includes("android")&&!e.includes("mobile")?"tablet":e.includes("mobile")||e.includes("iphone")?"mobile":e.includes("windows")||e.includes("macintosh")||e.includes("linux")&&!e.includes("android")?"desktop":"unknown"}function my(t){let e=gc(t);return e==="mobile"||e==="tablet"}var In="__INJECT_VERSION__",ct=null;async function Lo(){var t;if(ct)return ct;if(In!=="__INJECT_VERSION__")return ct=In,ct;try{ct=((t=(await import("../package.json")).default)==null?void 0:t.version)||"0.0.0-dev"}catch{ct="0.0.0-dev"}return ct}function yc(){return ct||(In!=="__INJECT_VERSION__"?In:"0.0.0-dev")}async function bc(){return{version:await Lo(),name:"recker",nodeVersion:process.version,platform:process.platform,arch:process.arch}}Ro();G();function xc(t){let e=t.get("content-length");if(!e)return;let r=parseInt(e,10);return Number.isFinite(r)?r:void 0}function vc(t){return(t==null?void 0:t.cause)??(t==null?void 0:t.reason)}function Po(t){return t instanceof V?!0:!t||typeof t!="object"?!1:t.name==="TimeoutError"}function No(t,e){if(!e||!t.body)return t;let r=xc(t.headers),n=Fe(t.body,e,{total:r,direction:"download"});return new Response(n,{status:t.status,statusText:t.statusText,headers:t.headers})}function wc(t){return new ReadableStream({start(e){e.enqueue(t),e.close()}})}function fy(t,e,r){if(!e||!t||typeof FormData<"u"&&t instanceof FormData)return t;if(typeof ReadableStream<"u"&&t instanceof ReadableStream)return Fe(t,e,{total:r,direction:"upload"});if(typeof Blob<"u"&&t instanceof Blob)return Fe(t.stream(),e,{total:t.size,direction:"upload"});if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let n=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return Fe(wc(n),e,{total:n.byteLength,direction:"upload"})}if(typeof t=="string"){let i=new TextEncoder().encode(t);return Fe(wc(i),e,{total:i.byteLength,direction:"upload"})}return t}var yt=class{options;constructor(e={}){this.options=e}async dispatch(e){var C,b;let r=performance.now(),n,i,o=typeof e.timeout=="number"?e.timeout:(C=e.timeout)==null?void 0:C.request,s=e.signal,c=o?new V(e,{phase:"request",timeout:o}):void 0;o&&!s&&(i=new AbortController,s=i.signal,n=setTimeout(()=>{hy(i,c)},o));let u=e.followRedirects!==!1,l=e.maxRedirects??20,d=!!e.beforeRedirect||e.followRedirects===!1||e.maxRedirects!==void 0,p=e.url,m=e.method,f=e.body,h=new Headers(e.headers),g=xc(h),y=0;try{for(;;){let x=y===0?fy(f,e.onUploadProgress,g):f,k={method:m,headers:h,body:x,signal:s,credentials:this.options.credentials,cache:this.options.cache,keepalive:this.options.keepalive??!0,redirect:d?"manual":"follow",duplex:x?"half":void 0},v=await globalThis.fetch(p,k);if(d){let P=v.status;if(P>=300&&P<400&&u&&y<l){let R=v.headers.get("location");if(!R||v.type==="opaqueredirect"){let z=No(v,e.onDownloadProgress),H=performance.now()-r;return new Fr(z,{total:H,firstByte:H})}let O=new URL(R,p).toString(),W=O;if(e.beforeRedirect){let z={from:p,to:O,status:P,headers:v.headers},H=await e.beforeRedirect(z);if(H===!1){let _=No(v,e.onDownloadProgress),E=performance.now()-r;return new Fr(_,{total:E,firstByte:E})}typeof H=="string"&&(W=H)}(P===303||(P===301||P===302)&&m!=="GET"&&m!=="HEAD")&&(m="GET",f=null,h.delete("content-type"),h.delete("content-length")),await((b=v.body)==null?void 0:b.cancel()),p=W,y++;continue}}let w=No(v,e.onDownloadProgress),S=performance.now()-r,A={total:S,firstByte:S};return new Fr(w,A)}}catch(x){if(o&&(x.name==="AbortError"||x.name==="TimeoutError")){let k=vc(x);if(Po(k)||Po(vc(s))||i&&Po(c))throw k instanceof V?k:c??x}throw x}finally{n&&clearTimeout(n)}}};function hy(t,e){t.signal.aborted||(e?t.abort(e):t.abort())}var Fr=class t{raw;timings;constructor(e,r){this.raw=e,this.timings=r}get status(){return this.raw.status}get statusText(){return this.raw.statusText}get headers(){return this.raw.headers}get ok(){return this.raw.ok}get url(){return this.raw.url}get connection(){return{}}json(){return this.raw.json()}text(){return this.raw.text()}blob(){return this.raw.blob()}async cleanText(){return(await this.text()).replace(/<[^>]*>?/gm,"")}read(){return this.raw.body}clone(){return new t(this.raw.clone(),this.timings)}async*sse(){if(!this.raw.body)return;let r=this.raw.body.pipeThrough(new TextDecoderStream).getReader(),n="";for(;;){let{done:i,value:o}=await r.read();if(i)break;n+=o;let s=n.split(`
|
|
58
|
+
`);i=d.pop()||"";for(let p of d){let m=p.trim();if(!(!m||m==="data: [DONE]")&&m.startsWith("data: ")){let f=m.slice(6);try{let h=this.parseStreamChunk(f);h&&(!o&&h.type==="text"&&(o=performance.now()),yield h)}catch{}}}}}finally{r.releaseLock()}}parseStreamChunk(e){let r=JSON.parse(e);return this.config.provider==="anthropic"?this.parseAnthropicStreamChunk(r):this.parseOpenAIStreamChunk(r)}parseOpenAIStreamChunk(e){var n,i;let r=(n=e.choices)==null?void 0:n[0];return r?(i=r.delta)!=null&&i.content?{type:"text",content:r.delta.content}:r.finish_reason?{type:"done",finishReason:r.finish_reason}:null:e.usage?{type:"usage",usage:{inputTokens:e.usage.prompt_tokens||0,outputTokens:e.usage.completion_tokens||0,totalTokens:e.usage.total_tokens||0}}:null}parseAnthropicStreamChunk(e){var r,n;return e.type==="content_block_delta"&&((r=e.delta)==null?void 0:r.type)==="text_delta"?{type:"text",content:e.delta.text||""}:e.type==="message_stop"?{type:"done",finishReason:"stop"}:e.type==="message_delta"&&((n=e.message)!=null&&n.usage)?{type:"usage",usage:{inputTokens:e.message.usage.input_tokens||0,outputTokens:e.message.usage.output_tokens||0,totalTokens:(e.message.usage.input_tokens||0)+(e.message.usage.output_tokens||0)}}:null}async*wrapStreamWithMemory(e){let r="";for await(let n of e)n.type==="text"&&(r+=n.content),yield n;r&&this.memory.recordResponse(r)}};var nc=0;function ic(t={}){nc+=1;let e=`${Date.now().toString(36)}-${nc.toString(36)}-${Math.random().toString(16).slice(2,8)}`;return{requestId:e,correlationId:t.correlationId||e,tenant:t.tenant,policyTags:t.policyTags??[],policySource:t.policySource,createdAt:Date.now(),traceId:t.traceId}}function Zt(t,e){return t&&(t._runtime=e,t)}function st(t){return t._runtime}function Y0(t){if(t!==void 0)return typeof t=="number"?{request:t}:t}var ht=class t{url;method;headers;body;signal;throwHttpErrors;timeout;onUploadProgress;onDownloadProgress;maxResponseSize;beforeRedirect;maxRedirects;followRedirects;http2;useCurl;correlationId;tenant;policyTags;policySource;traceId;constructor(e,r={}){this.url=e,this.method=r.method||"GET",this.headers=r.headers instanceof Headers?r.headers:new Headers(r.headers),this.body=r.body||null,this.signal=r.signal,this.throwHttpErrors=r.throwHttpErrors!==void 0?r.throwHttpErrors:!0,this.timeout=Y0(r.timeout),this.onUploadProgress=r.onUploadProgress,this.onDownloadProgress=r.onDownloadProgress,this.maxResponseSize=r.maxResponseSize,this.beforeRedirect=r.beforeRedirect,this.maxRedirects=r.maxRedirects,this.followRedirects=r.followRedirects,this.http2=r.http2,this.useCurl=r.useCurl,this.correlationId=r.correlationId,this.tenant=r.tenant,this.policyTags=r.policyTags??[],this.policySource=r.policySource,this.traceId=r.traceId}withHeader(e,r){let n=st(this),i=new Headers(this.headers);i.set(e,r);let o=new t(this.url,{method:this.method,headers:i,body:this.body,signal:this.signal,throwHttpErrors:this.throwHttpErrors,timeout:this.timeout,onUploadProgress:this.onUploadProgress,onDownloadProgress:this.onDownloadProgress,maxResponseSize:this.maxResponseSize,beforeRedirect:this.beforeRedirect,maxRedirects:this.maxRedirects,followRedirects:this.followRedirects,http2:this.http2,useCurl:this.useCurl,correlationId:this.correlationId,tenant:this.tenant,policyTags:this.policyTags,policySource:this.policySource,traceId:this.traceId});return n?Zt(o,n):o}withBody(e){let r=st(this),n=new t(this.url,{method:this.method,headers:this.headers,body:e,signal:this.signal,throwHttpErrors:this.throwHttpErrors,timeout:this.timeout,onUploadProgress:this.onUploadProgress,onDownloadProgress:this.onDownloadProgress,maxResponseSize:this.maxResponseSize,beforeRedirect:this.beforeRedirect,maxRedirects:this.maxRedirects,followRedirects:this.followRedirects,http2:this.http2,useCurl:this.useCurl,correlationId:this.correlationId,tenant:this.tenant,policyTags:this.policyTags,policySource:this.policySource,traceId:this.traceId});return r?Zt(n,r):n}};G();function Rr(t){if(typeof t!="object"||t===null||t instanceof Blob||t instanceof FormData||t instanceof URLSearchParams||t instanceof ArrayBuffer||t instanceof ReadableStream)return!1;if(typeof File<"u")try{if(t instanceof File)return!1}catch{}return!0}function Ao(t){return t==null?{body:void 0}:typeof t=="string"?{body:t,contentType:"text/plain; charset=utf-8"}:t instanceof FormData?{body:t,contentType:void 0}:t instanceof URLSearchParams?{body:t.toString(),contentType:"application/x-www-form-urlencoded"}:t instanceof Blob||Pt(t)?{body:t,contentType:t.type||"application/octet-stream"}:t instanceof ArrayBuffer?{body:t,contentType:"application/octet-stream"}:t instanceof ReadableStream?{body:t,contentType:"application/octet-stream"}:Rr(t)?oc(t)?{body:Pr(t),contentType:void 0}:{body:JSON.stringify(t),contentType:"application/json"}:Array.isArray(t)?{body:JSON.stringify(t),contentType:"application/json"}:{body:String(t),contentType:"text/plain; charset=utf-8"}}function Pr(t){let e=new FormData;for(let[r,n]of Object.entries(t))if(n!=null){if(Array.isArray(n)){n.forEach(i=>{i instanceof Blob||Pt(i)?e.append(r,i):e.append(r,String(i))});continue}if(n instanceof Blob||Pt(n)){e.append(r,n);continue}if(typeof n=="object"){e.append(r,JSON.stringify(n));continue}e.append(r,String(n))}return e}function Z0(t){return Pr(t)}function Pt(t){return typeof File>"u"?!1:t instanceof File}function oc(t){if(!t)return!1;if(t instanceof Blob||Pt(t))return!0;if(t instanceof FormData){for(let e of t.values())if(e instanceof Blob||Pt(e))return!0}if(Rr(t)){for(let e of Object.values(t))if(e instanceof Blob||Pt(e)||Array.isArray(e)&&e.some(r=>r instanceof Blob||Pt(r)))return!0}return!1}G();var Fn=class{concurrency;requestsPerInterval;interval;queue=[];active=0;windowStart=0;startedInWindow=0;waitingTimer;constructor(e={}){this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.requestsPerInterval=e.requestsPerInterval,this.interval=e.interval}run(e,r){return r!=null&&r.aborted?Promise.reject(r.reason??new $("Request aborted before enqueue",void 0,void 0,["Ensure the AbortSignal is not already aborted when calling the request.","Remove or reset the signal before enqueueing."])):new Promise((n,i)=>{let o={fn:e,resolve:n,reject:i,signal:r};if(r){let s=()=>{this._removeFromQueue(o),i(r.reason??new $("Request aborted while queued",void 0,void 0,["Avoid aborting immediately after queuing.","Increase timeouts or adjust rate limits if cancellations are unintended."])),this._schedule()};r.addEventListener("abort",s,{once:!0}),o.abortCleanup=()=>r.removeEventListener("abort",s)}this.queue.push(o),this._schedule()})}_removeFromQueue(e){let r=this.queue.indexOf(e);r>=0&&this.queue.splice(r,1)}_canStart(e){return this.active>=this.concurrency?!1:this.requestsPerInterval==null||this.interval==null||(e-this.windowStart>=this.interval&&(this.windowStart=e,this.startedInWindow=0),this.startedInWindow<this.requestsPerInterval)}_schedule(){var r,n;if(this.waitingTimer)return;let e=Date.now();for(;this.queue.length>0&&this._canStart(Date.now());){let i=this.queue.shift();if((r=i.signal)!=null&&r.aborted){(n=i.abortCleanup)==null||n.call(i),i.reject(i.signal.reason??new $("Request aborted while queued",void 0,void 0,["Avoid aborting immediately after queuing.","Increase timeouts or adjust rate limits if cancellations are unintended."]));continue}this.active++,this.startedInWindow++;let o=i.abortCleanup;o&&(o(),i.abortCleanup=void 0),Promise.resolve().then(()=>i.fn()).then(s=>i.resolve(s)).catch(s=>i.reject(s)).finally(()=>{this.active--,this._schedule()})}if(this.queue.length>0&&this.requestsPerInterval!=null&&this.interval!=null&&!this._canStart(Date.now())){let i=Math.max(0,this.windowStart+this.interval-Date.now());this.waitingTimer=setTimeout(()=>{this.waitingTimer=void 0,this._schedule()},i)}}asMiddleware(){return async(e,r)=>this.run(()=>r(e),e.signal)}};function ac(){return{on:()=>()=>{},emit:()=>{}}}var ey="request";function sc(t,e){return t.__reckerManifest=cc(t,e),t}function ty(t,e={}){return cc(t,e)}function Bn(t){return t.__reckerManifest}function cc(t,e){return{name:(e==null?void 0:e.name)||ry(t),version:(e==null?void 0:e.version)||"1",scope:(e==null?void 0:e.scope)||ey,priority:(e==null?void 0:e.priority)??0,dependsOn:(e==null?void 0:e.dependsOn)||[],setup:e==null?void 0:e.setup,teardown:e==null?void 0:e.teardown}}function ry(t){return t.name&&t.name!=="anonymous"?t.name:`plugin-${Math.random().toString(16).slice(2,10)}`}function ny(t,e,r){if(e.has(t))throw new Error(`Invalid plugin manifest: duplicate plugin name '${t}'. ${r}`);e.add(t)}function iy(t,e){return`${e} -> ${t.join(" -> ")} -> ${e}`}function oy(t){return t.join(" -> ")}function uc(t){return t.map((e,r)=>({plugin:e,manifest:ty(e,Bn(e)),registrationIndex:r}))}function lc(t){let e=new Map,r=new Set;t.forEach(l=>{let p=l.manifest.name;ny(p,r,"Use explicit `manifest.name` to avoid collisions for anonymous plugin factories."),e.set(p,l)});let n=new Map,i=new Map;t.forEach(l=>{let{name:d,dependsOn:p}=l.manifest;i.set(d,0),n.set(d,new Set);for(let m of p){if(!e.has(m))throw new Error(`Invalid plugin dependency for '${d}': missing plugin '${m}'. Available plugins: `+Array.from(e.keys()).sort().join(", "));n.get(m).add(d),i.set(d,(i.get(d)||0)+1)}});let o=[];e.forEach((l,d)=>{(i.get(d)||0)===0&&o.push(d)});let s=[],c=l=>l.sort((d,p)=>{let m=e.get(d),f=e.get(p),h=f.manifest.priority-m.manifest.priority;return h!==0?h:m.registrationIndex-f.registrationIndex});for(;o.length>0;){let l=c(o).splice(0,1)[0],d=o.indexOf(l);d>=0&&o.splice(d,1);let p=e.get(l);if(!p)continue;s.push(p);let m=n.get(l);if(m)for(let f of m){let h=(i.get(f)||0)-1;i.set(f,h),h===0&&o.push(f)}}if(s.length!==t.length){let l=Array.from(i.entries()).filter(([,p])=>p>0).map(([p])=>p),d=ay(l,n);throw new Error(`Invalid plugin manifest: circular dependency detected. Unresolved nodes: ${oy(l)}. `+(d?`Detected cycle: ${d}.`:"Refactor dependency graph to a DAG."))}let u=s.map(l=>`${l.manifest.name}:${l.manifest.scope}:${l.manifest.priority}`);return{ordered:s,debugOrder:u}}function ay(t,e){let r=new Set,n=new Set,i=(o,s)=>{if(n.has(o)){let u=s.indexOf(o);return u>=0?iy(s.slice(u),o):null}if(r.has(o))return null;r.add(o),n.add(o);let c=e.get(o)||new Set;for(let u of c){let l=i(u,[...s,u]);if(l)return l}return n.delete(o),null};for(let o of t){let s=i(o,[o]);if(s)return s}return null}var sy=1*1e3;function dc(t){var d,p,m,f;let e;typeof t.concurrency=="number"?e={max:t.concurrency}:t.concurrency&&typeof t.concurrency=="object"?e=t.concurrency:e={};let r=e.max??1/0,n=e.requestsPerInterval??1/0,i=e.interval??sy,o=pc(t.http2),s=o.enabled??!1,c=cy(e.agent,r,s,o.maxConcurrentStreams),u=ly((d=e.http2)==null?void 0:d.maxConcurrentStreams,r,s),l;return((p=e.runner)==null?void 0:p.concurrency)!==void 0?l=e.runner.concurrency:r!==1/0?l=r:l=1/0,{max:r,requestsPerInterval:n,interval:i,runner:{concurrency:l,retries:(m=e.runner)==null?void 0:m.retries,retryDelay:(f=e.runner)==null?void 0:f.retryDelay},agent:{...c,connections:c.connections},http2:{maxConcurrentStreams:u}}}function pc(t){return t?typeof t=="boolean"?{enabled:t,preset:"balanced"}:typeof t=="string"?{enabled:!0,preset:t}:{...t,enabled:t.enabled??!0,preset:t.preset??"balanced"}:{}}function mc(t){let e=pc(t);if(!e.enabled)return{enabled:!1,resolvedSettings:Nn.balanced};let r=e.preset??"balanced",n=Nn[r]??Nn.balanced,i={...n,...e.settings,maxConcurrentStreams:e.maxConcurrentStreams??n.maxConcurrentStreams};return{enabled:!0,preset:r,maxConcurrentStreams:i.maxConcurrentStreams,pipelining:e.pipelining,settings:i,resolvedSettings:i}}function cy(t,e,r,n){let o={...{pipelining:1,keepAlive:!0,keepAliveTimeout:4e3,keepAliveMaxTimeout:6e5,keepAliveTimeoutThreshold:1e3,connectTimeout:1e4,perDomainPooling:!0,maxCachedSessions:100,maxRequestsPerClient:0,clientTtl:null},...t},s;return(t==null?void 0:t.connections)==="auto"||(t==null?void 0:t.connections)===void 0?s=uy(e,r,n,o.pipelining??1):s=t.connections,{...o,connections:s}}function uy(t,e,r,n=1){if(e)return Math.max(1,Math.ceil(t/(r??100)));{let i=n>1?n:2;return Math.max(1,Math.min(Math.ceil(t/i),50))}}function ly(t,e,r){return r?t==="auto"||t===void 0?Math.min(Math.max(e,100),200):t:100}In();var dy="0.0.0-dev";function Mr(){return`recker/${dy}`}var fc={chrome_windows:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",chrome_mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",chrome_linux:"Mozilla/5.0 (X11; Linux x8664) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",firefox_windows:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0",firefox_mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0",firefox_linux:"Mozilla/5.0 (X11; Linux x8664; rv:121.0) Gecko/20100101 Firefox/121.0",safari_mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15",edge_windows:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0",edge_mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0",opera_windows:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 OPR/105.0.0.0",opera_mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 OPR/105.0.0.0",safari_iphone:"Mozilla/5.0 (iPhone; CPU iPhone OS 170 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",safari_ipad:"Mozilla/5.0 (iPad; CPU OS 170 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",chrome_ios:"Mozilla/5.0 (iPhone; CPU iPhone OS 170 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/120.0.6099.119 Mobile/15E148 Safari/604.1",chrome_android:"Mozilla/5.0 (Linux; Android 14) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36",chrome_android_tablet:"Mozilla/5.0 (Linux; Android 14) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Safari/537.36",firefox_android:"Mozilla/5.0 (Android 14; Mobile; rv:121.0) Gecko/121.0 Firefox/121.0",samsung_browser:"Mozilla/5.0 (Linux; Android 14) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/23.0 Chrome/115.0.0.0 Mobile Safari/537.36",googlebot:"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",googlebot_mobile:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",recker:Mr()};function hc(t){return fc[t]}var Do={desktop:{chrome:["chrome_windows","chrome_mac","chrome_linux"],firefox:["firefox_windows","firefox_mac","firefox_linux"],safari:["safari_mac"],edge:["edge_windows","edge_mac"],opera:["opera_windows","opera_mac"]},mobile:{ios:["safari_iphone","safari_ipad","chrome_ios"],android:["chrome_android","chrome_android_tablet","firefox_android","samsung_browser"]},bot:["googlebot","googlebot_mobile"],default:["recker"]};function py(t){let e=t.split("."),r=[];if(e.length===1){let i=Do[e[0]];Array.isArray(i)?r=i:typeof i=="object"&&(r=Object.values(i).flat())}else if(e.length===2){let i=Do[e[0]];typeof i=="object"&&e[1]in i&&(r=i[e[1]])}if(r.length===0)return Mr();let n=Math.floor(Math.random()*r.length);return hc(r[n])}function gc(t){let e=t.toLowerCase();return e.includes("bot")||e.includes("crawler")||e.includes("spider")?"bot":e.includes("ipad")||e.includes("tablet")||e.includes("android")&&!e.includes("mobile")?"tablet":e.includes("mobile")||e.includes("iphone")?"mobile":e.includes("windows")||e.includes("macintosh")||e.includes("linux")&&!e.includes("android")?"desktop":"unknown"}function my(t){let e=gc(t);return e==="mobile"||e==="tablet"}var Hn="__INJECT_VERSION__",ct=null;async function Lo(){var t;if(ct)return ct;if(Hn!=="__INJECT_VERSION__")return ct=Hn,ct;try{ct=((t=(await import("../package.json")).default)==null?void 0:t.version)||"0.0.0-dev"}catch{ct="0.0.0-dev"}return ct}function yc(){return ct||(Hn!=="__INJECT_VERSION__"?Hn:"0.0.0-dev")}async function bc(){return{version:await Lo(),name:"recker",nodeVersion:process.version,platform:process.platform,arch:process.arch}}Ro();G();function xc(t){let e=t.get("content-length");if(!e)return;let r=parseInt(e,10);return Number.isFinite(r)?r:void 0}function vc(t){return(t==null?void 0:t.cause)??(t==null?void 0:t.reason)}function Po(t){return t instanceof V?!0:!t||typeof t!="object"?!1:t.name==="TimeoutError"}function No(t,e){if(!e||!t.body)return t;let r=xc(t.headers),n=Fe(t.body,e,{total:r,direction:"download"});return new Response(n,{status:t.status,statusText:t.statusText,headers:t.headers})}function wc(t){return new ReadableStream({start(e){e.enqueue(t),e.close()}})}function fy(t,e,r){if(!e||!t||typeof FormData<"u"&&t instanceof FormData)return t;if(typeof ReadableStream<"u"&&t instanceof ReadableStream)return Fe(t,e,{total:r,direction:"upload"});if(typeof Blob<"u"&&t instanceof Blob)return Fe(t.stream(),e,{total:t.size,direction:"upload"});if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let n=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return Fe(wc(n),e,{total:n.byteLength,direction:"upload"})}if(typeof t=="string"){let i=new TextEncoder().encode(t);return Fe(wc(i),e,{total:i.byteLength,direction:"upload"})}return t}var yt=class{options;constructor(e={}){this.options=e}async dispatch(e){var C,b;let r=performance.now(),n,i,o=typeof e.timeout=="number"?e.timeout:(C=e.timeout)==null?void 0:C.request,s=e.signal,c=o?new V(e,{phase:"request",timeout:o}):void 0;o&&!s&&(i=new AbortController,s=i.signal,n=setTimeout(()=>{hy(i,c)},o));let u=e.followRedirects!==!1,l=e.maxRedirects??20,d=!!e.beforeRedirect||e.followRedirects===!1||e.maxRedirects!==void 0,p=e.url,m=e.method,f=e.body,h=new Headers(e.headers),g=xc(h),y=0;try{for(;;){let w=y===0?fy(f,e.onUploadProgress,g):f,x={method:m,headers:h,body:w,signal:s,credentials:this.options.credentials,cache:this.options.cache,keepalive:this.options.keepalive??!0,redirect:d?"manual":"follow",duplex:w?"half":void 0},v=await globalThis.fetch(p,x);if(d){let P=v.status;if(P>=300&&P<400&&u&&y<l){let R=v.headers.get("location");if(!R||v.type==="opaqueredirect"){let z=No(v,e.onDownloadProgress),I=performance.now()-r;return new Fr(z,{total:I,firstByte:I})}let O=new URL(R,p).toString(),W=O;if(e.beforeRedirect){let z={from:p,to:O,status:P,headers:v.headers},I=await e.beforeRedirect(z);if(I===!1){let _=No(v,e.onDownloadProgress),E=performance.now()-r;return new Fr(_,{total:E,firstByte:E})}typeof I=="string"&&(W=I)}(P===303||(P===301||P===302)&&m!=="GET"&&m!=="HEAD")&&(m="GET",f=null,h.delete("content-type"),h.delete("content-length")),await((b=v.body)==null?void 0:b.cancel()),p=W,y++;continue}}let T=No(v,e.onDownloadProgress),k=performance.now()-r,S={total:k,firstByte:k};return new Fr(T,S)}}catch(w){if(o&&(w.name==="AbortError"||w.name==="TimeoutError")){let x=vc(w);if(Po(x)||Po(vc(s))||i&&Po(c))throw x instanceof V?x:c??w}throw w}finally{n&&clearTimeout(n)}}};function hy(t,e){t.signal.aborted||(e?t.abort(e):t.abort())}var Fr=class t{raw;timings;constructor(e,r){this.raw=e,this.timings=r}get status(){return this.raw.status}get statusText(){return this.raw.statusText}get headers(){return this.raw.headers}get ok(){return this.raw.ok}get url(){return this.raw.url}get connection(){return{}}json(){return this.raw.json()}text(){return this.raw.text()}blob(){return this.raw.blob()}async cleanText(){return(await this.text()).replace(/<[^>]*>?/gm,"")}read(){return this.raw.body}clone(){return new t(this.raw.clone(),this.timings)}async*sse(){if(!this.raw.body)return;let r=this.raw.body.pipeThrough(new TextDecoderStream).getReader(),n="";for(;;){let{done:i,value:o}=await r.read();if(i)break;n+=o;let s=n.split(`
|
|
59
59
|
|
|
60
60
|
`);n=s.pop()||"";for(let c of s){if(!c.trim())continue;let u="",l,d,p,m=c.split(`
|
|
61
61
|
`);for(let f of m)f.startsWith("data: ")?u=u?u+`
|
|
62
|
-
`+f.slice(6):f.slice(6):f.startsWith("event: ")?l=f.slice(7):f.startsWith("id: ")?d=f.slice(4):f.startsWith("retry: ")&&(p=parseInt(f.slice(7),10));u&&(yield{data:u,event:l,id:d,retry:p})}}}async*download(){if(!this.raw.body)return;let e=this.raw.body.getReader(),r=0,n=Number(this.raw.headers.get("content-length"))||void 0;for(;;){let{done:i,value:o}=await e.read();if(i)break;r+=o.length,yield{loaded:r,transferred:r,total:n,percent:n?r/n*100:void 0,direction:"download"}}}async*[Symbol.asyncIterator](){if(!this.raw.body)return;let e=this.raw.body.getReader();for(;;){let{done:r,value:n}=await e.read();if(r)break;yield n}}};async function*Mo(t,e,r={},n={}){let i=e,o=1,s=n.maxPages||1/0;for(;i&&o<=s;){let c=await t.request(i,{...r,method:"GET"}),u=await c.json();if(yield{data:u,response:c,pageNumber:o},o++,n.getNextUrl){i=n.getNextUrl(c,u,i);continue}if(n.nextCursorPath){let d=n.nextCursorPath.split("."),p=u;for(let m of d)if(p&&typeof p=="object")p=p[m];else{p=void 0;break}if(p){let m=n.pageParam||"cursor",f=i.startsWith("http"),h=new URL(f?i:`http://dummy-base${i.startsWith("/")?"":"/"}${i}`);h.searchParams.set(m,String(p)),f?i=h.toString():i=h.pathname+h.search}else i=null;continue}if(n.pageParam){let d=i.startsWith("http"),p=new URL(d?i:`http://dummy-base${i.startsWith("/")?"":"/"}${i}`),m=n.pageParam,f=parseInt(p.searchParams.get(m)||String(o-1),10),h=!1;if(Array.isArray(u)&&u.length===0&&(h=!0),u&&Array.isArray(u.data)&&u.data.length===0&&(h=!0),u&&Array.isArray(u.items)&&u.items.length===0&&(h=!0),h)i=null;else{let g=(isNaN(f)?1:f)+1;p.searchParams.set(m,String(g)),i=d?p.toString():p.pathname+p.search}continue}let l=c.headers.get("link");if(l){let d=l.match(/<([^>]+)>;\s*rel="next"/);i=d?d[1]:null}else i=null}}async function*kc(t,e,r={},n={}){for await(let i of Mo(t,e,r,n)){let o=i.data,s=[];n.getItems?s=n.getItems(o):n.resultsPath?s=n.resultsPath.split(".").reduce((c,u)=>c==null?void 0:c[u],o)||[]:Array.isArray(o)?s=o:o&&Array.isArray(o.data)?s=o.data:o&&Array.isArray(o.items)?s=o.items:s=[o];for(let c of s)yield c}}G();function Fo(t,e,r,n,i){let o;switch(n){case"linear":o=e*t;break;case"exponential":o=Math.pow(2,t-1)*e;break;case"decorrelated":let s=t===1?e:Math.pow(2,t-2)*e;o=Math.random()*(s*3-e)+e;break;default:o=e*t}if(o=Math.min(o,r),i){let s=o*.25,c=Math.random()*s*2-s;o+=c}return Math.max(0,Math.floor(o))}function gy(t){if(!t)return;let e=parseInt(t,10);if(!isNaN(e)&&e>=0)return e*1e3;let r=Date.parse(t);if(!isNaN(r)){let n=r-Date.now();return n>0?n:void 0}}function Bo(t={}){let e=t.maxAttempts||3,r=t.delay||1e3,n=t.maxDelay||3e4,i=t.backoff||"exponential",o=t.jitter!==!1,s=t.statusCodes||[408,429,500,502,503,504],c=t.onRetry,u=t.respectRetryAfter!==!1,l=p=>{if(p instanceof qe||p instanceof V)return!0;if(p instanceof We)return s.includes(p.status);let m=xn(p);if(m&&m.canRetry===!1)return!1;if(m)return m.canRetry;if(p&&typeof p=="object"&&"code"in p){let f=p.code;return f==="ECONNRESET"||f==="ETIMEDOUT"||f==="ENOTFOUND"}return!1},d=t.shouldRetry||l;return p=>{let m=(h,g,y,C)=>{let b=p.runtimeEventBus;if(!(b!=null&&b.emit))return;let x=st(C);if(!x)return;let k=xn(h);b.emit("request:retry",{context:x,req:C,attempt:g,delayMs:y,reason:(k==null?void 0:k.reason)||(h==null?void 0:h.message)||"retry requested"})},f=async(h,g)=>{var C,b;let y=0;for(;;)try{y++;let x=await g(h);if(y<e&&!x.ok&&s.includes(x.status)){let k;if(u){let w=gy(x.headers.get("Retry-After"));k=w!==void 0?Math.min(w,n):Fo(y,r,n,i,o)}else k=Fo(y,r,n,i,o);let v=new We(x,h);if(m(v,y,k,h),c&&c(y,v,k),(C=p.hooks)!=null&&C.onRetry)for(let w of p.hooks.onRetry)await w(v,y,k,h);await new Promise(w=>setTimeout(w,k));continue}return x}catch(x){if(y<e&&d(x)){let k=Fo(y,r,n,i,o);if(m(x,y,k,h),c&&c(y,x,k),(b=p.hooks)!=null&&b.onRetry)for(let v of p.hooks.onRetry)await v(x,y,k,h);await new Promise(v=>setTimeout(v,k));continue}throw x}};p.use(f)}}var er=class{store=new Map;async get(e){let r=this.store.get(e);return r?r.expiresAt>0&&r.expiresAt<=Date.now()?(this.store.delete(e),null):r.value:null}async set(e,r,n){if(!Number.isFinite(n)||n<=0){this.store.delete(e);return}this.store.set(e,{value:r,expiresAt:Date.now()+n})}async delete(e){this.store.delete(e)}};Uo();Ho();On();jn();var tr=typeof TextEncoder<"u"?new TextEncoder:null,Ze=globalThis.Buffer;function Sy(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var Vo=class{factory;storage;resolving;constructor(e){this.factory=e}async getStorage(){return this.storage||(this.resolving||(this.resolving=this.factory().then(e=>(this.storage=e,e))),this.storage=await this.resolving),this.storage}async get(e){return(await this.getStorage()).get(e)}async set(e,r,n){return(await this.getStorage()).set(e,r,n)}async delete(e){return(await this.getStorage()).delete(e)}};function Ty(){return Sy()?new Vo(async()=>{let{MemoryStorage:t}=await Promise.resolve().then(()=>(_o(),jo));return new t}):new er}function Ay(t){if(t==null)return null;if(typeof t=="string")return tr?tr.encode(t):Ze?Ze.from(t,"utf8"):null;if(typeof URLSearchParams<"u"&&t instanceof URLSearchParams){let e=t.toString();return tr?tr.encode(e):Ze?Ze.from(e,"utf8"):null}if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(typeof Blob<"u"&&t instanceof Blob)return null;if(typeof t=="object")try{let e=JSON.stringify(t);return tr?tr.encode(e):Ze?Ze.from(e,"utf8"):null}catch{return null}return null}function Cy(t){let e=0xcbf29ce484222325n,r=0x100000001b3n;for(let n of t)e^=BigInt(n),e=e*r&0xffffffffffffffffn;return e.toString(16).padStart(16,"0")}function Ey(t){if(!t)return!0;let e=t.toLowerCase();return!!(e.startsWith("text/")||e.includes("json")||e.includes("xml")||e.includes("yaml")||e.includes("csv")||e.includes("javascript")||e.includes("ecmascript")||e.includes("x-www-form-urlencoded")||e.includes("graphql")||e.includes("event-stream")||e.includes("+json")||e.includes("+xml"))}function Dy(t){if(Ze)return Ze.from(t).toString("base64");if(typeof btoa<"u"){let e="";for(let n=0;n<t.length;n+=32768){let i=t.subarray(n,n+32768);e+=String.fromCharCode(...i)}return btoa(e)}return null}function Ly(t){if(Ze)return Ze.from(t,"base64");if(typeof atob<"u"){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}return null}async function Nt(t){let e=t.headers.get("content-type");if(Ey(e))return{body:await t.text(),bodyEncoding:"utf8"};let r=await t.arrayBuffer(),n=new Uint8Array(r),i=Dy(n);return i===null?null:{body:i,bodyEncoding:"base64"}}var Hr=class t{raw;timings;constructor(e,r){this.raw=e,this.timings=r}get status(){return this.raw.status}get statusText(){return this.raw.statusText}get headers(){return this.raw.headers}get ok(){return this.raw.ok}get url(){return this.raw.url}get connection(){return{}}get cache(){return ut(this.headers,this.status).cache}get rateLimit(){return ut(this.headers,this.status).rateLimit}links(){return Br(this.headers)}get headerInfo(){return ut(this.headers,this.status)}json(){return this.raw.json()}text(){return this.raw.text()}async cleanText(){return qn(await this.text())}blob(){return this.raw.blob()}read(){return this.raw.body}clone(){return new t(this.raw.clone(),this.timings)}sse(){return $n(this.raw)}async*download(){if(!this.raw.body)return;let e=this.raw.body.getReader(),r=0,n=Number(this.raw.headers.get("content-length"))||void 0;for(;;){let{done:i,value:o}=await e.read();if(i)break;r+=o.length,yield{loaded:r,transferred:r,total:n,percent:n?r/n*100:void 0,direction:"download"}}}async*[Symbol.asyncIterator](){if(!this.raw.body)return;let e=this.raw.body.getReader();for(;;){let{done:r,value:n}=await e.read();if(r)break;yield n}}};function Ry(t){if(!t)return{};let e={},r=t.toLowerCase().split(",").map(n=>n.trim());for(let n of r)if(n.startsWith("max-age="))e.maxAge=parseInt(n.slice(8),10);else if(n.startsWith("min-fresh="))e.minFresh=parseInt(n.slice(10),10);else if(n.startsWith("max-stale")){let i=n.indexOf("=");i!==-1?e.maxStale=parseInt(n.slice(i+1),10):e.maxStale=1/0}else n==="only-if-cached"?e.onlyIfCached=!0:n==="no-cache"?e.noCache=!0:n==="no-store"&&(e.noStore=!0);return e}function Vn(t){if(!t)return{};let e={},r=t.toLowerCase().split(",").map(n=>n.trim());for(let n of r)n.startsWith("max-age=")?e.maxAge=parseInt(n.slice(8),10):n.startsWith("s-maxage=")?e.sMaxAge=parseInt(n.slice(9),10):n.startsWith("stale-while-revalidate=")?e.staleWhileRevalidate=parseInt(n.slice(23),10):n.startsWith("stale-if-error=")?e.staleIfError=parseInt(n.slice(15),10):n==="no-cache"?e.noCache=!0:n==="no-store"?e.noStore=!0:n==="must-revalidate"?e.mustRevalidate=!0:n==="private"?e.isPrivate=!0:n==="public"&&(e.isPublic=!0);return e}function Go(t,e){let r=(e-t.timestamp)/1e3;if(t.sMaxAge!==void 0)return r<t.sMaxAge;if(t.maxAge!==void 0)return r<t.maxAge;if(t.expires!==void 0)return e<t.expires;if(t.lastModified){let n=new Date(t.lastModified).getTime();if(!isNaN(n)){let i=t.headers.date?new Date(t.headers.date).getTime():t.timestamp;if(!isNaN(i)&&i>n){let s=(i-n)/1e3*.1;return r<s}}}return!1}function Wo(t,e,r){let n=(e-t.timestamp)/1e3,i=t.sMaxAge??t.maxAge??1/0,o=i-n,s=Go(t,e);if(r.maxAge!==void 0&&n>r.maxAge)return{allowed:!1,reason:"exceeds-request-max-age"};if(r.minFresh!==void 0&&(!s||o<r.minFresh))return{allowed:!1,reason:"insufficient-freshness"};if(r.onlyIfCached)return{allowed:!0};if(!s&&r.maxStale===void 0)return{allowed:!1,reason:"stale-not-acceptable"};if(!s&&r.maxStale!==void 0){let c=n-i;if(r.maxStale!==1/0&&c>r.maxStale)return{allowed:!1,reason:"exceeds-max-stale"}}return{allowed:!0}}function Py(t,e){if(!t.staleWhileRevalidate)return!1;let r=(e-t.timestamp)/1e3,n=t.sMaxAge??t.maxAge??0;return r-n<t.staleWhileRevalidate}function qc(t,e){let r=new Headers(t.headers);return e.etag&&r.set("If-None-Match",e.etag),e.lastModified&&r.set("If-Modified-Since",e.lastModified),new ht(t.url,{method:t.method,headers:r,body:t.body,signal:t.signal,throwHttpErrors:!1,timeout:t.timeout,onUploadProgress:t.onUploadProgress,onDownloadProgress:t.onDownloadProgress,maxResponseSize:t.maxResponseSize})}async function Mt(t,e,r,n,i,o){if(n.vary){let s=o(r,n.vary);await t.set(s,n,i);let c={...n,body:""};await t.set(e,c,i)}else await t.set(e,n,i)}async function Ft(t,e,r){let n={};t.headers.forEach((c,u)=>{n[u]=c});let i=Vn(t.headers.get("Cache-Control")),o,s=t.headers.get("Expires");if(s){let c=new Date(s);isNaN(c.getTime())||(o=c.getTime())}return{status:t.status,statusText:t.statusText,headers:n,body:e.body,bodyEncoding:e.bodyEncoding,timestamp:r,etag:t.headers.get("ETag")||void 0,lastModified:t.headers.get("Last-Modified")||void 0,vary:t.headers.get("Vary")||void 0,expires:o,...i}}function bt(t,e){let r=new Headers(t.headers);if(r.set("X-Cache",e),r.set("X-Cache-Age",String(Math.floor((Date.now()-t.timestamp)/1e3))),e==="stale"||e==="stale-error"){let o=e==="stale"?110:111,s=e==="stale"?"Response is Stale":"Revalidation Failed",c=r.get("Warning");c?r.set("Warning",`${c}, ${o} - "${s}"`):r.set("Warning",`${o} - "${s}"`)}let n=t.bodyEncoding==="base64"?Ly(t.body)??t.body:t.body,i=new Response(n,{status:t.status,statusText:t.statusText,headers:r});return new Hr(i)}function $c(t={}){let e=t.storage||Ty(),r=t.strategy||"cache-first",n=t.ttl||60*1e3,i=t.methods||["GET"],o=t.respectCacheControl!==!1,s=t.forceRevalidate===!0,c=t.keyGenerator||((l,d)=>{let p=`${l.method}:${l.url}`;if(l.method!=="GET"&&l.method!=="HEAD"&&l.body)try{let m=Ay(l.body);m&&m.length>0&&(p+=`:${Cy(m)}`)}catch{}if(d&&t.respectVary!==!1){let m=d.split(",").map(h=>h.trim().toLowerCase()),f=[];for(let h of m){if(h==="*")return`${p}:vary-*:${Date.now()}`;let g=l.headers.get(h);g&&f.push(`${h}=${g}`)}f.length>0&&(p+=`:vary:${f.join("|")}`)}return p}),u=async(l,d)=>{if(["POST","PUT","PATCH","DELETE","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","LINK","UNLINK","PURGE"].includes(l.method)){let b=await d(l);return b.ok&&(await e.delete(`GET:${l.url}`),await e.delete(`HEAD:${l.url}`)),b}if(!i.includes(l.method))return d(l);let m=o?Ry(l.headers.get("Cache-Control")):{};if(o&&m.noStore)return d(l);if(o){let b=l.headers.get("Pragma");if(b!=null&&b.includes("no-cache"))return d(l)}let f=c(l),h=f,g=Date.now(),y;if(t.respectVary!==!1){let b=await e.get(f);b!=null&&b.vary?(h=c(l,b.vary),y=await e.get(h)):b!=null&&b.body?y=b:y=void 0}else y=await e.get(h);if(m.onlyIfCached){if(!y){let x=new Response(null,{status:504,statusText:"Gateway Timeout"});return new Hr(x)}if(!Wo(y,g,m).allowed){let x=new Response(null,{status:504,statusText:"Gateway Timeout"});return new Hr(x)}return bt(y,Go(y,g)?"hit":"stale")}let C=Object.keys(m).length>0;if(y&&o&&C&&r==="network-first"&&(Wo(y,g,m).allowed||(y=void 0)),r==="network-only"){let b=await d(l);if(b.ok&&o&&!Vn(b.headers.get("Cache-Control")).noStore){let k=b.raw.clone(),v=await Nt(k);if(!v)return b;let w=await Ft(b,v,g),S=(w.sMaxAge??w.maxAge??n/1e3)*1e3;await Mt(e,f,l,w,S,c)}return b}if(r==="rfc-compliant"||r==="revalidate"){if(y){let x=Go(y,g),k=Wo(y,g,m),v=y.etag||y.lastModified;if(!k.allowed&&!v)y=void 0;else{if(x&&!s&&!y.noCache&&!m.noCache)return bt(y,"hit");if(!x&&m.maxStale!==void 0&&!s&&!m.noCache)return bt(y,"stale")}}if(y){let x=qc(l,y);try{let k=await d(x);if(k.status===304){let v={...y,timestamp:g,etag:k.headers.get("ETag")||y.etag,lastModified:k.headers.get("Last-Modified")||y.lastModified},w=(v.sMaxAge??v.maxAge??n/1e3)*1e3,S=Math.max(w,n);return await e.set(h,v,S),bt(v,"revalidated")}if(k.ok&&!Vn(k.headers.get("Cache-Control")).noStore){let w=k.raw.clone(),S=await Nt(w);if(!S)return k;let A=await Ft(k,S,g),P=(A.sMaxAge??A.maxAge??n/1e3)*1e3,q=Math.max(P,n);await Mt(e,f,l,A,q,c)}return k}catch(k){if(y.staleIfError&&Py(y,g))return bt(y,"stale-error");throw k}}let b=await d(l);if(b.ok&&!Vn(b.headers.get("Cache-Control")).noStore){let k=b.raw.clone(),v=await Nt(k);if(!v)return b;let w=await Ft(b,v,g),S=(w.sMaxAge??w.maxAge??n/1e3)*1e3,A=Math.max(S,n);await Mt(e,f,l,w,A,c)}return b}if(r==="cache-first"){if(y)return bt(y,"hit");let b=await d(l);if(b.ok){let x=b.raw.clone(),k=await Nt(x);if(!k)return b;let v=await Ft(b,k,g);await Mt(e,f,l,v,n,c)}return b}if(r==="stale-while-revalidate"){if(y){let x=bt(y,"stale");return(async()=>{try{let k=qc(l,y),v=await d(k);if(v.status===304){let w={...y,timestamp:Date.now()};await e.set(h,w,n)}else if(v.ok){let w=v.raw.clone(),S=await Nt(w);if(!S)return;let A=await Ft(v,S,Date.now()),P=(A.sMaxAge??A.maxAge??n/1e3)*1e3,q=Math.max(P,n);await Mt(e,f,l,A,q,c)}}catch{}})(),x}let b=await d(l);if(b.ok){let x=b.raw.clone(),k=await Nt(x);if(!k)return b;let v=await Ft(b,k,g);await Mt(e,f,l,v,n,c)}return b}if(r==="network-first")try{let b=await d(l);if(b.ok){let x=b.raw.clone(),k=await Nt(x);if(!k)return b;let v=await Ft(b,k,g),w=(v.sMaxAge??v.maxAge??n/1e3)*1e3,S=Math.max(w,n);await Mt(e,f,l,v,S,c)}return b}catch(b){if(y)return bt(y,"stale-error");throw b}return d(l)};return l=>{l.use(u)}}function Ko(t={}){let e=new Map,r=t.keyGenerator||(i=>i.method+":"+i.url),n=async(i,o)=>{if(i.method!=="GET"&&i.method!=="HEAD")return o(i);let s=r(i);if(e.has(s))return(await e.get(s)).clone();let c=o(i).then(u=>u).finally(()=>{e.delete(s)});e.set(s,c);try{let u=await c;return u.clone?u.clone():u}catch(u){throw u}};return i=>{i.use(n)}}function Oc(t){let e={};if(!t)return e;let r=t.split(";");for(let n of r){let[i,...o]=n.split("="),s=i==null?void 0:i.trim(),c=o.join("=").trim();s&&(e[s]=decodeURIComponent(c||""))}return e}function Ny(t,e){return e?Oc(e)[t]||null:typeof document<"u"&&document.cookie&&Oc(document.cookie)[t]||null}function Xo(t={}){let{cookieName:e="XSRF-TOKEN",headerName:r="X-XSRF-TOKEN",token:n,cookies:i}=t;return async(o,s)=>{let c=n||Ny(e,i);return c&&(o.headers.has(r)||o.headers.set(r,c)),s(o)}}function Jo(t){return t?t===!0?Xo():Xo(t):null}G();var et=typeof TextEncoder<"u"?new TextEncoder:null,ye=globalThis.Buffer;function My(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var Qo=null;async function Fy(){return Qo||(Qo=(async()=>{let t="node:zlib",e="node:util",r=await import(t),n=await import(e),i=n.promisify(r.gzip),o=n.promisify(r.deflate),s=n.promisify(r.brotliCompress);return{gzip:async c=>i(ye?ye.from(c):c),deflate:async c=>o(ye?ye.from(c):c),brotli:async c=>s(ye?ye.from(c):c)}})()),Qo}function By(t){return t?["text/","application/json","application/xml","application/javascript","application/x-www-form-urlencoded"].some(r=>t.includes(r)):!0}function Uy(t){if(!t)return 0;if(typeof t=="string")return et?et.encode(t).length:ye?ye.from(t,"utf8").length:t.length;if(t instanceof ArrayBuffer||ArrayBuffer.isView(t))return t.byteLength;if(typeof Blob<"u"&&t instanceof Blob)return t.size;if(typeof t=="object")try{let e=JSON.stringify(t);return et?et.encode(e).length:ye?ye.from(e,"utf8").length:e.length}catch{return 0}return 0}function Hy(t){if(!t)return null;if(typeof t=="string")return et?et.encode(t):ye?ye.from(t,"utf8"):null;if(typeof URLSearchParams<"u"&&t instanceof URLSearchParams){let e=t.toString();return et?et.encode(e):ye?ye.from(e,"utf8"):null}if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(typeof Blob<"u"&&t instanceof Blob)return null;if(typeof t=="object")try{let e=JSON.stringify(t);return et?et.encode(e):ye?ye.from(e,"utf8"):null}catch{return null}return null}async function Iy(t,e){if(My()){let r=await Fy();switch(e){case"gzip":return r.gzip(t);case"deflate":return r.deflate(t);case"br":return r.brotli(t);default:break}}if(typeof CompressionStream<"u"){if(e==="br")throw new me("Brotli compression is not available in browser environments.",{feature:e});let r=new CompressionStream(e),n=r.writable.getWriter(),i=t.buffer instanceof ArrayBuffer?t:new Uint8Array(t);await n.write(i),await n.close();let o=await new Response(r.readable).arrayBuffer();return new Uint8Array(o)}throw new me(`Unsupported compression algorithm: ${e}`,{feature:e})}function zc(t={}){let{algorithm:e="gzip",threshold:r=1024,force:n=!1,methods:i=["POST","PUT","PATCH"]}=t;return async(o,s)=>{if(!i.includes(o.method)||!o.body||o.headers.has("Content-Encoding"))return s(o);let u=o.headers.get("Content-Type");if(!By(u))return s(o);let l=Uy(o.body);if(!n&&l<r)return s(o);let d=Hy(o.body);if(!d)return s(o);try{let p=await Iy(d,e);if(!n&&p.length>=d.length)return s(o);let m=new Headers(o.headers);m.set("Content-Encoding",e),m.set("Content-Length",p.length.toString());let f={...o,body:p,headers:m};return s(f)}catch{return s(o)}}}function jc(t){return t?t===!0?zc():zc(t):null}function _c(t){let e=t.replace(/<\?xml[^?]*\?>/gi,"").replace(/<!--[\s\S]*?-->/g,"").trim();return Wc(e)}function Wc(t){let e=t.match(/^<(\w+)([^>]*)>([\s\S]*)<\/\1>$/);if(!e){let u=t.match(/^<(\w+)([^/>]*)\/>$/);if(u){let[,l,d]=u,p=Yo(d);return Object.keys(p).length>0?{[l]:p}:{[l]:null}}return Kn(t.trim())}let[,r,n,i]=e,o=Yo(n),s=qy(i),c={};if(Object.keys(o).length>0&&(c["@attributes"]=o),typeof s=="string")return Object.keys(o).length>0?(c["#text"]=s,{[r]:c}):{[r]:s};if(Array.isArray(s))for(let u of s)for(let[l,d]of Object.entries(u))c[l]!==void 0?(Array.isArray(c[l])||(c[l]=[c[l]]),c[l].push(d)):c[l]=d;return{[r]:Object.keys(c).length>0?c:null}}function Yo(t){let e={},r=/(\w+)=["']([^"']*)["']/g,n;for(;(n=r.exec(t))!==null;)e[n[1]]=Kn(n[2]);return e}function qy(t){let e=t.trim();if(!e)return"";if(!e.startsWith("<"))return Kn(e);let r=[],n=e;for(;n.length>0&&(n=n.trim(),!!n);){let i=n.match(/^<(\w+)([^>]*)>/);if(!i){let p=n.indexOf("<");if(p>0){let m=n.substring(0,p).trim();m&&r.push({"#text":Kn(m)}),n=n.substring(p);continue}break}let[o,s,c]=i;if(c.endsWith("/")||n.substring(o.length-1,o.length+1)==="/>"){let p=n.match(/^<(\w+)([^/>]*)\/?>/);if(p){let m=Yo(p[2]);r.push({[s]:Object.keys(m).length>0?{"@attributes":m}:null}),n=n.substring(p[0].length);continue}}let u=`</${s}>`,l=1,d=o.length;for(;l>0&&d<n.length;){let p=n.indexOf(`<${s}`,d),m=n.indexOf(u,d);if(m===-1)break;if(p!==-1&&p<m)n.substring(p).match(/^<\w+[^>]*\/>/)||l++,d=p+1;else if(l--,l===0){let f=n.substring(0,m+u.length);r.push(Wc(f)),n=n.substring(m+u.length)}else d=m+1}if(l>0)break}return r}function Kn(t){return t.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'").replace(/&#(\d+);/g,(e,r)=>String.fromCharCode(parseInt(r,10))).replace(/&#x([0-9a-fA-F]+);/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}function rr(t,e){if(t==null)return e?`<${e}/>`:"";if(typeof t!="object")return e?`<${e}>${Gn(String(t))}</${e}>`:Gn(String(t));let r=Object.keys(t);if(r.length===1&&!e){let s=r[0];return rr(t[s],s)}let n="",i="",o="";for(let s of r){let c=t[s];if(s==="@attributes")for(let[u,l]of Object.entries(c))i+=` ${u}="${Gn(String(l))}"`;else if(s==="#text")o=Gn(String(c));else if(Array.isArray(c))for(let u of c)n+=rr(u,s);else n+=rr(c,s)}return e?n||o?`<${e}${i}>${o}${n}</${e}>`:`<${e}${i}/>`:n}function Gn(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}async function $y(t,e=_c){let n=await(await t).text();return e(n)}Tn();En();G();var Zo=class{listeners=new Map;on(e,r){let n=this.listeners.get(e)??new Set;return n.add(r),this.listeners.set(e,n),this}once(e,r){let n=(...i)=>{this.off(e,n),r(...i)};return this.on(e,n)}off(e,r){let n=this.listeners.get(e);return n&&(n.delete(r),n.size===0&&this.listeners.delete(e)),this}removeListener(e,r){return this.off(e,r)}emit(e,...r){let n=this.listeners.get(e);if(!n)return!1;for(let i of[...n])i(...r);return!0}},Xn=class extends Zo{concurrency;retries;retryDelay;queue=[];activeCount=0;paused=!1;stats={total:0,successful:0,failed:0};startTime=0;pendingRetries=0;isCancelled=!1;cancelReason=new $e("Request runner cancelled");retryTimers=new Map;timeoutId;abortUnsubscribe;constructor(e={}){super(),this.concurrency=e.concurrency||5,this.retries=e.retries??0,this.retryDelay=e.retryDelay??0}add(e,r={}){this.queueTask({id:r.id||Math.random().toString(36).slice(2),fn:e,priority:r.priority||0,retries:r.retries??this.retries,resolve:r.resolve}),r.trackTotal!==!1&&this.stats.total++,this.processNext()}async run(e,r,n={}){if(this.queue=[],this.activeCount=0,this.pendingRetries=0,this.stats={total:0,successful:0,failed:0},this.isCancelled=!1,this.retryTimers.size>0){for(let[,i]of this.retryTimers)clearTimeout(i);this.retryTimers.clear()}if(this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=void 0),this.abortUnsubscribe&&(this.abortUnsubscribe(),this.abortUnsubscribe=void 0),this.startTime=Date.now(),this.stats={total:e.length,successful:0,failed:0},this.isCancelled=!1,this.cancelReason=new $e("Request runner cancelled",{queueName:"request-runner",request:void 0}),n.signal){let i=n.signal;if(i.aborted){let o=i.reason instanceof Error?i.reason:new $e("Request runner signal was aborted",{queueName:"request-runner",request:void 0});this.cancelAll(o)}else{let o=()=>{let s=i.reason instanceof Error?i.reason:new $e("Request runner signal was aborted",{queueName:"request-runner",request:void 0});this.cancelAll(s)};i.addEventListener("abort",o,{once:!0}),this.abortUnsubscribe=()=>i.removeEventListener("abort",o)}}if(n.deadlineMs!==void 0){let i=n.deadlineMs;i<=0?this.cancelAll(new $e("Request runner deadline elapsed",{queueName:"request-runner",request:void 0})):this.timeoutId=setTimeout(()=>{this.cancelAll(new $e("Request runner deadline exceeded",{queueName:"request-runner",request:void 0}))},i)}try{let i=e.map((s,c)=>new Promise(u=>{this.add(()=>r(s,c),{priority:n.priority,id:String(c),retries:n.retries,resolve:u,trackTotal:!1})}));return{results:await Promise.all(i),stats:{...this.stats,duration:Date.now()-this.startTime}}}finally{this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=void 0),this.abortUnsubscribe&&(this.abortUnsubscribe(),this.abortUnsubscribe=void 0)}}queueTask(e){this.queue.push(e),this.queue.sort((r,n)=>n.priority-r.priority)}scheduleRetry(e,r){if(this.isCancelled){this.resolveTask(e,this.cancelReason);return}if(r<=0){this.queueTask(e),this.processNext();return}let n=`${e.id}-${Date.now()}-${Math.random().toString(16).slice(2,8)}`,i=()=>{this.retryTimers.delete(n),this.pendingRetries--,!this.isCancelled&&(this.queueTask(e),this.processNext())};this.retryTimers.set(n,setTimeout(()=>{if(this.isCancelled){this.pendingRetries--,this.retryTimers.delete(n),this.resolveTask(e,this.cancelReason);return}i()},r)),this.pendingRetries++}async processNext(){var r;if(this.isCancelled){this.resolveQueue();return}if(this.paused||this.activeCount>=this.concurrency||this.queue.length===0)return;let e=this.queue.shift();if(e){this.activeCount++,this.emit("taskStart",e);try{let n=await e.fn();this.stats.successful++,(r=e.resolve)==null||r.call(e,n),this.emit("taskComplete",{task:e,result:n})}catch(n){if(this.isCancelled){this.resolveTask(e,this.cancelReason);return}let i=e.retries??0;i>0?(e.retries=i-1,this.emit("taskRetry",{task:e,error:n,remaining:e.retries,delay:this.retryDelay}),this.scheduleRetry(e,this.retryDelay)):(this.resolveTask(e,n),this.emit("taskError",{task:e,error:n}))}finally{this.activeCount--,this.emit("progress",this.getProgress()),this.activeCount===0&&this.queue.length===0&&this.pendingRetries===0&&this.emit("drained"),this.processNext()}}}cancelAll(e){if(!this.isCancelled){this.isCancelled=!0,this.cancelReason=e;for(let[,r]of this.retryTimers)clearTimeout(r);this.retryTimers.clear(),this.pendingRetries=0,this.resolveQueue()}}resolveQueue(){for(;this.queue.length>0;){let e=this.queue.shift();e&&this.resolveTask(e,this.cancelReason)}}resolveTask(e,r){var n;e.resolve&&(this.stats.failed++,(n=e.resolve)==null||n.call(e,r))}getProgress(){let e=this.stats.successful+this.stats.failed;return{total:this.stats.total,completed:e,pending:this.queue.length,active:this.activeCount,percent:this.stats.total>0?e/this.stats.total*100:0}}};G();var ta=class{listeners=new Map;on(e,r){let n=this.listeners.get(e)??new Set;return n.add(r),this.listeners.set(e,n),this}once(e,r){let n=(...i)=>{this.off(e,n),r(...i)};return this.on(e,n)}off(e,r){let n=this.listeners.get(e);return n&&(n.delete(r),n.size===0&&this.listeners.delete(e)),this}removeListener(e,r){return this.off(e,r)}emit(e,...r){let n=this.listeners.get(e);if(!n)return!1;for(let i of[...n])i(...r);return!0}},Jn={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function ra(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var ea=null;async function Vc(){return ea||(ea=import("undici")),ea}async function Oy(){if(ra())return(await Vc()).WebSocket;let t=globalThis.WebSocket;if(!t)throw new me("WebSocket is not available in this environment.",{feature:"websocket"});return t}function zy(t){return!!(t&&typeof t.getReader=="function")}var Qn=class extends ta{ws=null;url;options;reconnectAttempts=0;reconnectTimer;heartbeatTimer;isClosed=!1;isReconnecting=!1;pongWatchdog;backoff;closedByUser=!1;constructor(e,r={}){super(),this.url=e,this.options={protocols:r.protocols||[],headers:r.headers||{},reconnect:r.reconnect??!1,reconnectDelay:r.reconnectDelay??1e3,maxReconnectAttempts:r.maxReconnectAttempts??5,heartbeatInterval:r.heartbeatInterval??3e4,heartbeatTimeout:r.heartbeatTimeout??1e4,dispatcher:r.dispatcher,proxy:r.proxy,tls:r.tls,perMessageDeflate:r.perMessageDeflate??!1},this.backoff={base:this.options.reconnectDelay,factor:2,jitter:!0,max:3e4}}async connect(){let e=await Oy(),r=ra(),n=r?{headers:this.options.headers,dispatcher:this.options.dispatcher,perMessageDeflate:this.options.perMessageDeflate}:void 0;if(r&&this.options.proxy){let i=typeof this.options.proxy=="string"?{url:this.options.proxy}:this.options.proxy,o=await Vc();n.dispatcher=new o.ProxyAgent(i.url)}return r&&this.options.tls&&(n.tls=this.options.tls),new Promise((i,o)=>{try{this.ws=r?new e(this.url,this.options.protocols,n):new e(this.url,this.options.protocols),this.ws.addEventListener("open",()=>{this.reconnectAttempts=0,this.isReconnecting=!1,this.startHeartbeat(),this.emit("open"),i()}),this.ws.addEventListener("message",s=>{let c=s.data,u={data:c,isBinary:typeof c!="string"};this.emit("message",u),this.stopPongWatchdog()}),this.ws.addEventListener("close",s=>{this.stopHeartbeat(),this.stopPongWatchdog(),this.emit("close",s.code,s.reason),!this.closedByUser&&!this.isClosed&&this.options.reconnect&&this.attemptReconnect()}),this.ws.addEventListener("error",s=>{let c=(s==null?void 0:s.error)instanceof Error?s.error:new Tr("WebSocket connection error",{host:this.url,retriable:!0});this.emit("error",c),o(c)})}catch(s){o(s)}})}async send(e,r){if(!this.ws||this.ws.readyState!==Jn.OPEN)throw new Ar("WebSocket is not connected",{expectedState:"open",actualState:this.ws?"closed":"not-created"});let n=(r==null?void 0:r.awaitDrain)??!1,i=(r==null?void 0:r.highWaterMark)??16*1024;this.ws.send(e),n&&await this.waitForDrain(i)}async sendStream(e,r){if(zy(e)){let n=e.getReader();for(;;){let{done:i,value:o}=await n.read();if(i)break;await this.send(o,r)}return}for await(let n of e)await this.send(n,r)}sendJSON(e){this.send(JSON.stringify(e))}close(e=1e3,r=""){this.isClosed=!0,this.closedByUser=!0,this.stopHeartbeat(),this.clearReconnectTimer(),this.ws&&(this.ws.close(e,r),this.ws=null)}ping(){if(!this.ws||this.ws.readyState!==Jn.OPEN)return;let e=this.ws;if(typeof e.ping=="function")try{e.ping();return}catch{}try{this.ws.send("__heartbeat__")}catch{}}get readyState(){var e;return((e=this.ws)==null?void 0:e.readyState)??Jn.CLOSED}get isConnected(){var e;return((e=this.ws)==null?void 0:e.readyState)===Jn.OPEN}toReadable(){if(!this.ws)return null;let e=this.ws;return e.readable&&typeof e.readable.getReader=="function"?e.readable:null}async pipeFrom(e,r){await this.sendStream(e,r)}async pipeTo(e){var n;let r=this.toReadable();if(!r)throw new ae("WebSocket has no readable stream",{streamType:"websocket",retriable:!1});if(e&&typeof e.getWriter=="function"){await r.pipeTo(e);return}if(ra()){let i="node:stream",o="node:stream/promises",s=await import(i),c=await import(o),u=typeof((n=s.Readable)==null?void 0:n.fromWeb)=="function"?s.Readable.fromWeb(r):s.Readable.from(r);await c.pipeline(u,e);return}throw new ae("Destination stream is not supported in this environment",{streamType:"websocket",retriable:!1})}async*[Symbol.asyncIterator](){let e=[],r=null,n=!1,i=s=>{r?(r(s),r=null):e.push(s)},o=()=>{n=!0,r&&(r(null),r=null)};this.on("message",i),this.on("close",o);try{for(;;)if(e.length>0)yield e.shift();else{if(n)break;let s=await new Promise(c=>{r=c});if(s)yield s;else break}}finally{this.off("message",i),this.off("close",o)}}attemptReconnect(){if(this.isReconnecting)return;if(this.options.maxReconnectAttempts>0&&this.reconnectAttempts>=this.options.maxReconnectAttempts){this.emit("max-reconnect-attempts");return}this.isReconnecting=!0,this.reconnectAttempts++;let e=this.backoff.base*Math.pow(this.backoff.factor,this.reconnectAttempts-1),r=this.backoff.max?Math.min(e,this.backoff.max):e,n=this.backoff.jitter?jy(r):r;this.emit("reconnecting",this.reconnectAttempts,n),this.reconnectTimer=setTimeout(()=>{this.connect().catch(i=>{this.emit("reconnect-error",i)})},n)}clearReconnectTimer(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=void 0)}startHeartbeat(){this.options.heartbeatInterval<=0||(this.heartbeatTimer=setInterval(()=>{this.isConnected&&(this.ping(),this.startPongWatchdog())},this.options.heartbeatInterval))}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0),this.stopPongWatchdog()}startPongWatchdog(){this.stopPongWatchdog(),!(this.options.heartbeatTimeout<=0)&&(this.pongWatchdog=setTimeout(()=>{var e;this.emit("heartbeat-timeout"),!this.closedByUser&&this.options.reconnect&&((e=this.ws)==null||e.close(4e3,"heartbeat timeout"))},this.options.heartbeatTimeout))}stopPongWatchdog(){this.pongWatchdog&&(clearTimeout(this.pongWatchdog),this.pongWatchdog=void 0)}getBufferedAmount(){var e;return((e=this.ws)==null?void 0:e.bufferedAmount)??0}async waitForDrain(e){this.getBufferedAmount()<=e||await new Promise(n=>{let i=()=>{this.getBufferedAmount()<=e||!this.isConnected?n():setTimeout(i,10)};setTimeout(i,10)})}};function jy(t){let e=.2*t;return t-e+Math.random()*(2*e)}G();function _y(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var na=null;async function Wy(){if(!_y())throw new me("WHOIS is only available in Node.js environments.",{feature:"whois"});return na||(na=import("node:net")),na}var Vy={com:"whois.verisign-grs.com",net:"whois.verisign-grs.com",org:"whois.pir.org",info:"whois.afilias.net",biz:"whois.biz",us:"whois.nic.us",uk:"whois.nic.uk",ca:"whois.cira.ca",de:"whois.denic.de",fr:"whois.afnic.fr",au:"whois.aunic.net",jp:"whois.jprs.jp",cn:"whois.cnnic.cn",ru:"whois.tcinet.ru",br:"whois.registro.br",eu:"whois.eu",io:"whois.nic.io",co:"whois.nic.co",me:"whois.nic.me",tv:"whois.nic.tv",cc:"whois.nic.cc",ws:"whois.website.ws",mobi:"whois.dotmobiregistry.net",asia:"whois.nic.asia",tel:"whois.nic.tel",pro:"whois.registrypro.pro",aero:"whois.aero",cat:"whois.cat",coop:"whois.nic.coop",jobs:"whois.nic.jobs",museum:"whois.museum",travel:"whois.nic.travel",xxx:"whois.nic.xxx",app:"whois.nic.google",dev:"whois.nic.google",ai:"whois.nic.ai"};function Gy(t){let e=t.toLowerCase().split(".");return e[e.length-1]}function Ky(t,e){if(e)return e;let r=/^(\d{1,3}\.){3}\d{1,3}$/,n=/^([0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4}$/;if(r.test(t)||n.test(t))return"whois.arin.net";let i=Gy(t);return Vy[i]||"whois.iana.org"}function Xy(t){let e={},r=t.split(`
|
|
62
|
+
`+f.slice(6):f.slice(6):f.startsWith("event: ")?l=f.slice(7):f.startsWith("id: ")?d=f.slice(4):f.startsWith("retry: ")&&(p=parseInt(f.slice(7),10));u&&(yield{data:u,event:l,id:d,retry:p})}}}async*download(){if(!this.raw.body)return;let e=this.raw.body.getReader(),r=0,n=Number(this.raw.headers.get("content-length"))||void 0;for(;;){let{done:i,value:o}=await e.read();if(i)break;r+=o.length,yield{loaded:r,transferred:r,total:n,percent:n?r/n*100:void 0,direction:"download"}}}async*[Symbol.asyncIterator](){if(!this.raw.body)return;let e=this.raw.body.getReader();for(;;){let{done:r,value:n}=await e.read();if(r)break;yield n}}};async function*Mo(t,e,r={},n={}){let i=e,o=1,s=n.maxPages||1/0;for(;i&&o<=s;){let c=await t.request(i,{...r,method:"GET"}),u=await c.json();if(yield{data:u,response:c,pageNumber:o},o++,n.getNextUrl){i=n.getNextUrl(c,u,i);continue}if(n.nextCursorPath){let d=n.nextCursorPath.split("."),p=u;for(let m of d)if(p&&typeof p=="object")p=p[m];else{p=void 0;break}if(p){let m=n.pageParam||"cursor",f=i.startsWith("http"),h=new URL(f?i:`http://dummy-base${i.startsWith("/")?"":"/"}${i}`);h.searchParams.set(m,String(p)),f?i=h.toString():i=h.pathname+h.search}else i=null;continue}if(n.pageParam){let d=i.startsWith("http"),p=new URL(d?i:`http://dummy-base${i.startsWith("/")?"":"/"}${i}`),m=n.pageParam,f=parseInt(p.searchParams.get(m)||String(o-1),10),h=!1;if(Array.isArray(u)&&u.length===0&&(h=!0),u&&Array.isArray(u.data)&&u.data.length===0&&(h=!0),u&&Array.isArray(u.items)&&u.items.length===0&&(h=!0),h)i=null;else{let g=(isNaN(f)?1:f)+1;p.searchParams.set(m,String(g)),i=d?p.toString():p.pathname+p.search}continue}let l=c.headers.get("link");if(l){let d=l.match(/<([^>]+)>;\s*rel="next"/);i=d?d[1]:null}else i=null}}async function*kc(t,e,r={},n={}){for await(let i of Mo(t,e,r,n)){let o=i.data,s=[];n.getItems?s=n.getItems(o):n.resultsPath?s=n.resultsPath.split(".").reduce((c,u)=>c==null?void 0:c[u],o)||[]:Array.isArray(o)?s=o:o&&Array.isArray(o.data)?s=o.data:o&&Array.isArray(o.items)?s=o.items:s=[o];for(let c of s)yield c}}G();function Fo(t,e,r,n,i){let o;switch(n){case"linear":o=e*t;break;case"exponential":o=Math.pow(2,t-1)*e;break;case"decorrelated":let s=t===1?e:Math.pow(2,t-2)*e;o=Math.random()*(s*3-e)+e;break;default:o=e*t}if(o=Math.min(o,r),i){let s=o*.25,c=Math.random()*s*2-s;o+=c}return Math.max(0,Math.floor(o))}function gy(t){if(!t)return;let e=parseInt(t,10);if(!isNaN(e)&&e>=0)return e*1e3;let r=Date.parse(t);if(!isNaN(r)){let n=r-Date.now();return n>0?n:void 0}}function Bo(t={}){let e=t.maxAttempts||3,r=t.delay||1e3,n=t.maxDelay||3e4,i=t.backoff||"exponential",o=t.jitter!==!1,s=t.statusCodes||[408,429,500,502,503,504],c=t.onRetry,u=t.respectRetryAfter!==!1,l=p=>{if(p instanceof qe||p instanceof V)return!0;if(p instanceof We)return s.includes(p.status);let m=xn(p);if(m&&m.canRetry===!1)return!1;if(m)return m.canRetry;if(p&&typeof p=="object"&&"code"in p){let f=p.code;return f==="ECONNRESET"||f==="ETIMEDOUT"||f==="ENOTFOUND"}return!1},d=t.shouldRetry||l;return p=>{let m=(h,g,y,C)=>{let b=p.runtimeEventBus;if(!(b!=null&&b.emit))return;let w=st(C);if(!w)return;let x=xn(h);b.emit("request:retry",{context:w,req:C,attempt:g,delayMs:y,reason:(x==null?void 0:x.reason)||(h==null?void 0:h.message)||"retry requested"})},f=async(h,g)=>{var C,b;let y=0;for(;;)try{y++;let w=await g(h);if(y<e&&!w.ok&&s.includes(w.status)){let x;if(u){let T=gy(w.headers.get("Retry-After"));x=T!==void 0?Math.min(T,n):Fo(y,r,n,i,o)}else x=Fo(y,r,n,i,o);let v=new We(w,h);if(m(v,y,x,h),c&&c(y,v,x),(C=p.hooks)!=null&&C.onRetry)for(let T of p.hooks.onRetry)await T(v,y,x,h);await new Promise(T=>setTimeout(T,x));continue}return w}catch(w){if(y<e&&d(w)){let x=Fo(y,r,n,i,o);if(m(w,y,x,h),c&&c(y,w,x),(b=p.hooks)!=null&&b.onRetry)for(let v of p.hooks.onRetry)await v(w,y,x,h);await new Promise(v=>setTimeout(v,x));continue}throw w}};p.use(f)}}var er=class{store=new Map;async get(e){let r=this.store.get(e);return r?r.expiresAt>0&&r.expiresAt<=Date.now()?(this.store.delete(e),null):r.value:null}async set(e,r,n){if(!Number.isFinite(n)||n<=0){this.store.delete(e);return}this.store.set(e,{value:r,expiresAt:Date.now()+n})}async delete(e){this.store.delete(e)}};Uo();Io();On();jn();var tr=typeof TextEncoder<"u"?new TextEncoder:null,Ze=globalThis.Buffer;function Ty(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var Vo=class{factory;storage;resolving;constructor(e){this.factory=e}async getStorage(){return this.storage||(this.resolving||(this.resolving=this.factory().then(e=>(this.storage=e,e))),this.storage=await this.resolving),this.storage}async get(e){return(await this.getStorage()).get(e)}async set(e,r,n){return(await this.getStorage()).set(e,r,n)}async delete(e){return(await this.getStorage()).delete(e)}};function Sy(){return Ty()?new Vo(async()=>{let{MemoryStorage:t}=await Promise.resolve().then(()=>(_o(),jo));return new t}):new er}function Ay(t){if(t==null)return null;if(typeof t=="string")return tr?tr.encode(t):Ze?Ze.from(t,"utf8"):null;if(typeof URLSearchParams<"u"&&t instanceof URLSearchParams){let e=t.toString();return tr?tr.encode(e):Ze?Ze.from(e,"utf8"):null}if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(typeof Blob<"u"&&t instanceof Blob)return null;if(typeof t=="object")try{let e=JSON.stringify(t);return tr?tr.encode(e):Ze?Ze.from(e,"utf8"):null}catch{return null}return null}function Cy(t){let e=0xcbf29ce484222325n,r=0x100000001b3n;for(let n of t)e^=BigInt(n),e=e*r&0xffffffffffffffffn;return e.toString(16).padStart(16,"0")}function Ey(t){if(!t)return!0;let e=t.toLowerCase();return!!(e.startsWith("text/")||e.includes("json")||e.includes("xml")||e.includes("yaml")||e.includes("csv")||e.includes("javascript")||e.includes("ecmascript")||e.includes("x-www-form-urlencoded")||e.includes("graphql")||e.includes("event-stream")||e.includes("+json")||e.includes("+xml"))}function Dy(t){if(Ze)return Ze.from(t).toString("base64");if(typeof btoa<"u"){let e="";for(let n=0;n<t.length;n+=32768){let i=t.subarray(n,n+32768);e+=String.fromCharCode(...i)}return btoa(e)}return null}function Ly(t){if(Ze)return Ze.from(t,"base64");if(typeof atob<"u"){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}return null}async function Nt(t){let e=t.headers.get("content-type");if(Ey(e))return{body:await t.text(),bodyEncoding:"utf8"};let r=await t.arrayBuffer(),n=new Uint8Array(r),i=Dy(n);return i===null?null:{body:i,bodyEncoding:"base64"}}var Ir=class t{raw;timings;constructor(e,r){this.raw=e,this.timings=r}get status(){return this.raw.status}get statusText(){return this.raw.statusText}get headers(){return this.raw.headers}get ok(){return this.raw.ok}get url(){return this.raw.url}get connection(){return{}}get cache(){return ut(this.headers,this.status).cache}get rateLimit(){return ut(this.headers,this.status).rateLimit}links(){return Br(this.headers)}get headerInfo(){return ut(this.headers,this.status)}json(){return this.raw.json()}text(){return this.raw.text()}async cleanText(){return qn(await this.text())}blob(){return this.raw.blob()}read(){return this.raw.body}clone(){return new t(this.raw.clone(),this.timings)}sse(){return $n(this.raw)}async*download(){if(!this.raw.body)return;let e=this.raw.body.getReader(),r=0,n=Number(this.raw.headers.get("content-length"))||void 0;for(;;){let{done:i,value:o}=await e.read();if(i)break;r+=o.length,yield{loaded:r,transferred:r,total:n,percent:n?r/n*100:void 0,direction:"download"}}}async*[Symbol.asyncIterator](){if(!this.raw.body)return;let e=this.raw.body.getReader();for(;;){let{done:r,value:n}=await e.read();if(r)break;yield n}}};function Ry(t){if(!t)return{};let e={},r=t.toLowerCase().split(",").map(n=>n.trim());for(let n of r)if(n.startsWith("max-age="))e.maxAge=parseInt(n.slice(8),10);else if(n.startsWith("min-fresh="))e.minFresh=parseInt(n.slice(10),10);else if(n.startsWith("max-stale")){let i=n.indexOf("=");i!==-1?e.maxStale=parseInt(n.slice(i+1),10):e.maxStale=1/0}else n==="only-if-cached"?e.onlyIfCached=!0:n==="no-cache"?e.noCache=!0:n==="no-store"&&(e.noStore=!0);return e}function Vn(t){if(!t)return{};let e={},r=t.toLowerCase().split(",").map(n=>n.trim());for(let n of r)n.startsWith("max-age=")?e.maxAge=parseInt(n.slice(8),10):n.startsWith("s-maxage=")?e.sMaxAge=parseInt(n.slice(9),10):n.startsWith("stale-while-revalidate=")?e.staleWhileRevalidate=parseInt(n.slice(23),10):n.startsWith("stale-if-error=")?e.staleIfError=parseInt(n.slice(15),10):n==="no-cache"?e.noCache=!0:n==="no-store"?e.noStore=!0:n==="must-revalidate"?e.mustRevalidate=!0:n==="private"?e.isPrivate=!0:n==="public"&&(e.isPublic=!0);return e}function Go(t,e){let r=(e-t.timestamp)/1e3;if(t.sMaxAge!==void 0)return r<t.sMaxAge;if(t.maxAge!==void 0)return r<t.maxAge;if(t.expires!==void 0)return e<t.expires;if(t.lastModified){let n=new Date(t.lastModified).getTime();if(!isNaN(n)){let i=t.headers.date?new Date(t.headers.date).getTime():t.timestamp;if(!isNaN(i)&&i>n){let s=(i-n)/1e3*.1;return r<s}}}return!1}function Wo(t,e,r){let n=(e-t.timestamp)/1e3,i=t.sMaxAge??t.maxAge??1/0,o=i-n,s=Go(t,e);if(r.maxAge!==void 0&&n>r.maxAge)return{allowed:!1,reason:"exceeds-request-max-age"};if(r.minFresh!==void 0&&(!s||o<r.minFresh))return{allowed:!1,reason:"insufficient-freshness"};if(r.onlyIfCached)return{allowed:!0};if(!s&&r.maxStale===void 0)return{allowed:!1,reason:"stale-not-acceptable"};if(!s&&r.maxStale!==void 0){let c=n-i;if(r.maxStale!==1/0&&c>r.maxStale)return{allowed:!1,reason:"exceeds-max-stale"}}return{allowed:!0}}function Py(t,e){if(!t.staleWhileRevalidate)return!1;let r=(e-t.timestamp)/1e3,n=t.sMaxAge??t.maxAge??0;return r-n<t.staleWhileRevalidate}function qc(t,e){let r=new Headers(t.headers);return e.etag&&r.set("If-None-Match",e.etag),e.lastModified&&r.set("If-Modified-Since",e.lastModified),new ht(t.url,{method:t.method,headers:r,body:t.body,signal:t.signal,throwHttpErrors:!1,timeout:t.timeout,onUploadProgress:t.onUploadProgress,onDownloadProgress:t.onDownloadProgress,maxResponseSize:t.maxResponseSize})}async function Mt(t,e,r,n,i,o){if(n.vary){let s=o(r,n.vary);await t.set(s,n,i);let c={...n,body:""};await t.set(e,c,i)}else await t.set(e,n,i)}async function Ft(t,e,r){let n={};t.headers.forEach((c,u)=>{n[u]=c});let i=Vn(t.headers.get("Cache-Control")),o,s=t.headers.get("Expires");if(s){let c=new Date(s);isNaN(c.getTime())||(o=c.getTime())}return{status:t.status,statusText:t.statusText,headers:n,body:e.body,bodyEncoding:e.bodyEncoding,timestamp:r,etag:t.headers.get("ETag")||void 0,lastModified:t.headers.get("Last-Modified")||void 0,vary:t.headers.get("Vary")||void 0,expires:o,...i}}function bt(t,e){let r=new Headers(t.headers);if(r.set("X-Cache",e),r.set("X-Cache-Age",String(Math.floor((Date.now()-t.timestamp)/1e3))),e==="stale"||e==="stale-error"){let o=e==="stale"?110:111,s=e==="stale"?"Response is Stale":"Revalidation Failed",c=r.get("Warning");c?r.set("Warning",`${c}, ${o} - "${s}"`):r.set("Warning",`${o} - "${s}"`)}let n=t.bodyEncoding==="base64"?Ly(t.body)??t.body:t.body,i=new Response(n,{status:t.status,statusText:t.statusText,headers:r});return new Ir(i)}function $c(t={}){let e=t.storage||Sy(),r=t.strategy||"cache-first",n=t.ttl||60*1e3,i=t.methods||["GET"],o=t.respectCacheControl!==!1,s=t.forceRevalidate===!0,c=t.keyGenerator||((l,d)=>{let p=`${l.method}:${l.url}`;if(l.method!=="GET"&&l.method!=="HEAD"&&l.body)try{let m=Ay(l.body);m&&m.length>0&&(p+=`:${Cy(m)}`)}catch{}if(d&&t.respectVary!==!1){let m=d.split(",").map(h=>h.trim().toLowerCase()),f=[];for(let h of m){if(h==="*")return`${p}:vary-*:${Date.now()}`;let g=l.headers.get(h);g&&f.push(`${h}=${g}`)}f.length>0&&(p+=`:vary:${f.join("|")}`)}return p}),u=async(l,d)=>{if(["POST","PUT","PATCH","DELETE","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","LINK","UNLINK","PURGE"].includes(l.method)){let b=await d(l);return b.ok&&(await e.delete(`GET:${l.url}`),await e.delete(`HEAD:${l.url}`)),b}if(!i.includes(l.method))return d(l);let m=o?Ry(l.headers.get("Cache-Control")):{};if(o&&m.noStore)return d(l);if(o){let b=l.headers.get("Pragma");if(b!=null&&b.includes("no-cache"))return d(l)}let f=c(l),h=f,g=Date.now(),y;if(t.respectVary!==!1){let b=await e.get(f);b!=null&&b.vary?(h=c(l,b.vary),y=await e.get(h)):b!=null&&b.body?y=b:y=void 0}else y=await e.get(h);if(m.onlyIfCached){if(!y){let w=new Response(null,{status:504,statusText:"Gateway Timeout"});return new Ir(w)}if(!Wo(y,g,m).allowed){let w=new Response(null,{status:504,statusText:"Gateway Timeout"});return new Ir(w)}return bt(y,Go(y,g)?"hit":"stale")}let C=Object.keys(m).length>0;if(y&&o&&C&&r==="network-first"&&(Wo(y,g,m).allowed||(y=void 0)),r==="network-only"){let b=await d(l);if(b.ok&&o&&!Vn(b.headers.get("Cache-Control")).noStore){let x=b.raw.clone(),v=await Nt(x);if(!v)return b;let T=await Ft(b,v,g),k=(T.sMaxAge??T.maxAge??n/1e3)*1e3;await Mt(e,f,l,T,k,c)}return b}if(r==="rfc-compliant"||r==="revalidate"){if(y){let w=Go(y,g),x=Wo(y,g,m),v=y.etag||y.lastModified;if(!x.allowed&&!v)y=void 0;else{if(w&&!s&&!y.noCache&&!m.noCache)return bt(y,"hit");if(!w&&m.maxStale!==void 0&&!s&&!m.noCache)return bt(y,"stale")}}if(y){let w=qc(l,y);try{let x=await d(w);if(x.status===304){let v={...y,timestamp:g,etag:x.headers.get("ETag")||y.etag,lastModified:x.headers.get("Last-Modified")||y.lastModified},T=(v.sMaxAge??v.maxAge??n/1e3)*1e3,k=Math.max(T,n);return await e.set(h,v,k),bt(v,"revalidated")}if(x.ok&&!Vn(x.headers.get("Cache-Control")).noStore){let T=x.raw.clone(),k=await Nt(T);if(!k)return x;let S=await Ft(x,k,g),P=(S.sMaxAge??S.maxAge??n/1e3)*1e3,q=Math.max(P,n);await Mt(e,f,l,S,q,c)}return x}catch(x){if(y.staleIfError&&Py(y,g))return bt(y,"stale-error");throw x}}let b=await d(l);if(b.ok&&!Vn(b.headers.get("Cache-Control")).noStore){let x=b.raw.clone(),v=await Nt(x);if(!v)return b;let T=await Ft(b,v,g),k=(T.sMaxAge??T.maxAge??n/1e3)*1e3,S=Math.max(k,n);await Mt(e,f,l,T,S,c)}return b}if(r==="cache-first"){if(y)return bt(y,"hit");let b=await d(l);if(b.ok){let w=b.raw.clone(),x=await Nt(w);if(!x)return b;let v=await Ft(b,x,g);await Mt(e,f,l,v,n,c)}return b}if(r==="stale-while-revalidate"){if(y){let w=bt(y,"stale");return(async()=>{try{let x=qc(l,y),v=await d(x);if(v.status===304){let T={...y,timestamp:Date.now()};await e.set(h,T,n)}else if(v.ok){let T=v.raw.clone(),k=await Nt(T);if(!k)return;let S=await Ft(v,k,Date.now()),P=(S.sMaxAge??S.maxAge??n/1e3)*1e3,q=Math.max(P,n);await Mt(e,f,l,S,q,c)}}catch{}})(),w}let b=await d(l);if(b.ok){let w=b.raw.clone(),x=await Nt(w);if(!x)return b;let v=await Ft(b,x,g);await Mt(e,f,l,v,n,c)}return b}if(r==="network-first")try{let b=await d(l);if(b.ok){let w=b.raw.clone(),x=await Nt(w);if(!x)return b;let v=await Ft(b,x,g),T=(v.sMaxAge??v.maxAge??n/1e3)*1e3,k=Math.max(T,n);await Mt(e,f,l,v,k,c)}return b}catch(b){if(y)return bt(y,"stale-error");throw b}return d(l)};return l=>{l.use(u)}}function Ko(t={}){let e=new Map,r=t.keyGenerator||(i=>i.method+":"+i.url),n=async(i,o)=>{if(i.method!=="GET"&&i.method!=="HEAD")return o(i);let s=r(i);if(e.has(s))return(await e.get(s)).clone();let c=o(i).then(u=>u).finally(()=>{e.delete(s)});e.set(s,c);try{let u=await c;return u.clone?u.clone():u}catch(u){throw u}};return i=>{i.use(n)}}function Oc(t){let e={};if(!t)return e;let r=t.split(";");for(let n of r){let[i,...o]=n.split("="),s=i==null?void 0:i.trim(),c=o.join("=").trim();s&&(e[s]=decodeURIComponent(c||""))}return e}function Ny(t,e){return e?Oc(e)[t]||null:typeof document<"u"&&document.cookie&&Oc(document.cookie)[t]||null}function Xo(t={}){let{cookieName:e="XSRF-TOKEN",headerName:r="X-XSRF-TOKEN",token:n,cookies:i}=t;return async(o,s)=>{let c=n||Ny(e,i);return c&&(o.headers.has(r)||o.headers.set(r,c)),s(o)}}function Jo(t){return t?t===!0?Xo():Xo(t):null}G();var et=typeof TextEncoder<"u"?new TextEncoder:null,ye=globalThis.Buffer;function My(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var Qo=null;async function Fy(){return Qo||(Qo=(async()=>{let t="node:zlib",e="node:util",r=await import(t),n=await import(e),i=n.promisify(r.gzip),o=n.promisify(r.deflate),s=n.promisify(r.brotliCompress);return{gzip:async c=>i(ye?ye.from(c):c),deflate:async c=>o(ye?ye.from(c):c),brotli:async c=>s(ye?ye.from(c):c)}})()),Qo}function By(t){return t?["text/","application/json","application/xml","application/javascript","application/x-www-form-urlencoded"].some(r=>t.includes(r)):!0}function Uy(t){if(!t)return 0;if(typeof t=="string")return et?et.encode(t).length:ye?ye.from(t,"utf8").length:t.length;if(t instanceof ArrayBuffer||ArrayBuffer.isView(t))return t.byteLength;if(typeof Blob<"u"&&t instanceof Blob)return t.size;if(typeof t=="object")try{let e=JSON.stringify(t);return et?et.encode(e).length:ye?ye.from(e,"utf8").length:e.length}catch{return 0}return 0}function Iy(t){if(!t)return null;if(typeof t=="string")return et?et.encode(t):ye?ye.from(t,"utf8"):null;if(typeof URLSearchParams<"u"&&t instanceof URLSearchParams){let e=t.toString();return et?et.encode(e):ye?ye.from(e,"utf8"):null}if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(typeof Blob<"u"&&t instanceof Blob)return null;if(typeof t=="object")try{let e=JSON.stringify(t);return et?et.encode(e):ye?ye.from(e,"utf8"):null}catch{return null}return null}async function Hy(t,e){if(My()){let r=await Fy();switch(e){case"gzip":return r.gzip(t);case"deflate":return r.deflate(t);case"br":return r.brotli(t);default:break}}if(typeof CompressionStream<"u"){if(e==="br")throw new me("Brotli compression is not available in browser environments.",{feature:e});let r=new CompressionStream(e),n=r.writable.getWriter(),i=t.buffer instanceof ArrayBuffer?t:new Uint8Array(t);await n.write(i),await n.close();let o=await new Response(r.readable).arrayBuffer();return new Uint8Array(o)}throw new me(`Unsupported compression algorithm: ${e}`,{feature:e})}function zc(t={}){let{algorithm:e="gzip",threshold:r=1024,force:n=!1,methods:i=["POST","PUT","PATCH"]}=t;return async(o,s)=>{if(!i.includes(o.method)||!o.body||o.headers.has("Content-Encoding"))return s(o);let u=o.headers.get("Content-Type");if(!By(u))return s(o);let l=Uy(o.body);if(!n&&l<r)return s(o);let d=Iy(o.body);if(!d)return s(o);try{let p=await Hy(d,e);if(!n&&p.length>=d.length)return s(o);let m=new Headers(o.headers);m.set("Content-Encoding",e),m.set("Content-Length",p.length.toString());let f={...o,body:p,headers:m};return s(f)}catch{return s(o)}}}function jc(t){return t?t===!0?zc():zc(t):null}function _c(t){let e=t.replace(/<\?xml[^?]*\?>/gi,"").replace(/<!--[\s\S]*?-->/g,"").trim();return Wc(e)}function Wc(t){let e=t.match(/^<(\w+)([^>]*)>([\s\S]*)<\/\1>$/);if(!e){let u=t.match(/^<(\w+)([^/>]*)\/>$/);if(u){let[,l,d]=u,p=Yo(d);return Object.keys(p).length>0?{[l]:p}:{[l]:null}}return Kn(t.trim())}let[,r,n,i]=e,o=Yo(n),s=qy(i),c={};if(Object.keys(o).length>0&&(c["@attributes"]=o),typeof s=="string")return Object.keys(o).length>0?(c["#text"]=s,{[r]:c}):{[r]:s};if(Array.isArray(s))for(let u of s)for(let[l,d]of Object.entries(u))c[l]!==void 0?(Array.isArray(c[l])||(c[l]=[c[l]]),c[l].push(d)):c[l]=d;return{[r]:Object.keys(c).length>0?c:null}}function Yo(t){let e={},r=/(\w+)=["']([^"']*)["']/g,n;for(;(n=r.exec(t))!==null;)e[n[1]]=Kn(n[2]);return e}function qy(t){let e=t.trim();if(!e)return"";if(!e.startsWith("<"))return Kn(e);let r=[],n=e;for(;n.length>0&&(n=n.trim(),!!n);){let i=n.match(/^<(\w+)([^>]*)>/);if(!i){let p=n.indexOf("<");if(p>0){let m=n.substring(0,p).trim();m&&r.push({"#text":Kn(m)}),n=n.substring(p);continue}break}let[o,s,c]=i;if(c.endsWith("/")||n.substring(o.length-1,o.length+1)==="/>"){let p=n.match(/^<(\w+)([^/>]*)\/?>/);if(p){let m=Yo(p[2]);r.push({[s]:Object.keys(m).length>0?{"@attributes":m}:null}),n=n.substring(p[0].length);continue}}let u=`</${s}>`,l=1,d=o.length;for(;l>0&&d<n.length;){let p=n.indexOf(`<${s}`,d),m=n.indexOf(u,d);if(m===-1)break;if(p!==-1&&p<m)n.substring(p).match(/^<\w+[^>]*\/>/)||l++,d=p+1;else if(l--,l===0){let f=n.substring(0,m+u.length);r.push(Wc(f)),n=n.substring(m+u.length)}else d=m+1}if(l>0)break}return r}function Kn(t){return t.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'").replace(/&#(\d+);/g,(e,r)=>String.fromCharCode(parseInt(r,10))).replace(/&#x([0-9a-fA-F]+);/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}function rr(t,e){if(t==null)return e?`<${e}/>`:"";if(typeof t!="object")return e?`<${e}>${Gn(String(t))}</${e}>`:Gn(String(t));let r=Object.keys(t);if(r.length===1&&!e){let s=r[0];return rr(t[s],s)}let n="",i="",o="";for(let s of r){let c=t[s];if(s==="@attributes")for(let[u,l]of Object.entries(c))i+=` ${u}="${Gn(String(l))}"`;else if(s==="#text")o=Gn(String(c));else if(Array.isArray(c))for(let u of c)n+=rr(u,s);else n+=rr(c,s)}return e?n||o?`<${e}${i}>${o}${n}</${e}>`:`<${e}${i}/>`:n}function Gn(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}async function $y(t,e=_c){let n=await(await t).text();return e(n)}Sn();En();G();var Zo=class{listeners=new Map;on(e,r){let n=this.listeners.get(e)??new Set;return n.add(r),this.listeners.set(e,n),this}once(e,r){let n=(...i)=>{this.off(e,n),r(...i)};return this.on(e,n)}off(e,r){let n=this.listeners.get(e);return n&&(n.delete(r),n.size===0&&this.listeners.delete(e)),this}removeListener(e,r){return this.off(e,r)}emit(e,...r){let n=this.listeners.get(e);if(!n)return!1;for(let i of[...n])i(...r);return!0}},Xn=class extends Zo{concurrency;retries;retryDelay;queue=[];activeCount=0;paused=!1;stats={total:0,successful:0,failed:0};startTime=0;pendingRetries=0;isCancelled=!1;cancelReason=new $e("Request runner cancelled");retryTimers=new Map;timeoutId;abortUnsubscribe;constructor(e={}){super(),this.concurrency=e.concurrency||5,this.retries=e.retries??0,this.retryDelay=e.retryDelay??0}add(e,r={}){this.queueTask({id:r.id||Math.random().toString(36).slice(2),fn:e,priority:r.priority||0,retries:r.retries??this.retries,resolve:r.resolve}),r.trackTotal!==!1&&this.stats.total++,this.processNext()}async run(e,r,n={}){if(this.queue=[],this.activeCount=0,this.pendingRetries=0,this.stats={total:0,successful:0,failed:0},this.isCancelled=!1,this.retryTimers.size>0){for(let[,i]of this.retryTimers)clearTimeout(i);this.retryTimers.clear()}if(this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=void 0),this.abortUnsubscribe&&(this.abortUnsubscribe(),this.abortUnsubscribe=void 0),this.startTime=Date.now(),this.stats={total:e.length,successful:0,failed:0},this.isCancelled=!1,this.cancelReason=new $e("Request runner cancelled",{queueName:"request-runner",request:void 0}),n.signal){let i=n.signal;if(i.aborted){let o=i.reason instanceof Error?i.reason:new $e("Request runner signal was aborted",{queueName:"request-runner",request:void 0});this.cancelAll(o)}else{let o=()=>{let s=i.reason instanceof Error?i.reason:new $e("Request runner signal was aborted",{queueName:"request-runner",request:void 0});this.cancelAll(s)};i.addEventListener("abort",o,{once:!0}),this.abortUnsubscribe=()=>i.removeEventListener("abort",o)}}if(n.deadlineMs!==void 0){let i=n.deadlineMs;i<=0?this.cancelAll(new $e("Request runner deadline elapsed",{queueName:"request-runner",request:void 0})):this.timeoutId=setTimeout(()=>{this.cancelAll(new $e("Request runner deadline exceeded",{queueName:"request-runner",request:void 0}))},i)}try{let i=e.map((s,c)=>new Promise(u=>{this.add(()=>r(s,c),{priority:n.priority,id:String(c),retries:n.retries,resolve:u,trackTotal:!1})}));return{results:await Promise.all(i),stats:{...this.stats,duration:Date.now()-this.startTime}}}finally{this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=void 0),this.abortUnsubscribe&&(this.abortUnsubscribe(),this.abortUnsubscribe=void 0)}}queueTask(e){this.queue.push(e),this.queue.sort((r,n)=>n.priority-r.priority)}scheduleRetry(e,r){if(this.isCancelled){this.resolveTask(e,this.cancelReason);return}if(r<=0){this.queueTask(e),this.processNext();return}let n=`${e.id}-${Date.now()}-${Math.random().toString(16).slice(2,8)}`,i=()=>{this.retryTimers.delete(n),this.pendingRetries--,!this.isCancelled&&(this.queueTask(e),this.processNext())};this.retryTimers.set(n,setTimeout(()=>{if(this.isCancelled){this.pendingRetries--,this.retryTimers.delete(n),this.resolveTask(e,this.cancelReason);return}i()},r)),this.pendingRetries++}async processNext(){var r;if(this.isCancelled){this.resolveQueue();return}if(this.paused||this.activeCount>=this.concurrency||this.queue.length===0)return;let e=this.queue.shift();if(e){this.activeCount++,this.emit("taskStart",e);try{let n=await e.fn();this.stats.successful++,(r=e.resolve)==null||r.call(e,n),this.emit("taskComplete",{task:e,result:n})}catch(n){if(this.isCancelled){this.resolveTask(e,this.cancelReason);return}let i=e.retries??0;i>0?(e.retries=i-1,this.emit("taskRetry",{task:e,error:n,remaining:e.retries,delay:this.retryDelay}),this.scheduleRetry(e,this.retryDelay)):(this.resolveTask(e,n),this.emit("taskError",{task:e,error:n}))}finally{this.activeCount--,this.emit("progress",this.getProgress()),this.activeCount===0&&this.queue.length===0&&this.pendingRetries===0&&this.emit("drained"),this.processNext()}}}cancelAll(e){if(!this.isCancelled){this.isCancelled=!0,this.cancelReason=e;for(let[,r]of this.retryTimers)clearTimeout(r);this.retryTimers.clear(),this.pendingRetries=0,this.resolveQueue()}}resolveQueue(){for(;this.queue.length>0;){let e=this.queue.shift();e&&this.resolveTask(e,this.cancelReason)}}resolveTask(e,r){var n;e.resolve&&(this.stats.failed++,(n=e.resolve)==null||n.call(e,r))}getProgress(){let e=this.stats.successful+this.stats.failed;return{total:this.stats.total,completed:e,pending:this.queue.length,active:this.activeCount,percent:this.stats.total>0?e/this.stats.total*100:0}}};G();var ta=class{listeners=new Map;on(e,r){let n=this.listeners.get(e)??new Set;return n.add(r),this.listeners.set(e,n),this}once(e,r){let n=(...i)=>{this.off(e,n),r(...i)};return this.on(e,n)}off(e,r){let n=this.listeners.get(e);return n&&(n.delete(r),n.size===0&&this.listeners.delete(e)),this}removeListener(e,r){return this.off(e,r)}emit(e,...r){let n=this.listeners.get(e);if(!n)return!1;for(let i of[...n])i(...r);return!0}},Jn={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function ra(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var ea=null;async function Vc(){return ea||(ea=import("undici")),ea}async function Oy(){if(ra())return(await Vc()).WebSocket;let t=globalThis.WebSocket;if(!t)throw new me("WebSocket is not available in this environment.",{feature:"websocket"});return t}function zy(t){return!!(t&&typeof t.getReader=="function")}var Qn=class extends ta{ws=null;url;options;reconnectAttempts=0;reconnectTimer;heartbeatTimer;isClosed=!1;isReconnecting=!1;pongWatchdog;backoff;closedByUser=!1;constructor(e,r={}){super(),this.url=e,this.options={protocols:r.protocols||[],headers:r.headers||{},reconnect:r.reconnect??!1,reconnectDelay:r.reconnectDelay??1e3,maxReconnectAttempts:r.maxReconnectAttempts??5,heartbeatInterval:r.heartbeatInterval??3e4,heartbeatTimeout:r.heartbeatTimeout??1e4,dispatcher:r.dispatcher,proxy:r.proxy,tls:r.tls,perMessageDeflate:r.perMessageDeflate??!1},this.backoff={base:this.options.reconnectDelay,factor:2,jitter:!0,max:3e4}}async connect(){let e=await Oy(),r=ra(),n=r?{headers:this.options.headers,dispatcher:this.options.dispatcher,perMessageDeflate:this.options.perMessageDeflate}:void 0;if(r&&this.options.proxy){let i=typeof this.options.proxy=="string"?{url:this.options.proxy}:this.options.proxy,o=await Vc();n.dispatcher=new o.ProxyAgent(i.url)}return r&&this.options.tls&&(n.tls=this.options.tls),new Promise((i,o)=>{try{this.ws=r?new e(this.url,this.options.protocols,n):new e(this.url,this.options.protocols),this.ws.addEventListener("open",()=>{this.reconnectAttempts=0,this.isReconnecting=!1,this.startHeartbeat(),this.emit("open"),i()}),this.ws.addEventListener("message",s=>{let c=s.data,u={data:c,isBinary:typeof c!="string"};this.emit("message",u),this.stopPongWatchdog()}),this.ws.addEventListener("close",s=>{this.stopHeartbeat(),this.stopPongWatchdog(),this.emit("close",s.code,s.reason),!this.closedByUser&&!this.isClosed&&this.options.reconnect&&this.attemptReconnect()}),this.ws.addEventListener("error",s=>{let c=(s==null?void 0:s.error)instanceof Error?s.error:new Sr("WebSocket connection error",{host:this.url,retriable:!0});this.emit("error",c),o(c)})}catch(s){o(s)}})}async send(e,r){if(!this.ws||this.ws.readyState!==Jn.OPEN)throw new Ar("WebSocket is not connected",{expectedState:"open",actualState:this.ws?"closed":"not-created"});let n=(r==null?void 0:r.awaitDrain)??!1,i=(r==null?void 0:r.highWaterMark)??16*1024;this.ws.send(e),n&&await this.waitForDrain(i)}async sendStream(e,r){if(zy(e)){let n=e.getReader();for(;;){let{done:i,value:o}=await n.read();if(i)break;await this.send(o,r)}return}for await(let n of e)await this.send(n,r)}sendJSON(e){this.send(JSON.stringify(e))}close(e=1e3,r=""){this.isClosed=!0,this.closedByUser=!0,this.stopHeartbeat(),this.clearReconnectTimer(),this.ws&&(this.ws.close(e,r),this.ws=null)}ping(){if(!this.ws||this.ws.readyState!==Jn.OPEN)return;let e=this.ws;if(typeof e.ping=="function")try{e.ping();return}catch{}try{this.ws.send("__heartbeat__")}catch{}}get readyState(){var e;return((e=this.ws)==null?void 0:e.readyState)??Jn.CLOSED}get isConnected(){var e;return((e=this.ws)==null?void 0:e.readyState)===Jn.OPEN}toReadable(){if(!this.ws)return null;let e=this.ws;return e.readable&&typeof e.readable.getReader=="function"?e.readable:null}async pipeFrom(e,r){await this.sendStream(e,r)}async pipeTo(e){var n;let r=this.toReadable();if(!r)throw new ae("WebSocket has no readable stream",{streamType:"websocket",retriable:!1});if(e&&typeof e.getWriter=="function"){await r.pipeTo(e);return}if(ra()){let i="node:stream",o="node:stream/promises",s=await import(i),c=await import(o),u=typeof((n=s.Readable)==null?void 0:n.fromWeb)=="function"?s.Readable.fromWeb(r):s.Readable.from(r);await c.pipeline(u,e);return}throw new ae("Destination stream is not supported in this environment",{streamType:"websocket",retriable:!1})}async*[Symbol.asyncIterator](){let e=[],r=null,n=!1,i=s=>{r?(r(s),r=null):e.push(s)},o=()=>{n=!0,r&&(r(null),r=null)};this.on("message",i),this.on("close",o);try{for(;;)if(e.length>0)yield e.shift();else{if(n)break;let s=await new Promise(c=>{r=c});if(s)yield s;else break}}finally{this.off("message",i),this.off("close",o)}}attemptReconnect(){if(this.isReconnecting)return;if(this.options.maxReconnectAttempts>0&&this.reconnectAttempts>=this.options.maxReconnectAttempts){this.emit("max-reconnect-attempts");return}this.isReconnecting=!0,this.reconnectAttempts++;let e=this.backoff.base*Math.pow(this.backoff.factor,this.reconnectAttempts-1),r=this.backoff.max?Math.min(e,this.backoff.max):e,n=this.backoff.jitter?jy(r):r;this.emit("reconnecting",this.reconnectAttempts,n),this.reconnectTimer=setTimeout(()=>{this.connect().catch(i=>{this.emit("reconnect-error",i)})},n)}clearReconnectTimer(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=void 0)}startHeartbeat(){this.options.heartbeatInterval<=0||(this.heartbeatTimer=setInterval(()=>{this.isConnected&&(this.ping(),this.startPongWatchdog())},this.options.heartbeatInterval))}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0),this.stopPongWatchdog()}startPongWatchdog(){this.stopPongWatchdog(),!(this.options.heartbeatTimeout<=0)&&(this.pongWatchdog=setTimeout(()=>{var e;this.emit("heartbeat-timeout"),!this.closedByUser&&this.options.reconnect&&((e=this.ws)==null||e.close(4e3,"heartbeat timeout"))},this.options.heartbeatTimeout))}stopPongWatchdog(){this.pongWatchdog&&(clearTimeout(this.pongWatchdog),this.pongWatchdog=void 0)}getBufferedAmount(){var e;return((e=this.ws)==null?void 0:e.bufferedAmount)??0}async waitForDrain(e){this.getBufferedAmount()<=e||await new Promise(n=>{let i=()=>{this.getBufferedAmount()<=e||!this.isConnected?n():setTimeout(i,10)};setTimeout(i,10)})}};function jy(t){let e=.2*t;return t-e+Math.random()*(2*e)}G();function _y(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var na=null;async function Wy(){if(!_y())throw new me("WHOIS is only available in Node.js environments.",{feature:"whois"});return na||(na=import("node:net")),na}var Vy={com:"whois.verisign-grs.com",net:"whois.verisign-grs.com",org:"whois.pir.org",info:"whois.afilias.net",biz:"whois.biz",us:"whois.nic.us",uk:"whois.nic.uk",ca:"whois.cira.ca",de:"whois.denic.de",fr:"whois.afnic.fr",au:"whois.aunic.net",jp:"whois.jprs.jp",cn:"whois.cnnic.cn",ru:"whois.tcinet.ru",br:"whois.registro.br",eu:"whois.eu",io:"whois.nic.io",co:"whois.nic.co",me:"whois.nic.me",tv:"whois.nic.tv",cc:"whois.nic.cc",ws:"whois.website.ws",mobi:"whois.dotmobiregistry.net",asia:"whois.nic.asia",tel:"whois.nic.tel",pro:"whois.registrypro.pro",aero:"whois.aero",cat:"whois.cat",coop:"whois.nic.coop",jobs:"whois.nic.jobs",museum:"whois.museum",travel:"whois.nic.travel",xxx:"whois.nic.xxx",app:"whois.nic.google",dev:"whois.nic.google",ai:"whois.nic.ai"};function Gy(t){let e=t.toLowerCase().split(".");return e[e.length-1]}function Ky(t,e){if(e)return e;let r=/^(\d{1,3}\.){3}\d{1,3}$/,n=/^([0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4}$/;if(r.test(t)||n.test(t))return"whois.arin.net";let i=Gy(t);return Vy[i]||"whois.iana.org"}function Xy(t){let e={},r=t.split(`
|
|
63
63
|
`);for(let n of r){if(n.startsWith("%")||n.startsWith("#")||!n.trim())continue;let i=n.indexOf(":");if(i===-1)continue;let o=n.substring(0,i).trim().toLowerCase(),s=n.substring(i+1).trim();!o||!s||(e[o]?Array.isArray(e[o])?e[o].push(s):e[o]=[e[o],s]:e[o]=s)}return e}function Jy(t){let e=t.toLowerCase().split(`
|
|
64
64
|
`);for(let r of e)if(r.includes("whois server:")||r.includes("referral url:")){let n=r.match(/whois\.[\w.-]+/);if(n)return n[0]}return null}async function Gc(t,e,r,n){let{createConnection:i}=await Wy();return new Promise((o,s)=>{let c="",u=null,l=setTimeout(()=>{u==null||u.destroy(),s(new $(`WHOIS query timed out after ${n}ms`,void 0,void 0,["Increase the WHOIS timeout for slower registries.","Check network connectivity to the WHOIS server.","Retry the query; some registries respond slowly under load."]))},n);u=i({host:t,port:r},()=>{u.write(e+`\r
|
|
65
|
-
`)}),u.on("data",d=>{c+=d.toString("utf-8")}),u.on("end",()=>{clearTimeout(l),o(c)}),u.on("error",d=>{clearTimeout(l);let p=(d==null?void 0:d.message)||(d==null?void 0:d.code)||"Connection failed",m=new $(`WHOIS query failed: ${p}`,void 0,void 0,["Verify the WHOIS server is reachable and correct.","Check network/firewall settings blocking WHOIS port 43.","Retry the query; transient network issues can occur."]);m.code=d==null?void 0:d.code,s(m)}),u.on("close",d=>{if(clearTimeout(l),d&&!c){let p=new $("WHOIS connection closed unexpectedly",void 0,void 0,["The WHOIS server may be rate limiting requests.","Try again in a few seconds.","Some TLDs have unreliable WHOIS servers."]);p.code="ECONNRESET",s(p)}})})}async function ia(t,e={}){let{server:r,port:n=43,timeout:i=1e4,follow:o=!0}=e,s=t.trim().toLowerCase(),c=Ky(s,r),u=await Gc(c,s,n,i);if(o&&!r){let d=Jy(u);d&&d!==c&&(c=d,u=await Gc(c,s,n,i))}let l=Xy(u);return{raw:u,query:s,server:c,data:l}}async function Kc(t,e){try{let n=(await ia(t,e)).raw.toLowerCase();return["no match","not found","no entries found","no data found","status: available","status: free"].some(o=>n.includes(o))}catch{return!1}}var Qy=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Yy=/^[\u0020-\u003A\u003D-\u007E]*$/,Ir=class{cookies=new Map;getCookieString(e){let r=new URL(e),n=r.hostname,i=r.pathname||"/",o=r.protocol==="https:",s=Date.now(),c=[];for(let[u,l]of this.cookies.entries())if(this.domainMatches(n,u)){for(let[d,p]of l.entries())if(this.pathMatches(i,d))for(let m of p.values()){if(this.isExpired(m,s)){p.delete(m.name);continue}m.secure&&!o||c.push(m)}}return c.sort((u,l)=>{let d=l.path.length-u.path.length;return d!==0?d:u.createdAt-l.createdAt}),c.map(u=>`${u.name}=${u.value}`).join("; ")}setCookie(e,r){let n=new URL(r),i=n.hostname,o=n.pathname||"/",s=this.parseCookie(e,i,o);if(!s||!this.domainMatches(i,s.domain))return;this.cookies.has(s.domain)||this.cookies.set(s.domain,new Map);let c=this.cookies.get(s.domain);c.has(s.path)||c.set(s.path,new Map),c.get(s.path).set(s.name,s)}clear(){this.cookies.clear()}clearDomain(e){this.cookies.delete(e)}getAllCookies(){let e=[];for(let r of this.cookies.values())for(let n of r.values())for(let i of n.values())e.push(i);return e}parseCookie(e,r,n){let i=e.split(";").map(m=>m.trim());if(i.length===0||!i[0])return null;let[o,...s]=i,c=o.indexOf("=");if(c===-1)return null;let u=o.substring(0,c).trim(),l=o.substring(c+1).trim();if(!u)return null;let d=this.decode(l),p={name:u,value:d,domain:r,path:this.defaultPath(n),secure:!1,httpOnly:!1,createdAt:Date.now()};for(let m of s){let f=m.toLowerCase();if(f==="secure")p.secure=!0;else if(f==="httponly")p.httpOnly=!0;else if(f==="partitioned")p.partitioned=!0;else if(f.startsWith("domain=")){let h=m.substring(7).trim();h.startsWith(".")&&(h=h.substring(1)),Qy.test(h)&&(p.domain=h.toLowerCase())}else if(f.startsWith("path=")){let h=m.substring(5).trim();(!h||Yy.test(h))&&(p.path=h||"/")}else if(f.startsWith("expires=")){let h=m.substring(8).trim(),g=new Date(h);Number.isFinite(g.valueOf())&&(p.expires=g)}else if(f.startsWith("max-age=")){let h=m.substring(8).trim();/^-?\d+$/.test(h)&&(p.maxAge=parseInt(h,10))}else if(f.startsWith("samesite=")){let h=m.substring(9).trim().toLowerCase();h==="strict"?p.sameSite="Strict":h==="lax"?p.sameSite="Lax":h==="none"&&(p.sameSite="None")}else if(f.startsWith("priority=")){let h=m.substring(9).trim().toLowerCase();h==="low"?p.priority="Low":h==="medium"?p.priority="Medium":h==="high"&&(p.priority="High")}}return p}decode(e){if(e.indexOf("%")===-1)return e;try{return decodeURIComponent(e)}catch{return e}}domainMatches(e,r){let n=e.toLowerCase(),i=r.toLowerCase();return!!(n===i||n.endsWith("."+i))}pathMatches(e,r){return!!(e===r||e.startsWith(r)&&(r.endsWith("/")||e[r.length]==="/"))}defaultPath(e){if(!e||!e.startsWith("/"))return"/";let r=e.lastIndexOf("/");return r===0?"/":e.substring(0,r)}isExpired(e,r){if(e.maxAge!==void 0){if(e.maxAge<=0)return!0;let n=e.createdAt+e.maxAge*1e3;return r>=n}return e.expires?r>=e.expires.getTime():!1}};var Ja=null;async function L2(){return Ja||(Ja=(await Promise.resolve().then(()=>(Bl(),Fl))).ScrapeDocument),Ja}function Ul(t){let e=Promise.resolve(t),r=async i=>{let o=await L2(),s=await e,c=await s.text();return o.create(c,{baseUrl:(i==null?void 0:i.baseUrl)||s.url,...i})},n=e;return n.scrape=async i=>r(i),n.links=async i=>(await r()).links(i),n.images=async i=>(await r()).images(i),n.meta=async()=>(await r()).meta(),n.openGraph=async()=>(await r()).openGraph(),n.twitterCard=async()=>(await r()).twitterCard(),n.jsonLd=async()=>(await r()).jsonLd(),n.forms=async i=>(await r()).forms(i),n.tables=async i=>(await r()).tables(i),n.scripts=async()=>(await r()).scripts(),n.styles=async()=>(await r()).styles(),n.extract=async i=>(await r()).extract(i),n}function an(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var $i=class{factory;transport;resolving;dispatchFn;constructor(e){this.factory=e,this.dispatchFn=this.initialDispatch.bind(this)}async initialDispatch(e){return this.transport||(this.resolving||(this.resolving=this.factory().then(r=>(this.transport=r,this.dispatchFn=n=>this.transport.dispatch(n),r))),this.transport=await this.resolving),this.transport.dispatch(e)}dispatch(e){return this.dispatchFn(e)}async warmup(){!this.transport&&!this.resolving&&(this.resolving=this.factory().then(e=>(this.transport=e,this.dispatchFn=r=>this.transport.dispatch(r),e))),await this.resolving}};function Rd(){return an()?new $i(async()=>{let{CurlTransport:t}=await Promise.resolve().then(()=>(Ol(),$l));return new t}):{async dispatch(t){throw new Le("Curl transport is only available in Node.js environments.",{configKey:"useCurl",request:t})}}}var Oi=class{factory;storage;resolving;constructor(e){this.factory=e}async getStorage(){return this.storage||(this.resolving||(this.resolving=this.factory().then(e=>(this.storage=e,e))),this.storage=await this.resolving),this.storage}async get(e){return(await this.getStorage()).get(e)}async set(e,r,n){return(await this.getStorage()).set(e,r,n)}async delete(e){return(await this.getStorage()).delete(e)}};function Zx(t){if(!an())throw new Le("File cache storage is only available in Node.js environments.",{configKey:"cache.driver"});return new Oi(async()=>{let{FileStorage:e}=await Promise.resolve().then(()=>(Vl(),Wl));return new e(t)})}function e1(){return an()?new Oi(async()=>{let{MemoryStorage:t}=await Promise.resolve().then(()=>(_o(),jo));return new t}):new er}var ks=class{instancePromise;constructor(e){this.instancePromise=e()}get[Symbol.toStringTag](){return"HlsPromise"}then(e,r){return this.instancePromise.then(({instance:n})=>n.then(e,r))}catch(e){return this.then(null,e)}finally(e){return this.instancePromise.then(({instance:r})=>r.finally(e))}cancel(){this.instancePromise.then(({instance:e})=>e.cancel()).catch(()=>{})}async download(e){let{instance:r}=await this.instancePromise;return r.download(e)}async*stream(){let{instance:e}=await this.instancePromise;yield*e.stream()}async pipe(e){let{instance:r}=await this.instancePromise;return r.pipe(e)}async info(){let{instance:e}=await this.instancePromise;return e.info()}},sn=class{static get version(){return yc()}static getVersion(){return Lo()}static getVersionInfo(){return bc()}baseUrl;middlewares;hooks;transport;curlTransport;defaultHeaders;defaultHeadersObj;defaultParams;paginationConfig;handler;fastHandler;logger;debugEnabled;agentManager;concurrencyConfig;requestPool;maxResponseSize;runtimeEventBus;shouldEmitRuntimeEvents;runtimeEventBusProviderAttached=!1;runtimeEventListenerCount=0;cookieJar;cookieIgnoreInvalid=!1;defaultTimeout;http2Enabled=!1;transportKind="custom";canFastPath=!1;_aiConfig;_ai;constructor(e={}){var p,m,f,h,g,y,C,b,x,k;this.baseUrl=e.baseUrl||"",this.middlewares=e.middlewares||[],this.defaultTimeout=e.timeout,this.hooks={beforeRequest:((p=e.hooks)==null?void 0:p.beforeRequest)||[],afterResponse:((m=e.hooks)==null?void 0:m.afterResponse)||[],onError:((f=e.hooks)==null?void 0:f.onError)||[],onRetry:((h=e.hooks)==null?void 0:h.onRetry)||[],onUrlResolved:((g=e.hooks)==null?void 0:g.onUrlResolved)||[]},this.defaultHeaders={"User-Agent":Mr(),...e.headers||{}},this.defaultHeadersObj=new Headers(this.defaultHeaders),this.defaultParams=((y=e.defaults)==null?void 0:y.params)||{},this.paginationConfig=e.pagination,this.maxResponseSize=e.maxResponseSize;let r=e.runtimeEventBus;r?this.runtimeEventBus={on:(v,w)=>r.on(v,w),emit:(v,w)=>r.emit(v,w)}:this.runtimeEventBus=ac(),this.shouldEmitRuntimeEvents=r!==void 0,this.runtimeEventBusProviderAttached=r!==void 0,this.debugEnabled=e.debug===!0,this.debugEnabled?this.logger=e.logger??Rt:e.logger&&(this.logger=e.logger),this.concurrencyConfig=dc({concurrency:e.concurrency,http2:e.http2});let n=mc(e.http2);if(this.http2Enabled=n.enabled??!1,e.transport)this.transport=e.transport,this.transportKind="custom";else if(e.useCurl)this.debugEnabled&&console.log("[DEBUG] Using Curl Transport"),this.transport=Rd(),this.transportKind="curl";else if(an()){this.debugEnabled&&console.log("[DEBUG] Using Undici Transport");let v={...this.concurrencyConfig.agent,allowH2:n.enabled,maxConcurrentStreams:(C=n.resolvedSettings)==null?void 0:C.maxConcurrentStreams},w={proxy:e.proxy,http2:n.enabled?n:void 0,dns:e.dns,socketPath:e.socketPath,tls:e.tls,observability:e.observability,expectContinue:e.expectContinue,protocolCache:!0};this.transport=new $i(async()=>{if(!this.agentManager){let A=Un(),{AgentManager:P}=await Promise.resolve().then(()=>(gs(),id));this.agentManager=new P(v,A)}let{UndiciTransport:S}=await Promise.resolve().then(()=>(xd(),wd));return new S(this.baseUrl||void 0,{...w,agent:this.agentManager})}),this.transportKind="undici"}else this.debugEnabled&&console.log("[DEBUG] Using Fetch Transport"),this.transport=new yt,this.transportKind="fetch";let i=(v,w={})=>{let S=Bn(v);o.push(sc(v,{...S,...w}))},o=[];if(e.retry&&i(Bo(e.retry),{name:"recker:retry",priority:120,scope:"request"}),this.concurrencyConfig.max<1/0||this.concurrencyConfig.requestsPerInterval<1/0?(this.requestPool=new Fn({concurrency:this.concurrencyConfig.max,requestsPerInterval:this.concurrencyConfig.requestsPerInterval,interval:this.concurrencyConfig.interval}),i(v=>{v.middlewares.unshift(this.requestPool.asMiddleware())},{name:"recker:request-pool",priority:130,scope:"runtime"}),this.debugEnabled&&this.logger&&this.logger.debug(`Global concurrency limit: ${this.concurrencyConfig.max} concurrent requests`)):this.debugEnabled&&this.logger&&this.logger.debug("No global concurrency limit (allows unlimited parallel batches)"),e.dedup&&i(Ko(e.dedup),{name:"recker:dedup",priority:110,scope:"request"}),e.cache){let v;e.cache.storage?v=e.cache.storage:e.cache.driver==="file"?v=Zx(e.cache.fileStoragePath):v=e1(),i($c({...e.cache,storage:v}),{name:"recker:cache",priority:100,scope:"request"})}e.plugins&&e.plugins.forEach((v,w)=>{let S=Bn(v);i(v,{name:(S==null?void 0:S.name)||`user-plugin:${w}`,priority:(S==null?void 0:S.priority)??90-w,scope:(S==null?void 0:S.scope)||"request"})});let{ordered:s,debugOrder:c}=lc(uc(o));if(s.forEach(({plugin:v})=>{v(this)}),this.debugEnabled&&this.logger&&this.logger.debug(`Applied plugins in order: ${c.join(" | ")}`),e.compression){let v=jc(e.compression);v&&this.middlewares.push(v)}if(e.xsrf){let v=Jo(e.xsrf);v&&this.middlewares.push(v)}e.cookies&&this.setupCookieJar(e.cookies),e._aiConfig&&(this._aiConfig=e._aiConfig),this.maxResponseSize!==void 0&&this.middlewares.push(this.createMaxSizeMiddleware(this.maxResponseSize)),this.debugEnabled&&this.logger&&this.middlewares.unshift(this.createLoggingMiddleware(this.logger)),this.handler=this.composeMiddlewares(),this.fastHandler=this.composeFastHandler();let u=(((b=this.hooks.beforeRequest)==null?void 0:b.length)??0)>0||(((x=this.hooks.afterResponse)==null?void 0:x.length)??0)>0||(((k=this.hooks.onError)==null?void 0:k.length)??0)>0,l=!!this.cookieJar||!!this.defaultTimeout||this.maxResponseSize!==void 0||this.debugEnabled,d=this.middlewares.length>0;this.canFastPath=!u&&!l&&!d}createLoggingMiddleware(e){return async(r,n)=>{let i=Date.now();e.debug({type:"request",method:r.method,url:r.url},`\u2192 ${r.method} ${r.url}`);try{let o=await n(r),s=Date.now()-i;return e.debug({type:"response",method:r.method,url:r.url,status:o.status,duration:s,timings:o.timings},`\u2190 ${o.status} ${r.method} ${r.url} (${s}ms)`),o}catch(o){let s=Date.now()-i,c=o;throw e.error({type:"error",method:r.method,url:r.url,error:c.message,errorName:c.name,duration:s},`\u2716 ${r.method} ${r.url} - ${c.message}`),o}}}createMaxSizeMiddleware(e){return async(r,n)=>{let i=await n(r),o=r.maxResponseSize??e;if(o===void 0)return i;let s=i.headers.get("Content-Length");if(s){let c=parseInt(s,10);if(!isNaN(c)&&c>o)throw new ft(o,c,r)}return i}}setupCookieJar(e){e===!0?this.cookieJar=new Ir:typeof e=="object"&&(e.jar===!0?this.cookieJar=new Ir:e.jar&&typeof e.jar=="object"&&(this.cookieJar=e.jar),this.cookieIgnoreInvalid=e.ignoreInvalid??!1),this.cookieJar&&this.middlewares.push(this.createCookieMiddleware())}createCookieMiddleware(){return async(e,r)=>{let n=this.cookieJar;try{let s=await n.getCookieString(e.url);if(s){let c=e.headers.get("cookie"),u=c?`${c}; ${s}`:s;e.headers.set("cookie",u)}}catch(s){if(!this.cookieIgnoreInvalid)throw s}let i=await r(e),o=i.headers.get("set-cookie");if(o){let s=this.splitSetCookieHeader(o);for(let c of s)try{await n.setCookie(c,e.url)}catch(u){if(!this.cookieIgnoreInvalid)throw u}}return i}}splitSetCookieHeader(e){return e.split(/,(?=\s*[a-zA-Z0-9_-]+=)/g).map(r=>r.trim())}async dispatch(e){let r=st(e),n=r?Date.now():0;r&&this.runtimeEventBus.emit("transport:start",{context:r,req:e});try{if(e.useCurl&&this.transportKind!=="curl"){this.curlTransport||(this.curlTransport=Rd());let o=await this.curlTransport.dispatch(e);return r&&this.runtimeEventBus.emit("transport:finish",{context:r,req:e,durationMs:Date.now()-n}),o}let i=await this.transport.dispatch(e);return r&&this.runtimeEventBus.emit("transport:finish",{context:r,req:e,durationMs:Date.now()-n}),i}catch(i){throw r&&this.runtimeEventBus.emit("transport:error",{context:r,req:e,error:i instanceof Error?i:new Error(String(i))}),i}}composeMiddlewares(){var i,o;let e=[...this.middlewares],r=this,n=async s=>{let c=await r.dispatch(s);if(s.throwHttpErrors!==!1&&!c.ok&&c.status!==304)throw new We(c,s);return c};return((i=this.hooks.beforeRequest)!=null&&i.length||(o=this.hooks.afterResponse)!=null&&o.length)&&e.unshift(this.hooksMiddleware),e.length===0?n:e.reduceRight((s,c)=>u=>c(u,s),n)}composeFastHandler(){let e=this;return async r=>{let n=await e.dispatch(r);if(r.throwHttpErrors!==!1&&!n.ok&&n.status!==304)throw new We(n,r);return n}}hooksMiddleware=async(e,r)=>{let n=e;if(this.hooks.beforeRequest&&this.hooks.beforeRequest.length>0)for(let i of this.hooks.beforeRequest){let o=await i(n);o&&(n=o)}try{let i=await r(n);if(this.hooks.afterResponse&&this.hooks.afterResponse.length>0)for(let o of this.hooks.afterResponse){let s=await o(n,i);s&&(i=s)}return i}catch(i){if(this.hooks.onError&&this.hooks.onError.length>0)for(let o of this.hooks.onError){let s=await o(i,n);if(s)return s}throw i}};use(e){return this.middlewares.push(e),this.handler=this.composeMiddlewares(),this.canFastPath=!1,this}beforeRequest(e){return this.hooks.beforeRequest||(this.hooks.beforeRequest=[]),this.hooks.beforeRequest.push(e),this.handler=this.composeMiddlewares(),this.canFastPath=!1,this}afterResponse(e){return this.hooks.afterResponse||(this.hooks.afterResponse=[]),this.hooks.afterResponse.push(e),this.handler=this.composeMiddlewares(),this.canFastPath=!1,this}onError(e){return this.hooks.onError||(this.hooks.onError=[]),this.hooks.onError.push(e),this.handler=this.composeMiddlewares(),this.canFastPath=!1,this}onRuntimeEvent(e,r){this.shouldEmitRuntimeEvents=!0,this.runtimeEventListenerCount+=1;let n=this.runtimeEventBus.on(e,r);return()=>{n(),this.runtimeEventListenerCount>0&&(this.runtimeEventListenerCount-=1),!this.runtimeEventBusProviderAttached&&this.runtimeEventListenerCount===0&&(this.shouldEmitRuntimeEvents=!1)}}buildUrl(e,r){let n=r&&Object.keys(r).length>0,i=Object.keys(this.defaultParams).length>0;if(!n&&!i){if(e.startsWith("http://")||e.startsWith("https://"))return e;if(this.baseUrl){let d=this.baseUrl.endsWith("/")?this.baseUrl.slice(0,-1):this.baseUrl,p=e.startsWith("/")?e:"/"+e;return d+p}return e}let o=e,s={...this.defaultParams,...r},c=new Set;o.includes(":")&&(o=o.replace(/:([a-zA-Z0-9_]+)/g,(d,p)=>{if(s&&p in s)return c.add(p),encodeURIComponent(String(s[p]));throw new Cr(`Missing required path parameter: ${p}`,{field:p,value:void 0})}));let u;if(o.startsWith("http://")||o.startsWith("https://"))u=o;else if(this.baseUrl){let d=this.baseUrl.endsWith("/")?this.baseUrl.slice(0,-1):this.baseUrl,p=o.startsWith("/")?o:"/"+o;u=d+p}else throw new Le("Relative path provided without a baseUrl or explicit transport.",{configKey:"baseUrl"});let l=Object.keys(s).filter(d=>!c.has(d));if(l.length>0){let d=l.map(m=>`${encodeURIComponent(m)}=${encodeURIComponent(String(s[m]))}`),p=u.includes("?")?"&":"?";return u+p+d.join("&")}return u}request(e,r={}){var b,x;let n=this.buildUrl(e,r.params),i=(((b=this.hooks.beforeRequest)==null?void 0:b.length)??0)>0||this.middlewares.length>0,o=this.shouldEmitRuntimeEvents||!!r.correlationId||!!r.tenant||!!r.traceId||!!r.policySource||(((x=r.policyTags)==null?void 0:x.length)??0)>0,s=()=>ic({correlationId:r.correlationId,tenant:r.tenant,policyTags:r.policyTags,policySource:r.policySource,traceId:r.traceId});if(this.canFastPath&&!r.headers&&!r.timeout&&!r.signal&&r.maxResponseSize===void 0){let k=new ht(n,{method:r.method||"GET",body:r.body,headers:this.defaultHeadersObj,throwHttpErrors:r.throwHttpErrors});o&&(k=Zt(k,s()));let v=st(k),w=Date.now();v&&this.runtimeEventBus.emit("request:start",{context:v,req:k});let S=this.fastHandler(k);return v&&(S=S.then(A=>(this.runtimeEventBus.emit("request:success",{context:v,req:k,res:A,durationMs:Date.now()-w}),A),A=>{let P=A instanceof Error?A:new Error(String(A));throw this.runtimeEventBus.emit("request:failed",{context:v,req:k,error:P,durationMs:Date.now()-w}),A})),new Jt(S)}let u;r.headers?(u=new Headers(this.defaultHeadersObj),(r.headers instanceof Headers?r.headers:new Headers(r.headers)).forEach((v,w)=>u.set(w,v))):i?u=new Headers(this.defaultHeadersObj):u=this.defaultHeadersObj;let l=r.timeout||r.signal||this.defaultTimeout,d,p=r.signal,m,f;if(l){if(d=new AbortController,p=d.signal,r.signal){let v=r.signal,w=()=>d.abort(v.reason);v.aborted?w():(v.addEventListener("abort",w,{once:!0}),f=()=>v.removeEventListener("abort",w))}let k=r.timeout??this.defaultTimeout;if(k){let v=typeof k=="number"?k:k.request;v&&(m=setTimeout(()=>d.abort(new V(h,{phase:"request",timeout:v})),v))}}let h=new ht(n,{...r,headers:u,signal:p,maxResponseSize:r.maxResponseSize??this.maxResponseSize});o&&(h=Zt(h,s()));let g=st(h),y=Date.now();g&&this.runtimeEventBus.emit("request:start",{context:g,req:h});let C=this.handler(h);return g&&(C=C.then(k=>(this.runtimeEventBus.emit("request:success",{context:g,req:h,res:k,durationMs:Date.now()-y}),k),k=>{let v=k instanceof Error?k:new Error(String(k));throw this.runtimeEventBus.emit("request:failed",{context:g,req:h,error:v,durationMs:Date.now()-y}),k})),(m||f)&&C.finally(()=>{m&&clearTimeout(m),f==null||f()}).catch(()=>{}),new Jt(C,d)}get(e,r={}){return this.request(e,{...r,method:"GET"})}async warmup(){this.transport&&"warmup"in this.transport&&typeof this.transport.warmup=="function"&&await this.transport.warmup()}async batch(e,r={}){let n=r.mapResponse??(c=>c),i=r.concurrency??this.concurrencyConfig.runner.concurrency;return await new Xn({concurrency:i,retries:this.concurrencyConfig.runner.retries,retryDelay:this.concurrencyConfig.runner.retryDelay}).run(e,async c=>{let u=await this.request(c.path,c.options);return n(u)},{signal:r.signal,deadlineMs:r.deadlineMs})}multi(e,r={}){return this.batch(e,r)}requestWithBody(e,r,n,i){let o=n,s=i;if((s===void 0||typeof s=="object"&&s!==null&&Object.keys(s).length===0)&&Rr(n)){let k=n;(k.json!==void 0||k.form!==void 0||k.xml!==void 0||k.yaml!==void 0||k.csv!==void 0||k.body!==void 0||k.headers!==void 0||k.timeout!==void 0||k.retry!==void 0||k.hooks!==void 0||k.searchParams!==void 0||k.params!==void 0)&&(s=n,o=void 0)}s=s||{};let{json:u,form:l,xml:d,yaml:p,csv:m,...f}=s,h=o,g;l!==void 0?(h=Pr(l),g=void 0):u!==void 0?(h=JSON.stringify(u),g="application/json"):d!==void 0?(h=`<?xml version="1.0" encoding="UTF-8"?>
|
|
66
|
-
`+rr(d),g="application/xml"):p!==void 0?(h=Xs(p),g="application/yaml"):m!==void 0?(h=Js(m),g="text/csv"):f.body!==void 0&&(h=f.body);let{body:y,contentType:C}=Ao(h),b=new Headers(f.headers),
|
|
65
|
+
`)}),u.on("data",d=>{c+=d.toString("utf-8")}),u.on("end",()=>{clearTimeout(l),o(c)}),u.on("error",d=>{clearTimeout(l);let p=(d==null?void 0:d.message)||(d==null?void 0:d.code)||"Connection failed",m=new $(`WHOIS query failed: ${p}`,void 0,void 0,["Verify the WHOIS server is reachable and correct.","Check network/firewall settings blocking WHOIS port 43.","Retry the query; transient network issues can occur."]);m.code=d==null?void 0:d.code,s(m)}),u.on("close",d=>{if(clearTimeout(l),d&&!c){let p=new $("WHOIS connection closed unexpectedly",void 0,void 0,["The WHOIS server may be rate limiting requests.","Try again in a few seconds.","Some TLDs have unreliable WHOIS servers."]);p.code="ECONNRESET",s(p)}})})}async function ia(t,e={}){let{server:r,port:n=43,timeout:i=1e4,follow:o=!0}=e,s=t.trim().toLowerCase(),c=Ky(s,r),u=await Gc(c,s,n,i);if(o&&!r){let d=Jy(u);d&&d!==c&&(c=d,u=await Gc(c,s,n,i))}let l=Xy(u);return{raw:u,query:s,server:c,data:l}}async function Kc(t,e){try{let n=(await ia(t,e)).raw.toLowerCase();return["no match","not found","no entries found","no data found","status: available","status: free"].some(o=>n.includes(o))}catch{return!1}}var Qy=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Yy=/^[\u0020-\u003A\u003D-\u007E]*$/,Hr=class{cookies=new Map;getCookieString(e){let r=new URL(e),n=r.hostname,i=r.pathname||"/",o=r.protocol==="https:",s=Date.now(),c=[];for(let[u,l]of this.cookies.entries())if(this.domainMatches(n,u)){for(let[d,p]of l.entries())if(this.pathMatches(i,d))for(let m of p.values()){if(this.isExpired(m,s)){p.delete(m.name);continue}m.secure&&!o||c.push(m)}}return c.sort((u,l)=>{let d=l.path.length-u.path.length;return d!==0?d:u.createdAt-l.createdAt}),c.map(u=>`${u.name}=${u.value}`).join("; ")}setCookie(e,r){let n=new URL(r),i=n.hostname,o=n.pathname||"/",s=this.parseCookie(e,i,o);if(!s||!this.domainMatches(i,s.domain))return;this.cookies.has(s.domain)||this.cookies.set(s.domain,new Map);let c=this.cookies.get(s.domain);c.has(s.path)||c.set(s.path,new Map),c.get(s.path).set(s.name,s)}clear(){this.cookies.clear()}clearDomain(e){this.cookies.delete(e)}getAllCookies(){let e=[];for(let r of this.cookies.values())for(let n of r.values())for(let i of n.values())e.push(i);return e}parseCookie(e,r,n){let i=e.split(";").map(m=>m.trim());if(i.length===0||!i[0])return null;let[o,...s]=i,c=o.indexOf("=");if(c===-1)return null;let u=o.substring(0,c).trim(),l=o.substring(c+1).trim();if(!u)return null;let d=this.decode(l),p={name:u,value:d,domain:r,path:this.defaultPath(n),secure:!1,httpOnly:!1,createdAt:Date.now()};for(let m of s){let f=m.toLowerCase();if(f==="secure")p.secure=!0;else if(f==="httponly")p.httpOnly=!0;else if(f==="partitioned")p.partitioned=!0;else if(f.startsWith("domain=")){let h=m.substring(7).trim();h.startsWith(".")&&(h=h.substring(1)),Qy.test(h)&&(p.domain=h.toLowerCase())}else if(f.startsWith("path=")){let h=m.substring(5).trim();(!h||Yy.test(h))&&(p.path=h||"/")}else if(f.startsWith("expires=")){let h=m.substring(8).trim(),g=new Date(h);Number.isFinite(g.valueOf())&&(p.expires=g)}else if(f.startsWith("max-age=")){let h=m.substring(8).trim();/^-?\d+$/.test(h)&&(p.maxAge=parseInt(h,10))}else if(f.startsWith("samesite=")){let h=m.substring(9).trim().toLowerCase();h==="strict"?p.sameSite="Strict":h==="lax"?p.sameSite="Lax":h==="none"&&(p.sameSite="None")}else if(f.startsWith("priority=")){let h=m.substring(9).trim().toLowerCase();h==="low"?p.priority="Low":h==="medium"?p.priority="Medium":h==="high"&&(p.priority="High")}}return p}decode(e){if(e.indexOf("%")===-1)return e;try{return decodeURIComponent(e)}catch{return e}}domainMatches(e,r){let n=e.toLowerCase(),i=r.toLowerCase();return!!(n===i||n.endsWith("."+i))}pathMatches(e,r){return!!(e===r||e.startsWith(r)&&(r.endsWith("/")||e[r.length]==="/"))}defaultPath(e){if(!e||!e.startsWith("/"))return"/";let r=e.lastIndexOf("/");return r===0?"/":e.substring(0,r)}isExpired(e,r){if(e.maxAge!==void 0){if(e.maxAge<=0)return!0;let n=e.createdAt+e.maxAge*1e3;return r>=n}return e.expires?r>=e.expires.getTime():!1}};var Ja=null;async function L2(){return Ja||(Ja=(await Promise.resolve().then(()=>(Bl(),Fl))).ScrapeDocument),Ja}function Ul(t){let e=Promise.resolve(t),r=async i=>{let o=await L2(),s=await e,c=await s.text();return o.create(c,{baseUrl:(i==null?void 0:i.baseUrl)||s.url,...i})},n=e;return n.scrape=async i=>r(i),n.links=async i=>(await r()).links(i),n.images=async i=>(await r()).images(i),n.meta=async()=>(await r()).meta(),n.openGraph=async()=>(await r()).openGraph(),n.twitterCard=async()=>(await r()).twitterCard(),n.jsonLd=async()=>(await r()).jsonLd(),n.forms=async i=>(await r()).forms(i),n.tables=async i=>(await r()).tables(i),n.scripts=async()=>(await r()).scripts(),n.styles=async()=>(await r()).styles(),n.extract=async i=>(await r()).extract(i),n}function an(){var t,e;return typeof globalThis<"u"&&!!((e=(t=globalThis.process)==null?void 0:t.versions)!=null&&e.node)}var $i=class{factory;transport;resolving;dispatchFn;constructor(e){this.factory=e,this.dispatchFn=this.initialDispatch.bind(this)}async initialDispatch(e){return this.transport||(this.resolving||(this.resolving=this.factory().then(r=>(this.transport=r,this.dispatchFn=n=>this.transport.dispatch(n),r))),this.transport=await this.resolving),this.transport.dispatch(e)}dispatch(e){return this.dispatchFn(e)}async warmup(){!this.transport&&!this.resolving&&(this.resolving=this.factory().then(e=>(this.transport=e,this.dispatchFn=r=>this.transport.dispatch(r),e))),await this.resolving}};function Rd(){return an()?new $i(async()=>{let{CurlTransport:t}=await Promise.resolve().then(()=>(Ol(),$l));return new t}):{async dispatch(t){throw new Le("Curl transport is only available in Node.js environments.",{configKey:"useCurl",request:t})}}}var Oi=class{factory;storage;resolving;constructor(e){this.factory=e}async getStorage(){return this.storage||(this.resolving||(this.resolving=this.factory().then(e=>(this.storage=e,e))),this.storage=await this.resolving),this.storage}async get(e){return(await this.getStorage()).get(e)}async set(e,r,n){return(await this.getStorage()).set(e,r,n)}async delete(e){return(await this.getStorage()).delete(e)}};function Zx(t){if(!an())throw new Le("File cache storage is only available in Node.js environments.",{configKey:"cache.driver"});return new Oi(async()=>{let{FileStorage:e}=await Promise.resolve().then(()=>(Vl(),Wl));return new e(t)})}function e1(){return an()?new Oi(async()=>{let{MemoryStorage:t}=await Promise.resolve().then(()=>(_o(),jo));return new t}):new er}var ks=class{instancePromise;constructor(e){this.instancePromise=e()}get[Symbol.toStringTag](){return"HlsPromise"}then(e,r){return this.instancePromise.then(({instance:n})=>n.then(e,r))}catch(e){return this.then(null,e)}finally(e){return this.instancePromise.then(({instance:r})=>r.finally(e))}cancel(){this.instancePromise.then(({instance:e})=>e.cancel()).catch(()=>{})}async download(e){let{instance:r}=await this.instancePromise;return r.download(e)}async*stream(){let{instance:e}=await this.instancePromise;yield*e.stream()}async pipe(e){let{instance:r}=await this.instancePromise;return r.pipe(e)}async info(){let{instance:e}=await this.instancePromise;return e.info()}},sn=class{static get version(){return yc()}static getVersion(){return Lo()}static getVersionInfo(){return bc()}baseUrl;middlewares;hooks;transport;curlTransport;defaultHeaders;defaultHeadersObj;defaultParams;paginationConfig;handler;fastHandler;logger;debugEnabled;agentManager;concurrencyConfig;requestPool;maxResponseSize;runtimeEventBus;shouldEmitRuntimeEvents;runtimeEventBusProviderAttached=!1;runtimeEventListenerCount=0;cookieJar;cookieIgnoreInvalid=!1;defaultTimeout;http2Enabled=!1;transportKind="custom";canFastPath=!1;_aiConfig;_ai;constructor(e={}){var p,m,f,h,g,y,C,b,w,x;this.baseUrl=e.baseUrl||"",this.middlewares=e.middlewares||[],this.defaultTimeout=e.timeout,this.hooks={beforeRequest:((p=e.hooks)==null?void 0:p.beforeRequest)||[],afterResponse:((m=e.hooks)==null?void 0:m.afterResponse)||[],onError:((f=e.hooks)==null?void 0:f.onError)||[],onRetry:((h=e.hooks)==null?void 0:h.onRetry)||[],onUrlResolved:((g=e.hooks)==null?void 0:g.onUrlResolved)||[]},this.defaultHeaders={"User-Agent":Mr(),...e.headers||{}},this.defaultHeadersObj=new Headers(this.defaultHeaders),this.defaultParams=((y=e.defaults)==null?void 0:y.params)||{},this.paginationConfig=e.pagination,this.maxResponseSize=e.maxResponseSize;let r=e.runtimeEventBus;r?this.runtimeEventBus={on:(v,T)=>r.on(v,T),emit:(v,T)=>r.emit(v,T)}:this.runtimeEventBus=ac(),this.shouldEmitRuntimeEvents=r!==void 0,this.runtimeEventBusProviderAttached=r!==void 0,this.debugEnabled=e.debug===!0,this.debugEnabled?this.logger=e.logger??Rt:e.logger&&(this.logger=e.logger),this.concurrencyConfig=dc({concurrency:e.concurrency,http2:e.http2});let n=mc(e.http2);if(this.http2Enabled=n.enabled??!1,e.transport)this.transport=e.transport,this.transportKind="custom";else if(e.useCurl)this.debugEnabled&&console.log("[DEBUG] Using Curl Transport"),this.transport=Rd(),this.transportKind="curl";else if(an()){this.debugEnabled&&console.log("[DEBUG] Using Undici Transport");let v={...this.concurrencyConfig.agent,allowH2:n.enabled,maxConcurrentStreams:(C=n.resolvedSettings)==null?void 0:C.maxConcurrentStreams},T={proxy:e.proxy,http2:n.enabled?n:void 0,dns:e.dns,socketPath:e.socketPath,tls:e.tls,observability:e.observability,expectContinue:e.expectContinue,protocolCache:!0};this.transport=new $i(async()=>{if(!this.agentManager){let S=Un(),{AgentManager:P}=await Promise.resolve().then(()=>(gs(),id));this.agentManager=new P(v,S)}let{UndiciTransport:k}=await Promise.resolve().then(()=>(xd(),wd));return new k(this.baseUrl||void 0,{...T,agent:this.agentManager})}),this.transportKind="undici"}else this.debugEnabled&&console.log("[DEBUG] Using Fetch Transport"),this.transport=new yt,this.transportKind="fetch";let i=(v,T={})=>{let k=Bn(v);o.push(sc(v,{...k,...T}))},o=[];if(e.retry&&i(Bo(e.retry),{name:"recker:retry",priority:120,scope:"request"}),this.concurrencyConfig.max<1/0||this.concurrencyConfig.requestsPerInterval<1/0?(this.requestPool=new Fn({concurrency:this.concurrencyConfig.max,requestsPerInterval:this.concurrencyConfig.requestsPerInterval,interval:this.concurrencyConfig.interval}),i(v=>{v.middlewares.unshift(this.requestPool.asMiddleware())},{name:"recker:request-pool",priority:130,scope:"runtime"}),this.debugEnabled&&this.logger&&this.logger.debug(`Global concurrency limit: ${this.concurrencyConfig.max} concurrent requests`)):this.debugEnabled&&this.logger&&this.logger.debug("No global concurrency limit (allows unlimited parallel batches)"),e.dedup&&i(Ko(e.dedup),{name:"recker:dedup",priority:110,scope:"request"}),e.cache){let v;e.cache.storage?v=e.cache.storage:e.cache.driver==="file"?v=Zx(e.cache.fileStoragePath):v=e1(),i($c({...e.cache,storage:v}),{name:"recker:cache",priority:100,scope:"request"})}e.plugins&&e.plugins.forEach((v,T)=>{let k=Bn(v);i(v,{name:(k==null?void 0:k.name)||`user-plugin:${T}`,priority:(k==null?void 0:k.priority)??90-T,scope:(k==null?void 0:k.scope)||"request"})});let{ordered:s,debugOrder:c}=lc(uc(o));if(s.forEach(({plugin:v})=>{v(this)}),this.debugEnabled&&this.logger&&this.logger.debug(`Applied plugins in order: ${c.join(" | ")}`),e.compression){let v=jc(e.compression);v&&this.middlewares.push(v)}if(e.xsrf){let v=Jo(e.xsrf);v&&this.middlewares.push(v)}e.cookies&&this.setupCookieJar(e.cookies),e._aiConfig&&(this._aiConfig=e._aiConfig),this.maxResponseSize!==void 0&&this.middlewares.push(this.createMaxSizeMiddleware(this.maxResponseSize)),this.debugEnabled&&this.logger&&this.middlewares.unshift(this.createLoggingMiddleware(this.logger)),this.handler=this.composeMiddlewares(),this.fastHandler=this.composeFastHandler();let u=(((b=this.hooks.beforeRequest)==null?void 0:b.length)??0)>0||(((w=this.hooks.afterResponse)==null?void 0:w.length)??0)>0||(((x=this.hooks.onError)==null?void 0:x.length)??0)>0,l=!!this.cookieJar||!!this.defaultTimeout||this.maxResponseSize!==void 0||this.debugEnabled,d=this.middlewares.length>0;this.canFastPath=!u&&!l&&!d}createLoggingMiddleware(e){return async(r,n)=>{let i=Date.now();e.debug({type:"request",method:r.method,url:r.url},`\u2192 ${r.method} ${r.url}`);try{let o=await n(r),s=Date.now()-i;return e.debug({type:"response",method:r.method,url:r.url,status:o.status,duration:s,timings:o.timings},`\u2190 ${o.status} ${r.method} ${r.url} (${s}ms)`),o}catch(o){let s=Date.now()-i,c=o;throw e.error({type:"error",method:r.method,url:r.url,error:c.message,errorName:c.name,duration:s},`\u2716 ${r.method} ${r.url} - ${c.message}`),o}}}createMaxSizeMiddleware(e){return async(r,n)=>{let i=await n(r),o=r.maxResponseSize??e;if(o===void 0)return i;let s=i.headers.get("Content-Length");if(s){let c=parseInt(s,10);if(!isNaN(c)&&c>o)throw new ft(o,c,r)}return i}}setupCookieJar(e){e===!0?this.cookieJar=new Hr:typeof e=="object"&&(e.jar===!0?this.cookieJar=new Hr:e.jar&&typeof e.jar=="object"&&(this.cookieJar=e.jar),this.cookieIgnoreInvalid=e.ignoreInvalid??!1),this.cookieJar&&this.middlewares.push(this.createCookieMiddleware())}createCookieMiddleware(){return async(e,r)=>{let n=this.cookieJar;try{let s=await n.getCookieString(e.url);if(s){let c=e.headers.get("cookie"),u=c?`${c}; ${s}`:s;e.headers.set("cookie",u)}}catch(s){if(!this.cookieIgnoreInvalid)throw s}let i=await r(e),o=i.headers.get("set-cookie");if(o){let s=this.splitSetCookieHeader(o);for(let c of s)try{await n.setCookie(c,e.url)}catch(u){if(!this.cookieIgnoreInvalid)throw u}}return i}}splitSetCookieHeader(e){return e.split(/,(?=\s*[a-zA-Z0-9_-]+=)/g).map(r=>r.trim())}async dispatch(e){let r=st(e),n=r?Date.now():0;r&&this.runtimeEventBus.emit("transport:start",{context:r,req:e});try{if(e.useCurl&&this.transportKind!=="curl"){this.curlTransport||(this.curlTransport=Rd());let o=await this.curlTransport.dispatch(e);return r&&this.runtimeEventBus.emit("transport:finish",{context:r,req:e,durationMs:Date.now()-n}),o}let i=await this.transport.dispatch(e);return r&&this.runtimeEventBus.emit("transport:finish",{context:r,req:e,durationMs:Date.now()-n}),i}catch(i){throw r&&this.runtimeEventBus.emit("transport:error",{context:r,req:e,error:i instanceof Error?i:new Error(String(i))}),i}}composeMiddlewares(){var i,o;let e=[...this.middlewares],r=this,n=async s=>{let c=await r.dispatch(s);if(s.throwHttpErrors!==!1&&!c.ok&&c.status!==304)throw new We(c,s);return c};return((i=this.hooks.beforeRequest)!=null&&i.length||(o=this.hooks.afterResponse)!=null&&o.length)&&e.unshift(this.hooksMiddleware),e.length===0?n:e.reduceRight((s,c)=>u=>c(u,s),n)}composeFastHandler(){let e=this;return async r=>{let n=await e.dispatch(r);if(r.throwHttpErrors!==!1&&!n.ok&&n.status!==304)throw new We(n,r);return n}}hooksMiddleware=async(e,r)=>{let n=e;if(this.hooks.beforeRequest&&this.hooks.beforeRequest.length>0)for(let i of this.hooks.beforeRequest){let o=await i(n);o&&(n=o)}try{let i=await r(n);if(this.hooks.afterResponse&&this.hooks.afterResponse.length>0)for(let o of this.hooks.afterResponse){let s=await o(n,i);s&&(i=s)}return i}catch(i){if(this.hooks.onError&&this.hooks.onError.length>0)for(let o of this.hooks.onError){let s=await o(i,n);if(s)return s}throw i}};use(e){return this.middlewares.push(e),this.handler=this.composeMiddlewares(),this.canFastPath=!1,this}beforeRequest(e){return this.hooks.beforeRequest||(this.hooks.beforeRequest=[]),this.hooks.beforeRequest.push(e),this.handler=this.composeMiddlewares(),this.canFastPath=!1,this}afterResponse(e){return this.hooks.afterResponse||(this.hooks.afterResponse=[]),this.hooks.afterResponse.push(e),this.handler=this.composeMiddlewares(),this.canFastPath=!1,this}onError(e){return this.hooks.onError||(this.hooks.onError=[]),this.hooks.onError.push(e),this.handler=this.composeMiddlewares(),this.canFastPath=!1,this}onRuntimeEvent(e,r){this.shouldEmitRuntimeEvents=!0,this.runtimeEventListenerCount+=1;let n=this.runtimeEventBus.on(e,r);return()=>{n(),this.runtimeEventListenerCount>0&&(this.runtimeEventListenerCount-=1),!this.runtimeEventBusProviderAttached&&this.runtimeEventListenerCount===0&&(this.shouldEmitRuntimeEvents=!1)}}buildUrl(e,r){let n=r&&Object.keys(r).length>0,i=Object.keys(this.defaultParams).length>0;if(!n&&!i){if(e.startsWith("http://")||e.startsWith("https://"))return e;if(this.baseUrl){let d=this.baseUrl.endsWith("/")?this.baseUrl.slice(0,-1):this.baseUrl,p=e.startsWith("/")?e:"/"+e;return d+p}return e}let o=e,s={...this.defaultParams,...r},c=new Set;o.includes(":")&&(o=o.replace(/:([a-zA-Z0-9_]+)/g,(d,p)=>{if(s&&p in s)return c.add(p),encodeURIComponent(String(s[p]));throw new Cr(`Missing required path parameter: ${p}`,{field:p,value:void 0})}));let u;if(o.startsWith("http://")||o.startsWith("https://"))u=o;else if(this.baseUrl){let d=this.baseUrl.endsWith("/")?this.baseUrl.slice(0,-1):this.baseUrl,p=o.startsWith("/")?o:"/"+o;u=d+p}else throw new Le("Relative path provided without a baseUrl or explicit transport.",{configKey:"baseUrl"});let l=Object.keys(s).filter(d=>!c.has(d));if(l.length>0){let d=l.map(m=>`${encodeURIComponent(m)}=${encodeURIComponent(String(s[m]))}`),p=u.includes("?")?"&":"?";return u+p+d.join("&")}return u}request(e,r={}){var b,w;let n=this.buildUrl(e,r.params),i=(((b=this.hooks.beforeRequest)==null?void 0:b.length)??0)>0||this.middlewares.length>0,o=this.shouldEmitRuntimeEvents||!!r.correlationId||!!r.tenant||!!r.traceId||!!r.policySource||(((w=r.policyTags)==null?void 0:w.length)??0)>0,s=()=>ic({correlationId:r.correlationId,tenant:r.tenant,policyTags:r.policyTags,policySource:r.policySource,traceId:r.traceId});if(this.canFastPath&&!r.headers&&!r.timeout&&!r.signal&&r.maxResponseSize===void 0){let x=new ht(n,{method:r.method||"GET",body:r.body,headers:this.defaultHeadersObj,throwHttpErrors:r.throwHttpErrors});o&&(x=Zt(x,s()));let v=st(x),T=Date.now();v&&this.runtimeEventBus.emit("request:start",{context:v,req:x});let k=this.fastHandler(x);return v&&(k=k.then(S=>(this.runtimeEventBus.emit("request:success",{context:v,req:x,res:S,durationMs:Date.now()-T}),S),S=>{let P=S instanceof Error?S:new Error(String(S));throw this.runtimeEventBus.emit("request:failed",{context:v,req:x,error:P,durationMs:Date.now()-T}),S})),new Jt(k)}let u;r.headers?(u=new Headers(this.defaultHeadersObj),(r.headers instanceof Headers?r.headers:new Headers(r.headers)).forEach((v,T)=>u.set(T,v))):i?u=new Headers(this.defaultHeadersObj):u=this.defaultHeadersObj;let l=r.timeout||r.signal||this.defaultTimeout,d,p=r.signal,m,f;if(l){if(d=new AbortController,p=d.signal,r.signal){let v=r.signal,T=()=>d.abort(v.reason);v.aborted?T():(v.addEventListener("abort",T,{once:!0}),f=()=>v.removeEventListener("abort",T))}let x=r.timeout??this.defaultTimeout;if(x){let v=typeof x=="number"?x:x.request;v&&(m=setTimeout(()=>d.abort(new V(h,{phase:"request",timeout:v})),v))}}let h=new ht(n,{...r,headers:u,signal:p,maxResponseSize:r.maxResponseSize??this.maxResponseSize});o&&(h=Zt(h,s()));let g=st(h),y=Date.now();g&&this.runtimeEventBus.emit("request:start",{context:g,req:h});let C=this.handler(h);return g&&(C=C.then(x=>(this.runtimeEventBus.emit("request:success",{context:g,req:h,res:x,durationMs:Date.now()-y}),x),x=>{let v=x instanceof Error?x:new Error(String(x));throw this.runtimeEventBus.emit("request:failed",{context:g,req:h,error:v,durationMs:Date.now()-y}),x})),(m||f)&&C.finally(()=>{m&&clearTimeout(m),f==null||f()}).catch(()=>{}),new Jt(C,d)}get(e,r={}){return this.request(e,{...r,method:"GET"})}async warmup(){this.transport&&"warmup"in this.transport&&typeof this.transport.warmup=="function"&&await this.transport.warmup()}async batch(e,r={}){let n=r.mapResponse??(c=>c),i=r.concurrency??this.concurrencyConfig.runner.concurrency;return await new Xn({concurrency:i,retries:this.concurrencyConfig.runner.retries,retryDelay:this.concurrencyConfig.runner.retryDelay}).run(e,async c=>{let u=await this.request(c.path,c.options);return n(u)},{signal:r.signal,deadlineMs:r.deadlineMs})}multi(e,r={}){return this.batch(e,r)}requestWithBody(e,r,n,i){let o=n,s=i;if((s===void 0||typeof s=="object"&&s!==null&&Object.keys(s).length===0)&&Rr(n)){let x=n;(x.json!==void 0||x.form!==void 0||x.xml!==void 0||x.yaml!==void 0||x.csv!==void 0||x.body!==void 0||x.headers!==void 0||x.timeout!==void 0||x.retry!==void 0||x.hooks!==void 0||x.searchParams!==void 0||x.params!==void 0)&&(s=n,o=void 0)}s=s||{};let{json:u,form:l,xml:d,yaml:p,csv:m,...f}=s,h=o,g;l!==void 0?(h=Pr(l),g=void 0):u!==void 0?(h=JSON.stringify(u),g="application/json"):d!==void 0?(h=`<?xml version="1.0" encoding="UTF-8"?>
|
|
66
|
+
`+rr(d),g="application/xml"):p!==void 0?(h=Xs(p),g="application/yaml"):m!==void 0?(h=Js(m),g="text/csv"):f.body!==void 0&&(h=f.body);let{body:y,contentType:C}=Ao(h),b=new Headers(f.headers),w=g??C;return w&&!b.has("Content-Type")&&b.set("Content-Type",w),this.request(r,{...f,method:e,body:y,headers:b})}post(e,r,n={}){return this.requestWithBody("POST",e,r,n)}put(e,r,n={}){return this.requestWithBody("PUT",e,r,n)}patch(e,r,n={}){return this.requestWithBody("PATCH",e,r,n)}delete(e,r={}){return this.request(e,{...r,method:"DELETE"})}head(e,r={}){return this.request(e,{...r,method:"HEAD"})}options(e,r={}){return this.request(e,{...r,method:"OPTIONS"})}trace(e,r={}){return this.request(e,{...r,method:"TRACE"})}connect(e,r={}){return this.request(e,{...r,method:"CONNECT"})}purge(e,r={}){return this.request(e,{...r,method:"PURGE"})}propfind(e,r,n={}){return this.requestWithBody("PROPFIND",e,r,n)}proppatch(e,r,n={}){return this.requestWithBody("PROPPATCH",e,r,n)}mkcol(e,r={}){return this.request(e,{...r,method:"MKCOL"})}copy(e,r={}){return this.request(e,{...r,method:"COPY"})}move(e,r={}){return this.request(e,{...r,method:"MOVE"})}lock(e,r,n={}){return this.requestWithBody("LOCK",e,r,n)}unlock(e,r={}){return this.request(e,{...r,method:"UNLOCK"})}link(e,r,n={}){return this.requestWithBody("LINK",e,r,n)}unlink(e,r,n={}){return this.requestWithBody("UNLINK",e,r,n)}scrape(e,r={}){let n=r.method||"GET",i=this.request(e,{...r,method:n});return Ul(i)}paginate(e,r={}){var m,f,h,g;let{getItems:n,getNextUrl:i,maxPages:o,pageParam:s,limitParam:c,resultsPath:u,nextCursorPath:l,...d}=r,p={getItems:n,getNextUrl:i,maxPages:o,pageParam:s||((m=this.paginationConfig)==null?void 0:m.pageParam),limitParam:c||((f=this.paginationConfig)==null?void 0:f.limitParam),resultsPath:u||((h=this.paginationConfig)==null?void 0:h.resultsPath),nextCursorPath:l||((g=this.paginationConfig)==null?void 0:g.nextCursorPath)};return kc(this,e,d,p)}pages(e,r={}){var p,m,f;let{getNextUrl:n,maxPages:i,pageParam:o,limitParam:s,resultsPath:c,nextCursorPath:u,...l}=r,d={getNextUrl:n,maxPages:i,pageParam:o||((p=this.paginationConfig)==null?void 0:p.pageParam),limitParam:s||((m=this.paginationConfig)==null?void 0:m.limitParam),nextCursorPath:u||((f=this.paginationConfig)==null?void 0:f.nextCursorPath)};return Mo(this,e,l,d)}page(e,r,n={}){var s;let i=n.pageParam||((s=this.paginationConfig)==null?void 0:s.pageParam)||"page",o={...n.params,[i]:r};return this.request(e,{...n,params:o})}async getAll(e,r={}){let n=[];for await(let i of this.paginate(e,r))n.push(i);return n}websocket(e,r={}){let n;if(e.startsWith("ws://")||e.startsWith("wss://"))n=e;else if(this.baseUrl){let s=this.baseUrl.replace(/^http/,"ws");n=new URL(e,s).toString()}else throw new Le("WebSocket requires either a full ws:// URL or a baseUrl",{configKey:"baseUrl"});let i={};this.defaultHeaders&&new Headers(this.defaultHeaders).forEach((c,u)=>{i[u]=c});let o={...i,...r.headers};return new Qn(n,{...r,headers:o})}ws(e,r={}){return this.websocket(e,r)}async whois(e,r){return ia(e,r)}async isDomainAvailable(e,r){return Kc(e,r)}hls(e,r={}){if(!an())throw new me("HLS is only available in Node.js environments.",{feature:"hls"});let n=async()=>{let{HlsPromise:i}=await Promise.resolve().then(()=>(Ed(),Cd));return{instance:new i(this,e,r)}};return new ks(n)}get metadata(){return{handlerProtocol:"http/1.1"}}async handle(e,r){let n=e.protocol||"https:",i=e.hostname,o=e.port,s=e.path||"/",c=`${n}//${i}`;if(o&&!(n==="https:"&&o===443||n==="http:"&&o===80)&&(c+=`:${o}`),c+=s,e.query){let m=new URLSearchParams;for(let[h,g]of Object.entries(e.query))if(g!=null)if(Array.isArray(g))for(let y of g)m.append(h,y);else m.set(h,g);let f=m.toString();f&&(c+=(c.includes("?")?"&":"?")+f)}let u={};if(e.headers)for(let[m,f]of Object.entries(e.headers))f!==void 0&&(m.startsWith(":")||(u[m]=Array.isArray(f)?f.join(", "):f));let l=await this.request(c,{method:e.method||"GET",headers:u,body:e.body,signal:r==null?void 0:r.abortSignal,timeout:r==null?void 0:r.requestTimeout,throwHttpErrors:!1}),d={};l.headers.forEach((m,f)=>{d[f]=m});let p;if(l.raw.body){let{Readable:m}=await Promise.resolve().then(()=>(Ld(),Dd));p=m.fromWeb(l.raw.body)}return{response:{statusCode:l.status,reason:l.statusText,headers:d,body:p}}}updateHttpClientConfig(e,r){}httpHandlerConfigs(){return{http2:this.http2Enabled,maxSockets:this.concurrencyConfig.agent.connections,keepAlive:!0}}async destroy(){this.agentManager&&await this.agentManager.destroy(),this.requestPool=void 0}get ai(){if(!this._ai){if(!this._aiConfig)throw new Le("AI features require an AI-enabled preset. Use createClient(openai({...})), createClient(anthropic({...})), etc.",{configKey:"_aiConfig"});this._ai=new Yt(this,this._aiConfig)}return this._ai}get hasAI(){return this._aiConfig!==void 0}};function zi(t={}){return new sn(t)}var t1=`
|
|
67
67
|
self.onmessage = async (event) => {
|
|
68
68
|
const { id, method, url, headers, body, timeout } = event.data;
|
|
69
69
|
|
|
@@ -121,9 +121,9 @@ self.onmessage = async (event) => {
|
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
123
|
};
|
|
124
|
-
`,
|
|
125
|
-
`)}var cn=class extends Error{service;constructor(e){super(`Circuit breaker is OPEN for ${e}`),this.service=e,this.name="CircuitBreakerError"}};function a1(t={}){let e=t.threshold||5,r=t.resetTimeout||30*1e3,n=new Map,i=s=>{try{return new URL(s.url).hostname}catch{return"unknown"}},o=t.shouldTrip||((s,c)=>c?c.status>=500:!0);return s=>{s.beforeRequest(l=>{let d=i(l),p=n.get(d);if(p||(p={failures:0,lastFailureTime:0,state:"CLOSED"},n.set(d,p)),p.state==="OPEN")if(Date.now()-p.lastFailureTime>r)p.state="HALF_OPEN",t.onStateChange&&t.onStateChange("HALF_OPEN",d);else throw new cn(d)}),s.afterResponse((l,d)=>{let p=i(l),m=n.get(p);if(!m)return;o(null,d)?u(m,p):c(m,p)}),s.onError((l,d)=>{if(l instanceof cn)throw l;let p=i(d),m=n.get(p);if(!m)return;o(l,void 0)&&u(m,p)});function c(l,d){l.state==="HALF_OPEN"?(l.state="CLOSED",l.failures=0,t.onStateChange&&t.onStateChange("CLOSED",d)):l.state==="CLOSED"&&(l.failures=0)}function u(l,d){l.failures++,l.lastFailureTime=Date.now(),(l.state==="HALF_OPEN"||l.state==="CLOSED"&&l.failures>=e)&&(l.state="OPEN",t.onStateChange&&t.onStateChange("OPEN",d))}}}function s1(t={}){let e=new Map;return t.store&&t.store instanceof Map&&e.set("*",t.store),r=>{r.beforeRequest(n=>{let o=new URL(n.url).hostname,s=[],c=u=>{u&&u.forEach((l,d)=>{s.push(`${d}=${l}`)})};c(e.get(o));for(let[u,l]of e.entries())u!=="*"&&u!==o&&o.endsWith(u)&&c(l),u==="*"&&c(l);if(s.length>0){let u=n.headers.get("cookie"),l=s.join("; ");n.headers.set("cookie",u?`${u}; ${l}`:l)}}),r.afterResponse((n,i)=>{let o=i.headers.get("set-cookie");if(!o)return;let c=new URL(n.url).hostname;c1(o).forEach(l=>{var b;let d=l.split(";"),[p]=d;if(!p)return;let[m,...f]=p.split("=");if(!m)return;let h=f.join("=").trim(),g=c,y=d.find(
|
|
126
|
-
`)){let o=i.indexOf(":");if(o>0){let s=i.slice(0,o).trim().toLowerCase(),c=i.slice(o+1).trim();n[s]=c}}return n}var Wi=class{client;options;constructor(e,r){this.client=e,this.options={baseUrl:r.baseUrl,metadata:r.metadata??{},timeout:r.timeout??3e4,textFormat:r.textFormat??!0}}async unary(e,r,n,i,o){let s=`${this.options.baseUrl}/${e}/${r}`,c=i.encode(n),u=Nd(c),l=this.options.textFormat?"application/grpc-web-text":"application/grpc-web+proto",d=this.options.textFormat?btoa(String.fromCharCode(...u)):u,m={headers:{"Content-Type":l,Accept:l,"X-Grpc-Web":"1",...this.options.metadata,...o==null?void 0:o.metadata},timeout:(o==null?void 0:o.timeout)??this.options.timeout,signal:o==null?void 0:o.signal},f=await this.client.post(s,d,m);return this.parseUnaryResponse(f,i)}async*serverStream(e,r,n,i,o){let s=`${this.options.baseUrl}/${e}/${r}`,c=i.encode(n),u=Nd(c),l=this.options.textFormat?"application/grpc-web-text":"application/grpc-web+proto",d=this.options.textFormat?btoa(String.fromCharCode(...u)):u,p={"Content-Type":l,Accept:l,"X-Grpc-Web":"1",...this.options.metadata,...o==null?void 0:o.metadata},f=(await this.client.post(s,d,{headers:p,timeout:(o==null?void 0:o.timeout)??this.options.timeout,signal:o==null?void 0:o.signal})).read();if(!f)throw new _t({code:gr.INTERNAL,message:"No response body"},{});let h=f.getReader(),g=new Uint8Array(0);try{for(;;){let{done:y,value:C}=await h.read();if(C){let b=C;if(this.options.textFormat){let
|
|
124
|
+
`,Ts=class t{workers=[];workerIndex=0;pendingRequests=new Map;workerUrl;constructor(e={}){let r=e.poolSize??(typeof navigator<"u"?navigator.hardwareConcurrency:4)??4,n=new Blob([t1],{type:"application/javascript"});this.workerUrl=URL.createObjectURL(n);for(let i=0;i<r;i++)this.createWorker()}static isSupported(){return typeof Worker<"u"}createWorker(){let e=new Worker(this.workerUrl);e.onmessage=r=>{let{id:n,success:i,error:o,...s}=r.data,c=this.pendingRequests.get(n);if(c)if(this.pendingRequests.delete(n),i)c.resolve(new Ss(s));else{let u=new Error((o==null?void 0:o.message)||"Worker request failed");u.name=(o==null?void 0:o.name)||"WorkerError",c.reject(u)}},e.onerror=r=>{console.error("[WorkerTransport] Worker error:",r.message)},this.workers.push(e)}getNextWorker(){let e=this.workers[this.workerIndex];return this.workerIndex=(this.workerIndex+1)%this.workers.length,e}async dispatch(e){var c;if(!t.isSupported())throw new Error("Web Workers are not supported in this environment");let r=crypto.randomUUID(),n=this.getNextWorker(),i=typeof e.timeout=="number"?e.timeout:(c=e.timeout)==null?void 0:c.request,o={};e.headers&&(e.headers instanceof Headers?e.headers.forEach((u,l)=>{o[l]=u}):typeof e.headers=="object"&&Object.assign(o,e.headers));let s;return e.body&&(typeof e.body=="string"||e.body instanceof ArrayBuffer?s=e.body:e.body instanceof Blob?s=await e.body.arrayBuffer():typeof e.body=="object"&&(s=JSON.stringify(e.body))),new Promise((u,l)=>{this.pendingRequests.set(r,{resolve:u,reject:l}),e.signal&&e.signal.addEventListener("abort",()=>{let d=this.pendingRequests.get(r);if(d){this.pendingRequests.delete(r);let p=new Error("Request aborted");p.name="AbortError",d.reject(p)}}),n.postMessage({id:r,method:e.method,url:e.url,headers:o,body:s,timeout:i})})}terminate(){for(let e of this.workers)e.terminate();this.workers=[],URL.revokeObjectURL(this.workerUrl);for(let e of this.pendingRequests.values())e.reject(new Error("Transport terminated"));this.pendingRequests.clear()}get pendingCount(){return this.pendingRequests.size}},Ss=class t{status;statusText;headers;ok;url;timings;connection={};raw;bodyBuffer;bodyUsed=!1;constructor(e){if(this.status=e.status??0,this.statusText=e.statusText??"",this.ok=e.ok??!1,this.url=e.url??"",this.timings=e.timings??{total:0},this.bodyBuffer=e.body??new ArrayBuffer(0),this.headers=new Headers,e.headers)for(let[r,n]of Object.entries(e.headers))this.headers.set(r,n);this.raw=new Response(this.bodyBuffer,{status:this.status,statusText:this.statusText,headers:this.headers})}checkBodyUsed(){if(this.bodyUsed)throw new Error("Body has already been consumed");this.bodyUsed=!0}async json(){this.checkBodyUsed();let e=new TextDecoder().decode(this.bodyBuffer);return JSON.parse(e)}async text(){return this.checkBodyUsed(),new TextDecoder().decode(this.bodyBuffer)}async blob(){return this.checkBodyUsed(),new Blob([this.bodyBuffer])}async cleanText(){return(await this.text()).replace(/<[^>]*>?/gm,"")}read(){if(this.bodyUsed)return null;this.bodyUsed=!0;let e=this.bodyBuffer;return new ReadableStream({start(r){r.enqueue(new Uint8Array(e)),r.close()}})}clone(){let e=this.bodyBuffer.slice(0),r={};return this.headers.forEach((n,i)=>{r[i]=n}),new t({status:this.status,statusText:this.statusText,ok:this.ok,url:this.url,timings:this.timings,body:e,headers:r})}async*sse(){throw new Error("SSE is not supported in WorkerTransport. Use FetchTransport for SSE.")}async*download(){let e=this.bodyBuffer.byteLength;yield{loaded:e,transferred:e,total:e,percent:100,direction:"download"}}async*[Symbol.asyncIterator](){this.bodyUsed||(this.bodyUsed=!0,yield new Uint8Array(this.bodyBuffer))}};var ji=class extends Error{limit;window;key;constructor(e,r,n){super(`Rate limit exceeded for ${n}: ${e} requests per ${r}ms`),this.limit=e,this.window=r,this.key=n,this.name="RateLimitExceededError"}};function r1(t){let e={},r=t.get("x-ratelimit-remaining")||t.get("ratelimit-remaining");r!==null&&(e.remaining=parseInt(r,10));let n=t.get("x-ratelimit-reset")||t.get("ratelimit-reset");if(n!==null){let o=parseFloat(n);o<1e9?e.reset=Date.now()+o*1e3:e.reset=o*1e3}let i=t.get("retry-after");if(i!==null)if(/^\d+$/.test(i))e.retryAfter=parseInt(i,10)*1e3;else{let o=Date.parse(i);isNaN(o)||(e.retryAfter=Math.max(0,o-Date.now()))}return e}function n1(t){let e=t.limit,r=t.window||1e3,n=t.strategy||"queue",i=t.adaptive||!1,o=new Map,s=t.keyGenerator||(l=>{try{return new URL(l.url).hostname}catch{return"global"}}),c=l=>{let d=Date.now();if(d<l.blockedUntil)return;d-l.lastRefill>r&&(l.tokens=e,l.lastRefill=d)},u=l=>{let d=Date.now();if(d<l.blockedUntil){let p=l.blockedUntil-d;setTimeout(()=>u(l),p);return}for(c(l);l.queue.length>0&&l.tokens>0;){l.tokens--;let p=l.queue.shift();p&&p.resolve()}if(l.queue.length>0){let p=r-(Date.now()-l.lastRefill);setTimeout(()=>u(l),Math.max(0,p))}};return l=>{let d=async(m,f)=>{let h=s(m),g=o.get(h);if(g||(g={tokens:e,lastRefill:Date.now(),queue:[],blockedUntil:0},o.set(h,g)),Date.now()<g.blockedUntil?g.tokens=0:c(g),g.tokens>0){g.tokens--;let C=await f(m);return i&&p(g,C),C}if(n==="throw")throw new ji(e,r,h);if(n==="drop")throw new Error(`Request dropped due to rate limit (${h})`);return new Promise((C,b)=>{if(g.queue.push({resolve:async()=>{try{let w=await f(m);i&&p(g,w),C(w)}catch(w){b(w)}},reject:b}),g.queue.length===1){let w=r-(Date.now()-g.lastRefill);setTimeout(()=>u(g),Math.max(0,w))}})};function p(m,f){let h=r1(f.headers),g=0;h.retryAfter?g=h.retryAfter:h.remaining!==void 0&&h.remaining<=0&&h.reset&&(g=Math.max(0,h.reset-Date.now())),g>0&&(m.blockedUntil=Date.now()+g,m.tokens=0,m.queue.length>0&&setTimeout(()=>u(m),0))}l.use(d)}}function i1(t={}){let e=t.logger||Rt,r=t.level||"info",n=t.showHeaders||!1,i=t.showBody||!1,o=t.showTimings!==!1,s=new WeakMap,c=r==="debug"?e.debug.bind(e):e.info.bind(e);return u=>{u.beforeRequest(l=>{s.set(l,performance.now());let d={type:"request",method:l.method,url:l.url};if(n){let p={};l.headers.forEach((m,f)=>{f.toLowerCase()==="authorization"?p[f]="[REDACTED]":p[f]=m}),d.headers=p}if(i&&l.body)if(typeof l.body=="string")try{d.body=JSON.parse(l.body)}catch{d.body=l.body}else d.body="[Stream/Binary]";c(d,`\u2192 ${l.method} ${l.url}`)}),u.afterResponse((l,d)=>{let p=s.get(l),m=p?Math.round(performance.now()-p):0,f={type:"response",method:l.method,url:l.url,status:d.status,statusText:d.statusText,ok:d.ok,duration:m};if(n){let g={};d.headers.forEach((y,C)=>g[C]=y),f.headers=g}o&&d.timings&&(f.timings=d.timings);let h=d.headers.get("content-length");h&&(f.size=parseInt(h,10)),c(f,`\u2190 ${d.status} ${l.method} ${l.url} (${m}ms)`)}),u.onError((l,d)=>{let p=s.get(d),m=p?Math.round(performance.now()-p):0;e.error({type:"error",method:d.method,url:d.url,error:l.message,errorName:l.name,duration:m},`\u2716 ${d.method} ${d.url} - ${l.message}`)})}}function o1(t){let e=["curl"];return t.method!=="GET"&&e.push(`-X ${t.method}`),e.push(`'${t.url}'`),t.headers.forEach((r,n)=>{let i=n.toLowerCase()==="authorization"?"[REDACTED]":r;e.push(`-H '${n}: ${i}'`)}),t.body&&(typeof t.body=="string"?e.push(`-d '${t.body}'`):t.body instanceof URLSearchParams?e.push(`-d '${t.body.toString()}'`):e.push("-d '[Body]'")),e.join(` \\
|
|
125
|
+
`)}var cn=class extends Error{service;constructor(e){super(`Circuit breaker is OPEN for ${e}`),this.service=e,this.name="CircuitBreakerError"}};function a1(t={}){let e=t.threshold||5,r=t.resetTimeout||30*1e3,n=new Map,i=s=>{try{return new URL(s.url).hostname}catch{return"unknown"}},o=t.shouldTrip||((s,c)=>c?c.status>=500:!0);return s=>{s.beforeRequest(l=>{let d=i(l),p=n.get(d);if(p||(p={failures:0,lastFailureTime:0,state:"CLOSED"},n.set(d,p)),p.state==="OPEN")if(Date.now()-p.lastFailureTime>r)p.state="HALF_OPEN",t.onStateChange&&t.onStateChange("HALF_OPEN",d);else throw new cn(d)}),s.afterResponse((l,d)=>{let p=i(l),m=n.get(p);if(!m)return;o(null,d)?u(m,p):c(m,p)}),s.onError((l,d)=>{if(l instanceof cn)throw l;let p=i(d),m=n.get(p);if(!m)return;o(l,void 0)&&u(m,p)});function c(l,d){l.state==="HALF_OPEN"?(l.state="CLOSED",l.failures=0,t.onStateChange&&t.onStateChange("CLOSED",d)):l.state==="CLOSED"&&(l.failures=0)}function u(l,d){l.failures++,l.lastFailureTime=Date.now(),(l.state==="HALF_OPEN"||l.state==="CLOSED"&&l.failures>=e)&&(l.state="OPEN",t.onStateChange&&t.onStateChange("OPEN",d))}}}function s1(t={}){let e=new Map;return t.store&&t.store instanceof Map&&e.set("*",t.store),r=>{r.beforeRequest(n=>{let o=new URL(n.url).hostname,s=[],c=u=>{u&&u.forEach((l,d)=>{s.push(`${d}=${l}`)})};c(e.get(o));for(let[u,l]of e.entries())u!=="*"&&u!==o&&o.endsWith(u)&&c(l),u==="*"&&c(l);if(s.length>0){let u=n.headers.get("cookie"),l=s.join("; ");n.headers.set("cookie",u?`${u}; ${l}`:l)}}),r.afterResponse((n,i)=>{let o=i.headers.get("set-cookie");if(!o)return;let c=new URL(n.url).hostname;c1(o).forEach(l=>{var b;let d=l.split(";"),[p]=d;if(!p)return;let[m,...f]=p.split("=");if(!m)return;let h=f.join("=").trim(),g=c,y=d.find(w=>w.trim().toLowerCase().startsWith("domain="));if(y){let w=(b=y.split("=")[1])==null?void 0:b.trim();w&&(g=w)}e.has(g)||e.set(g,new Map),e.get(g).set(m.trim(),h),t.store&&t.store.set(m.trim(),h)})})}}function c1(t){return t.split(/,(?=\s*[a-zA-Z0-9_]+=[^;])/g)}G();var un=class extends ${errors;response;constructor(e,r,n){var s;let i=((s=e==null?void 0:e[0])==null?void 0:s.message)||"GraphQL response contains errors",o=["Check the GraphQL query and variables for schema compliance.","Inspect the GraphQL errors array for details.","Fix validation errors before retrying; network errors may be retriable."];super(i,n,r,o,!1),this.errors=e,this.response=r,this.name="GraphQLError"}};function u1(t={}){let e=t.throwOnErrors!==!1,r=async(n,i)=>{let o=await i(n),s=o.headers.get("content-type");if(e&&s&&s.includes("application/json")){let c=o.clone();try{let u=await c.json();if(u&&Array.isArray(u.errors)&&u.errors.length>0)throw new un(u.errors,o)}catch(u){if(u instanceof un)throw u}}return o};return n=>{n.use(r)}}async function l1(t,e,r={},n={}){let i=e.match(/(query|mutation|subscription)\s+([a-zA-Z0-9_]+)/),o=i?i[2]:void 0,s={query:e,variables:r,operationName:o};if(n.method==="GET"){let u={query:e,variables:JSON.stringify(r),...o&&{operationName:o}};return n.params={...n.params,...u},(await t.get("",n).json()).data}return(await t.post("",s,n).json()).data}function d1(){return t=>{t.afterResponse((e,r)=>{let n=r.headers.get("server-timing");if(!n)return;let i=n.split(",").map(o=>{let s=o.split(";"),c=s[0].trim(),u,l;for(let d=1;d<s.length;d++){let[p,m]=s[d].split("=").map(f=>f.trim());p==="dur"&&(u=parseFloat(m)),p==="desc"&&(l=m==null?void 0:m.replace(/"/g,""))}return{name:c,duration:u,description:l}});r.serverTimings=i})}}var hr={PARSE_ERROR:-32700,INVALID_REQUEST:-32600,METHOD_NOT_FOUND:-32601,INVALID_PARAMS:-32602,INTERNAL_ERROR:-32603,SERVER_ERROR:-32e3},ln=class extends Error{code;data;constructor(e){super(e.message),this.name="JsonRpcException",this.code=e.code,this.data=e.data}static isParseError(e){return e.code===hr.PARSE_ERROR}static isInvalidRequest(e){return e.code===hr.INVALID_REQUEST}static isMethodNotFound(e){return e.code===hr.METHOD_NOT_FOUND}static isInvalidParams(e){return e.code===hr.INVALID_PARAMS}static isInternalError(e){return e.code===hr.INTERNAL_ERROR}static isServerError(e){return e.code>=-32099&&e.code<=-32e3}},_i=class{client;options;idCounter=0;constructor(e,r){this.client=e,this.options={endpoint:r.endpoint,requestOptions:r.requestOptions??{},autoId:r.autoId??!0,idGenerator:r.idGenerator??(()=>++this.idCounter),throwOnError:r.throwOnError??!0}}async call(e,r,n){let i=this.options.autoId?this.options.idGenerator():null,o={jsonrpc:"2.0",method:e,id:i};r!==void 0&&(o.params=r);let s=await this.sendRequest(o,n);if(s.error){if(this.options.throwOnError)throw new ln(s.error);return}return s.result}async notify(e,r,n){let i={jsonrpc:"2.0",method:e};r!==void 0&&(i.params=r),await this.client.post(this.options.endpoint,{...this.options.requestOptions,...n,json:i})}async batch(e,r){let n=e.map((c,u)=>({jsonrpc:"2.0",method:c.method,params:c.params,id:c.id??(this.options.autoId?this.options.idGenerator():u)})),o=await(await this.client.post(this.options.endpoint,{...this.options.requestOptions,...r,json:n})).json(),s=o.filter(c=>!!c.error).map(c=>c.error);return{responses:o,errors:s,hasErrors:s.length>0}}getFromBatch(e,r){let n=e.responses.find(i=>i.id===r);if(n!=null&&n.error&&this.options.throwOnError)throw new ln(n.error);return n==null?void 0:n.result}proxy(){return new Proxy({},{get:(e,r)=>(...n)=>n.length===1&&typeof n[0]=="object"&&n[0]!==null&&!Array.isArray(n[0])?this.call(r,n[0]):this.call(r,n)})}async sendRequest(e,r){return(await this.client.post(this.options.endpoint,{...this.options.requestOptions,...r,json:e})).json()}};function Pd(t,e){return new _i(t,e)}function p1(){return t=>{t.jsonrpc=(e,r)=>Pd(t,{endpoint:e,...r})}}var gr={OK:0,CANCELLED:1,UNKNOWN:2,INVALID_ARGUMENT:3,DEADLINE_EXCEEDED:4,NOT_FOUND:5,ALREADY_EXISTS:6,PERMISSION_DENIED:7,RESOURCE_EXHAUSTED:8,FAILED_PRECONDITION:9,ABORTED:10,OUT_OF_RANGE:11,UNIMPLEMENTED:12,INTERNAL:13,UNAVAILABLE:14,DATA_LOSS:15,UNAUTHENTICATED:16},_t=class t extends Error{code;metadata;details;constructor(e,r={}){super(e.message),this.name="GrpcError",this.code=e.code,this.metadata=r,this.details=e.details}static fromCode(e,r){return new t({code:e,message:r},{})}};function Bd(){let t=new TextEncoder,e=new TextDecoder;return{encode(r){return t.encode(JSON.stringify(r))},decode(r){return JSON.parse(e.decode(r))}}}function Nd(t,e=!1){let r=new Uint8Array(5+t.length);return r[0]=e?128:0,new DataView(r.buffer).setUint32(1,t.length,!1),r.set(t,5),r}function Md(t){let e=[],r=0;for(;r<t.length&&!(r+5>t.length);){let i=(t[r]&128)!==0,s=new DataView(t.buffer,t.byteOffset+r+1,4).getUint32(0,!1);if(r+5+s>t.length)break;let c=t.slice(r+5,r+5+s);e.push({isTrailers:i,payload:c}),r+=5+s}return e}function Fd(t){let r=new TextDecoder().decode(t),n={};for(let i of r.split(`\r
|
|
126
|
+
`)){let o=i.indexOf(":");if(o>0){let s=i.slice(0,o).trim().toLowerCase(),c=i.slice(o+1).trim();n[s]=c}}return n}var Wi=class{client;options;constructor(e,r){this.client=e,this.options={baseUrl:r.baseUrl,metadata:r.metadata??{},timeout:r.timeout??3e4,textFormat:r.textFormat??!0}}async unary(e,r,n,i,o){let s=`${this.options.baseUrl}/${e}/${r}`,c=i.encode(n),u=Nd(c),l=this.options.textFormat?"application/grpc-web-text":"application/grpc-web+proto",d=this.options.textFormat?btoa(String.fromCharCode(...u)):u,m={headers:{"Content-Type":l,Accept:l,"X-Grpc-Web":"1",...this.options.metadata,...o==null?void 0:o.metadata},timeout:(o==null?void 0:o.timeout)??this.options.timeout,signal:o==null?void 0:o.signal},f=await this.client.post(s,d,m);return this.parseUnaryResponse(f,i)}async*serverStream(e,r,n,i,o){let s=`${this.options.baseUrl}/${e}/${r}`,c=i.encode(n),u=Nd(c),l=this.options.textFormat?"application/grpc-web-text":"application/grpc-web+proto",d=this.options.textFormat?btoa(String.fromCharCode(...u)):u,p={"Content-Type":l,Accept:l,"X-Grpc-Web":"1",...this.options.metadata,...o==null?void 0:o.metadata},f=(await this.client.post(s,d,{headers:p,timeout:(o==null?void 0:o.timeout)??this.options.timeout,signal:o==null?void 0:o.signal})).read();if(!f)throw new _t({code:gr.INTERNAL,message:"No response body"},{});let h=f.getReader(),g=new Uint8Array(0);try{for(;;){let{done:y,value:C}=await h.read();if(C){let b=C;if(this.options.textFormat){let T=new TextDecoder().decode(C),k=atob(T);b=new Uint8Array(k.length);for(let S=0;S<k.length;S++)b[S]=k.charCodeAt(S)}let w=new Uint8Array(g.length+b.length);w.set(g),w.set(b,g.length),g=w;let x=Md(g),v=0;for(let T of x)if(v+=5+T.payload.length,T.isTrailers){let k=Fd(T.payload),S=parseInt(k["grpc-status"]??"0",10),P=k["grpc-message"]??"";if(S!==gr.OK)throw new _t({code:S,message:P},k)}else yield i.decode(T.payload);v>0&&(g=g.slice(v))}if(y)break}}finally{h.releaseLock()}}service(e,r){let n={};for(let[i,o]of Object.entries(r))n[i]=async(s,c)=>{let u=Bd();return this.unary(e,i,s,u,c)};return n}async parseUnaryResponse(e,r){let n;if(this.options.textFormat){let l=await e.text(),d=atob(l);n=new Uint8Array(d.length);for(let p=0;p<d.length;p++)n[p]=d.charCodeAt(p)}else{let l=await e.blob();n=new Uint8Array(await l.arrayBuffer())}let i=Md(n),o,s={},c={code:gr.OK,message:""};for(let l of i)l.isTrailers?(s=Fd(l.payload),c={code:parseInt(s["grpc-status"]??"0",10),message:s["grpc-message"]??""}):o=r.decode(l.payload);let u=e.headers.get("grpc-status");if(u&&(c.code=parseInt(u,10),c.message=e.headers.get("grpc-message")??""),c.code!==gr.OK)throw new _t(c,s);if(o===void 0)throw new _t({code:gr.INTERNAL,message:"No message in response"},s);return{message:o,metadata:s,status:c}}};function Ud(t,e){return new Wi(t,e)}function m1(){return t=>{t.grpcWeb=e=>{var n;let r=(e==null?void 0:e.baseUrl)??((n=t.config)==null?void 0:n.baseUrl)??"";return Ud(t,{baseUrl:r,...e})}}}function As(t){return t==null?"<nil/>":typeof t=="boolean"?`<boolean>${t?"1":"0"}</boolean>`:typeof t=="number"?Number.isInteger(t)?`<int>${t}</int>`:`<double>${t}</double>`:typeof t=="string"?`<string>${dn(t)}</string>`:t instanceof Date?`<dateTime.iso8601>${t.toISOString()}</dateTime.iso8601>`:t instanceof Uint8Array||Buffer.isBuffer(t)?`<base64>${Buffer.from(t).toString("base64")}</base64>`:Array.isArray(t)?`<array><data>${t.map(r=>`<value>${As(r)}</value>`).join("")}</data></array>`:typeof t=="object"?`<struct>${Object.entries(t).map(([r,n])=>`<member><name>${dn(r)}</name><value>${As(n)}</value></member>`).join("")}</struct>`:`<string>${String(t)}</string>`}function Vi(t){let e=t.trim();if(e.includes("<nil/>")||e.includes("<nil></nil>"))return null;if(e.startsWith("<array>")||e.includes("<array>")){let u=e.match(/<array>\s*<data>([\s\S]*)<\/data>\s*<\/array>/);if(u){let l=[],p=u[1].split(/<\/value>/);for(let m of p){let f=m.indexOf("<value>");if(f!==-1){let h=m.slice(f+7);l.push(Vi(h.trim()))}}return l}}if(e.startsWith("<struct>")||e.includes("<struct>")){let u=e.match(/<struct>([\s\S]*)<\/struct>/);if(u){let l={},d=u[1].split(/<\/member>/);for(let p of d){let m=p.indexOf("<member>");if(m!==-1){let f=p.slice(m+8),h=f.match(/<name>([\s\S]*?)<\/name>/),g=f.match(/<value>([\s\S]*)<\/value>/s);h&&g&&(l[Wt(h[1].trim())]=Vi(g[1].trim()))}}return l}}let r=e.match(/^<(?:int|i4|i8)>(-?\d+)<\/(?:int|i4|i8)>$/);if(r)return parseInt(r[1],10);let n=e.match(/^<boolean>([01])<\/boolean>$/);if(n)return n[1]==="1";let i=e.match(/^<double>(-?[\d.]+(?:[eE][+-]?\d+)?)<\/double>$/);if(i)return parseFloat(i[1]);let o=e.match(/^<string>([\s\S]*?)<\/string>$/);if(o)return Wt(o[1]);let s=e.match(/^<dateTime\.iso8601>([\s\S]*?)<\/dateTime\.iso8601>$/);if(s)return new Date(s[1]);let c=e.match(/^<base64>([\s\S]*?)<\/base64>$/);return c?Buffer.from(c[1],"base64"):e}var Gi=class{client;endpoint;requestOptions;constructor(e,r){this.client=e,this.endpoint=r.endpoint,this.requestOptions=r.requestOptions??{}}async call(e,r=[]){let n=r.map(c=>`<param><value>${As(c)}</value></param>`).join(""),i=`<?xml version="1.0"?>
|
|
127
127
|
<methodCall>
|
|
128
128
|
<methodName>${dn(e)}</methodName>
|
|
129
129
|
<params>${n}</params>
|
|
@@ -133,7 +133,7 @@ self.onmessage = async (event) => {
|
|
|
133
133
|
<soap:Body>
|
|
134
134
|
${d}
|
|
135
135
|
</soap:Body>
|
|
136
|
-
</soap:Envelope>`,m={"Content-Type":i.contentType};if(this.options.version==="1.1"){let g=(n==null?void 0:n.soapAction)??`${s}/${e}`;m.SOAPAction=`"${g}"`}let h=await(await this.client.post(this.options.endpoint,p,{...this.options.requestOptions,headers:{...m,...this.options.requestOptions.headers}})).text();return this.parseResponse(h,e)}async getWsdl(){return this.options.wsdl?(await this.client.get(this.options.wsdl)).text():null}objectToXml(e,r){return Object.entries(e).map(([n,i])=>{let o=r?`${r}:${n}`:n;return i==null?`<${o} xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>`:typeof i=="object"&&!Array.isArray(i)&&!(i instanceof Date)?`<${o}>${this.objectToXml(i)}</${o}>`:Array.isArray(i)?i.map(s=>typeof s=="object"?`<${o}>${this.objectToXml(s)}</${o}>`:`<${o}>${dn(String(s))}</${o}>`).join(""):i instanceof Date?`<${o}>${i.toISOString()}</${o}>`:`<${o}>${dn(String(i))}</${o}>`}).join("")}parseResponse(e,r){let n=e.match(/<(?:soap:|SOAP-ENV:|)[Ff]ault[^>]*>([\s\S]*?)<\/(?:soap:|SOAP-ENV:|)[Ff]ault>/i);if(n){let d=n[1],p=d.match(/<faultcode[^>]*>([\s\S]*?)<\/faultcode>/i),m=d.match(/<faultstring[^>]*>([\s\S]*?)<\/faultstring>/i),f=d.match(/<faultactor[^>]*>([\s\S]*?)<\/faultactor>/i),h=d.match(/<detail[^>]*>([\s\S]*?)<\/detail>/i),g=d.match(/<(?:\w+:)?Code[^>]*>[\s\S]*?<(?:\w+:)?Value[^>]*>([\s\S]*?)<\/(?:\w+:)?Value>/i),y=d.match(/<(?:\w+:)?Reason[^>]*>[\s\S]*?<(?:\w+:)?Text[^>]*>([\s\S]*?)<\/(?:\w+:)?Text>/i);return{success:!1,fault:{code:Wt((p==null?void 0:p[1])??(g==null?void 0:g[1])??"Unknown"),string:Wt((m==null?void 0:m[1])??(y==null?void 0:y[1])??"Unknown error"),actor:f?Wt(f[1]):void 0,detail:h?h[1]:void 0},rawXml:e}}let i=e.match(/<(?:soap:|SOAP-ENV:|)[Bb]ody[^>]*>([\s\S]*?)<\/(?:soap:|SOAP-ENV:|)[Bb]ody>/i);if(!i)return{success:!1,fault:{code:"ParseError",string:"Could not parse SOAP response body"},rawXml:e};let o=i[1].trim(),s=new RegExp(`<(?:\\w+:)?${r}(?:Response|Result)[^>]*>([\\s\\S]*?)<\\/(?:\\w+:)?${r}(?:Response|Result)>`,"i"),c=o.match(s),u=c?c[1]:o;return{success:!0,result:this.parseXmlToObject(u),rawXml:e}}parseXmlToObject(e){let r=e.trim();if(!r.startsWith("<"))return Wt(r);let n={},i=/<([^\/][^>\s]*)[^>]*>([\s\S]*?)<\/\1>/g,o,s=!1;for(;(o=i.exec(r))!==null;){s=!0;let[,c,u]=o,l=c.includes(":")?c.split(":")[1]:c,d=this.parseXmlToObject(u);l in n?Array.isArray(n[l])?n[l].push(d):n[l]=[n[l],d]:n[l]=d}return s?n:Wt(r)}};function dn(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Wt(t){return t.replace(/'/g,"'").replace(/"/g,'"').replace(/>/g,">").replace(/</g,"<").replace(/&/g,"&")}function
|
|
136
|
+
</soap:Envelope>`,m={"Content-Type":i.contentType};if(this.options.version==="1.1"){let g=(n==null?void 0:n.soapAction)??`${s}/${e}`;m.SOAPAction=`"${g}"`}let h=await(await this.client.post(this.options.endpoint,p,{...this.options.requestOptions,headers:{...m,...this.options.requestOptions.headers}})).text();return this.parseResponse(h,e)}async getWsdl(){return this.options.wsdl?(await this.client.get(this.options.wsdl)).text():null}objectToXml(e,r){return Object.entries(e).map(([n,i])=>{let o=r?`${r}:${n}`:n;return i==null?`<${o} xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>`:typeof i=="object"&&!Array.isArray(i)&&!(i instanceof Date)?`<${o}>${this.objectToXml(i)}</${o}>`:Array.isArray(i)?i.map(s=>typeof s=="object"?`<${o}>${this.objectToXml(s)}</${o}>`:`<${o}>${dn(String(s))}</${o}>`).join(""):i instanceof Date?`<${o}>${i.toISOString()}</${o}>`:`<${o}>${dn(String(i))}</${o}>`}).join("")}parseResponse(e,r){let n=e.match(/<(?:soap:|SOAP-ENV:|)[Ff]ault[^>]*>([\s\S]*?)<\/(?:soap:|SOAP-ENV:|)[Ff]ault>/i);if(n){let d=n[1],p=d.match(/<faultcode[^>]*>([\s\S]*?)<\/faultcode>/i),m=d.match(/<faultstring[^>]*>([\s\S]*?)<\/faultstring>/i),f=d.match(/<faultactor[^>]*>([\s\S]*?)<\/faultactor>/i),h=d.match(/<detail[^>]*>([\s\S]*?)<\/detail>/i),g=d.match(/<(?:\w+:)?Code[^>]*>[\s\S]*?<(?:\w+:)?Value[^>]*>([\s\S]*?)<\/(?:\w+:)?Value>/i),y=d.match(/<(?:\w+:)?Reason[^>]*>[\s\S]*?<(?:\w+:)?Text[^>]*>([\s\S]*?)<\/(?:\w+:)?Text>/i);return{success:!1,fault:{code:Wt((p==null?void 0:p[1])??(g==null?void 0:g[1])??"Unknown"),string:Wt((m==null?void 0:m[1])??(y==null?void 0:y[1])??"Unknown error"),actor:f?Wt(f[1]):void 0,detail:h?h[1]:void 0},rawXml:e}}let i=e.match(/<(?:soap:|SOAP-ENV:|)[Bb]ody[^>]*>([\s\S]*?)<\/(?:soap:|SOAP-ENV:|)[Bb]ody>/i);if(!i)return{success:!1,fault:{code:"ParseError",string:"Could not parse SOAP response body"},rawXml:e};let o=i[1].trim(),s=new RegExp(`<(?:\\w+:)?${r}(?:Response|Result)[^>]*>([\\s\\S]*?)<\\/(?:\\w+:)?${r}(?:Response|Result)>`,"i"),c=o.match(s),u=c?c[1]:o;return{success:!0,result:this.parseXmlToObject(u),rawXml:e}}parseXmlToObject(e){let r=e.trim();if(!r.startsWith("<"))return Wt(r);let n={},i=/<([^\/][^>\s]*)[^>]*>([\s\S]*?)<\/\1>/g,o,s=!1;for(;(o=i.exec(r))!==null;){s=!0;let[,c,u]=o,l=c.includes(":")?c.split(":")[1]:c,d=this.parseXmlToObject(u);l in n?Array.isArray(n[l])?n[l].push(d):n[l]=[n[l],d]:n[l]=d}return s?n:Wt(r)}};function dn(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Wt(t){return t.replace(/'/g,"'").replace(/"/g,'"').replace(/>/g,">").replace(/</g,"<").replace(/&/g,"&")}function Id(t,e){return new Gi(t,e)}function Hd(t,e){return new Ki(t,e)}function h1(){return t=>{t.soap=e=>Hd(t,e),t.xmlrpc=(e,r)=>Id(t,{endpoint:e,requestOptions:r})}}G();var Xi=class extends Error{code;target;details;innererror;constructor(e){super(e.message),this.name="ODataException",this.code=e.code,this.target=e.target,this.details=e.details,this.innererror=e.innererror}},Ji=class{client;entitySet;entityKey;queryOptions={};requestOptions;constructor(e,r){this.client=e,this.entitySet=r}key(e){return this.entityKey=e,this}select(...e){return this.queryOptions.$select=e,this}expand(...e){return e.some(n=>typeof n!="string")?this.queryOptions.$expand=e:this.queryOptions.$expand=e,this}filter(e){if(typeof e=="function"){let r=new Qi;this.queryOptions.$filter=e(r).build()}else this.queryOptions.$filter=e;return this}orderBy(e,r="asc"){let n=this.queryOptions.$orderby,i={property:e,direction:r};return Array.isArray(n)?n.push(i):n?this.queryOptions.$orderby=[{property:n,direction:"asc"},i]:this.queryOptions.$orderby=[i],this}top(e){return this.queryOptions.$top=e,this}skip(e){return this.queryOptions.$skip=e,this}count(e=!0){return this.queryOptions.$count=e,this}search(e){return this.queryOptions.$search=e,this}custom(e,r){return this.queryOptions[e]=r,this}options(e){return this.requestOptions=e,this}async get(){return this.client.get(this.entitySet,this.entityKey,this.queryOptions,this.requestOptions)}async*getAll(){let e=await this.get();for(;e.value;){for(let r of e.value)yield r;if(e["@odata.nextLink"])e=await this.client.getNextPage(e["@odata.nextLink"]);else break}}toUrl(){return this.client.buildUrl(this.entitySet,this.entityKey,this.queryOptions)}},Qi=class t{parts=[];eq(e,r){return this.parts.push(`${e} eq ${this.formatValue(r)}`),this}ne(e,r){return this.parts.push(`${e} ne ${this.formatValue(r)}`),this}gt(e,r){return this.parts.push(`${e} gt ${this.formatValue(r)}`),this}ge(e,r){return this.parts.push(`${e} ge ${this.formatValue(r)}`),this}lt(e,r){return this.parts.push(`${e} lt ${this.formatValue(r)}`),this}le(e,r){return this.parts.push(`${e} le ${this.formatValue(r)}`),this}contains(e,r){return this.parts.push(`contains(${e},'${this.escapeString(r)}')`),this}startswith(e,r){return this.parts.push(`startswith(${e},'${this.escapeString(r)}')`),this}endswith(e,r){return this.parts.push(`endswith(${e},'${this.escapeString(r)}')`),this}isNull(e){return this.parts.push(`${e} eq null`),this}isNotNull(e){return this.parts.push(`${e} ne null`),this}in(e,r){let n=r.map(i=>this.formatValue(i)).join(",");return this.parts.push(`${e} in (${n})`),this}and(){return this.parts.length>0&&this.parts.push("and"),this}or(){return this.parts.length>0&&this.parts.push("or"),this}not(){return this.parts.push("not"),this}group(e){let r=new t,n=e(r).build();return this.parts.push(`(${n})`),this}raw(e){return this.parts.push(e),this}build(){return this.parts.join(" ")}formatValue(e){return e===null?"null":typeof e=="string"?`'${this.escapeString(e)}'`:typeof e=="boolean"||typeof e=="number"?e.toString():e instanceof Date?e.toISOString():typeof e=="object"?JSON.stringify(e):String(e)}escapeString(e){return e.replace(/'/g,"''")}},Yi=class{client;options;constructor(e,r){this.client=e,this.options={serviceRoot:r.serviceRoot.replace(/\/$/,""),version:r.version??"4.0",maxPageSize:r.maxPageSize??100,requestOptions:r.requestOptions??{}}}query(e){return new Ji(this,e)}async get(e,r,n,i){let o=this.buildUrl(e,r,n);return await this.request("GET",o,void 0,i)}async getById(e,r,n,i){return await this.get(e,r,n,i)}async getNextPage(e){let r=await this.client.get(e,{...this.options.requestOptions,headers:this.getHeaders()});return this.handleResponse(r)}async create(e,r,n){let i=this.buildUrl(e);return this.request("POST",i,r,n)}async update(e,r,n,i){let o=this.buildUrl(e,r);return this.request("PATCH",o,n,i)}async replace(e,r,n,i){let o=this.buildUrl(e,r);return this.request("PUT",o,n,i)}async delete(e,r,n){let i=this.buildUrl(e,r);await this.request("DELETE",i,void 0,n)}async action(e,r,n){let i=`${this.options.serviceRoot}/${e}`;return this.request("POST",i,r,n)}async function(e,r,n){let i=`${this.options.serviceRoot}/${e}`;if(r&&Object.keys(r).length>0){let o=Object.entries(r).map(([s,c])=>`${s}=${this.formatKeyValue(c)}`).join(",");i+=`(${o})`}return this.request("GET",i,void 0,n)}async batch(e,r){let n=`batch_${Date.now()}_${Math.random().toString(36).slice(2)}`,i=`${this.options.serviceRoot}/$batch`,o="";for(let u of e){if(o+=`--${n}\r
|
|
137
137
|
`,o+=`Content-Type: application/http\r
|
|
138
138
|
`,o+=`Content-Transfer-Encoding: binary\r
|
|
139
139
|
\r
|
|
@@ -143,7 +143,7 @@ self.onmessage = async (event) => {
|
|
|
143
143
|
\r
|
|
144
144
|
`,o+=JSON.stringify(u.body)),o+=`\r
|
|
145
145
|
`}o+=`--${n}--\r
|
|
146
|
-
`;let c=await(await this.client.post(i,o,{...this.options.requestOptions,...r,headers:{...this.getHeaders(),"Content-Type":`multipart/mixed; boundary=${n}`,...r==null?void 0:r.headers}})).text();return this.parseBatchResponse(c)}async getMetadata(){return(await this.client.get(`${this.options.serviceRoot}/$metadata`,{...this.options.requestOptions,headers:{Accept:"application/xml"}})).text()}buildUrl(e,r,n){let i=`${this.options.serviceRoot}/${e}`;if(r!==void 0&&(i+=`(${this.formatKey(r)})`),n){let o=this.buildQueryString(n);o&&(i+=`?${o}`)}return i}getHeaders(){return{Accept:"application/json","Content-Type":"application/json","OData-Version":this.options.version,"OData-MaxVersion":"4.01"}}async request(e,r,n,i){let o={...this.options.requestOptions,...i,throwHttpErrors:!1,headers:{...this.getHeaders(),...i==null?void 0:i.headers}},s;switch(e){case"GET":s=await this.client.get(r,o);break;case"POST":s=await this.client.post(r,n,o);break;case"PUT":s=await this.client.put(r,n,o);break;case"PATCH":s=await this.client.patch(r,n,o);break;case"DELETE":s=await this.client.delete(r,o);break;default:throw new me(`Unsupported HTTP method: ${e}`,{feature:e})}return this.handleResponse(s)}async handleResponse(e){if(e.status===204)return;let r=await e.json();if(!e.ok){let n=r;throw n.error?new Xi(n.error):new We(e)}return r}formatKey(e){return typeof e=="string"?`'${e.replace(/'/g,"''")}'`:typeof e=="number"?e.toString():Object.entries(e).map(([r,n])=>`${r}=${this.formatKeyValue(n)}`).join(",")}formatKeyValue(e){return typeof e=="string"?`'${e.replace(/'/g,"''")}'`:e===null?"null":e instanceof Date?e.toISOString():String(e)}buildQueryString(e){let r=[];if(e.$select){let n=Array.isArray(e.$select)?e.$select.join(","):e.$select;r.push(`$select=${encodeURIComponent(n)}`)}if(e.$expand){let n=this.formatExpand(e.$expand);r.push(`$expand=${encodeURIComponent(n)}`)}if(e.$filter){let n=typeof e.$filter=="string"?e.$filter:this.formatFilterExpression(e.$filter);r.push(`$filter=${encodeURIComponent(n)}`)}if(e.$orderby){let n=this.formatOrderBy(e.$orderby);r.push(`$orderby=${encodeURIComponent(n)}`)}e.$top!==void 0&&r.push(`$top=${e.$top}`),e.$skip!==void 0&&r.push(`$skip=${e.$skip}`),e.$count!==void 0&&r.push(`$count=${e.$count}`),e.$search&&r.push(`$search=${encodeURIComponent(e.$search)}`),e.$format&&r.push(`$format=${e.$format}`);for(let[n,i]of Object.entries(e))!n.startsWith("$")&&i!==void 0&&r.push(`${n}=${encodeURIComponent(String(i))}`);return r.join("&")}formatExpand(e){return typeof e=="string"?e:Array.isArray(e)?e.map(r=>typeof r=="string"?r:this.formatExpandOption(r)).join(","):""}formatExpandOption(e){let r=e.property,n=[];if(e.select&&n.push(`$select=${e.select.join(",")}`),e.filter){let i=typeof e.filter=="string"?e.filter:this.formatFilterExpression(e.filter);n.push(`$filter=${i}`)}return e.orderby&&n.push(`$orderby=${this.formatOrderBy(e.orderby)}`),e.top!==void 0&&n.push(`$top=${e.top}`),e.skip!==void 0&&n.push(`$skip=${e.skip}`),e.count!==void 0&&n.push(`$count=${e.count}`),e.expand&&n.push(`$expand=${this.formatExpand(e.expand)}`),n.length>0&&(r+=`(${n.join(";")})`),r}formatOrderBy(e){return typeof e=="string"?e:e.map(r=>`${r.property} ${r.direction??"asc"}`).join(",")}formatFilterExpression(e){if(e.raw)return e.raw;let r=[];if(e.eq&&r.push(`${e.eq[0]} eq ${this.formatFilterValue(e.eq[1])}`),e.ne&&r.push(`${e.ne[0]} ne ${this.formatFilterValue(e.ne[1])}`),e.gt&&r.push(`${e.gt[0]} gt ${this.formatFilterValue(e.gt[1])}`),e.ge&&r.push(`${e.ge[0]} ge ${this.formatFilterValue(e.ge[1])}`),e.lt&&r.push(`${e.lt[0]} lt ${this.formatFilterValue(e.lt[1])}`),e.le&&r.push(`${e.le[0]} le ${this.formatFilterValue(e.le[1])}`),e.contains&&r.push(`contains(${e.contains[0]},'${e.contains[1]}')`),e.startswith&&r.push(`startswith(${e.startswith[0]},'${e.startswith[1]}')`),e.endswith&&r.push(`endswith(${e.endswith[0]},'${e.endswith[1]}')`),e.and){let n=e.and.map(i=>this.formatFilterExpression(i));r.push(`(${n.join(" and ")})`)}if(e.or){let n=e.or.map(i=>this.formatFilterExpression(i));r.push(`(${n.join(" or ")})`)}return e.not&&r.push(`not (${this.formatFilterExpression(e.not)})`),r.join(" and ")}formatFilterValue(e){return e===null?"null":typeof e=="string"?`'${e.replace(/'/g,"''")}'`:typeof e=="boolean"||typeof e=="number"?e.toString():e instanceof Date?e.toISOString():String(e)}parseBatchResponse(e){let r=[],n=e.match(/--batch[^\r\n]+/);if(!n)return r;let i=n[0],o=e.split(i).slice(1,-1);for(let s of o){let c=s.match(/HTTP\/\d\.\d\s+(\d+)/),u=s.match(/\r\n\r\n({[\s\S]*})/);r.push({status:c?parseInt(c[1],10):0,body:u?JSON.parse(u[1]):null})}return r}};function qd(t,e){return new Yi(t,e)}function g1(){return t=>{t.odata=(e,r)=>qd(t,{serviceRoot:e,...r})}}var Zi=class{entries=[];isRecording=!1;onEntry;start(){this.isRecording=!0,this.entries=[]}stop(){this.isRecording=!1}clear(){this.entries=[]}getEntries(){return this.entries}setOnEntry(e){this.onEntry=e}generateHar(){return{log:{version:"1.2",creator:{name:"Recker",version:"1.0.0"},pages:[],entries:this.entries}}}download(e="recker-session.har"){if(typeof Blob>"u"||typeof document>"u")throw new Error("download() is only supported in browser. Use save() in Node.js");let r=this.generateHar(),n=new Blob([JSON.stringify(r,null,2)],{type:"application/json"}),i=URL.createObjectURL(n),o=document.createElement("a");o.href=i,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(i)}async save(e){if(typeof window<"u")throw new Error("save() is only supported in Node.js. Use download() in browser");try{let r=await Promise.resolve().then(()=>(Ri(),zl)),n=this.generateHar();await r.writeFile(e,JSON.stringify(n,null,2))}catch(r){throw new Error(`Failed to save HAR: ${r.message}`)}}plugin(){return e=>{e.hooks.afterResponse||(e.hooks.afterResponse=[]),e.hooks.afterResponse.push(async(r,n)=>{var o,s,c,u,l;if(!this.isRecording)return;let i={startedDateTime:new Date().toISOString(),time:((o=n.timings)==null?void 0:o.total)||0,request:{method:r.method,url:r.url,httpVersion:"HTTP/1.1",headers:this.mapHeaders(r.headers),queryString:[],cookies:[],headersSize:-1,bodySize:-1},response:{status:n.status,statusText:n.statusText,httpVersion:"HTTP/1.1",headers:this.mapHeaders(n.headers),cookies:[],content:{size:-1,mimeType:n.headers.get("content-type")||"",text:"[Body capture disabled]"},redirectURL:"",headersSize:-1,bodySize:-1},cache:{},timings:{send:0,wait:((s=n.timings)==null?void 0:s.firstByte)||0,receive:(((c=n.timings)==null?void 0:c.total)||0)-(((u=n.timings)==null?void 0:u.firstByte)||0)}};return this.entries.push(i),(l=this.onEntry)==null||l.call(this,i),n})}}mapHeaders(e){let r=[];return e.forEach((n,i)=>r.push({name:i,value:n})),r}},yr=new Zi,y1=t=>(yr.start(),t!=null&&t.onEntry&&yr.setOnEntry(t.onEntry),yr.plugin());function Cs(t){return async(e,r)=>{if(t.latency&&t.latency>0&&await new Promise(n=>setTimeout(n,t.latency)),t.errorRate&&t.errorRate>0&&Math.random()<t.errorRate)throw new Error(t.errorMessage||"Simulated Network Error (Packet Loss)");return r(e)}}var b1="recker-cache",it="entries";var Es=class{dbPromise;constructor(e=b1){this.dbPromise=this.openDB(e)}openDB(e){return new Promise((r,n)=>{if(typeof indexedDB>"u"){n(new Error("IndexedDB is not supported in this environment"));return}let i=indexedDB.open(e,1);i.onupgradeneeded=o=>{let s=o.target.result;s.objectStoreNames.contains(it)||s.createObjectStore(it,{keyPath:"key"})},i.onsuccess=o=>{r(o.target.result)},i.onerror=o=>{n(o.target.error)}})}async get(e){let r=await this.dbPromise;return new Promise((n,i)=>{let c=r.transaction(it,"readonly").objectStore(it).get(e);c.onsuccess=()=>{let u=c.result;if(!u){n(null);return}if(u.expiresAt&&Date.now()>u.expiresAt){this.delete(e).catch(()=>{}),n(null);return}n(u.value)},c.onerror=()=>i(c.error)})}async set(e,r,n){let i=await this.dbPromise;return new Promise((o,s)=>{let u=i.transaction(it,"readwrite").objectStore(it),l=Date.now()+n,d={key:e,value:r,expiresAt:l},p=u.put(d);p.onsuccess=()=>o(),p.onerror=()=>s(p.error)})}async delete(e){let r=await this.dbPromise;return new Promise((n,i)=>{let c=r.transaction(it,"readwrite").objectStore(it).delete(e);c.onsuccess=()=>n(),c.onerror=()=>i(c.error)})}async clear(){let e=await this.dbPromise;return new Promise((r,n)=>{let s=e.transaction(it,"readwrite").objectStore(it).clear();s.onsuccess=()=>r(),s.onerror=()=>n(s.error)})}};On();jn();var v1={utf8:"utf-8",utf_8:"utf-8",utf16:"utf-16",utf_16:"utf-16",utf16le:"utf-16le",utf16be:"utf-16be",latin1:"iso-8859-1","latin-1":"iso-8859-1","iso8859-1":"iso-8859-1","iso_8859-1":"iso-8859-1",cp1252:"windows-1252",win1252:"windows-1252","us-ascii":"ascii",usascii:"ascii",gbk:"gbk",gb2312:"gb2312",gb18030:"gb18030","shift-jis":"shift_jis",shiftjis:"shift_jis",sjis:"shift_jis","euc-jp":"euc-jp",eucjp:"euc-jp","iso-2022-jp":"iso-2022-jp","euc-kr":"euc-kr",euckr:"euc-kr"};function St(t){let e=t.toLowerCase().trim();return v1[e]||e}function $d(t){if(!t)return null;let e=t.match(/charset=["']?([^"';\s]+)["']?/i);return e?St(e[1]):null}function Ds(t){return t.length<2?null:t.length>=4&&t[0]===0&&t[1]===0&&t[2]===254&&t[3]===255?{charset:"utf-32be",source:"bom",confidence:"high"}:t.length>=4&&t[0]===255&&t[1]===254&&t[2]===0&&t[3]===0?{charset:"utf-32le",source:"bom",confidence:"high"}:t.length>=3&&t[0]===239&&t[1]===187&&t[2]===191?{charset:"utf-8",source:"bom",confidence:"high"}:t[0]===254&&t[1]===255?{charset:"utf-16be",source:"bom",confidence:"high"}:t[0]===255&&t[1]===254?{charset:"utf-16le",source:"bom",confidence:"high"}:null}function Od(t){let e=Ds(t);if(!e)return t;switch(e.charset){case"utf-8":return t.slice(3);case"utf-16le":case"utf-16be":return t.slice(2);case"utf-32le":case"utf-32be":return t.slice(4);default:return t}}function zd(t){let e=t.match(/<\?xml[^?]*encoding=["']([^"']+)["'][^?]*\?>/i);return e?St(e[1]):null}function jd(t){let e=t.slice(0,1024),r=e.match(/<meta[^>]+charset=["']?([^"'>\s]+)["']?/i);if(r)return St(r[1]);let n=e.match(/<meta[^>]+http-equiv=["']?Content-Type["']?[^>]+content=["']?[^"'>]*charset=([^"'>\s;]+)/i);if(n)return St(n[1]);let i=e.match(/<meta[^>]+content=["']?[^"'>]*charset=([^"'>\s;]+)[^>]+http-equiv=["']?Content-Type["']?/i);return i?St(i[1]):null}function w1(t,e){let r=$d(e||null);if(r)return{charset:r,source:"header",confidence:"high"};let n=Ds(t);if(n)return n;let o=new TextDecoder("utf-8",{fatal:!1}).decode(t.slice(0,1024));if(o.trimStart().startsWith("<?xml")){let s=zd(o);if(s)return{charset:s,source:"xml",confidence:"medium"}}if(o.toLowerCase().includes("<html")||o.toLowerCase().includes("<!doctype html")){let s=jd(o);if(s)return{charset:s,source:"html-meta",confidence:"medium"}}return{charset:"utf-8",source:"default",confidence:"low"}}function x1(t,e){let r="utf-8";typeof e=="string"?r=St(e):e&&(r=e.charset);let n=Od(t);try{return new TextDecoder(r).decode(n)}catch{return new TextDecoder("utf-8",{fatal:!1}).decode(n)}}function k1(){return["utf-8","utf-16le","utf-16be","iso-8859-1","iso-8859-2","iso-8859-3","iso-8859-4","iso-8859-5","iso-8859-6","iso-8859-7","iso-8859-8","iso-8859-9","iso-8859-10","iso-8859-11","iso-8859-13","iso-8859-14","iso-8859-15","iso-8859-16","windows-1250","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","koi8-r","koi8-u","gbk","gb2312","gb18030","big5","big5-hkscs","shift_jis","euc-jp","iso-2022-jp","euc-kr"]}function S1(t){try{return new TextDecoder(St(t)),!0}catch{return!1}}tn();Ka();var T1=new Set(["a","an","the","and","or","but","if","because","as","what","when","where","how","who","which","this","that","these","those","is","are","was","were","be","been","being","have","has","had","do","does","did","at","by","for","from","in","into","of","off","on","onto","out","over","to","up","with","about","some","any","it","its","you","your","we","our","they","their","he","his","she","her","i","my","me","not","no","can","will","just","o","a","os","as","um","uma","uns","umas","e","ou","mas","se","porque","como","quando","onde","que","quem","qual","este","esta","esse","essa","aquele","aquela","isto","isso","aquilo","\xE9","s\xE3o","foi","foram","ser","sendo","ter","tem","tinha","fazer","faz","fez","em","no","na","nos","nas","de","do","da","dos","das","por","para","com","sem","sobre","sob","ante","at\xE9","ao","aos","eu","meu","minha","voc\xEA","seu","sua","n\xF3s","nosso","nossa","eles","elas","dele","dela","n\xE3o","sim","muito","muita","mais","pelo","pela","pelos","pelas","num","numa","est\xE1","est\xE3o"]);function A1(t){return t.toLowerCase().replace(/[^\w\s\u00C0-\u00FF]/g,"").split(/\s+/).filter(e=>e.length>2).filter(e=>!T1.has(e))}function _d(t,e=20){let r=[t.title,t.title,t.description,t.keywords,t.keywords,t.visibleText].filter(Boolean).join(" "),n=A1(r),i=n.length,o={};for(let c of n)o[c]=(o[c]||0)+1;let s=Object.entries(o).map(([c,u])=>({word:c,count:u,density:i>0?parseFloat((u/i*100).toFixed(2)):0})).sort((c,u)=>u.count-c.count).slice(0,e);return{totalWords:i,uniqueWords:Object.keys(o).length,topKeywords:s}}function a(t,e,r,n){return{id:t.id,name:t.name,category:t.category,severity:t.severity,status:e,message:r,...n}}var U={title:{min:30,ideal:{min:50,max:60},max:70},metaDescription:{min:70,ideal:{min:120,max:155},max:160},og:{title:{min:30,ideal:{min:40,max:60},max:90},description:{min:55,ideal:{min:110,max:155},max:200},image:{dimensions:{width:1200,height:630},minDimensions:{width:600,height:315},ratio:1.91,maxSizeKb:300,maxSizeKbAbsolute:1e3,formats:["jpg","jpeg","png","webp"]},meta:{maxUrlLength:2e3,maxDescriptionEmojis:2,maxCapsPercentage:30},fallbacks:{requireMetaTitle:!0,requireMetaDescription:!0}},twitter:{title:{min:30,ideal:{min:40,max:55},max:70},description:{min:70,ideal:{min:125,max:200},max:200},image:{summary:{min:{width:144,height:144},max:{width:4096,height:4096}},summaryLarge:{min:{width:300,height:157},max:{width:4096,height:4096}},maxSizeMb:5}},headings:{h1:{count:1,minLength:20,maxLength:70},h2:{min:2,max:8}},images:{alt:{minLength:10,idealLength:{min:80,max:120},maxLength:150},maxSizeKb:100,maxSizeKbAcceptable:500},links:{minInternal:3,maxExternal:100,genericTexts:["clique aqui","click here","saiba mais","learn more","read more","leia mais","here","aqui"]},content:{minWordsSimple:150,minWordsRanking:300,minWordsAuthority:800,idealWordsAuthority:2500,maxWordsPerSentence:25,maxWordsPerParagraph:90,minWordsPerParagraph:40,minWordsPerH2Section:150,minWordsPerH3Section:50,imageWordRatio:{min:200,max:300},keywordDensity:{min:.8,max:2},redundancyTolerance:3},url:{maxLength:75,maxLengthAbsolute:2048},mobile:{minFontSize:16,minTouchTarget:48},thinContent:{minWords:150,veryThinWords:100},timing:{ttfb:{excellent:200,good:500,acceptable:800,poor:800},total:{excellent:1e3,good:2500,acceptable:4e3,poor:4e3},dns:{excellent:20,good:50,acceptable:100,poor:100},tcp:{excellent:50,good:100,acceptable:200,poor:200},tls:{excellent:100,good:200,acceptable:300,poor:300},download:{htmlSmall:{sizeKb:50,excellent:100,good:200,acceptable:400},htmlMedium:{sizeKb:200,excellent:300,good:500,acceptable:800},htmlLarge:{excellent:500,good:800,acceptable:1200}}},responseSize:{html:{good:102400,warning:512e3,poor:1048576},total:{good:1048576,warning:3145728,poor:5242880}}};var Wd=[{id:"title-exists",name:"Title Tag Exists",category:"title",severity:"error",description:"Page must have a title tag",check:t=>t.title?a({id:"title-exists",name:"Title Tag Exists",category:"title",severity:"error"},"info","Not applicable (page has title tag)",{recommendation:"This rule checks for the presence of a title tag"}):a({id:"title-exists",name:"Title Tag",category:"title",severity:"error"},"fail","Missing title tag",{recommendation:"Add a unique, descriptive title tag between 50-60 characters",evidence:{expected:"<title>Your Page Title - Brand Name</title>",found:"No <title> tag found in <head>",impact:"Search engines cannot display your page title in results, reducing click-through rate",example:`<head>
|
|
146
|
+
`;let c=await(await this.client.post(i,o,{...this.options.requestOptions,...r,headers:{...this.getHeaders(),"Content-Type":`multipart/mixed; boundary=${n}`,...r==null?void 0:r.headers}})).text();return this.parseBatchResponse(c)}async getMetadata(){return(await this.client.get(`${this.options.serviceRoot}/$metadata`,{...this.options.requestOptions,headers:{Accept:"application/xml"}})).text()}buildUrl(e,r,n){let i=`${this.options.serviceRoot}/${e}`;if(r!==void 0&&(i+=`(${this.formatKey(r)})`),n){let o=this.buildQueryString(n);o&&(i+=`?${o}`)}return i}getHeaders(){return{Accept:"application/json","Content-Type":"application/json","OData-Version":this.options.version,"OData-MaxVersion":"4.01"}}async request(e,r,n,i){let o={...this.options.requestOptions,...i,throwHttpErrors:!1,headers:{...this.getHeaders(),...i==null?void 0:i.headers}},s;switch(e){case"GET":s=await this.client.get(r,o);break;case"POST":s=await this.client.post(r,n,o);break;case"PUT":s=await this.client.put(r,n,o);break;case"PATCH":s=await this.client.patch(r,n,o);break;case"DELETE":s=await this.client.delete(r,o);break;default:throw new me(`Unsupported HTTP method: ${e}`,{feature:e})}return this.handleResponse(s)}async handleResponse(e){if(e.status===204)return;let r=await e.json();if(!e.ok){let n=r;throw n.error?new Xi(n.error):new We(e)}return r}formatKey(e){return typeof e=="string"?`'${e.replace(/'/g,"''")}'`:typeof e=="number"?e.toString():Object.entries(e).map(([r,n])=>`${r}=${this.formatKeyValue(n)}`).join(",")}formatKeyValue(e){return typeof e=="string"?`'${e.replace(/'/g,"''")}'`:e===null?"null":e instanceof Date?e.toISOString():String(e)}buildQueryString(e){let r=[];if(e.$select){let n=Array.isArray(e.$select)?e.$select.join(","):e.$select;r.push(`$select=${encodeURIComponent(n)}`)}if(e.$expand){let n=this.formatExpand(e.$expand);r.push(`$expand=${encodeURIComponent(n)}`)}if(e.$filter){let n=typeof e.$filter=="string"?e.$filter:this.formatFilterExpression(e.$filter);r.push(`$filter=${encodeURIComponent(n)}`)}if(e.$orderby){let n=this.formatOrderBy(e.$orderby);r.push(`$orderby=${encodeURIComponent(n)}`)}e.$top!==void 0&&r.push(`$top=${e.$top}`),e.$skip!==void 0&&r.push(`$skip=${e.$skip}`),e.$count!==void 0&&r.push(`$count=${e.$count}`),e.$search&&r.push(`$search=${encodeURIComponent(e.$search)}`),e.$format&&r.push(`$format=${e.$format}`);for(let[n,i]of Object.entries(e))!n.startsWith("$")&&i!==void 0&&r.push(`${n}=${encodeURIComponent(String(i))}`);return r.join("&")}formatExpand(e){return typeof e=="string"?e:Array.isArray(e)?e.map(r=>typeof r=="string"?r:this.formatExpandOption(r)).join(","):""}formatExpandOption(e){let r=e.property,n=[];if(e.select&&n.push(`$select=${e.select.join(",")}`),e.filter){let i=typeof e.filter=="string"?e.filter:this.formatFilterExpression(e.filter);n.push(`$filter=${i}`)}return e.orderby&&n.push(`$orderby=${this.formatOrderBy(e.orderby)}`),e.top!==void 0&&n.push(`$top=${e.top}`),e.skip!==void 0&&n.push(`$skip=${e.skip}`),e.count!==void 0&&n.push(`$count=${e.count}`),e.expand&&n.push(`$expand=${this.formatExpand(e.expand)}`),n.length>0&&(r+=`(${n.join(";")})`),r}formatOrderBy(e){return typeof e=="string"?e:e.map(r=>`${r.property} ${r.direction??"asc"}`).join(",")}formatFilterExpression(e){if(e.raw)return e.raw;let r=[];if(e.eq&&r.push(`${e.eq[0]} eq ${this.formatFilterValue(e.eq[1])}`),e.ne&&r.push(`${e.ne[0]} ne ${this.formatFilterValue(e.ne[1])}`),e.gt&&r.push(`${e.gt[0]} gt ${this.formatFilterValue(e.gt[1])}`),e.ge&&r.push(`${e.ge[0]} ge ${this.formatFilterValue(e.ge[1])}`),e.lt&&r.push(`${e.lt[0]} lt ${this.formatFilterValue(e.lt[1])}`),e.le&&r.push(`${e.le[0]} le ${this.formatFilterValue(e.le[1])}`),e.contains&&r.push(`contains(${e.contains[0]},'${e.contains[1]}')`),e.startswith&&r.push(`startswith(${e.startswith[0]},'${e.startswith[1]}')`),e.endswith&&r.push(`endswith(${e.endswith[0]},'${e.endswith[1]}')`),e.and){let n=e.and.map(i=>this.formatFilterExpression(i));r.push(`(${n.join(" and ")})`)}if(e.or){let n=e.or.map(i=>this.formatFilterExpression(i));r.push(`(${n.join(" or ")})`)}return e.not&&r.push(`not (${this.formatFilterExpression(e.not)})`),r.join(" and ")}formatFilterValue(e){return e===null?"null":typeof e=="string"?`'${e.replace(/'/g,"''")}'`:typeof e=="boolean"||typeof e=="number"?e.toString():e instanceof Date?e.toISOString():String(e)}parseBatchResponse(e){let r=[],n=e.match(/--batch[^\r\n]+/);if(!n)return r;let i=n[0],o=e.split(i).slice(1,-1);for(let s of o){let c=s.match(/HTTP\/\d\.\d\s+(\d+)/),u=s.match(/\r\n\r\n({[\s\S]*})/);r.push({status:c?parseInt(c[1],10):0,body:u?JSON.parse(u[1]):null})}return r}};function qd(t,e){return new Yi(t,e)}function g1(){return t=>{t.odata=(e,r)=>qd(t,{serviceRoot:e,...r})}}var Zi=class{entries=[];isRecording=!1;onEntry;start(){this.isRecording=!0,this.entries=[]}stop(){this.isRecording=!1}clear(){this.entries=[]}getEntries(){return this.entries}setOnEntry(e){this.onEntry=e}generateHar(){return{log:{version:"1.2",creator:{name:"Recker",version:"1.0.0"},pages:[],entries:this.entries}}}download(e="recker-session.har"){if(typeof Blob>"u"||typeof document>"u")throw new Error("download() is only supported in browser. Use save() in Node.js");let r=this.generateHar(),n=new Blob([JSON.stringify(r,null,2)],{type:"application/json"}),i=URL.createObjectURL(n),o=document.createElement("a");o.href=i,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(i)}async save(e){if(typeof window<"u")throw new Error("save() is only supported in Node.js. Use download() in browser");try{let r=await Promise.resolve().then(()=>(Ri(),zl)),n=this.generateHar();await r.writeFile(e,JSON.stringify(n,null,2))}catch(r){throw new Error(`Failed to save HAR: ${r.message}`)}}plugin(){return e=>{e.hooks.afterResponse||(e.hooks.afterResponse=[]),e.hooks.afterResponse.push(async(r,n)=>{var o,s,c,u,l;if(!this.isRecording)return;let i={startedDateTime:new Date().toISOString(),time:((o=n.timings)==null?void 0:o.total)||0,request:{method:r.method,url:r.url,httpVersion:"HTTP/1.1",headers:this.mapHeaders(r.headers),queryString:[],cookies:[],headersSize:-1,bodySize:-1},response:{status:n.status,statusText:n.statusText,httpVersion:"HTTP/1.1",headers:this.mapHeaders(n.headers),cookies:[],content:{size:-1,mimeType:n.headers.get("content-type")||"",text:"[Body capture disabled]"},redirectURL:"",headersSize:-1,bodySize:-1},cache:{},timings:{send:0,wait:((s=n.timings)==null?void 0:s.firstByte)||0,receive:(((c=n.timings)==null?void 0:c.total)||0)-(((u=n.timings)==null?void 0:u.firstByte)||0)}};return this.entries.push(i),(l=this.onEntry)==null||l.call(this,i),n})}}mapHeaders(e){let r=[];return e.forEach((n,i)=>r.push({name:i,value:n})),r}},yr=new Zi,y1=t=>(yr.start(),t!=null&&t.onEntry&&yr.setOnEntry(t.onEntry),yr.plugin());function Cs(t){return async(e,r)=>{if(t.latency&&t.latency>0&&await new Promise(n=>setTimeout(n,t.latency)),t.errorRate&&t.errorRate>0&&Math.random()<t.errorRate)throw new Error(t.errorMessage||"Simulated Network Error (Packet Loss)");return r(e)}}var b1="recker-cache",it="entries";var Es=class{dbPromise;constructor(e=b1){this.dbPromise=this.openDB(e)}openDB(e){return new Promise((r,n)=>{if(typeof indexedDB>"u"){n(new Error("IndexedDB is not supported in this environment"));return}let i=indexedDB.open(e,1);i.onupgradeneeded=o=>{let s=o.target.result;s.objectStoreNames.contains(it)||s.createObjectStore(it,{keyPath:"key"})},i.onsuccess=o=>{r(o.target.result)},i.onerror=o=>{n(o.target.error)}})}async get(e){let r=await this.dbPromise;return new Promise((n,i)=>{let c=r.transaction(it,"readonly").objectStore(it).get(e);c.onsuccess=()=>{let u=c.result;if(!u){n(null);return}if(u.expiresAt&&Date.now()>u.expiresAt){this.delete(e).catch(()=>{}),n(null);return}n(u.value)},c.onerror=()=>i(c.error)})}async set(e,r,n){let i=await this.dbPromise;return new Promise((o,s)=>{let u=i.transaction(it,"readwrite").objectStore(it),l=Date.now()+n,d={key:e,value:r,expiresAt:l},p=u.put(d);p.onsuccess=()=>o(),p.onerror=()=>s(p.error)})}async delete(e){let r=await this.dbPromise;return new Promise((n,i)=>{let c=r.transaction(it,"readwrite").objectStore(it).delete(e);c.onsuccess=()=>n(),c.onerror=()=>i(c.error)})}async clear(){let e=await this.dbPromise;return new Promise((r,n)=>{let s=e.transaction(it,"readwrite").objectStore(it).clear();s.onsuccess=()=>r(),s.onerror=()=>n(s.error)})}};On();jn();var v1={utf8:"utf-8",utf_8:"utf-8",utf16:"utf-16",utf_16:"utf-16",utf16le:"utf-16le",utf16be:"utf-16be",latin1:"iso-8859-1","latin-1":"iso-8859-1","iso8859-1":"iso-8859-1","iso_8859-1":"iso-8859-1",cp1252:"windows-1252",win1252:"windows-1252","us-ascii":"ascii",usascii:"ascii",gbk:"gbk",gb2312:"gb2312",gb18030:"gb18030","shift-jis":"shift_jis",shiftjis:"shift_jis",sjis:"shift_jis","euc-jp":"euc-jp",eucjp:"euc-jp","iso-2022-jp":"iso-2022-jp","euc-kr":"euc-kr",euckr:"euc-kr"};function Tt(t){let e=t.toLowerCase().trim();return v1[e]||e}function $d(t){if(!t)return null;let e=t.match(/charset=["']?([^"';\s]+)["']?/i);return e?Tt(e[1]):null}function Ds(t){return t.length<2?null:t.length>=4&&t[0]===0&&t[1]===0&&t[2]===254&&t[3]===255?{charset:"utf-32be",source:"bom",confidence:"high"}:t.length>=4&&t[0]===255&&t[1]===254&&t[2]===0&&t[3]===0?{charset:"utf-32le",source:"bom",confidence:"high"}:t.length>=3&&t[0]===239&&t[1]===187&&t[2]===191?{charset:"utf-8",source:"bom",confidence:"high"}:t[0]===254&&t[1]===255?{charset:"utf-16be",source:"bom",confidence:"high"}:t[0]===255&&t[1]===254?{charset:"utf-16le",source:"bom",confidence:"high"}:null}function Od(t){let e=Ds(t);if(!e)return t;switch(e.charset){case"utf-8":return t.slice(3);case"utf-16le":case"utf-16be":return t.slice(2);case"utf-32le":case"utf-32be":return t.slice(4);default:return t}}function zd(t){let e=t.match(/<\?xml[^?]*encoding=["']([^"']+)["'][^?]*\?>/i);return e?Tt(e[1]):null}function jd(t){let e=t.slice(0,1024),r=e.match(/<meta[^>]+charset=["']?([^"'>\s]+)["']?/i);if(r)return Tt(r[1]);let n=e.match(/<meta[^>]+http-equiv=["']?Content-Type["']?[^>]+content=["']?[^"'>]*charset=([^"'>\s;]+)/i);if(n)return Tt(n[1]);let i=e.match(/<meta[^>]+content=["']?[^"'>]*charset=([^"'>\s;]+)[^>]+http-equiv=["']?Content-Type["']?/i);return i?Tt(i[1]):null}function w1(t,e){let r=$d(e||null);if(r)return{charset:r,source:"header",confidence:"high"};let n=Ds(t);if(n)return n;let o=new TextDecoder("utf-8",{fatal:!1}).decode(t.slice(0,1024));if(o.trimStart().startsWith("<?xml")){let s=zd(o);if(s)return{charset:s,source:"xml",confidence:"medium"}}if(o.toLowerCase().includes("<html")||o.toLowerCase().includes("<!doctype html")){let s=jd(o);if(s)return{charset:s,source:"html-meta",confidence:"medium"}}return{charset:"utf-8",source:"default",confidence:"low"}}function x1(t,e){let r="utf-8";typeof e=="string"?r=Tt(e):e&&(r=e.charset);let n=Od(t);try{return new TextDecoder(r).decode(n)}catch{return new TextDecoder("utf-8",{fatal:!1}).decode(n)}}function k1(){return["utf-8","utf-16le","utf-16be","iso-8859-1","iso-8859-2","iso-8859-3","iso-8859-4","iso-8859-5","iso-8859-6","iso-8859-7","iso-8859-8","iso-8859-9","iso-8859-10","iso-8859-11","iso-8859-13","iso-8859-14","iso-8859-15","iso-8859-16","windows-1250","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","koi8-r","koi8-u","gbk","gb2312","gb18030","big5","big5-hkscs","shift_jis","euc-jp","iso-2022-jp","euc-kr"]}function T1(t){try{return new TextDecoder(Tt(t)),!0}catch{return!1}}tn();Ka();var S1=new Set(["a","an","the","and","or","but","if","because","as","what","when","where","how","who","which","this","that","these","those","is","are","was","were","be","been","being","have","has","had","do","does","did","at","by","for","from","in","into","of","off","on","onto","out","over","to","up","with","about","some","any","it","its","you","your","we","our","they","their","he","his","she","her","i","my","me","not","no","can","will","just","o","a","os","as","um","uma","uns","umas","e","ou","mas","se","porque","como","quando","onde","que","quem","qual","este","esta","esse","essa","aquele","aquela","isto","isso","aquilo","\xE9","s\xE3o","foi","foram","ser","sendo","ter","tem","tinha","fazer","faz","fez","em","no","na","nos","nas","de","do","da","dos","das","por","para","com","sem","sobre","sob","ante","at\xE9","ao","aos","eu","meu","minha","voc\xEA","seu","sua","n\xF3s","nosso","nossa","eles","elas","dele","dela","n\xE3o","sim","muito","muita","mais","pelo","pela","pelos","pelas","num","numa","est\xE1","est\xE3o"]);function A1(t){return t.toLowerCase().replace(/[^\w\s\u00C0-\u00FF]/g,"").split(/\s+/).filter(e=>e.length>2).filter(e=>!S1.has(e))}function _d(t,e=20){let r=[t.title,t.title,t.description,t.keywords,t.keywords,t.visibleText].filter(Boolean).join(" "),n=A1(r),i=n.length,o={};for(let c of n)o[c]=(o[c]||0)+1;let s=Object.entries(o).map(([c,u])=>({word:c,count:u,density:i>0?parseFloat((u/i*100).toFixed(2)):0})).sort((c,u)=>u.count-c.count).slice(0,e);return{totalWords:i,uniqueWords:Object.keys(o).length,topKeywords:s}}function a(t,e,r,n){return{id:t.id,name:t.name,category:t.category,severity:t.severity,status:e,message:r,...n}}var U={title:{min:30,ideal:{min:50,max:60},max:70},metaDescription:{min:70,ideal:{min:120,max:155},max:160},og:{title:{min:30,ideal:{min:40,max:60},max:90},description:{min:55,ideal:{min:110,max:155},max:200},image:{dimensions:{width:1200,height:630},minDimensions:{width:600,height:315},ratio:1.91,maxSizeKb:300,maxSizeKbAbsolute:1e3,formats:["jpg","jpeg","png","webp"]},meta:{maxUrlLength:2e3,maxDescriptionEmojis:2,maxCapsPercentage:30},fallbacks:{requireMetaTitle:!0,requireMetaDescription:!0}},twitter:{title:{min:30,ideal:{min:40,max:55},max:70},description:{min:70,ideal:{min:125,max:200},max:200},image:{summary:{min:{width:144,height:144},max:{width:4096,height:4096}},summaryLarge:{min:{width:300,height:157},max:{width:4096,height:4096}},maxSizeMb:5}},headings:{h1:{count:1,minLength:20,maxLength:70},h2:{min:2,max:8}},images:{alt:{minLength:10,idealLength:{min:80,max:120},maxLength:150},maxSizeKb:100,maxSizeKbAcceptable:500},links:{minInternal:3,maxExternal:100,genericTexts:["clique aqui","click here","saiba mais","learn more","read more","leia mais","here","aqui"]},content:{minWordsSimple:150,minWordsRanking:300,minWordsAuthority:800,idealWordsAuthority:2500,maxWordsPerSentence:25,maxWordsPerParagraph:90,minWordsPerParagraph:40,minWordsPerH2Section:150,minWordsPerH3Section:50,imageWordRatio:{min:200,max:300},keywordDensity:{min:.8,max:2},redundancyTolerance:3},url:{maxLength:75,maxLengthAbsolute:2048},mobile:{minFontSize:16,minTouchTarget:48},thinContent:{minWords:150,veryThinWords:100},timing:{ttfb:{excellent:200,good:500,acceptable:800,poor:800},total:{excellent:1e3,good:2500,acceptable:4e3,poor:4e3},dns:{excellent:20,good:50,acceptable:100,poor:100},tcp:{excellent:50,good:100,acceptable:200,poor:200},tls:{excellent:100,good:200,acceptable:300,poor:300},download:{htmlSmall:{sizeKb:50,excellent:100,good:200,acceptable:400},htmlMedium:{sizeKb:200,excellent:300,good:500,acceptable:800},htmlLarge:{excellent:500,good:800,acceptable:1200}}},responseSize:{html:{good:102400,warning:512e3,poor:1048576},total:{good:1048576,warning:3145728,poor:5242880}}};var Wd=[{id:"title-exists",name:"Title Tag Exists",category:"title",severity:"error",description:"Page must have a title tag",check:t=>t.title?a({id:"title-exists",name:"Title Tag Exists",category:"title",severity:"error"},"info","Not applicable (page has title tag)",{recommendation:"This rule checks for the presence of a title tag"}):a({id:"title-exists",name:"Title Tag",category:"title",severity:"error"},"fail","Missing title tag",{recommendation:"Add a unique, descriptive title tag between 50-60 characters",evidence:{expected:"<title>Your Page Title - Brand Name</title>",found:"No <title> tag found in <head>",impact:"Search engines cannot display your page title in results, reducing click-through rate",example:`<head>
|
|
147
147
|
<title>Product Name - Buy Online | YourStore</title>
|
|
148
148
|
</head>`}})},{id:"title-length",name:"Title Length",category:"title",severity:"warning",description:"Title should be between 50-60 characters",check:t=>{if(!t.title)return a({id:"title-length",name:"Title Length",category:"title",severity:"warning"},"info","Not applicable (no title tag)",{recommendation:"This rule checks title length when a title tag is present"});let e=t.titleLength??t.title.length,{min:r,ideal:n,max:i}=U.title;return e<r?a({id:"title-length",name:"Title Length",category:"title",severity:"warning"},"warn",`Title too short (${e} chars, min: ${r})`,{value:e,recommendation:`Expand title to ${n.min}-${n.max} characters. Ensure it includes target keywords and encourages clicks.`,evidence:{found:`${e} characters`,expected:`${n.min}-${n.max} characters`,impact:"Short titles limit keyword potential and may be replaced by Google."}}):e>i?a({id:"title-length",name:"Title Length",category:"title",severity:"warning"},"warn",`Title too long (${e} chars, will be truncated after ~60)`,{value:e,recommendation:`Shorten title to under ${n.max} characters to ensure visibility in SERPs.`,evidence:{found:`${e} characters`,expected:`< ${i} characters`,impact:"Truncated titles may lose click-through rate if key information is hidden."}}):e>=n.min&&e<=n.max?a({id:"title-length",name:"Title Length",category:"title",severity:"warning"},"pass",`Title length ideal (${e} chars)`,{value:e}):a({id:"title-length",name:"Title Length",category:"title",severity:"warning"},"pass",`Title length OK (${e} chars)`,{value:e})}},{id:"title-no-caps",name:"Title Case",category:"title",severity:"warning",description:"Title should not be ALL CAPS",check:t=>{if(!t.title)return a({id:"title-no-caps",name:"Title Case",category:"title",severity:"warning"},"info","Not applicable (no title tag)",{recommendation:"This rule checks title capitalization when a title tag is present"});let e=t.title.split(/\s+/).filter(n=>n.length>3);return e.filter(n=>n===n.toUpperCase()&&/[A-Z]/.test(n)).length>e.length/2?a({id:"title-no-caps",name:"Title Case",category:"title",severity:"warning"},"warn","Title appears to be ALL CAPS",{recommendation:"Use title case or sentence case for better readability and click-through rate.",evidence:{found:t.title,expected:"Normal capitalization (Title Case or Sentence case)",impact:"ALL CAPS titles look spammy and may be ignored by users. Google may also rewrite them.",example:'Instead of "BUY SHOES ONLINE NOW", use "Buy Shoes Online - Free Shipping"'}}):a({id:"title-no-caps",name:"Title Case",category:"title",severity:"warning"},"info","Not applicable (title uses proper capitalization)",{recommendation:"This rule checks for excessive ALL CAPS usage in title"})}},{id:"title-h1-different",name:"Title vs H1",category:"title",severity:"warning",description:"Title and H1 should be similar but not identical",check:t=>{if(!t.title||!t.h1Text)return a({id:"title-h1-different",name:"Title vs H1",category:"title",severity:"warning"},"info","Not applicable (missing title or H1)",{recommendation:"This rule compares title and H1 when both are present"});let e=t.title.toLowerCase().trim(),r=t.h1Text.toLowerCase().trim();return e===r?a({id:"title-h1-different",name:"Title vs H1",category:"title",severity:"warning"},"warn","Title and H1 are identical",{recommendation:"Consider making H1 slightly different from title for variety",evidence:{found:`Both are: "${t.title}"`,expected:"Similar but not identical text (variation helps SEO)",impact:"Identical title and H1 waste an opportunity to include related keywords and may appear redundant",example:`Title: "Buy Running Shoes Online - Free Shipping"
|
|
149
149
|
H1: "Best Running Shoes - Shop Now"`}}):a({id:"title-h1-different",name:"Title vs H1",category:"title",severity:"warning"},"info","Not applicable (title and H1 are different)",{recommendation:"This rule checks if title and H1 are identical"})}},{id:"meta-description-exists",name:"Meta Description Exists",category:"meta",severity:"error",description:"Page must have a meta description",check:t=>t.metaDescription?a({id:"meta-description-exists",name:"Meta Description Exists",category:"meta",severity:"error"},"info","Not applicable (page has meta description)",{recommendation:"This rule checks for the presence of a meta description"}):a({id:"meta-description-exists",name:"Meta Description",category:"meta",severity:"error"},"fail","Missing meta description",{recommendation:"Add a compelling meta description (120-155 characters) that summarizes the page content",evidence:{expected:'<meta name="description" content="Your page description here...">',found:"No meta description tag found",impact:"Search engines may generate their own snippet, which may not be optimal for click-through rate",example:'<meta name="description" content="Shop the best deals on electronics. Free shipping on orders over $50. 30-day returns.">'}})},{id:"meta-description-length",name:"Meta Description Length",category:"meta",severity:"warning",description:"Meta description should be 120-155 characters",check:t=>{if(!t.metaDescription)return a({id:"meta-description-length",name:"Meta Description Length",category:"meta",severity:"warning"},"info","Not applicable (no meta description)",{recommendation:"This rule checks meta description length when present"});let e=t.metaDescriptionLength??t.metaDescription.length,{min:r,ideal:n,max:i}=U.metaDescription;return e<r?a({id:"meta-description-length",name:"Meta Description Length",category:"meta",severity:"warning"},"warn",`Description too short (${e} chars, min: ${r})`,{value:e,recommendation:`Expand to ${n.min}-${n.max} characters. Summarize content and include keywords naturally.`,evidence:{found:`${e} characters`,expected:`${n.min}-${n.max} characters`,impact:"Short descriptions may be ignored by search engines in favor of auto-generated snippets."}}):e>i?a({id:"meta-description-length",name:"Meta Description Length",category:"meta",severity:"warning"},"warn",`Description may be truncated (${e} chars, max: ${i})`,{value:e,recommendation:`Shorten to under ${i} characters. Ensure the most important info is at the start.`,evidence:{found:`${e} characters`,expected:`< ${i} characters`,impact:"Truncated descriptions look unprofessional and may lower CTR."}}):e>=n.min&&e<=n.max?a({id:"meta-description-length",name:"Meta Description Length",category:"meta",severity:"warning"},"pass",`Description length ideal (${e} chars)`,{value:e}):a({id:"meta-description-length",name:"Meta Description Length",category:"meta",severity:"warning"},"pass",`Description length OK (${e} chars)`,{value:e})}},{id:"meta-description-unique",name:"Description Quality",category:"meta",severity:"info",description:"Meta description should be unique and compelling",check:t=>{if(!t.metaDescription)return a({id:"meta-description-unique",name:"Description Quality",category:"meta",severity:"info"},"info","Not applicable (no meta description)",{recommendation:"This rule checks meta description quality when present"});let e=t.metaDescription.toLowerCase(),r=["lorem ipsum","description here","todo","placeholder","change this"];for(let n of r)if(e.includes(n))return a({id:"meta-description-unique",name:"Description Quality",category:"meta",severity:"info"},"warn","Meta description appears to be a placeholder",{recommendation:"Replace with a unique, compelling description for better CTR",evidence:{found:`Contains placeholder text: "${n}"`,expected:"Unique, compelling description that summarizes page content",impact:"Placeholder text looks unprofessional and will hurt click-through rates in search results",example:'Instead of "Description here", use "Shop premium running shoes with free shipping on orders over $50. 30-day returns."'}});return a({id:"meta-description-unique",name:"Description Quality",category:"meta",severity:"info"},"info","Not applicable (description has good quality)",{recommendation:"This rule checks for placeholder patterns in meta description"})}},{id:"og-title-exists",name:"OG Title Exists",category:"og",severity:"error",description:"og:title must be defined (do not rely on <title>)",check:t=>t.ogTitle?a({id:"og-title-exists",name:"OG Title Exists",category:"og",severity:"error"},"info","Not applicable (page has og:title)",{recommendation:"This rule checks for the presence of og:title meta tag"}):a({id:"og-title-exists",name:"OG Title",category:"og",severity:"error"},"fail","Missing og:title",{recommendation:"Add og:title meta tag for better social sharing on Facebook, LinkedIn, etc.",evidence:{expected:'<meta property="og:title" content="Your Page Title">',found:"No og:title meta tag found",impact:"Social platforms may use <title> or auto-generate a title, which may not be optimal",example:'<meta property="og:title" content="Amazing Product - 50% Off Today Only!">'}})},{id:"og-title-length",name:"OG Title Length",category:"og",severity:"warning",description:"og:title should be 60-70 characters (max 90)",check:t=>{if(!t.ogTitle)return a({id:"og-title-length",name:"OG Title Length",category:"og",severity:"warning"},"info","Not applicable (no og:title)",{recommendation:"This rule checks og:title length when present"});let e=t.ogTitle.length,{ideal:r,max:n}=U.og.title;return e>n?a({id:"og-title-length",name:"OG Title Length",category:"og",severity:"warning"},"warn",`og:title too long (${e} chars, truncates at ~${n})`,{value:e,recommendation:`Shorten to ${r.max} characters`,evidence:{found:`${e} characters`,expected:`${r.min}-${r.max} characters (max ${n})`,impact:"Long titles get truncated on Facebook, LinkedIn, and other platforms, potentially hiding key information",example:'Instead of a 100-char title, use "Amazing Product - 50% Off Today | YourBrand" (48 chars)'}}):e>=r.min&&e<=r.max?a({id:"og-title-length",name:"OG Title Length",category:"og",severity:"warning"},"pass",`og:title length ideal (${e} chars)`,{value:e}):a({id:"og-title-length",name:"OG Title Length",category:"og",severity:"warning"},"pass",`og:title length OK (${e} chars)`,{value:e})}},{id:"og-title-no-emoji",name:"OG Title No Emoji",category:"og",severity:"warning",description:"og:title should not contain emojis (some networks remove them)",check:t=>t.ogTitle?/[\u{1F300}-\u{1F9FF}]|[\u{2600}-\u{26FF}]|[\u{2700}-\u{27BF}]/u.test(t.ogTitle)?a({id:"og-title-no-emoji",name:"OG Title Emoji",category:"og",severity:"warning"},"warn","og:title contains emojis (some networks remove them)",{recommendation:"Remove emojis from og:title for consistent display",evidence:{found:`Title contains emojis: "${t.ogTitle}"`,expected:"Text without emoji characters",impact:"Facebook, LinkedIn, and some other platforms strip emojis from titles, causing inconsistent display",example:'Instead of "\u{1F680} Amazing Product", use "Amazing Product - Fast Delivery"'}}):a({id:"og-title-no-emoji",name:"OG Title No Emoji",category:"og",severity:"warning"},"info","Not applicable (og:title has no emojis)",{recommendation:"This rule checks for emoji characters in og:title"}):a({id:"og-title-no-emoji",name:"OG Title No Emoji",category:"og",severity:"warning"},"info","Not applicable (no og:title)",{recommendation:"This rule checks for emojis in og:title when present"})},{id:"og-description-exists",name:"OG Description Exists",category:"og",severity:"error",description:"og:description must be defined",check:t=>t.ogDescription?a({id:"og-description-exists",name:"OG Description Exists",category:"og",severity:"error"},"info","Not applicable (page has og:description)",{recommendation:"This rule checks for the presence of og:description meta tag"}):a({id:"og-description-exists",name:"OG Description",category:"og",severity:"error"},"fail","Missing og:description",{recommendation:"Add og:description for compelling social media previews",evidence:{expected:'<meta property="og:description" content="Your description here...">',found:"No og:description meta tag found",impact:"Social shares may have no description or use auto-generated text",example:'<meta property="og:description" content="Discover our latest collection. Shop now and get free shipping on orders over $50.">'}})},{id:"og-description-length",name:"OG Description Length",category:"og",severity:"warning",description:"og:description should be 110-155 characters (max 200)",check:t=>{if(!t.ogDescription)return a({id:"og-description-length",name:"OG Description Length",category:"og",severity:"warning"},"info","Not applicable (no og:description)",{recommendation:"This rule checks og:description length when present"});let e=t.ogDescription.length,{ideal:r,max:n}=U.og.description;return e>n?a({id:"og-description-length",name:"OG Description Length",category:"og",severity:"warning"},"warn",`og:description too long (${e} chars, truncates at ~${n})`,{value:e,recommendation:`Shorten to ${r.max} characters`,evidence:{found:`${e} characters`,expected:`${r.min}-${r.max} characters (max ${n})`,impact:"Descriptions longer than 200 chars get truncated on social platforms, hiding important information",example:'Keep description concise: "Shop premium running shoes. Free shipping over $50. 30-day returns." (85 chars)'}}):e>=r.min&&e<=r.max?a({id:"og-description-length",name:"OG Description Length",category:"og",severity:"warning"},"pass",`og:description length ideal (${e} chars)`,{value:e}):a({id:"og-description-length",name:"OG Description Length",category:"og",severity:"warning"},"pass",`og:description length OK (${e} chars)`,{value:e})}},{id:"og-image-exists",name:"OG Image Exists",category:"og",severity:"error",description:"og:image must be defined and publicly accessible",check:t=>t.ogImage?a({id:"og-image-exists",name:"OG Image Exists",category:"og",severity:"error"},"info","Not applicable (page has og:image)",{recommendation:"This rule checks for the presence of og:image meta tag"}):a({id:"og-image-exists",name:"OG Image",category:"og",severity:"error"},"fail","Missing og:image",{recommendation:"Add og:image with a publicly accessible image (1200\xD7630px recommended)",evidence:{expected:'<meta property="og:image" content="https://yoursite.com/image.jpg">',found:"No og:image meta tag found",impact:"Social shares will have no image preview, significantly reducing engagement",example:`<meta property="og:image" content="https://yoursite.com/og-image.jpg">
|
|
@@ -409,9 +409,9 @@ Canonical: ${t.canonicalUrl}`}})},{id:"canonical-broken",name:"Broken Canonical
|
|
|
409
409
|
<!-- OR -->
|
|
410
410
|
<link rel="canonical" href="..." /> <!-- Remove this -->`}}):a({id:"canonical-noindex-conflict",name:"Canonical + Noindex Conflict",category:"canonicalization",severity:"warning"},"pass","No conflicting noindex and canonical directives")}];function eo(t){try{let e=new URL(t);return`${e.protocol}//${e.hostname}${e.pathname.replace(/\/$/,"")}${e.search}`.toLowerCase()}catch{return t.toLowerCase()}}var wp=[{id:"analytics-installed",name:"Analytics Installed",category:"technical",severity:"warning",description:"Page should have analytics tracking installed",check:t=>{var e,r,n;return t.analyticsDetected===void 0?a({id:"analytics-installed",name:"Analytics Installed",category:"technical",severity:"warning"},"info","Not applicable (analytics detection data unavailable)",{recommendation:"This rule checks for analytics tracking to measure user behavior"}):!t.analyticsDetected||((e=t.analyticsProviders)==null?void 0:e.length)===0?a({id:"analytics-installed",name:"Analytics Installed",category:"technical",severity:"warning"},"warn","No analytics tracking detected",{recommendation:"Install analytics to understand user behavior and optimize conversions.",evidence:{found:"No analytics scripts detected",expected:"Google Analytics, GTM, or other analytics provider",impact:"Without analytics, you cannot measure traffic sources, user behavior, conversion rates, or content performance. The average conversion rate is only 2.35% - optimization requires data.",example:`<!-- Google Analytics 4 -->
|
|
411
411
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"><\/script>`,learnMore:"https://marketingplatform.google.com/about/analytics/"}}):a({id:"analytics-installed",name:"Analytics Installed",category:"technical",severity:"warning"},"pass",`Analytics detected: ${(r=t.analyticsProviders)==null?void 0:r.join(", ")}`,{value:(n=t.analyticsProviders)==null?void 0:n.join(", ")})}},{id:"google-analytics-4",name:"Google Analytics 4",category:"technical",severity:"info",description:"Check for modern GA4 vs deprecated Universal Analytics",check:t=>{if(!t.analyticsProviders||t.analyticsProviders.length===0)return a({id:"google-analytics-4",name:"Google Analytics 4",category:"technical",severity:"info"},"info","Not applicable (no analytics providers detected)",{recommendation:"This rule checks for modern Google Analytics 4 implementation"});let e=t.analyticsProviders.some(n=>n==="Universal Analytics (UA)"),r=t.analyticsProviders.some(n=>n==="Google Analytics 4 (GA4)");return e&&!r?a({id:"google-analytics-4",name:"Google Analytics 4",category:"technical",severity:"info"},"warn","Using deprecated Universal Analytics (UA) without GA4",{recommendation:"Migrate to Google Analytics 4 - Universal Analytics stopped processing data July 2023.",evidence:{found:"Universal Analytics (analytics.js or ga.js)",expected:"Google Analytics 4 (gtag.js with G-XXXXXX)",impact:"Universal Analytics is deprecated and no longer collects data. GA4 offers better cross-platform tracking, machine learning insights, and privacy-focused measurement.",example:'<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"><\/script>',learnMore:"https://support.google.com/analytics/answer/11583528"}}):r?a({id:"google-analytics-4",name:"Google Analytics 4",category:"technical",severity:"info"},"pass","Using modern Google Analytics 4"):a({id:"google-analytics-4",name:"Google Analytics 4",category:"technical",severity:"info"},"pass","Using other analytics provider (not Google Analytics)")}},{id:"google-tag-manager",name:"Google Tag Manager",category:"technical",severity:"info",description:"Google Tag Manager enables flexible tag management without code changes",check:t=>t.analyticsProviders?t.analyticsProviders.some(r=>r==="Google Tag Manager")?a({id:"google-tag-manager",name:"Google Tag Manager",category:"technical",severity:"info"},"pass","Google Tag Manager detected",{evidence:{found:"GTM container script",impact:"GTM allows marketing teams to manage tags without developer intervention, improving agility."}}):t.analyticsDetected&&t.analyticsProviders.length>0?a({id:"google-tag-manager",name:"Google Tag Manager",category:"technical",severity:"info"},"info","Consider using Google Tag Manager for easier tag management",{recommendation:"GTM centralizes all tracking scripts and enables non-developers to manage tags.",evidence:{found:`Direct analytics scripts: ${t.analyticsProviders.join(", ")}`,expected:"Google Tag Manager container managing all tags",impact:"GTM provides version control, preview mode, and easy updates without code changes. Best practice for sites with multiple tracking tools.",learnMore:"https://tagmanager.google.com/"}}):a({id:"google-tag-manager",name:"Google Tag Manager",category:"technical",severity:"info"},"pass","No analytics detected or GTM not needed"):a({id:"google-tag-manager",name:"Google Tag Manager",category:"technical",severity:"info"},"info","Not applicable (analytics provider data unavailable)",{recommendation:"This rule checks for Google Tag Manager for easier tag management"})},{id:"multiple-analytics-warning",name:"Multiple Analytics Scripts",category:"performance",severity:"warning",description:"Too many analytics scripts can impact page performance",check:t=>!t.analyticsProviders||t.analyticsProviders.length<4?a({id:"multiple-analytics-warning",name:"Multiple Analytics Scripts",category:"performance",severity:"warning"},"info","Not applicable (acceptable number of analytics scripts)",{recommendation:"This rule warns when too many analytics scripts impact performance"}):a({id:"multiple-analytics-warning",name:"Multiple Analytics Scripts",category:"performance",severity:"warning"},"warn",`${t.analyticsProviders.length} analytics scripts detected`,{value:t.analyticsProviders.length,recommendation:"Consolidate analytics tools to reduce page load impact.",evidence:{found:t.analyticsProviders.join(", "),expected:"1-3 analytics tools",impact:"Each analytics script adds HTTP requests, JavaScript execution time, and can slow page rendering. Too many tools can impact Core Web Vitals and user experience.",learnMore:"https://web.dev/articles/optimize-third-party-javascript"}})},{id:"heatmap-tool",name:"Heatmap/Session Recording",category:"technical",severity:"info",description:"Heatmap tools like Hotjar help visualize user behavior",check:t=>{if(!t.analyticsProviders)return a({id:"heatmap-tool",name:"Heatmap Tool",category:"technical",severity:"info"},"info","Not applicable (analytics provider data unavailable)",{recommendation:"This rule checks for heatmap and session recording tools"});let e=["Hotjar","Microsoft Clarity","FullStory","Lucky Orange","Crazy Egg"],r=t.analyticsProviders.filter(n=>e.includes(n));return r.length>0?a({id:"heatmap-tool",name:"Heatmap Tool",category:"technical",severity:"info"},"pass",`Heatmap/session recording detected: ${r.join(", ")}`,{evidence:{found:r.join(", "),impact:"Heatmaps and session recordings help identify UX issues, understand user journeys, and optimize conversion paths."}}):a({id:"heatmap-tool",name:"Heatmap Tool",category:"technical",severity:"info"},"pass","No heatmap tool detected (optional)")}},{id:"cta-presence",name:"Call-to-Action Elements",category:"content",severity:"info",description:"Page should have clear call-to-action elements",check:t=>t.ctaButtonsCount===void 0?a({id:"cta-presence",name:"Call-to-Action Elements",category:"content",severity:"info"},"info","Not applicable (CTA button data unavailable)",{recommendation:"This rule checks for clear call-to-action elements to guide conversions"}):t.ctaButtonsCount===0?a({id:"cta-presence",name:"Call-to-Action Elements",category:"content",severity:"info"},"info","No clear call-to-action buttons detected",{recommendation:"Add clear CTAs to guide users toward conversion.",evidence:{found:"No buttons with action-oriented text",expected:'Buttons like "Get Started", "Sign Up", "Buy Now", "Contact Us"',impact:"Clear CTAs guide users through the conversion funnel. Pages without obvious next steps lose potential conversions.",example:`<button class="cta">Get Started Free</button>
|
|
412
|
-
<a href="/signup" class="btn-primary">Start Your Trial</a>`}}):a({id:"cta-presence",name:"Call-to-Action Elements",category:"content",severity:"info"},"pass",`${t.ctaButtonsCount} call-to-action element(s) found`,{value:t.ctaButtonsCount})},{id:"form-presence",name:"Form Elements",category:"content",severity:"info",description:"Detect forms for lead generation or conversion",check:t=>t.formCount===void 0?a({id:"form-presence",name:"Form Elements",category:"content",severity:"info"},"info","Not applicable (form count data unavailable)",{recommendation:"This rule checks for forms for lead generation and conversions"}):t.formCount>0?a({id:"form-presence",name:"Form Elements",category:"content",severity:"info"},"pass",`${t.formCount} form(s) detected for lead capture/conversion`,{value:t.formCount,evidence:{found:`${t.formCount} form elements`,impact:"Forms are essential for lead generation, contact, and conversions."}}):a({id:"form-presence",name:"Form Elements",category:"content",severity:"info"},"pass","No forms detected (may not be needed for this page type)")},{id:"contact-methods",name:"Contact Methods",category:"content",severity:"info",description:"Page should provide contact methods for user trust",check:t=>{let e=[];return t.emailsFound&&t.emailsFound.length>0&&e.push("email"),t.hasPhoneOnPage&&e.push("phone"),t.hasWhatsAppLink&&e.push("WhatsApp"),e.length===0&&t.hasContactPageLink?a({id:"contact-methods",name:"Contact Methods",category:"content",severity:"info"},"pass","Contact page link found",{evidence:{found:"Link to contact page"}}):e.length>0?a({id:"contact-methods",name:"Contact Methods",category:"content",severity:"info"},"pass",`Contact methods found: ${e.join(", ")}`,{value:e.join(", ")}):a({id:"contact-methods",name:"Contact Methods",category:"content",severity:"info"},"pass","No direct contact methods detected (may not be needed)")}},{id:"rss-feed-present",name:"RSS Feed",category:"technical",severity:"info",description:"RSS feeds help users and search engines discover new content",check:t=>t.hasRssFeed===void 0?a({id:"rss-feed-present",name:"RSS Feed",category:"technical",severity:"info"},"info","Not applicable (RSS feed data unavailable)",{recommendation:"This rule checks for RSS feeds for content distribution"}):t.hasRssFeed?a({id:"rss-feed-present",name:"RSS Feed",category:"technical",severity:"info"},"pass","RSS feed detected",{value:t.rssFeedUrl,evidence:{found:t.rssFeedUrl||"RSS link tag present",impact:"RSS feeds notify search engines and feed readers when content is updated, improving content discovery."}}):a({id:"rss-feed-present",name:"RSS Feed",category:"technical",severity:"info"},"info","No RSS feed detected",{recommendation:"Add an RSS feed for blogs or news sites to improve content distribution.",evidence:{expected:'<link rel="alternate" type="application/rss+xml" href="/feed.xml">',impact:"RSS feeds help users subscribe to content and notify search engines of updates. Particularly important for blogs and news sites.",learnMore:"https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap#rss-atom"}})},{id:"atom-feed-present",name:"Atom Feed",category:"technical",severity:"info",description:"Atom feeds are an alternative to RSS for content syndication",check:t=>t.hasAtomFeed===void 0?a({id:"atom-feed-present",name:"Atom Feed",category:"technical",severity:"info"},"info","Not applicable (Atom feed data unavailable)",{recommendation:"This rule checks for Atom feeds as alternative to RSS"}):t.hasAtomFeed?a({id:"atom-feed-present",name:"Atom Feed",category:"technical",severity:"info"},"pass","Atom feed detected",{value:t.atomFeedUrl,evidence:{found:t.atomFeedUrl||"Atom link tag present"}}):a({id:"atom-feed-present",name:"Atom Feed",category:"technical",severity:"info"},"pass","No Atom feed detected (RSS is more common)")},{id:"noindex-canonical-conflict",name:"Noindex + Canonical Conflict",category:"technical",severity:"error",description:"Having both noindex and canonical sends conflicting signals",check:t=>!t.metaRobots||!t.hasCanonical?a({id:"noindex-canonical-conflict",name:"Noindex + Canonical Conflict",category:"technical",severity:"error"},"info","Not applicable (robots meta tag or canonical data unavailable)",{recommendation:"This rule detects conflicting noindex and canonical directives"}):t.metaRobots.includes("noindex")&&t.hasCanonical?a({id:"noindex-canonical-conflict",name:"Noindex + Canonical Conflict",category:"technical",severity:"error"},"fail","Page has both noindex and canonical - conflicting signals",{recommendation:"Remove either noindex or canonical. They serve opposite purposes.",evidence:{found:`noindex meta tag + canonical: ${t.canonicalUrl}`,expected:"Either noindex (to block indexing) OR canonical (to consolidate indexing)",impact:"noindex tells search engines not to index this page, while canonical tells them to consolidate signals to a URL. Google may ignore the canonical if noindex is present, wasting crawl budget.",issue:"Conflicting indexing directives",learnMore:"https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls"}}):a({id:"noindex-canonical-conflict",name:"Noindex + Canonical Conflict",category:"technical",severity:"error"},"pass","No conflicting noindex and canonical directives")},{id:"noindex-sitemap-hint",name:"Noindex Pages in Sitemap",category:"crawlability",severity:"warning",description:"Pages with noindex should not be in sitemap",check:t=>t.metaRobots?t.metaRobots.includes("noindex")&&t.pageInSitemap?a({id:"noindex-sitemap-hint",name:"Noindex in Sitemap",category:"crawlability",severity:"warning"},"warn","Page has noindex but appears to be in sitemap",{recommendation:"Remove noindex pages from sitemap to avoid wasting crawl budget.",evidence:{found:"noindex directive on page that may be in sitemap",expected:"Only indexable pages in sitemap",impact:"Including noindex pages in sitemap wastes crawl budget and sends conflicting signals to search engines.",learnMore:"https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap#best-practices"}}):a({id:"noindex-sitemap-hint",name:"Noindex in Sitemap",category:"crawlability",severity:"warning"},"pass","Page is indexable or not in sitemap"):a({id:"noindex-sitemap-hint",name:"Noindex in Sitemap",category:"crawlability",severity:"warning"},"info","Not applicable (robots meta tag data unavailable)",{recommendation:"This rule checks if noindex pages are incorrectly included in sitemap"})}];var L1=[...Wd,...Vd,...Gd,...Kd,...Xd,...Jd,...Qd,...Zd,...ep,...tp,...rp,...np,...ip,...op,...ap,...sp,...cp,...up,...dp,...pp,...mp,...fp,...Yd,...hp,...gp,...yp,...bp,...vp,...wp],xp={severity:{error:{pass:10,fail:-15,warn:-10,info:0},warning:{pass:5,fail:-8,warn:-5,info:0},info:{pass:2,fail:-3,warn:-2,info:0}},category:{title:1.5,meta:1.3,og:1,twitter:.8,headings:1.2,images:1,links:1.1,content:1.2,technical:1.3,security:.9,mobile:1.2,"structured-data":1,performance:1.4,accessibility:.8,i18n:.9,"ai-search":.7,resources:1.1,crawlability:1.3,canonicalization:1.2}};function kp(t){let e={};for(let u of t){let d=xp.severity[u.severity][u.status]??0;e[u.category]||(e[u.category]={score:0,count:0}),e[u.category].score+=d,e[u.category].count++}let r=0,n=0,i=[];for(let[u,l]of Object.entries(e)){let d=u,p=xp.category[d]??1,m=l.count>0?l.score/l.count:0,f=m*p;i.push({category:d,score:m,weight:p}),r+=f,n+=p}let o=100,c=Math.max(0,Math.min(100,70+r));return{score:Math.round(c),maxPossible:o,details:i}}var pn=class{rules;constructor(e={}){var n,i,o,s;let r=[...L1];if((n=e.categories)!=null&&n.length&&(r=r.filter(c=>e.categories.includes(c.category))),(i=e.excludeCategories)!=null&&i.length&&(r=r.filter(c=>!e.excludeCategories.includes(c.category))),(o=e.rules)!=null&&o.length&&(r=r.filter(c=>e.rules.includes(c.id))),(s=e.excludeRules)!=null&&s.length&&(r=r.filter(c=>!e.excludeRules.includes(c.id))),e.minSeverity){let c=["info","warning","error"],u=c.indexOf(e.minSeverity);r=r.filter(l=>c.indexOf(l.severity)>=u)}this.rules=r}evaluate(e){let r=[];for(let n of this.rules){let i=n.check(e);i&&r.push(i)}return r}getRules(){return[...this.rules]}getRulesByCategory(e){return this.rules.filter(r=>r.category===e)}getCategories(){return[...new Set(this.rules.map(e=>e.category))]}};function to(t){return new pn(t)}var ro=class t{root;options;rulesEngine;constructor(e,r={}){this.root=e,this.options=r,this.rulesEngine=to(r.rules)}static async fromHtml(e,r={}){let n=Pe(e);return new t(n,r)}analyze(){var _;let e=this.options.baseUrl||"",r=Si(this.root),n=Ti(this.root),i=Ai(this.root),o=Ci(this.root),s=xi(this.root,{baseUrl:this.options.baseUrl}),c=ki(this.root,{baseUrl:this.options.baseUrl}),u=this.getVisibleText(),l=_d({visibleText:u,title:r.title,description:r.description,keywords:(_=r.keywords)==null?void 0:_.join(", ")}),d=/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g,p=(u.match(d)||[]).filter(E=>!E.endsWith(".png")&&!E.endsWith(".jpg")&&!E.endsWith(".webp")),m=["facebook.com","twitter.com","x.com","instagram.com","linkedin.com","youtube.com","pinterest.com","tiktok.com","github.com","reddit.com","snapchat.com","whatsapp.com","telegram.org","discord.com","threads.net"],f=s.map(E=>E.href).filter(E=>m.some(M=>E.toLowerCase().includes(M))),h=this.analyzeSocialLinks(s,m),g=this.analyzeHeadings(),y=this.analyzeContent(g),C=this.buildLinkAnalysis(s),b=this.buildImageAnalysis(c),x=this.buildSocialAnalysis(n,i),k=this.buildTechnicalAnalysis(r),v=this.analyzeResources(),w=this.analyzeAnalytics(),S=this.analyzeFeeds(),A=this.analyzeConversionElements(s,u),P=this.detectPageType(o),q=this.buildRuleContext({pageType:P,meta:r,og:n,twitter:i,jsonLd:o,headings:g,content:y,linkAnalysis:C,imageAnalysis:b,links:s,keywords:l,resources:v,emailsFound:p,socialLinksFound:f,socialLinkDetails:h,analytics:w,feeds:S,conversion:A}),R=this.rulesEngine.evaluate(q),O=this.convertToCheckResults(R),{score:W,grade:z}=this.calculateScore(R),H=this.buildSummary(R,O,{content:y,imageAnalysis:b,linkAnalysis:C,meta:r,og:n,twitter:i,technical:k,pageType:P,timings:this.options.timings});return{url:e,timestamp:new Date,grade:z,score:W,timing:this.options.timings,summary:H,pageType:P,checks:O,title:r.title?{text:r.title,length:r.title.length}:void 0,metaDescription:r.description?{text:r.description,length:r.description.length}:void 0,openGraph:Object.keys(n).length>0?{title:n.title,description:n.description,image:Array.isArray(n.image)?n.image[0]:n.image,url:n.url,type:n.type,siteName:n.siteName}:void 0,twitterCard:Object.keys(i).length>0?{card:i.card,title:i.title,description:i.description,image:Array.isArray(i.image)?i.image[0]:i.image,site:i.site}:void 0,structuredData:{count:o.length,types:o.map(E=>E["@type"]).filter(Boolean),items:o},headings:g,content:y,keywords:l,links:C,images:b,social:x,technical:k}}getMainBody(){let e=this.root.querySelectorAll("body");return e.length===0?null:e.length===1?e[0]:e.reduce((r,n)=>n.text.length>r.text.length?n:r)}detectPageType(e){if(!this.options.baseUrl)return"other";try{let r=new URL(this.options.baseUrl),n=r.pathname.toLowerCase(),i=u=>r.searchParams.has(u);return n==="/"||n===""?"homepage":/(^|\/)(search|busca|s|results|query)\b/.test(n)||i("q")||i("query")||i("search")?"search":["product","produto","item","sku","shop"].some(u=>n.includes(`/${u}/`))?"product":["article","post","blog","noticia","news"].some(u=>n.includes(`/${u}/`))||this.root.querySelectorAll("article").length>0?"article":/(^|\/)(categoria|category|tag|section|topic)\b/.test(n)?"category":e.map(u=>u["@type"]).some(u=>typeof u=="string"&&u.toLowerCase()==="product")?"product":"other"}catch{return"other"}}getVisibleText(){let e=this.getMainBody();if(!e)return"";let r=e.clone(),n=["script","style","noscript","template","header","nav","svg"];try{r.querySelectorAll(n.join(",")).forEach(o=>o.remove())}catch{n.forEach(i=>{r.querySelectorAll(i).forEach(o=>o.remove())})}try{r.querySelectorAll('[hidden], [aria-hidden="true"]').forEach(i=>i.remove())}catch{r.querySelectorAll("[hidden]").forEach(i=>i.remove()),r.querySelectorAll('[aria-hidden="true"]').forEach(i=>i.remove())}return r.text.replace(/\s+/g," ").trim()}buildRuleContext(e){var Hs,Is,qs,$s,Os,zs,js,_s;let{meta:r,og:n,twitter:i,jsonLd:o,headings:s,content:c,pageType:u,linkAnalysis:l,imageAnalysis:d,links:p,keywords:m,resources:f,emailsFound:h,socialLinksFound:g,socialLinkDetails:y,analytics:C,feeds:b,conversion:x}=e,k=this.root.querySelector("html"),v=k?k.getAttribute("lang"):void 0,w=[];this.root.querySelectorAll('link[rel="alternate"][hreflang]').forEach(N=>{let te=N.getAttribute("hreflang"),Ct=N.getAttribute("href");te&&Ct&&w.push({lang:te,href:Ct})});let S=this.root.querySelector('meta[property="og:locale"]'),A=S?S.getAttribute("content"):void 0,P=U.links.genericTexts,q=p.filter(N=>{var Ct;let te=(Ct=N.text)==null?void 0:Ct.toLowerCase().trim();return te&&P.some(bn=>te===bn||te.includes(bn))}),R=q.length,O=p.filter(N=>{let te=N.text&&N.text.trim()!=="",Ct=N.hasImageWithAlt||N.hasSvgWithTitle,bn=N.ariaLabel||N.title;return!te&&!Ct&&!bn}),W=p.filter(N=>N.type==="external"&&N.target==="_blank"),z=W.filter(N=>{var te;return!((te=N.rel)!=null&&te.includes("noopener"))}),H=W.filter(N=>{var te;return!((te=N.rel)!=null&&te.includes("noreferrer"))}),_={withoutText:O,genericText:q,missingNoopener:z,missingNoreferrer:H},E=this.checkMixedContent(),M=this.root.querySelectorAll("h1"),B=M.length>0?M[0].text.trim():"",I=m.topKeywords.slice(0,5).map(N=>N.word),F=I.length>0?I[0]:void 0,oe=I.some(N=>{var te;return(te=r.title)==null?void 0:te.toLowerCase().includes(N)}),ee=I.some(N=>{var te;return(te=r.description)==null?void 0:te.toLowerCase().includes(N)}),He=I.some(N=>B.toLowerCase().includes(N)),ne=this.options.baseUrl?new URL(this.options.baseUrl).pathname.toLowerCase().replace(/[-_]/g," "):"",Xe=I.some(N=>ne.includes(N)),je=((Is=(Hs=this.root.querySelector("p"))==null?void 0:Hs.text)==null?void 0:Is.toLowerCase())||"",Ie=I.some(N=>je.includes(N)),Je=d.imageAltTexts||[],_e=Je.some(N=>I.some(te=>N.includes(te))),Vt=F?{inTitle:((qs=r.title)==null?void 0:qs.toLowerCase().includes(F))||!1,inDescription:(($s=r.description)==null?void 0:$s.toLowerCase().includes(F))||!1,inH1:B.toLowerCase().includes(F)||!1,inUrl:ne.includes(F),inFirstParagraph:je.includes(F),inAltText:Je.some(N=>N.includes(F))}:void 0,yn=Vt?Object.values(Vt).filter(Boolean).length:void 0,At=this.root.querySelector('meta[name="viewport"]'),Gt=At?At.getAttribute("content"):void 0,Hp=this.analyzeAccessibility(),Ip=this.root.querySelectorAll('img[alt=""]').length,qp=this.analyzeLinkSecurity(),$p=this.detectFavicon(),Op=this.analyzePerformanceHints(),Us=this.analyzeCWVHints(),zp=this.analyzeStructuralHtml(),jp=this.analyzeBreadcrumbs(o.map(N=>N["@type"]).filter(Boolean)),_p=this.analyzeMultimedia(),Wp=this.analyzeResponsiveImages(),Vp=this.analyzeInlineImages(),Gp=this.analyzeTrustSignals(p),Kp=(s.structure.filter(N=>N.level===2).length||0)+(s.structure.filter(N=>N.level===3).length||0),Xp=c.wordCount>0?Kp/c.wordCount*100:0,Jp=this.calculateTextHtmlRatio(c.characterCount);return{pageType:u,jsFilesCount:f.jsFilesCount,cssFilesCount:f.cssFilesCount,unminifiedResources:f.unminifiedResources,unminifiedResourceUrls:f.unminifiedResourceUrls,emailsFound:h,socialLinksFound:g,...y,keywordsInTitle:oe,keywordsInDescription:ee,keywordsInH1:He,keywordsInUrl:Xe,keywordsInFirstParagraph:Ie,keywordsInAltText:_e,keywordConsistencyScore:yn,keywordConsistencyDetails:Vt,topKeywords:I,mainKeyword:F,title:r.title,titleLength:(Os=r.title)==null?void 0:Os.length,metaDescription:r.description,metaDescriptionLength:(zs=r.description)==null?void 0:zs.length,metaKeywords:r.keywords,metaRobots:r.robots,ogTitle:n.title,ogDescription:n.description,ogImage:Array.isArray(n.image)?n.image[0]:n.image,ogUrl:n.url,ogType:n.type,ogSiteName:n.siteName,twitterCard:i.card,twitterTitle:i.title,twitterDescription:i.description,twitterImage:Array.isArray(i.image)?i.image[0]:i.image,twitterSite:i.site,h1Count:s.h1Count,h1Text:B||void 0,h1Length:B==null?void 0:B.length,h2Count:s.structure.filter(N=>N.level===2).length,headingHierarchyValid:s.hasProperHierarchy,headingSkippedLevels:s.issues.filter(N=>N.includes("Skipped")),sectionWordCounts:s.sectionWordCounts,totalImages:d.total,imagesWithAlt:d.withAlt,imagesWithoutAlt:d.withoutAlt,imagesWithLazyLoad:d.lazy,imagesMissingDimensions:d.missingDimensions,imagesWithEmptyAlt:Ip,imagesUsingModernFormats:d.modernFormats,altTextLengths:d.altTextLengths,imageAltTexts:d.imageAltTexts,imageFilenames:d.imageFilenames,imagesWithAsyncDecoding:d.imagesWithAsyncDecoding,imagesWithSrcset:Wp.imagesWithSrcset,largeBase64ImagesCount:Vp.largeBase64ImagesCount,...Hp,allLinks:p,totalLinks:l.total,internalLinks:l.internal,externalLinks:l.external,internalHttpLinks:l.internalHttpLinks,internalHttpLinkUrls:l.internalHttpLinkUrls,linksWithoutText:l.withoutText,nofollowLinks:l.nofollow,sponsoredLinks:l.sponsoredLinks,ugcLinks:l.ugcLinks,linksWithGenericText:R,...qp,problematicLinks:_,wordCount:c.wordCount,characterCount:c.characterCount,sentenceCount:c.sentenceCount,paragraphCount:c.paragraphCount,avgWordsPerSentence:c.avgWordsPerSentence,avgParagraphLength:c.avgParagraphLength,listCount:c.listCount,strongTagCount:c.strongTagCount,emTagCount:c.emTagCount,subheadingFrequency:Xp,paragraphWordCounts:c.paragraphWordCounts,avgSentenceLength:c.avgSentenceLength,faqCount:c.faqCount,imagePerWordRatio:c.imagePerWordRatio,keywordDensity:c.keywordDensity,fleschReadingEase:c.fleschReadingEase,hasQuestionHeadings:c.hasQuestionHeadings,...zp,...Gp,...jp,..._p,hasCanonical:!!r.canonical,canonicalUrl:r.canonical,hasViewport:!!r.viewport,viewportContent:Gt,hasCharset:!!r.charset,charset:r.charset,hasLang:!!v,langValue:v,isHttps:(js=this.options.baseUrl)==null?void 0:js.startsWith("https://"),hasMixedContent:E,responseHeaders:this.options.responseHeaders,textHtmlRatio:Jp,hasFrameTags:this.root.querySelectorAll("frame, frameset").length>0,iframeCount:this.root.querySelectorAll("iframe").length,hasDeprecatedPlugins:this.root.querySelectorAll("object, embed, applet").length>0,deprecatedTagsCount:this.root.querySelectorAll("center, font, strike, u, marquee, blink, big, tt").length,deprecatedTagsFound:["center","font","strike","u","marquee","blink","big","tt"].filter(N=>this.root.querySelectorAll(N).length>0),hasAppleTouchIcon:this.root.querySelectorAll('link[rel="apple-touch-icon"], link[rel="apple-touch-icon-precomposed"]').length>0,...$p,...Op,lcpHints:Us.lcpHints,clsHints:Us.clsHints,jsonLdCount:o.length,jsonLdTypes:o.map(N=>N["@type"]).filter(Boolean),url:this.options.baseUrl,urlLength:(_s=this.options.baseUrl)==null?void 0:_s.length,titleMatchesH1:r.title&&B?r.title.toLowerCase().trim()===B.toLowerCase().trim():void 0,...this.analyzeUrlQuality(),...this.analyzeJsRendering(c),hreflangTags:w.length>0?w:void 0,ogLocale:A,analyticsDetected:C.analyticsDetected,analyticsProviders:C.analyticsProviders,...b,ctaButtonsCount:x.ctaButtonsCount,formCount:x.formCount,hasWhatsAppLink:x.hasWhatsAppLink,hasPhoneOnPage:x.hasPhoneOnPage,timings:this.options.timings,htmlSize:this.options.htmlSize}}analyzeUrlQuality(){if(!this.options.baseUrl)return{urlHasUppercase:!1,urlHasSpecialChars:!1,urlHasAccents:!1};try{let e=new URL(this.options.baseUrl),r=e.pathname+e.search,n=/[A-Z]/.test(r),i=/[àáâãäåæçèéêëìíîïñòóôõöùúûüýÿ]/i.test(r),o=/[<>{}|\^`\[\]]/.test(r)||/%[0-9A-F]{2}/i.test(r);return{urlHasUppercase:n,urlHasSpecialChars:o,urlHasAccents:i}}catch{return{urlHasUppercase:!1,urlHasSpecialChars:!1,urlHasAccents:!1}}}analyzeJsRendering(e){let r=e.characterCount,n=this.root.querySelectorAll("script").length,i=this.root.querySelector("noscript"),s=(i?i.text.trim():"").length>0;return{bodyTextLength:r,scriptCount:n,hasNoscriptContent:s}}analyzeResponsiveImages(){let e=0;return this.root.querySelectorAll("img").forEach(r=>{(r.getAttribute("srcset")||r.parentNode&&r.parentNode.tagName==="PICTURE")&&e++}),{imagesWithSrcset:e}}analyzeInlineImages(){let e=0;return this.root.querySelectorAll("img").forEach(r=>{let n=r.getAttribute("src")||"";n.startsWith("data:image")&&n.length>5*1024&&e++}),{largeBase64ImagesCount:e}}checkMixedContent(){let e=!1;return this.root.querySelectorAll('img[src^="http://"]').forEach(()=>{e=!0}),this.root.querySelectorAll('script[src^="http://"]').forEach(()=>{e=!0}),this.root.querySelectorAll('link[href^="http://"]').forEach(()=>{e=!0}),e}analyzeLinkSecurity(){let e=0,r=0;return this.root.querySelectorAll('a[href^="http"][target="_blank"]').forEach(n=>{let i=n.getAttribute("href")||"",o=(n.getAttribute("rel")||"").toLowerCase();this.options.baseUrl&&i.startsWith(this.options.baseUrl)||(o.includes("noopener")||e++,o.includes("noreferrer")||r++)}),{externalLinksWithoutNoopener:e,externalLinksWithoutNoreferrer:r}}detectFavicon(){let e=['link[rel="icon"]','link[rel="shortcut icon"]','link[rel="apple-touch-icon"]','link[rel="apple-touch-icon-precomposed"]'];for(let r of e){let n=this.root.querySelector(r);if(n)return{hasFavicon:!0,faviconUrl:n.getAttribute("href")}}return{hasFavicon:!1}}analyzePerformanceHints(){let r=this.root.querySelectorAll('link[rel="preconnect"]').length,i=this.root.querySelectorAll('link[rel="dns-prefetch"]').length,s=this.root.querySelectorAll('link[rel="preload"]').length,c=0;this.root.querySelectorAll("head script[src]:not([async]):not([defer])").forEach(()=>{c++}),this.root.querySelectorAll('head link[rel="stylesheet"]').forEach(d=>{let p=d.getAttribute("media");(!p||p==="all"||p==="screen")&&c++});let u=this.root.querySelectorAll("script:not([src])").filter(d=>(d.innerHTML||"").trim().length>0).length,l=this.root.querySelectorAll("style").length;return{hasPreconnect:r>0,preconnectCount:r,hasDnsPrefetch:i>0,dnsPrefetchCount:i,hasPreload:s>0,preloadCount:s,renderBlockingResources:c,inlineScriptsCount:u,inlineStylesCount:l}}analyzeCWVHints(){let e=this.root.querySelectorAll("img"),r=!1,n=!1,i=!1;e.slice(0,3).forEach((s,c)=>{let u=parseInt(s.getAttribute("width")||"0",10),l=parseInt(s.getAttribute("height")||"0",10),d=s.getAttribute("loading"),p=s.getAttribute("fetchpriority");(u>=400||l>=300)&&(r=!0),c===0&&d==="lazy"&&(n=!0),p==="high"&&(i=!0)}),this.root.querySelectorAll('[style*="background-image"]').slice(0,3).forEach(()=>{r=!0});let o=this.root.querySelectorAll("img:not([width]):not([height])").length+this.root.querySelectorAll('img[width="auto"], img[height="auto"]').length;return{lcpHints:{hasLargeImages:r,hasLazyLcp:n,hasPriorityHints:i},clsHints:{imagesWithoutDimensions:o}}}analyzeAccessibility(){let e=0;this.root.querySelectorAll("button").forEach(c=>{let u=c.text.trim(),l=c.getAttribute("aria-label"),d=c.getAttribute("aria-labelledby"),p=c.getAttribute("title");!u&&!l&&!d&&!p&&e++});let r=0;this.root.querySelectorAll("a[href]").forEach(c=>{let u=c.text.trim(),l=c.getAttribute("aria-label"),d=c.getAttribute("aria-labelledby"),p=c.getAttribute("title"),f=c.querySelectorAll("img").filter(b=>{var x;return!!((x=b.getAttribute("alt"))!=null&&x.trim())}).length>0,g=c.querySelectorAll("svg").filter(b=>b.querySelectorAll("title").length>0||!!b.getAttribute("aria-label")).length>0;!(u||f||g)&&!(l||d||p)&&r++});let n=0;this.root.querySelectorAll('input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]), select, textarea').forEach(c=>{let u=c.getAttribute("id"),l=c.getAttribute("aria-label"),d=c.getAttribute("aria-labelledby"),p=c.getAttribute("placeholder"),m=c.getAttribute("title"),f=u?this.root.querySelectorAll(`label[for="${u}"]`).length>0:!1,h=c.closest("label")!==null;!f&&!h&&!l&&!d&&!m&&!p&&n++});let i=this.root.querySelectorAll("iframe:not([title])").length,o=0;this.root.querySelectorAll("table").forEach(c=>{let u=c.querySelectorAll("caption").length>0,l=c.getAttribute("aria-label"),d=c.getAttribute("aria-labelledby"),p=c.getAttribute("role");if(p==="presentation"||p==="none")return;c.querySelectorAll("th").length>0&&!u&&!l&&!d&&o++});let s=0;return this.root.querySelectorAll("svg").forEach(c=>{let u=c.querySelectorAll("title").length>0,l=c.getAttribute("aria-label"),d=c.getAttribute("aria-labelledby"),p=c.getAttribute("aria-hidden"),m=c.getAttribute("role");p==="true"||m==="presentation"||m==="none"||!u&&!l&&!d&&s++}),{buttonsWithoutAriaLabel:e,linksWithoutAriaLabel:r,inputsWithoutLabel:n,iframesWithoutTitle:i,tablesWithoutCaption:o,svgsWithoutTitle:s}}analyzeStructuralHtml(){return{hasHeader:this.root.querySelectorAll("header").length>0,hasNav:this.root.querySelectorAll("nav").length>0,hasMain:this.root.querySelectorAll("main").length>0,hasArticle:this.root.querySelectorAll("article").length>0,hasSection:this.root.querySelectorAll("section").length>0,hasFooter:this.root.querySelectorAll("footer").length>0}}analyzeBreadcrumbs(e){let r=this.root.querySelectorAll('nav[aria-label="breadcrumb"], .breadcrumb, .breadcrumbs').length>0,n=e.includes("BreadcrumbList");return{hasBreadcrumbsHtml:r,hasBreadcrumbsSchema:n}}analyzeMultimedia(){let e=this.root.querySelectorAll("video"),r=this.root.querySelectorAll("audio"),n=!1,i=o=>{o.forEach(s=>{(s.getAttribute("autoplay")!==void 0||s.hasAttribute("autoplay"))&&(n=!0)})};return i(e),i(r),{videoCount:e.length,audioCount:r.length,hasAutoplay:n}}analyzeSocialLinks(e,r){let n=e.filter(y=>r.some(C=>y.href.toLowerCase().includes(C))),i={"facebook.com":"facebook","twitter.com":"twitter","x.com":"twitter","instagram.com":"instagram","linkedin.com":"linkedin","youtube.com":"youtube","pinterest.com":"pinterest","tiktok.com":"tiktok","github.com":"github","reddit.com":"reddit","snapchat.com":"snapchat","whatsapp.com":"whatsapp","telegram.org":"telegram","discord.com":"discord","threads.net":"threads"},o=[],s=0,c=0,u=0,l=0,d=0,p=new Set,m=this.root.querySelectorAll("header a[href]"),f=this.root.querySelectorAll("footer a[href]"),h=new Set(m.map(y=>y.getAttribute("href")||"")),g=new Set(f.map(y=>y.getAttribute("href")||""));for(let y of n){let C="unknown";for(let[w,S]of Object.entries(i))if(y.href.toLowerCase().includes(w)){C=S,p.add(S);break}let b="body";h.has(y.href)?(b="header",s++):g.has(y.href)&&(b="footer",c++);let x=!!(y.ariaLabel||y.title||y.text&&y.text.trim());x||u++;let k=y.target==="_blank";k||l++;let v=!!(y.rel&&y.rel.includes("noopener"));k&&!v&&d++,o.push({href:y.href,platform:C,hasAccessibility:x,hasNewTab:k,hasNoopener:v,location:b})}return{totalSocialLinks:n.length,socialLinksInHeader:s,socialLinksInFooter:c,socialLinksWithoutAccessibility:u,socialLinksWithoutNewTab:l,socialLinksWithoutNoopener:d,platformsFound:Array.from(p),socialLinkDetails:o}}analyzeTrustSignals(e){let r=e.map(n=>n.href.toLowerCase());return{hasAboutPageLink:r.some(n=>n.includes("about")||n.includes("quem-somos")),hasContactPageLink:r.some(n=>n.includes("contact")||n.includes("contato")),hasPrivacyPolicyLink:r.some(n=>n.includes("privacy")||n.includes("privacidade")),hasTermsOfServiceLink:r.some(n=>n.includes("terms")||n.includes("termos-de-uso"))}}analyzeAnalytics(){let e=[],r=this.root.querySelectorAll("script"),n=[],i=[];r.forEach(s=>{let c=s.getAttribute("src")||"",u=s.innerHTML||"";c&&n.push(c.toLowerCase()),u&&i.push(u.toLowerCase())});let o=n.join(" ")+" "+i.join(" ");return o.includes("gtag")&&o.includes("g-")&&e.push("Google Analytics 4 (GA4)"),(o.includes("analytics.js")||o.includes("ga.js")||o.includes("ua-")&&!o.includes("g-"))&&e.push("Universal Analytics (UA)"),(o.includes("googletagmanager.com/gtm")||o.includes("gtm-"))&&e.push("Google Tag Manager"),(o.includes("hotjar.com")||o.includes("hj("))&&e.push("Hotjar"),(o.includes("clarity.ms")||o.includes("clarity("))&&e.push("Microsoft Clarity"),(o.includes("fullstory.com")||o.includes("fs.identify"))&&e.push("FullStory"),o.includes("luckyorange.com")&&e.push("Lucky Orange"),o.includes("crazyegg.com")&&e.push("Crazy Egg"),(o.includes("mixpanel.com")||o.includes("mixpanel.init"))&&e.push("Mixpanel"),(o.includes("heap.io")||o.includes("heapanalytics"))&&e.push("Heap"),(o.includes("amplitude.com")||o.includes("amplitude.init"))&&e.push("Amplitude"),(o.includes("segment.com")||o.includes("analytics.load"))&&e.push("Segment"),o.includes("plausible.io")&&e.push("Plausible"),(o.includes("matomo")||o.includes("piwik"))&&e.push("Matomo"),(o.includes("posthog.com")||o.includes("posthog.init"))&&e.push("PostHog"),(o.includes("connect.facebook.net")||o.includes("fbq("))&&e.push("Facebook Pixel"),(o.includes("snap.licdn.com")||o.includes("_linkedin_partner_id"))&&e.push("LinkedIn Insight"),(o.includes("static.ads-twitter.com")||o.includes("twq("))&&e.push("Twitter Pixel"),(o.includes("pintrk(")||o.includes("pinterest.com/ct"))&&e.push("Pinterest Tag"),{analyticsDetected:e.length>0,analyticsProviders:e}}analyzeFeeds(){let e=!1,r,n=!1,i,o=this.root.querySelector('link[type="application/rss+xml"]');o&&(e=!0,r=o.getAttribute("href")||void 0);let s=this.root.querySelector('link[type="application/atom+xml"]');return s&&(n=!0,i=s.getAttribute("href")||void 0),{hasRssFeed:e,rssFeedUrl:r,hasAtomFeed:n,atomFeedUrl:i}}analyzeConversionElements(e,r){let n=this.root.querySelectorAll("form").length,i=[/^(get started|start|begin|try|sign up|register|subscribe|join|buy|purchase|order|add to cart|checkout|download|contact|request|schedule|book|reserve|learn more|read more|discover|explore|view|see|watch|listen|play|submit|send|apply|claim|grab|unlock|access)$/i,/^(obter|começar|iniciar|experimentar|inscrever|registrar|assinar|entrar|comprar|pedir|adicionar|finalizar|baixar|contato|solicitar|agendar|reservar|saber mais|ler mais|descobrir|explorar|ver|assistir|ouvir|enviar|aplicar|reivindicar|acessar)$/i],o=0;this.root.querySelectorAll("button").forEach(l=>{let d=l.text.trim().toLowerCase();i.some(p=>p.test(d))&&o++}),this.root.querySelectorAll('a[class*="btn"], a[class*="button"], a[role="button"]').forEach(l=>{let d=l.text.trim().toLowerCase();i.some(p=>p.test(d))&&o++});let s=e.some(l=>l.href.includes("wa.me")||l.href.includes("whatsapp.com")||l.href.includes("api.whatsapp.com")),u=/(?:\+?\d{1,3}[-.\s]?)?\(?\d{2,4}\)?[-.\s]?\d{3,5}[-.\s]?\d{3,5}/g.test(r)||e.some(l=>l.href.startsWith("tel:"));return{ctaButtonsCount:o,formCount:n,hasWhatsAppLink:s,hasPhoneOnPage:u}}calculateTextHtmlRatio(e){var n;let r=(n=this.root.innerHTML)==null?void 0:n.length;if(r&&r>0)return e/r*100}convertToCheckResults(e){return e.map(r=>({id:r.id,name:r.name,category:r.category,severity:r.severity,status:r.status,message:r.message,value:r.value,recommendation:r.recommendation,evidence:r.evidence}))}buildSummary(e,r,n){var v;let i=n.pageType,o=n.timings,s=r.filter(w=>w.status==="pass").length,c=r.filter(w=>w.status==="warn").length,u=r.filter(w=>w.status==="fail").length,l=r.filter(w=>w.status==="info").length,d=r.length,p=d-l,m=p>0?Math.round(s/p*100):100,f={};for(let w of e){let S=w.category;f[S]||(f[S]={passed:0,warnings:0,errors:0}),w.status==="pass"?f[S].passed++:w.status==="warn"?f[S].warnings++:w.status==="fail"&&f[S].errors++}let h=r.filter(w=>w.status==="fail"||w.status==="warn").sort((w,S)=>{let A=O=>O==="fail"?2:1,P=A(S.status)-A(w.status);if(P!==0)return P;let q=w.severity||(w.status==="fail"?"error":"warning"),R=S.severity||(S.status==="fail"?"error":"warning");return q===R?0:q==="error"?-1:1}).slice(0,5).map(w=>({name:w.name,message:w.message,category:w.category,severity:w.severity||(w.status==="fail"?"error":"warning")})),g=[];n.meta.title||g.push("Add a page title"),n.meta.description||g.push("Add a meta description"),!n.og.title&&!n.og.description&&g.push("Add OpenGraph meta tags for social sharing"),n.twitter.card||g.push("Add Twitter Card meta tags"),n.technical.hasCanonical||g.push("Add a canonical URL"),n.technical.hasLang||g.push("Add lang attribute to <html>"),n.imageAnalysis.withoutAlt>0&&g.push(`Add alt text to ${n.imageAnalysis.withoutAlt} image(s)`),n.linkAnalysis.withoutText>0&&g.push(`Add text to ${n.linkAnalysis.withoutText} empty link(s)`);let y=g.slice(0,5),C=(v=this.root.innerHTML)==null?void 0:v.length,b=this.root.querySelectorAll("*").length,x={htmlSize:C,domElements:b,ttfb:o==null?void 0:o.ttfb,totalTime:o==null?void 0:o.total,wordCount:n.content.wordCount,totalWordCount:n.content.totalWordCount,readingTime:n.content.readingTimeMinutes,imageCount:n.imageAnalysis.total,linkCount:n.linkAnalysis.total},k={meta:this.calculateMetaCompleteness(n.meta),social:this.calculateSocialCompleteness(n.og,n.twitter),technical:this.calculateTechnicalCompleteness(n.technical),content:this.calculateContentCompleteness(n.content),images:this.calculateImageCompleteness(n.imageAnalysis),links:this.calculateLinkCompleteness(n.linkAnalysis)};return{totalChecks:d,passed:s,warnings:c,errors:u,infos:l,passRate:m,issuesByCategory:f,pageType:i,topIssues:h,quickWins:y,vitals:x,completeness:k}}calculateMetaCompleteness(e){let r=0,n=5;return e.title&&r++,e.description&&r++,e.canonical&&r++,e.viewport&&r++,e.charset&&r++,Math.round(r/n*100)}calculateSocialCompleteness(e,r){let n=0,i=8;return e.title&&n++,e.description&&n++,e.image&&n++,e.url&&n++,r.card&&n++,r.title&&n++,r.description&&n++,r.image&&n++,Math.round(n/i*100)}calculateTechnicalCompleteness(e){let r=0,n=5;return e.hasCanonical&&r++,e.hasViewport&&r++,e.hasCharset&&r++,e.hasLang&&r++,e.hasRobotsMeta&&r++,Math.round(r/n*100)}calculateContentCompleteness(e){let r=0,n=5;return e.wordCount>=300&&r++,e.paragraphCount>=3&&r++,e.listCount>0&&r++,e.readingTimeMinutes>=1&&r++,(e.strongTagCount>0||e.emTagCount>0)&&r++,Math.round(r/n*100)}calculateImageCompleteness(e){if(e.total===0)return 100;let r=0,n=4;return e.withoutAlt===0&&r++,e.lazy>0&&r++,e.missingDimensions===0&&r++,e.modernFormats>0&&r++,Math.round(r/n*100)}calculateLinkCompleteness(e){if(e.total===0)return 100;let r=0,n=4;return e.internal>0&&r++,e.external>0&&r++,e.withoutText===0&&r++,e.broken===0&&r++,Math.round(r/n*100)}analyzeHeadings(){let e=[],r=[],n=[],i={1:0,2:0,3:0,4:0,5:0,6:0},o=0,s=!1,c=this.getMainBody();(c?c.querySelectorAll("*"):[]).forEach(p=>{let m=p.tagName.toLowerCase();if(m.match(/^h[1-6]$/)){let f=parseInt(m.substring(1),10),h=p.text.trim();i[f]=(i[f]||0)+1,r.push({level:f,text:h.slice(0,80),count:1}),f===2&&(s&&n.push(o),o=0,s=!0)}else if(s&&["p","ul","ol","div","article","section"].includes(m)){let f="";p.childNodes.forEach(h=>{h.nodeType===3&&(f+=h.text)}),f=f.trim(),f.length>0&&(o+=f.split(/\s+/).length)}}),s&&n.push(o);let l=!0,d=0;for(let p of r)p.level>d+1&&d!==0&&(l=!1,e.push(`Skipped heading level: H${d} to H${p.level}`)),d=p.level;return i[1]===0?e.push("No H1 tag found"):i[1]>1&&e.push("Multiple H1 tags"),{structure:r,h1Count:i[1],hasProperHierarchy:l,issues:e,sectionWordCounts:n}}analyzeContent(e){var k;let r=this.getMainBody(),n=this.getVisibleText(),i=r?r.text.replace(/\s+/g," ").trim():"";if(!i||i.length===0){let v=((k=this.root.text)==null?void 0:k.replace(/\s+/g," ").trim())||"";if(v.length>0)i=v;else{let w=[];this.root.querySelectorAll("p").forEach(S=>{var P;let A=(P=S.text)==null?void 0:P.trim();A&&w.push(A)}),i=w.join(" ")}}let o=n.split(/\s+/).filter(v=>v.length>0),s=i.split(/\s+/).filter(v=>v.length>0),c=n.split(/[.!?]+/).filter(v=>v.trim().length>0),u=this.root.querySelectorAll("p"),l=0,d=[];u.forEach(v=>{var A;let w=((A=v.text)==null?void 0:A.trim())||"";l+=w.length;let S=w.split(/\s+/).filter(P=>P.length>0).length;S>0&&d.push(S)});let p=o.length,m=s.length,f=Math.ceil(p/200),h=c.length>0?Math.round(p/c.length):0,g=0;e.structure.forEach(v=>{v.level===3&&/^(what|how|why|when|where|who|can|do|is|are)\b/i.test(v.text)&&g++});let y=this.root.querySelectorAll("img").length,C=p>0?y/p:0,b=void 0,x=e.structure.some(v=>(v.level===2||v.level===3)&&/^(what|how|why|when|where|who|can|do|is|are)\b/i.test(v.text));return{wordCount:p,totalWordCount:m,characterCount:n.length,sentenceCount:c.length,paragraphCount:u.length,readingTimeMinutes:f,avgWordsPerSentence:h,avgParagraphLength:u.length>0?Math.round(l/u.length):0,listCount:this.root.querySelectorAll("ul, ol").length,strongTagCount:this.root.querySelectorAll("strong").length,emTagCount:this.root.querySelectorAll("em").length,paragraphWordCounts:d,avgSentenceLength:h,faqCount:g,imagePerWordRatio:C,fleschReadingEase:b,hasQuestionHeadings:x}}buildLinkAnalysis(e){let r=e.filter(n=>n.type==="internal"&&n.href.startsWith("http://")).map(n=>n.href);return{total:e.length,internal:e.filter(n=>n.type==="internal").length,external:e.filter(n=>n.type==="external").length,nofollow:e.filter(n=>{var i;return(i=n.rel)==null?void 0:i.includes("nofollow")}).length,sponsoredLinks:e.filter(n=>{var i;return(i=n.rel)==null?void 0:i.includes("sponsored")}).length,ugcLinks:e.filter(n=>{var i;return(i=n.rel)==null?void 0:i.includes("ugc")}).length,broken:0,withoutText:e.filter(n=>{var i;return!((i=n.text)!=null&&i.trim())}).length,internalHttpLinks:r.length,internalHttpLinkUrls:r}}buildImageAnalysis(e){return{total:e.length,withAlt:e.filter(r=>r.alt&&r.alt.trim().length>0).length,withoutAlt:e.filter(r=>!r.alt||r.alt.trim().length===0).length,lazy:e.filter(r=>r.loading==="lazy").length,missingDimensions:e.filter(r=>!r.width||!r.height).length,modernFormats:e.filter(r=>/\.(webp|avif)$/i.test(r.src)).length,altTextLengths:e.filter(r=>r.alt).map(r=>r.alt.length),imageAltTexts:e.filter(r=>r.alt).map(r=>r.alt.toLowerCase()),imageFilenames:e.map(r=>{try{return new URL(r.src).pathname.split("/").pop()||""}catch{return""}}).filter(Boolean),imagesWithAsyncDecoding:e.filter(r=>r.decoding==="async").length}}buildSocialAnalysis(e,r){let n=[],i=[],o=!!(e.title||e.description||e.image);o?(e.title||n.push("Missing og:title"),e.description||n.push("Missing og:description"),e.image||n.push("Missing og:image"),e.url||n.push("Missing og:url")):n.push("No OpenGraph meta tags found");let s=!!(r.card||r.title||r.description);return s?(r.card||i.push("Missing twitter:card"),r.title||i.push("Missing twitter:title"),r.description||i.push("Missing twitter:description")):i.push("No Twitter Card meta tags found"),{openGraph:{present:o,hasTitle:!!e.title,hasDescription:!!e.description,hasImage:!!e.image,hasUrl:!!e.url,issues:n},twitterCard:{present:s,hasCard:!!r.card,hasTitle:!!r.title,hasDescription:!!r.description,hasImage:!!r.image,issues:i}}}buildTechnicalAnalysis(e){let r=this.root.querySelector("html"),n=r?r.getAttribute("lang"):void 0;return{hasCanonical:!!e.canonical,canonicalUrl:e.canonical,hasRobotsMeta:!!e.robots,robotsContent:e.robots,hasViewport:!!e.viewport,hasCharset:!!e.charset,hasLang:!!n,langValue:n}}analyzeResources(){let e=this.root.querySelectorAll("script[src]"),r=this.root.querySelectorAll('link[rel="stylesheet"]'),n=[];return e.forEach(i=>{let o=i.getAttribute("src");o&&!o.includes(".min.")&&!o.includes("cdn")&&n.push(o)}),r.forEach(i=>{let o=i.getAttribute("href");o&&!o.includes(".min.")&&!o.includes("cdn")&&n.push(o)}),{jsFilesCount:e.length,cssFilesCount:r.length,unminifiedResources:n.length,unminifiedResourceUrls:n}}calculateScore(e){if(e.length===0)return{score:100,grade:"A"};let{score:r}=kp(e),n=r,i;return n>=90?i="A":n>=80?i="B":n>=70?i="C":n>=60?i="D":i="F",{score:n,grade:i}}getRules(){return this.rulesEngine.getRules()}getRulesByCategory(e){return this.rulesEngine.getRulesByCategory(e)}getCategories(){return this.rulesEngine.getCategories()}};async function Ls(t,e={}){return(await ro.fromHtml(t,e)).analyze()}var Ms={};ve(Ms,{AIConfigurationError:()=>Mn,AIError:()=>ie,AdaptiveTimeoutManager:()=>fn,AnthropicProvider:()=>vr,AuthenticationError:()=>ot,BaseAIProvider:()=>ze,ClientAIImpl:()=>Yt,ContextLengthError:()=>Ke,ConversationMemory:()=>Qt,GoogleProvider:()=>wr,OllamaProvider:()=>xr,OpenAIProvider:()=>br,OverloadedError:()=>Me,PROVIDER_RATE_LIMITS:()=>Ns,RateLimitError:()=>Ne,RateLimitExceededError:()=>gn,StreamTimeoutController:()=>io,TokenRateLimiter:()=>hn,UnifiedAIClient:()=>mn,adaptiveTimeouts:()=>Sp,createAI:()=>no,createRateLimiter:()=>Ap,tokenEstimators:()=>Cp});G();var ze=class{config;constructor(e){this.config=e}get name(){return this.config.name}getApiKey(){let e=this.config.apiKey||this.getEnvApiKey();if(!e)throw new Le(`API key not configured for provider: ${this.config.name}`,{configKey:`${this.config.name}.apiKey`});return e}buildHeaders(){return{"Content-Type":"application/json",...this.config.headers}}calculateLatency(e){let n=performance.now()-e.startTime,i=e.firstTokenTime?e.firstTokenTime-e.startTime:n,o=e.tokenCount>0&&n>0?e.tokenCount/n*1e3:0;return{ttft:i,tps:o,total:n}}emptyUsage(){return{inputTokens:0,outputTokens:0,totalTokens:0}}async*parseSSEStream(e,r){var s;let n=(s=e.body)==null?void 0:s.getReader();if(!n)throw new ae("Response body is not readable",{streamType:"sse"});let i=new TextDecoder,o="";try{for(;;){let{done:c,value:u}=await n.read();if(c)break;o+=i.decode(u,{stream:!0});let l=o.split(`
|
|
412
|
+
<a href="/signup" class="btn-primary">Start Your Trial</a>`}}):a({id:"cta-presence",name:"Call-to-Action Elements",category:"content",severity:"info"},"pass",`${t.ctaButtonsCount} call-to-action element(s) found`,{value:t.ctaButtonsCount})},{id:"form-presence",name:"Form Elements",category:"content",severity:"info",description:"Detect forms for lead generation or conversion",check:t=>t.formCount===void 0?a({id:"form-presence",name:"Form Elements",category:"content",severity:"info"},"info","Not applicable (form count data unavailable)",{recommendation:"This rule checks for forms for lead generation and conversions"}):t.formCount>0?a({id:"form-presence",name:"Form Elements",category:"content",severity:"info"},"pass",`${t.formCount} form(s) detected for lead capture/conversion`,{value:t.formCount,evidence:{found:`${t.formCount} form elements`,impact:"Forms are essential for lead generation, contact, and conversions."}}):a({id:"form-presence",name:"Form Elements",category:"content",severity:"info"},"pass","No forms detected (may not be needed for this page type)")},{id:"contact-methods",name:"Contact Methods",category:"content",severity:"info",description:"Page should provide contact methods for user trust",check:t=>{let e=[];return t.emailsFound&&t.emailsFound.length>0&&e.push("email"),t.hasPhoneOnPage&&e.push("phone"),t.hasWhatsAppLink&&e.push("WhatsApp"),e.length===0&&t.hasContactPageLink?a({id:"contact-methods",name:"Contact Methods",category:"content",severity:"info"},"pass","Contact page link found",{evidence:{found:"Link to contact page"}}):e.length>0?a({id:"contact-methods",name:"Contact Methods",category:"content",severity:"info"},"pass",`Contact methods found: ${e.join(", ")}`,{value:e.join(", ")}):a({id:"contact-methods",name:"Contact Methods",category:"content",severity:"info"},"pass","No direct contact methods detected (may not be needed)")}},{id:"rss-feed-present",name:"RSS Feed",category:"technical",severity:"info",description:"RSS feeds help users and search engines discover new content",check:t=>t.hasRssFeed===void 0?a({id:"rss-feed-present",name:"RSS Feed",category:"technical",severity:"info"},"info","Not applicable (RSS feed data unavailable)",{recommendation:"This rule checks for RSS feeds for content distribution"}):t.hasRssFeed?a({id:"rss-feed-present",name:"RSS Feed",category:"technical",severity:"info"},"pass","RSS feed detected",{value:t.rssFeedUrl,evidence:{found:t.rssFeedUrl||"RSS link tag present",impact:"RSS feeds notify search engines and feed readers when content is updated, improving content discovery."}}):a({id:"rss-feed-present",name:"RSS Feed",category:"technical",severity:"info"},"info","No RSS feed detected",{recommendation:"Add an RSS feed for blogs or news sites to improve content distribution.",evidence:{expected:'<link rel="alternate" type="application/rss+xml" href="/feed.xml">',impact:"RSS feeds help users subscribe to content and notify search engines of updates. Particularly important for blogs and news sites.",learnMore:"https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap#rss-atom"}})},{id:"atom-feed-present",name:"Atom Feed",category:"technical",severity:"info",description:"Atom feeds are an alternative to RSS for content syndication",check:t=>t.hasAtomFeed===void 0?a({id:"atom-feed-present",name:"Atom Feed",category:"technical",severity:"info"},"info","Not applicable (Atom feed data unavailable)",{recommendation:"This rule checks for Atom feeds as alternative to RSS"}):t.hasAtomFeed?a({id:"atom-feed-present",name:"Atom Feed",category:"technical",severity:"info"},"pass","Atom feed detected",{value:t.atomFeedUrl,evidence:{found:t.atomFeedUrl||"Atom link tag present"}}):a({id:"atom-feed-present",name:"Atom Feed",category:"technical",severity:"info"},"pass","No Atom feed detected (RSS is more common)")},{id:"noindex-canonical-conflict",name:"Noindex + Canonical Conflict",category:"technical",severity:"error",description:"Having both noindex and canonical sends conflicting signals",check:t=>!t.metaRobots||!t.hasCanonical?a({id:"noindex-canonical-conflict",name:"Noindex + Canonical Conflict",category:"technical",severity:"error"},"info","Not applicable (robots meta tag or canonical data unavailable)",{recommendation:"This rule detects conflicting noindex and canonical directives"}):t.metaRobots.includes("noindex")&&t.hasCanonical?a({id:"noindex-canonical-conflict",name:"Noindex + Canonical Conflict",category:"technical",severity:"error"},"fail","Page has both noindex and canonical - conflicting signals",{recommendation:"Remove either noindex or canonical. They serve opposite purposes.",evidence:{found:`noindex meta tag + canonical: ${t.canonicalUrl}`,expected:"Either noindex (to block indexing) OR canonical (to consolidate indexing)",impact:"noindex tells search engines not to index this page, while canonical tells them to consolidate signals to a URL. Google may ignore the canonical if noindex is present, wasting crawl budget.",issue:"Conflicting indexing directives",learnMore:"https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls"}}):a({id:"noindex-canonical-conflict",name:"Noindex + Canonical Conflict",category:"technical",severity:"error"},"pass","No conflicting noindex and canonical directives")},{id:"noindex-sitemap-hint",name:"Noindex Pages in Sitemap",category:"crawlability",severity:"warning",description:"Pages with noindex should not be in sitemap",check:t=>t.metaRobots?t.metaRobots.includes("noindex")&&t.pageInSitemap?a({id:"noindex-sitemap-hint",name:"Noindex in Sitemap",category:"crawlability",severity:"warning"},"warn","Page has noindex but appears to be in sitemap",{recommendation:"Remove noindex pages from sitemap to avoid wasting crawl budget.",evidence:{found:"noindex directive on page that may be in sitemap",expected:"Only indexable pages in sitemap",impact:"Including noindex pages in sitemap wastes crawl budget and sends conflicting signals to search engines.",learnMore:"https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap#best-practices"}}):a({id:"noindex-sitemap-hint",name:"Noindex in Sitemap",category:"crawlability",severity:"warning"},"pass","Page is indexable or not in sitemap"):a({id:"noindex-sitemap-hint",name:"Noindex in Sitemap",category:"crawlability",severity:"warning"},"info","Not applicable (robots meta tag data unavailable)",{recommendation:"This rule checks if noindex pages are incorrectly included in sitemap"})}];var L1=[...Wd,...Vd,...Gd,...Kd,...Xd,...Jd,...Qd,...Zd,...ep,...tp,...rp,...np,...ip,...op,...ap,...sp,...cp,...up,...dp,...pp,...mp,...fp,...Yd,...hp,...gp,...yp,...bp,...vp,...wp],xp={severity:{error:{pass:10,fail:-15,warn:-10,info:0},warning:{pass:5,fail:-8,warn:-5,info:0},info:{pass:2,fail:-3,warn:-2,info:0}},category:{title:1.5,meta:1.3,og:1,twitter:.8,headings:1.2,images:1,links:1.1,content:1.2,technical:1.3,security:.9,mobile:1.2,"structured-data":1,performance:1.4,accessibility:.8,i18n:.9,"ai-search":.7,resources:1.1,crawlability:1.3,canonicalization:1.2}};function kp(t){let e={};for(let u of t){let d=xp.severity[u.severity][u.status]??0;e[u.category]||(e[u.category]={score:0,count:0}),e[u.category].score+=d,e[u.category].count++}let r=0,n=0,i=[];for(let[u,l]of Object.entries(e)){let d=u,p=xp.category[d]??1,m=l.count>0?l.score/l.count:0,f=m*p;i.push({category:d,score:m,weight:p}),r+=f,n+=p}let o=100,c=Math.max(0,Math.min(100,70+r));return{score:Math.round(c),maxPossible:o,details:i}}var pn=class{rules;constructor(e={}){var n,i,o,s;let r=[...L1];if((n=e.categories)!=null&&n.length&&(r=r.filter(c=>e.categories.includes(c.category))),(i=e.excludeCategories)!=null&&i.length&&(r=r.filter(c=>!e.excludeCategories.includes(c.category))),(o=e.rules)!=null&&o.length&&(r=r.filter(c=>e.rules.includes(c.id))),(s=e.excludeRules)!=null&&s.length&&(r=r.filter(c=>!e.excludeRules.includes(c.id))),e.minSeverity){let c=["info","warning","error"],u=c.indexOf(e.minSeverity);r=r.filter(l=>c.indexOf(l.severity)>=u)}this.rules=r}evaluate(e){let r=[];for(let n of this.rules){let i=n.check(e);i&&r.push(i)}return r}getRules(){return[...this.rules]}getRulesByCategory(e){return this.rules.filter(r=>r.category===e)}getCategories(){return[...new Set(this.rules.map(e=>e.category))]}};function to(t){return new pn(t)}var ro=class t{root;options;rulesEngine;constructor(e,r={}){this.root=e,this.options=r,this.rulesEngine=to(r.rules)}static async fromHtml(e,r={}){let n=Pe(e);return new t(n,r)}analyze(){var _;let e=this.options.baseUrl||"",r=Ti(this.root),n=Si(this.root),i=Ai(this.root),o=Ci(this.root),s=xi(this.root,{baseUrl:this.options.baseUrl}),c=ki(this.root,{baseUrl:this.options.baseUrl}),u=this.getVisibleText(),l=_d({visibleText:u,title:r.title,description:r.description,keywords:(_=r.keywords)==null?void 0:_.join(", ")}),d=/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g,p=(u.match(d)||[]).filter(E=>!E.endsWith(".png")&&!E.endsWith(".jpg")&&!E.endsWith(".webp")),m=["facebook.com","twitter.com","x.com","instagram.com","linkedin.com","youtube.com","pinterest.com","tiktok.com","github.com","reddit.com","snapchat.com","whatsapp.com","telegram.org","discord.com","threads.net"],f=s.map(E=>E.href).filter(E=>m.some(M=>E.toLowerCase().includes(M))),h=this.analyzeSocialLinks(s,m),g=this.analyzeHeadings(),y=this.analyzeContent(g),C=this.buildLinkAnalysis(s),b=this.buildImageAnalysis(c),w=this.buildSocialAnalysis(n,i),x=this.buildTechnicalAnalysis(r),v=this.analyzeResources(),T=this.analyzeAnalytics(),k=this.analyzeFeeds(),S=this.analyzeConversionElements(s,u),P=this.detectPageType(o),q=this.buildRuleContext({pageType:P,meta:r,og:n,twitter:i,jsonLd:o,headings:g,content:y,linkAnalysis:C,imageAnalysis:b,links:s,keywords:l,resources:v,emailsFound:p,socialLinksFound:f,socialLinkDetails:h,analytics:T,feeds:k,conversion:S}),R=this.rulesEngine.evaluate(q),O=this.convertToCheckResults(R),{score:W,grade:z}=this.calculateScore(R),I=this.buildSummary(O,{content:y,imageAnalysis:b,linkAnalysis:C,meta:r,og:n,twitter:i,technical:x,pageType:P,timings:this.options.timings});return{url:e,timestamp:new Date,grade:z,score:W,timing:this.options.timings,summary:I,pageType:P,checks:O,title:r.title?{text:r.title,length:r.title.length}:void 0,metaDescription:r.description?{text:r.description,length:r.description.length}:void 0,openGraph:Object.keys(n).length>0?{title:n.title,description:n.description,image:Array.isArray(n.image)?n.image[0]:n.image,url:n.url,type:n.type,siteName:n.siteName}:void 0,twitterCard:Object.keys(i).length>0?{card:i.card,title:i.title,description:i.description,image:Array.isArray(i.image)?i.image[0]:i.image,site:i.site}:void 0,structuredData:{count:o.length,types:o.map(E=>E["@type"]).filter(Boolean),items:o},headings:g,content:y,keywords:l,links:C,images:b,social:w,technical:x}}getMainBody(){let e=this.root.querySelectorAll("body");return e.length===0?null:e.length===1?e[0]:e.reduce((r,n)=>n.text.length>r.text.length?n:r)}detectPageType(e){if(!this.options.baseUrl)return"other";try{let r=new URL(this.options.baseUrl),n=r.pathname.toLowerCase(),i=u=>r.searchParams.has(u);return n==="/"||n===""?"homepage":/(^|\/)(search|busca|s|results|query)\b/.test(n)||i("q")||i("query")||i("search")?"search":["product","produto","item","sku","shop"].some(u=>n.includes(`/${u}/`))?"product":["article","post","blog","noticia","news"].some(u=>n.includes(`/${u}/`))||this.root.querySelectorAll("article").length>0?"article":/(^|\/)(categoria|category|tag|section|topic)\b/.test(n)?"category":e.map(u=>u["@type"]).some(u=>typeof u=="string"&&u.toLowerCase()==="product")?"product":"other"}catch{return"other"}}getVisibleText(){let e=this.getMainBody();if(!e)return"";let r=e.clone(),n=["script","style","noscript","template","header","nav","svg"];try{r.querySelectorAll(n.join(",")).forEach(o=>o.remove())}catch{n.forEach(i=>{r.querySelectorAll(i).forEach(o=>o.remove())})}try{r.querySelectorAll('[hidden], [aria-hidden="true"]').forEach(i=>i.remove())}catch{r.querySelectorAll("[hidden]").forEach(i=>i.remove()),r.querySelectorAll('[aria-hidden="true"]').forEach(i=>i.remove())}return r.text.replace(/\s+/g," ").trim()}buildRuleContext(e){var Is,Hs,qs,$s,Os,zs,js,_s;let{meta:r,og:n,twitter:i,jsonLd:o,headings:s,content:c,pageType:u,linkAnalysis:l,imageAnalysis:d,links:p,keywords:m,resources:f,emailsFound:h,socialLinksFound:g,socialLinkDetails:y,analytics:C,feeds:b,conversion:w}=e,x=this.root.querySelector("html"),v=x?x.getAttribute("lang"):void 0,T=[];this.root.querySelectorAll('link[rel="alternate"][hreflang]').forEach(N=>{let te=N.getAttribute("hreflang"),Ct=N.getAttribute("href");te&&Ct&&T.push({lang:te,href:Ct})});let k=this.root.querySelector('meta[property="og:locale"]'),S=k?k.getAttribute("content"):void 0,P=U.links.genericTexts,q=p.filter(N=>{var Ct;let te=(Ct=N.text)==null?void 0:Ct.toLowerCase().trim();return te&&P.some(bn=>te===bn||te.includes(bn))}),R=q.length,O=p.filter(N=>{let te=N.text&&N.text.trim()!=="",Ct=N.hasImageWithAlt||N.hasSvgWithTitle,bn=N.ariaLabel||N.title;return!te&&!Ct&&!bn}),W=p.filter(N=>N.type==="external"&&N.target==="_blank"),z=W.filter(N=>{var te;return!((te=N.rel)!=null&&te.includes("noopener"))}),I=W.filter(N=>{var te;return!((te=N.rel)!=null&&te.includes("noreferrer"))}),_={withoutText:O,genericText:q,missingNoopener:z,missingNoreferrer:I},E=this.checkMixedContent(),M=this.root.querySelectorAll("h1"),B=M.length>0?M[0].text.trim():"",H=m.topKeywords.slice(0,5).map(N=>N.word),F=H.length>0?H[0]:void 0,oe=H.some(N=>{var te;return(te=r.title)==null?void 0:te.toLowerCase().includes(N)}),ee=H.some(N=>{var te;return(te=r.description)==null?void 0:te.toLowerCase().includes(N)}),Ie=H.some(N=>B.toLowerCase().includes(N)),ne=this.options.baseUrl?new URL(this.options.baseUrl).pathname.toLowerCase().replace(/[-_]/g," "):"",Xe=H.some(N=>ne.includes(N)),je=((Hs=(Is=this.root.querySelector("p"))==null?void 0:Is.text)==null?void 0:Hs.toLowerCase())||"",He=H.some(N=>je.includes(N)),Je=d.imageAltTexts||[],_e=Je.some(N=>H.some(te=>N.includes(te))),Vt=F?{inTitle:((qs=r.title)==null?void 0:qs.toLowerCase().includes(F))||!1,inDescription:(($s=r.description)==null?void 0:$s.toLowerCase().includes(F))||!1,inH1:B.toLowerCase().includes(F)||!1,inUrl:ne.includes(F),inFirstParagraph:je.includes(F),inAltText:Je.some(N=>N.includes(F))}:void 0,yn=Vt?Object.values(Vt).filter(Boolean).length:void 0,At=this.root.querySelector('meta[name="viewport"]'),Gt=At?At.getAttribute("content"):void 0,Ip=this.analyzeAccessibility(),Hp=this.root.querySelectorAll('img[alt=""]').length,qp=this.analyzeLinkSecurity(),$p=this.detectFavicon(),Op=this.analyzePerformanceHints(),Us=this.analyzeCWVHints(),zp=this.analyzeStructuralHtml(),jp=this.analyzeBreadcrumbs(o.map(N=>N["@type"]).filter(Boolean)),_p=this.analyzeMultimedia(),Wp=this.analyzeResponsiveImages(),Vp=this.analyzeInlineImages(),Gp=this.analyzeTrustSignals(p),Kp=(s.structure.filter(N=>N.level===2).length||0)+(s.structure.filter(N=>N.level===3).length||0),Xp=c.wordCount>0?Kp/c.wordCount*100:0,Jp=this.calculateTextHtmlRatio(c.characterCount);return{pageType:u,jsFilesCount:f.jsFilesCount,cssFilesCount:f.cssFilesCount,unminifiedResources:f.unminifiedResources,unminifiedResourceUrls:f.unminifiedResourceUrls,emailsFound:h,socialLinksFound:g,...y,keywordsInTitle:oe,keywordsInDescription:ee,keywordsInH1:Ie,keywordsInUrl:Xe,keywordsInFirstParagraph:He,keywordsInAltText:_e,keywordConsistencyScore:yn,keywordConsistencyDetails:Vt,topKeywords:H,mainKeyword:F,title:r.title,titleLength:(Os=r.title)==null?void 0:Os.length,metaDescription:r.description,metaDescriptionLength:(zs=r.description)==null?void 0:zs.length,metaKeywords:r.keywords,metaRobots:r.robots,ogTitle:n.title,ogDescription:n.description,ogImage:Array.isArray(n.image)?n.image[0]:n.image,ogUrl:n.url,ogType:n.type,ogSiteName:n.siteName,twitterCard:i.card,twitterTitle:i.title,twitterDescription:i.description,twitterImage:Array.isArray(i.image)?i.image[0]:i.image,twitterSite:i.site,h1Count:s.h1Count,h1Text:B||void 0,h1Length:B==null?void 0:B.length,h2Count:s.structure.filter(N=>N.level===2).length,headingHierarchyValid:s.hasProperHierarchy,headingSkippedLevels:s.issues.filter(N=>N.includes("Skipped")),sectionWordCounts:s.sectionWordCounts,totalImages:d.total,imagesWithAlt:d.withAlt,imagesWithoutAlt:d.withoutAlt,imagesWithLazyLoad:d.lazy,imagesMissingDimensions:d.missingDimensions,imagesWithEmptyAlt:Hp,imagesUsingModernFormats:d.modernFormats,altTextLengths:d.altTextLengths,imageAltTexts:d.imageAltTexts,imageFilenames:d.imageFilenames,imagesWithAsyncDecoding:d.imagesWithAsyncDecoding,imagesWithSrcset:Wp.imagesWithSrcset,largeBase64ImagesCount:Vp.largeBase64ImagesCount,...Ip,allLinks:p,totalLinks:l.total,internalLinks:l.internal,externalLinks:l.external,internalHttpLinks:l.internalHttpLinks,internalHttpLinkUrls:l.internalHttpLinkUrls,linksWithoutText:l.withoutText,nofollowLinks:l.nofollow,sponsoredLinks:l.sponsoredLinks,ugcLinks:l.ugcLinks,linksWithGenericText:R,...qp,problematicLinks:_,wordCount:c.wordCount,characterCount:c.characterCount,sentenceCount:c.sentenceCount,paragraphCount:c.paragraphCount,avgWordsPerSentence:c.avgWordsPerSentence,avgParagraphLength:c.avgParagraphLength,listCount:c.listCount,strongTagCount:c.strongTagCount,emTagCount:c.emTagCount,subheadingFrequency:Xp,paragraphWordCounts:c.paragraphWordCounts,avgSentenceLength:c.avgSentenceLength,faqCount:c.faqCount,imagePerWordRatio:c.imagePerWordRatio,keywordDensity:c.keywordDensity,fleschReadingEase:c.fleschReadingEase,hasQuestionHeadings:c.hasQuestionHeadings,...zp,...Gp,...jp,..._p,hasCanonical:!!r.canonical,canonicalUrl:r.canonical,hasViewport:!!r.viewport,viewportContent:Gt,hasCharset:!!r.charset,charset:r.charset,hasLang:!!v,langValue:v,isHttps:(js=this.options.baseUrl)==null?void 0:js.startsWith("https://"),hasMixedContent:E,responseHeaders:this.options.responseHeaders,textHtmlRatio:Jp,hasFrameTags:this.root.querySelectorAll("frame, frameset").length>0,iframeCount:this.root.querySelectorAll("iframe").length,hasDeprecatedPlugins:this.root.querySelectorAll("object, embed, applet").length>0,deprecatedTagsCount:this.root.querySelectorAll("center, font, strike, u, marquee, blink, big, tt").length,deprecatedTagsFound:["center","font","strike","u","marquee","blink","big","tt"].filter(N=>this.root.querySelectorAll(N).length>0),hasAppleTouchIcon:this.root.querySelectorAll('link[rel="apple-touch-icon"], link[rel="apple-touch-icon-precomposed"]').length>0,...$p,...Op,lcpHints:Us.lcpHints,clsHints:Us.clsHints,jsonLdCount:o.length,jsonLdTypes:o.map(N=>N["@type"]).filter(Boolean),url:this.options.baseUrl,urlLength:(_s=this.options.baseUrl)==null?void 0:_s.length,titleMatchesH1:r.title&&B?r.title.toLowerCase().trim()===B.toLowerCase().trim():void 0,...this.analyzeUrlQuality(),...this.analyzeJsRendering(c),hreflangTags:T.length>0?T:void 0,ogLocale:S,analyticsDetected:C.analyticsDetected,analyticsProviders:C.analyticsProviders,...b,ctaButtonsCount:w.ctaButtonsCount,formCount:w.formCount,hasWhatsAppLink:w.hasWhatsAppLink,hasPhoneOnPage:w.hasPhoneOnPage,timings:this.options.timings,htmlSize:this.options.htmlSize}}analyzeUrlQuality(){if(!this.options.baseUrl)return{urlHasUppercase:!1,urlHasSpecialChars:!1,urlHasAccents:!1};try{let e=new URL(this.options.baseUrl),r=e.pathname+e.search,n=/[A-Z]/.test(r),i=/[àáâãäåæçèéêëìíîïñòóôõöùúûüýÿ]/i.test(r),o=/[<>{}|\^`\[\]]/.test(r)||/%[0-9A-F]{2}/i.test(r);return{urlHasUppercase:n,urlHasSpecialChars:o,urlHasAccents:i}}catch{return{urlHasUppercase:!1,urlHasSpecialChars:!1,urlHasAccents:!1}}}analyzeJsRendering(e){let r=e.characterCount,n=this.root.querySelectorAll("script").length,i=this.root.querySelector("noscript"),s=(i?i.text.trim():"").length>0;return{bodyTextLength:r,scriptCount:n,hasNoscriptContent:s}}analyzeResponsiveImages(){let e=0;return this.root.querySelectorAll("img").forEach(r=>{(r.getAttribute("srcset")||r.parentNode&&r.parentNode.tagName==="PICTURE")&&e++}),{imagesWithSrcset:e}}analyzeInlineImages(){let e=0;return this.root.querySelectorAll("img").forEach(r=>{let n=r.getAttribute("src")||"";n.startsWith("data:image")&&n.length>5*1024&&e++}),{largeBase64ImagesCount:e}}checkMixedContent(){let e=!1;return this.root.querySelectorAll('img[src^="http://"]').forEach(()=>{e=!0}),this.root.querySelectorAll('script[src^="http://"]').forEach(()=>{e=!0}),this.root.querySelectorAll('link[href^="http://"]').forEach(()=>{e=!0}),e}analyzeLinkSecurity(){let e=0,r=0;return this.root.querySelectorAll('a[href^="http"][target="_blank"]').forEach(n=>{let i=n.getAttribute("href")||"",o=(n.getAttribute("rel")||"").toLowerCase();this.options.baseUrl&&i.startsWith(this.options.baseUrl)||(o.includes("noopener")||e++,o.includes("noreferrer")||r++)}),{externalLinksWithoutNoopener:e,externalLinksWithoutNoreferrer:r}}detectFavicon(){let e=['link[rel="icon"]','link[rel="shortcut icon"]','link[rel="apple-touch-icon"]','link[rel="apple-touch-icon-precomposed"]'];for(let r of e){let n=this.root.querySelector(r);if(n)return{hasFavicon:!0,faviconUrl:n.getAttribute("href")}}return{hasFavicon:!1}}analyzePerformanceHints(){let r=this.root.querySelectorAll('link[rel="preconnect"]').length,i=this.root.querySelectorAll('link[rel="dns-prefetch"]').length,s=this.root.querySelectorAll('link[rel="preload"]').length,c=0;this.root.querySelectorAll("head script[src]:not([async]):not([defer])").forEach(()=>{c++}),this.root.querySelectorAll('head link[rel="stylesheet"]').forEach(d=>{let p=d.getAttribute("media");(!p||p==="all"||p==="screen")&&c++});let u=this.root.querySelectorAll("script:not([src])").filter(d=>(d.innerHTML||"").trim().length>0).length,l=this.root.querySelectorAll("style").length;return{hasPreconnect:r>0,preconnectCount:r,hasDnsPrefetch:i>0,dnsPrefetchCount:i,hasPreload:s>0,preloadCount:s,renderBlockingResources:c,inlineScriptsCount:u,inlineStylesCount:l}}analyzeCWVHints(){let e=this.root.querySelectorAll("img"),r=!1,n=!1,i=!1;e.slice(0,3).forEach((s,c)=>{let u=parseInt(s.getAttribute("width")||"0",10),l=parseInt(s.getAttribute("height")||"0",10),d=s.getAttribute("loading"),p=s.getAttribute("fetchpriority");(u>=400||l>=300)&&(r=!0),c===0&&d==="lazy"&&(n=!0),p==="high"&&(i=!0)}),this.root.querySelectorAll('[style*="background-image"]').slice(0,3).forEach(()=>{r=!0});let o=this.root.querySelectorAll("img:not([width]):not([height])").length+this.root.querySelectorAll('img[width="auto"], img[height="auto"]').length;return{lcpHints:{hasLargeImages:r,hasLazyLcp:n,hasPriorityHints:i},clsHints:{imagesWithoutDimensions:o}}}analyzeAccessibility(){let e=0;this.root.querySelectorAll("button").forEach(c=>{let u=c.text.trim(),l=c.getAttribute("aria-label"),d=c.getAttribute("aria-labelledby"),p=c.getAttribute("title");!u&&!l&&!d&&!p&&e++});let r=0;this.root.querySelectorAll("a[href]").forEach(c=>{let u=c.text.trim(),l=c.getAttribute("aria-label"),d=c.getAttribute("aria-labelledby"),p=c.getAttribute("title"),f=c.querySelectorAll("img").filter(b=>{var w;return!!((w=b.getAttribute("alt"))!=null&&w.trim())}).length>0,g=c.querySelectorAll("svg").filter(b=>b.querySelectorAll("title").length>0||!!b.getAttribute("aria-label")).length>0;!(u||f||g)&&!(l||d||p)&&r++});let n=0;this.root.querySelectorAll('input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]), select, textarea').forEach(c=>{let u=c.getAttribute("id"),l=c.getAttribute("aria-label"),d=c.getAttribute("aria-labelledby"),p=c.getAttribute("placeholder"),m=c.getAttribute("title"),f=u?this.root.querySelectorAll(`label[for="${u}"]`).length>0:!1,h=c.closest("label")!==null;!f&&!h&&!l&&!d&&!m&&!p&&n++});let i=this.root.querySelectorAll("iframe:not([title])").length,o=0;this.root.querySelectorAll("table").forEach(c=>{let u=c.querySelectorAll("caption").length>0,l=c.getAttribute("aria-label"),d=c.getAttribute("aria-labelledby"),p=c.getAttribute("role");if(p==="presentation"||p==="none")return;c.querySelectorAll("th").length>0&&!u&&!l&&!d&&o++});let s=0;return this.root.querySelectorAll("svg").forEach(c=>{let u=c.querySelectorAll("title").length>0,l=c.getAttribute("aria-label"),d=c.getAttribute("aria-labelledby"),p=c.getAttribute("aria-hidden"),m=c.getAttribute("role");p==="true"||m==="presentation"||m==="none"||!u&&!l&&!d&&s++}),{buttonsWithoutAriaLabel:e,linksWithoutAriaLabel:r,inputsWithoutLabel:n,iframesWithoutTitle:i,tablesWithoutCaption:o,svgsWithoutTitle:s}}analyzeStructuralHtml(){return{hasHeader:this.root.querySelectorAll("header").length>0,hasNav:this.root.querySelectorAll("nav").length>0,hasMain:this.root.querySelectorAll("main").length>0,hasArticle:this.root.querySelectorAll("article").length>0,hasSection:this.root.querySelectorAll("section").length>0,hasFooter:this.root.querySelectorAll("footer").length>0}}analyzeBreadcrumbs(e){let r=this.root.querySelectorAll('nav[aria-label="breadcrumb"], .breadcrumb, .breadcrumbs').length>0,n=e.includes("BreadcrumbList");return{hasBreadcrumbsHtml:r,hasBreadcrumbsSchema:n}}analyzeMultimedia(){let e=this.root.querySelectorAll("video"),r=this.root.querySelectorAll("audio"),n=!1,i=o=>{o.forEach(s=>{(s.getAttribute("autoplay")!==void 0||s.hasAttribute("autoplay"))&&(n=!0)})};return i(e),i(r),{videoCount:e.length,audioCount:r.length,hasAutoplay:n}}analyzeSocialLinks(e,r){let n=e.filter(y=>r.some(C=>y.href.toLowerCase().includes(C))),i={"facebook.com":"facebook","twitter.com":"twitter","x.com":"twitter","instagram.com":"instagram","linkedin.com":"linkedin","youtube.com":"youtube","pinterest.com":"pinterest","tiktok.com":"tiktok","github.com":"github","reddit.com":"reddit","snapchat.com":"snapchat","whatsapp.com":"whatsapp","telegram.org":"telegram","discord.com":"discord","threads.net":"threads"},o=[],s=0,c=0,u=0,l=0,d=0,p=new Set,m=this.root.querySelectorAll("header a[href]"),f=this.root.querySelectorAll("footer a[href]"),h=new Set(m.map(y=>y.getAttribute("href")||"")),g=new Set(f.map(y=>y.getAttribute("href")||""));for(let y of n){let C="unknown";for(let[T,k]of Object.entries(i))if(y.href.toLowerCase().includes(T)){C=k,p.add(k);break}let b="body";h.has(y.href)?(b="header",s++):g.has(y.href)&&(b="footer",c++);let w=!!(y.ariaLabel||y.title||y.text&&y.text.trim());w||u++;let x=y.target==="_blank";x||l++;let v=!!(y.rel&&y.rel.includes("noopener"));x&&!v&&d++,o.push({href:y.href,platform:C,hasAccessibility:w,hasNewTab:x,hasNoopener:v,location:b})}return{totalSocialLinks:n.length,socialLinksInHeader:s,socialLinksInFooter:c,socialLinksWithoutAccessibility:u,socialLinksWithoutNewTab:l,socialLinksWithoutNoopener:d,platformsFound:Array.from(p),socialLinkDetails:o}}analyzeTrustSignals(e){let r=e.map(n=>n.href.toLowerCase());return{hasAboutPageLink:r.some(n=>n.includes("about")||n.includes("quem-somos")),hasContactPageLink:r.some(n=>n.includes("contact")||n.includes("contato")),hasPrivacyPolicyLink:r.some(n=>n.includes("privacy")||n.includes("privacidade")),hasTermsOfServiceLink:r.some(n=>n.includes("terms")||n.includes("termos-de-uso"))}}analyzeAnalytics(){let e=[],r=this.root.querySelectorAll("script"),n=[],i=[];r.forEach(s=>{let c=s.getAttribute("src")||"",u=s.innerHTML||"";c&&n.push(c.toLowerCase()),u&&i.push(u.toLowerCase())});let o=n.join(" ")+" "+i.join(" ");return o.includes("gtag")&&o.includes("g-")&&e.push("Google Analytics 4 (GA4)"),(o.includes("analytics.js")||o.includes("ga.js")||o.includes("ua-")&&!o.includes("g-"))&&e.push("Universal Analytics (UA)"),(o.includes("googletagmanager.com/gtm")||o.includes("gtm-"))&&e.push("Google Tag Manager"),(o.includes("hotjar.com")||o.includes("hj("))&&e.push("Hotjar"),(o.includes("clarity.ms")||o.includes("clarity("))&&e.push("Microsoft Clarity"),(o.includes("fullstory.com")||o.includes("fs.identify"))&&e.push("FullStory"),o.includes("luckyorange.com")&&e.push("Lucky Orange"),o.includes("crazyegg.com")&&e.push("Crazy Egg"),(o.includes("mixpanel.com")||o.includes("mixpanel.init"))&&e.push("Mixpanel"),(o.includes("heap.io")||o.includes("heapanalytics"))&&e.push("Heap"),(o.includes("amplitude.com")||o.includes("amplitude.init"))&&e.push("Amplitude"),(o.includes("segment.com")||o.includes("analytics.load"))&&e.push("Segment"),o.includes("plausible.io")&&e.push("Plausible"),(o.includes("matomo")||o.includes("piwik"))&&e.push("Matomo"),(o.includes("posthog.com")||o.includes("posthog.init"))&&e.push("PostHog"),(o.includes("connect.facebook.net")||o.includes("fbq("))&&e.push("Facebook Pixel"),(o.includes("snap.licdn.com")||o.includes("_linkedin_partner_id"))&&e.push("LinkedIn Insight"),(o.includes("static.ads-twitter.com")||o.includes("twq("))&&e.push("Twitter Pixel"),(o.includes("pintrk(")||o.includes("pinterest.com/ct"))&&e.push("Pinterest Tag"),{analyticsDetected:e.length>0,analyticsProviders:e}}analyzeFeeds(){let e=!1,r,n=!1,i,o=this.root.querySelector('link[type="application/rss+xml"]');o&&(e=!0,r=o.getAttribute("href")||void 0);let s=this.root.querySelector('link[type="application/atom+xml"]');return s&&(n=!0,i=s.getAttribute("href")||void 0),{hasRssFeed:e,rssFeedUrl:r,hasAtomFeed:n,atomFeedUrl:i}}analyzeConversionElements(e,r){let n=this.root.querySelectorAll("form").length,i=[/^(get started|start|begin|try|sign up|register|subscribe|join|buy|purchase|order|add to cart|checkout|download|contact|request|schedule|book|reserve|learn more|read more|discover|explore|view|see|watch|listen|play|submit|send|apply|claim|grab|unlock|access)$/i,/^(obter|começar|iniciar|experimentar|inscrever|registrar|assinar|entrar|comprar|pedir|adicionar|finalizar|baixar|contato|solicitar|agendar|reservar|saber mais|ler mais|descobrir|explorar|ver|assistir|ouvir|enviar|aplicar|reivindicar|acessar)$/i],o=0;this.root.querySelectorAll("button").forEach(l=>{let d=l.text.trim().toLowerCase();i.some(p=>p.test(d))&&o++}),this.root.querySelectorAll('a[class*="btn"], a[class*="button"], a[role="button"]').forEach(l=>{let d=l.text.trim().toLowerCase();i.some(p=>p.test(d))&&o++});let s=e.some(l=>l.href.includes("wa.me")||l.href.includes("whatsapp.com")||l.href.includes("api.whatsapp.com")),u=/(?:\+?\d{1,3}[-.\s]?)?\(?\d{2,4}\)?[-.\s]?\d{3,5}[-.\s]?\d{3,5}/g.test(r)||e.some(l=>l.href.startsWith("tel:"));return{ctaButtonsCount:o,formCount:n,hasWhatsAppLink:s,hasPhoneOnPage:u}}calculateTextHtmlRatio(e){var n;let r=(n=this.root.innerHTML)==null?void 0:n.length;if(r&&r>0)return e/r*100}classifyInfoCheck(e){var s;if(e.status!=="info")return;let r=(e.message||"").toLowerCase(),n=(((s=e.evidence)==null?void 0:s.issue)||"").toLowerCase(),i=(e.recommendation||"").toLowerCase(),o=`${r} ${n} ${i}`;return/not\s+applicable/.test(o)||/not\s+available/.test(o)||/data\s+unavailable/.test(o)||/context\s+unavailable/.test(o)||/unable\s+to\s+check/.test(o)||/cannot\s+verify/.test(o)||/cannot\s+be\s+determined/.test(o)||/\bunavailable\b/.test(o)||/not\s+set/.test(o)||/not\s+present/.test(o)?"not_applicable":"suggestion"}convertToCheckResults(e){return e.map(r=>({id:r.id,name:r.name,category:r.category,severity:r.severity,status:r.status,message:r.message,infoType:this.classifyInfoCheck(r),value:r.value,recommendation:r.recommendation,evidence:r.evidence}))}buildSummary(e,r){var T;let n=r.pageType,i=r.timings,o=e.filter(k=>k.status==="pass").length,s=e.filter(k=>k.status==="warn").length,c=e.filter(k=>k.status==="fail").length,u=e.filter(k=>k.status==="info").length,l=e.filter(k=>k.status==="info"&&k.infoType==="not_applicable").length,d=e.filter(k=>k.status==="info"&&k.infoType!=="not_applicable").length,p=e.length,m=p-u,f=m>0?Math.round(o/m*100):100,h={};for(let k of e){let S=k.category;h[S]||(h[S]={passed:0,warnings:0,errors:0,infos:0,notApplicable:0,suggestions:0}),k.status==="pass"?h[S].passed++:k.status==="warn"?h[S].warnings++:k.status==="fail"?h[S].errors++:k.status==="info"&&(h[S].infos++,k.infoType==="not_applicable"?h[S].notApplicable++:h[S].suggestions++)}let g=e.filter(k=>k.status==="fail"||k.status==="warn").sort((k,S)=>{let P=W=>W==="fail"?2:1,q=P(S.status)-P(k.status);if(q!==0)return q;let R=k.severity||(k.status==="fail"?"error":"warning"),O=S.severity||(S.status==="fail"?"error":"warning");return R===O?0:R==="error"?-1:1}).slice(0,5).map(k=>({name:k.name,message:k.message,category:k.category,severity:k.severity||(k.status==="fail"?"error":"warning")})),y=[];r.meta.title||y.push("Add a page title"),r.meta.description||y.push("Add a meta description"),!r.og.title&&!r.og.description&&y.push("Add OpenGraph meta tags for social sharing"),r.twitter.card||y.push("Add Twitter Card meta tags"),r.technical.hasCanonical||y.push("Add a canonical URL"),r.technical.hasLang||y.push("Add lang attribute to <html>"),r.imageAnalysis.withoutAlt>0&&y.push(`Add alt text to ${r.imageAnalysis.withoutAlt} image(s)`),r.linkAnalysis.withoutText>0&&y.push(`Add text to ${r.linkAnalysis.withoutText} empty link(s)`);let C=y.slice(0,5),b=(T=this.root.innerHTML)==null?void 0:T.length,w=this.root.querySelectorAll("*").length,x={htmlSize:b,domElements:w,ttfb:i==null?void 0:i.ttfb,totalTime:i==null?void 0:i.total,wordCount:r.content.wordCount,totalWordCount:r.content.totalWordCount,readingTime:r.content.readingTimeMinutes,imageCount:r.imageAnalysis.total,linkCount:r.linkAnalysis.total},v={meta:this.calculateMetaCompleteness(r.meta),social:this.calculateSocialCompleteness(r.og,r.twitter),technical:this.calculateTechnicalCompleteness(r.technical),content:this.calculateContentCompleteness(r.content),images:this.calculateImageCompleteness(r.imageAnalysis),links:this.calculateLinkCompleteness(r.linkAnalysis)};return{totalChecks:p,passed:o,warnings:s,errors:c,infos:u,notApplicable:l,suggestions:d,passRate:f,issuesByCategory:h,pageType:n,topIssues:g,quickWins:C,vitals:x,completeness:v}}calculateMetaCompleteness(e){let r=0,n=5;return e.title&&r++,e.description&&r++,e.canonical&&r++,e.viewport&&r++,e.charset&&r++,Math.round(r/n*100)}calculateSocialCompleteness(e,r){let n=0,i=8;return e.title&&n++,e.description&&n++,e.image&&n++,e.url&&n++,r.card&&n++,r.title&&n++,r.description&&n++,r.image&&n++,Math.round(n/i*100)}calculateTechnicalCompleteness(e){let r=0,n=5;return e.hasCanonical&&r++,e.hasViewport&&r++,e.hasCharset&&r++,e.hasLang&&r++,e.hasRobotsMeta&&r++,Math.round(r/n*100)}calculateContentCompleteness(e){let r=0,n=5;return e.wordCount>=300&&r++,e.paragraphCount>=3&&r++,e.listCount>0&&r++,e.readingTimeMinutes>=1&&r++,(e.strongTagCount>0||e.emTagCount>0)&&r++,Math.round(r/n*100)}calculateImageCompleteness(e){if(e.total===0)return 100;let r=0,n=4;return e.withoutAlt===0&&r++,e.lazy>0&&r++,e.missingDimensions===0&&r++,e.modernFormats>0&&r++,Math.round(r/n*100)}calculateLinkCompleteness(e){if(e.total===0)return 100;let r=0,n=4;return e.internal>0&&r++,e.external>0&&r++,e.withoutText===0&&r++,e.broken===0&&r++,Math.round(r/n*100)}analyzeHeadings(){let e=[],r=[],n=[],i={1:0,2:0,3:0,4:0,5:0,6:0},o=0,s=!1,c=this.getMainBody();(c?c.querySelectorAll("*"):[]).forEach(p=>{let m=p.tagName.toLowerCase();if(m.match(/^h[1-6]$/)){let f=parseInt(m.substring(1),10),h=p.text.trim();i[f]=(i[f]||0)+1,r.push({level:f,text:h.slice(0,80),count:1}),f===2&&(s&&n.push(o),o=0,s=!0)}else if(s&&["p","ul","ol","div","article","section"].includes(m)){let f="";p.childNodes.forEach(h=>{h.nodeType===3&&(f+=h.text)}),f=f.trim(),f.length>0&&(o+=f.split(/\s+/).length)}}),s&&n.push(o);let l=!0,d=0;for(let p of r)p.level>d+1&&d!==0&&(l=!1,e.push(`Skipped heading level: H${d} to H${p.level}`)),d=p.level;return i[1]===0?e.push("No H1 tag found"):i[1]>1&&e.push("Multiple H1 tags"),{structure:r,h1Count:i[1],hasProperHierarchy:l,issues:e,sectionWordCounts:n}}analyzeContent(e){var x;let r=this.getMainBody(),n=this.getVisibleText(),i=r?r.text.replace(/\s+/g," ").trim():"";if(!i||i.length===0){let v=((x=this.root.text)==null?void 0:x.replace(/\s+/g," ").trim())||"";if(v.length>0)i=v;else{let T=[];this.root.querySelectorAll("p").forEach(k=>{var P;let S=(P=k.text)==null?void 0:P.trim();S&&T.push(S)}),i=T.join(" ")}}let o=n.split(/\s+/).filter(v=>v.length>0),s=i.split(/\s+/).filter(v=>v.length>0),c=n.split(/[.!?]+/).filter(v=>v.trim().length>0),u=this.root.querySelectorAll("p"),l=0,d=[];u.forEach(v=>{var S;let T=((S=v.text)==null?void 0:S.trim())||"";l+=T.length;let k=T.split(/\s+/).filter(P=>P.length>0).length;k>0&&d.push(k)});let p=o.length,m=s.length,f=Math.ceil(p/200),h=c.length>0?Math.round(p/c.length):0,g=0;e.structure.forEach(v=>{v.level===3&&/^(what|how|why|when|where|who|can|do|is|are)\b/i.test(v.text)&&g++});let y=this.root.querySelectorAll("img").length,C=p>0?y/p:0,b=void 0,w=e.structure.some(v=>(v.level===2||v.level===3)&&/^(what|how|why|when|where|who|can|do|is|are)\b/i.test(v.text));return{wordCount:p,totalWordCount:m,characterCount:n.length,sentenceCount:c.length,paragraphCount:u.length,readingTimeMinutes:f,avgWordsPerSentence:h,avgParagraphLength:u.length>0?Math.round(l/u.length):0,listCount:this.root.querySelectorAll("ul, ol").length,strongTagCount:this.root.querySelectorAll("strong").length,emTagCount:this.root.querySelectorAll("em").length,paragraphWordCounts:d,avgSentenceLength:h,faqCount:g,imagePerWordRatio:C,fleschReadingEase:b,hasQuestionHeadings:w}}buildLinkAnalysis(e){let r=e.filter(n=>n.type==="internal"&&n.href.startsWith("http://")).map(n=>n.href);return{total:e.length,internal:e.filter(n=>n.type==="internal").length,external:e.filter(n=>n.type==="external").length,nofollow:e.filter(n=>{var i;return(i=n.rel)==null?void 0:i.includes("nofollow")}).length,sponsoredLinks:e.filter(n=>{var i;return(i=n.rel)==null?void 0:i.includes("sponsored")}).length,ugcLinks:e.filter(n=>{var i;return(i=n.rel)==null?void 0:i.includes("ugc")}).length,broken:0,withoutText:e.filter(n=>{var i;return!((i=n.text)!=null&&i.trim())}).length,internalHttpLinks:r.length,internalHttpLinkUrls:r}}buildImageAnalysis(e){return{total:e.length,withAlt:e.filter(r=>r.alt&&r.alt.trim().length>0).length,withoutAlt:e.filter(r=>!r.alt||r.alt.trim().length===0).length,lazy:e.filter(r=>r.loading==="lazy").length,missingDimensions:e.filter(r=>!r.width||!r.height).length,modernFormats:e.filter(r=>/\.(webp|avif)$/i.test(r.src)).length,altTextLengths:e.filter(r=>r.alt).map(r=>r.alt.length),imageAltTexts:e.filter(r=>r.alt).map(r=>r.alt.toLowerCase()),imageFilenames:e.map(r=>{try{return new URL(r.src).pathname.split("/").pop()||""}catch{return""}}).filter(Boolean),imagesWithAsyncDecoding:e.filter(r=>r.decoding==="async").length}}buildSocialAnalysis(e,r){let n=[],i=[],o=!!(e.title||e.description||e.image);o?(e.title||n.push("Missing og:title"),e.description||n.push("Missing og:description"),e.image||n.push("Missing og:image"),e.url||n.push("Missing og:url")):n.push("No OpenGraph meta tags found");let s=!!(r.card||r.title||r.description);return s?(r.card||i.push("Missing twitter:card"),r.title||i.push("Missing twitter:title"),r.description||i.push("Missing twitter:description")):i.push("No Twitter Card meta tags found"),{openGraph:{present:o,hasTitle:!!e.title,hasDescription:!!e.description,hasImage:!!e.image,hasUrl:!!e.url,issues:n},twitterCard:{present:s,hasCard:!!r.card,hasTitle:!!r.title,hasDescription:!!r.description,hasImage:!!r.image,issues:i}}}buildTechnicalAnalysis(e){let r=this.root.querySelector("html"),n=r?r.getAttribute("lang"):void 0;return{hasCanonical:!!e.canonical,canonicalUrl:e.canonical,hasRobotsMeta:!!e.robots,robotsContent:e.robots,hasViewport:!!e.viewport,hasCharset:!!e.charset,hasLang:!!n,langValue:n}}analyzeResources(){let e=this.root.querySelectorAll("script[src]"),r=this.root.querySelectorAll('link[rel="stylesheet"]'),n=[];return e.forEach(i=>{let o=i.getAttribute("src");o&&!o.includes(".min.")&&!o.includes("cdn")&&n.push(o)}),r.forEach(i=>{let o=i.getAttribute("href");o&&!o.includes(".min.")&&!o.includes("cdn")&&n.push(o)}),{jsFilesCount:e.length,cssFilesCount:r.length,unminifiedResources:n.length,unminifiedResourceUrls:n}}calculateScore(e){if(e.length===0)return{score:100,grade:"A"};let{score:r}=kp(e),n=r,i;return n>=90?i="A":n>=80?i="B":n>=70?i="C":n>=60?i="D":i="F",{score:n,grade:i}}getRules(){return this.rulesEngine.getRules()}getRulesByCategory(e){return this.rulesEngine.getRulesByCategory(e)}getCategories(){return this.rulesEngine.getCategories()}};async function Ls(t,e={}){return(await ro.fromHtml(t,e)).analyze()}var Ms={};ve(Ms,{AIConfigurationError:()=>Mn,AIError:()=>ie,AdaptiveTimeoutManager:()=>fn,AnthropicProvider:()=>vr,AuthenticationError:()=>ot,BaseAIProvider:()=>ze,ClientAIImpl:()=>Yt,ContextLengthError:()=>Ke,ConversationMemory:()=>Qt,GoogleProvider:()=>wr,OllamaProvider:()=>xr,OpenAIProvider:()=>br,OverloadedError:()=>Me,PROVIDER_RATE_LIMITS:()=>Ns,RateLimitError:()=>Ne,RateLimitExceededError:()=>gn,StreamTimeoutController:()=>io,TokenRateLimiter:()=>hn,UnifiedAIClient:()=>mn,adaptiveTimeouts:()=>Tp,createAI:()=>no,createRateLimiter:()=>Ap,tokenEstimators:()=>Cp});G();var ze=class{config;constructor(e){this.config=e}get name(){return this.config.name}getApiKey(){let e=this.config.apiKey||this.getEnvApiKey();if(!e)throw new Le(`API key not configured for provider: ${this.config.name}`,{configKey:`${this.config.name}.apiKey`});return e}buildHeaders(){return{"Content-Type":"application/json",...this.config.headers}}calculateLatency(e){let n=performance.now()-e.startTime,i=e.firstTokenTime?e.firstTokenTime-e.startTime:n,o=e.tokenCount>0&&n>0?e.tokenCount/n*1e3:0;return{ttft:i,tps:o,total:n}}emptyUsage(){return{inputTokens:0,outputTokens:0,totalTokens:0}}async*parseSSEStream(e,r){var s;let n=(s=e.body)==null?void 0:s.getReader();if(!n)throw new ae("Response body is not readable",{streamType:"sse"});let i=new TextDecoder,o="";try{for(;;){let{done:c,value:u}=await n.read();if(c)break;o+=i.decode(u,{stream:!0});let l=o.split(`
|
|
413
413
|
`);o=l.pop()||"";for(let d of l){let p=d.trim();if(!(!p||p==="data: [DONE]")&&p.startsWith("data: ")){let m=p.slice(6);try{let f=this.parseStreamEvent(m,r);f&&(f.type==="text"&&!r.firstTokenTime&&(r.firstTokenTime=performance.now()),yield f)}catch{}}}}if(o.trim()){let c=o.trim();if(c.startsWith("data: ")&&c!=="data: [DONE]"){let u=c.slice(6);try{let l=this.parseStreamEvent(u,r);l&&(yield l)}catch{}}}}finally{n.releaseLock()}}parseToolCalls(e){return Array.isArray(e)?e.map(r=>{var n,i;return{id:r.id||"",type:"function",function:{name:((n=r.function)==null?void 0:n.name)||"",arguments:((i=r.function)==null?void 0:i.arguments)||"{}"}}}):[]}},ie=class extends Error{provider;code;status;retryable;constructor(e,r,n,i,o=!1){super(e),this.provider=r,this.code=n,this.status=i,this.retryable=o,this.name="AIError"}},Ne=class extends ie{retryAfter;constructor(e,r){super("Rate limit exceeded",e,"rate_limit",429,!0),this.retryAfter=r,this.name="RateLimitError"}},Ke=class extends ie{constructor(e){super("Context length exceeded",e,"context_length_exceeded",400,!0),this.name="ContextLengthError"}},Me=class extends ie{constructor(e){super("Provider is overloaded",e,"overloaded",503,!0),this.name="OverloadedError"}},ot=class extends ie{constructor(e){super("Authentication failed",e,"authentication_error",401,!1),this.name="AuthenticationError"}};var br=class extends ze{openaiConfig;constructor(e={}){super({...e,name:"openai"}),this.openaiConfig=e}getEnvApiKey(){return process.env.OPENAI_API_KEY}getBaseUrl(){return this.config.baseUrl||"https://api.openai.com/v1"}buildHeaders(){let e={"Content-Type":"application/json",Authorization:`Bearer ${this.getApiKey()}`,...this.config.headers};return this.openaiConfig.organization&&(e["OpenAI-Organization"]=this.openaiConfig.organization),e}transformMessages(e){return e.map(r=>{let n={role:r.role,content:this.transformContent(r.content)};return r.name&&(n.name=r.name),r.tool_call_id&&(n.tool_call_id=r.tool_call_id),r.tool_calls&&(n.tool_calls=r.tool_calls),n})}transformContent(e){return typeof e=="string"?e:e?e.map(r=>{if(r.type==="text")return{type:"text",text:r.text};if(r.type==="image_url")return{type:"image_url",image_url:{url:r.image_url.url,detail:r.image_url.detail}};if(r.type==="image"){let n=Buffer.from(r.data).toString("base64");return{type:"image_url",image_url:{url:`data:${r.mediaType};base64,${n}`}}}return{type:"text",text:""}}):null}transformTools(e){if(e)return e.map(r=>({type:r.type,function:r.function}))}async chat(e){let r={startTime:performance.now(),tokenCount:0},n=this.prepareMessages(e),i=this.buildChatBody(e,n,!1),s=await(await this.makeRequest("/chat/completions",i,e.signal)).json();return this.parseResponse(s,r)}async stream(e){let r={startTime:performance.now(),tokenCount:0},n=this.prepareMessages(e),i=this.buildChatBody(e,n,!0),o=await this.makeRequest("/chat/completions",i,e.signal);return this.parseSSEStream(o,r)}async embed(e){let r=performance.now(),n={model:e.model||this.config.defaultModel||"text-embedding-3-large",input:e.input,...e.dimensions&&{dimensions:e.dimensions}},o=await(await this.makeRequest("/embeddings",n,e.signal)).json(),s={ttft:performance.now()-r,tps:0,total:performance.now()-r};return{embeddings:o.data.map(c=>c.embedding),usage:{inputTokens:o.usage.prompt_tokens,outputTokens:0,totalTokens:o.usage.total_tokens},model:o.model,provider:"openai",latency:s}}prepareMessages(e){let r=[...e.messages];return e.systemPrompt&&r.unshift({role:"system",content:e.systemPrompt}),r}buildChatBody(e,r,n){let i={model:e.model||this.config.defaultModel||"gpt-5.1",messages:this.transformMessages(r),stream:n};return e.temperature!==void 0&&(i.temperature=e.temperature),e.topP!==void 0&&(i.top_p=e.topP),e.maxTokens!==void 0&&(i.max_tokens=e.maxTokens),e.stop&&(i.stop=e.stop),e.tools&&(i.tools=this.transformTools(e.tools)),e.toolChoice&&(i.tool_choice=e.toolChoice),e.responseFormat&&(e.responseFormat.type==="json_object"?i.response_format={type:"json_object"}:e.responseFormat.type==="json_schema"&&(i.response_format={type:"json_schema",json_schema:e.responseFormat.schema})),n&&(i.stream_options={include_usage:!0}),i}async makeRequest(e,r,n){let i=`${this.getBaseUrl()}${e}`,o=this.buildHeaders(),s=await fetch(i,{method:"POST",headers:o,body:JSON.stringify(r),signal:n});return s.ok||await this.handleError(s),s}async handleError(e){var o,s,c;let r={};try{r=await e.json()}catch{}let n=((o=r.error)==null?void 0:o.message)||e.statusText,i=((s=r.error)==null?void 0:s.code)||((c=r.error)==null?void 0:c.type);switch(e.status){case 401:throw new ot("openai");case 429:let u=parseInt(e.headers.get("retry-after")||"0",10);throw new Ne("openai",u||void 0);case 400:if(i==="context_length_exceeded"||n.includes("maximum context length"))throw new Ke("openai");break;case 503:case 529:throw new Me("openai")}throw new ie(n,"openai",i,e.status,e.status>=500)}parseResponse(e,r){let n=e.choices[0],i=n==null?void 0:n.message,o=typeof(i==null?void 0:i.content)=="string"?i.content:"",s=i!=null&&i.tool_calls?this.parseToolCalls(i.tool_calls):void 0,c=e.usage?{inputTokens:e.usage.prompt_tokens,outputTokens:e.usage.completion_tokens,totalTokens:e.usage.total_tokens}:this.emptyUsage();return r.tokenCount=c.outputTokens,{content:o,usage:c,latency:this.calculateLatency(r),model:e.model,provider:"openai",cached:!1,finishReason:n==null?void 0:n.finish_reason,toolCalls:s,raw:e}}parseStreamEvent(e,r){var s,c,u,l,d;let n=JSON.parse(e),i=(s=n.choices)==null?void 0:s[0];if(!i)return n.usage?{type:"usage",usage:{inputTokens:n.usage.prompt_tokens,outputTokens:n.usage.completion_tokens,totalTokens:n.usage.total_tokens}}:null;let o=i.delta;if(o.content)return r.tokenCount++,{type:"text",content:o.content};if((c=o.tool_calls)!=null&&c.length){let p=o.tool_calls[0];if(p.id)return{type:"tool_call",toolCall:{id:p.id,type:"function",function:{name:((u=p.function)==null?void 0:u.name)||"",arguments:((l=p.function)==null?void 0:l.arguments)||""}}};if((d=p.function)!=null&&d.arguments)return{type:"tool_call_delta",index:p.index,delta:{arguments:p.function.arguments}}}return i.finish_reason?{type:"done",finishReason:i.finish_reason,usage:n.usage?{inputTokens:n.usage.prompt_tokens,outputTokens:n.usage.completion_tokens,totalTokens:n.usage.total_tokens}:void 0}:null}};G();var vr=class extends ze{anthropicConfig;constructor(e={}){super({...e,name:"anthropic"}),this.anthropicConfig=e}getEnvApiKey(){return process.env.ANTHROPIC_API_KEY}getBaseUrl(){return this.config.baseUrl||"https://api.anthropic.com/v1"}buildHeaders(){return{"Content-Type":"application/json","x-api-key":this.getApiKey(),"anthropic-version":this.anthropicConfig.version||"2025-01-01",...this.config.headers}}transformMessages(e){return e.filter(n=>n.role!=="system").map(n=>n.role==="tool"?{role:"user",content:[{type:"tool_result",tool_use_id:n.tool_call_id||"",content:typeof n.content=="string"?n.content:JSON.stringify(n.content)}]}:{role:n.role==="user"?"user":"assistant",content:this.transformContent(n)})}transformContent(e){var r;if(typeof e.content=="string"){if((r=e.tool_calls)!=null&&r.length){let n=[{type:"text",text:e.content}];for(let i of e.tool_calls)n.push({type:"tool_use",id:i.id,name:i.function.name,input:JSON.parse(i.function.arguments||"{}")});return n}return e.content}return e.content?e.content.map(n=>{if(n.type==="text")return{type:"text",text:n.text};if(n.type==="image_url"){let i=n.image_url.url.match(/^data:([^;]+);base64,(.+)$/);return i?{type:"image",source:{type:"base64",media_type:i[1],data:i[2]}}:{type:"text",text:`[Image: ${n.image_url.url}]`}}return n.type==="image"?{type:"image",source:{type:"base64",media_type:n.mediaType,data:Buffer.from(n.data).toString("base64")}}:{type:"text",text:""}}):""}transformTools(e){if(e)return e.map(r=>({name:r.function.name,description:r.function.description,input_schema:r.function.parameters||{type:"object",properties:{}}}))}getSystemPrompt(e){var n;let r=e.messages.find(i=>i.role==="system");if(e.systemPrompt)return e.systemPrompt;if(r)return typeof r.content=="string"?r.content:(n=r.content)==null?void 0:n.map(i=>i.type==="text"?i.text:"").join("")}async chat(e){let r={startTime:performance.now(),tokenCount:0},n=this.buildChatBody(e,!1),o=await(await this.makeRequest("/messages",n,e.signal)).json();return this.parseResponse(o,r)}async stream(e){let r={startTime:performance.now(),tokenCount:0},n=this.buildChatBody(e,!0),i=await this.makeRequest("/messages",n,e.signal);return this.parseAnthropicStream(i,r)}async embed(e){throw new ie("Anthropic does not support embeddings. Use a different provider.","anthropic","not_supported",400,!1)}buildChatBody(e,r){let n={model:e.model||this.config.defaultModel||"claude-sonnet-4-20250514",messages:this.transformMessages(e.messages),max_tokens:e.maxTokens||4096},i=this.getSystemPrompt(e);return i&&(n.system=i),e.temperature!==void 0&&(n.temperature=e.temperature),e.topP!==void 0&&(n.top_p=e.topP),e.stop&&(n.stop_sequences=e.stop),e.tools&&(n.tools=this.transformTools(e.tools)),e.toolChoice&&(e.toolChoice==="auto"?n.tool_choice={type:"auto"}:e.toolChoice==="none"||(e.toolChoice==="required"?n.tool_choice={type:"any"}:typeof e.toolChoice=="object"&&(n.tool_choice={type:"tool",name:e.toolChoice.function.name}))),r&&(n.stream=!0),n}async makeRequest(e,r,n){let i=`${this.getBaseUrl()}${e}`,o=this.buildHeaders(),s=await fetch(i,{method:"POST",headers:o,body:JSON.stringify(r),signal:n});return s.ok||await this.handleError(s),s}async handleError(e){var o,s;let r={};try{r=await e.json()}catch{}let n=((o=r.error)==null?void 0:o.message)||e.statusText,i=(s=r.error)==null?void 0:s.type;switch(e.status){case 401:throw new ot("anthropic");case 429:let c=parseInt(e.headers.get("retry-after")||"0",10);throw new Ne("anthropic",c||void 0);case 400:if(i==="invalid_request_error"&&n.includes("context"))throw new Ke("anthropic");break;case 503:case 529:throw new Me("anthropic")}throw new ie(n,"anthropic",i,e.status,e.status>=500)}parseResponse(e,r){let n="",i=[];for(let c of e.content)c.type==="text"?n+=c.text:c.type==="tool_use"&&i.push({id:c.id,type:"function",function:{name:c.name,arguments:JSON.stringify(c.input)}});let o={inputTokens:e.usage.input_tokens,outputTokens:e.usage.output_tokens,totalTokens:e.usage.input_tokens+e.usage.output_tokens};r.tokenCount=o.outputTokens;let s={end_turn:"stop",max_tokens:"length",stop_sequence:"stop",tool_use:"tool_calls"};return{content:n,usage:o,latency:this.calculateLatency(r),model:e.model,provider:"anthropic",cached:!1,finishReason:s[e.stop_reason]||"stop",toolCalls:i.length>0?i:void 0,raw:e}}parseStreamEvent(e,r){return null}async*parseAnthropicStream(e,r){var l;let n=(l=e.body)==null?void 0:l.getReader();if(!n)throw new ae("Response body is not readable",{streamType:"anthropic-sse"});let i=new TextDecoder,o="",s="",c="",u="";try{for(;;){let{done:d,value:p}=await n.read();if(d)break;o+=i.decode(p,{stream:!0});let m=o.split(`
|
|
414
414
|
`);o=m.pop()||"";for(let f of m){let h=f.trim();if(!h||!h.startsWith("data: "))continue;let g=h.slice(6);if(g!=="[DONE]")try{let y=JSON.parse(g);switch(y.type){case"content_block_start":y.content_block.type==="tool_use"&&(s=y.content_block.id,c=y.content_block.name,u="");break;case"content_block_delta":y.delta.type==="text_delta"&&y.delta.text?(r.firstTokenTime||(r.firstTokenTime=performance.now()),r.tokenCount++,yield{type:"text",content:y.delta.text}):y.delta.type==="input_json_delta"&&y.delta.partial_json&&(u+=y.delta.partial_json,yield{type:"tool_call_delta",index:y.index,delta:{arguments:y.delta.partial_json}});break;case"content_block_stop":s&&(yield{type:"tool_call",toolCall:{id:s,type:"function",function:{name:c,arguments:u}}},s="",c="",u="");break;case"message_delta":y.usage&&(yield{type:"usage",usage:{inputTokens:0,outputTokens:y.usage.output_tokens,totalTokens:y.usage.output_tokens}}),y.delta.stop_reason&&(yield{type:"done",finishReason:{end_turn:"stop",max_tokens:"length",stop_sequence:"stop",tool_use:"tool_calls"}[y.delta.stop_reason]||"stop"});break;case"error":yield{type:"error",error:new ie(y.error.message,"anthropic",y.error.type)};break}}catch{}}}}finally{n.releaseLock()}}};var wr=class extends ze{googleConfig;constructor(e={}){super({...e,name:"google"}),this.googleConfig=e}getEnvApiKey(){return process.env.GOOGLE_API_KEY}getBaseUrl(){let e=this.googleConfig.apiVersion||"v1beta";return this.config.baseUrl||`https://generativelanguage.googleapis.com/${e}`}buildHeaders(){return{"Content-Type":"application/json",...this.config.headers}}transformMessages(e){return e.filter(r=>r.role!=="system").map(r=>({role:r.role==="user"?"user":"model",parts:this.transformContent(r)}))}transformContent(e){if(e.role==="tool")return[{functionResponse:{name:e.name||"unknown_tool",response:typeof e.content=="string"?{content:e.content}:{content:e.content}}}];if(e.tool_calls&&e.tool_calls.length>0){let n=[];return e.content&&typeof e.content=="string"&&n.push({text:e.content}),e.tool_calls.forEach(i=>{n.push({functionCall:{name:i.function.name,args:JSON.parse(i.function.arguments||"{}")}})}),n}let r=e.content;return typeof r=="string"?[{text:r}]:r?r.map(n=>{if(n.type==="text")return{text:n.text};if(n.type==="image_url")return{text:"[Image URL not supported directly in Gemini provider yet without base64]"};if(n.type==="image"){let i=Buffer.from(n.data).toString("base64");return{inlineData:{mimeType:n.mediaType,data:i}}}return{text:""}}):[{text:""}]}transformTools(e){if(!(!e||e.length===0))return[{functionDeclarations:e.map(r=>({name:r.function.name,description:r.function.description,parameters:r.function.parameters}))}]}async chat(e){let r={startTime:performance.now(),tokenCount:0},n=e.model||this.config.defaultModel||"gemini-2.5-flash",i=this.buildChatBody(e),s=await(await this.makeRequest(`/models/${n}:generateContent`,i,e.signal)).json();return this.parseResponse(s,r)}async stream(e){let r={startTime:performance.now(),tokenCount:0},n=e.model||this.config.defaultModel||"gemini-2.5-flash",i=this.buildChatBody(e),o=await this.makeRequest(`/models/${n}:streamGenerateContent?alt=sse`,i,e.signal);return this.parseSSEStream(o,r)}async embed(e){let r=performance.now(),n=e.model||"text-embedding-004",i=Array.isArray(e.input),o=i?"batchEmbedContents":"embedContent",c=(i?e.input:[e.input]).map(h=>({model:`models/${n}`,content:{parts:[{text:h}]}})),u=i?{requests:c}:{...c[0]},d=await(await this.makeRequest(`/models/${n}:${o}`,u,e.signal)).json(),p=[];i?p=d.embeddings.map(h=>h.values):p=[d.embedding.values];let m=0,f={ttft:performance.now()-r,tps:0,total:performance.now()-r};return{embeddings:p,usage:{inputTokens:m,outputTokens:0,totalTokens:m},model:n,provider:"google",latency:f}}buildChatBody(e){var c;let r=this.transformMessages(e.messages),n=e.messages.find(u=>u.role==="system"),i;n?i={parts:[{text:typeof n.content=="string"?n.content:""}]}:e.systemPrompt&&(i={parts:[{text:e.systemPrompt}]});let o={};e.temperature!==void 0&&(o.temperature=e.temperature),e.topP!==void 0&&(o.topP=e.topP),e.maxTokens!==void 0&&(o.maxOutputTokens=e.maxTokens),e.stop&&(o.stopSequences=e.stop),((c=e.responseFormat)==null?void 0:c.type)==="json_object"&&(o.responseMimeType="application/json");let s={contents:r,generationConfig:o,tools:this.transformTools(e.tools)};return i&&(s.systemInstruction=i),s}async makeRequest(e,r,n){let i=this.getApiKey(),o=e.includes("?")?"&":"?",s=`${this.getBaseUrl()}${e}${o}key=${i}`,c=this.buildHeaders(),u=await fetch(s,{method:"POST",headers:c,body:JSON.stringify(r),signal:n});return u.ok||await this.handleError(u),u}async handleError(e){var o,s;let r={};try{r=await e.json()}catch{}let n=((o=r.error)==null?void 0:o.message)||e.statusText,i=((s=r.error)==null?void 0:s.code)||e.status;switch(e.status){case 400:case 401:throw new ot("google");case 429:throw new Ne("google");case 503:throw new Me("google")}throw new ie(n,"google",String(i),e.status,e.status>=500)}parseResponse(e,r){var u,l;let n=(u=e.candidates)==null?void 0:u[0],i=((l=n==null?void 0:n.content)==null?void 0:l.parts)||[],o=i.filter(d=>d.text).map(d=>d.text).join(""),s=i.filter(d=>d.functionCall).map(d=>({id:"call_"+Math.random().toString(36).slice(2),type:"function",function:{name:d.functionCall.name,arguments:JSON.stringify(d.functionCall.args)}})),c=e.usageMetadata?{inputTokens:e.usageMetadata.promptTokenCount,outputTokens:e.usageMetadata.candidatesTokenCount,totalTokens:e.usageMetadata.totalTokenCount}:this.emptyUsage();return r.tokenCount=c.outputTokens,{content:o,usage:c,latency:this.calculateLatency(r),model:"gemini",provider:"google",cached:!1,finishReason:(n==null?void 0:n.finishReason)==="STOP"?"stop":"length",toolCalls:s.length>0?s:void 0,raw:e}}parseStreamEvent(e,r){var u,l;let n=JSON.parse(e),i=(u=n.candidates)==null?void 0:u[0];if(!i)return null;if(n.usageMetadata)return{type:"usage",usage:{inputTokens:n.usageMetadata.promptTokenCount,outputTokens:n.usageMetadata.candidatesTokenCount,totalTokens:n.usageMetadata.totalTokenCount}};let o=((l=i.content)==null?void 0:l.parts)||[],s=o.find(d=>d.text);if(s!=null&&s.text)return r.tokenCount++,{type:"text",content:s.text};let c=o.find(d=>d.functionCall);return c!=null&&c.functionCall?{type:"tool_call",toolCall:{id:"call_"+Math.random().toString(36).slice(2),type:"function",function:{name:c.functionCall.name,arguments:JSON.stringify(c.functionCall.args)}}}:i.finishReason&&i.finishReason!=="STOP"?{type:"done",finishReason:"stop"}:null}};G();var xr=class extends ze{ollamaConfig;constructor(e={}){super({...e,name:"ollama"}),this.ollamaConfig=e}getEnvApiKey(){}getBaseUrl(){return this.config.baseUrl||"http://127.0.0.1:11434/api"}buildHeaders(){return{"Content-Type":"application/json",...this.config.headers}}transformMessages(e){return e.map(r=>{let{content:n,images:i}=this.extractContentAndImages(r.content);return{role:r.role,content:n,images:i.length>0?i:void 0}})}extractContentAndImages(e){if(typeof e=="string")return{content:e,images:[]};let r="",n=[];for(let i of e)if(i.type==="text")r+=i.text;else if(i.type==="image")n.push(Buffer.from(i.data).toString("base64"));else if(i.type==="image_url"&&i.image_url.url.startsWith("data:")){let o=i.image_url.url.split(",")[1];o&&n.push(o)}return{content:r,images:n}}async chat(e){let r={startTime:performance.now(),tokenCount:0},n=this.buildChatBody(e,!1),o=await(await this.makeRequest("/chat",n,e.signal)).json();return this.parseResponse(o,r)}async stream(e){let r={startTime:performance.now(),tokenCount:0},n=this.buildChatBody(e,!0),i=await this.makeRequest("/chat",n,e.signal);return this.parseNDJSONStream(i,r)}async embed(e){let r=performance.now(),n={model:e.model||this.config.defaultModel||"nomic-embed-text",input:e.input};this.ollamaConfig.keepAlive&&(n.keep_alive=this.ollamaConfig.keepAlive);let o=await(await this.makeRequest("/embed",n,e.signal)).json(),s={ttft:performance.now()-r,tps:0,total:performance.now()-r},c={inputTokens:o.prompt_eval_count||0,outputTokens:0,totalTokens:o.prompt_eval_count||0};return{embeddings:o.embeddings,usage:c,model:o.model,provider:"ollama",latency:s}}buildChatBody(e,r){var i;let n={model:e.model||this.config.defaultModel||"llama3",messages:this.transformMessages(e.messages),stream:r,options:{}};return((i=e.responseFormat)==null?void 0:i.type)==="json_object"&&(n.format="json"),this.ollamaConfig.keepAlive&&(n.keep_alive=this.ollamaConfig.keepAlive),e.temperature!==void 0&&(n.options.temperature=e.temperature),e.topP!==void 0&&(n.options.top_p=e.topP),e.maxTokens!==void 0&&(n.options.num_predict=e.maxTokens),e.stop&&(n.options.stop=e.stop),n}async makeRequest(e,r,n){let i=`${this.getBaseUrl()}${e}`,o=this.buildHeaders(),s=await fetch(i,{method:"POST",headers:o,body:JSON.stringify(r),signal:n});if(!s.ok){let c=s.statusText;try{let u=await s.json();u.error&&(c=u.error)}catch{}throw s.status===429?new Ne("ollama"):s.status===503?new Me("ollama"):new ie(c,"ollama",String(s.status),s.status)}return s}parseResponse(e,r){let n={inputTokens:e.prompt_eval_count||0,outputTokens:e.eval_count||0,totalTokens:(e.prompt_eval_count||0)+(e.eval_count||0)};return r.tokenCount=n.outputTokens,{content:e.message.content,usage:n,latency:this.calculateLatency(r),model:e.model,provider:"ollama",cached:!1,finishReason:e.done?"stop":void 0,raw:e}}parseStreamEvent(e,r){return null}async*parseNDJSONStream(e,r){var s,c,u;let n=(s=e.body)==null?void 0:s.getReader();if(!n)throw new ae("Response body is not readable",{streamType:"ndjson"});let i=new TextDecoder,o="";try{for(;;){let{done:l,value:d}=await n.read();if(l)break;o+=i.decode(d,{stream:!0});let p=o.split(`
|
|
415
415
|
`);o=p.pop()||"";for(let m of p)if(m.trim())try{let f=JSON.parse(m);(c=f.message)!=null&&c.content&&(r.firstTokenTime||(r.firstTokenTime=performance.now()),r.tokenCount++,yield{type:"text",content:f.message.content}),f.done&&(yield{type:"done",finishReason:"stop",usage:{inputTokens:f.prompt_eval_count||0,outputTokens:f.eval_count||0,totalTokens:(f.prompt_eval_count||0)+(f.eval_count||0)}})}catch{}}if(o.trim()){let l=o.split(`
|
|
416
|
-
`);for(let d of l)if(d.trim())try{let p=JSON.parse(d);(u=p.message)!=null&&u.content&&(r.firstTokenTime||(r.firstTokenTime=performance.now()),r.tokenCount++,yield{type:"text",content:p.message.content}),p.done&&(yield{type:"done",finishReason:"stop",usage:{inputTokens:p.prompt_eval_count||0,outputTokens:p.eval_count||0,totalTokens:(p.prompt_eval_count||0)+(p.eval_count||0)}})}catch{}}}finally{n.releaseLock()}}};var Rs=class{data={totalRequests:0,totalTokens:0,totalCost:0,totalLatencyTtft:0,totalLatencyTotal:0,errorCount:0,cacheHits:0,byModel:new Map,byProvider:new Map};get totalRequests(){return this.data.totalRequests}get totalTokens(){return this.data.totalTokens}get totalCost(){return this.data.totalCost}get avgLatency(){let e=this.data.totalRequests||1;return{ttft:this.data.totalLatencyTtft/e,total:this.data.totalLatencyTotal/e}}get errorRate(){let e=this.data.totalRequests+this.data.errorCount;return e>0?this.data.errorCount/e:0}get cacheHitRate(){return this.data.totalRequests>0?this.data.cacheHits/this.data.totalRequests:0}record(e){var i,o,s;this.data.totalRequests++,this.data.totalTokens+=e.usage.totalTokens,this.data.totalCost+=((i=e.cost)==null?void 0:i.totalCost)||0,this.data.totalLatencyTtft+=e.latency.ttft,this.data.totalLatencyTotal+=e.latency.total,e.cached&&this.data.cacheHits++;let r=this.data.byModel.get(e.model)||{requests:0,tokens:0,cost:0};r.requests++,r.tokens+=e.usage.totalTokens,r.cost+=((o=e.cost)==null?void 0:o.totalCost)||0,this.data.byModel.set(e.model,r);let n=this.data.byProvider.get(e.provider)||{requests:0,tokens:0,cost:0};n.requests++,n.tokens+=e.usage.totalTokens,n.cost+=((s=e.cost)==null?void 0:s.totalCost)||0,this.data.byProvider.set(e.provider,n)}recordError(){this.data.errorCount++}summary(){return{totalRequests:this.totalRequests,totalTokens:this.totalTokens,totalCost:this.totalCost,avgLatency:this.avgLatency,errorRate:this.errorRate,cacheHitRate:this.cacheHitRate,byModel:Object.fromEntries(this.data.byModel),byProvider:Object.fromEntries(this.data.byProvider)}}reset(){this.data={totalRequests:0,totalTokens:0,totalCost:0,totalLatencyTtft:0,totalLatencyTotal:0,errorCount:0,cacheHits:0,byModel:new Map,byProvider:new Map}}},mn=class{config;providers=new Map;_metrics=new Rs;constructor(e={}){this.config={defaultProvider:"openai",observability:!0,debug:!1,...e},this.initializeProviders()}get metrics(){return this._metrics}async chat(e){let r=this.normalizeOptions(e),n=this.getProvider(r.provider);try{let i=await this.executeWithRetry(()=>n.chat(r),r);return this.config.observability&&this._metrics.record(i),this.config.debug&&this.logResponse(i),i}catch(i){throw this.config.observability&&this._metrics.recordError(),i}}async stream(e){return this.getProvider(e.provider).stream(e)}async embed(e){return this.getProvider(e.provider).embed(e)}extend(e){let r=this;return{chat:async n=>{let i=r.normalizeOptions(n);return r.chat({...e,...i,messages:[...e.messages||[],...i.messages]})},stream:async n=>r.stream({...e,...n,messages:[...e.messages||[],...n.messages]}),embed:async n=>r.embed({provider:e.provider,...n}),extend:n=>r.extend({...e,...n}),metrics:r.metrics}}initializeProviders(){var o,s,c,u;let e=((o=this.config.providers)==null?void 0:o.openai)||{};this.providers.set("openai",new br(e));let r=((s=this.config.providers)==null?void 0:s.anthropic)||{};this.providers.set("anthropic",new vr(r));let n=((c=this.config.providers)==null?void 0:c.google)||{};this.providers.set("google",new wr(n));let i=((u=this.config.providers)==null?void 0:u.ollama)||{};this.providers.set("ollama",new xr(i))}getProvider(e){let r=e||this.config.defaultProvider||"openai",n=this.providers.get(r);if(!n)throw new ie(`Provider not found: ${r}`,r,"provider_not_found");return n}normalizeOptions(e){return typeof e=="string"?{messages:[{role:"user",content:e}]}:e}async executeWithRetry(e,r){let n=r.retry||this.config.retry;if(!n)return e();let i=n.maxAttempts||3,o=n.on||["rate_limit","overloaded","timeout"],s=null;for(let c=1;c<=i;c++)try{return await e()}catch(u){if(s=u,!this.shouldRetry(u,o,c,i))throw u;let l=this.calculateBackoff(c,n.backoff);if(n.onRetry&&n.onRetry(c,u),this.config.debug&&console.log(`[recker/ai] Retry ${c}/${i} after ${l}ms`),await this.sleep(l),n.fallback&&r.model){let d=n.fallback[r.model];d&&(r={...r,model:d},this.config.debug&&console.log(`[recker/ai] Falling back to model: ${d}`))}n.reduceContext&&u instanceof Ke&&r.messages.length>2&&(r={...r,messages:this.reduceContext(r.messages)},this.config.debug&&console.log(`[recker/ai] Reduced context to ${r.messages.length} messages`))}throw s||new Error("Retry exhausted")}shouldRetry(e,r,n,i){return n>=i?!1:!!(e instanceof Ne&&r.includes("rate_limit")||e instanceof Me&&r.includes("overloaded")||e instanceof Ke&&r.includes("context_length_exceeded")||e.name==="TimeoutError"&&r.includes("timeout")||e instanceof ie&&e.retryable&&r.includes("server_error"))}calculateBackoff(e,r="exponential"){let o;switch(r){case"linear":o=1e3*e;break;case"exponential":o=1e3*Math.pow(2,e-1);break;case"decorrelated":o=Math.random()*Math.min(3e4,1e3*Math.pow(3,e-1));break;default:o=1e3*e}let s=o*.25*(Math.random()*2-1);return Math.min(3e4,o+s)}reduceContext(e){if(e.length<=2)return e;let r=e.filter(o=>o.role==="system"),n=e.filter(o=>o.role!=="system");return n.length<=4?e:[...r,n[0],...n.slice(-2)]}logResponse(e){console.log(`[recker/ai] ${e.provider}/${e.model}`),console.log(` Tokens: ${e.usage.inputTokens} in / ${e.usage.outputTokens} out`),console.log(` Latency: TTFT=${e.latency.ttft.toFixed(0)}ms, Total=${e.latency.total.toFixed(0)}ms`),e.cost&&console.log(` Cost: $${e.cost.totalCost.toFixed(6)}`)}sleep(e){return new Promise(r=>setTimeout(r,e))}};function no(t){return new mn(t)}var R1={firstToken:6e4,betweenTokens:1e4,total:3e5},Ps={"gpt-5.1-mini":{firstToken:1e4,betweenTokens:2e3,total:6e4},"gpt-5.1-nano":{firstToken:5e3,betweenTokens:1e3,total:3e4},"claude-haiku":{firstToken:1e4,betweenTokens:2e3,total:6e4},"gpt-5.1":{firstToken:3e4,betweenTokens:5e3,total:12e4},"claude-sonnet":{firstToken:3e4,betweenTokens:5e3,total:12e4},o3:{firstToken:12e4,betweenTokens:3e4,total:6e5},"o3-mini":{firstToken:6e4,betweenTokens:15e3,total:3e5},"o4-mini":{firstToken:6e4,betweenTokens:15e3,total:3e5},"claude-opus":{firstToken:6e4,betweenTokens:1e4,total:3e5},"text-embedding":{firstToken:1e4,betweenTokens:0,total:3e4}},fn=class{profiles=new Map;maxSamples=100;sampleTtl=1440*60*1e3;getTimeouts(e,r){let n={...R1,adaptive:!0},i=this.findPreset(e);if(i&&(n={...n,...i}),(r==null?void 0:r.adaptive)!==!1){let o=this.profiles.get(e);o&&o.samples.length>=5&&(n.firstToken=Math.ceil(o.p95Ttft*1.2),n.betweenTokens=Math.ceil(o.p95BetweenTokens*1.2),n.total=Math.ceil(o.p95Total*1.2))}return(r==null?void 0:r.firstToken)!==void 0&&(n.firstToken=r.firstToken),(r==null?void 0:r.betweenTokens)!==void 0&&(n.betweenTokens=r.betweenTokens),(r==null?void 0:r.total)!==void 0&&(n.total=r.total),n}recordSample(e,r,n,i){let o={ttft:r,betweenTokens:n,total:i,timestamp:Date.now()},s=this.profiles.get(e);s||(s={samples:[],avgTtft:0,avgBetweenTokens:0,avgTotal:0,p95Ttft:0,p95BetweenTokens:0,p95Total:0},this.profiles.set(e,s)),s.samples.push(o);let c=Date.now()-this.sampleTtl;s.samples=s.samples.filter(u=>u.timestamp>c),s.samples.length>this.maxSamples&&(s.samples=s.samples.slice(-this.maxSamples)),this.recalculateStats(s)}getProfile(e){return this.profiles.get(e)}clear(){this.profiles.clear()}export(){let e={};for(let[r,n]of this.profiles)e[r]=n.samples;return e}import(e){for(let[r,n]of Object.entries(e)){let i={samples:n,avgTtft:0,avgBetweenTokens:0,avgTotal:0,p95Ttft:0,p95BetweenTokens:0,p95Total:0};this.recalculateStats(i),this.profiles.set(r,i)}}findPreset(e){if(Ps[e])return Ps[e];let r=e.toLowerCase();for(let[n,i]of Object.entries(Ps))if(r.includes(n.toLowerCase()))return i}recalculateStats(e){if(e.samples.length===0)return;let r=e.samples.map(o=>o.ttft),n=e.samples.map(o=>o.betweenTokens),i=e.samples.map(o=>o.total);e.avgTtft=r.reduce((o,s)=>o+s,0)/r.length,e.avgBetweenTokens=n.reduce((o,s)=>o+s,0)/n.length,e.avgTotal=i.reduce((o,s)=>o+s,0)/i.length,e.p95Ttft=this.percentile(r,95),e.p95BetweenTokens=this.percentile(n,95),e.p95Total=this.percentile(i,95)}percentile(e,r){if(e.length===0)return 0;let n=[...e].sort((o,s)=>o-s),i=Math.ceil(r/100*n.length)-1;return n[Math.max(0,i)]}},io=class{timeouts;abortController;firstTokenTimer=null;betweenTokenTimer=null;totalTimer=null;receivedFirstToken=!1;startTime;constructor(e){this.timeouts=e,this.abortController=new AbortController,this.startTime=Date.now()}get signal(){return this.abortController.signal}start(){this.timeouts.firstToken>0&&(this.firstTokenTimer=setTimeout(()=>{this.receivedFirstToken||this.abort("First token timeout exceeded")},this.timeouts.firstToken)),this.timeouts.total>0&&(this.totalTimer=setTimeout(()=>{this.abort("Total timeout exceeded")},this.timeouts.total))}recordToken(){this.receivedFirstToken||(this.receivedFirstToken=!0,this.firstTokenTimer&&(clearTimeout(this.firstTokenTimer),this.firstTokenTimer=null)),this.betweenTokenTimer&&clearTimeout(this.betweenTokenTimer),this.timeouts.betweenTokens>0&&(this.betweenTokenTimer=setTimeout(()=>{this.abort("Token stream stalled")},this.timeouts.betweenTokens))}complete(){this.clearTimers()}abort(e){this.clearTimers(),this.abortController.abort(new Error(e))}get elapsed(){return Date.now()-this.startTime}get ttft(){return this.receivedFirstToken?Date.now()-this.startTime:null}clearTimers(){this.firstTokenTimer&&(clearTimeout(this.firstTokenTimer),this.firstTokenTimer=null),this.betweenTokenTimer&&(clearTimeout(this.betweenTokenTimer),this.betweenTokenTimer=null),this.totalTimer&&(clearTimeout(this.totalTimer),this.totalTimer=null)}},Sp=new fn;G();var P1={tokensPerMinute:9e4,requestsPerMinute:500,strategy:"queue",priority:()=>"normal"},Tp={estimateMessage(t){return t?Math.ceil(t.length/4):0},estimateChatTokens(t){var r;let e=0;for(let n of t.messages)if(typeof n.content=="string")e+=this.estimateMessage(n.content);else if(Array.isArray(n.content))for(let i of n.content)i.type==="text"?e+=this.estimateMessage(i.text):(i.type==="image"||i.type==="image_url")&&(e+=1e3);return t.systemPrompt&&(e+=this.estimateMessage(t.systemPrompt)),e+=t.maxTokens||1e3,(r=t.tools)!=null&&r.length&&(e+=t.tools.length*100),e}},hn=class{config;state;queue=[];processing=!1;nextId=0;constructor(e={}){this.config={...P1,...e},this.state={tokenCount:0,requestCount:0,windowStart:Date.now()}}async execute(e,r){let n=(r==null?void 0:r.estimatedTokens)||1e3,i=(r==null?void 0:r.priority)||"normal";if(this.canExecute(n))return this.executeNow(e,n);switch(this.config.strategy){case"throw":throw new gn(this.getRetryAfter());case"retry-after":let o=this.getRetryAfter();return await this.sleep(o),this.execute(e,r);default:return this.enqueue(e,n,i)}}async executeChat(e,r){let n=Tp.estimateChatTokens(e),i=this.config.priority(e);return this.execute(r,{estimatedTokens:n,priority:i})}recordUsage(e,r){let n=e-r;this.state.tokenCount+=n,this.state.tokenCount<0&&(this.state.tokenCount=0)}getUsage(){return this.maybeResetWindow(),{tokensUsed:this.state.tokenCount,tokensRemaining:Math.max(0,this.config.tokensPerMinute-this.state.tokenCount),requestsUsed:this.state.requestCount,requestsRemaining:Math.max(0,this.config.requestsPerMinute-this.state.requestCount),resetIn:this.getResetTime(),queueLength:this.queue.length}}clearQueue(){for(let e of this.queue)e.reject(new $e("Queue cleared",{queueName:"ai-rate-limiter"}));this.queue=[]}reset(){this.state={tokenCount:0,requestCount:0,windowStart:Date.now()},this.clearQueue()}canExecute(e){this.maybeResetWindow();let r=this.state.tokenCount+e<=this.config.tokensPerMinute,n=this.state.requestCount+1<=this.config.requestsPerMinute;return r&&n}async executeNow(e,r){return this.state.tokenCount+=r,this.state.requestCount++,e()}enqueue(e,r,n){return new Promise((i,o)=>{let s={id:`req-${this.nextId++}`,priority:n,estimatedTokens:r,execute:e,resolve:i,reject:o,enqueueTime:Date.now()},c=this.queue.length,u={high:0,normal:1,low:2};for(let l=0;l<this.queue.length;l++)if(u[n]<u[this.queue[l].priority]){c=l;break}this.queue.splice(c,0,s),this.processQueue()})}async processQueue(){if(!this.processing){this.processing=!0;try{for(;this.queue.length>0;){let e=this.queue[0];for(;!this.canExecute(e.estimatedTokens);){let r=this.getRetryAfter();await this.sleep(Math.min(r,1e3)),this.maybeResetWindow()}this.queue.shift();try{let r=await this.executeNow(e.execute,e.estimatedTokens);e.resolve(r)}catch(r){e.reject(r)}}}finally{this.processing=!1}}}maybeResetWindow(){let e=Date.now();e-this.state.windowStart>=6e4&&(this.state.tokenCount=0,this.state.requestCount=0,this.state.windowStart=e)}getResetTime(){return Math.max(0,6e4-(Date.now()-this.state.windowStart))}getRetryAfter(){return this.getResetTime()}sleep(e){return new Promise(r=>setTimeout(r,e))}},gn=class extends Error{retryAfter;constructor(e){super(`Rate limit exceeded. Retry after ${e}ms`),this.retryAfter=e,this.name="RateLimitExceededError"}},Ns={"openai-tier1":{tokensPerMinute:2e5,requestsPerMinute:500},"openai-tier2":{tokensPerMinute:45e4,requestsPerMinute:5e3},"openai-tier3":{tokensPerMinute:6e5,requestsPerMinute:5e3},"openai-tier4":{tokensPerMinute:8e5,requestsPerMinute:1e4},"openai-tier5":{tokensPerMinute:1e7,requestsPerMinute:1e4},"anthropic-tier1":{tokensPerMinute:8e4,requestsPerMinute:50},"anthropic-tier2":{tokensPerMinute:16e4,requestsPerMinute:1e3},"anthropic-tier3":{tokensPerMinute:4e5,requestsPerMinute:2e3},"anthropic-tier4":{tokensPerMinute:8e5,requestsPerMinute:4e3}};function Ap(t,e){let r=t?Ns[t]||{}:{};return new hn({...r,...e})}var Cp=Tp;var kr={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},Ep={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"};function N1(t){return t>=200&&t<300}function M1(t){return t>=300&&t<400}function F1(t){return t>=400&&t<500}function B1(t){return t>=500&&t<600}function U1(t){return t>=400}function H1(t){return[kr.TOO_MANY_REQUESTS,kr.INTERNAL_SERVER_ERROR,kr.BAD_GATEWAY,kr.SERVICE_UNAVAILABLE,kr.GATEWAY_TIMEOUT].includes(t)}function I1(t){return Ep[t]||"Unknown Status"}var oo=class{encoder=new TextEncoder;async hash(e,r){let n=this.encoder.encode(r),i=await crypto.subtle.digest(e,n);return this.bufferToHex(i)}async hashBuffer(e,r){let n=r instanceof Uint8Array?r.buffer:r,i=await crypto.subtle.digest(e,n);return this.bufferToHex(i)}async hmac(e,r,n){let i=this.encoder.encode(r),o=await crypto.subtle.importKey("raw",i,{name:"HMAC",hash:e},!1,["sign"]),s=await crypto.subtle.sign("HMAC",o,this.encoder.encode(n));return this.bufferToHex(s)}async hmacBuffer(e,r,n){let i=r instanceof Uint8Array?r.buffer:r,o=await crypto.subtle.importKey("raw",i,{name:"HMAC",hash:e},!1,["sign"]),s;return typeof n=="string"?s=this.encoder.encode(n).buffer:n instanceof Uint8Array?s=n.buffer:s=n,crypto.subtle.sign("HMAC",o,s)}randomUUID(){return crypto.randomUUID()}randomBytes(e){let r=new Uint8Array(e);return crypto.getRandomValues(r),r}randomHex(e){return this.bufferToHex(this.randomBytes(e))}bufferToHex(e){return[...e instanceof Uint8Array?e:new Uint8Array(e)].map(n=>n.toString(16).padStart(2,"0")).join("")}hexToBuffer(e){let r=e.match(/.{1,2}/g)||[];return new Uint8Array(r.map(n=>parseInt(n,16)))}base64Encode(e){let r=this.encoder.encode(e),n=Array.from(r,i=>String.fromCodePoint(i)).join("");return btoa(n)}base64Decode(e){let r=atob(e),n=Uint8Array.from(r,i=>i.codePointAt(0));return new TextDecoder().decode(n)}base64UrlEncode(e){return this.base64Encode(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}base64UrlDecode(e){let n=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/");return this.base64Decode(n)}},Sr=new oo,q1=t=>Sr.hash("SHA-256",t),$1=t=>Sr.hash("SHA-1",t),O1=(t,e)=>Sr.hmac("SHA-256",t,e),z1=()=>Sr.randomUUID(),j1=t=>Sr.randomBytes(t);var _1="recker-cache-v1",ao=class t{cacheName;cachePromise=null;constructor(e={}){this.cacheName=e.cacheName||_1}static isSupported(){return typeof caches<"u"}async getCache(){if(!this.cachePromise){if(!t.isSupported())throw new Error("Cache API is not supported in this environment");this.cachePromise=caches.open(this.cacheName)}return this.cachePromise}keyToUrl(e){return`https://recker-cache.local/${encodeURIComponent(e)}`}async get(e){try{let r=await this.getCache(),n=this.keyToUrl(e),i=await r.match(n);if(!i)return null;let o=await i.json();return o.expiresAt&&Date.now()>o.expiresAt?(this.delete(e).catch(()=>{}),null):o.entry}catch{return null}}async set(e,r,n){let i=await this.getCache(),o=this.keyToUrl(e),s={entry:r,expiresAt:Date.now()+n},c=new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json","X-Recker-Cache":"true","X-Recker-Expires":String(s.expiresAt)}});await i.put(o,c)}async delete(e){let r=await this.getCache(),n=this.keyToUrl(e);await r.delete(n)}async clear(){await caches.delete(this.cacheName),this.cachePromise=null}async keys(){return(await(await this.getCache()).keys()).map(n=>{let i=new URL(n.url);return decodeURIComponent(i.pathname.slice(1))}).filter(n=>n.length>0)}async size(){return(await this.keys()).length}async prune(){let e=await this.getCache(),r=await e.keys(),n=0;for(let i of r){let o=await e.match(i);if(o)try{let s=await o.json();s.expiresAt&&Date.now()>s.expiresAt&&(await e.delete(i),n++)}catch{await e.delete(i),n++}}return n}};G();function Bs(){return typeof globalThis.CompressionStream<"u"}function W1(t){return t?["text/","application/json","application/xml","application/javascript","application/x-www-form-urlencoded"].some(r=>t.includes(r)):!0}function V1(t){if(!t)return 0;if(typeof t=="string")return new TextEncoder().encode(t).length;if(t instanceof ArrayBuffer)return t.byteLength;if(t instanceof Uint8Array)return t.length;if(t instanceof Blob)return t.size;if(typeof t=="object")try{return new TextEncoder().encode(JSON.stringify(t)).length}catch{return 0}return 0}function G1(t){if(!t)return null;if(t instanceof Uint8Array)return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(typeof t=="string")return new TextEncoder().encode(t);if(typeof t=="object")try{return new TextEncoder().encode(JSON.stringify(t))}catch{return null}return null}async function K1(t,e){if(!Bs())throw new me("CompressionStream API is not available in this browser",{feature:"CompressionStream"});let r=new CompressionStream(e),n=r.writable.getWriter(),i=new Uint8Array(t).buffer;n.write(new Uint8Array(i)),n.close();let o=r.readable.getReader(),s=[];for(;;){let{done:d,value:p}=await o.read();if(d)break;s.push(p)}let c=s.reduce((d,p)=>d+p.length,0),u=new Uint8Array(c),l=0;for(let d of s)u.set(d,l),l+=d.length;return u}async function X1(t,e){if(typeof globalThis.DecompressionStream>"u")throw new me("DecompressionStream API is not available in this browser",{feature:"DecompressionStream"});let r=new DecompressionStream(e),n=r.writable.getWriter(),i=new Uint8Array(t).buffer;n.write(new Uint8Array(i)),n.close();let o=r.readable.getReader(),s=[];for(;;){let{done:d,value:p}=await o.read();if(d)break;s.push(p)}let c=s.reduce((d,p)=>d+p.length,0),u=new Uint8Array(c),l=0;for(let d of s)u.set(d,l),l+=d.length;return u}function Fs(t={}){let{algorithm:e="gzip",threshold:r=1024,force:n=!1,methods:i=["POST","PUT","PATCH"]}=t;if(e!=="gzip"&&e!=="deflate")throw new me(`Browser compression only supports 'gzip' and 'deflate'. '${e}' is not available.`,{feature:e});return async(o,s)=>{if(!i.includes(o.method)||!o.body||!Bs()||o.headers.has("Content-Encoding"))return s(o);let u=o.headers.get("Content-Type");if(!W1(u))return s(o);let l=V1(o.body);if(!n&&l<r)return s(o);let d=G1(o.body);if(!d)return s(o);try{let p=await K1(d,e);if(!n&&p.length>=d.length)return s(o);let m=new Headers(o.headers);m.set("Content-Encoding",e),m.set("Content-Length",p.length.toString());let f={...o,body:p,headers:m};return s(f)}catch{return s(o)}}}function J1(t){return t?t===!0?Fs():Fs(t):null}var so=null;function Tt(){return so||(so=zi({transport:new yt})),so}function Dp(t,e){return Tt().get(t,e)}function Lp(t,e){return Tt().post(t,e)}function Rp(t,e){return Tt().put(t,e)}function Pp(t,e){return Tt().patch(t,e)}function Np(t,e){return Tt().delete(t,e)}function Mp(t,e){return Tt().head(t,e)}function Fp(t,e){return Tt().options(t,e)}function Bp(t,e){return Tt().purge(t,e)}function Up(t,e){return new WebSocket(t,e)}var Q1={get:Dp,post:Lp,put:Rp,patch:Pp,delete:Np,head:Mp,options:Fp,purge:Bp,ws:Up,seo:Ls,ai:no,har:yr,simulateNetwork:Cs,client:t=>zi({...t,transport:new yt}),reset:()=>{so=null},isBrowser:!0,unavailable:["whois","whoisAvailable","dns","dnsSecurity","dnsClient","whoisClient"]};return nm(Y1);})();
|
|
416
|
+
`);for(let d of l)if(d.trim())try{let p=JSON.parse(d);(u=p.message)!=null&&u.content&&(r.firstTokenTime||(r.firstTokenTime=performance.now()),r.tokenCount++,yield{type:"text",content:p.message.content}),p.done&&(yield{type:"done",finishReason:"stop",usage:{inputTokens:p.prompt_eval_count||0,outputTokens:p.eval_count||0,totalTokens:(p.prompt_eval_count||0)+(p.eval_count||0)}})}catch{}}}finally{n.releaseLock()}}};var Rs=class{data={totalRequests:0,totalTokens:0,totalCost:0,totalLatencyTtft:0,totalLatencyTotal:0,errorCount:0,cacheHits:0,byModel:new Map,byProvider:new Map};get totalRequests(){return this.data.totalRequests}get totalTokens(){return this.data.totalTokens}get totalCost(){return this.data.totalCost}get avgLatency(){let e=this.data.totalRequests||1;return{ttft:this.data.totalLatencyTtft/e,total:this.data.totalLatencyTotal/e}}get errorRate(){let e=this.data.totalRequests+this.data.errorCount;return e>0?this.data.errorCount/e:0}get cacheHitRate(){return this.data.totalRequests>0?this.data.cacheHits/this.data.totalRequests:0}record(e){var i,o,s;this.data.totalRequests++,this.data.totalTokens+=e.usage.totalTokens,this.data.totalCost+=((i=e.cost)==null?void 0:i.totalCost)||0,this.data.totalLatencyTtft+=e.latency.ttft,this.data.totalLatencyTotal+=e.latency.total,e.cached&&this.data.cacheHits++;let r=this.data.byModel.get(e.model)||{requests:0,tokens:0,cost:0};r.requests++,r.tokens+=e.usage.totalTokens,r.cost+=((o=e.cost)==null?void 0:o.totalCost)||0,this.data.byModel.set(e.model,r);let n=this.data.byProvider.get(e.provider)||{requests:0,tokens:0,cost:0};n.requests++,n.tokens+=e.usage.totalTokens,n.cost+=((s=e.cost)==null?void 0:s.totalCost)||0,this.data.byProvider.set(e.provider,n)}recordError(){this.data.errorCount++}summary(){return{totalRequests:this.totalRequests,totalTokens:this.totalTokens,totalCost:this.totalCost,avgLatency:this.avgLatency,errorRate:this.errorRate,cacheHitRate:this.cacheHitRate,byModel:Object.fromEntries(this.data.byModel),byProvider:Object.fromEntries(this.data.byProvider)}}reset(){this.data={totalRequests:0,totalTokens:0,totalCost:0,totalLatencyTtft:0,totalLatencyTotal:0,errorCount:0,cacheHits:0,byModel:new Map,byProvider:new Map}}},mn=class{config;providers=new Map;_metrics=new Rs;constructor(e={}){this.config={defaultProvider:"openai",observability:!0,debug:!1,...e},this.initializeProviders()}get metrics(){return this._metrics}async chat(e){let r=this.normalizeOptions(e),n=this.getProvider(r.provider);try{let i=await this.executeWithRetry(()=>n.chat(r),r);return this.config.observability&&this._metrics.record(i),this.config.debug&&this.logResponse(i),i}catch(i){throw this.config.observability&&this._metrics.recordError(),i}}async stream(e){return this.getProvider(e.provider).stream(e)}async embed(e){return this.getProvider(e.provider).embed(e)}extend(e){let r=this;return{chat:async n=>{let i=r.normalizeOptions(n);return r.chat({...e,...i,messages:[...e.messages||[],...i.messages]})},stream:async n=>r.stream({...e,...n,messages:[...e.messages||[],...n.messages]}),embed:async n=>r.embed({provider:e.provider,...n}),extend:n=>r.extend({...e,...n}),metrics:r.metrics}}initializeProviders(){var o,s,c,u;let e=((o=this.config.providers)==null?void 0:o.openai)||{};this.providers.set("openai",new br(e));let r=((s=this.config.providers)==null?void 0:s.anthropic)||{};this.providers.set("anthropic",new vr(r));let n=((c=this.config.providers)==null?void 0:c.google)||{};this.providers.set("google",new wr(n));let i=((u=this.config.providers)==null?void 0:u.ollama)||{};this.providers.set("ollama",new xr(i))}getProvider(e){let r=e||this.config.defaultProvider||"openai",n=this.providers.get(r);if(!n)throw new ie(`Provider not found: ${r}`,r,"provider_not_found");return n}normalizeOptions(e){return typeof e=="string"?{messages:[{role:"user",content:e}]}:e}async executeWithRetry(e,r){let n=r.retry||this.config.retry;if(!n)return e();let i=n.maxAttempts||3,o=n.on||["rate_limit","overloaded","timeout"],s=null;for(let c=1;c<=i;c++)try{return await e()}catch(u){if(s=u,!this.shouldRetry(u,o,c,i))throw u;let l=this.calculateBackoff(c,n.backoff);if(n.onRetry&&n.onRetry(c,u),this.config.debug&&console.log(`[recker/ai] Retry ${c}/${i} after ${l}ms`),await this.sleep(l),n.fallback&&r.model){let d=n.fallback[r.model];d&&(r={...r,model:d},this.config.debug&&console.log(`[recker/ai] Falling back to model: ${d}`))}n.reduceContext&&u instanceof Ke&&r.messages.length>2&&(r={...r,messages:this.reduceContext(r.messages)},this.config.debug&&console.log(`[recker/ai] Reduced context to ${r.messages.length} messages`))}throw s||new Error("Retry exhausted")}shouldRetry(e,r,n,i){return n>=i?!1:!!(e instanceof Ne&&r.includes("rate_limit")||e instanceof Me&&r.includes("overloaded")||e instanceof Ke&&r.includes("context_length_exceeded")||e.name==="TimeoutError"&&r.includes("timeout")||e instanceof ie&&e.retryable&&r.includes("server_error"))}calculateBackoff(e,r="exponential"){let o;switch(r){case"linear":o=1e3*e;break;case"exponential":o=1e3*Math.pow(2,e-1);break;case"decorrelated":o=Math.random()*Math.min(3e4,1e3*Math.pow(3,e-1));break;default:o=1e3*e}let s=o*.25*(Math.random()*2-1);return Math.min(3e4,o+s)}reduceContext(e){if(e.length<=2)return e;let r=e.filter(o=>o.role==="system"),n=e.filter(o=>o.role!=="system");return n.length<=4?e:[...r,n[0],...n.slice(-2)]}logResponse(e){console.log(`[recker/ai] ${e.provider}/${e.model}`),console.log(` Tokens: ${e.usage.inputTokens} in / ${e.usage.outputTokens} out`),console.log(` Latency: TTFT=${e.latency.ttft.toFixed(0)}ms, Total=${e.latency.total.toFixed(0)}ms`),e.cost&&console.log(` Cost: $${e.cost.totalCost.toFixed(6)}`)}sleep(e){return new Promise(r=>setTimeout(r,e))}};function no(t){return new mn(t)}var R1={firstToken:6e4,betweenTokens:1e4,total:3e5},Ps={"gpt-5.1-mini":{firstToken:1e4,betweenTokens:2e3,total:6e4},"gpt-5.1-nano":{firstToken:5e3,betweenTokens:1e3,total:3e4},"claude-haiku":{firstToken:1e4,betweenTokens:2e3,total:6e4},"gpt-5.1":{firstToken:3e4,betweenTokens:5e3,total:12e4},"claude-sonnet":{firstToken:3e4,betweenTokens:5e3,total:12e4},o3:{firstToken:12e4,betweenTokens:3e4,total:6e5},"o3-mini":{firstToken:6e4,betweenTokens:15e3,total:3e5},"o4-mini":{firstToken:6e4,betweenTokens:15e3,total:3e5},"claude-opus":{firstToken:6e4,betweenTokens:1e4,total:3e5},"text-embedding":{firstToken:1e4,betweenTokens:0,total:3e4}},fn=class{profiles=new Map;maxSamples=100;sampleTtl=1440*60*1e3;getTimeouts(e,r){let n={...R1,adaptive:!0},i=this.findPreset(e);if(i&&(n={...n,...i}),(r==null?void 0:r.adaptive)!==!1){let o=this.profiles.get(e);o&&o.samples.length>=5&&(n.firstToken=Math.ceil(o.p95Ttft*1.2),n.betweenTokens=Math.ceil(o.p95BetweenTokens*1.2),n.total=Math.ceil(o.p95Total*1.2))}return(r==null?void 0:r.firstToken)!==void 0&&(n.firstToken=r.firstToken),(r==null?void 0:r.betweenTokens)!==void 0&&(n.betweenTokens=r.betweenTokens),(r==null?void 0:r.total)!==void 0&&(n.total=r.total),n}recordSample(e,r,n,i){let o={ttft:r,betweenTokens:n,total:i,timestamp:Date.now()},s=this.profiles.get(e);s||(s={samples:[],avgTtft:0,avgBetweenTokens:0,avgTotal:0,p95Ttft:0,p95BetweenTokens:0,p95Total:0},this.profiles.set(e,s)),s.samples.push(o);let c=Date.now()-this.sampleTtl;s.samples=s.samples.filter(u=>u.timestamp>c),s.samples.length>this.maxSamples&&(s.samples=s.samples.slice(-this.maxSamples)),this.recalculateStats(s)}getProfile(e){return this.profiles.get(e)}clear(){this.profiles.clear()}export(){let e={};for(let[r,n]of this.profiles)e[r]=n.samples;return e}import(e){for(let[r,n]of Object.entries(e)){let i={samples:n,avgTtft:0,avgBetweenTokens:0,avgTotal:0,p95Ttft:0,p95BetweenTokens:0,p95Total:0};this.recalculateStats(i),this.profiles.set(r,i)}}findPreset(e){if(Ps[e])return Ps[e];let r=e.toLowerCase();for(let[n,i]of Object.entries(Ps))if(r.includes(n.toLowerCase()))return i}recalculateStats(e){if(e.samples.length===0)return;let r=e.samples.map(o=>o.ttft),n=e.samples.map(o=>o.betweenTokens),i=e.samples.map(o=>o.total);e.avgTtft=r.reduce((o,s)=>o+s,0)/r.length,e.avgBetweenTokens=n.reduce((o,s)=>o+s,0)/n.length,e.avgTotal=i.reduce((o,s)=>o+s,0)/i.length,e.p95Ttft=this.percentile(r,95),e.p95BetweenTokens=this.percentile(n,95),e.p95Total=this.percentile(i,95)}percentile(e,r){if(e.length===0)return 0;let n=[...e].sort((o,s)=>o-s),i=Math.ceil(r/100*n.length)-1;return n[Math.max(0,i)]}},io=class{timeouts;abortController;firstTokenTimer=null;betweenTokenTimer=null;totalTimer=null;receivedFirstToken=!1;startTime;constructor(e){this.timeouts=e,this.abortController=new AbortController,this.startTime=Date.now()}get signal(){return this.abortController.signal}start(){this.timeouts.firstToken>0&&(this.firstTokenTimer=setTimeout(()=>{this.receivedFirstToken||this.abort("First token timeout exceeded")},this.timeouts.firstToken)),this.timeouts.total>0&&(this.totalTimer=setTimeout(()=>{this.abort("Total timeout exceeded")},this.timeouts.total))}recordToken(){this.receivedFirstToken||(this.receivedFirstToken=!0,this.firstTokenTimer&&(clearTimeout(this.firstTokenTimer),this.firstTokenTimer=null)),this.betweenTokenTimer&&clearTimeout(this.betweenTokenTimer),this.timeouts.betweenTokens>0&&(this.betweenTokenTimer=setTimeout(()=>{this.abort("Token stream stalled")},this.timeouts.betweenTokens))}complete(){this.clearTimers()}abort(e){this.clearTimers(),this.abortController.abort(new Error(e))}get elapsed(){return Date.now()-this.startTime}get ttft(){return this.receivedFirstToken?Date.now()-this.startTime:null}clearTimers(){this.firstTokenTimer&&(clearTimeout(this.firstTokenTimer),this.firstTokenTimer=null),this.betweenTokenTimer&&(clearTimeout(this.betweenTokenTimer),this.betweenTokenTimer=null),this.totalTimer&&(clearTimeout(this.totalTimer),this.totalTimer=null)}},Tp=new fn;G();var P1={tokensPerMinute:9e4,requestsPerMinute:500,strategy:"queue",priority:()=>"normal"},Sp={estimateMessage(t){return t?Math.ceil(t.length/4):0},estimateChatTokens(t){var r;let e=0;for(let n of t.messages)if(typeof n.content=="string")e+=this.estimateMessage(n.content);else if(Array.isArray(n.content))for(let i of n.content)i.type==="text"?e+=this.estimateMessage(i.text):(i.type==="image"||i.type==="image_url")&&(e+=1e3);return t.systemPrompt&&(e+=this.estimateMessage(t.systemPrompt)),e+=t.maxTokens||1e3,(r=t.tools)!=null&&r.length&&(e+=t.tools.length*100),e}},hn=class{config;state;queue=[];processing=!1;nextId=0;constructor(e={}){this.config={...P1,...e},this.state={tokenCount:0,requestCount:0,windowStart:Date.now()}}async execute(e,r){let n=(r==null?void 0:r.estimatedTokens)||1e3,i=(r==null?void 0:r.priority)||"normal";if(this.canExecute(n))return this.executeNow(e,n);switch(this.config.strategy){case"throw":throw new gn(this.getRetryAfter());case"retry-after":let o=this.getRetryAfter();return await this.sleep(o),this.execute(e,r);default:return this.enqueue(e,n,i)}}async executeChat(e,r){let n=Sp.estimateChatTokens(e),i=this.config.priority(e);return this.execute(r,{estimatedTokens:n,priority:i})}recordUsage(e,r){let n=e-r;this.state.tokenCount+=n,this.state.tokenCount<0&&(this.state.tokenCount=0)}getUsage(){return this.maybeResetWindow(),{tokensUsed:this.state.tokenCount,tokensRemaining:Math.max(0,this.config.tokensPerMinute-this.state.tokenCount),requestsUsed:this.state.requestCount,requestsRemaining:Math.max(0,this.config.requestsPerMinute-this.state.requestCount),resetIn:this.getResetTime(),queueLength:this.queue.length}}clearQueue(){for(let e of this.queue)e.reject(new $e("Queue cleared",{queueName:"ai-rate-limiter"}));this.queue=[]}reset(){this.state={tokenCount:0,requestCount:0,windowStart:Date.now()},this.clearQueue()}canExecute(e){this.maybeResetWindow();let r=this.state.tokenCount+e<=this.config.tokensPerMinute,n=this.state.requestCount+1<=this.config.requestsPerMinute;return r&&n}async executeNow(e,r){return this.state.tokenCount+=r,this.state.requestCount++,e()}enqueue(e,r,n){return new Promise((i,o)=>{let s={id:`req-${this.nextId++}`,priority:n,estimatedTokens:r,execute:e,resolve:i,reject:o,enqueueTime:Date.now()},c=this.queue.length,u={high:0,normal:1,low:2};for(let l=0;l<this.queue.length;l++)if(u[n]<u[this.queue[l].priority]){c=l;break}this.queue.splice(c,0,s),this.processQueue()})}async processQueue(){if(!this.processing){this.processing=!0;try{for(;this.queue.length>0;){let e=this.queue[0];for(;!this.canExecute(e.estimatedTokens);){let r=this.getRetryAfter();await this.sleep(Math.min(r,1e3)),this.maybeResetWindow()}this.queue.shift();try{let r=await this.executeNow(e.execute,e.estimatedTokens);e.resolve(r)}catch(r){e.reject(r)}}}finally{this.processing=!1}}}maybeResetWindow(){let e=Date.now();e-this.state.windowStart>=6e4&&(this.state.tokenCount=0,this.state.requestCount=0,this.state.windowStart=e)}getResetTime(){return Math.max(0,6e4-(Date.now()-this.state.windowStart))}getRetryAfter(){return this.getResetTime()}sleep(e){return new Promise(r=>setTimeout(r,e))}},gn=class extends Error{retryAfter;constructor(e){super(`Rate limit exceeded. Retry after ${e}ms`),this.retryAfter=e,this.name="RateLimitExceededError"}},Ns={"openai-tier1":{tokensPerMinute:2e5,requestsPerMinute:500},"openai-tier2":{tokensPerMinute:45e4,requestsPerMinute:5e3},"openai-tier3":{tokensPerMinute:6e5,requestsPerMinute:5e3},"openai-tier4":{tokensPerMinute:8e5,requestsPerMinute:1e4},"openai-tier5":{tokensPerMinute:1e7,requestsPerMinute:1e4},"anthropic-tier1":{tokensPerMinute:8e4,requestsPerMinute:50},"anthropic-tier2":{tokensPerMinute:16e4,requestsPerMinute:1e3},"anthropic-tier3":{tokensPerMinute:4e5,requestsPerMinute:2e3},"anthropic-tier4":{tokensPerMinute:8e5,requestsPerMinute:4e3}};function Ap(t,e){let r=t?Ns[t]||{}:{};return new hn({...r,...e})}var Cp=Sp;var kr={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},Ep={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"};function N1(t){return t>=200&&t<300}function M1(t){return t>=300&&t<400}function F1(t){return t>=400&&t<500}function B1(t){return t>=500&&t<600}function U1(t){return t>=400}function I1(t){return[kr.TOO_MANY_REQUESTS,kr.INTERNAL_SERVER_ERROR,kr.BAD_GATEWAY,kr.SERVICE_UNAVAILABLE,kr.GATEWAY_TIMEOUT].includes(t)}function H1(t){return Ep[t]||"Unknown Status"}var oo=class{encoder=new TextEncoder;async hash(e,r){let n=this.encoder.encode(r),i=await crypto.subtle.digest(e,n);return this.bufferToHex(i)}async hashBuffer(e,r){let n=r instanceof Uint8Array?r.buffer:r,i=await crypto.subtle.digest(e,n);return this.bufferToHex(i)}async hmac(e,r,n){let i=this.encoder.encode(r),o=await crypto.subtle.importKey("raw",i,{name:"HMAC",hash:e},!1,["sign"]),s=await crypto.subtle.sign("HMAC",o,this.encoder.encode(n));return this.bufferToHex(s)}async hmacBuffer(e,r,n){let i=r instanceof Uint8Array?r.buffer:r,o=await crypto.subtle.importKey("raw",i,{name:"HMAC",hash:e},!1,["sign"]),s;return typeof n=="string"?s=this.encoder.encode(n).buffer:n instanceof Uint8Array?s=n.buffer:s=n,crypto.subtle.sign("HMAC",o,s)}randomUUID(){return crypto.randomUUID()}randomBytes(e){let r=new Uint8Array(e);return crypto.getRandomValues(r),r}randomHex(e){return this.bufferToHex(this.randomBytes(e))}bufferToHex(e){return[...e instanceof Uint8Array?e:new Uint8Array(e)].map(n=>n.toString(16).padStart(2,"0")).join("")}hexToBuffer(e){let r=e.match(/.{1,2}/g)||[];return new Uint8Array(r.map(n=>parseInt(n,16)))}base64Encode(e){let r=this.encoder.encode(e),n=Array.from(r,i=>String.fromCodePoint(i)).join("");return btoa(n)}base64Decode(e){let r=atob(e),n=Uint8Array.from(r,i=>i.codePointAt(0));return new TextDecoder().decode(n)}base64UrlEncode(e){return this.base64Encode(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}base64UrlDecode(e){let n=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/");return this.base64Decode(n)}},Tr=new oo,q1=t=>Tr.hash("SHA-256",t),$1=t=>Tr.hash("SHA-1",t),O1=(t,e)=>Tr.hmac("SHA-256",t,e),z1=()=>Tr.randomUUID(),j1=t=>Tr.randomBytes(t);var _1="recker-cache-v1",ao=class t{cacheName;cachePromise=null;constructor(e={}){this.cacheName=e.cacheName||_1}static isSupported(){return typeof caches<"u"}async getCache(){if(!this.cachePromise){if(!t.isSupported())throw new Error("Cache API is not supported in this environment");this.cachePromise=caches.open(this.cacheName)}return this.cachePromise}keyToUrl(e){return`https://recker-cache.local/${encodeURIComponent(e)}`}async get(e){try{let r=await this.getCache(),n=this.keyToUrl(e),i=await r.match(n);if(!i)return null;let o=await i.json();return o.expiresAt&&Date.now()>o.expiresAt?(this.delete(e).catch(()=>{}),null):o.entry}catch{return null}}async set(e,r,n){let i=await this.getCache(),o=this.keyToUrl(e),s={entry:r,expiresAt:Date.now()+n},c=new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json","X-Recker-Cache":"true","X-Recker-Expires":String(s.expiresAt)}});await i.put(o,c)}async delete(e){let r=await this.getCache(),n=this.keyToUrl(e);await r.delete(n)}async clear(){await caches.delete(this.cacheName),this.cachePromise=null}async keys(){return(await(await this.getCache()).keys()).map(n=>{let i=new URL(n.url);return decodeURIComponent(i.pathname.slice(1))}).filter(n=>n.length>0)}async size(){return(await this.keys()).length}async prune(){let e=await this.getCache(),r=await e.keys(),n=0;for(let i of r){let o=await e.match(i);if(o)try{let s=await o.json();s.expiresAt&&Date.now()>s.expiresAt&&(await e.delete(i),n++)}catch{await e.delete(i),n++}}return n}};G();function Bs(){return typeof globalThis.CompressionStream<"u"}function W1(t){return t?["text/","application/json","application/xml","application/javascript","application/x-www-form-urlencoded"].some(r=>t.includes(r)):!0}function V1(t){if(!t)return 0;if(typeof t=="string")return new TextEncoder().encode(t).length;if(t instanceof ArrayBuffer)return t.byteLength;if(t instanceof Uint8Array)return t.length;if(t instanceof Blob)return t.size;if(typeof t=="object")try{return new TextEncoder().encode(JSON.stringify(t)).length}catch{return 0}return 0}function G1(t){if(!t)return null;if(t instanceof Uint8Array)return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(typeof t=="string")return new TextEncoder().encode(t);if(typeof t=="object")try{return new TextEncoder().encode(JSON.stringify(t))}catch{return null}return null}async function K1(t,e){if(!Bs())throw new me("CompressionStream API is not available in this browser",{feature:"CompressionStream"});let r=new CompressionStream(e),n=r.writable.getWriter(),i=new Uint8Array(t).buffer;n.write(new Uint8Array(i)),n.close();let o=r.readable.getReader(),s=[];for(;;){let{done:d,value:p}=await o.read();if(d)break;s.push(p)}let c=s.reduce((d,p)=>d+p.length,0),u=new Uint8Array(c),l=0;for(let d of s)u.set(d,l),l+=d.length;return u}async function X1(t,e){if(typeof globalThis.DecompressionStream>"u")throw new me("DecompressionStream API is not available in this browser",{feature:"DecompressionStream"});let r=new DecompressionStream(e),n=r.writable.getWriter(),i=new Uint8Array(t).buffer;n.write(new Uint8Array(i)),n.close();let o=r.readable.getReader(),s=[];for(;;){let{done:d,value:p}=await o.read();if(d)break;s.push(p)}let c=s.reduce((d,p)=>d+p.length,0),u=new Uint8Array(c),l=0;for(let d of s)u.set(d,l),l+=d.length;return u}function Fs(t={}){let{algorithm:e="gzip",threshold:r=1024,force:n=!1,methods:i=["POST","PUT","PATCH"]}=t;if(e!=="gzip"&&e!=="deflate")throw new me(`Browser compression only supports 'gzip' and 'deflate'. '${e}' is not available.`,{feature:e});return async(o,s)=>{if(!i.includes(o.method)||!o.body||!Bs()||o.headers.has("Content-Encoding"))return s(o);let u=o.headers.get("Content-Type");if(!W1(u))return s(o);let l=V1(o.body);if(!n&&l<r)return s(o);let d=G1(o.body);if(!d)return s(o);try{let p=await K1(d,e);if(!n&&p.length>=d.length)return s(o);let m=new Headers(o.headers);m.set("Content-Encoding",e),m.set("Content-Length",p.length.toString());let f={...o,body:p,headers:m};return s(f)}catch{return s(o)}}}function J1(t){return t?t===!0?Fs():Fs(t):null}var so=null;function St(){return so||(so=zi({transport:new yt})),so}function Dp(t,e){return St().get(t,e)}function Lp(t,e){return St().post(t,e)}function Rp(t,e){return St().put(t,e)}function Pp(t,e){return St().patch(t,e)}function Np(t,e){return St().delete(t,e)}function Mp(t,e){return St().head(t,e)}function Fp(t,e){return St().options(t,e)}function Bp(t,e){return St().purge(t,e)}function Up(t,e){return new WebSocket(t,e)}var Q1={get:Dp,post:Lp,put:Rp,patch:Pp,delete:Np,head:Mp,options:Fp,purge:Bp,ws:Up,seo:Ls,ai:no,har:yr,simulateNetwork:Cs,client:t=>zi({...t,transport:new yt}),reset:()=>{so=null},isBrowser:!0,unavailable:["whois","whoisAvailable","dns","dnsSecurity","dnsClient","whoisClient"]};return nm(Y1);})();
|
|
417
417
|
//# sourceMappingURL=index.umd.min.js.map
|