@adguard/agtree 2.0.1 → 2.1.0

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.
@@ -1,24 +0,0 @@
1
- /*
2
- * AGTree v2.0.1 (build date: Fri, 06 Sep 2024 12:11:38 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- function _defineProperty(e,a,t){return(a=_toPropertyKey(a))in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function _toPropertyKey(e){var a=_toPrimitive(e,"string");return"symbol"==typeof a?a:a+""}function _toPrimitive(e,a){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,a||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}var AGTree=function(e,a,t,n){"use strict";var s;e.AdblockSyntax=void 0,(s=e.AdblockSyntax||(e.AdblockSyntax={})).Common="Common",s.Abp="AdblockPlus",s.Ubo="UblockOrigin",s.Adg="AdGuard";const r="",i=" ",o=":",d=",",u=".",l=";",c="*",p="$",m="=",f="|",g="_",h="\\",b=h,v="\r",y="\n",k=v+y,w=y,x='"',A="'",E="(",C=")",D="[",j="]",R=new Set(["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]),S=new Set(["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]),_=new Set(["0","1","2","3","4","5","6","7","8","9"]),M="/",T="//scriptlet",F="+js",$="script:inject",O="~",I=c,N="@media",U="not",B="!+",z="@@",P="aglint",L="!#",q="safari_cb_affinity",H="if",W="include",Z='"';class V{static findNextUnescapedCharacter(e,a){let t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:b;for(let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;n<e.length;n+=1)if(e[n]===a&&e[n-1]!==t)return n;return-1}static findLastUnescapedCharacter(e,a){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:b;for(let n=e.length-1;n>=0;n-=1)if(e[n]===a&&e[n-1]!==t)return n;return-1}static findNextUnescapedCharacterThatNotFollowedBy(e,a,t,n){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:b;for(let r=a;r<e.length;r+=1)if(e[r]===t&&e[r+1]!==n&&e[r-1]!==s)return r;return-1}static findLastUnescapedCharacterThatNotFollowedBy(e,a,t){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:b;for(let s=e.length-1;s>=0;s-=1)if(e[s]===a&&e[s+1]!==t&&e[s-1]!==n)return s;return-1}static findUnescapedNonStringNonRegexChar(e,a){let t=null;for(let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;n<e.length;n+=1)if("'"!==e[n]&&e[n]!==Z&&e[n]!==M||e[n-1]===b){if(null===t&&e[n]===a&&e[n-1]!==b)return n}else t===e[n]?t=null:null===t&&(t=e[n]);return-1}static findNextUnquotedUnescapedCharacter(e,a){let t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:b,n=null;for(let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;s<e.length;s+=1)if("'"!==e[s]&&e[s]!==Z||e[s-1]===t){if(e[s]===a&&e[s-1]!==t&&!n)return s}else n?n===e[s]&&(n=null):n=e[s];return-1}static findNextNotBracketedUnescapedCharacter(e,a){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:b,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"(",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:")";if(s===r)throw new Error("Open and close bracket cannot be the same");let i=0;for(let o=t;o<e.length;o+=1)if(e[o]===s)i+=1;else if(e[o]===r)i-=1;else if(i<1&&e[o]===a&&e[o-1]!==n)return o;return-1}static splitStringByUnquotedUnescapedCharacter(e,a){const t=[];let n=-1;do{const s=n;n=V.findNextUnquotedUnescapedCharacter(e,a,n+1),-1!==n?t.push(e.substring(s+1,n)):t.push(e.substring(s+1,e.length))}while(-1!==n);return t}static splitStringByUnescapedNonStringNonRegexChar(e,a){const t=[];let n=-1;do{const s=n;n=V.findUnescapedNonStringNonRegexChar(e,a,n+1),-1!==n?t.push(e.substring(s+1,n)):t.push(e.substring(s+1,e.length))}while(-1!==n);return t}static splitStringByUnescapedCharacter(e,a){const t=[];let n=-1;do{const s=n;n=V.findNextUnescapedCharacter(e,a,n+1),-1!==n?t.push(e.substring(s+1,n)):t.push(e.substring(s+1,e.length))}while(-1!==n);return t}static isWhitespace(e){return e===i||"\t"===e}static isDigit(e){return e>="0"&&e<="9"}static isSmallLetter(e){return e>="a"&&e<="z"}static isCapitalLetter(e){return e>="A"&&e<="Z"}static isLetter(e){return V.isSmallLetter(e)||V.isCapitalLetter(e)}static isAlphaNumeric(e){return V.isLetter(e)||V.isDigit(e)}static findFirstNonWhitespaceCharacter(e){for(let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;a<e.length;a+=1)if(!V.isWhitespace(e[a]))return a;return-1}static findLastNonWhitespaceCharacter(e){for(let a=e.length-1;a>=0;a-=1)if(!V.isWhitespace(e[a]))return a;return-1}static findNextWhitespaceCharacter(e){for(let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;a<e.length;a+=1)if(V.isWhitespace(e[a]))return a;return e.length}static escapeCharacter(e,a){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:b,n=r;for(let s=0;s<e.length;s+=1)e[s]===a&&e[s-1]!==t&&(n+=t),n+=e[s];return n}static skipWS(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(;a<e.length&&V.isWhitespace(e[a]);)a+=1;return Math.min(a,e.length)}static skipWSBack(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.length-1;for(;a>=0&&V.isWhitespace(e[a]);)a-=1;return Math.max(a,-1)}static isEOL(e){return e===v||e===y||"\f"===e}static splitStringByNewLines(e){return e.split(/\r?\n/)}static splitStringByNewLinesEx(e){const a=[];let t=r,n=null;for(let s=0;s<e.length;s+=1){const i=e[s];i===v?(e[s+1]===y?(n="crlf",s+=1):n="cr",a.push([t,n]),t=r,n=null):i===y?(n="lf",a.push([t,n]),t=r,n=null):t+=i}return 0!==a.length&&t===r||a.push([t,n]),a}static mergeStringByNewLines(e){let a=r;for(let t=0;t<e.length;t+=1){const[n,s]=e[t];a+=n,null!==s&&(a+="crlf"===s?k:"cr"===s?v:y)}return a}static parseNumber(e){const a=parseInt(e,10);if(Number.isNaN(a))throw new Error("Expected a number");return a}static isString(e){return"string"==typeof e}static escapeCharacters(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set,t=r;for(let n=0;n<e.length;n+=1)a.has(e[n])&&(t+=b),t+=e[n];return t}}var G,K,Q,X,J,Y,ee,ae,te;!function(e){e.Not="!",e.And="&&",e.Or="||"}(G||(G={})),e.CommentMarker=void 0,(K=e.CommentMarker||(e.CommentMarker={})).Regular="!",K.Hashmark="#",e.RuleCategory=void 0,(Q=e.RuleCategory||(e.RuleCategory={})).Empty="Empty",Q.Invalid="Invalid",Q.Comment="Comment",Q.Cosmetic="Cosmetic",Q.Network="Network",function(e){e.Unknown="Unknown",e.AppList="AppList",e.DomainList="DomainList",e.MethodList="MethodList",e.StealthOptionList="StealthOptionList"}(X||(X={})),function(e){e.Unknown="Unknown",e.App="App",e.Domain="Domain",e.Method="Method",e.StealthOption="StealthOption"}(J||(J={})),e.CommentRuleType=void 0,(Y=e.CommentRuleType||(e.CommentRuleType={})).AgentCommentRule="AgentCommentRule",Y.CommentRule="CommentRule",Y.ConfigCommentRule="ConfigCommentRule",Y.HintCommentRule="HintCommentRule",Y.MetadataCommentRule="MetadataCommentRule",Y.PreProcessorCommentRule="PreProcessorCommentRule",e.CosmeticRuleType=void 0,(ee=e.CosmeticRuleType||(e.CosmeticRuleType={})).ElementHidingRule="ElementHidingRule",ee.CssInjectionRule="CssInjectionRule",ee.ScriptletInjectionRule="ScriptletInjectionRule",ee.HtmlFilteringRule="HtmlFilteringRule",ee.JsInjectionRule="JsInjectionRule",e.CosmeticRuleSeparator=void 0,(ae=e.CosmeticRuleSeparator||(e.CosmeticRuleSeparator={})).ElementHiding="##",ae.ElementHidingException="#@#",ae.ExtendedElementHiding="#?#",ae.ExtendedElementHidingException="#@?#",ae.AbpSnippet="#$#",ae.AbpSnippetException="#@$#",ae.AdgCssInjection="#$#",ae.AdgCssInjectionException="#@$#",ae.AdgExtendedCssInjection="#$?#",ae.AdgExtendedCssInjectionException="#@$?#",ae.AdgJsInjection="#%#",ae.AdgJsInjectionException="#@%#",ae.AdgHtmlFiltering="$$",ae.AdgHtmlFilteringException="$@$",function(e){e[e.Null=1]="Null",e[e.Undefined=2]="Undefined",e[e.Boolean=3]="Boolean",e[e.Int=4]="Int",e[e.Float=5]="Float",e[e.NotANumber=6]="NotANumber",e[e.String=7]="String",e[e.FilterListNode=8]="FilterListNode",e[e.EmptyRule=9]="EmptyRule",e[e.InvalidRule=10]="InvalidRule",e[e.CommentRuleNode=11]="CommentRuleNode",e[e.AgentNode=12]="AgentNode",e[e.AgentRuleNode=13]="AgentRuleNode",e[e.HintNode=14]="HintNode",e[e.HintRuleNode=15]="HintRuleNode",e[e.MetadataCommentRuleNode=16]="MetadataCommentRuleNode",e[e.ConfigCommentRuleNode=17]="ConfigCommentRuleNode",e[e.PreProcessorCommentRuleNode=18]="PreProcessorCommentRuleNode",e[e.ConfigNode=19]="ConfigNode",e[e.NetworkRuleNode=20]="NetworkRuleNode",e[e.HostRuleNode=21]="HostRuleNode",e[e.ElementHidingRule=22]="ElementHidingRule",e[e.CssInjectionRule=23]="CssInjectionRule",e[e.ScriptletInjectionRule=24]="ScriptletInjectionRule",e[e.JsInjectionRule=25]="JsInjectionRule",e[e.HtmlFilteringRule=26]="HtmlFilteringRule",e[e.ScriptletInjectionRuleBodyNode=27]="ScriptletInjectionRuleBodyNode",e[e.ElementHidingRuleBody=28]="ElementHidingRuleBody",e[e.CssInjectionRuleBody=29]="CssInjectionRuleBody",e[e.HtmlFilteringRuleBody=30]="HtmlFilteringRuleBody",e[e.JsInjectionRuleBody=31]="JsInjectionRuleBody",e[e.ValueNode=32]="ValueNode",e[e.RawNode=33]="RawNode",e[e.ModifierNode=34]="ModifierNode",e[e.ModifierListNode=35]="ModifierListNode",e[e.ParameterListNode=36]="ParameterListNode",e[e.DomainListNode=37]="DomainListNode",e[e.DomainNode=38]="DomainNode",e[e.MethodListNode=39]="MethodListNode",e[e.MethodNode=40]="MethodNode",e[e.StealthOptionListNode=41]="StealthOptionListNode",e[e.StealthOptionNode=42]="StealthOptionNode",e[e.AppListNode=43]="AppListNode",e[e.AppNode=44]="AppNode",e[e.HostnameListNode=45]="HostnameListNode",e[e.InvalidRuleErrorNode=46]="InvalidRuleErrorNode",e[e.ExpressionVariableNode=47]="ExpressionVariableNode",e[e.ExpressionOperatorNode=48]="ExpressionOperatorNode",e[e.ExpressionParenthesisNode=49]="ExpressionParenthesisNode"}(te||(te={}));const ne=new Map([[e.AdblockSyntax.Common,0],[e.AdblockSyntax.Abp,1],[e.AdblockSyntax.Adg,2],[e.AdblockSyntax.Ubo,3]]),se=new Map(Array.from(ne,(e=>{let[a,t]=e;return[t,a]})));var re;function ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}e.NetworkRuleType=void 0,(re=e.NetworkRuleType||(e.NetworkRuleType={})).NetworkRule="NetworkRule",re.HostRule="HostRule";const oe="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?function(){for(var e=arguments.length,a=new Array(e),t=0;t<e;t++)a[t]=arguments[t];return console.error("SEMVER",...a)}:()=>{};var de=oe,ue={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},le={exports:{}};!function(e,a){const{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:s}=ue,r=de,i=(a=e.exports={}).re=[],o=a.safeRe=[],d=a.src=[],u=a.t={};let l=0;const c="[a-zA-Z0-9-]",p=[["\\s",1],["\\d",s],[c,n]],m=(e,a,t)=>{const n=(e=>{for(const[a,t]of p)e=e.split(`${a}*`).join(`${a}{0,${t}}`).split(`${a}+`).join(`${a}{1,${t}}`);return e})(a),s=l++;r(e,s,a),u[e]=s,d[s]=a,i[s]=new RegExp(a,t?"g":void 0),o[s]=new RegExp(n,t?"g":void 0)};m("NUMERICIDENTIFIER","0|[1-9]\\d*"),m("NUMERICIDENTIFIERLOOSE","\\d+"),m("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${c}*`),m("MAINVERSION",`(${d[u.NUMERICIDENTIFIER]})\\.(${d[u.NUMERICIDENTIFIER]})\\.(${d[u.NUMERICIDENTIFIER]})`),m("MAINVERSIONLOOSE",`(${d[u.NUMERICIDENTIFIERLOOSE]})\\.(${d[u.NUMERICIDENTIFIERLOOSE]})\\.(${d[u.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASEIDENTIFIER",`(?:${d[u.NUMERICIDENTIFIER]}|${d[u.NONNUMERICIDENTIFIER]})`),m("PRERELEASEIDENTIFIERLOOSE",`(?:${d[u.NUMERICIDENTIFIERLOOSE]}|${d[u.NONNUMERICIDENTIFIER]})`),m("PRERELEASE",`(?:-(${d[u.PRERELEASEIDENTIFIER]}(?:\\.${d[u.PRERELEASEIDENTIFIER]})*))`),m("PRERELEASELOOSE",`(?:-?(${d[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${d[u.PRERELEASEIDENTIFIERLOOSE]})*))`),m("BUILDIDENTIFIER",`${c}+`),m("BUILD",`(?:\\+(${d[u.BUILDIDENTIFIER]}(?:\\.${d[u.BUILDIDENTIFIER]})*))`),m("FULLPLAIN",`v?${d[u.MAINVERSION]}${d[u.PRERELEASE]}?${d[u.BUILD]}?`),m("FULL",`^${d[u.FULLPLAIN]}$`),m("LOOSEPLAIN",`[v=\\s]*${d[u.MAINVERSIONLOOSE]}${d[u.PRERELEASELOOSE]}?${d[u.BUILD]}?`),m("LOOSE",`^${d[u.LOOSEPLAIN]}$`),m("GTLT","((?:<|>)?=?)"),m("XRANGEIDENTIFIERLOOSE",`${d[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),m("XRANGEIDENTIFIER",`${d[u.NUMERICIDENTIFIER]}|x|X|\\*`),m("XRANGEPLAIN",`[v=\\s]*(${d[u.XRANGEIDENTIFIER]})(?:\\.(${d[u.XRANGEIDENTIFIER]})(?:\\.(${d[u.XRANGEIDENTIFIER]})(?:${d[u.PRERELEASE]})?${d[u.BUILD]}?)?)?`),m("XRANGEPLAINLOOSE",`[v=\\s]*(${d[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${d[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${d[u.XRANGEIDENTIFIERLOOSE]})(?:${d[u.PRERELEASELOOSE]})?${d[u.BUILD]}?)?)?`),m("XRANGE",`^${d[u.GTLT]}\\s*${d[u.XRANGEPLAIN]}$`),m("XRANGELOOSE",`^${d[u.GTLT]}\\s*${d[u.XRANGEPLAINLOOSE]}$`),m("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),m("COERCE",`${d[u.COERCEPLAIN]}(?:$|[^\\d])`),m("COERCEFULL",d[u.COERCEPLAIN]+`(?:${d[u.PRERELEASE]})?`+`(?:${d[u.BUILD]})?(?:$|[^\\d])`),m("COERCERTL",d[u.COERCE],!0),m("COERCERTLFULL",d[u.COERCEFULL],!0),m("LONETILDE","(?:~>?)"),m("TILDETRIM",`(\\s*)${d[u.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",m("TILDE",`^${d[u.LONETILDE]}${d[u.XRANGEPLAIN]}$`),m("TILDELOOSE",`^${d[u.LONETILDE]}${d[u.XRANGEPLAINLOOSE]}$`),m("LONECARET","(?:\\^)"),m("CARETTRIM",`(\\s*)${d[u.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",m("CARET",`^${d[u.LONECARET]}${d[u.XRANGEPLAIN]}$`),m("CARETLOOSE",`^${d[u.LONECARET]}${d[u.XRANGEPLAINLOOSE]}$`),m("COMPARATORLOOSE",`^${d[u.GTLT]}\\s*(${d[u.LOOSEPLAIN]})$|^$`),m("COMPARATOR",`^${d[u.GTLT]}\\s*(${d[u.FULLPLAIN]})$|^$`),m("COMPARATORTRIM",`(\\s*)${d[u.GTLT]}\\s*(${d[u.LOOSEPLAIN]}|${d[u.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",m("HYPHENRANGE",`^\\s*(${d[u.XRANGEPLAIN]})\\s+-\\s+(${d[u.XRANGEPLAIN]})\\s*$`),m("HYPHENRANGELOOSE",`^\\s*(${d[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${d[u.XRANGEPLAINLOOSE]})\\s*$`),m("STAR","(<|>)?=?\\s*\\*"),m("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),m("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(le,le.exports);var ce=le.exports;const pe=Object.freeze({loose:!0}),me=Object.freeze({}),fe=/^[0-9]+$/,ge=(e,a)=>{const t=fe.test(e),n=fe.test(a);return t&&n&&(e=+e,a=+a),e===a?0:t&&!n?-1:n&&!t?1:e<a?-1:1};var he={compareIdentifiers:ge,rcompareIdentifiers:(e,a)=>ge(a,e)};const be=de,{MAX_LENGTH:ve,MAX_SAFE_INTEGER:ye}=ue,{safeRe:ke,t:we}=ce,{compareIdentifiers:xe}=he;var Ae=class e{constructor(a,t){if(t=(e=>e?"object"!=typeof e?pe:e:me)(t),a instanceof e){if(a.loose===!!t.loose&&a.includePrerelease===!!t.includePrerelease)return a;a=a.version}else if("string"!=typeof a)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof a}".`);if(a.length>ve)throw new TypeError(`version is longer than ${ve} characters`);be("SemVer",a,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=a.trim().match(t.loose?ke[we.LOOSE]:ke[we.FULL]);if(!n)throw new TypeError(`Invalid Version: ${a}`);if(this.raw=a,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>ye||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ye||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ye||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const a=+e;if(a>=0&&a<ye)return a}return e})):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(a){if(be("SemVer.compare",this.version,this.options,a),!(a instanceof e)){if("string"==typeof a&&a===this.version)return 0;a=new e(a,this.options)}return a.version===this.version?0:this.compareMain(a)||this.comparePre(a)}compareMain(a){return a instanceof e||(a=new e(a,this.options)),xe(this.major,a.major)||xe(this.minor,a.minor)||xe(this.patch,a.patch)}comparePre(a){if(a instanceof e||(a=new e(a,this.options)),this.prerelease.length&&!a.prerelease.length)return-1;if(!this.prerelease.length&&a.prerelease.length)return 1;if(!this.prerelease.length&&!a.prerelease.length)return 0;let t=0;do{const e=this.prerelease[t],n=a.prerelease[t];if(be("prerelease compare",t,e,n),void 0===e&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===e)return-1;if(e!==n)return xe(e,n)}while(++t)}compareBuild(a){a instanceof e||(a=new e(a,this.options));let t=0;do{const e=this.build[t],n=a.build[t];if(be("prerelease compare",t,e,n),void 0===e&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===e)return-1;if(e!==n)return xe(e,n)}while(++t)}inc(e,a,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",a,t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",a,t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",a,t),this.inc("pre",a,t);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",a,t),this.inc("pre",a,t);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(t)?1:0;if(!a&&!1===t)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[e];else{let n=this.prerelease.length;for(;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(a===this.prerelease.join(".")&&!1===t)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(a){let n=[a,e];!1===t&&(n=[a]),0===xe(this.prerelease[0],a)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};const Ee=Ae;var Ce=function(e,a){let t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e instanceof Ee)return e;try{return new Ee(e,a)}catch(e){if(!t)return null;throw e}};const De=Ce;var je=ie(((e,a)=>{const t=De(e,a);return t?t.version:null}));const Re=Ae,Se=Ce,{safeRe:_e,t:Me}=ce;var Te=ie(((e,a)=>{if(e instanceof Re)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let t=null;if((a=a||{}).rtl){const n=a.includePrerelease?_e[Me.COERCERTLFULL]:_e[Me.COERCERTL];let s;for(;(s=n.exec(e))&&(!t||t.index+t[0].length!==e.length);)t&&s.index+s[0].length===t.index+t[0].length||(t=s),n.lastIndex=s.index+s[1].length+s[2].length;n.lastIndex=-1}else t=e.match(a.includePrerelease?_e[Me.COERCEFULL]:_e[Me.COERCE]);if(null===t)return null;const n=t[2],s=t[3]||"0",r=t[4]||"0",i=a.includePrerelease&&t[5]?`-${t[5]}`:"",o=a.includePrerelease&&t[6]?`+${t[6]}`:"";return Se(`${n}.${s}.${r}${i}${o}`,a)}));class Fe extends SyntaxError{constructor(e,a,t){super(e),_defineProperty(this,"start",void 0),_defineProperty(this,"end",void 0),this.name="AdblockSyntaxError",this.start=a,this.end=t}}const $e="Not implemented";class Oe extends Error{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;super(e?`${$e}: ${e}`:$e),this.name="NotImplementedError"}}class Ie{static parse(e,a,t){throw new Oe}static generate(e){throw new Oe}static serialize(e,a){throw new Oe}static deserialize(e,a){throw new Oe}}const Ne=Object.freeze({tolerant:!1,isLocIncluded:!0,parseAbpSpecificRules:!0,parseUboSpecificRules:!0,includeRaws:!0,ignoreComments:!1,parseHostRules:!1}),Ue=e=>void 0===e,Be=e=>null===e;var ze,Pe;!function(e){e[e.Value=1]="Value",e[e.FrequentValue=2]="FrequentValue",e[e.Start=3]="Start",e[e.End=4]="End"}(ze||(ze={}));class Le extends Ie{static parse(e){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const t={type:"Value",value:e};return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne).isLocIncluded&&(t.start=a,t.end=a+e.length),t}static generate(e){return e.value}static serialize(e,a,t){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];a.writeUint8(te.ValueNode);const s=null==t?void 0:t.get(n?e.value.toLowerCase():e.value);Ue(s)?(a.writeUint8(ze.Value),a.writeString(e.value)):(a.writeUint8(ze.FrequentValue),a.writeUint8(s)),Ue(e.start)||(a.writeUint8(ze.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(ze.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(e,a,t){e.assertUint8(te.ValueNode),a.type="Value";let n=e.readUint8();for(;0!==n;){switch(n){case ze.Value:a.value=e.readString();break;case ze.FrequentValue:a.value=(null==t?void 0:t.get(e.readUint8()))??r;break;case ze.Start:a.start=e.readUint32();break;case ze.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${n}`)}n=e.readUint8()}}}!function(e){e[e.Adblock=1]="Adblock",e[e.Version=2]="Version",e[e.Start=3]="Start",e[e.End=4]="End"}(Pe||(Pe={}));const qe=new Set(["adguard","adg"]),He=new Set(["ublock","ublock origin","ubo"]),We=new Set(["adblock","adblock plus","adblockplus","abp"]),Ze=new Map([[0,"AdGuard"],[1,"ADG"],[2,"uBlock Origin"],[3,"uBlock"],[4,"uBO"],[5,"Adblock Plus"],[6,"AdblockPlus"],[7,"ABP"],[8,"AdBlock"]]),Ve=new Map(Array.from(Ze).map((e=>{let[a,t]=e;return[t.toLowerCase(),a]}))),Ge=a=>{let t=e.AdblockSyntax.Common;const n=a.toLowerCase();return qe.has(n)?t=e.AdblockSyntax.Adg:He.has(n)?t=e.AdblockSyntax.Ubo:We.has(n)&&(t=e.AdblockSyntax.Abp),t};class Ke extends Ie{static isValidVersion(e){return null!==je(Te(e))}static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=0;const r=s;let i,o,d=s,u=e.AdblockSyntax.Common;for(;s<a.length;){s=V.skipWS(a,s);const e=V.findNextWhitespaceCharacter(a,s),l=a.slice(s,e);if(Ke.isValidVersion(l)){if(!Ue(o))throw new Fe("Duplicated versions are not allowed",n+s,n+e);const c=a.slice(r,d);i=Le.parse(c,t,n+r),o=Le.parse(l,t,n+s),u=Ge(c)}else d=e;s=V.skipWS(a,e)}if(Ue(i)){const e=a.slice(r,d);i=Le.parse(e,t,n+r),u=Ge(e)}if(0===i.value.length)throw new Fe("Agent name cannot be empty",n,n+a.length);const l={type:"Agent",adblock:i,syntax:u};return o&&(l.version=o),t.isLocIncluded&&(l.start=n,l.end=n+a.length),l}static generate(e){let a=r;return a+=e.adblock.value,Ue(e.version)||(a+=i,a+=e.version.value),a}static serialize(e,a){a.writeUint8(te.AgentNode),a.writeUint8(Pe.Adblock),Le.serialize(e.adblock,a,Ve,!0),Ue(e.version)||(a.writeUint8(Pe.Version),Le.serialize(e.version,a)),Ue(e.start)||(a.writeUint8(Pe.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Pe.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(e,a){e.assertUint8(te.AgentNode),a.type="Agent";let t=e.readUint8();for(;0!==t;){switch(t){case Pe.Adblock:Le.deserialize(e,a.adblock={},Ze),a.adblock&&(a.syntax=Ge(a.adblock.value));break;case Pe.Version:Le.deserialize(e,a.version={});break;case Pe.Start:a.start=e.readUint32();break;case Pe.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}`)}t=e.readUint8()}}}class Qe{static isException(e){return"@"===e[1]}static isExtendedCssMarker(a){return a===e.CosmeticRuleSeparator.ExtendedElementHiding||a===e.CosmeticRuleSeparator.ExtendedElementHidingException||a===e.CosmeticRuleSeparator.AdgExtendedCssInjection||a===e.CosmeticRuleSeparator.AdgExtendedCssInjectionException}static find(a){function t(e,a){return{separator:a,start:e,end:e+a.length}}for(let n=0;n<a.length;n+=1){if("#"===a[n]){if("#"===a[n+1]&&a[n-1]!==i)return t(n,e.CosmeticRuleSeparator.ElementHiding);if("?"===a[n+1]&&"#"===a[n+2])return t(n,e.CosmeticRuleSeparator.ExtendedElementHiding);if("%"===a[n+1]&&"#"===a[n+2])return t(n,e.CosmeticRuleSeparator.AdgJsInjection);if("$"===a[n+1]){if("#"===a[n+2])return t(n,e.CosmeticRuleSeparator.AdgCssInjection);if("?"===a[n+2]&&"#"===a[n+3])return t(n,e.CosmeticRuleSeparator.AdgExtendedCssInjection)}if("@"===a[n+1]){if("#"===a[n+2]&&a[n-1]!==i)return t(n,e.CosmeticRuleSeparator.ElementHidingException);if("?"===a[n+2]&&"#"===a[n+3])return t(n,e.CosmeticRuleSeparator.ExtendedElementHidingException);if("%"===a[n+2]&&"#"===a[n+3])return t(n,e.CosmeticRuleSeparator.AdgJsInjectionException);if("$"===a[n+2]){if("#"===a[n+3])return t(n,e.CosmeticRuleSeparator.AdgCssInjectionException);if("?"===a[n+3]&&"#"===a[n+4])return t(n,e.CosmeticRuleSeparator.AdgExtendedCssInjectionException)}}}if("$"===a[n]){if("$"===a[n+1])return t(n,e.CosmeticRuleSeparator.AdgHtmlFiltering);if("@"===a[n+1]&&"$"===a[n+2])return t(n,e.CosmeticRuleSeparator.AdgHtmlFilteringException)}}return null}}var Xe;!function(e){e[e.Children=1]="Children",e[e.Start=2]="Start",e[e.End=3]="End"}(Xe||(Xe={}));class Je extends Ie{static isAgentRule(e){const a=e.trim();return!(!a.startsWith(D)||!a.endsWith(j))&&Be(Qe.find(a))}static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!Je.isAgentRule(a))return null;let s=0;s=V.skipWS(a,s),s+=1;const r=V.skipWSBack(a,a.length-1);if(-1===r||a[r]!==j)throw new Fe("Missing closing bracket",s,s+a.length);const i={type:e.CommentRuleType.AgentCommentRule,syntax:e.AdblockSyntax.Common,category:e.RuleCategory.Comment,children:[]};for(t.includeRaws&&(i.raws={text:a}),t.isLocIncluded&&(i.start=n,i.end=n+a.length);s<r;){s=V.skipWS(a,s);let e=a.indexOf(l,s);-1===e&&(e=r);const o=V.findLastNonWhitespaceCharacter(a.slice(s,e))+s+1;i.children.push(Ke.parse(a.slice(s,o),t,n+s)),s=e+1}if(0===i.children.length)throw new Fe("Empty agent list",n,n+a.length);return i}static generate(e){let a=D;return a+=e.children.map(Ke.generate).join(l+i),a+=j,a}static serialize(e,a){a.writeUint8(te.AgentRuleNode);const t=e.children.length;if(t){if(a.writeUint8(Xe.Children),t>255)throw new Error(`Too many children: ${t}, the limit is 255`);a.writeUint8(t);for(let n=0;n<t;n+=1)Ke.serialize(e.children[n],a)}Ue(e.start)||(a.writeUint8(Xe.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Xe.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(a,t){a.assertUint8(te.AgentRuleNode),t.type=e.CommentRuleType.AgentCommentRule,t.syntax=e.AdblockSyntax.Common,t.category=e.RuleCategory.Comment;let n=a.readUint8();for(;0!==n;){switch(n){case Xe.Children:t.children=new Array(a.readUint8());for(let e=0;e<t.children.length;e+=1)Ke.deserialize(a,t.children[e]={});break;case Xe.Start:t.start=a.readUint32();break;case Xe.End:t.end=a.readUint32();break;default:throw new Error(`Invalid property: ${n}`)}n=a.readUint8()}}}var Ye={Space_Separator:/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ID_Start:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\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\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\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\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},ea=e=>"string"==typeof e&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||"$"===e||"_"===e||Ye.ID_Start.test(e)),aa=e=>"string"==typeof e&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||"$"===e||"_"===e||"‌"===e||"‍"===e||Ye.ID_Continue.test(e)),ta=e=>"string"==typeof e&&/[0-9]/.test(e),na=e=>"string"==typeof e&&/[0-9A-Fa-f]/.test(e);let sa,ra,ia,oa,da,ua,la,ca,pa,ma,fa,ga,ha,ba;function va(e,a,t){const n=e[a];if(null!=n&&"object"==typeof n)if(Array.isArray(n))for(let e=0;e<n.length;e++){const a=String(e),s=va(n,a,t);void 0===s?delete n[a]:Object.defineProperty(n,a,{value:s,writable:!0,enumerable:!0,configurable:!0})}else for(const e in n){const a=va(n,e,t);void 0===a?delete n[e]:Object.defineProperty(n,e,{value:a,writable:!0,enumerable:!0,configurable:!0})}return t.call(e,a,n)}function ya(){for(ma="default",fa="",ga=!1,ha=1;;){ba=ka();const e=xa[ma]();if(e)return e}}function ka(){if(sa[oa])return String.fromCodePoint(sa.codePointAt(oa))}function wa(){const e=ka();return"\n"===e?(da++,ua=0):e?ua+=e.length:ua++,e&&(oa+=e.length),e}const xa={default(){switch(ba){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":return void wa();case"/":return wa(),void(ma="comment");case void 0:return wa(),Aa("eof")}if(!(e=>"string"==typeof e&&Ye.Space_Separator.test(e))(ba))return xa[ra]();wa()},comment(){switch(ba){case"*":return wa(),void(ma="multiLineComment");case"/":return wa(),void(ma="singleLineComment")}throw Sa(wa())},multiLineComment(){switch(ba){case"*":return wa(),void(ma="multiLineCommentAsterisk");case void 0:throw Sa(wa())}wa()},multiLineCommentAsterisk(){switch(ba){case"*":return void wa();case"/":return wa(),void(ma="default");case void 0:throw Sa(wa())}wa(),ma="multiLineComment"},singleLineComment(){switch(ba){case"\n":case"\r":case"\u2028":case"\u2029":return wa(),void(ma="default");case void 0:return wa(),Aa("eof")}wa()},value(){switch(ba){case"{":case"[":return Aa("punctuator",wa());case"n":return wa(),Ea("ull"),Aa("null",null);case"t":return wa(),Ea("rue"),Aa("boolean",!0);case"f":return wa(),Ea("alse"),Aa("boolean",!1);case"-":case"+":return"-"===wa()&&(ha=-1),void(ma="sign");case".":return fa=wa(),void(ma="decimalPointLeading");case"0":return fa=wa(),void(ma="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return fa=wa(),void(ma="decimalInteger");case"I":return wa(),Ea("nfinity"),Aa("numeric",1/0);case"N":return wa(),Ea("aN"),Aa("numeric",NaN);case'"':case"'":return ga='"'===wa(),fa="",void(ma="string")}throw Sa(wa())},identifierNameStartEscape(){if("u"!==ba)throw Sa(wa());wa();const e=Ca();switch(e){case"$":case"_":break;default:if(!ea(e))throw Ma()}fa+=e,ma="identifierName"},identifierName(){switch(ba){case"$":case"_":case"‌":case"‍":return void(fa+=wa());case"\\":return wa(),void(ma="identifierNameEscape")}if(!aa(ba))return Aa("identifier",fa);fa+=wa()},identifierNameEscape(){if("u"!==ba)throw Sa(wa());wa();const e=Ca();switch(e){case"$":case"_":case"‌":case"‍":break;default:if(!aa(e))throw Ma()}fa+=e,ma="identifierName"},sign(){switch(ba){case".":return fa=wa(),void(ma="decimalPointLeading");case"0":return fa=wa(),void(ma="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return fa=wa(),void(ma="decimalInteger");case"I":return wa(),Ea("nfinity"),Aa("numeric",ha*(1/0));case"N":return wa(),Ea("aN"),Aa("numeric",NaN)}throw Sa(wa())},zero(){switch(ba){case".":return fa+=wa(),void(ma="decimalPoint");case"e":case"E":return fa+=wa(),void(ma="decimalExponent");case"x":case"X":return fa+=wa(),void(ma="hexadecimal")}return Aa("numeric",0*ha)},decimalInteger(){switch(ba){case".":return fa+=wa(),void(ma="decimalPoint");case"e":case"E":return fa+=wa(),void(ma="decimalExponent")}if(!ta(ba))return Aa("numeric",ha*Number(fa));fa+=wa()},decimalPointLeading(){if(ta(ba))return fa+=wa(),void(ma="decimalFraction");throw Sa(wa())},decimalPoint(){switch(ba){case"e":case"E":return fa+=wa(),void(ma="decimalExponent")}return ta(ba)?(fa+=wa(),void(ma="decimalFraction")):Aa("numeric",ha*Number(fa))},decimalFraction(){switch(ba){case"e":case"E":return fa+=wa(),void(ma="decimalExponent")}if(!ta(ba))return Aa("numeric",ha*Number(fa));fa+=wa()},decimalExponent(){switch(ba){case"+":case"-":return fa+=wa(),void(ma="decimalExponentSign")}if(ta(ba))return fa+=wa(),void(ma="decimalExponentInteger");throw Sa(wa())},decimalExponentSign(){if(ta(ba))return fa+=wa(),void(ma="decimalExponentInteger");throw Sa(wa())},decimalExponentInteger(){if(!ta(ba))return Aa("numeric",ha*Number(fa));fa+=wa()},hexadecimal(){if(na(ba))return fa+=wa(),void(ma="hexadecimalInteger");throw Sa(wa())},hexadecimalInteger(){if(!na(ba))return Aa("numeric",ha*Number(fa));fa+=wa()},string(){switch(ba){case"\\":return wa(),void(fa+=function(){switch(ka()){case"b":return wa(),"\b";case"f":return wa(),"\f";case"n":return wa(),"\n";case"r":return wa(),"\r";case"t":return wa(),"\t";case"v":return wa(),"\v";case"0":if(wa(),ta(ka()))throw Sa(wa());return"\0";case"x":return wa(),function(){let e="",a=ka();if(!na(a))throw Sa(wa());if(e+=wa(),a=ka(),!na(a))throw Sa(wa());return e+=wa(),String.fromCodePoint(parseInt(e,16))}();case"u":return wa(),Ca();case"\n":case"\u2028":case"\u2029":return wa(),"";case"\r":return wa(),"\n"===ka()&&wa(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case void 0:throw Sa(wa())}return wa()}());case'"':return ga?(wa(),Aa("string",fa)):void(fa+=wa());case"'":return ga?void(fa+=wa()):(wa(),Aa("string",fa));case"\n":case"\r":throw Sa(wa());case"\u2028":case"\u2029":!function(e){console.warn(`JSON5: '${Ta(e)}' in strings is not valid ECMAScript; consider escaping`)}(ba);break;case void 0:throw Sa(wa())}fa+=wa()},start(){switch(ba){case"{":case"[":return Aa("punctuator",wa())}ma="value"},beforePropertyName(){switch(ba){case"$":case"_":return fa=wa(),void(ma="identifierName");case"\\":return wa(),void(ma="identifierNameStartEscape");case"}":return Aa("punctuator",wa());case'"':case"'":return ga='"'===wa(),void(ma="string")}if(ea(ba))return fa+=wa(),void(ma="identifierName");throw Sa(wa())},afterPropertyName(){if(":"===ba)return Aa("punctuator",wa());throw Sa(wa())},beforePropertyValue(){ma="value"},afterPropertyValue(){switch(ba){case",":case"}":return Aa("punctuator",wa())}throw Sa(wa())},beforeArrayValue(){if("]"===ba)return Aa("punctuator",wa());ma="value"},afterArrayValue(){switch(ba){case",":case"]":return Aa("punctuator",wa())}throw Sa(wa())},end(){throw Sa(wa())}};function Aa(e,a){return{type:e,value:a,line:da,column:ua}}function Ea(e){for(const a of e){if(ka()!==a)throw Sa(wa());wa()}}function Ca(){let e="",a=4;for(;a-- >0;){const a=ka();if(!na(a))throw Sa(wa());e+=wa()}return String.fromCodePoint(parseInt(e,16))}const Da={start(){if("eof"===la.type)throw _a();ja()},beforePropertyName(){switch(la.type){case"identifier":case"string":return ca=la.value,void(ra="afterPropertyName");case"punctuator":return void Ra();case"eof":throw _a()}},afterPropertyName(){if("eof"===la.type)throw _a();ra="beforePropertyValue"},beforePropertyValue(){if("eof"===la.type)throw _a();ja()},beforeArrayValue(){if("eof"===la.type)throw _a();"punctuator"!==la.type||"]"!==la.value?ja():Ra()},afterPropertyValue(){if("eof"===la.type)throw _a();switch(la.value){case",":return void(ra="beforePropertyName");case"}":Ra()}},afterArrayValue(){if("eof"===la.type)throw _a();switch(la.value){case",":return void(ra="beforeArrayValue");case"]":Ra()}},end(){}};function ja(){let e;switch(la.type){case"punctuator":switch(la.value){case"{":e={};break;case"[":e=[]}break;case"null":case"boolean":case"numeric":case"string":e=la.value}if(void 0===pa)pa=e;else{const a=ia[ia.length-1];Array.isArray(a)?a.push(e):Object.defineProperty(a,ca,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(null!==e&&"object"==typeof e)ia.push(e),ra=Array.isArray(e)?"beforeArrayValue":"beforePropertyName";else{const e=ia[ia.length-1];ra=null==e?"end":Array.isArray(e)?"afterArrayValue":"afterPropertyValue"}}function Ra(){ia.pop();const e=ia[ia.length-1];ra=null==e?"end":Array.isArray(e)?"afterArrayValue":"afterPropertyValue"}function Sa(e){return Fa(void 0===e?`JSON5: invalid end of input at ${da}:${ua}`:`JSON5: invalid character '${Ta(e)}' at ${da}:${ua}`)}function _a(){return Fa(`JSON5: invalid end of input at ${da}:${ua}`)}function Ma(){return ua-=5,Fa(`JSON5: invalid identifier character at ${da}:${ua}`)}function Ta(e){const a={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(a[e])return a[e];if(e<" "){const a=e.charCodeAt(0).toString(16);return"\\x"+("00"+a).substring(a.length)}return e}function Fa(e){const a=new SyntaxError(e);return a.lineNumber=da,a.columnNumber=ua,a}const $a={parse:function(e,a){sa=String(e),ra="start",ia=[],oa=0,da=1,ua=0,la=void 0,ca=void 0,pa=void 0;do{la=ya(),Da[ra]()}while("eof"!==la.type);return"function"==typeof a?va({"":pa},"",a):pa},stringify:function(e,a,t){const n=[];let s,r,i,o="",d="";if(null==a||"object"!=typeof a||Array.isArray(a)||(t=a.space,i=a.quote,a=a.replacer),"function"==typeof a)r=a;else if(Array.isArray(a)){s=[];for(const e of a){let a;"string"==typeof e?a=e:("number"==typeof e||e instanceof String||e instanceof Number)&&(a=String(e)),void 0!==a&&s.indexOf(a)<0&&s.push(a)}}return t instanceof Number?t=Number(t):t instanceof String&&(t=String(t)),"number"==typeof t?t>0&&(t=Math.min(10,Math.floor(t)),d=" ".substr(0,t)):"string"==typeof t&&(d=t.substr(0,10)),function e(a,t){let i=t[a];switch(null!=i&&("function"==typeof i.toJSON5?i=i.toJSON5(a):"function"==typeof i.toJSON&&(i=i.toJSON(a))),r&&(i=r.call(t,a,i)),i instanceof Number?i=Number(i):i instanceof String?i=String(i):i instanceof Boolean&&(i=i.valueOf()),i){case null:return"null";case!0:return"true";case!1:return"false"}return"string"==typeof i?u(i):"number"==typeof i?String(i):"object"==typeof i?Array.isArray(i)?function(a){if(n.indexOf(a)>=0)throw TypeError("Converting circular structure to JSON5");n.push(a);let t=o;o+=d;let s,r=[];for(let t=0;t<a.length;t++){const n=e(String(t),a);r.push(void 0!==n?n:"null")}if(0===r.length)s="[]";else if(""===d)s="["+r.join(",")+"]";else{let e=",\n"+o,a=r.join(e);s="[\n"+o+a+",\n"+t+"]"}return n.pop(),o=t,s}(i):function(a){if(n.indexOf(a)>=0)throw TypeError("Converting circular structure to JSON5");n.push(a);let t=o;o+=d;let r,i=s||Object.keys(a),u=[];for(const t of i){const n=e(t,a);if(void 0!==n){let e=l(t)+":";""!==d&&(e+=" "),e+=n,u.push(e)}}if(0===u.length)r="{}";else{let e;if(""===d)e=u.join(","),r="{"+e+"}";else{let a=",\n"+o;e=u.join(a),r="{\n"+o+e+",\n"+t+"}"}}return n.pop(),o=t,r}(i):void 0}("",{"":e});function u(e){const a={"'":.1,'"':.2},t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let n="";for(let s=0;s<e.length;s++){const r=e[s];switch(r){case"'":case'"':a[r]++,n+=r;continue;case"\0":if(ta(e[s+1])){n+="\\x00";continue}}if(t[r])n+=t[r];else if(r<" "){let e=r.charCodeAt(0).toString(16);n+="\\x"+("00"+e).substring(e.length)}else n+=r}const s=i||Object.keys(a).reduce(((e,t)=>a[e]<a[t]?e:t));return n=n.replace(new RegExp(s,"g"),t[s]),s+n+s}function l(e){if(0===e.length)return u(e);const a=String.fromCodePoint(e.codePointAt(0));if(!ea(a))return u(e);for(let t=a.length;t<e.length;t++)if(!aa(String.fromCodePoint(e.codePointAt(t))))return u(e);return e}}};var Oa,Ia,Na,Ua=$a;!function(e){e[e.Children=1]="Children",e[e.Start=2]="Start",e[e.End=3]="End"}(Oa||(Oa={}));class Ba extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:d;const s={type:"ParameterList",children:[]},{length:r}=e;a.isLocIncluded&&(s.start=t,s.end=t+r);let i=0;for(;i<r;)if(i=V.skipWS(e,i),e[i]===n||i===r)s.children.push(null),i+=1;else{const o=i,d=V.findUnescapedNonStringNonRegexChar(e,n,i),u=-1!==d?V.skipWSBack(e,d-1):V.skipWSBack(e),l=Le.parse(e.slice(o,u+1),a,t+o);s.children.push(l),i=-1!==d?d+1:r}return s}static generate(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;const t=[];let n=0;for(;n<e.children.length;n+=1){const a=e.children[n];null===a?t.push(r):t.push(Le.generate(a))}const s=t.join(a===i?a:`${a}${i}`);return e.children.length>0&&null===e.children[e.children.length-1]?`${s}${a}`:s}static serialize(e,a,t){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];a.writeUint8(te.ParameterListNode);const s=e.children.length;a.writeUint8(Oa.Children),a.writeUint32(s);for(let r=0;r<s;r+=1){const s=e.children[r];Be(s)?a.writeUint8(te.Null):Le.serialize(s,a,t,n)}Ue(e.start)||(a.writeUint8(Oa.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Oa.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(e,a,t){e.assertUint8(te.ParameterListNode),a.type="ParameterList";let n=e.readUint8();for(;0!==n;){switch(n){case Oa.Children:a.children=new Array(e.readUint32());for(let n=0;n<a.children.length;n+=1)switch(e.peekUint8()){case te.Null:e.readUint8(),a.children[n]=null;break;case te.ValueNode:Le.deserialize(e,a.children[n]={},t);break;default:throw new Error(`Invalid child type: ${e.peekUint8()}`)}break;case Oa.Start:a.start=e.readUint32();break;case Oa.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${n}`)}n=e.readUint8()}}}!function(e){e[e.Marker=1]="Marker",e[e.Command=2]="Command",e[e.Params=3]="Params",e[e.Comment=4]="Comment",e[e.Start=5]="Start",e[e.End=6]="End"}(Ia||(Ia={})),function(e){e[e.Value=1]="Value",e[e.Start=2]="Start",e[e.End=3]="End"}(Na||(Na={}));const za=new Map([["aglint",0],["aglint-disable",1],["aglint-enable",2],["aglint-disable-next-line",3],["aglint-enable-next-line",4]]),Pa=new Map(Array.from(za).map((e=>{let[a,t]=e;return[t,a]})));class La extends Ie{static isConfigComment(a){const t=a.trim();if(t[0]===e.CommentMarker.Regular||t[0]===e.CommentMarker.Hashmark){const e=a.slice(1).trim();return!("a"!==e[0]&&"A"!==e[0]||"g"!==e[1]&&"G"!==e[1]||"l"!==e[2]&&"L"!==e[2]||"i"!==e[3]&&"I"!==e[3]||"n"!==e[4]&&"N"!==e[4]||"t"!==e[5]&&"T"!==e[5])}return!1}static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!La.isConfigComment(a))return null;let s=0;s=V.skipWS(a,s);const r=Le.parse(a[s],t,n+s);s+=1,s=V.skipWS(a,s);const i=s;s=V.findNextWhitespaceCharacter(a,s);const o=Le.parse(a.slice(i,s),t,n+i);s=V.skipWS(a,s);const u=a.indexOf("--",s),l=-1!==u?V.skipWSBack(a)+1:-1;let c;-1!==u&&(c=Le.parse(a.slice(u,l),t,n+u));const p=s,m=-1!==u?V.skipWSBack(a,u-1)+1:V.skipWSBack(a)+1;let f;if(o.value===P){if(f={type:"ConfigNode",value:Ua.parse(`{${a.slice(p,m)}}`)},t.isLocIncluded&&(f.start=p,f.end=m),0===Object.keys(f.value).length)throw new Error("Empty AGLint config")}else p<m&&(f=Ba.parse(a.slice(p,m),t,n+p,d));const g={type:e.CommentRuleType.ConfigCommentRule,category:e.RuleCategory.Comment,syntax:e.AdblockSyntax.Common,marker:r,command:o,params:f,comment:c};return t.includeRaws&&(g.raws={text:a}),t.isLocIncluded&&(g.start=n,g.end=n+a.length),g}static generate(e){let a=r;return a+=e.marker.value,a+=i,a+=e.command.value,e.params&&(a+=i,"ParameterList"===e.params.type?a+=Ba.generate(e.params,d):a+=JSON.stringify(e.params.value).slice(1,-1).trim()),e.comment&&(a+=i,a+=e.comment.value),a}static serializeConfigNode(e,a){a.writeUint8(te.ConfigNode),a.writeUint8(Na.Value),a.writeString(JSON.stringify(e.value)),Ue(e.start)||(a.writeUint8(Na.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Na.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserializeConfigNode(e,a){e.assertUint8(te.ConfigNode),a.type="ConfigNode";let t=e.readUint8();for(;0!==t;){switch(t){case Na.Value:a.value=JSON.parse(e.readString());break;case Na.Start:a.start=e.readUint32();break;case Na.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}.`)}t=e.readUint8()}}static serialize(e,a){a.writeUint8(te.ConfigCommentRuleNode),a.writeUint8(Ia.Marker),Le.serialize(e.marker,a),a.writeUint8(Ia.Command),Le.serialize(e.command,a,za,!0),Ue(e.params)||(a.writeUint8(Ia.Params),"ParameterList"===e.params.type?Ba.serialize(e.params,a):La.serializeConfigNode(e.params,a)),Ue(e.comment)||(a.writeUint8(Ia.Comment),Le.serialize(e.comment,a)),Ue(e.start)||(a.writeUint8(Ia.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Ia.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(a,t){a.assertUint8(te.ConfigCommentRuleNode),t.type=e.CommentRuleType.ConfigCommentRule,t.category=e.RuleCategory.Comment,t.syntax=e.AdblockSyntax.Common;let n=a.readUint8();for(;0!==n;){switch(n){case Ia.Marker:Le.deserialize(a,t.marker={});break;case Ia.Command:Le.deserialize(a,t.command={},Pa);break;case Ia.Params:a.peekUint8()===te.ConfigNode?La.deserializeConfigNode(a,t.params={}):Ba.deserialize(a,t.params={});break;case Ia.Comment:Le.deserialize(a,t.comment={});break;case Ia.Start:t.start=a.readUint32();break;case Ia.End:t.end=a.readUint32();break;default:throw new Error(`Invalid property: ${n}`)}n=a.readUint8()}}}var qa;!function(e){e[e.Name=1]="Name",e[e.Params=2]="Params",e[e.Start=3]="Start",e[e.End=4]="End"}(qa||(qa={}));const Ha=new Map([["NOT_OPTIMIZED",0],["PLATFORM",1],["NOT_PLATFORM",2]]),Wa=new Map(Array.from(Ha).map((e=>{let[a,t]=e;return[t,a]}))),Za=new Map([["windows",0],["mac",1],["android",2],["ios",3],["ext_chromium",4],["ext_ff",5],["ext_edge",6],["ext_opera",7],["ext_safari",8],["ext_android_cb",9],["ext_ublock",10]]),Va=new Map(Array.from(Za).map((e=>{let[a,t]=e;return[t,a]})));class Ga extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;n=V.skipWS(e);const s=n;for(;n<e.length;n+=1){const a=e[n];if(a===E||a===i)break;if(!V.isAlphaNumeric(a)&&a!==g)throw new Fe(`Invalid character "${a}" in hint name: "${a}"`,t+s,t+n)}const o=n,u=e.slice(s,o);if(u===r)throw new Fe("Empty hint name",t,t+o);if(n=V.skipWS(e,n),n>o&&e[n]===E)throw new Fe("Unexpected whitespace(s) between hint name and opening parenthesis",t+o,t+n);const l=Le.parse(u,a,t+s);if(e[n]!==E){const e={type:"Hint",name:l};return a.isLocIncluded&&(e.start=t,e.end=t+n),e}n+=1;const c=e.lastIndexOf(C);if(-1===c)throw new Fe(`Missing closing parenthesis for hint "${u}"`,t+s,t+e.length);const p=n,m=c,f=Ba.parse(e.slice(p,m),a,t+p,d);if(n=c+1,n=V.skipWS(e,n),n!==e.length)throw new Fe(`Unexpected input after closing parenthesis for hint "${u}": "${e.slice(c+1,n+1)}"`,t+c+1,t+n+1);const h={type:"Hint",name:l,params:f};return a.isLocIncluded&&(h.start=t,h.end=t+n),h}static generate(e){let a=r;return a+=e.name.value,e.params&&e.params.children.length>0&&(a+=E,a+=Ba.generate(e.params,d),a+=C),a}static serialize(e,a){a.writeUint8(te.HintNode),a.writeUint8(qa.Name),Le.serialize(e.name,a,Ha),Ue(e.params)||(a.writeUint8(qa.Params),Ba.serialize(e.params,a,Za)),Ue(e.start)||(a.writeUint8(qa.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(qa.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(e,a){e.assertUint8(te.HintNode),a.type="Hint";let t=e.readUint8();for(;0!==t;){switch(t){case qa.Name:Le.deserialize(e,a.name={},Wa);break;case qa.Params:Ba.deserialize(e,a.params={},Va);break;case qa.Start:a.start=e.readUint32();break;case qa.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}`)}t=e.readUint8()}}}var Ka,Qa;!function(e){e[e.Syntax=1]="Syntax",e[e.Children=2]="Children",e[e.Start=3]="Start",e[e.End=4]="End"}(Ka||(Ka={}));class Xa extends Ie{static isHintRule(e){return e.trim().startsWith(B)}static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!Xa.isHintRule(a))return null;let s=0;s=V.skipWS(a),s+=2;const r=[];for(;s<a.length;){s=V.skipWS(a,s);const e=s;let i=s,o=0;for(;i<a.length;){if(a[i]===E&&a[i-1]!==h){if(o+=1,o>1)throw new Fe("Invalid hint: nested parentheses are not allowed",n+e,n+i)}else if(a[i]===C&&a[i-1]!==h)o-=1;else if(V.isWhitespace(a[i])&&0===o)break;i+=1}s=i,s=V.skipWS(a,s);const d=Ga.parse(a.slice(e,i),t,n+e);r.push(d)}if(0===r.length)throw new Fe("Empty hint rule",n,n+s);const i={type:e.CommentRuleType.HintCommentRule,category:e.RuleCategory.Comment,syntax:e.AdblockSyntax.Adg,children:r};return t.includeRaws&&(i.raws={text:a}),t.isLocIncluded&&(i.start=n,i.end=n+s),i}static generate(e){let a=B+i;return a+=e.children.map(Ga.generate).join(i),a}static serialize(a,t){t.writeUint8(te.HintRuleNode),a.syntax===e.AdblockSyntax.Adg&&(t.writeUint8(Ka.Syntax),t.writeUint8(ne.get(e.AdblockSyntax.Adg)??0));const n=a.children.length;if(n){t.writeUint8(Ka.Children),t.writeUint8(n);for(let e=0;e<n;e+=1)Ga.serialize(a.children[e],t)}Ue(a.start)||(t.writeUint8(Ka.Start),t.writeUint32(a.start)),Ue(a.end)||(t.writeUint8(Ka.End),t.writeUint32(a.end)),t.writeUint8(0)}static deserialize(a,t){a.assertUint8(te.HintRuleNode),t.category=e.RuleCategory.Comment,t.type=e.CommentRuleType.HintCommentRule;let n=a.readUint8();for(;0!==n;){switch(n){case Ka.Syntax:t.syntax=se.get(a.readUint8())??e.AdblockSyntax.Common;break;case Ka.Children:t.children=new Array(a.readUint8());for(let e=0;e<t.children.length;e+=1)Ga.deserialize(a,t.children[e]={});break;case Ka.Start:t.start=a.readUint32();break;case Ka.End:t.end=a.readUint32();break;default:throw new Error(`Invalid property: ${n}`)}n=a.readUint8()}}}!function(e){e[e.Marker=1]="Marker",e[e.Header=2]="Header",e[e.Value=3]="Value",e[e.Start=4]="Start",e[e.End=5]="End"}(Qa||(Qa={}));const Ja=new Map([[1,"Checksum"],[2,"Description"],[3,"Expires"],[4,"Homepage"],[5,"Last Modified"],[6,"LastModified"],[7,"Licence"],[8,"License"],[9,"Time Updated"],[10,"TimeUpdated"],[11,"Version"],[12,"Title"]]),Ya=new Map(Array.from(Ja.entries()).map((e=>{let[a,t]=e;return[t.toLowerCase(),a]}))),et=Array.from(Ya.keys());class at extends Ie{static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(-1===a.indexOf(o))return null;let s=0;if(s=V.skipWS(a,s),a[s]!==e.CommentMarker.Regular&&a[s]!==e.CommentMarker.Hashmark)return null;const r=Le.parse(a[s],t,n+s);s+=1,s=V.skipWS(a,s);const i=s,d=a.slice(s);for(let u=0;u<et.length;u+=1)if(d.toLocaleLowerCase().startsWith(et[u].toLocaleLowerCase())){s+=et[u].length;const d=Le.parse(a.slice(i,s),t,n+i);if(s=V.skipWS(a,s),a[s]!==o)return null;s+=1,s=V.skipWS(a,s);const l=s;if(s>=a.length)return null;const c=V.skipWSBack(a,a.length-1)+1,p=Le.parse(a.slice(l,c),t,n+l),m={type:e.CommentRuleType.MetadataCommentRule,category:e.RuleCategory.Comment,syntax:e.AdblockSyntax.Common,marker:r,header:d,value:p};return t.includeRaws&&(m.raws={text:a}),t.isLocIncluded&&(m.start=n,m.end=n+a.length),m}return null}static generate(e){let a=r;return a+=Le.generate(e.marker),a+=i,a+=Le.generate(e.header),a+=o,a+=i,a+=Le.generate(e.value),a}static serialize(e,a){a.writeUint8(te.MetadataCommentRuleNode),a.writeUint8(Qa.Marker),Le.serialize(e.marker,a),a.writeUint8(Qa.Header),Le.serialize(e.header,a,Ya,!0),a.writeUint8(Qa.Value),Le.serialize(e.value,a),Ue(e.start)||(a.writeUint8(Qa.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Qa.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(a,t){a.assertUint8(te.MetadataCommentRuleNode),t.type=e.CommentRuleType.MetadataCommentRule,t.category=e.RuleCategory.Comment,t.syntax=e.AdblockSyntax.Common;let n=a.readUint8();for(;0!==n;){switch(n){case Qa.Marker:Le.deserialize(a,t.marker={});break;case Qa.Header:Le.deserialize(a,t.header={},Ja);break;case Qa.Value:Le.deserialize(a,t.value={});break;case Qa.Start:t.start=a.readUint32();break;case Qa.End:t.end=a.readUint32();break;default:throw new Error(`Invalid property: ${n}`)}n=a.readUint8()}}}var tt,nt,st,rt,it;!function(e){e[e.Name=1]="Name",e[e.FrequentName=2]="FrequentName",e[e.Start=3]="Start",e[e.End=4]="End"}(tt||(tt={})),function(e){e[e.Operator=1]="Operator",e[e.Left=2]="Left",e[e.Right=3]="Right",e[e.Start=4]="Start",e[e.End=5]="End"}(nt||(nt={})),function(e){e[e.Expression=1]="Expression",e[e.Start=2]="Start",e[e.End=3]="End"}(st||(st={})),function(e){e[e.Variable=0]="Variable",e[e.Operator=1]="Operator",e[e.Parenthesis=2]="Parenthesis"}(rt||(rt={})),function(e){e.Variable="Variable",e.Operator="Operator",e.Parenthesis="Parenthesis"}(it||(it={}));const ot={[G.Not]:3,[G.And]:2,[G.Or]:1},dt=new Map([[G.Not,0],[G.And,1],[G.Or,2]]),ut=new Map(Array.from(dt).map((e=>{let[a,t]=e;return[t,a]}))),lt=e=>{const a=ut.get(e);if(Ue(a))throw new Error(`Unknown operator: ${e}`);return a},ct=new Map([["ext_abp",0],["ext_ublock",1],["ext_ubol",2],["ext_devbuild",3],["env_chromium",4],["env_edge",5],["env_firefox",6],["env_mobile",7],["env_safari",8],["env_mv3",9],["false",10],["cap_html_filtering",11],["cap_user_stylesheet",12],["adguard",13],["adguard_app_windows",14],["adguard_app_mac",15],["adguard_app_android",16],["adguard_app_ios",17],["adguard_ext_safari",18],["adguard_ext_chromium",19],["adguard_ext_firefox",20],["adguard_ext_edge",21],["adguard_ext_opera",22],["adguard_ext_android_cb",23]]),pt=new Map(Array.from(ct).map((e=>{let[a,t]=e;return[t,a]}))),mt=e=>{const a=pt.get(e);if(Ue(a))throw new Error(`Unknown frequent name: ${e}`);return a};class ft extends Ie{static tokenize(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const t=[];let n=0;for(;n<e.length;){const s=e[n];if(V.isWhitespace(s))n+=1;else if(V.isLetter(s)){const a=n;for(;n+1<e.length&&(V.isAlphaNumeric(e[n+1])||e[n+1]===g);)n+=1;t.push({type:rt.Variable,start:a,end:n+1}),n+=1}else if(s===E||s===C)t.push({type:rt.Parenthesis,start:n,end:n+1}),n+=1;else if("&"===s||s===f){if(!(n+1<e.length&&e[n+1]===s))throw new Fe(`Unexpected character "${s}"`,a+n,a+n+1);t.push({type:rt.Operator,start:n,end:n+2}),n+=2}else{if("!"!==s)throw new Fe(`Unexpected character "${s}"`,a+n,a+n+1);t.push({type:rt.Operator,start:n,end:n+1}),n+=1}}return t}static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n=ft.tokenize(e,t);let s=0;function r(a){const r=n[s];if(!r)throw new Fe(`Expected token of type "${a}", but reached end of input`,t,t+e.length);if(r.type!==a)throw new Fe(`Expected token of type "${a}", but got "${r.type}"`,t+r.start,t+r.end);return s+=1,r}const i=function i(){let o,d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const u=n[s],l=e.slice(u.start,u.end);if(u.type===rt.Variable)o=function(){const n=r(rt.Variable),s={type:it.Variable,name:e.slice(n.start,n.end)};return a.isLocIncluded&&(s.start=t+n.start,s.end=t+n.end),s}();else if(u.type===rt.Operator&&l===G.Not){s+=1;const e=i(ot[G.Not]);o={type:it.Operator,operator:G.Not,left:e},a.isLocIncluded&&(e.end?(o.start=t+u.start,o.end=e.end):(o.start=t+u.start,o.end=t+u.end))}else{if(u.type!==rt.Parenthesis||l!==E)throw new Fe(`Unexpected token "${l}"`,t+u.start,t+u.end);o=function(){r(rt.Parenthesis);const e=i();r(rt.Parenthesis);const t={type:it.Parenthesis,expression:e};return a.isLocIncluded&&(t.start=e.start,t.end=e.end),t}()}return function(r){let o,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,u=r;for(;n[s]&&(o=n[s],o&&o.type===rt.Operator);){const n=e.slice(o.start,o.end),r=ot[n];if(r<d)break;s+=1;const l=i(r+1),c={type:it.Operator,operator:n,left:u,right:l};a.isLocIncluded&&(c.start=u.start??t+o.start,c.end=l.end??t+o.end),u=c}return u}(o,d)}();if(s!==n.length)throw new Fe(`Unexpected token "${n[s].type}"`,t+n[s].start,t+n[s].end);return i}static generate(e){if(e.type===it.Variable)return e.name;if(e.type===it.Operator){const a=ft.generate(e.left),t=e.right?ft.generate(e.right):void 0,{operator:n}=e;if(n===G.Not)return`${n}${a}`;if(!t)throw new Error("Expected right operand");return`${a} ${n} ${t}`}if(e.type===it.Parenthesis)return`(${ft.generate(e.expression)})`;throw new Error("Unexpected node type")}static serializeVariableNode(e,a){a.writeUint8(te.ExpressionVariableNode);const t=ct.get(e.name);Ue(t)?(a.writeUint8(tt.Name),a.writeString(e.name)):(a.writeUint8(tt.FrequentName),a.writeUint8(t)),Ue(e.start)||(a.writeUint8(tt.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(tt.End),a.writeUint32(e.end)),a.writeUint8(0)}static serializeParenthesisNode(e,a){a.writeUint8(te.ExpressionParenthesisNode),a.writeUint8(st.Expression),ft.serialize(e.expression,a),Ue(e.start)||(a.writeUint8(st.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(st.End),a.writeUint32(e.end)),a.writeUint8(0)}static serializeOperatorNode(e,a){a.writeUint8(te.ExpressionOperatorNode),a.writeUint8(nt.Operator);const t=dt.get(e.operator);if(Ue(t))throw new Error(`Unknown operator: ${e.operator}`);a.writeUint8(t),a.writeUint8(nt.Left),ft.serialize(e.left,a),e.right&&(a.writeUint8(nt.Right),ft.serialize(e.right,a)),Ue(e.start)||(a.writeUint8(nt.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(nt.End),a.writeUint32(e.end)),a.writeUint8(0)}static serialize(e,a){switch(e.type){case it.Variable:ft.serializeVariableNode(e,a);break;case it.Operator:ft.serializeOperatorNode(e,a);break;case it.Parenthesis:ft.serializeParenthesisNode(e,a);break;default:throw new Error(`Unexpected node type: ${e.type}`)}a.writeUint8(0)}static deserializeVariableNode(e,a){e.assertUint8(te.ExpressionVariableNode),a.type=it.Variable;let t=e.readUint8();for(;0!==t;){switch(t){case tt.Name:a.name=e.readString();break;case tt.FrequentName:a.name=mt(e.readUint8());break;case tt.Start:a.start=e.readUint32();break;case tt.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}`)}t=e.readUint8()}}static deserializeParenthesisNode(e,a){e.assertUint8(te.ExpressionParenthesisNode),a.type=it.Parenthesis;let t=e.readUint8();for(;0!==t;){switch(t){case st.Expression:ft.deserialize(e,a.expression={});break;case st.Start:a.start=e.readUint32();break;case st.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}`)}t=e.readUint8()}}static deserializeOperatorNode(e,a){e.assertUint8(te.ExpressionOperatorNode),a.type=it.Operator;let t=e.readUint8();for(;0!==t;){switch(t){case nt.Operator:a.operator=lt(e.readUint8());break;case nt.Left:ft.deserialize(e,a.left={});break;case nt.Right:ft.deserialize(e,a.right={});break;case nt.Start:a.start=e.readUint32();break;case nt.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}`)}t=e.readUint8()}}static deserialize(e,a){let t=e.peekUint8();for(;0!==t;){switch(t){case te.ExpressionVariableNode:ft.deserializeVariableNode(e,a);break;case te.ExpressionOperatorNode:ft.deserializeOperatorNode(e,a);break;case te.ExpressionParenthesisNode:ft.deserializeParenthesisNode(e,a);break;default:throw new Error(`Unexpected node type: ${t}`)}t=e.peekUint8()}e.readUint8()}}var gt;!function(e){e[e.Name=1]="Name",e[e.Params=2]="Params",e[e.Syntax=3]="Syntax",e[e.Start=4]="Start",e[e.End=5]="End"}(gt||(gt={}));const ht=new Map([["if",0],["else",1],["endif",2],["include",3],["safari_cb_affinity",4]]),bt=new Map(Array.from(ht).map((e=>{let[a,t]=e;return[t,a]}))),vt=new Map([["general",0],["privacy",1],["social",2],["security",3],["other",4],["custom",5],["all",6]]),yt=new Map(Array.from(vt).map((e=>{let[a,t]=e;return[t,a]})));class kt extends Ie{static isPreProcessorRule(e){const a=e.trim();return a.startsWith(L)&&"#"!==a[2]}static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!kt.isPreProcessorRule(a))return null;let s=0;s=V.skipWS(a,s),s+=2,s=V.skipWS(a,s);const r=s;for(;s<a.length;){const e=a[s];if(" "===e||e===E)break;s+=1}const i=s,o=Le.parse(a.slice(r,i),t,n+r);if(s=V.skipWS(a,s),o.value===q){if(s>i)throw new Fe(`Unexpected whitespace after "${q}" directive name`,n+i,n+s);if(V.skipWS(a,s)!==a.length){if(a[s]!==E)throw new Fe(`Unexpected character '${a[s]}' after '${q}' directive name`,n+s,n+s+1);s+=1;const r=s,i=V.skipWSBack(a);if(-1===i||a[i]!==C)throw new Fe(`Missing closing parenthesis for '${q}' directive`,n+s,n+a.length);const u=i,l={type:e.CommentRuleType.PreProcessorCommentRule,category:e.RuleCategory.Comment,syntax:e.AdblockSyntax.Adg,name:o,params:Ba.parse(a.slice(r,u),t,n+r,d)};return t.includeRaws&&(l.raws={text:a}),t.isLocIncluded&&(l.start=n,l.end=n+a.length),l}}if(s===a.length){if(o.value===H||o.value===W)throw new Fe(`Directive "${o.value}" requires parameters`,n,n+a.length);const s={type:e.CommentRuleType.PreProcessorCommentRule,category:e.RuleCategory.Comment,syntax:e.AdblockSyntax.Common,name:o};return t.includeRaws&&(s.raws={text:a}),t.isLocIncluded&&(s.start=n,s.end=n+a.length),s}const u=s,l=V.skipWSBack(a)+1;let c;c=o.value===H?ft.parse(a.slice(u,l),t,n+u):Le.parse(a.slice(u,l),t,n+u);const p={type:e.CommentRuleType.PreProcessorCommentRule,category:e.RuleCategory.Comment,syntax:e.AdblockSyntax.Common,name:o,params:c};return t.includeRaws&&(p.raws={text:a}),t.isLocIncluded&&(p.start=n,p.end=n+a.length),p}static generate(e){let a=r;return a+=L,a+=e.name.value,e.params&&(e.name.value!==q&&(a+=i),"Value"===e.params.type?a+=Le.generate(e.params):"ParameterList"===e.params.type?(a+=E,a+=Ba.generate(e.params),a+=C):a+=ft.generate(e.params)),a}static serialize(e,a){a.writeUint8(te.PreProcessorCommentRuleNode),a.writeUint8(gt.Name),Le.serialize(e.name,a,ht),a.writeUint8(gt.Syntax),a.writeUint8(ne.get(e.syntax)??0),Ue(e.params)||(a.writeUint8(gt.Params),"Value"===e.params.type?Le.serialize(e.params,a):"ParameterList"===e.params.type?Ba.serialize(e.params,a,vt,!0):ft.serialize(e.params,a)),Ue(e.start)||(a.writeUint8(gt.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(gt.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(a,t){a.assertUint8(te.PreProcessorCommentRuleNode),t.type=e.CommentRuleType.PreProcessorCommentRule,t.category=e.RuleCategory.Comment,t.syntax=e.AdblockSyntax.Common;let n=a.readUint8();for(;0!==n;){switch(n){case gt.Name:Le.deserialize(a,t.name={},bt);break;case gt.Syntax:t.syntax=se.get(a.readUint8())??e.AdblockSyntax.Common;break;case gt.Params:switch(a.peekUint8()){case te.ValueNode:Le.deserialize(a,t.params={});break;case te.ParameterListNode:Ba.deserialize(a,t.params={},yt);break;case te.ExpressionOperatorNode:case te.ExpressionParenthesisNode:case te.ExpressionVariableNode:ft.deserialize(a,t.params={});break;default:throw new Error(`Invalid binary type: ${n}`)}break;case gt.Start:t.start=a.readUint32();break;case gt.End:t.end=a.readUint32();break;default:throw new Error(`Invalid property: ${n}`)}n=a.readUint8()}}}var wt;!function(e){e[e.Marker=1]="Marker",e[e.Text=2]="Text",e[e.Start=3]="Start",e[e.End=4]="End"}(wt||(wt={}));class xt extends Ie{static isSimpleComment(a){const t=a.trim();if(t.startsWith(e.CommentMarker.Regular))return!0;if(t.startsWith(e.CommentMarker.Hashmark)){const a=Qe.find(t);if(null===a)return!0;const{end:n}=a;if(!t[n+1]||V.isWhitespace(t[n+1])||t[n+1]===e.CommentMarker.Hashmark&&t[n+2]===e.CommentMarker.Hashmark)return!0}return!1}static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!this.isSimpleComment(a))return null;let s=0;s=V.skipWS(a,s);const r=Le.parse(a[s],t,n+s);s+=1;const i=Le.parse(a.slice(s),t,n+s),o={category:e.RuleCategory.Comment,type:e.CommentRuleType.CommentRule,syntax:e.AdblockSyntax.Common,marker:r,text:i};return t.includeRaws&&(o.raws={text:a}),t.isLocIncluded&&(o.start=n,o.end=n+a.length),o}static generate(e){let a=r;return a+=Le.generate(e.marker),a+=Le.generate(e.text),a}static serialize(e,a){a.writeUint8(te.CommentRuleNode),a.writeUint8(wt.Marker),Le.serialize(e.marker,a),a.writeUint8(wt.Text),Le.serialize(e.text,a),Ue(e.start)||(a.writeUint8(wt.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(wt.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(a,t){a.assertUint8(te.CommentRuleNode),t.type=e.CommentRuleType.CommentRule,t.category=e.RuleCategory.Comment,t.syntax=e.AdblockSyntax.Common;let n=a.readUint8();for(;0!==n;){switch(n){case wt.Marker:Le.deserialize(a,t.marker={});break;case wt.Text:Le.deserialize(a,t.text={});break;case wt.Start:t.start=a.readUint32();break;case wt.End:t.end=a.readUint32();break;default:throw new Error(`Invalid property: ${n}`)}n=a.readUint8()}}}class At extends Ie{static isCommentRule(e){const a=e.trim();return xt.isSimpleComment(a)||Je.isAgentRule(a)}static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return At.isCommentRule(e)?Je.parse(e,a,t)||Xa.parse(e,a,t)||kt.parse(e,a,t)||at.parse(e,a,t)||La.parse(e,a,t)||xt.parse(e,a,t):null}static generate(a){switch(a.type){case e.CommentRuleType.AgentCommentRule:return Je.generate(a);case e.CommentRuleType.HintCommentRule:return Xa.generate(a);case e.CommentRuleType.PreProcessorCommentRule:return kt.generate(a);case e.CommentRuleType.MetadataCommentRule:return at.generate(a);case e.CommentRuleType.ConfigCommentRule:return La.generate(a);case e.CommentRuleType.CommentRule:return xt.generate(a);default:throw new Error("Unknown comment rule type")}}static serialize(a,t){switch(a.type){case e.CommentRuleType.AgentCommentRule:return void Je.serialize(a,t);case e.CommentRuleType.HintCommentRule:return void Xa.serialize(a,t);case e.CommentRuleType.PreProcessorCommentRule:return void kt.serialize(a,t);case e.CommentRuleType.MetadataCommentRule:return void at.serialize(a,t);case e.CommentRuleType.ConfigCommentRule:return void La.serialize(a,t);case e.CommentRuleType.CommentRule:xt.serialize(a,t);break;default:throw new Error("Unknown comment rule type")}}static deserialize(e,a){const t=e.peekUint8();switch(t){case te.AgentRuleNode:return void Je.deserialize(e,a);case te.HintRuleNode:return void Xa.deserialize(e,a);case te.PreProcessorCommentRuleNode:return void kt.deserialize(e,a);case te.MetadataCommentRuleNode:return void at.deserialize(e,a);case te.ConfigCommentRuleNode:return void La.deserialize(e,a);case te.CommentRuleNode:return void xt.deserialize(e,a);default:throw new Error(`Unknown comment rule type: ${t}`)}}}var Et,Ct={};!function(e){!function(){var a={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function t(e){return function(e,n){var s,r,i,o,d,u,l,c,p,m=1,f=e.length,g="";for(r=0;r<f;r++)if("string"==typeof e[r])g+=e[r];else if("object"==typeof e[r]){if((o=e[r]).keys)for(s=n[m],i=0;i<o.keys.length;i++){if(null==s)throw new Error(t('[sprintf] Cannot access property "%s" of undefined value "%s"',o.keys[i],o.keys[i-1]));s=s[o.keys[i]]}else s=o.param_no?n[o.param_no]:n[m++];if(a.not_type.test(o.type)&&a.not_primitive.test(o.type)&&s instanceof Function&&(s=s()),a.numeric_arg.test(o.type)&&"number"!=typeof s&&isNaN(s))throw new TypeError(t("[sprintf] expecting number but found %T",s));switch(a.number.test(o.type)&&(c=s>=0),o.type){case"b":s=parseInt(s,10).toString(2);break;case"c":s=String.fromCharCode(parseInt(s,10));break;case"d":case"i":s=parseInt(s,10);break;case"j":s=JSON.stringify(s,null,o.width?parseInt(o.width):0);break;case"e":s=o.precision?parseFloat(s).toExponential(o.precision):parseFloat(s).toExponential();break;case"f":s=o.precision?parseFloat(s).toFixed(o.precision):parseFloat(s);break;case"g":s=o.precision?String(Number(s.toPrecision(o.precision))):parseFloat(s);break;case"o":s=(parseInt(s,10)>>>0).toString(8);break;case"s":s=String(s),s=o.precision?s.substring(0,o.precision):s;break;case"t":s=String(!!s),s=o.precision?s.substring(0,o.precision):s;break;case"T":s=Object.prototype.toString.call(s).slice(8,-1).toLowerCase(),s=o.precision?s.substring(0,o.precision):s;break;case"u":s=parseInt(s,10)>>>0;break;case"v":s=s.valueOf(),s=o.precision?s.substring(0,o.precision):s;break;case"x":s=(parseInt(s,10)>>>0).toString(16);break;case"X":s=(parseInt(s,10)>>>0).toString(16).toUpperCase()}a.json.test(o.type)?g+=s:(!a.number.test(o.type)||c&&!o.sign?p="":(p=c?"+":"-",s=s.toString().replace(a.sign,"")),u=o.pad_char?"0"===o.pad_char?"0":o.pad_char.charAt(1):" ",l=o.width-(p+s).length,d=o.width&&l>0?u.repeat(l):"",g+=o.align?p+s+d:"0"===u?p+d+s:d+p+s)}return g}(function(e){if(s[e])return s[e];for(var t,n=e,r=[],i=0;n;){if(null!==(t=a.text.exec(n)))r.push(t[0]);else if(null!==(t=a.modulo.exec(n)))r.push("%");else{if(null===(t=a.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var o=[],d=t[2],u=[];if(null===(u=a.key.exec(d)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(d=d.substring(u[0].length));)if(null!==(u=a.key_access.exec(d)))o.push(u[1]);else{if(null===(u=a.index_access.exec(d)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}t[2]=o}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return s[e]=r}(e),arguments)}function n(e,a){return t.apply(null,[e].concat(a||[]))}var s=Object.create(null);e.sprintf=t,e.vsprintf=n,"undefined"!=typeof window&&(window.sprintf=t,window.vsprintf=n)}()}(Ct),function(e){e[e.Exception=1]="Exception",e[e.Value=2]="Value",e[e.Start=3]="Start",e[e.End=4]="End"}(Et||(Et={}));const Dt=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:d,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:J.Unknown;const r=[];let i=0;if(i=V.skipWS(e,i),e[i]===n)throw new Fe("Value list cannot start with a separator",t+i,t+e.length);const o=V.skipWSBack(e);if(e[o]===n)throw new Fe("Value list cannot end with a separator",t+o,t+o+1);for(;i<e.length;){i=V.skipWS(e,i);let o=i;const d=V.findNextUnescapedCharacter(e,n,i),u=-1===d?V.skipWSBack(e)+1:V.skipWSBack(e,d-1)+1,l=e[o]===O;if(l){o+=1;const a=e[o];if(a===O)throw new Fe("Exception marker cannot be followed by another exception marker",t+o,t+o+1);if(a===n)throw new Fe("Exception marker cannot be followed by a separator",t+o,t+o+1);if(V.isWhitespace(a))throw new Fe("Exception marker cannot be followed by whitespace",t+o,t+o+1)}if(u<=o)throw new Fe("Empty value specified in the list",t+o,t+e.length);const c={type:s,value:e.slice(o,u),exception:l};a.isLocIncluded&&(c.start=t+o,c.end=t+u),r.push(c),i=-1===d?e.length:d+1}return r},jt=e=>`${e.exception?O:r}${e.value}`,Rt=(e,a)=>{switch(e.type){case J.App:a.writeUint8(te.AppNode);break;case J.Domain:a.writeUint8(te.DomainNode);break;case J.Method:a.writeUint8(te.MethodNode);break;case J.StealthOption:a.writeUint8(te.StealthOptionNode);break;default:throw new Error(`Invalid list item type: ${e.type}`)}a.writeUint8(Et.Exception),a.writeUint8(e.exception?1:0),a.writeUint8(Et.Value),a.writeString(e.value),Ue(e.start)||(a.writeUint8(Et.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Et.End),a.writeUint32(e.end)),a.writeUint8(0)},St=(e,a)=>{const t=e.readUint8();switch(t){case te.AppNode:a.type=J.App;break;case te.DomainNode:a.type=J.Domain;break;case te.MethodNode:a.type=J.Method;break;case te.StealthOptionNode:a.type=J.StealthOption;break;default:throw new Error(`Invalid list item type: ${t}`)}let n=e.readUint8();for(;0!==n;){switch(n){case Et.Exception:a.exception=1===e.readUint8();break;case Et.Value:a.value=e.readString();break;case Et.Start:a.start=e.readUint32();break;case Et.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}`)}n=e.readUint8()}},_t=(e,a)=>{const t=e.readUint16();a.length=t;for(let n=0;n<t;n+=1)St(e,a[n]={})};var Mt;!function(e){e[e.Separator=1]="Separator",e[e.Children=2]="Children",e[e.Start=3]="Start",e[e.End=4]="End"}(Mt||(Mt={}));const Tt=new Map([[d,0],[f,1]]),Ft=new Map(Array.from(Tt).map((e=>{let[a,t]=e;return[t,a]})));class $t extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:d;if(n!==d&&n!==f)throw new Error(`Invalid separator: ${n}`);const s={type:X.DomainList,separator:n,children:Dt(e,a,t,n,J.Domain)};return a.isLocIncluded&&(s.start=t,s.end=t+e.length),s}static generate(e){return a=e.children,t=e.separator,a.map(jt).join(t);var a,t}static serialize(e,a){a.writeUint8(te.DomainListNode);const t=Tt.get(e.separator);if(Ue(t))throw new Error(`Invalid separator: ${e.separator}`);a.writeUint8(Mt.Separator),a.writeUint8(t),a.writeUint8(Mt.Children),((e,a)=>{const{length:t}=e;a.writeUint16(t);for(let n=0;n<t;n+=1)Rt(e[n],a)})(e.children,a),Ue(e.start)||(a.writeUint8(Mt.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Mt.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(e,a){e.assertUint8(te.DomainListNode),a.type=X.DomainList;let t=e.readUint8();for(;0!==t;){switch(t){case Mt.Separator:a.separator=Ft.get(e.readUint8())??d;break;case Mt.Children:_t(e,a.children=[]);break;case Mt.Start:a.start=e.readUint32();break;case Mt.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}.`)}t=e.readUint8()}}}var Ot;!function(e){e[e.Name=1]="Name",e[e.Value=2]="Value",e[e.Exception=3]="Exception",e[e.Start=4]="Start",e[e.End=5]="End"}(Ot||(Ot={}));const It=new Map([["_",0],["all",1],["app",2],["badfilter",3],["cname",4],["content",5],["cookie",6],["csp",7],["denyallow",8],["document",9],["doc",10],["domain",11],["from",12],["elemhide",13],["ehide",14],["empty",15],["first-party",16],["1p",17],["extension",18],["font",19],["genericblock",20],["generichide",21],["ghide",22],["header",23],["hls",24],["image",25],["important",26],["inline-font",27],["inline-script",28],["jsinject",29],["jsonprune",30],["match-case",31],["media",32],["method",33],["mp4",34],["network",35],["object-subrequest",36],["object",37],["other",38],["permissions",39],["ping",40],["popunder",41],["popup",42],["redirect-rule",43],["redirect",44],["rewrite",45],["referrerpolicy",46],["removeheader",47],["removeparam",48],["replace",49],["script",50],["specifichide",51],["shide",52],["stealth",53],["strict1p",54],["strict3p",55],["stylesheet",56],["css",57],["subdocument",58],["frame",59],["third-party",60],["3p",61],["to",62],["urlblock",63],["webrtc",64],["websocket",65],["xmlhttprequest",66],["xhr",67]]),Nt=new Map(Array.from(It,(e=>{let[a,t]=e;return[t,a]}))),Ut=new Map([["1x1-transparent.gif",0],["2x2-transparent.png",1],["3x2-transparent.png",2],["32x32-transparent.png",3],["amazon-apstag",4],["ati-smarttag",5],["didomi-loader",6],["click2load.html",7],["fingerprintjs2",8],["fingerprintjs3",9],["google-analytics",10],["google-analytics-ga",11],["googlesyndication-adsbygoogle",12],["googlesyndication-adsbygoogle",13],["googletagmanager-gtm",14],["googletagmanager-gtm",15],["googletagservices-gpt",16],["google-ima3",17],["gemius",18],["matomo",19],["metrika-yandex-watch",20],["metrika-yandex-tag",21],["naver-wcslog",22],["noeval",23],["noopcss",24],["noopframe",25],["noopjs",26],["noopjson",27],["nooptext",28],["noopmp3-0.1s",29],["noopmp4-1s",30],["noopvmap-1.0",31],["noopvast-2.0",32],["noopvast-3.0",33],["noopvast-4.0",34],["prebid",35],["pardot-1.0",36],["prevent-bab",37],["prevent-bab2",38],["prevent-fab-3.2.0",39],["prevent-fab-3.2.0",40],["prevent-popads-net",41],["scorecardresearch-beacon",42],["set-popads-dummy",43],["empty",44],["prebid-ads",45],["1x1.gif",60],["2x2.png",61],["3x2.png",62],["32x32.png",63],["amazon_apstag.js",64],["click2load.html",65],["fingerprint2.js",66],["fingerprint3.js",67],["google-analytics_analytics.js",68],["google-analytics_ga.js",69],["googlesyndication_adsbygoogle.js",70],["googlesyndication.com/adsbygoogle.js",71],["google-analytics_ga.js",72],["googletagmanager_gtm.js",73],["googletagservices_gpt.js",74],["google-ima.js",75],["noeval-silent.js",76],["noop.css",77],["noop.html",78],["noop.js",79],["noop.json",80],["noop.txt",81],["noop-0.1s.mp3",82],["noop-1s.mp4",83],["noop-vmap1.0.xml",84],["nobab.js",85],["nobab2.js",86],["nofab.js",87],["fuckadblock.js-3.2.0",88],["popads.js",89],["scorecardresearch_beacon.js",90],["popads-dummy.js",91],["empty",92],["prebid-ads.js",93],["1x1-transparent-gif",105],["2x2-transparent-png",106],["3x2-transparent-png",107],["32x32-transparent-png",108],["blank-css",109],["blank-html",110],["blank-js",111],["blank-text",112],["blank-mp3",113],["blank-mp4",114],["abp-resource:1x1-transparent-gif",120],["abp-resource:2x2-transparent-png",121],["abp-resource:3x2-transparent-png",122],["abp-resource:32x32-transparent-png",123],["abp-resource:blank-css",124],["abp-resource:blank-html",125],["abp-resource:blank-js",126],["abp-resource:blank-text",127],["abp-resource:blank-mp3",128],["abp-resource:blank-mp4",129]]),Bt=new Map([["redirect",Ut],["redirect-rule",Ut],["rewrite",Ut]]),zt=new Map(Array.from(Bt,(e=>{let[a,t]=e;return[a,new Map(Array.from(t,(e=>{let[a,t]=e;return[t,a]})))]})));class Pt extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;n=V.skipWS(e,n);const s=n;let r=!1;e[n]===O&&(n+=1,r=!0),n=V.skipWS(e,n);const i=n,o=V.findNextUnescapedCharacter(e,"="),d=Math.max(V.skipWSBack(e)+1,i);if(i===d)throw new Fe("Modifier name cannot be empty",t,t+e.length);let u,l;if(-1===o)u=Le.parse(e.slice(i,d),a,t+i);else{const n=V.skipWSBack(e,o-1)+1;if(u=Le.parse(e.slice(i,n),a,t+i),o+1===d)throw new Fe("Modifier value cannot be empty",t,t+e.length);const s=V.skipWS(e,o+1);l=Le.parse(e.slice(s,d),a,t+s)}const c={type:"Modifier",name:u,value:l,exception:r};return a.isLocIncluded&&(c.start=t+s,c.end=t+d),c}static generate(e){let a=r;return e.exception&&(a+=O),a+=e.name.value,void 0!==e.value&&(a+="=",a+=e.value.value),a}static serialize(e,a){a.writeUint8(te.ModifierNode),a.writeUint8(Ot.Name),Le.serialize(e.name,a,It),Ue(e.value)||(a.writeUint8(Ot.Value),Le.serialize(e.value,a,Bt.get(e.name.value))),a.writeUint8(Ot.Exception),a.writeUint8(e.exception?1:0),Ue(e.start)||(a.writeUint8(Ot.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Ot.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(e,a){e.assertUint8(te.ModifierNode),a.type="Modifier";let t=e.readUint8();for(;0!==t;){switch(t){case Ot.Name:Le.deserialize(e,a.name={},Nt);break;case Ot.Value:a.name?Le.deserialize(e,a.value={},zt.get(a.name.value)):Le.deserialize(e,a.value={});break;case Ot.Exception:a.exception=1===e.readUint8();break;case Ot.Start:a.start=e.readUint32();break;case Ot.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}.`)}t=e.readUint8()}}}var Lt;!function(e){e[e.Children=1]="Children",e[e.Start=2]="Start",e[e.End=3]="End"}(Lt||(Lt={}));class qt extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n={type:"ModifierList",children:[]};a.isLocIncluded&&(n.start=t,n.end=t+e.length);let s=V.skipWS(e),r=-1;for(;s<e.length;){s=V.skipWS(e,s);const i=s;r=V.findNextUnescapedCharacter(e,",",s);const o=-1===r?e.length:V.skipWSBack(e,r-1)+1,d=Pt.parse(e.slice(i,o),a,t+i);n.children.push(d),s=-1===r?e.length:r+1}if(-1!==r){const s=V.skipWS(e,r+1);n.children.push(Pt.parse(e.slice(s,e.length),a,t+s))}return n}static generate(e){return e.children.map(Pt.generate).join(",")}static serialize(e,a){a.writeUint8(te.ModifierListNode);const t=e.children.length;if(t){if(a.writeUint8(Lt.Children),t>65535)throw new Error(`Too many modifiers: ${t}, the limit is 65535`);a.writeUint16(t);for(let n=0;n<t;n+=1)Pt.serialize(e.children[n],a)}Ue(e.start)||(a.writeUint8(Lt.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Lt.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(e,a){e.assertUint8(te.ModifierListNode),a.type="ModifierList";let t=e.readUint8();for(;0!==t;){switch(t){case Lt.Children:a.children=new Array(e.readUint16());for(let t=0;t<a.children.length;t+=1)Pt.deserialize(e,a.children[t]={});break;case Lt.Start:a.start=e.readUint32();break;case Lt.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}.`)}t=e.readUint8()}}}function Ht(e,a,t){return e>=a&&e<=t}function Wt(e){return Ht(e,48,57)}function Zt(e){return Wt(e)||Ht(e,65,70)||Ht(e,97,102)}function Vt(e){return function(e){return function(e){return Ht(e,65,90)}(e)||function(e){return Ht(e,97,122)}(e)}(e)||function(e){return function(e,a){return e>=128}(e)}(e)||95===e}function Gt(e){return Vt(e)||Wt(e)||45===e}function Kt(e){return 10===e||13===e||12===e}function Qt(e){return Kt(e)||9===e||32===e}const Xt=(e,a)=>92===e&&!Kt(a),Jt=(e,a,t)=>45===e?Vt(a)||45===a||Xt(a,t):!!Vt(e)||92===e&&Xt(e,a),Yt=(e,a,t)=>43===e||45===e?!!Wt(a)||46===a&&Wt(t):Wt(46===e?a:e);class en{constructor(e,a,t,n){var s;if(_defineProperty(this,"length",void 0),_defineProperty(this,"onToken",void 0),_defineProperty(this,"onError",void 0),_defineProperty(this,"codes",void 0),_defineProperty(this,"cursor",void 0),_defineProperty(this,"customFunctionHandlers",void 0),this.length=e.length,this.preprocess(e),this.cursor=65279===(s=this.codes[0])||65534===s?1:0,this.onToken=a,this.onError=t,n){this.customFunctionHandlers=new Map;for(const[e,a]of n)this.customFunctionHandlers.set(e,a)}}preprocess(e){const a=e.length;this.codes=new Int32Array(a+1);for(let t=0;t<a;t+=1)this.codes[t]=e.charCodeAt(t);this.codes[a]=-1}getFunctionHandler(e){var a;return null===(a=this.customFunctionHandlers)||void 0===a?void 0:a.get(e)}hasFunctionHandler(e){var a;return(null===(a=this.customFunctionHandlers)||void 0===a?void 0:a.has(e))??!1}get offset(){return this.cursor}get code(){return this.codes[this.offset]}get prevCode(){return this.codes[this.offset-1]}get nextCode(){return this.codes[this.offset+1]}getRelativeCode(e){return this.codes[this.offset+e]}isEof(){return this.offset>=this.length}isNextEof(){return this.cursor+1===this.length}isLessThanEqualToEof(){return this.offset<=this.length}consumeCodePoint(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.cursor+=e}getNextNonWsCode(){let e=this.cursor;for(;e<this.length&&Qt(this.codes[e]);)e+=1;return this.codes[e]}consumeWhitespace(){for(;this.code&&Qt(this.code);)this.consumeCodePoint()}consumeSingleWhitespace(){Qt(this.code)&&(this.cursor+=13===this.code&&10===this.nextCode?2:1)}consumeUntilCommentEnd(){for(;this.cursor<this.length;){if(42===this.code&&47===this.nextCode){this.cursor+=2;break}this.cursor+=1}}consumeTrivialToken(e){this.onToken(e,this.cursor,++this.cursor)}getHashFrom(e){return function(e,a,t){let n=5381;for(let s=a;s<t;s+=1)n=33*n^(32|e[s]);return n>>>0}(this.codes,e,this.cursor)}}var an;!function(e){e[e.Eof=0]="Eof",e[e.Ident=1]="Ident",e[e.Function=2]="Function",e[e.AtKeyword=3]="AtKeyword",e[e.Hash=4]="Hash",e[e.String=5]="String",e[e.BadString=6]="BadString",e[e.Url=7]="Url",e[e.BadUrl=8]="BadUrl",e[e.Delim=9]="Delim",e[e.Number=10]="Number",e[e.Percentage=11]="Percentage",e[e.Dimension=12]="Dimension",e[e.Whitespace=13]="Whitespace",e[e.Cdo=14]="Cdo",e[e.Cdc=15]="Cdc",e[e.Colon=16]="Colon",e[e.Semicolon=17]="Semicolon",e[e.Comma=18]="Comma",e[e.OpenSquareBracket=19]="OpenSquareBracket",e[e.CloseSquareBracket=20]="CloseSquareBracket",e[e.OpenParenthesis=21]="OpenParenthesis",e[e.CloseParenthesis=22]="CloseParenthesis",e[e.OpenCurlyBracket=23]="OpenCurlyBracket",e[e.CloseCurlyBracket=24]="CloseCurlyBracket",e[e.Comment=25]="Comment"}(an||(an={}));const tn=Object.freeze({[an.Eof]:"eof",[an.Ident]:"ident",[an.Function]:"function",[an.AtKeyword]:"at-keyword",[an.Hash]:"hash",[an.String]:"string",[an.BadString]:"bad-string",[an.Url]:"url",[an.BadUrl]:"bad-url",[an.Delim]:"delim",[an.Number]:"number",[an.Percentage]:"percentage",[an.Dimension]:"dimension",[an.Whitespace]:"whitespace",[an.Cdo]:"CDO",[an.Cdc]:"CDC",[an.Colon]:"colon",[an.Semicolon]:"semicolon",[an.Comma]:"comma",[an.OpenSquareBracket]:"[",[an.CloseSquareBracket]:"]",[an.OpenParenthesis]:"(",[an.CloseParenthesis]:")",[an.OpenCurlyBracket]:"{",[an.CloseCurlyBracket]:"}",[an.Comment]:"comment"}),nn=e=>`<${(e=>tn[e]??"unknown")(e)}-token>`,sn=e=>{if(e.consumeCodePoint(),Zt(e.code)){let a=0;for(;Zt(e.code)&&a<=6;)e.consumeCodePoint(),a+=1;e.consumeSingleWhitespace()}e.isEof()&&e.onError("Unexpected end of file while parsing escaped code point.",e.offset,e.offset)},rn=e=>{for(;!e.isEof();)if(Gt(e.code))e.consumeCodePoint();else{if(!Xt(e.code,e.nextCode))return;e.consumeCodePoint(),sn(e)}};function on(e,a){!function(e){for(;!e.isEof();e.consumeCodePoint()){if(41===e.code)return void e.consumeCodePoint();Xt(e.getRelativeCode(1),e.getRelativeCode(2))&&(e.consumeCodePoint(),sn(e))}}(e),e.onToken(an.BadUrl,a,e.offset)}const dn=e=>{const a=e.offset;if(rn(e),40===e.code){const t=e.getHashFrom(a);if(e.consumeCodePoint(),193422222===t){const t=e.getNextNonWsCode();return 34===t||39===t?void e.onToken(an.Function,a,e.offset):void((e,a)=>{for(;Qt(e.code);)e.consumeCodePoint();for(;e.offset<=e.length;){if(41===e.code)return e.consumeCodePoint(),void e.onToken(an.Url,a,e.offset);if(e.isEof())return e.onToken(an.Url,a,e.offset),void e.onError("Unexpected end of file while parsing URL.",a,e.offset);if(Qt(e.code)){for(;Qt(e.code);)e.consumeCodePoint();return 41===e.code||e.isEof()?(e.consumeCodePoint(),e.onToken(an.Url,a,e.offset),void e.onError("Unexpected end of file while parsing URL.",a,e.offset)):(e.onError("Unexpected character in URL.",a,e.offset),void on(e,a))}if(34===e.code||39===e.code||40===e.code||Ht(t=e.code,0,8)||11===t||Ht(t,14,31)||127===t)return e.onError("Unexpected character in URL.",a,e.offset),void on(e,a);if(92===e.code){if(Xt(e.code,e.nextCode)){e.consumeCodePoint(),sn(e);continue}return e.onError("Unexpected character in URL.",a,e.offset),void on(e,a)}e.consumeCodePoint()}var t})(e,a)}return e.hasFunctionHandler(t)?(e.onToken(an.Function,a,e.offset),void e.getFunctionHandler(t)(e)):void e.onToken(an.Function,a,e.offset)}e.onToken(an.Ident,a,e.offset)},un=e=>{const a=e.offset;return(e=>{for(43!==e.code&&45!==e.code||e.consumeCodePoint();Wt(e.code);)e.consumeCodePoint();if(46===e.code&&Wt(e.nextCode))for(e.consumeCodePoint(2);Wt(e.code);)e.consumeCodePoint();if(69===e.code||101===e.code)if(45!==e.nextCode&&43!==e.nextCode||!Wt(e.getRelativeCode(2))){if(Wt(e.nextCode))for(e.consumeCodePoint(2);Wt(e.code);)e.consumeCodePoint()}else for(e.consumeCodePoint(3);Wt(e.code);)e.consumeCodePoint()})(e),Jt(e.code,e.nextCode,e.getRelativeCode(2))?(rn(e),void e.onToken(an.Dimension,a,e.offset)):37===e.code?(e.consumeCodePoint(),void e.onToken(an.Percentage,a,e.offset)):void e.onToken(an.Number,a,e.offset)},ln=e=>{const a=e.code,t=e.offset;for(e.consumeCodePoint();e.isLessThanEqualToEof();)switch(e.code){case a:return e.consumeCodePoint(),void e.onToken(an.String,t,e.offset);case-1:return e.onToken(an.String,t,e.offset),void e.onError("Unexpected end of file while parsing string token.",t,e.offset);case 13:case 10:case 12:return 13===e.code&&10===e.nextCode&&e.consumeCodePoint(1),e.consumeCodePoint(1),e.onToken(an.BadString,t,e.offset),void e.onError("Unexpected newline while parsing string token.",t,e.offset);case 92:if(e.isNextEof())return e.consumeCodePoint(),e.onToken(an.String,t,e.offset),void e.onError("Unexpected end of file while parsing string token.",t,e.offset);if(Kt(e.nextCode)){e.consumeCodePoint(2);break}Xt(e.code,e.nextCode)&&(e.consumeCodePoint(),sn(e));break;default:e.consumeCodePoint()}},cn=e=>{const a=e.offset;e.consumeWhitespace(),e.onToken(an.Whitespace,a,e.offset)},pn=e=>{const a=e.offset;if(e.consumeWhitespace(),39===e.code||34===e.code)return void(e.offset>a&&e.onToken(an.Whitespace,a,e.offset));let t=1;for(let t=a;t<e.offset;t+=1)e.onToken(an.Delim,t,t+1);for(;!e.isEof();){if(40===e.code&&92!==e.prevCode)t+=1;else if(41===e.code&&92!==e.prevCode&&(t-=1,0===t))break;e.consumeTrivialToken(an.Delim)}},mn=new Map([[1989084725,pn],[2399470598,pn],[1221663855,pn],[102304302,pn],[2923888231,pn],[1739713050,pn],[1860790666,pn],[3376104318,pn],[196571984,e=>{const a=e.offset;if(e.consumeWhitespace(),39===e.code||34===e.code)return void(e.offset>a&&e.onToken(an.Whitespace,a,e.offset));let t=1;for(let t=a;t<e.offset;t+=1)e.onToken(an.Delim,t,t+1);let n=!1;for(;!e.isEof();){if(34===e.code&&92!==e.prevCode&&(n=!n),!n)if(40===e.code&&92!==e.prevCode)t+=1;else if(41===e.code&&92!==e.prevCode&&(t-=1,0===t))break;e.consumeTrivialToken(an.Delim)}}]]),fn="end of input",gn="Expected '%s', but got '%s'",hn=new Map([[an.Function,an.CloseParenthesis],[an.OpenParenthesis,an.CloseParenthesis],[an.OpenSquareBracket,an.CloseSquareBracket],[an.OpenCurlyBracket,an.CloseCurlyBracket]]),bn=new Map([[an.Function,an.CloseParenthesis],[an.OpenParenthesis,an.CloseParenthesis]]),vn=function(e,a){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{},n=arguments.length>3?arguments[3]:void 0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:hn;const r=[],i=new Set(s.values());if(function(e,a){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;!function(e,a){const t=new en(e,a,arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{},arguments.length>3?arguments[3]:void 0);for(;!t.isEof();)switch(t.code){case 9:case 32:case 10:case 12:case 13:cn(t);break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:un(t);break;case 40:t.consumeTrivialToken(an.OpenParenthesis);break;case 41:t.consumeTrivialToken(an.CloseParenthesis);break;case 44:t.consumeTrivialToken(an.Comma);break;case 58:t.consumeTrivialToken(an.Colon);break;case 59:t.consumeTrivialToken(an.Semicolon);break;case 91:t.consumeTrivialToken(an.OpenSquareBracket);break;case 93:t.consumeTrivialToken(an.CloseSquareBracket);break;case 123:t.consumeTrivialToken(an.OpenCurlyBracket);break;case 125:t.consumeTrivialToken(an.CloseCurlyBracket);break;case 39:case 34:ln(t);break;case 35:if(Gt(t.getRelativeCode(1))||Xt(t.getRelativeCode(1),t.getRelativeCode(2))){const e=t.offset;t.consumeCodePoint(),rn(t),t.onToken(an.Hash,e,t.offset);break}t.consumeTrivialToken(an.Delim);break;case 43:case 46:if(Yt(t.code,t.getRelativeCode(1),t.getRelativeCode(2))){un(t);break}t.consumeTrivialToken(an.Delim);break;case 45:if(Yt(t.code,t.getRelativeCode(1),t.getRelativeCode(2))){un(t);break}if(45===t.getRelativeCode(1)&&62===t.getRelativeCode(2)){t.consumeCodePoint(3),t.onToken(an.Cdc,t.offset-3,t.offset);break}if(Jt(t.code,t.getRelativeCode(1),t.getRelativeCode(2))){dn(t);break}t.consumeTrivialToken(an.Delim);break;case 60:if(33===t.getRelativeCode(1)&&45===t.getRelativeCode(2)&&45===t.getRelativeCode(3)){t.consumeCodePoint(4),t.onToken(an.Cdo,t.offset-4,t.offset);break}t.consumeTrivialToken(an.Delim);break;case 64:if(Jt(t.getRelativeCode(1),t.getRelativeCode(2),t.getRelativeCode(3))){const e=t.offset;t.consumeCodePoint(),rn(t),t.onToken(an.AtKeyword,e,t.offset);break}t.consumeTrivialToken(an.Delim);break;case 92:if(Xt(t.code,t.getRelativeCode(1))){dn(t);break}t.consumeTrivialToken(an.Delim),t.onError("Invalid escape sequence.",t.offset-1,t.offset);break;case 47:if(42===t.getRelativeCode(1)){const e=t.offset;t.consumeCodePoint(2),t.consumeUntilCommentEnd(),t.isEof()&&t.onError("Unterminated comment.",e,t.length-2),t.onToken(an.Comment,e,t.offset);break}t.consumeTrivialToken(an.Delim);break;default:if(Vt(t.code)){dn(t);break}t.consumeTrivialToken(an.Delim)}}(e,a,t,n.size>0?function(e,a){const t=new Map;for(const[a,n]of e)t.set(a,n);for(const[e,n]of a)t.set(e,n);return t}(mn,n):mn)}(e,((t,n,o,d)=>{if(s.has(t))r.push(s.get(t));else if(i.has(t)){if(r[r.length-1]!==t)throw new Fe(Ct.sprintf(gn,nn(r[r.length-1]),nn(t)),n,e.length);r.pop()}a(t,n,o,d,r.length)}),t,n),r.length>0)throw new Fe(Ct.sprintf(gn,nn(r[r.length-1]),fn),e.length-1,e.length)},yn="uBO modifier '%s' cannot be nested inside '%s', only '%s' is allowed as a wrapper";var kn;!function(e){e.MatchesMedia="matches-media",e.MatchesPath="matches-path",e.Remove="remove",e.Style="style"}(kn||(kn={}));const wn=new Set([kn.MatchesMedia,kn.MatchesPath,kn.Remove,kn.Style]),xn=(e,a)=>{const t=[];return a&&t.push(o,a,E),t.push(o,e,E,"...",C),a&&t.push(C),t.join(r)};class An extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n={type:"ModifierList",children:[]};if(a.isLocIncluded&&(n.start=t,n.end=t+e.length),!(e=>{let a=e.indexOf(o);for(;-1!==a;){const t=e.indexOf(E,a+1);if(-1===t)return!1;if(wn.has(e.slice(a+1,t)))return!0;a=e.indexOf(o,t+1)}return!1})(e)){const s={type:"Value",value:e};a.isLocIncluded&&(s.start=t,s.end=t+e.length);const r={type:"UboSelector",selector:s,modifiers:n};return a.isLocIncluded&&(r.start=t,r.end=t+e.length),r}const s=new Set,i=[],d=new Array(e.length),u=[];let l=0;const c=a=>{if(s.has(a.name))throw new Fe(Ct.sprintf("uBO modifier '%s' cannot be used more than once",xn(a.name)),t+a.modifierStart,t+e.length);u.push(a)};!function(e,a){vn(e,a,arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{},arguments.length>3?arguments[3]:void 0,bn)}(e,((r,o,p,m,f)=>{var g;if((s.has(kn.Style)||s.has(kn.Remove))&&r!==an.Whitespace)throw new Fe("uBO style injection cannot be followed by anything else than a whitespace",t+o,t+e.length);if((null===(g=i[l-1])||void 0===g?void 0:g.type)===an.Colon&&r===an.Function){const a=e.slice(o,p-1);if(wn.has(a))if(f>1){if(a!==kn.MatchesPath)throw new Fe(Ct.sprintf("uBO modifier '%s' cannot be nested",xn(a)),t+o-1,t+e.length);{if(u.length>0)throw new Fe(Ct.sprintf(yn,xn(kn.MatchesPath),xn(u[u.length-1].name),xn(U)),t+o-1,t+e.length);let n=!1,s=f,r=o;for(let a=l-1;a>=0;a-=1){if(0===i[a].balance){r=i[a].start,s=i[a].balance;break}if(i[a].type!==an.Colon&&i[a].type!==an.Whitespace){if(i[a].type!==an.Function)throw new Fe(Ct.sprintf("Negated uBO modifier '%s' cannot be preceded by '%s'",xn(kn.MatchesPath),nn(i[a].type)),t+i[a].start,t+e.length);{var h;const s=e.slice(i[a].start,i[a].end-1);if(s!==U)throw new Fe(Ct.sprintf(yn,xn(kn.MatchesPath),xn(s),xn(U)),t+i[a].start-1,t+e.length);if((null===(h=i[a-1])||void 0===h?void 0:h.type)!==an.Colon){var b,v,y;const n=null!==(b=i[a-1])&&void 0!==b&&b.type?nn(null===(v=i[a-1])||void 0===v?void 0:v.type):"nothing";throw new Fe(Ct.sprintf("Expected '%s' but got '%s' before '%s'",nn(an.Colon),n,xn(kn.MatchesPath,U)),t+(null===(y=i[a-1])||void 0===y?void 0:y.start)||0,t+e.length)}n=!n}}}c({name:a,modifierStart:r,modifierBalance:s,nameStart:o,nameEnd:p-1,valueStart:p,valueBalance:f,isException:n})}}else c({name:a,modifierStart:o-1,modifierBalance:f,nameStart:o,nameEnd:p-1,valueStart:p,valueBalance:f,isException:!1})}else{const i=u[u.length-1];if((null==i?void 0:i.name)===kn.MatchesPath&&null!=i&&i.isException&&r!==an.CloseParenthesis&&r!==an.Whitespace&&f<i.valueBalance)throw new Fe(Ct.sprintf("Negated uBO modifier '%s' cannot be followed by anything else than a closing parenthesis or a whitespace",xn(kn.MatchesPath),nn(r)),t+o,t+e.length);if(r===an.CloseParenthesis&&i&&(f===Math.max(0,i.valueBalance-1)&&(i.valueEnd=o),f===Math.max(0,i.modifierBalance-1))){const r={type:"Value",value:i.name};a.isLocIncluded&&(r.start=t+i.nameStart,r.end=t+i.nameEnd);const o={type:"Value",value:e.slice(i.valueStart,i.valueEnd)};a.isLocIncluded&&(o.start=t+i.valueStart,o.end=t+i.valueEnd);const l={type:"Modifier",name:r,value:o,exception:i.isException};a.isLocIncluded&&(l.start=t+i.modifierStart,l.end=t+p),n.children.push(l),s.add(i.name),u.pop(),d.fill(!0,i.modifierStart,p)}}i.push({type:r,start:o,end:p,balance:f}),l+=1}));const p={type:"Value",value:e.split(r).map(((e,a)=>d[a]?r:e)).join(r).trim()};a.isLocIncluded&&(p.start=t,p.end=t+e.length);const m={type:"UboSelector",selector:p,modifiers:n};return a.isLocIncluded&&(m.start=t,m.end=t+e.length),m}static generate(e){var a,t,n;const s=[],d=[];if(e.modifiers)for(const n of e.modifiers.children)switch(n.name.value){case kn.Remove:case kn.Style:d.push(o,n.name.value,E,(null===(a=n.value)||void 0===a?void 0:a.value)||r,C);break;default:n.exception&&s.push(o,U,E),s.push(o,n.name.value,E,(null===(t=n.value)||void 0===t?void 0:t.value)||r,C),n.exception&&s.push(C)}let u=r;var l;return s.length>0&&(u+=s.join(r),null!==(l=e.selector)&&void 0!==l&&l.value&&(u+=i)),u+=(null===(n=e.selector)||void 0===n?void 0:n.value)||r,u+=d.join(r),u}}const En="-ext-",Cn="-abp",Dn=new Set(["contains","if-not","matches-attr","matches-css","matches-property","nth-ancestor","remove","upward","xpath","has-text","matches-css-after","matches-css-before","matches-path","min-text-length","watch-attr","-abp-contains","-abp-has","-abp-properties"]),jn=new Set([...Dn,"has","is"]),Rn=new Set(["-ext-contains","-ext-has","-ext-if-not","-ext-is","-ext-matches-attr","-ext-matches-css","-ext-matches-property","-ext-nth-ancestor","-ext-remove","-ext-upward","-ext-xpath","-ext-has-text","-ext-matches-css-after","-ext-matches-css-before","-ext-matches-path","-ext-min-text-length","-ext-watch-attr","-ext-abp-contains","-ext-abp-has","-ext-abp-properties"]),Sn=new Set(["-webkit-cross-fade","cross-fade","image","-webkit-image-set","image-set","url"]);class _n{constructor(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;_defineProperty(this,"tokens",[]),_defineProperty(this,"source",r),_defineProperty(this,"index",0),_defineProperty(this,"baseOffset",void 0),this.source=e,function(e,a){vn(e,a,arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{},arguments.length>3?arguments[3]:void 0)}(e,((e,a,t,n,s)=>{this.tokens.push({type:e,start:a,end:t,balance:s})})),this.index=0,this.baseOffset=a}get length(){return this.tokens.length}isEof(){return this.index>=this.tokens.length}get(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.index;return this.tokens[e]}getOrFail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.index;const a=this.get(e);if(!a)throw new Fe(Ct.sprintf("Expected a token, but got '%s'",fn),this.baseOffset+this.source.length-1,this.baseOffset+this.source.length);return a}fragment(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.index;const a=this.get(e);return a?this.source.slice(a.start,a.end):r}advance(){if(!this.isEof())return this.index+=1,this.tokens[this.index]}lookahead(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.tokens[this.index+Math.max(1,e)]}lookbehind(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(0!==this.index)return this.tokens[this.index-Math.max(1,e)]}lookbehindForNonWs(){for(let e=this.index-1;e>=0;e-=1)if(this.tokens[e].type!==an.Whitespace)return this.tokens[e]}skipWhitespace(){for(;(null===(e=this.get())||void 0===e?void 0:e.type)===an.Whitespace;){var e;this.index+=1}}skipUntilBalanced(){if(this.isEof())return 0;const e=this.get().balance;if(0===e)return 0;let a=0;for(;!this.isEof()&&(null===(t=this.get())||void 0===t?void 0:t.balance)!==e-1;){var t;this.index+=1,a+=1}return a}skipUntil(e,a){let t=0;for(;!this.isEof()&&((null===(n=this.get())||void 0===n?void 0:n.type)!==e||void 0!==a&&(null===(s=this.get())||void 0===s?void 0:s.balance)!==a);){var n,s;this.index+=1,t+=1}return t}skipUntilExt(e,a){let t=this.index,n=-1,s=-1;for(;t<this.tokens.length;){const r=this.tokens[t];if(r.type!==an.Whitespace){if(r.type===e&&r.balance===a)break;-1===n&&(n=t),s=t,t+=1}else t+=1}const r=t-this.index;return this.index=t,{skipped:r,skippedTrimmed:-1===n?0:s-n+1}}expectNotEof(){if(this.isEof())throw new Fe("Unexpected end of input",this.baseOffset+this.source.length-1,this.baseOffset+this.source.length)}expect(e,a){const t=this.get();if(!t)throw new Fe(Ct.sprintf(gn,nn(e),fn),this.baseOffset+this.source.length-1,this.baseOffset+this.source.length);if(t.type!==e)throw new Fe(Ct.sprintf(gn,nn(e),nn(t.type)),this.baseOffset+t.start,this.baseOffset+t.end);if(void 0!==(null==a?void 0:a.balance)&&t.balance!==a.balance)throw new Fe(Ct.sprintf("Expected '%s' with balance '%d', but got '%d'",nn(e),a.balance,t.balance),this.baseOffset+t.start,this.baseOffset+t.end);if(null!=a&&a.value&&this.fragment()!==a.value)throw new Fe(Ct.sprintf("Expected '%s' with value '%s', but got '%s'",nn(e),a.value,this.fragment()),this.baseOffset+t.start,this.baseOffset+t.end)}getBalance(){var e;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.index;return(null===(e=this.tokens[a])||void 0===e?void 0:e.balance)||0}hasAnySelectorExtendedCssNode(){return this.hasAnySelectorExtendedCssNodeInternal(jn)}hasAnySelectorExtendedCssNodeStrict(){return this.hasAnySelectorExtendedCssNodeInternal(Dn)}hasAnySelectorExtendedCssNodeInternal(e){for(let a=0;a<this.tokens.length;a+=1){const t=this.tokens[a];if(t.type===an.Function){const a=this.source.slice(t.start,t.end-1);if(e.has(a))return!0}else if(t.type===an.OpenSquareBracket){let e=a+1;for(;e<this.tokens.length&&this.tokens[e].type===an.Whitespace;)e+=1;if(e<this.tokens.length&&this.tokens[e].type===an.Ident){const a=this.source.slice(this.tokens[e].start,this.tokens[e].end);if(a.startsWith(En)||a.startsWith(Cn))return!0}a=e}}return!1}}const Mn="remove",Tn="true",Fn=`${Mn}${o}${i}${Tn}${l}`;class $n extends Ie{static parse(e){let a,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const s={type:"Value",value:r},i={type:"Value",value:r},o=new _n(e,n);o.skipWhitespace();let d=0;if(o.getOrFail().type===an.AtKeyword){o.expect(an.AtKeyword,{value:N,balance:0}),o.advance(),o.skipWhitespace();const s=o.getOrFail().start;let r=-1;for(;!o.isEof();){const e=o.getOrFail();if(e.type===an.OpenCurlyBracket&&1===e.balance)break;e.type!==an.Whitespace&&(r=e.end),o.advance()}if(-1===r)throw new Fe("Media query list is empty",n+s,n+e.length);const i=r;a={type:"Value",value:e.slice(s,i)},t.isLocIncluded&&(a.start=n+s,a.end=n+i),o.expect(an.OpenCurlyBracket),o.advance(),d=1}o.skipWhitespace();const u=o.getOrFail().start,{skippedTrimmed:l}=o.skipUntilExt(an.OpenCurlyBracket,d+1);if(o.expect(an.OpenCurlyBracket),0===l)throw new Fe("Selector list is empty",n+u,n+e.length);const c=o.lookbehindForNonWs().end;s.value=e.slice(u,c),t.isLocIncluded&&(s.start=n+u,s.end=n+c),o.advance(),o.skipWhitespace();const p=o.getOrFail().start,m=new Set;let f=-1,g=!1,h=-1;for(;!o.isEof();){var b;const a=o.getOrFail();if(a.type===an.CloseCurlyBracket&&o.getBalance()===d){f=h;break}if(a.type!==an.Whitespace&&(h=a.end),a.type===an.Ident&&(null===(b=o.lookahead())||void 0===b?void 0:b.type)===an.Colon){const t=e.slice(a.start,a.end);m.add(t),o.advance(),o.advance(),t===Mn&&(o.skipWhitespace(),o.expect(an.Ident,{value:Tn}),o.advance(),g=!0)}else o.advance()}if(-1===f)throw new Fe("Declaration list is empty",n+p,n+e.length);i.value=e.slice(p,f),t.isLocIncluded&&(i.start=n+p,i.end=n+f),o.expect(an.CloseCurlyBracket),o.advance(),o.skipWhitespace(),1===d&&(o.expect(an.CloseCurlyBracket),o.advance());const v={type:"CssInjectionRuleBody",selectorList:s,declarationList:i,remove:g};return t.isLocIncluded&&(v.start=n,v.end=n+e.length),a&&(v.mediaQueryList=a),v}static generate(e){var a;const t=[];return e.mediaQueryList&&t.push(N,i,e.mediaQueryList.value,i,"{",i),t.push(e.selectorList.value,i,"{",i),e.remove?t.push(Fn):null!==(a=e.declarationList)&&void 0!==a&&a.value&&t.push(e.declarationList.value),t.push(i,"}"),e.mediaQueryList&&t.push(i,"}"),t.join(r)}}var On;!function(e){e[e.Children=1]="Children",e[e.Start=2]="Start",e[e.End=3]="End"}(On||(On={}));const In=(e,a,t)=>{a.writeUint8(te.ScriptletInjectionRuleBodyNode);const{length:n}=e.children;if(a.writeUint8(On.Children),n>255)throw new Error(`Too many scriptlet children: ${n}, the limit is 255`);a.writeUint8(n);for(let s=0;s<n;s+=1)Ba.serialize(e.children[s],a,t);Ue(e.start)||(a.writeUint8(On.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(On.End),a.writeUint32(e.end)),a.writeUint8(0)},Nn=(e,a,t)=>{e.assertUint8(te.ScriptletInjectionRuleBodyNode),a.type="ScriptletInjectionRuleBody";let n=e.readUint8();for(;0!==n;){switch(n){case On.Children:a.children=new Array(e.readUint8());for(let n=0;n<a.children.length;n+=1)Ba.deserialize(e,a.children[n]={},t);break;case On.Start:a.start=e.readUint32();break;case On.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${n}`)}n=e.readUint8()}};class Un extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n={type:"ScriptletInjectionRuleBody",children:[]};a.isLocIncluded&&(n.start=t,n.end=t+e.length);let s=0;for(s=V.skipWS(e,s);s<e.length;){s=V.skipWS(e,s);const r=s;let o=V.findUnescapedNonStringNonRegexChar(e,l,s);-1===o&&(o=e.length);const d=Math.max(V.skipWSBack(e,o-1)+1,r),u=Ba.parse(e.slice(r,d),a,t+r,i);n.children.push(u),s=o+1}if(0===n.children.length)throw new Fe(this.ERROR_MESSAGES.EMPTY_SCRIPTLET_CALL,t,t+e.length);return n}static generate(e){const a=[];if(0===e.children.length)throw new Error(this.ERROR_MESSAGES.EMPTY_SCRIPTLET_CALL);for(const t of e.children){if(0===t.children.length)throw new Error(this.ERROR_MESSAGES.EMPTY_SCRIPTLET_CALL);a.push(Ba.generate(t,i))}return a.join(l+i)}static serialize(e,a){In(e,a,this.FREQUENT_ARGS_SERIALIZATION_MAP)}static deserialize(e,a){Nn(e,a,this.FREQUENT_ARGS_DESERIALIZATION_MAP)}}a=Un,_defineProperty(Un,"ERROR_MESSAGES",{EMPTY_SCRIPTLET_CALL:"Empty ABP snippet call"}),_defineProperty(Un,"FREQUENT_ARGS_SERIALIZATION_MAP",new Map([["abort-current-inline-script",0],["abort-on-property-read",1],["abort-on-property-write",2],["json-prune",3],["log",4],["prevent-listener",5],["cookie-remover",6],["override-property-read",7],["abort-on-iframe-property-read",8],["abort-on-iframe-property-write",9],["freeze-element",10],["json-override",11],["simulate-mouse-event",12],["strip-fetch-query-parameter",13],["hide-if-contains",14],["hide-if-contains-image",15],["hide-if-contains-image-hash",16],["hide-if-contains-similar-text",17],["hide-if-contains-visible-text",18],["hide-if-contains-and-matches-style",19],["hide-if-graph-matches",20],["hide-if-has-and-matches-style",21],["hide-if-labelled-by",22],["hide-if-matches-xpath",23],["hide-if-matches-computed-xpath",24],["hide-if-shadow-contains",25],["debug",26],["trace",27],["race",28]])),_defineProperty(Un,"FREQUENT_ARGS_DESERIALIZATION_MAP",new Map(Array.from(a.FREQUENT_ARGS_SERIALIZATION_MAP).map((e=>{let[a,t]=e;return[t,a]}))));class Bn extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;n=V.skipWS(e,n);let s=0;if(e.startsWith(F,n)?s=3:e.startsWith($,n)&&(s=13),!s)throw new Fe(this.ERROR_MESSAGES.NO_SCRIPTLET_MASK,t+n,t+e.length);if(n+=s,e[n]===i)throw new Fe(this.ERROR_MESSAGES.WHITESPACE_AFTER_MASK,t+n,t+e.length);if(e[n]!==E)throw new Fe(this.ERROR_MESSAGES.NO_OPENING_PARENTHESIS,t+n,t+e.length);const r=n,o=V.skipWSBack(e,e.length-1);if(e[o]!==C||e[o-1]===b)throw new Fe(this.ERROR_MESSAGES.NO_CLOSING_PARENTHESIS,t+n,t+e.length);const u=Ba.parse(e.slice(r+1,o),a,t+r+1,d);if(u.children.length>0&&null===u.children[0])throw new Fe(this.ERROR_MESSAGES.NO_SCRIPTLET_NAME,t+n,t+e.length);const l={type:"ScriptletInjectionRuleBody",children:[u]};return a.isLocIncluded&&(l.start=t,l.end=t+e.length),l}static generate(e){const a=[];if(e.children.length>1)throw new Error(this.ERROR_MESSAGES.NO_MULTIPLE_SCRIPTLET_CALLS);return a.push(F),a.push(E),e.children.length>0&&a.push(Ba.generate(e.children[0])),a.push(C),a.join(r)}static serialize(e,a){In(e,a,this.FREQUENT_ARGS_SERIALIZATION_MAP)}static deserialize(e,a){Nn(e,a,this.FREQUENT_ARGS_DESERIALIZATION_MAP)}}t=Bn,_defineProperty(Bn,"ERROR_MESSAGES",{NO_SCRIPTLET_MASK:`Invalid uBO scriptlet call, no scriptlet call mask '${F}' found`,NO_OPENING_PARENTHESIS:`Invalid uBO scriptlet call, no opening parentheses '${E}' found`,NO_CLOSING_PARENTHESIS:`Invalid uBO scriptlet call, no closing parentheses '${C}' found`,NO_SCRIPTLET_NAME:"Invalid uBO scriptlet call, no scriptlet name specified",WHITESPACE_AFTER_MASK:"Invalid uBO scriptlet call, whitespace is not allowed after the scriptlet call mask",NO_MULTIPLE_SCRIPTLET_CALLS:"uBO syntaxes does not support multiple scriptlet calls within one single rule"}),_defineProperty(Bn,"FREQUENT_ARGS_SERIALIZATION_MAP",new Map([["abort-current-script.js",0],["acs.js",1],["abort-current-inline-script.js",2],["acis.js",3],["abort-on-property-read.js",4],["aopr.js",5],["abort-on-property-write.js",6],["aopw.js",7],["abort-on-stack-trace.js",8],["aost.js",9],["adjust-setInterval.js",10],["nano-setInterval-booster.js",11],["nano-sib.js",12],["adjust-setTimeout.js",13],["nano-setTimeout-booster.js",14],["nano-stb.js",15],["close-window.js",16],["window-close-if.js",17],["disable-newtab-links.js",18],["evaldata-prune.js",19],["json-prune.js",20],["addEventListener-logger.js",21],["aell.js",22],["m3u-prune.js",23],["nowebrtc.js",24],["addEventListener-defuser.js",25],["aeld.js",26],["prevent-addEventListener.js",27],["adfly-defuser.js",28],["noeval-if.js",29],["prevent-eval-if.js",30],["no-fetch-if.js",31],["prevent-fetch.js",32],["no-xhr-if.js",33],["prevent-xhr.js",34],["prevent-refresh.js",35],["refresh-defuser.js",36],["no-requestAnimationFrame-if.js",37],["norafif.js",38],["prevent-requestAnimationFrame.js",39],["no-setInterval-if.js",40],["nosiif.js",41],["prevent-setInterval.js",42],["setInterval-defuser.js",43],["no-setTimeout-if.js",44],["nostif.js",45],["prevent-setTimeout.js",46],["setTimeout-defuser.js",47],["no-window-open-if.js",48],["nowoif.js",49],["prevent-window-open.js",50],["window.open-defuser.js",51],["remove-attr.js",52],["ra.js",53],["remove-class.js",54],["rc.js",55],["remove-cookie.js",56],["cookie-remover.js",57],["remove-node-text.js",58],["rmnt.js",59],["set-attr.js",60],["set-constant.js",61],["set.js",62],["set-cookie.js",63],["set-local-storage-item.js",64],["set-session-storage-item.js",65],["xml-prune.js",66],["webrtc-if.js",67],["overlay-buster.js",68],["alert-buster.js",69],["golem.de.js",70],["href-sanitizer.js",71],["call-nothrow.js",72],["window.name-defuser.js",73],["spoof-css.js",74],["trusted-set-constant.js",75],["trusted-set.js",76],["trusted-set-cookie.js",77],["trusted-set-local-storage-item.js",78],["trusted-replace-fetch-response.js",79],["json-prune-fetch-response.js",80],["json-prune-xhr-response.js",81],["trusted-replace-xhr-response.js",82],["multiup.js",83],["prevent-canvas.js",84],["set-cookie-reload.js",85],["trusted-set-cookie-reload.js",86],["trusted-click-element.js",87],["trusted-prune-inbound-object.js",88],["trusted-prune-outbound-object.js",89],["trusted-set-session-storage-item.js",90],["trusted-replace-node-text.js",91],["trusted-rpnt.js",92],["replace-node-text.js",93],["rpnt.js",94]])),_defineProperty(Bn,"FREQUENT_ARGS_DESERIALIZATION_MAP",new Map(Array.from(t.FREQUENT_ARGS_SERIALIZATION_MAP).map((e=>{let[a,t]=e;return[t,a]}))));class zn extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;if(n=V.skipWS(e,n),!e.startsWith(T,n))throw new Fe(this.ERROR_MESSAGES.NO_SCRIPTLET_MASK,t+n,t+e.length);if(n+=11,e[n]===i)throw new Fe(this.ERROR_MESSAGES.WHITESPACE_AFTER_MASK,t+n,t+e.length);if(e[n]!==E)throw new Fe(this.ERROR_MESSAGES.NO_OPENING_PARENTHESIS,t+n,t+e.length);const s=n,r=V.skipWSBack(e,e.length-1);if(e[r]!==C||e[r-1]===b)throw new Fe(this.ERROR_MESSAGES.NO_CLOSING_PARENTHESIS,t+n,t+e.length);const o=Ba.parse(e.slice(s+1,r),a,t+s+1,d);if(o.children.length>0&&null===o.children[0])throw new Fe(this.ERROR_MESSAGES.NO_SCRIPTLET_NAME,t+n,t+e.length);const u={type:"ScriptletInjectionRuleBody",children:[o]};return a.isLocIncluded&&(u.start=t,u.end=t+e.length),u}static generate(e){const a=[];if(e.children.length>1)throw new Error(this.ERROR_MESSAGES.NO_MULTIPLE_SCRIPTLET_CALLS);return a.push(T),a.push(E),e.children.length>0&&a.push(Ba.generate(e.children[0])),a.push(C),a.join(r)}static serialize(e,a){In(e,a,this.FREQUENT_ARGS_SERIALIZATION_MAP)}static deserialize(e,a){Nn(e,a,this.FREQUENT_ARGS_DESERIALIZATION_MAP)}}n=zn,_defineProperty(zn,"ERROR_MESSAGES",{NO_SCRIPTLET_MASK:`Invalid ADG scriptlet call, no scriptlet call mask '${T}' found`,NO_OPENING_PARENTHESIS:`Invalid ADG scriptlet call, no opening parentheses '${E}' found`,NO_CLOSING_PARENTHESIS:`Invalid ADG scriptlet call, no closing parentheses '${C}' found`,NO_SCRIPTLET_NAME:"Invalid ADG scriptlet call, no scriptlet name specified",WHITESPACE_AFTER_MASK:"Invalid ADG scriptlet call, whitespace is not allowed after the scriptlet call mask",NO_MULTIPLE_SCRIPTLET_CALLS:"ADG syntaxes does not support multiple scriptlet calls within one single rule"}),_defineProperty(zn,"FREQUENT_ARGS_SERIALIZATION_MAP",new Map([["abort-current-inline-script",0],["abort-on-property-read",1],["abort-on-property-write",2],["abort-on-stack-trace",3],["adjust-setInterval",4],["adjust-setTimeout",5],["close-window",6],["debug-current-inline-script",7],["debug-on-property-read",8],["debug-on-property-write",9],["dir-string",10],["disable-newtab-links",11],["evaldata-prune",12],["json-prune",13],["log",14],["log-addEventListener",15],["log-eval",16],["log-on-stack-trace",17],["m3u-prune",18],["noeval",19],["nowebrtc",20],["no-topics",21],["prevent-addEventListener",22],["prevent-adfly",23],["prevent-bab",24],["prevent-eval-if",25],["prevent-fab-3.2.0",26],["prevent-fetch",27],["prevent-xhr",28],["prevent-popads-net",29],["prevent-refresh",30],["prevent-requestAnimationFrame",31],["prevent-setInterval",32],["prevent-setTimeout",33],["prevent-window-open",34],["remove-attr",35],["remove-class",36],["remove-cookie",37],["remove-node-text",38],["set-attr",39],["set-constant",40],["set-cookie",41],["set-cookie-reload",42],["set-local-storage-item",43],["set-popads-dummy",44],["set-session-storage-item",45],["xml-prune",46]])),_defineProperty(zn,"FREQUENT_ARGS_DESERIALIZATION_MAP",new Map(Array.from(n.FREQUENT_ARGS_SERIALIZATION_MAP).map((e=>{let[a,t]=e;return[t,a]}))));const Pn=new Map([["##",0],["#@#",1],["#?#",2],["#@?#",3],["#$#",4],["#$?#",5],["#@$#",6],["#@$?#",7],["#%#",8],["#@%#",9],["$$",10],["$@$",11]]),Ln=new Map(Array.from(Pn).map((e=>{let[a,t]=e;return[t,a]}))),qn=new Map([[te.ElementHidingRule,e.CosmeticRuleType.ElementHidingRule],[te.CssInjectionRule,e.CosmeticRuleType.CssInjectionRule],[te.ScriptletInjectionRule,e.CosmeticRuleType.ScriptletInjectionRule],[te.JsInjectionRule,e.CosmeticRuleType.JsInjectionRule],[te.HtmlFilteringRule,e.CosmeticRuleType.HtmlFilteringRule]]);var Hn,Wn,Zn;!function(e){e[e.SelectorList=1]="SelectorList",e[e.Start=2]="Start",e[e.End=3]="End"}(Hn||(Hn={})),function(e){e[e.SelectorList=1]="SelectorList",e[e.DeclarationList=2]="DeclarationList",e[e.MediaQueryList=3]="MediaQueryList",e[e.Remove=4]="Remove",e[e.Start=5]="Start",e[e.End=6]="End"}(Wn||(Wn={})),function(e){e[e.Syntax=1]="Syntax",e[e.Exception=2]="Exception",e[e.Separator=3]="Separator",e[e.Modifiers=4]="Modifiers",e[e.Domains=5]="Domains",e[e.Body=6]="Body",e[e.Start=7]="Start",e[e.End=8]="End"}(Zn||(Zn={}));const Vn="Parsing '%s' syntax is disabled, but the rule uses it",Gn=/^(?:.+){(?:.+)}$/;class Kn extends Ie{static isCosmeticRule(e){const a=e.trim();return!At.isCommentRule(a)&&null!==Qe.find(a)}static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const s=Qe.find(a);if(!s)return null;let r,i=e.AdblockSyntax.Common;const o=V.skipWS(a),d=V.skipWSBack(a,s.start-1)+1,u=V.skipWS(a,s.end),l=V.skipWSBack(a)+1;if(l<=u)throw new Fe("Empty rule body",n,n+a.length);const c=a.slice(o,d);let m=o;if(c[m]===D){const s=m;if(m+=1,m=V.skipWS(c,m),c[m]!==p)throw new Fe(Ct.sprintf("Missing '%s' at the beginning of the AdGuard modifier list in pattern '%s'",p,c),n+m,n+c.length);m+=1,m=V.skipWS(c,m);const o=V.findLastUnescapedCharacter(c,j);if(-1===o)throw new Fe(Ct.sprintf("Missing '%s' at the end of the AdGuard modifier list in pattern '%s'",j,c),n+m,n+c.length);r=qt.parse(a.slice(m,o),t,n+m),t.isLocIncluded&&(r.start=n+s,r.end=n+o+1),m=o+1,i=e.AdblockSyntax.Adg}m=V.skipWS(c,m);const f=$t.parse(c.slice(m),t,n+m),g={type:"Value",value:s.separator};t.isLocIncluded&&(g.start=n+s.start,g.end=n+s.end);const h=Qe.isException(s.separator);let b=a.slice(u,l);const v=a=>{if(i!==e.AdblockSyntax.Common&&i!==a)throw new Fe(Ct.sprintf("'%s' syntax cannot be mixed with '%s' syntax",a,i),n+o,n+l)};let y;if(t.parseUboSpecificRules&&(y=An.parse(b,t,n+u),b=y.selector.value,y.modifiers&&y.modifiers.children.length>0)){v(e.AdblockSyntax.Ubo),i=e.AdblockSyntax.Ubo;for(const e of y.modifiers.children)e.name.value===kn.MatchesPath&&(r||(r={type:"ModifierList",children:[]},t.isLocIncluded&&(r.start=n+u,r.end=n+l)),r.children.push(e))}const k={text:a},w={category:e.RuleCategory.Cosmetic,exception:h,modifiers:r,domains:f,separator:g};t.includeRaws&&(w.raws=k),t.isLocIncluded&&(w.start=n,w.end=n+a.length);const x=()=>{var a;if(!y||!y.modifiers||(null===(a=y.modifiers.children)||void 0===a?void 0:a.length)<1)return null;v(e.AdblockSyntax.Ubo);const s=y.selector;let r,i,o=!1;for(const e of y.modifiers.children)switch(e.name.value){case kn.Style:r=e.value;break;case kn.Remove:r={type:"Value",value:""},o=!0;break;case kn.MatchesMedia:i=e.value}if(!r)return null;const d={type:"CssInjectionRuleBody",selectorList:s,declarationList:r,mediaQueryList:i,remove:o};return t.isLocIncluded&&(d.start=n+u,d.end=n+l),{syntax:e.AdblockSyntax.Ubo,type:e.CosmeticRuleType.CssInjectionRule,body:d}},A=()=>{const a={type:"Value",value:b};t.isLocIncluded&&(a.start=n+u,a.end=n+l);const s={type:"ElementHidingRuleBody",selectorList:a};return t.isLocIncluded&&(s.start=n+u,s.end=n+l),{syntax:i,type:e.CosmeticRuleType.ElementHidingRule,body:s}},E=()=>Gn.test(b)?(v(e.AdblockSyntax.Adg),{syntax:e.AdblockSyntax.Adg,type:e.CosmeticRuleType.CssInjectionRule,body:$n.parse(b,t,n+u)}):null,C=()=>{if(!t.parseAbpSpecificRules)throw new Fe(Ct.sprintf(Vn,e.AdblockSyntax.Abp),n+u,n+l);v(e.AdblockSyntax.Abp);const a=Un.parse(b,t,n+u);return t.isLocIncluded&&(a.start=n+u,a.end=n+l),{syntax:e.AdblockSyntax.Abp,type:e.CosmeticRuleType.ScriptletInjectionRule,body:a}},R=()=>{if(!b.startsWith(F)&&!b.startsWith($))return null;if(!t.parseUboSpecificRules)throw new Fe(Ct.sprintf(Vn,e.AdblockSyntax.Ubo),n+u,n+l);v(e.AdblockSyntax.Ubo);const a=Bn.parse(b,t,n+u);return t.isLocIncluded&&(a.start=n+u,a.end=n+l),{syntax:e.AdblockSyntax.Ubo,type:e.CosmeticRuleType.ScriptletInjectionRule,body:a}},S=()=>{if(!b.startsWith(T))return null;v(e.AdblockSyntax.Adg);const a=zn.parse(b,t,n+u);return t.isLocIncluded&&(a.start=n+u,a.end=n+l),{syntax:e.AdblockSyntax.Adg,type:e.CosmeticRuleType.ScriptletInjectionRule,body:a}},_=()=>{v(e.AdblockSyntax.Adg);const a={type:"Value",value:b};return t.isLocIncluded&&(a.start=n+u,a.end=n+l),{syntax:e.AdblockSyntax.Adg,type:e.CosmeticRuleType.JsInjectionRule,body:a}},M=()=>{if(!b.startsWith("^"))return null;if(!t.parseUboSpecificRules)throw new Fe(Ct.sprintf(Vn,e.AdblockSyntax.Ubo),n+u,n+l);v(e.AdblockSyntax.Ubo);const a={type:"Value",value:b};return t.isLocIncluded&&(a.start=n+u,a.end=n+l),{syntax:e.AdblockSyntax.Ubo,type:e.CosmeticRuleType.HtmlFilteringRule,body:a}},O=()=>{v(e.AdblockSyntax.Adg);const a={type:"Value",value:b};return t.isLocIncluded&&(a.start=n+u,a.end=n+l),{syntax:e.AdblockSyntax.Adg,type:e.CosmeticRuleType.HtmlFilteringRule,body:a}},I={"##":[M,R,x,A],"#@#":[M,R,x,A],"#?#":[x,A],"#@?#":[x,A],"#$#":[E,C],"#@$#":[E,C],"#$?#":[E],"#@$?#":[E],"#%#":[S,_],"#@%#":[S,_],$$:[O],"$@$":[O]}[s.separator];let N;for(const e of I)if(N=e(),N)break;if(!N)throw new Fe(Ct.sprintf("Body '%s' is not valid for the '%s' cosmetic rule separator",b,s.separator),n+u,n+l);return{...w,...N}}static generatePattern(a){let t=r;return a.syntax===e.AdblockSyntax.Adg&&a.modifiers&&a.modifiers.children.length>0&&(t+=D,t+=p,t+=qt.generate(a.modifiers),t+=j),t+=$t.generate(a.domains),t}static generateBody(a){let t=r;switch(a.type){case e.CosmeticRuleType.ElementHidingRule:t=a.body.selectorList.value;break;case e.CosmeticRuleType.CssInjectionRule:a.syntax===e.AdblockSyntax.Adg?t=$n.generate(a.body):a.syntax===e.AdblockSyntax.Ubo&&(a.body.mediaQueryList&&(t+=o,t+=kn.MatchesMedia,t+=E,t+=a.body.mediaQueryList.value,t+=C,t+=i),t+=a.body.selectorList.value,a.body.remove?(t+=o,t+=kn.Remove,t+=E,t+=C):a.body.declarationList&&(t+=o,t+=kn.Style,t+=E,t+=a.body.declarationList.value,t+=C));break;case e.CosmeticRuleType.HtmlFilteringRule:case e.CosmeticRuleType.JsInjectionRule:t=a.body.value;break;case e.CosmeticRuleType.ScriptletInjectionRule:switch(a.syntax){case e.AdblockSyntax.Adg:t=zn.generate(a.body);break;case e.AdblockSyntax.Abp:t=Un.generate(a.body);break;case e.AdblockSyntax.Ubo:t=Bn.generate(a.body);break;default:throw new Error("Scriptlet rule should have an explicit syntax")}break;default:throw new Error("Unknown cosmetic rule type")}return t}static generate(a){let t=r;return t+=Kn.generatePattern(a),t+=a.separator.value,a.syntax===e.AdblockSyntax.Ubo&&a.modifiers&&(a.modifiers.children.forEach((e=>{t+=o,t+=e.name.value,e.value&&(t+=E,t+=e.value.value,t+=C)})),a.modifiers.children.length&&(t+=i)),t+=Kn.generateBody(a),t}static serializeElementHidingBody(e,a){a.writeUint8(te.ElementHidingRuleBody),a.writeUint8(Hn.SelectorList),Le.serialize(e.selectorList,a),Ue(e.start)||(a.writeUint8(Hn.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Hn.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserializeElementHidingBody(e,a){e.assertUint8(te.ElementHidingRuleBody),a.type="ElementHidingRuleBody";let t=e.readUint8();for(;0!==t;){switch(t){case Hn.SelectorList:Le.deserialize(e,a.selectorList={});break;case Hn.Start:a.start=e.readUint32();break;case Hn.End:a.end=e.readUint32();break;default:throw new Error(`Unknown property: ${t}`)}t=e.readUint8()}}static serializeCssInjectionBody(e,a){a.writeUint8(te.CssInjectionRuleBody),e.mediaQueryList&&(a.writeUint8(Wn.MediaQueryList),Le.serialize(e.mediaQueryList,a)),a.writeUint8(Wn.SelectorList),Le.serialize(e.selectorList,a),e.declarationList&&(a.writeUint8(Wn.DeclarationList),Le.serialize(e.declarationList,a)),e.remove&&a.writeUint8(Wn.Remove),Ue(e.start)||(a.writeUint8(Wn.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Wn.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserializeCssInjectionBody(e,a){e.assertUint8(te.CssInjectionRuleBody),a.type="CssInjectionRuleBody",a.remove=!1;let t=e.readUint8();for(;0!==t;){switch(t){case Wn.MediaQueryList:Le.deserialize(e,a.mediaQueryList={});break;case Wn.SelectorList:Le.deserialize(e,a.selectorList={});break;case Wn.DeclarationList:Le.deserialize(e,a.declarationList={});break;case Wn.Remove:a.remove=!0;break;case Wn.Start:a.start=e.readUint32();break;case Wn.End:a.end=e.readUint32();break;default:throw new Error(`Unknown property: ${t}`)}t=e.readUint8()}}static serialize(a,t){switch(a.type){case e.CosmeticRuleType.ElementHidingRule:t.writeUint8(te.ElementHidingRule),t.writeUint8(ne.get(a.syntax)??0),Kn.serializeElementHidingBody(a.body,t);break;case e.CosmeticRuleType.CssInjectionRule:t.writeUint8(te.CssInjectionRule),t.writeUint8(ne.get(a.syntax)??0),Kn.serializeCssInjectionBody(a.body,t);break;case e.CosmeticRuleType.JsInjectionRule:t.writeUint8(te.JsInjectionRule),t.writeUint8(ne.get(a.syntax)??0),Le.serialize(a.body,t);break;case e.CosmeticRuleType.HtmlFilteringRule:t.writeUint8(te.HtmlFilteringRule),t.writeUint8(ne.get(a.syntax)??0),Le.serialize(a.body,t);break;case e.CosmeticRuleType.ScriptletInjectionRule:switch(t.writeUint8(te.ScriptletInjectionRule),t.writeUint8(ne.get(a.syntax)??0),a.syntax){case e.AdblockSyntax.Adg:zn.serialize(a.body,t);break;case e.AdblockSyntax.Abp:Un.serialize(a.body,t);break;case e.AdblockSyntax.Ubo:Bn.serialize(a.body,t);break;default:throw new Error("Scriptlet rule should have an explicit syntax")}break;default:throw new Error("Unknown cosmetic rule type")}t.writeUint8(Zn.Exception),t.writeUint8(a.exception?1:0),t.writeUint8(Zn.Separator),Le.serialize(a.separator,t,Pn),a.modifiers&&(t.writeUint8(Zn.Modifiers),qt.serialize(a.modifiers,t)),t.writeUint8(Zn.Domains),$t.serialize(a.domains,t),Ue(a.start)||(t.writeUint8(Zn.Start),t.writeUint32(a.start)),Ue(a.end)||(t.writeUint8(Zn.End),t.writeUint32(a.end)),t.writeUint8(0)}static deserialize(a,t){const n=qn.get(a.readUint8());if(Ue(n))throw new Error(`Unknown rule type: ${n}`);t.type=n,t.category=e.RuleCategory.Cosmetic;const s=se.get(a.readUint8())??e.AdblockSyntax.Common;switch(t.syntax=s,t.modifiers=void 0,n){case e.CosmeticRuleType.ElementHidingRule:Kn.deserializeElementHidingBody(a,t.body={});break;case e.CosmeticRuleType.CssInjectionRule:Kn.deserializeCssInjectionBody(a,t.body={});break;case e.CosmeticRuleType.JsInjectionRule:case e.CosmeticRuleType.HtmlFilteringRule:Le.deserialize(a,t.body={});break;case e.CosmeticRuleType.ScriptletInjectionRule:switch(s){case e.AdblockSyntax.Adg:zn.deserialize(a,t.body={});break;case e.AdblockSyntax.Abp:Un.deserialize(a,t.body={});break;case e.AdblockSyntax.Ubo:Bn.deserialize(a,t.body={});break;default:throw new Error("Scriptlet rule should have an explicit syntax")}break;default:throw new Error("Unknown cosmetic rule type")}let r=a.readUint8();for(;0!==r;){switch(r){case Zn.Exception:t.exception=1===a.readUint8();break;case Zn.Separator:Le.deserialize(a,t.separator={},Ln);break;case Zn.Modifiers:t.modifiers={},qt.deserialize(a,t.modifiers);break;case Zn.Domains:$t.deserialize(a,t.domains={});break;case Zn.Start:t.start=a.readUint32();break;case Zn.End:t.end=a.readUint32();break;default:throw new Error(`Unknown property: ${r}`)}r=a.readUint8()}}}var Qn;!function(e){e[e.Syntax=1]="Syntax",e[e.Raws=2]="Raws",e[e.Exception=3]="Exception",e[e.Pattern=4]="Pattern",e[e.ModifierList=5]="ModifierList",e[e.Start=6]="Start",e[e.End=7]="End"}(Qn||(Qn={}));class Xn extends Ie{static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=0;s=V.skipWS(a,s);let r=!1;a.startsWith(z,s)&&(s+=2,r=!0);const i=s,o=Xn.findNetworkRuleSeparatorIndex(a),d=-1===o?V.skipWSBack(a)+1:V.skipWSBack(a,o-1)+1,u=Le.parse(a.slice(i,d),t,n+i);let l;const c=o+1,p=V.skipWSBack(a)+1;if(-1!==o&&(l=qt.parse(a.slice(c,p),t,n+c)),0===u.value.length&&(void 0===l||0===l.children.length))throw new Fe("Network rule must have a pattern or modifiers",n,n+a.length);const m={type:e.NetworkRuleType.NetworkRule,category:e.RuleCategory.Network,syntax:e.AdblockSyntax.Common,exception:r,pattern:u,modifiers:l};return t.includeRaws&&(m.raws={text:a}),t.isLocIncluded&&(m.start=n,m.end=n+a.length),m}static findNetworkRuleSeparatorIndex(e){for(let a=e.length-1;a>=0;a-=1)if("$"===e[a]&&e[a+1]!==M&&e[a-1]!==b)return a;return-1}static generate(e){let a=r;return e.exception&&(a+=z),a+=e.pattern.value,e.modifiers&&e.modifiers.children.length>0&&(a+="$",a+=qt.generate(e.modifiers)),a}static serialize(e,a){a.writeUint8(te.NetworkRuleNode),a.writeUint8(Qn.Syntax),a.writeUint8(ne.get(e.syntax)??0),a.writeUint8(Qn.Exception),a.writeUint8(e.exception?1:0),a.writeUint8(Qn.Pattern),Le.serialize(e.pattern,a),Ue(e.modifiers)||(a.writeUint8(Qn.ModifierList),qt.serialize(e.modifiers,a)),Ue(e.start)||(a.writeUint8(Qn.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Qn.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(a,t){a.assertUint8(te.NetworkRuleNode),t.type=e.NetworkRuleType.NetworkRule,t.category=e.RuleCategory.Network,t.modifiers=void 0;let n=a.readUint8();for(;0!==n;){switch(n){case Qn.Syntax:t.syntax=se.get(a.readUint8())??e.AdblockSyntax.Common;break;case Qn.Exception:t.exception=1===a.readUint8();break;case Qn.Pattern:Le.deserialize(a,t.pattern={});break;case Qn.ModifierList:qt.deserialize(a,t.modifiers={});break;case Qn.Start:t.start=a.readUint32();break;case Qn.End:t.end=a.readUint32();break;default:throw new Error(`Invalid property: ${n}.`)}n=a.readUint8()}}}function Jn(e,a){let t=0,n=e.length,s=!1;if(!1===a){if(!0===e.startsWith("data:"))return null;for(;t<e.length&&e.charCodeAt(t)<=32;)t+=1;for(;n>t+1&&e.charCodeAt(n-1)<=32;)n-=1;if(47===e.charCodeAt(t)&&47===e.charCodeAt(t+1))t+=2;else{const a=e.indexOf(":/",t);if(-1!==a){const n=a-t,s=e.charCodeAt(t),r=e.charCodeAt(t+1),i=e.charCodeAt(t+2),o=e.charCodeAt(t+3),d=e.charCodeAt(t+4);if(5===n&&104===s&&116===r&&116===i&&112===o&&115===d);else if(4===n&&104===s&&116===r&&116===i&&112===o);else if(3===n&&119===s&&115===r&&115===i);else if(2===n&&119===s&&115===r);else for(let n=t;n<a;n+=1){const a=32|e.charCodeAt(n);if(0==(a>=97&&a<=122||a>=48&&a<=57||46===a||45===a||43===a))return null}for(t=a+2;47===e.charCodeAt(t);)t+=1}}let a=-1,r=-1,i=-1;for(let o=t;o<n;o+=1){const t=e.charCodeAt(o);if(35===t||47===t||63===t){n=o;break}64===t?a=o:93===t?r=o:58===t?i=o:t>=65&&t<=90&&(s=!0)}if(-1!==a&&a>t&&a<n&&(t=a+1),91===e.charCodeAt(t))return-1!==r?e.slice(t+1,r).toLowerCase():null;-1!==i&&i>t&&i<n&&(n=i)}for(;n>t+1&&46===e.charCodeAt(n-1);)n-=1;const r=0!==t||n!==e.length?e.slice(t,n):e;return s?r.toLowerCase():r}function Yn(e){if(e.length>255)return!1;if(0===e.length)return!1;if(0==((a=e.charCodeAt(0))>=97&&a<=122||a>=48&&a<=57||a>127))return!1;var a;let t=-1,n=-1;const s=e.length;for(let a=0;a<s;a+=1){const s=e.charCodeAt(a);if(46===s){if(a-t>64||46===n||45===n||95===n)return!1;t=a}else if(!1===(function(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}(s)||45===s||95===s))return!1;n=s}return s-t-1<=63&&45!==n}const es=function(e){let{allowIcannDomains:a=!0,allowPrivateDomains:t=!1,detectIp:n=!0,extractHostname:s=!0,mixedInputs:r=!0,validHosts:i=null,validateHostname:o=!0}={};return{allowIcannDomains:a,allowPrivateDomains:t,detectIp:n,extractHostname:s,mixedInputs:r,validHosts:i,validateHostname:o}}();function as(e,a,t,n,s){const r=function(e){return void 0===e?es:function(e){let{allowIcannDomains:a=!0,allowPrivateDomains:t=!1,detectIp:n=!0,extractHostname:s=!0,mixedInputs:r=!0,validHosts:i=null,validateHostname:o=!0}=e;return{allowIcannDomains:a,allowPrivateDomains:t,detectIp:n,extractHostname:s,mixedInputs:r,validHosts:i,validateHostname:o}}(e)}(n);return"string"!=typeof e?s:(!1===r.extractHostname?s.hostname=e:!0===r.mixedInputs?s.hostname=Jn(e,Yn(e)):s.hostname=Jn(e,!1),0===a||null===s.hostname||!0===r.detectIp&&(s.isIp=function(e){if(e.length<3)return!1;let a="["===e[0]?1:0,t=e.length;if("]"===e[t-1]&&(t-=1),t-a>39)return!1;let n=!1;for(;a<t;a+=1){const t=e.charCodeAt(a);if(58===t)n=!0;else if(0==(t>=48&&t<=57||t>=97&&t<=102||t>=65&&t<=90))return!1}return n}(i=s.hostname)||function(e){if(e.length<7)return!1;if(e.length>15)return!1;let a=0;for(let t=0;t<e.length;t+=1){const n=e.charCodeAt(t);if(46===n)a+=1;else if(n<48||n>57)return!1}return 3===a&&46!==e.charCodeAt(0)&&46!==e.charCodeAt(e.length-1)}(i),!0===s.isIp)?s:!0===r.validateHostname&&!0===r.extractHostname&&!1===Yn(s.hostname)?(s.hostname=null,s):(t(s.hostname,r,s),2===a||null===s.publicSuffix||(s.domain=function(e,a,t){if(null!==t.validHosts){const e=t.validHosts;for(let t=0;t<e.length;t+=1){const n=e[t];if(!0===function(e,a){return!!e.endsWith(a)&&(e.length===a.length||"."===e[e.length-a.length-1])}(a,n))return n}}return e.length===a.length?null:function(e,a){const t=e.length-a.length-2,n=e.lastIndexOf(".",t);return-1===n?e:e.slice(n+1)}(a,e)}(s.publicSuffix,s.hostname,r),3===a||null===s.domain||(s.subdomain=function(e,a){return a.length===e.length?"":e.slice(0,-a.length-1)}(s.hostname,s.domain),4===a||(s.domainWithoutSuffix=(o=s.domain,d=s.publicSuffix,o.slice(0,-d.length-1))))),s));var i,o,d}const ts=function(){const e={$:1,succ:{}},a={$:0,succ:{city:e}};return{$:0,succ:{ck:{$:0,succ:{www:e}},jp:{$:0,succ:{kawasaki:a,kitakyushu:a,kobe:a,nagoya:a,sapporo:a,sendai:a,yokohama:a}}}}}(),ns=function(){const e={$:1,succ:{}},a={$:2,succ:{}},t={$:1,succ:{gov:e,com:e,org:e,net:e,edu:e}},n={$:0,succ:{"*":a}},s={$:1,succ:{blogspot:a}},r={$:1,succ:{gov:e}},i={$:0,succ:{"*":e}},o={$:0,succ:{cloud:a}},d={$:1,succ:{co:a}},u={$:2,succ:{nodes:a}},l={$:0,succ:{s3:a}},c={$:0,succ:{direct:a}},p={$:2,succ:{id:a}},m={$:0,succ:{vfs:a,"webview-assets":a}},f={$:0,succ:{cloud9:m}},g={$:0,succ:{dualstack:l,cloud9:m}},h={$:0,succ:{dualstack:l,s3:a,"s3-website":a,cloud9:m}},b={$:0,succ:{apps:a}},v={$:0,succ:{paas:a}},y={$:0,succ:{app:a}},k={$:2,succ:{eu:a}},w={$:0,succ:{site:a}},x={$:0,succ:{pages:a}},A={$:1,succ:{com:e,edu:e,net:e,org:e}},E={$:0,succ:{j:a}},C={$:0,succ:{jelastic:a}},D={$:0,succ:{user:a}},j={$:1,succ:{ybo:a}},R={$:0,succ:{cust:a,reservd:a}},S={$:0,succ:{cust:a}},_={$:1,succ:{gov:e,edu:e,mil:e,com:e,org:e,net:e}},M={$:1,succ:{edu:e,biz:e,net:e,org:e,gov:e,info:e,com:e}},T={$:1,succ:{gov:e,blogspot:a}},F={$:1,succ:{framer:a}},$={$:1,succ:{barsy:a}},O={$:0,succ:{forgot:a}},I={$:1,succ:{gs:e}},N={$:0,succ:{nes:e}},U={$:1,succ:{k12:e,cc:e,lib:e}},B={$:1,succ:{cc:e,lib:e}};return{$:0,succ:{ac:{$:1,succ:{com:e,edu:e,gov:e,net:e,mil:e,org:e,drr:a}},ad:{$:1,succ:{nom:e}},ae:{$:1,succ:{co:e,net:e,org:e,sch:e,ac:e,gov:e,mil:e,blogspot:a}},aero:{$:1,succ:{"accident-investigation":e,"accident-prevention":e,aerobatic:e,aeroclub:e,aerodrome:e,agents:e,aircraft:e,airline:e,airport:e,"air-surveillance":e,airtraffic:e,"air-traffic-control":e,ambulance:e,amusement:e,association:e,author:e,ballooning:e,broker:e,caa:e,cargo:e,catering:e,certification:e,championship:e,charter:e,civilaviation:e,club:e,conference:e,consultant:e,consulting:e,control:e,council:e,crew:e,design:e,dgca:e,educator:e,emergency:e,engine:e,engineer:e,entertainment:e,equipment:e,exchange:e,express:e,federation:e,flight:e,fuel:e,gliding:e,government:e,groundhandling:e,group:e,hanggliding:e,homebuilt:e,insurance:e,journal:e,journalist:e,leasing:e,logistics:e,magazine:e,maintenance:e,media:e,microlight:e,modelling:e,navigation:e,parachuting:e,paragliding:e,"passenger-association":e,pilot:e,press:e,production:e,recreation:e,repbody:e,res:e,research:e,rotorcraft:e,safety:e,scientist:e,services:e,show:e,skydiving:e,software:e,student:e,trader:e,trading:e,trainer:e,union:e,workinggroup:e,works:e}},af:t,ag:{$:1,succ:{com:e,org:e,net:e,co:e,nom:e}},ai:{$:1,succ:{off:e,com:e,net:e,org:e,uwu:a}},al:{$:1,succ:{com:e,edu:e,gov:e,mil:e,net:e,org:e,blogspot:a}},am:{$:1,succ:{co:e,com:e,commune:e,net:e,org:e,radio:a,blogspot:a,neko:a,nyaa:a}},ao:{$:1,succ:{ed:e,gv:e,og:e,co:e,pb:e,it:e}},aq:e,ar:{$:1,succ:{bet:e,com:s,coop:e,edu:e,gob:e,gov:e,int:e,mil:e,musica:e,mutual:e,net:e,org:e,senasa:e,tur:e}},arpa:{$:1,succ:{e164:e,"in-addr":e,ip6:e,iris:e,uri:e,urn:e}},as:r,asia:{$:1,succ:{cloudns:a}},at:{$:1,succ:{ac:{$:1,succ:{sth:e}},co:s,gv:e,or:e,funkfeuer:{$:0,succ:{wien:a}},futurecms:{$:0,succ:{"*":a,ex:n,in:n}},futurehosting:a,futuremailing:a,ortsinfo:{$:0,succ:{ex:n,kunden:n}},biz:a,info:a,"123webseite":a,priv:a,myspreadshop:a,"12hp":a,"2ix":a,"4lima":a,"lima-city":a}},au:{$:1,succ:{com:{$:1,succ:{blogspot:a,cloudlets:{$:0,succ:{mel:a}},myspreadshop:a}},net:e,org:e,edu:{$:1,succ:{act:e,catholic:e,nsw:{$:1,succ:{schools:e}},nt:e,qld:e,sa:e,tas:e,vic:e,wa:e}},gov:{$:1,succ:{qld:e,sa:e,tas:e,vic:e,wa:e}},asn:e,id:e,info:e,conf:e,oz:e,act:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e}},aw:{$:1,succ:{com:e}},ax:{$:1,succ:{be:a,cat:a,es:a,eu:a,gg:a,mc:a,us:a,xy:a}},az:{$:1,succ:{com:e,net:e,int:e,gov:e,org:e,edu:e,info:e,pp:e,mil:e,name:e,pro:e,biz:e}},ba:{$:1,succ:{com:e,edu:e,gov:e,mil:e,net:e,org:e,rs:a,blogspot:a}},bb:{$:1,succ:{biz:e,co:e,com:e,edu:e,gov:e,info:e,net:e,org:e,store:e,tv:e}},bd:i,be:{$:1,succ:{ac:e,webhosting:a,blogspot:a,interhostsolutions:o,kuleuven:{$:0,succ:{ezproxy:a}},"123website":a,myspreadshop:a,transurl:n}},bf:r,bg:{$:1,succ:{0:e,1:e,2:e,3:e,4:e,5:e,6:e,7:e,8:e,9:e,a:e,b:e,c:e,d:e,e:e,f:e,g:e,h:e,i:e,j:e,k:e,l:e,m:e,n:e,o:e,p:e,q:e,r:e,s:e,t:e,u:e,v:e,w:e,x:e,y:e,z:e,blogspot:a,barsy:a}},bh:t,bi:{$:1,succ:{co:e,com:e,edu:e,or:e,org:e}},biz:{$:1,succ:{activetrail:a,cloudns:a,jozi:a,dyndns:a,"for-better":a,"for-more":a,"for-some":a,"for-the":a,selfip:a,webhop:a,orx:a,mmafan:a,myftp:a,"no-ip":a,dscloud:a}},bj:{$:1,succ:{africa:e,agro:e,architectes:e,assur:e,avocats:e,co:e,com:e,eco:e,econo:e,edu:e,info:e,loisirs:e,money:e,net:e,org:e,ote:e,resto:e,restaurant:e,tourism:e,univ:e,blogspot:a}},bm:t,bn:{$:1,succ:{com:e,edu:e,gov:e,net:e,org:e,co:a}},bo:{$:1,succ:{com:e,edu:e,gob:e,int:e,org:e,net:e,mil:e,tv:e,web:e,academia:e,agro:e,arte:e,blog:e,bolivia:e,ciencia:e,cooperativa:e,democracia:e,deporte:e,ecologia:e,economia:e,empresa:e,indigena:e,industria:e,info:e,medicina:e,movimiento:e,musica:e,natural:e,nombre:e,noticias:e,patria:e,politica:e,profesional:e,plurinacional:e,pueblo:e,revista:e,salud:e,tecnologia:e,tksat:e,transporte:e,wiki:e}},br:{$:1,succ:{"9guacu":e,abc:e,adm:e,adv:e,agr:e,aju:e,am:e,anani:e,aparecida:e,app:e,arq:e,art:e,ato:e,b:e,barueri:e,belem:e,bhz:e,bib:e,bio:e,blog:e,bmd:e,boavista:e,bsb:e,campinagrande:e,campinas:e,caxias:e,cim:e,cng:e,cnt:e,com:{$:1,succ:{blogspot:a,virtualcloud:{$:0,succ:{scale:{$:0,succ:{users:a}}}},simplesite:a}},contagem:e,coop:e,coz:e,cri:e,cuiaba:e,curitiba:e,def:e,des:e,det:e,dev:e,ecn:e,eco:e,edu:e,emp:e,enf:e,eng:e,esp:e,etc:e,eti:e,far:e,feira:e,flog:e,floripa:e,fm:e,fnd:e,fortal:e,fot:e,foz:e,fst:e,g12:e,geo:e,ggf:e,goiania:e,gov:{$:1,succ:{ac:e,al:e,am:e,ap:e,ba:e,ce:e,df:e,es:e,go:e,ma:e,mg:e,ms:e,mt:e,pa:e,pb:e,pe:e,pi:e,pr:e,rj:e,rn:e,ro:e,rr:e,rs:e,sc:e,se:e,sp:e,to:e}},gru:e,imb:e,ind:e,inf:e,jab:e,jampa:e,jdf:e,joinville:e,jor:e,jus:e,leg:{$:1,succ:{ac:a,al:a,am:a,ap:a,ba:a,ce:a,df:a,es:a,go:a,ma:a,mg:a,ms:a,mt:a,pa:a,pb:a,pe:a,pi:a,pr:a,rj:a,rn:a,ro:a,rr:a,rs:a,sc:a,se:a,sp:a,to:a}},lel:e,log:e,londrina:e,macapa:e,maceio:e,manaus:e,maringa:e,mat:e,med:e,mil:e,morena:e,mp:e,mus:e,natal:e,net:e,niteroi:e,nom:i,not:e,ntr:e,odo:e,ong:e,org:e,osasco:e,palmas:e,poa:e,ppg:e,pro:e,psc:e,psi:e,pvh:e,qsl:e,radio:e,rec:e,recife:e,rep:e,ribeirao:e,rio:e,riobranco:e,riopreto:e,salvador:e,sampa:e,santamaria:e,santoandre:e,saobernardo:e,saogonca:e,seg:e,sjc:e,slg:e,slz:e,sorocaba:e,srv:e,taxi:e,tc:e,tec:e,teo:e,the:e,tmp:e,trd:e,tur:e,tv:e,udi:e,vet:e,vix:e,vlog:e,wiki:e,zlg:e}},bs:{$:1,succ:{com:e,net:e,org:e,edu:e,gov:e,we:a}},bt:t,bv:e,bw:{$:1,succ:{co:e,org:e}},by:{$:1,succ:{gov:e,mil:e,com:s,of:e,mycloud:a,mediatech:a}},bz:{$:1,succ:{com:e,net:e,org:e,edu:e,gov:e,za:a,gsj:a}},ca:{$:1,succ:{ab:e,bc:e,mb:e,nb:e,nf:e,nl:e,ns:e,nt:e,nu:e,on:e,pe:e,qc:e,sk:e,yk:e,gc:e,barsy:a,awdev:n,co:a,blogspot:a,"no-ip":a,myspreadshop:a}},cat:e,cc:{$:1,succ:{cloudns:a,ftpaccess:a,"game-server":a,myphotos:a,scrapping:a,twmail:a,csx:a,fantasyleague:a,spawn:{$:0,succ:{instances:a}}}},cd:r,cf:s,cg:e,ch:{$:1,succ:{square7:a,blogspot:a,flow:{$:0,succ:{ae:{$:0,succ:{alp1:a}},appengine:a}},"linkyard-cloud":a,dnsking:a,gotdns:a,"123website":a,myspreadshop:a,firenet:{$:0,succ:{"*":a,svc:n}},"12hp":a,"2ix":a,"4lima":a,"lima-city":a}},ci:{$:1,succ:{org:e,or:e,com:e,co:e,edu:e,ed:e,ac:e,net:e,go:e,asso:e,"xn--aroport-bya":e,"aéroport":e,int:e,presse:e,md:e,gouv:e,fin:a,nl:a}},ck:i,cl:{$:1,succ:{co:e,gob:e,gov:e,mil:e,blogspot:a}},cm:{$:1,succ:{co:e,com:e,gov:e,net:e}},cn:{$:1,succ:{ac:e,com:{$:1,succ:{amazonaws:{$:0,succ:{compute:n,"cn-north-1":l,eb:{$:0,succ:{"cn-north-1":a,"cn-northwest-1":a}},elb:n}}}},edu:e,gov:e,net:e,org:e,mil:e,"xn--55qx5d":e,"公司":e,"xn--io0a7i":e,"网络":e,"xn--od0alg":e,"網絡":e,ah:e,bj:e,cq:e,fj:e,gd:e,gs:e,gz:e,gx:e,ha:e,hb:e,he:e,hi:e,hl:e,hn:e,jl:e,js:e,jx:e,ln:e,nm:e,nx:e,qh:e,sc:e,sd:e,sh:e,sn:e,sx:e,tj:e,xj:e,xz:e,yn:e,zj:e,hk:e,mo:e,tw:e,"canva-apps":a,instantcloud:a,quickconnect:c}},co:{$:1,succ:{arts:e,com:s,edu:e,firm:e,gov:e,info:e,int:e,mil:e,net:e,nom:e,org:e,rec:e,web:e,carrd:a,crd:a,otap:n,leadpages:a,lpages:a,mypi:a,n4t:a,firewalledreplit:p,repl:p,supabase:a}},com:{$:1,succ:{devcdnaccesso:n,adobeaemcloud:{$:2,succ:{dev:n}},airkitapps:a,"airkitapps-au":a,aivencloud:a,kasserver:a,amazonaws:{$:0,succ:{compute:n,"compute-1":n,"us-east-1":{$:2,succ:{dualstack:l,cloud9:m}},"ap-northeast-1":g,"ap-northeast-2":h,"ap-south-1":h,"ap-southeast-1":g,"ap-southeast-2":g,"ca-central-1":h,"eu-central-1":h,"eu-west-1":g,"eu-west-2":h,"eu-west-3":h,s3:a,"s3-ap-northeast-1":a,"s3-ap-northeast-2":a,"s3-ap-south-1":a,"s3-ap-southeast-1":a,"s3-ap-southeast-2":a,"s3-ca-central-1":a,"s3-eu-central-1":a,"s3-eu-west-1":a,"s3-eu-west-2":a,"s3-eu-west-3":a,"s3-external-1":a,"s3-fips-us-gov-west-1":a,"s3-sa-east-1":a,"s3-us-east-2":a,"s3-us-gov-west-1":a,"s3-us-west-1":a,"s3-us-west-2":a,"s3-website-ap-northeast-1":a,"s3-website-ap-southeast-1":a,"s3-website-ap-southeast-2":a,"s3-website-eu-west-1":a,"s3-website-sa-east-1":a,"s3-website-us-east-1":a,"s3-website-us-west-1":a,"s3-website-us-west-2":a,"sa-east-1":g,"us-east-2":h,"af-south-1":f,"ap-east-1":f,"ap-northeast-3":f,"eu-north-1":f,"eu-south-1":f,"me-south-1":f,"us-west-1":f,"us-west-2":f,elb:n}},elasticbeanstalk:{$:2,succ:{"ap-northeast-1":a,"ap-northeast-2":a,"ap-northeast-3":a,"ap-south-1":a,"ap-southeast-1":a,"ap-southeast-2":a,"ca-central-1":a,"eu-central-1":a,"eu-west-1":a,"eu-west-2":a,"eu-west-3":a,"sa-east-1":a,"us-east-1":a,"us-east-2":a,"us-gov-west-1":a,"us-west-1":a,"us-west-2":a}},awsglobalaccelerator:a,siiites:a,appspacehosted:a,appspaceusercontent:a,"on-aptible":a,myasustor:a,"balena-devices":a,betainabox:a,boutir:a,bplaced:a,cafjs:a,"canva-apps":a,br:a,cn:a,de:a,eu:a,jpn:a,mex:a,ru:a,sa:a,uk:a,us:a,za:a,ar:a,hu:a,kr:a,no:a,qc:a,uy:a,africa:a,gr:a,co:a,jdevcloud:a,wpdevcloud:a,cloudcontrolled:a,cloudcontrolapp:a,"cf-ipfs":a,"cloudflare-ipfs":a,trycloudflare:a,"customer-oci":{$:0,succ:{"*":a,oci:n,ocp:n,ocs:n}},dattolocal:a,dattorelay:a,dattoweb:a,mydatto:a,builtwithdark:a,datadetect:{$:0,succ:{demo:a,instance:a}},ddns5:a,discordsays:a,discordsez:a,drayddns:a,dreamhosters:a,mydrobo:a,"dyndns-at-home":a,"dyndns-at-work":a,"dyndns-blog":a,"dyndns-free":a,"dyndns-home":a,"dyndns-ip":a,"dyndns-mail":a,"dyndns-office":a,"dyndns-pics":a,"dyndns-remote":a,"dyndns-server":a,"dyndns-web":a,"dyndns-wiki":a,"dyndns-work":a,blogdns:a,cechire:a,dnsalias:a,dnsdojo:a,doesntexist:a,dontexist:a,doomdns:a,"dyn-o-saur":a,dynalias:a,"est-a-la-maison":a,"est-a-la-masion":a,"est-le-patron":a,"est-mon-blogueur":a,"from-ak":a,"from-al":a,"from-ar":a,"from-ca":a,"from-ct":a,"from-dc":a,"from-de":a,"from-fl":a,"from-ga":a,"from-hi":a,"from-ia":a,"from-id":a,"from-il":a,"from-in":a,"from-ks":a,"from-ky":a,"from-ma":a,"from-md":a,"from-mi":a,"from-mn":a,"from-mo":a,"from-ms":a,"from-mt":a,"from-nc":a,"from-nd":a,"from-ne":a,"from-nh":a,"from-nj":a,"from-nm":a,"from-nv":a,"from-oh":a,"from-ok":a,"from-or":a,"from-pa":a,"from-pr":a,"from-ri":a,"from-sc":a,"from-sd":a,"from-tn":a,"from-tx":a,"from-ut":a,"from-va":a,"from-vt":a,"from-wa":a,"from-wi":a,"from-wv":a,"from-wy":a,getmyip:a,gotdns:a,"hobby-site":a,homelinux:a,homeunix:a,iamallama:a,"is-a-anarchist":a,"is-a-blogger":a,"is-a-bookkeeper":a,"is-a-bulls-fan":a,"is-a-caterer":a,"is-a-chef":a,"is-a-conservative":a,"is-a-cpa":a,"is-a-cubicle-slave":a,"is-a-democrat":a,"is-a-designer":a,"is-a-doctor":a,"is-a-financialadvisor":a,"is-a-geek":a,"is-a-green":a,"is-a-guru":a,"is-a-hard-worker":a,"is-a-hunter":a,"is-a-landscaper":a,"is-a-lawyer":a,"is-a-liberal":a,"is-a-libertarian":a,"is-a-llama":a,"is-a-musician":a,"is-a-nascarfan":a,"is-a-nurse":a,"is-a-painter":a,"is-a-personaltrainer":a,"is-a-photographer":a,"is-a-player":a,"is-a-republican":a,"is-a-rockstar":a,"is-a-socialist":a,"is-a-student":a,"is-a-teacher":a,"is-a-techie":a,"is-a-therapist":a,"is-an-accountant":a,"is-an-actor":a,"is-an-actress":a,"is-an-anarchist":a,"is-an-artist":a,"is-an-engineer":a,"is-an-entertainer":a,"is-certified":a,"is-gone":a,"is-into-anime":a,"is-into-cars":a,"is-into-cartoons":a,"is-into-games":a,"is-leet":a,"is-not-certified":a,"is-slick":a,"is-uberleet":a,"is-with-theband":a,"isa-geek":a,"isa-hockeynut":a,issmarterthanyou:a,"likes-pie":a,likescandy:a,"neat-url":a,"saves-the-whales":a,selfip:a,"sells-for-less":a,"sells-for-u":a,servebbs:a,"simple-url":a,"space-to-rent":a,"teaches-yoga":a,writesthisblog:a,digitaloceanspaces:n,ddnsfree:a,ddnsgeek:a,giize:a,gleeze:a,kozow:a,loseyourip:a,ooguy:a,theworkpc:a,mytuleap:a,"tuleap-partners":a,encoreapi:a,evennode:{$:0,succ:{"eu-1":a,"eu-2":a,"eu-3":a,"eu-4":a,"us-1":a,"us-2":a,"us-3":a,"us-4":a}},onfabrica:a,fbsbx:b,"fastly-edge":a,"fastly-terrarium":a,"fastvps-server":a,mydobiss:a,firebaseapp:a,fldrv:a,forgeblocks:a,framercanvas:a,"freebox-os":a,freeboxos:a,freemyip:a,gentapps:a,gentlentapis:a,githubusercontent:a,"0emm":n,appspot:{$:2,succ:{r:n}},codespot:a,googleapis:a,googlecode:a,pagespeedmobilizer:a,publishproxy:a,withgoogle:a,withyoutube:a,blogspot:a,awsmppl:a,herokuapp:a,herokussl:a,impertrixcdn:a,impertrix:a,smushcdn:a,wphostedmail:a,wpmucdn:a,pixolino:a,amscompute:a,clicketcloud:a,dopaas:a,hidora:a,"hosted-by-previder":v,hosteur:{$:0,succ:{"rag-cloud":a,"rag-cloud-ch":a}},"ik-server":{$:0,succ:{jcloud:a,"jcloud-ver-jpc":a}},jelastic:{$:0,succ:{demo:a}},kilatiron:a,massivegrid:v,wafaicloud:{$:0,succ:{jed:a,lon:a,ryd:a}},joyent:{$:0,succ:{cns:n}},ktistory:a,lpusercontent:a,lmpm:y,linode:{$:0,succ:{members:a,nodebalancer:n}},linodeobjects:n,linodeusercontent:{$:0,succ:{ip:a}},barsycenter:a,barsyonline:a,mazeplay:a,miniserver:a,meteorapp:k,hostedpi:a,"mythic-beasts":{$:0,succ:{customer:a,caracal:a,fentiger:a,lynx:a,ocelot:a,oncilla:a,onza:a,sphinx:a,vs:a,x:a,yali:a}},nospamproxy:o,"4u":a,nfshost:a,"001www":a,ddnslive:a,myiphost:a,blogsyte:a,ciscofreak:a,damnserver:a,ditchyourip:a,dnsiskinky:a,dynns:a,geekgalaxy:a,"health-carereform":a,homesecuritymac:a,homesecuritypc:a,myactivedirectory:a,mysecuritycamera:a,"net-freaks":a,onthewifi:a,point2this:a,quicksytes:a,securitytactics:a,serveexchange:a,servehumour:a,servep2p:a,servesarcasm:a,stufftoread:a,unusualperson:a,workisboring:a,"3utilities":a,ddnsking:a,myvnc:a,servebeer:a,servecounterstrike:a,serveftp:a,servegame:a,servehalflife:a,servehttp:a,serveirc:a,servemp3:a,servepics:a,servequake:a,observableusercontent:{$:0,succ:{static:a}},simplesite:a,orsites:a,operaunite:a,"authgear-staging":a,authgearapps:a,skygearapp:a,outsystemscloud:a,ownprovider:a,pgfog:a,pagefrontapp:a,pagexl:a,paywhirl:n,gotpantheon:a,"platter-app":a,pleskns:a,"postman-echo":a,prgmr:{$:0,succ:{xen:a}},pythonanywhere:k,qualifioapp:a,qbuser:a,qa2:a,"dev-myqnapcloud":a,"alpha-myqnapcloud":a,myqnapcloud:a,quipelements:n,rackmaze:a,rhcloud:a,render:y,onrender:a,"180r":a,dojin:a,sakuratan:a,sakuraweb:a,x0:a,code:{$:0,succ:{builder:n,"dev-builder":n,"stg-builder":n}},logoip:a,scrysec:a,"firewall-gateway":a,myshopblocks:a,myshopify:a,shopitsite:a,"1kapp":a,appchizi:a,applinzi:a,sinaapp:a,vipsinaapp:a,"bounty-full":{$:2,succ:{alpha:a,beta:a}},streamlitapp:a,"try-snowplow":a,"stackhero-network":a,"playstation-cloud":a,myspreadshop:a,stdlib:{$:0,succ:{api:a}},"temp-dns":a,dsmynas:a,familyds:a,mytabit:a,"tb-hosting":w,reservd:a,thingdustdata:a,bloxcms:a,"townnews-staging":a,typeform:{$:0,succ:{pro:a}},hk:a,it:a,vultrobjects:n,wafflecell:a,"reserve-online":a,hotelwithflight:a,remotewd:a,wiardweb:x,messwithdns:a,"woltlab-demo":a,wpenginepowered:{$:2,succ:{js:a}},wixsite:a,xnbay:{$:2,succ:{u2:a,"u2-local":a}},yolasite:a}},coop:e,cr:{$:1,succ:{ac:e,co:e,ed:e,fi:e,go:e,or:e,sa:e}},cu:{$:1,succ:{com:e,edu:e,org:e,net:e,gov:e,inf:e}},cv:{$:1,succ:{com:e,edu:e,int:e,nome:e,org:e,blogspot:a}},cw:A,cx:{$:1,succ:{gov:e,ath:a,info:a}},cy:{$:1,succ:{ac:e,biz:e,com:{$:1,succ:{blogspot:a,scaleforce:E}},ekloges:e,gov:e,ltd:e,mil:e,net:e,org:e,press:e,pro:e,tm:e}},cz:{$:1,succ:{co:a,realm:a,e4:a,blogspot:a,metacentrum:{$:0,succ:{cloud:n,custom:a}},muni:{$:0,succ:{cloud:{$:0,succ:{flt:a,usr:a}}}}}},de:{$:1,succ:{bplaced:a,square7:a,com:a,cosidns:{$:0,succ:{dyn:a}},"dynamisches-dns":a,dnsupdater:a,"internet-dns":a,"l-o-g-i-n":a,dnshome:a,fuettertdasnetz:a,isteingeek:a,istmein:a,lebtimnetz:a,leitungsen:a,traeumtgerade:a,ddnss:{$:2,succ:{dyn:a,dyndns:a}},dyndns1:a,"dyn-ip24":a,"home-webserver":{$:2,succ:{dyn:a}},"myhome-server":a,frusky:n,goip:a,blogspot:a,"xn--gnstigbestellen-zvb":a,"günstigbestellen":a,"xn--gnstigliefern-wob":a,"günstigliefern":a,"hs-heilbronn":{$:0,succ:{it:x}},"dyn-berlin":a,"in-berlin":a,"in-brb":a,"in-butter":a,"in-dsl":a,"in-vpn":a,iservschule:a,"mein-iserv":a,schulplattform:a,schulserver:a,"test-iserv":a,keymachine:a,"git-repos":a,"lcube-server":a,"svn-repos":a,barsy:a,"123webseite":a,logoip:a,"firewall-gateway":a,"my-gateway":a,"my-router":a,spdns:a,speedpartner:{$:0,succ:{customer:a}},myspreadshop:a,"taifun-dns":a,"12hp":a,"2ix":a,"4lima":a,"lima-city":a,"dd-dns":a,"dray-dns":a,draydns:a,"dyn-vpn":a,dynvpn:a,"mein-vigor":a,"my-vigor":a,"my-wan":a,"syno-ds":a,"synology-diskstation":a,"synology-ds":a,uberspace:n,virtualuser:a,"virtual-user":a,"community-pro":a,diskussionsbereich:a}},dj:e,dk:{$:1,succ:{biz:a,co:a,firm:a,reg:a,store:a,blogspot:a,"123hjemmeside":a,myspreadshop:a}},dm:t,do:{$:1,succ:{art:e,com:e,edu:e,gob:e,gov:e,mil:e,net:e,org:e,sld:e,web:e}},dz:{$:1,succ:{art:e,asso:e,com:e,edu:e,gov:e,org:e,net:e,pol:e,soc:e,tm:e}},ec:{$:1,succ:{com:e,info:e,net:e,fin:e,k12:e,med:e,pro:e,org:e,edu:e,gov:e,gob:e,mil:e,base:a,official:a}},edu:{$:1,succ:{rit:{$:0,succ:{"git-pages":a}}}},ee:{$:1,succ:{edu:e,gov:e,riik:e,lib:e,med:e,com:s,pri:e,aip:e,org:e,fie:e}},eg:{$:1,succ:{com:s,edu:e,eun:e,gov:e,mil:e,name:e,net:e,org:e,sci:e}},er:i,es:{$:1,succ:{com:s,nom:e,org:e,gob:e,edu:e,"123miweb":a,myspreadshop:a}},et:{$:1,succ:{com:e,gov:e,org:e,edu:e,biz:e,name:e,info:e,net:e}},eu:{$:1,succ:{airkitapps:a,mycd:a,cloudns:a,dogado:C,barsy:a,wellbeingzone:a,spdns:a,transurl:n,diskstation:a}},fi:{$:1,succ:{aland:e,dy:a,blogspot:a,"xn--hkkinen-5wa":a,"häkkinen":a,iki:a,cloudplatform:{$:0,succ:{fi:a}},datacenter:{$:0,succ:{demo:a,paas:a}},kapsi:a,"123kotisivu":a,myspreadshop:a}},fj:{$:1,succ:{ac:e,biz:e,com:e,gov:e,info:e,mil:e,name:e,net:e,org:e,pro:e}},fk:i,fm:{$:1,succ:{com:e,edu:e,net:e,org:e,radio:a,user:n}},fo:e,fr:{$:1,succ:{asso:e,com:e,gouv:e,nom:e,prd:e,tm:e,aeroport:e,avocat:e,avoues:e,cci:e,chambagri:e,"chirurgiens-dentistes":e,"experts-comptables":e,"geometre-expert":e,greta:e,"huissier-justice":e,medecin:e,notaires:e,pharmacien:e,port:e,veterinaire:e,"en-root":a,"fbx-os":a,fbxos:a,"freebox-os":a,freeboxos:a,blogspot:a,goupile:a,"123siteweb":a,"on-web":a,"chirurgiens-dentistes-en-france":a,dedibox:a,myspreadshop:a,ynh:a}},ga:e,gb:e,gd:{$:1,succ:{edu:e,gov:e}},ge:{$:1,succ:{com:e,edu:e,gov:e,org:e,mil:e,net:e,pvt:e}},gf:e,gg:{$:1,succ:{co:e,net:e,org:e,kaas:a,cya:a,panel:{$:2,succ:{daemon:a}}}},gh:{$:1,succ:{com:e,edu:e,gov:e,org:e,mil:e}},gi:{$:1,succ:{com:e,ltd:e,gov:e,mod:e,edu:e,org:e}},gl:{$:1,succ:{co:e,com:e,edu:e,net:e,org:e,biz:a,xx:a}},gm:e,gn:{$:1,succ:{ac:e,com:e,edu:e,gov:e,org:e,net:e}},gov:e,gp:{$:1,succ:{com:e,net:e,mobi:e,edu:e,org:e,asso:e,app:a}},gq:e,gr:{$:1,succ:{com:e,edu:e,net:e,org:e,gov:e,blogspot:a,simplesite:a}},gs:e,gt:{$:1,succ:{com:e,edu:e,gob:e,ind:e,mil:e,net:e,org:e,blog:a,de:a,to:a}},gu:{$:1,succ:{com:e,edu:e,gov:e,guam:e,info:e,net:e,org:e,web:e}},gw:e,gy:{$:1,succ:{co:e,com:e,edu:e,gov:e,net:e,org:e,be:a}},hk:{$:1,succ:{com:e,edu:e,gov:e,idv:e,net:e,org:e,"xn--55qx5d":e,"公司":e,"xn--wcvs22d":e,"教育":e,"xn--lcvr32d":e,"敎育":e,"xn--mxtq1m":e,"政府":e,"xn--gmqw5a":e,"個人":e,"xn--ciqpn":e,"个人":e,"xn--gmq050i":e,"箇人":e,"xn--zf0avx":e,"網络":e,"xn--io0a7i":e,"网络":e,"xn--mk0axi":e,"组織":e,"xn--od0alg":e,"網絡":e,"xn--od0aq3b":e,"网絡":e,"xn--tn0ag":e,"组织":e,"xn--uc0atv":e,"組織":e,"xn--uc0ay4a":e,"組织":e,blogspot:a,secaas:a,ltd:a,inc:a}},hm:e,hn:{$:1,succ:{com:e,edu:e,org:e,net:e,mil:e,gob:e,cc:a}},hr:{$:1,succ:{iz:e,from:e,name:e,com:e,blogspot:a,free:a}},ht:{$:1,succ:{com:e,shop:e,firm:e,info:e,adult:e,net:e,pro:e,org:e,med:e,art:e,coop:e,pol:e,asso:e,edu:e,rel:e,gouv:e,perso:e}},hu:{$:1,succ:{2e3:e,co:e,info:e,org:e,priv:e,sport:e,tm:e,agrar:e,bolt:e,casino:e,city:e,erotica:e,erotika:e,film:e,forum:e,games:e,hotel:e,ingatlan:e,jogasz:e,konyvelo:e,lakas:e,media:e,news:e,reklam:e,sex:e,shop:e,suli:e,szex:e,tozsde:e,utazas:e,video:e,blogspot:a}},id:{$:1,succ:{ac:e,biz:e,co:s,desa:e,go:e,mil:e,my:{$:1,succ:{rss:n}},net:e,or:e,ponpes:e,sch:e,web:e,flap:a,forte:a}},ie:{$:1,succ:{gov:e,blogspot:a,myspreadshop:a}},il:{$:1,succ:{ac:e,co:{$:1,succ:{ravpage:a,blogspot:a,tabitorder:a,mytabit:a}},gov:e,idf:e,k12:e,muni:e,net:e,org:e}},"xn--4dbrk0ce":{$:1,succ:{"xn--4dbgdty6c":e,"xn--5dbhl8d":e,"xn--8dbq2a":e,"xn--hebda8b":e}},"ישראל":{$:1,succ:{"אקדמיה":e,"ישוב":e,"צהל":e,"ממשל":e}},im:{$:1,succ:{ac:e,co:{$:1,succ:{ltd:e,plc:e}},com:e,net:e,org:e,tt:e,tv:e,ro:a}},in:{$:1,succ:{"5g":e,"6g":e,ac:e,ai:e,am:e,bihar:e,biz:e,business:e,ca:e,cn:e,co:e,com:e,coop:e,cs:e,delhi:e,dr:e,edu:e,er:e,firm:e,gen:e,gov:e,gujarat:e,ind:e,info:e,int:e,internet:e,io:e,me:e,mil:e,net:e,nic:e,org:e,pg:e,post:e,pro:e,res:e,travel:e,tv:e,uk:e,up:e,us:e,web:a,cloudns:a,blogspot:a,barsy:a,supabase:a}},info:{$:1,succ:{cloudns:a,"dynamic-dns":a,dyndns:a,"barrel-of-knowledge":a,"barrell-of-knowledge":a,"for-our":a,"groks-the":a,"groks-this":a,"here-for-more":a,knowsitall:a,selfip:a,webhop:a,barsy:a,mayfirst:a,forumz:a,nsupdate:a,dvrcam:a,ilovecollege:a,"no-ip":a,dnsupdate:a,"v-info":a}},int:{$:1,succ:{eu:e}},io:{$:1,succ:{2038:a,com:e,"on-acorn":n,apigee:a,"b-data":a,backplaneapp:a,banzaicloud:{$:0,succ:{app:a,backyards:n}},beagleboard:a,bitbucket:a,bluebite:a,boxfuse:a,browsersafetymark:a,bigv:{$:0,succ:{uk0:a}},cleverapps:a,dappnode:{$:0,succ:{dyndns:a}},dedyn:a,drud:a,definima:a,"fh-muenster":a,shw:a,forgerock:{$:0,succ:{id:a}},ghost:a,github:a,gitlab:a,lolipop:a,"hasura-app":a,hostyhosting:a,moonscale:n,beebyte:v,beebyteapp:{$:0,succ:{sekd1:a}},jele:a,unispace:{$:0,succ:{"cloud-fr1":a}},webthings:a,loginline:a,barsy:a,azurecontainer:n,ngrok:{$:2,succ:{ap:a,au:a,eu:a,in:a,jp:a,sa:a,us:a}},nodeart:{$:0,succ:{stage:a}},nid:a,pantheonsite:a,dyn53:a,pstmn:{$:2,succ:{mock:a}},protonet:a,qoto:a,qcx:{$:2,succ:{sys:n}},vaporcloud:a,vbrplsbx:{$:0,succ:{g:a}},"on-k3s":n,"on-rio":n,readthedocs:a,resindevice:a,resinstaging:{$:0,succ:{devices:a}},hzc:a,sandcats:a,shiftcrypto:a,shiftedit:a,"mo-siemens":a,musician:a,lair:b,stolos:n,spacekit:a,utwente:a,s5y:n,edugit:a,telebit:a,thingdust:{$:0,succ:{dev:R,disrec:R,prod:S,testing:R}},tickets:a,upli:a,wedeploy:a,editorx:a,basicserver:a,virtualserver:a}},iq:_,ir:{$:1,succ:{ac:e,co:e,gov:e,id:e,net:e,org:e,sch:e,"xn--mgba3a4f16a":e,"ایران":e,"xn--mgba3a4fra":e,"ايران":e}},is:{$:1,succ:{net:e,com:e,edu:e,gov:e,org:e,int:e,cupcake:a,blogspot:a}},it:{$:1,succ:{gov:e,edu:e,abr:e,abruzzo:e,"aosta-valley":e,aostavalley:e,bas:e,basilicata:e,cal:e,calabria:e,cam:e,campania:e,"emilia-romagna":e,emiliaromagna:e,emr:e,"friuli-v-giulia":e,"friuli-ve-giulia":e,"friuli-vegiulia":e,"friuli-venezia-giulia":e,"friuli-veneziagiulia":e,"friuli-vgiulia":e,"friuliv-giulia":e,"friulive-giulia":e,friulivegiulia:e,"friulivenezia-giulia":e,friuliveneziagiulia:e,friulivgiulia:e,fvg:e,laz:e,lazio:e,lig:e,liguria:e,lom:e,lombardia:e,lombardy:e,lucania:e,mar:e,marche:e,mol:e,molise:e,piedmont:e,piemonte:e,pmn:e,pug:e,puglia:e,sar:e,sardegna:e,sardinia:e,sic:e,sicilia:e,sicily:e,taa:e,tos:e,toscana:e,"trentin-sud-tirol":e,"xn--trentin-sd-tirol-rzb":e,"trentin-süd-tirol":e,"trentin-sudtirol":e,"xn--trentin-sdtirol-7vb":e,"trentin-südtirol":e,"trentin-sued-tirol":e,"trentin-suedtirol":e,"trentino-a-adige":e,"trentino-aadige":e,"trentino-alto-adige":e,"trentino-altoadige":e,"trentino-s-tirol":e,"trentino-stirol":e,"trentino-sud-tirol":e,"xn--trentino-sd-tirol-c3b":e,"trentino-süd-tirol":e,"trentino-sudtirol":e,"xn--trentino-sdtirol-szb":e,"trentino-südtirol":e,"trentino-sued-tirol":e,"trentino-suedtirol":e,trentino:e,"trentinoa-adige":e,trentinoaadige:e,"trentinoalto-adige":e,trentinoaltoadige:e,"trentinos-tirol":e,trentinostirol:e,"trentinosud-tirol":e,"xn--trentinosd-tirol-rzb":e,"trentinosüd-tirol":e,trentinosudtirol:e,"xn--trentinosdtirol-7vb":e,"trentinosüdtirol":e,"trentinosued-tirol":e,trentinosuedtirol:e,"trentinsud-tirol":e,"xn--trentinsd-tirol-6vb":e,"trentinsüd-tirol":e,trentinsudtirol:e,"xn--trentinsdtirol-nsb":e,"trentinsüdtirol":e,"trentinsued-tirol":e,trentinsuedtirol:e,tuscany:e,umb:e,umbria:e,"val-d-aosta":e,"val-daosta":e,"vald-aosta":e,valdaosta:e,"valle-aosta":e,"valle-d-aosta":e,"valle-daosta":e,valleaosta:e,"valled-aosta":e,valledaosta:e,"vallee-aoste":e,"xn--valle-aoste-ebb":e,"vallée-aoste":e,"vallee-d-aoste":e,"xn--valle-d-aoste-ehb":e,"vallée-d-aoste":e,valleeaoste:e,"xn--valleaoste-e7a":e,"valléeaoste":e,valleedaoste:e,"xn--valledaoste-ebb":e,"valléedaoste":e,vao:e,vda:e,ven:e,veneto:e,ag:e,agrigento:e,al:e,alessandria:e,"alto-adige":e,altoadige:e,an:e,ancona:e,"andria-barletta-trani":e,"andria-trani-barletta":e,andriabarlettatrani:e,andriatranibarletta:e,ao:e,aosta:e,aoste:e,ap:e,aq:e,aquila:e,ar:e,arezzo:e,"ascoli-piceno":e,ascolipiceno:e,asti:e,at:e,av:e,avellino:e,ba:e,"balsan-sudtirol":e,"xn--balsan-sdtirol-nsb":e,"balsan-südtirol":e,"balsan-suedtirol":e,balsan:e,bari:e,"barletta-trani-andria":e,barlettatraniandria:e,belluno:e,benevento:e,bergamo:e,bg:e,bi:e,biella:e,bl:e,bn:e,bo:e,bologna:e,"bolzano-altoadige":e,bolzano:e,"bozen-sudtirol":e,"xn--bozen-sdtirol-2ob":e,"bozen-südtirol":e,"bozen-suedtirol":e,bozen:e,br:e,brescia:e,brindisi:e,bs:e,bt:e,"bulsan-sudtirol":e,"xn--bulsan-sdtirol-nsb":e,"bulsan-südtirol":e,"bulsan-suedtirol":e,bulsan:e,bz:e,ca:e,cagliari:e,caltanissetta:e,"campidano-medio":e,campidanomedio:e,campobasso:e,"carbonia-iglesias":e,carboniaiglesias:e,"carrara-massa":e,carraramassa:e,caserta:e,catania:e,catanzaro:e,cb:e,ce:e,"cesena-forli":e,"xn--cesena-forl-mcb":e,"cesena-forlì":e,cesenaforli:e,"xn--cesenaforl-i8a":e,"cesenaforlì":e,ch:e,chieti:e,ci:e,cl:e,cn:e,co:e,como:e,cosenza:e,cr:e,cremona:e,crotone:e,cs:e,ct:e,cuneo:e,cz:e,"dell-ogliastra":e,dellogliastra:e,en:e,enna:e,fc:e,fe:e,fermo:e,ferrara:e,fg:e,fi:e,firenze:e,florence:e,fm:e,foggia:e,"forli-cesena":e,"xn--forl-cesena-fcb":e,"forlì-cesena":e,forlicesena:e,"xn--forlcesena-c8a":e,"forlìcesena":e,fr:e,frosinone:e,ge:e,genoa:e,genova:e,go:e,gorizia:e,gr:e,grosseto:e,"iglesias-carbonia":e,iglesiascarbonia:e,im:e,imperia:e,is:e,isernia:e,kr:e,"la-spezia":e,laquila:e,laspezia:e,latina:e,lc:e,le:e,lecce:e,lecco:e,li:e,livorno:e,lo:e,lodi:e,lt:e,lu:e,lucca:e,macerata:e,mantova:e,"massa-carrara":e,massacarrara:e,matera:e,mb:e,mc:e,me:e,"medio-campidano":e,mediocampidano:e,messina:e,mi:e,milan:e,milano:e,mn:e,mo:e,modena:e,"monza-brianza":e,"monza-e-della-brianza":e,monza:e,monzabrianza:e,monzaebrianza:e,monzaedellabrianza:e,ms:e,mt:e,na:e,naples:e,napoli:e,no:e,novara:e,nu:e,nuoro:e,og:e,ogliastra:e,"olbia-tempio":e,olbiatempio:e,or:e,oristano:e,ot:e,pa:e,padova:e,padua:e,palermo:e,parma:e,pavia:e,pc:e,pd:e,pe:e,perugia:e,"pesaro-urbino":e,pesarourbino:e,pescara:e,pg:e,pi:e,piacenza:e,pisa:e,pistoia:e,pn:e,po:e,pordenone:e,potenza:e,pr:e,prato:e,pt:e,pu:e,pv:e,pz:e,ra:e,ragusa:e,ravenna:e,rc:e,re:e,"reggio-calabria":e,"reggio-emilia":e,reggiocalabria:e,reggioemilia:e,rg:e,ri:e,rieti:e,rimini:e,rm:e,rn:e,ro:e,roma:e,rome:e,rovigo:e,sa:e,salerno:e,sassari:e,savona:e,si:e,siena:e,siracusa:e,so:e,sondrio:e,sp:e,sr:e,ss:e,suedtirol:e,"xn--sdtirol-n2a":e,"südtirol":e,sv:e,ta:e,taranto:e,te:e,"tempio-olbia":e,tempioolbia:e,teramo:e,terni:e,tn:e,to:e,torino:e,tp:e,tr:e,"trani-andria-barletta":e,"trani-barletta-andria":e,traniandriabarletta:e,tranibarlettaandria:e,trapani:e,trento:e,treviso:e,trieste:e,ts:e,turin:e,tv:e,ud:e,udine:e,"urbino-pesaro":e,urbinopesaro:e,va:e,varese:e,vb:e,vc:e,ve:e,venezia:e,venice:e,verbania:e,vercelli:e,verona:e,vi:e,"vibo-valentia":e,vibovalentia:e,vicenza:e,viterbo:e,vr:e,vs:e,vt:e,vv:e,blogspot:a,ibxos:a,iliadboxos:a,neen:{$:0,succ:{jc:a}},tim:{$:0,succ:{open:{$:0,succ:{jelastic:o}}}},"16-b":a,"32-b":a,"64-b":a,"123homepage":a,myspreadshop:a,syncloud:a}},je:{$:1,succ:{co:e,net:e,org:e,of:a}},jm:i,jo:{$:1,succ:{com:e,org:e,net:e,edu:e,sch:e,gov:e,mil:e,name:e}},jobs:e,jp:{$:1,succ:{ac:e,ad:e,co:e,ed:e,go:e,gr:e,lg:e,ne:{$:1,succ:{aseinet:D,gehirn:a,ivory:a,"mail-box":a,mints:a,mokuren:a,opal:a,sakura:a,sumomo:a,topaz:a}},or:e,aichi:{$:1,succ:{aisai:e,ama:e,anjo:e,asuke:e,chiryu:e,chita:e,fuso:e,gamagori:e,handa:e,hazu:e,hekinan:e,higashiura:e,ichinomiya:e,inazawa:e,inuyama:e,isshiki:e,iwakura:e,kanie:e,kariya:e,kasugai:e,kira:e,kiyosu:e,komaki:e,konan:e,kota:e,mihama:e,miyoshi:e,nishio:e,nisshin:e,obu:e,oguchi:e,oharu:e,okazaki:e,owariasahi:e,seto:e,shikatsu:e,shinshiro:e,shitara:e,tahara:e,takahama:e,tobishima:e,toei:e,togo:e,tokai:e,tokoname:e,toyoake:e,toyohashi:e,toyokawa:e,toyone:e,toyota:e,tsushima:e,yatomi:e}},akita:{$:1,succ:{akita:e,daisen:e,fujisato:e,gojome:e,hachirogata:e,happou:e,higashinaruse:e,honjo:e,honjyo:e,ikawa:e,kamikoani:e,kamioka:e,katagami:e,kazuno:e,kitaakita:e,kosaka:e,kyowa:e,misato:e,mitane:e,moriyoshi:e,nikaho:e,noshiro:e,odate:e,oga:e,ogata:e,semboku:e,yokote:e,yurihonjo:e}},aomori:{$:1,succ:{aomori:e,gonohe:e,hachinohe:e,hashikami:e,hiranai:e,hirosaki:e,itayanagi:e,kuroishi:e,misawa:e,mutsu:e,nakadomari:e,noheji:e,oirase:e,owani:e,rokunohe:e,sannohe:e,shichinohe:e,shingo:e,takko:e,towada:e,tsugaru:e,tsuruta:e}},chiba:{$:1,succ:{abiko:e,asahi:e,chonan:e,chosei:e,choshi:e,chuo:e,funabashi:e,futtsu:e,hanamigawa:e,ichihara:e,ichikawa:e,ichinomiya:e,inzai:e,isumi:e,kamagaya:e,kamogawa:e,kashiwa:e,katori:e,katsuura:e,kimitsu:e,kisarazu:e,kozaki:e,kujukuri:e,kyonan:e,matsudo:e,midori:e,mihama:e,minamiboso:e,mobara:e,mutsuzawa:e,nagara:e,nagareyama:e,narashino:e,narita:e,noda:e,oamishirasato:e,omigawa:e,onjuku:e,otaki:e,sakae:e,sakura:e,shimofusa:e,shirako:e,shiroi:e,shisui:e,sodegaura:e,sosa:e,tako:e,tateyama:e,togane:e,tohnosho:e,tomisato:e,urayasu:e,yachimata:e,yachiyo:e,yokaichiba:e,yokoshibahikari:e,yotsukaido:e}},ehime:{$:1,succ:{ainan:e,honai:e,ikata:e,imabari:e,iyo:e,kamijima:e,kihoku:e,kumakogen:e,masaki:e,matsuno:e,matsuyama:e,namikata:e,niihama:e,ozu:e,saijo:e,seiyo:e,shikokuchuo:e,tobe:e,toon:e,uchiko:e,uwajima:e,yawatahama:e}},fukui:{$:1,succ:{echizen:e,eiheiji:e,fukui:e,ikeda:e,katsuyama:e,mihama:e,minamiechizen:e,obama:e,ohi:e,ono:e,sabae:e,sakai:e,takahama:e,tsuruga:e,wakasa:e}},fukuoka:{$:1,succ:{ashiya:e,buzen:e,chikugo:e,chikuho:e,chikujo:e,chikushino:e,chikuzen:e,chuo:e,dazaifu:e,fukuchi:e,hakata:e,higashi:e,hirokawa:e,hisayama:e,iizuka:e,inatsuki:e,kaho:e,kasuga:e,kasuya:e,kawara:e,keisen:e,koga:e,kurate:e,kurogi:e,kurume:e,minami:e,miyako:e,miyama:e,miyawaka:e,mizumaki:e,munakata:e,nakagawa:e,nakama:e,nishi:e,nogata:e,ogori:e,okagaki:e,okawa:e,oki:e,omuta:e,onga:e,onojo:e,oto:e,saigawa:e,sasaguri:e,shingu:e,shinyoshitomi:e,shonai:e,soeda:e,sue:e,tachiarai:e,tagawa:e,takata:e,toho:e,toyotsu:e,tsuiki:e,ukiha:e,umi:e,usui:e,yamada:e,yame:e,yanagawa:e,yukuhashi:e}},fukushima:{$:1,succ:{aizubange:e,aizumisato:e,aizuwakamatsu:e,asakawa:e,bandai:e,date:e,fukushima:e,furudono:e,futaba:e,hanawa:e,higashi:e,hirata:e,hirono:e,iitate:e,inawashiro:e,ishikawa:e,iwaki:e,izumizaki:e,kagamiishi:e,kaneyama:e,kawamata:e,kitakata:e,kitashiobara:e,koori:e,koriyama:e,kunimi:e,miharu:e,mishima:e,namie:e,nango:e,nishiaizu:e,nishigo:e,okuma:e,omotego:e,ono:e,otama:e,samegawa:e,shimogo:e,shirakawa:e,showa:e,soma:e,sukagawa:e,taishin:e,tamakawa:e,tanagura:e,tenei:e,yabuki:e,yamato:e,yamatsuri:e,yanaizu:e,yugawa:e}},gifu:{$:1,succ:{anpachi:e,ena:e,gifu:e,ginan:e,godo:e,gujo:e,hashima:e,hichiso:e,hida:e,higashishirakawa:e,ibigawa:e,ikeda:e,kakamigahara:e,kani:e,kasahara:e,kasamatsu:e,kawaue:e,kitagata:e,mino:e,minokamo:e,mitake:e,mizunami:e,motosu:e,nakatsugawa:e,ogaki:e,sakahogi:e,seki:e,sekigahara:e,shirakawa:e,tajimi:e,takayama:e,tarui:e,toki:e,tomika:e,wanouchi:e,yamagata:e,yaotsu:e,yoro:e}},gunma:{$:1,succ:{annaka:e,chiyoda:e,fujioka:e,higashiagatsuma:e,isesaki:e,itakura:e,kanna:e,kanra:e,katashina:e,kawaba:e,kiryu:e,kusatsu:e,maebashi:e,meiwa:e,midori:e,minakami:e,naganohara:e,nakanojo:e,nanmoku:e,numata:e,oizumi:e,ora:e,ota:e,shibukawa:e,shimonita:e,shinto:e,showa:e,takasaki:e,takayama:e,tamamura:e,tatebayashi:e,tomioka:e,tsukiyono:e,tsumagoi:e,ueno:e,yoshioka:e}},hiroshima:{$:1,succ:{asaminami:e,daiwa:e,etajima:e,fuchu:e,fukuyama:e,hatsukaichi:e,higashihiroshima:e,hongo:e,jinsekikogen:e,kaita:e,kui:e,kumano:e,kure:e,mihara:e,miyoshi:e,naka:e,onomichi:e,osakikamijima:e,otake:e,saka:e,sera:e,seranishi:e,shinichi:e,shobara:e,takehara:e}},hokkaido:{$:1,succ:{abashiri:e,abira:e,aibetsu:e,akabira:e,akkeshi:e,asahikawa:e,ashibetsu:e,ashoro:e,assabu:e,atsuma:e,bibai:e,biei:e,bifuka:e,bihoro:e,biratori:e,chippubetsu:e,chitose:e,date:e,ebetsu:e,embetsu:e,eniwa:e,erimo:e,esan:e,esashi:e,fukagawa:e,fukushima:e,furano:e,furubira:e,haboro:e,hakodate:e,hamatonbetsu:e,hidaka:e,higashikagura:e,higashikawa:e,hiroo:e,hokuryu:e,hokuto:e,honbetsu:e,horokanai:e,horonobe:e,ikeda:e,imakane:e,ishikari:e,iwamizawa:e,iwanai:e,kamifurano:e,kamikawa:e,kamishihoro:e,kamisunagawa:e,kamoenai:e,kayabe:e,kembuchi:e,kikonai:e,kimobetsu:e,kitahiroshima:e,kitami:e,kiyosato:e,koshimizu:e,kunneppu:e,kuriyama:e,kuromatsunai:e,kushiro:e,kutchan:e,kyowa:e,mashike:e,matsumae:e,mikasa:e,minamifurano:e,mombetsu:e,moseushi:e,mukawa:e,muroran:e,naie:e,nakagawa:e,nakasatsunai:e,nakatombetsu:e,nanae:e,nanporo:e,nayoro:e,nemuro:e,niikappu:e,niki:e,nishiokoppe:e,noboribetsu:e,numata:e,obihiro:e,obira:e,oketo:e,okoppe:e,otaru:e,otobe:e,otofuke:e,otoineppu:e,oumu:e,ozora:e,pippu:e,rankoshi:e,rebun:e,rikubetsu:e,rishiri:e,rishirifuji:e,saroma:e,sarufutsu:e,shakotan:e,shari:e,shibecha:e,shibetsu:e,shikabe:e,shikaoi:e,shimamaki:e,shimizu:e,shimokawa:e,shinshinotsu:e,shintoku:e,shiranuka:e,shiraoi:e,shiriuchi:e,sobetsu:e,sunagawa:e,taiki:e,takasu:e,takikawa:e,takinoue:e,teshikaga:e,tobetsu:e,tohma:e,tomakomai:e,tomari:e,toya:e,toyako:e,toyotomi:e,toyoura:e,tsubetsu:e,tsukigata:e,urakawa:e,urausu:e,uryu:e,utashinai:e,wakkanai:e,wassamu:e,yakumo:e,yoichi:e}},hyogo:{$:1,succ:{aioi:e,akashi:e,ako:e,amagasaki:e,aogaki:e,asago:e,ashiya:e,awaji:e,fukusaki:e,goshiki:e,harima:e,himeji:e,ichikawa:e,inagawa:e,itami:e,kakogawa:e,kamigori:e,kamikawa:e,kasai:e,kasuga:e,kawanishi:e,miki:e,minamiawaji:e,nishinomiya:e,nishiwaki:e,ono:e,sanda:e,sannan:e,sasayama:e,sayo:e,shingu:e,shinonsen:e,shiso:e,sumoto:e,taishi:e,taka:e,takarazuka:e,takasago:e,takino:e,tamba:e,tatsuno:e,toyooka:e,yabu:e,yashiro:e,yoka:e,yokawa:e}},ibaraki:{$:1,succ:{ami:e,asahi:e,bando:e,chikusei:e,daigo:e,fujishiro:e,hitachi:e,hitachinaka:e,hitachiomiya:e,hitachiota:e,ibaraki:e,ina:e,inashiki:e,itako:e,iwama:e,joso:e,kamisu:e,kasama:e,kashima:e,kasumigaura:e,koga:e,miho:e,mito:e,moriya:e,naka:e,namegata:e,oarai:e,ogawa:e,omitama:e,ryugasaki:e,sakai:e,sakuragawa:e,shimodate:e,shimotsuma:e,shirosato:e,sowa:e,suifu:e,takahagi:e,tamatsukuri:e,tokai:e,tomobe:e,tone:e,toride:e,tsuchiura:e,tsukuba:e,uchihara:e,ushiku:e,yachiyo:e,yamagata:e,yawara:e,yuki:e}},ishikawa:{$:1,succ:{anamizu:e,hakui:e,hakusan:e,kaga:e,kahoku:e,kanazawa:e,kawakita:e,komatsu:e,nakanoto:e,nanao:e,nomi:e,nonoichi:e,noto:e,shika:e,suzu:e,tsubata:e,tsurugi:e,uchinada:e,wajima:e}},iwate:{$:1,succ:{fudai:e,fujisawa:e,hanamaki:e,hiraizumi:e,hirono:e,ichinohe:e,ichinoseki:e,iwaizumi:e,iwate:e,joboji:e,kamaishi:e,kanegasaki:e,karumai:e,kawai:e,kitakami:e,kuji:e,kunohe:e,kuzumaki:e,miyako:e,mizusawa:e,morioka:e,ninohe:e,noda:e,ofunato:e,oshu:e,otsuchi:e,rikuzentakata:e,shiwa:e,shizukuishi:e,sumita:e,tanohata:e,tono:e,yahaba:e,yamada:e}},kagawa:{$:1,succ:{ayagawa:e,higashikagawa:e,kanonji:e,kotohira:e,manno:e,marugame:e,mitoyo:e,naoshima:e,sanuki:e,tadotsu:e,takamatsu:e,tonosho:e,uchinomi:e,utazu:e,zentsuji:e}},kagoshima:{$:1,succ:{akune:e,amami:e,hioki:e,isa:e,isen:e,izumi:e,kagoshima:e,kanoya:e,kawanabe:e,kinko:e,kouyama:e,makurazaki:e,matsumoto:e,minamitane:e,nakatane:e,nishinoomote:e,satsumasendai:e,soo:e,tarumizu:e,yusui:e}},kanagawa:{$:1,succ:{aikawa:e,atsugi:e,ayase:e,chigasaki:e,ebina:e,fujisawa:e,hadano:e,hakone:e,hiratsuka:e,isehara:e,kaisei:e,kamakura:e,kiyokawa:e,matsuda:e,minamiashigara:e,miura:e,nakai:e,ninomiya:e,odawara:e,oi:e,oiso:e,sagamihara:e,samukawa:e,tsukui:e,yamakita:e,yamato:e,yokosuka:e,yugawara:e,zama:e,zushi:e}},kochi:{$:1,succ:{aki:e,geisei:e,hidaka:e,higashitsuno:e,ino:e,kagami:e,kami:e,kitagawa:e,kochi:e,mihara:e,motoyama:e,muroto:e,nahari:e,nakamura:e,nankoku:e,nishitosa:e,niyodogawa:e,ochi:e,okawa:e,otoyo:e,otsuki:e,sakawa:e,sukumo:e,susaki:e,tosa:e,tosashimizu:e,toyo:e,tsuno:e,umaji:e,yasuda:e,yusuhara:e}},kumamoto:{$:1,succ:{amakusa:e,arao:e,aso:e,choyo:e,gyokuto:e,kamiamakusa:e,kikuchi:e,kumamoto:e,mashiki:e,mifune:e,minamata:e,minamioguni:e,nagasu:e,nishihara:e,oguni:e,ozu:e,sumoto:e,takamori:e,uki:e,uto:e,yamaga:e,yamato:e,yatsushiro:e}},kyoto:{$:1,succ:{ayabe:e,fukuchiyama:e,higashiyama:e,ide:e,ine:e,joyo:e,kameoka:e,kamo:e,kita:e,kizu:e,kumiyama:e,kyotamba:e,kyotanabe:e,kyotango:e,maizuru:e,minami:e,minamiyamashiro:e,miyazu:e,muko:e,nagaokakyo:e,nakagyo:e,nantan:e,oyamazaki:e,sakyo:e,seika:e,tanabe:e,uji:e,ujitawara:e,wazuka:e,yamashina:e,yawata:e}},mie:{$:1,succ:{asahi:e,inabe:e,ise:e,kameyama:e,kawagoe:e,kiho:e,kisosaki:e,kiwa:e,komono:e,kumano:e,kuwana:e,matsusaka:e,meiwa:e,mihama:e,minamiise:e,misugi:e,miyama:e,nabari:e,shima:e,suzuka:e,tado:e,taiki:e,taki:e,tamaki:e,toba:e,tsu:e,udono:e,ureshino:e,watarai:e,yokkaichi:e}},miyagi:{$:1,succ:{furukawa:e,higashimatsushima:e,ishinomaki:e,iwanuma:e,kakuda:e,kami:e,kawasaki:e,marumori:e,matsushima:e,minamisanriku:e,misato:e,murata:e,natori:e,ogawara:e,ohira:e,onagawa:e,osaki:e,rifu:e,semine:e,shibata:e,shichikashuku:e,shikama:e,shiogama:e,shiroishi:e,tagajo:e,taiwa:e,tome:e,tomiya:e,wakuya:e,watari:e,yamamoto:e,zao:e}},miyazaki:{$:1,succ:{aya:e,ebino:e,gokase:e,hyuga:e,kadogawa:e,kawaminami:e,kijo:e,kitagawa:e,kitakata:e,kitaura:e,kobayashi:e,kunitomi:e,kushima:e,mimata:e,miyakonojo:e,miyazaki:e,morotsuka:e,nichinan:e,nishimera:e,nobeoka:e,saito:e,shiiba:e,shintomi:e,takaharu:e,takanabe:e,takazaki:e,tsuno:e}},nagano:{$:1,succ:{achi:e,agematsu:e,anan:e,aoki:e,asahi:e,azumino:e,chikuhoku:e,chikuma:e,chino:e,fujimi:e,hakuba:e,hara:e,hiraya:e,iida:e,iijima:e,iiyama:e,iizuna:e,ikeda:e,ikusaka:e,ina:e,karuizawa:e,kawakami:e,kiso:e,kisofukushima:e,kitaaiki:e,komagane:e,komoro:e,matsukawa:e,matsumoto:e,miasa:e,minamiaiki:e,minamimaki:e,minamiminowa:e,minowa:e,miyada:e,miyota:e,mochizuki:e,nagano:e,nagawa:e,nagiso:e,nakagawa:e,nakano:e,nozawaonsen:e,obuse:e,ogawa:e,okaya:e,omachi:e,omi:e,ookuwa:e,ooshika:e,otaki:e,otari:e,sakae:e,sakaki:e,saku:e,sakuho:e,shimosuwa:e,shinanomachi:e,shiojiri:e,suwa:e,suzaka:e,takagi:e,takamori:e,takayama:e,tateshina:e,tatsuno:e,togakushi:e,togura:e,tomi:e,ueda:e,wada:e,yamagata:e,yamanouchi:e,yasaka:e,yasuoka:e}},nagasaki:{$:1,succ:{chijiwa:e,futsu:e,goto:e,hasami:e,hirado:e,iki:e,isahaya:e,kawatana:e,kuchinotsu:e,matsuura:e,nagasaki:e,obama:e,omura:e,oseto:e,saikai:e,sasebo:e,seihi:e,shimabara:e,shinkamigoto:e,togitsu:e,tsushima:e,unzen:e}},nara:{$:1,succ:{ando:e,gose:e,heguri:e,higashiyoshino:e,ikaruga:e,ikoma:e,kamikitayama:e,kanmaki:e,kashiba:e,kashihara:e,katsuragi:e,kawai:e,kawakami:e,kawanishi:e,koryo:e,kurotaki:e,mitsue:e,miyake:e,nara:e,nosegawa:e,oji:e,ouda:e,oyodo:e,sakurai:e,sango:e,shimoichi:e,shimokitayama:e,shinjo:e,soni:e,takatori:e,tawaramoto:e,tenkawa:e,tenri:e,uda:e,yamatokoriyama:e,yamatotakada:e,yamazoe:e,yoshino:e}},niigata:{$:1,succ:{aga:e,agano:e,gosen:e,itoigawa:e,izumozaki:e,joetsu:e,kamo:e,kariwa:e,kashiwazaki:e,minamiuonuma:e,mitsuke:e,muika:e,murakami:e,myoko:e,nagaoka:e,niigata:e,ojiya:e,omi:e,sado:e,sanjo:e,seiro:e,seirou:e,sekikawa:e,shibata:e,tagami:e,tainai:e,tochio:e,tokamachi:e,tsubame:e,tsunan:e,uonuma:e,yahiko:e,yoita:e,yuzawa:e}},oita:{$:1,succ:{beppu:e,bungoono:e,bungotakada:e,hasama:e,hiji:e,himeshima:e,hita:e,kamitsue:e,kokonoe:e,kuju:e,kunisaki:e,kusu:e,oita:e,saiki:e,taketa:e,tsukumi:e,usa:e,usuki:e,yufu:e}},okayama:{$:1,succ:{akaiwa:e,asakuchi:e,bizen:e,hayashima:e,ibara:e,kagamino:e,kasaoka:e,kibichuo:e,kumenan:e,kurashiki:e,maniwa:e,misaki:e,nagi:e,niimi:e,nishiawakura:e,okayama:e,satosho:e,setouchi:e,shinjo:e,shoo:e,soja:e,takahashi:e,tamano:e,tsuyama:e,wake:e,yakage:e}},okinawa:{$:1,succ:{aguni:e,ginowan:e,ginoza:e,gushikami:e,haebaru:e,higashi:e,hirara:e,iheya:e,ishigaki:e,ishikawa:e,itoman:e,izena:e,kadena:e,kin:e,kitadaito:e,kitanakagusuku:e,kumejima:e,kunigami:e,minamidaito:e,motobu:e,nago:e,naha:e,nakagusuku:e,nakijin:e,nanjo:e,nishihara:e,ogimi:e,okinawa:e,onna:e,shimoji:e,taketomi:e,tarama:e,tokashiki:e,tomigusuku:e,tonaki:e,urasoe:e,uruma:e,yaese:e,yomitan:e,yonabaru:e,yonaguni:e,zamami:e}},osaka:{$:1,succ:{abeno:e,chihayaakasaka:e,chuo:e,daito:e,fujiidera:e,habikino:e,hannan:e,higashiosaka:e,higashisumiyoshi:e,higashiyodogawa:e,hirakata:e,ibaraki:e,ikeda:e,izumi:e,izumiotsu:e,izumisano:e,kadoma:e,kaizuka:e,kanan:e,kashiwara:e,katano:e,kawachinagano:e,kishiwada:e,kita:e,kumatori:e,matsubara:e,minato:e,minoh:e,misaki:e,moriguchi:e,neyagawa:e,nishi:e,nose:e,osakasayama:e,sakai:e,sayama:e,sennan:e,settsu:e,shijonawate:e,shimamoto:e,suita:e,tadaoka:e,taishi:e,tajiri:e,takaishi:e,takatsuki:e,tondabayashi:e,toyonaka:e,toyono:e,yao:e}},saga:{$:1,succ:{ariake:e,arita:e,fukudomi:e,genkai:e,hamatama:e,hizen:e,imari:e,kamimine:e,kanzaki:e,karatsu:e,kashima:e,kitagata:e,kitahata:e,kiyama:e,kouhoku:e,kyuragi:e,nishiarita:e,ogi:e,omachi:e,ouchi:e,saga:e,shiroishi:e,taku:e,tara:e,tosu:e,yoshinogari:e}},saitama:{$:1,succ:{arakawa:e,asaka:e,chichibu:e,fujimi:e,fujimino:e,fukaya:e,hanno:e,hanyu:e,hasuda:e,hatogaya:e,hatoyama:e,hidaka:e,higashichichibu:e,higashimatsuyama:e,honjo:e,ina:e,iruma:e,iwatsuki:e,kamiizumi:e,kamikawa:e,kamisato:e,kasukabe:e,kawagoe:e,kawaguchi:e,kawajima:e,kazo:e,kitamoto:e,koshigaya:e,kounosu:e,kuki:e,kumagaya:e,matsubushi:e,minano:e,misato:e,miyashiro:e,miyoshi:e,moroyama:e,nagatoro:e,namegawa:e,niiza:e,ogano:e,ogawa:e,ogose:e,okegawa:e,omiya:e,otaki:e,ranzan:e,ryokami:e,saitama:e,sakado:e,satte:e,sayama:e,shiki:e,shiraoka:e,soka:e,sugito:e,toda:e,tokigawa:e,tokorozawa:e,tsurugashima:e,urawa:e,warabi:e,yashio:e,yokoze:e,yono:e,yorii:e,yoshida:e,yoshikawa:e,yoshimi:e}},shiga:{$:1,succ:{aisho:e,gamo:e,higashiomi:e,hikone:e,koka:e,konan:e,kosei:e,koto:e,kusatsu:e,maibara:e,moriyama:e,nagahama:e,nishiazai:e,notogawa:e,omihachiman:e,otsu:e,ritto:e,ryuoh:e,takashima:e,takatsuki:e,torahime:e,toyosato:e,yasu:e}},shimane:{$:1,succ:{akagi:e,ama:e,gotsu:e,hamada:e,higashiizumo:e,hikawa:e,hikimi:e,izumo:e,kakinoki:e,masuda:e,matsue:e,misato:e,nishinoshima:e,ohda:e,okinoshima:e,okuizumo:e,shimane:e,tamayu:e,tsuwano:e,unnan:e,yakumo:e,yasugi:e,yatsuka:e}},shizuoka:{$:1,succ:{arai:e,atami:e,fuji:e,fujieda:e,fujikawa:e,fujinomiya:e,fukuroi:e,gotemba:e,haibara:e,hamamatsu:e,higashiizu:e,ito:e,iwata:e,izu:e,izunokuni:e,kakegawa:e,kannami:e,kawanehon:e,kawazu:e,kikugawa:e,kosai:e,makinohara:e,matsuzaki:e,minamiizu:e,mishima:e,morimachi:e,nishiizu:e,numazu:e,omaezaki:e,shimada:e,shimizu:e,shimoda:e,shizuoka:e,susono:e,yaizu:e,yoshida:e}},tochigi:{$:1,succ:{ashikaga:e,bato:e,haga:e,ichikai:e,iwafune:e,kaminokawa:e,kanuma:e,karasuyama:e,kuroiso:e,mashiko:e,mibu:e,moka:e,motegi:e,nasu:e,nasushiobara:e,nikko:e,nishikata:e,nogi:e,ohira:e,ohtawara:e,oyama:e,sakura:e,sano:e,shimotsuke:e,shioya:e,takanezawa:e,tochigi:e,tsuga:e,ujiie:e,utsunomiya:e,yaita:e}},tokushima:{$:1,succ:{aizumi:e,anan:e,ichiba:e,itano:e,kainan:e,komatsushima:e,matsushige:e,mima:e,minami:e,miyoshi:e,mugi:e,nakagawa:e,naruto:e,sanagochi:e,shishikui:e,tokushima:e,wajiki:e}},tokyo:{$:1,succ:{adachi:e,akiruno:e,akishima:e,aogashima:e,arakawa:e,bunkyo:e,chiyoda:e,chofu:e,chuo:e,edogawa:e,fuchu:e,fussa:e,hachijo:e,hachioji:e,hamura:e,higashikurume:e,higashimurayama:e,higashiyamato:e,hino:e,hinode:e,hinohara:e,inagi:e,itabashi:e,katsushika:e,kita:e,kiyose:e,kodaira:e,koganei:e,kokubunji:e,komae:e,koto:e,kouzushima:e,kunitachi:e,machida:e,meguro:e,minato:e,mitaka:e,mizuho:e,musashimurayama:e,musashino:e,nakano:e,nerima:e,ogasawara:e,okutama:e,ome:e,oshima:e,ota:e,setagaya:e,shibuya:e,shinagawa:e,shinjuku:e,suginami:e,sumida:e,tachikawa:e,taito:e,tama:e,toshima:e}},tottori:{$:1,succ:{chizu:e,hino:e,kawahara:e,koge:e,kotoura:e,misasa:e,nanbu:e,nichinan:e,sakaiminato:e,tottori:e,wakasa:e,yazu:e,yonago:e}},toyama:{$:1,succ:{asahi:e,fuchu:e,fukumitsu:e,funahashi:e,himi:e,imizu:e,inami:e,johana:e,kamiichi:e,kurobe:e,nakaniikawa:e,namerikawa:e,nanto:e,nyuzen:e,oyabe:e,taira:e,takaoka:e,tateyama:e,toga:e,tonami:e,toyama:e,unazuki:e,uozu:e,yamada:e}},wakayama:{$:1,succ:{arida:e,aridagawa:e,gobo:e,hashimoto:e,hidaka:e,hirogawa:e,inami:e,iwade:e,kainan:e,kamitonda:e,katsuragi:e,kimino:e,kinokawa:e,kitayama:e,koya:e,koza:e,kozagawa:e,kudoyama:e,kushimoto:e,mihama:e,misato:e,nachikatsuura:e,shingu:e,shirahama:e,taiji:e,tanabe:e,wakayama:e,yuasa:e,yura:e}},yamagata:{$:1,succ:{asahi:e,funagata:e,higashine:e,iide:e,kahoku:e,kaminoyama:e,kaneyama:e,kawanishi:e,mamurogawa:e,mikawa:e,murayama:e,nagai:e,nakayama:e,nanyo:e,nishikawa:e,obanazawa:e,oe:e,oguni:e,ohkura:e,oishida:e,sagae:e,sakata:e,sakegawa:e,shinjo:e,shirataka:e,shonai:e,takahata:e,tendo:e,tozawa:e,tsuruoka:e,yamagata:e,yamanobe:e,yonezawa:e,yuza:e}},yamaguchi:{$:1,succ:{abu:e,hagi:e,hikari:e,hofu:e,iwakuni:e,kudamatsu:e,mitou:e,nagato:e,oshima:e,shimonoseki:e,shunan:e,tabuse:e,tokuyama:e,toyota:e,ube:e,yuu:e}},yamanashi:{$:1,succ:{chuo:e,doshi:e,fuefuki:e,fujikawa:e,fujikawaguchiko:e,fujiyoshida:e,hayakawa:e,hokuto:e,ichikawamisato:e,kai:e,kofu:e,koshu:e,kosuge:e,"minami-alps":e,minobu:e,nakamichi:e,nanbu:e,narusawa:e,nirasaki:e,nishikatsura:e,oshino:e,otsuki:e,showa:e,tabayama:e,tsuru:e,uenohara:e,yamanakako:e,yamanashi:e}},"xn--4pvxs":e,"栃木":e,"xn--vgu402c":e,"愛知":e,"xn--c3s14m":e,"愛媛":e,"xn--f6qx53a":e,"兵庫":e,"xn--8pvr4u":e,"熊本":e,"xn--uist22h":e,"茨城":e,"xn--djrs72d6uy":e,"北海道":e,"xn--mkru45i":e,"千葉":e,"xn--0trq7p7nn":e,"和歌山":e,"xn--8ltr62k":e,"長崎":e,"xn--2m4a15e":e,"長野":e,"xn--efvn9s":e,"新潟":e,"xn--32vp30h":e,"青森":e,"xn--4it797k":e,"静岡":e,"xn--1lqs71d":e,"東京":e,"xn--5rtp49c":e,"石川":e,"xn--5js045d":e,"埼玉":e,"xn--ehqz56n":e,"三重":e,"xn--1lqs03n":e,"京都":e,"xn--qqqt11m":e,"佐賀":e,"xn--kbrq7o":e,"大分":e,"xn--pssu33l":e,"大阪":e,"xn--ntsq17g":e,"奈良":e,"xn--uisz3g":e,"宮城":e,"xn--6btw5a":e,"宮崎":e,"xn--1ctwo":e,"富山":e,"xn--6orx2r":e,"山口":e,"xn--rht61e":e,"山形":e,"xn--rht27z":e,"山梨":e,"xn--djty4k":e,"岩手":e,"xn--nit225k":e,"岐阜":e,"xn--rht3d":e,"岡山":e,"xn--klty5x":e,"島根":e,"xn--kltx9a":e,"広島":e,"xn--kltp7d":e,"徳島":e,"xn--uuwu58a":e,"沖縄":e,"xn--zbx025d":e,"滋賀":e,"xn--ntso0iqx3a":e,"神奈川":e,"xn--elqq16h":e,"福井":e,"xn--4it168d":e,"福岡":e,"xn--klt787d":e,"福島":e,"xn--rny31h":e,"秋田":e,"xn--7t0a264c":e,"群馬":e,"xn--5rtq34k":e,"香川":e,"xn--k7yn95e":e,"高知":e,"xn--tor131o":e,"鳥取":e,"xn--d5qv7z876c":e,"鹿児島":e,kawasaki:i,kitakyushu:i,kobe:i,nagoya:i,sapporo:i,sendai:i,yokohama:i,buyshop:a,fashionstore:a,handcrafted:a,kawaiishop:a,supersale:a,theshop:a,usercontent:a,angry:a,babyblue:a,babymilk:a,backdrop:a,bambina:a,bitter:a,blush:a,boo:a,boy:a,boyfriend:a,but:a,candypop:a,capoo:a,catfood:a,cheap:a,chicappa:a,chillout:a,chips:a,chowder:a,chu:a,ciao:a,cocotte:a,coolblog:a,cranky:a,cutegirl:a,daa:a,deca:a,deci:a,digick:a,egoism:a,fakefur:a,fem:a,flier:a,floppy:a,fool:a,frenchkiss:a,girlfriend:a,girly:a,gloomy:a,gonna:a,greater:a,hacca:a,heavy:a,her:a,hiho:a,hippy:a,holy:a,hungry:a,icurus:a,itigo:a,jellybean:a,kikirara:a,kill:a,kilo:a,kuron:a,littlestar:a,lolipopmc:a,lolitapunk:a,lomo:a,lovepop:a,lovesick:a,main:a,mods:a,mond:a,mongolian:a,moo:a,namaste:a,nikita:a,nobushi:a,noor:a,oops:a,parallel:a,parasite:a,pecori:a,peewee:a,penne:a,pepper:a,perma:a,pigboat:a,pinoko:a,punyu:a,pupu:a,pussycat:a,pya:a,raindrop:a,readymade:a,sadist:a,schoolbus:a,secret:a,staba:a,stripper:a,sub:a,sunnyday:a,thick:a,tonkotsu:a,under:a,upper:a,velvet:a,verse:a,versus:a,vivian:a,watson:a,weblike:a,whitesnow:a,zombie:a,blogspot:a,"2-d":a,bona:a,crap:a,daynight:a,eek:a,flop:a,halfmoon:a,jeez:a,matrix:a,mimoza:a,netgamers:a,nyanta:a,o0o0:a,rdy:a,rgr:a,rulez:a,sakurastorage:{$:0,succ:{isk01:l,isk02:l}},saloon:a,sblo:a,skr:a,tank:a,"uh-oh":a,undo:a,webaccel:{$:0,succ:{rs:a,user:a}},websozai:a,xii:a}},ke:{$:1,succ:{ac:e,co:s,go:e,info:e,me:e,mobi:e,ne:e,or:e,sc:e}},kg:{$:1,succ:{org:e,net:e,com:e,edu:e,gov:e,mil:e,blog:a,io:a,jp:a,tv:a,uk:a,us:a}},kh:i,ki:M,km:{$:1,succ:{org:e,nom:e,gov:e,prd:e,tm:e,edu:e,mil:e,ass:e,com:e,coop:e,asso:e,presse:e,medecin:e,notaires:e,pharmaciens:e,veterinaire:e,gouv:e}},kn:{$:1,succ:{net:e,org:e,edu:e,gov:e}},kp:{$:1,succ:{com:e,edu:e,gov:e,org:e,rep:e,tra:e}},kr:{$:1,succ:{ac:e,co:e,es:e,go:e,hs:e,kg:e,mil:e,ms:e,ne:e,or:e,pe:e,re:e,sc:e,busan:e,chungbuk:e,chungnam:e,daegu:e,daejeon:e,gangwon:e,gwangju:e,gyeongbuk:e,gyeonggi:e,gyeongnam:e,incheon:e,jeju:e,jeonbuk:e,jeonnam:e,seoul:e,ulsan:e,blogspot:a}},kw:{$:1,succ:{com:e,edu:e,emb:e,gov:e,ind:e,net:e,org:e}},ky:A,kz:{$:1,succ:{org:e,edu:e,net:e,gov:e,mil:e,com:e,jcloud:a,kazteleport:{$:0,succ:{upaas:a}}}},la:{$:1,succ:{int:e,net:e,info:e,edu:e,gov:e,per:e,com:e,org:e,bnr:a,c:a}},lb:t,lc:{$:1,succ:{com:e,net:e,co:e,org:e,edu:e,gov:e,oy:a}},li:{$:1,succ:{blogspot:a,caa:a}},lk:{$:1,succ:{gov:e,sch:e,net:e,int:e,com:e,org:e,edu:e,ngo:e,soc:e,web:e,ltd:e,assn:e,grp:e,hotel:e,ac:e}},lr:t,ls:{$:1,succ:{ac:e,biz:e,co:e,edu:e,gov:e,info:e,net:e,org:e,sc:e,de:a}},lt:T,lu:{$:1,succ:{blogspot:a,"123website":a}},lv:{$:1,succ:{com:e,edu:e,gov:e,org:e,mil:e,id:e,net:e,asn:e,conf:e}},ly:{$:1,succ:{com:e,net:e,gov:e,plc:e,edu:e,sch:e,med:e,org:e,id:e}},ma:{$:1,succ:{co:e,net:e,gov:e,org:e,ac:e,press:e}},mc:{$:1,succ:{tm:e,asso:e}},md:{$:1,succ:{blogspot:a,at:a,de:a,jp:a,to:a}},me:{$:1,succ:{co:e,net:e,org:e,edu:e,ac:e,gov:e,its:e,priv:e,c66:a,daplie:{$:2,succ:{localhost:a}},edgestack:a,filegear:a,"filegear-au":a,"filegear-de":a,"filegear-gb":a,"filegear-ie":a,"filegear-jp":a,"filegear-sg":a,glitch:a,ravendb:a,lohmus:a,barsy:a,mcpe:a,mcdir:a,soundcast:a,tcp4:a,brasilia:a,ddns:a,dnsfor:a,hopto:a,loginto:a,noip:a,webhop:a,vp4:a,diskstation:a,dscloud:a,i234:a,myds:a,synology:a,transip:w,wedeploy:a,yombo:a,nohost:a}},mg:{$:1,succ:{org:e,nom:e,gov:e,prd:e,tm:e,edu:e,mil:e,com:e,co:e}},mh:e,mil:e,mk:{$:1,succ:{com:e,org:e,net:e,edu:e,gov:e,inf:e,name:e,blogspot:a}},ml:{$:1,succ:{com:e,edu:e,gouv:e,gov:e,net:e,org:e,presse:e}},mm:i,mn:{$:1,succ:{gov:e,edu:e,org:e,nyc:a}},mo:t,mobi:{$:1,succ:{barsy:a,dscloud:a}},mp:{$:1,succ:{ju:a}},mq:e,mr:T,ms:{$:1,succ:{com:e,edu:e,gov:e,net:e,org:e,lab:a,minisite:a}},mt:{$:1,succ:{com:s,edu:e,net:e,org:e}},mu:{$:1,succ:{com:e,net:e,org:e,gov:e,ac:e,co:e,or:e}},museum:{$:1,succ:{academy:e,agriculture:e,air:e,airguard:e,alabama:e,alaska:e,amber:e,ambulance:e,american:e,americana:e,americanantiques:e,americanart:e,amsterdam:e,and:e,annefrank:e,anthro:e,anthropology:e,antiques:e,aquarium:e,arboretum:e,archaeological:e,archaeology:e,architecture:e,art:e,artanddesign:e,artcenter:e,artdeco:e,arteducation:e,artgallery:e,arts:e,artsandcrafts:e,asmatart:e,assassination:e,assisi:e,association:e,astronomy:e,atlanta:e,austin:e,australia:e,automotive:e,aviation:e,axis:e,badajoz:e,baghdad:e,bahn:e,bale:e,baltimore:e,barcelona:e,baseball:e,basel:e,baths:e,bauern:e,beauxarts:e,beeldengeluid:e,bellevue:e,bergbau:e,berkeley:e,berlin:e,bern:e,bible:e,bilbao:e,bill:e,birdart:e,birthplace:e,bonn:e,boston:e,botanical:e,botanicalgarden:e,botanicgarden:e,botany:e,brandywinevalley:e,brasil:e,bristol:e,british:e,britishcolumbia:e,broadcast:e,brunel:e,brussel:e,brussels:e,bruxelles:e,building:e,burghof:e,bus:e,bushey:e,cadaques:e,california:e,cambridge:e,can:e,canada:e,capebreton:e,carrier:e,cartoonart:e,casadelamoneda:e,castle:e,castres:e,celtic:e,center:e,chattanooga:e,cheltenham:e,chesapeakebay:e,chicago:e,children:e,childrens:e,childrensgarden:e,chiropractic:e,chocolate:e,christiansburg:e,cincinnati:e,cinema:e,circus:e,civilisation:e,civilization:e,civilwar:e,clinton:e,clock:e,coal:e,coastaldefence:e,cody:e,coldwar:e,collection:e,colonialwilliamsburg:e,coloradoplateau:e,columbia:e,columbus:e,communication:e,communications:e,community:e,computer:e,computerhistory:e,"xn--comunicaes-v6a2o":e,"comunicações":e,contemporary:e,contemporaryart:e,convent:e,copenhagen:e,corporation:e,"xn--correios-e-telecomunicaes-ghc29a":e,"correios-e-telecomunicações":e,corvette:e,costume:e,countryestate:e,county:e,crafts:e,cranbrook:e,creation:e,cultural:e,culturalcenter:e,culture:e,cyber:e,cymru:e,dali:e,dallas:e,database:e,ddr:e,decorativearts:e,delaware:e,delmenhorst:e,denmark:e,depot:e,design:e,detroit:e,dinosaur:e,discovery:e,dolls:e,donostia:e,durham:e,eastafrica:e,eastcoast:e,education:e,educational:e,egyptian:e,eisenbahn:e,elburg:e,elvendrell:e,embroidery:e,encyclopedic:e,england:e,entomology:e,environment:e,environmentalconservation:e,epilepsy:e,essex:e,estate:e,ethnology:e,exeter:e,exhibition:e,family:e,farm:e,farmequipment:e,farmers:e,farmstead:e,field:e,figueres:e,filatelia:e,film:e,fineart:e,finearts:e,finland:e,flanders:e,florida:e,force:e,fortmissoula:e,fortworth:e,foundation:e,francaise:e,frankfurt:e,franziskaner:e,freemasonry:e,freiburg:e,fribourg:e,frog:e,fundacio:e,furniture:e,gallery:e,garden:e,gateway:e,geelvinck:e,gemological:e,geology:e,georgia:e,giessen:e,glas:e,glass:e,gorge:e,grandrapids:e,graz:e,guernsey:e,halloffame:e,hamburg:e,handson:e,harvestcelebration:e,hawaii:e,health:e,heimatunduhren:e,hellas:e,helsinki:e,hembygdsforbund:e,heritage:e,histoire:e,historical:e,historicalsociety:e,historichouses:e,historisch:e,historisches:e,history:e,historyofscience:e,horology:e,house:e,humanities:e,illustration:e,imageandsound:e,indian:e,indiana:e,indianapolis:e,indianmarket:e,intelligence:e,interactive:e,iraq:e,iron:e,isleofman:e,jamison:e,jefferson:e,jerusalem:e,jewelry:e,jewish:e,jewishart:e,jfk:e,journalism:e,judaica:e,judygarland:e,juedisches:e,juif:e,karate:e,karikatur:e,kids:e,koebenhavn:e,koeln:e,kunst:e,kunstsammlung:e,kunstunddesign:e,labor:e,labour:e,lajolla:e,lancashire:e,landes:e,lans:e,"xn--lns-qla":e,"läns":e,larsson:e,lewismiller:e,lincoln:e,linz:e,living:e,livinghistory:e,localhistory:e,london:e,losangeles:e,louvre:e,loyalist:e,lucerne:e,luxembourg:e,luzern:e,mad:e,madrid:e,mallorca:e,manchester:e,mansion:e,mansions:e,manx:e,marburg:e,maritime:e,maritimo:e,maryland:e,marylhurst:e,media:e,medical:e,medizinhistorisches:e,meeres:e,memorial:e,mesaverde:e,michigan:e,midatlantic:e,military:e,mill:e,miners:e,mining:e,minnesota:e,missile:e,missoula:e,modern:e,moma:e,money:e,monmouth:e,monticello:e,montreal:e,moscow:e,motorcycle:e,muenchen:e,muenster:e,mulhouse:e,muncie:e,museet:e,museumcenter:e,museumvereniging:e,music:e,national:e,nationalfirearms:e,nationalheritage:e,nativeamerican:e,naturalhistory:e,naturalhistorymuseum:e,naturalsciences:e,nature:e,naturhistorisches:e,natuurwetenschappen:e,naumburg:e,naval:e,nebraska:e,neues:e,newhampshire:e,newjersey:e,newmexico:e,newport:e,newspaper:e,newyork:e,niepce:e,norfolk:e,north:e,nrw:e,nyc:e,nyny:e,oceanographic:e,oceanographique:e,omaha:e,online:e,ontario:e,openair:e,oregon:e,oregontrail:e,otago:e,oxford:e,pacific:e,paderborn:e,palace:e,paleo:e,palmsprings:e,panama:e,paris:e,pasadena:e,pharmacy:e,philadelphia:e,philadelphiaarea:e,philately:e,phoenix:e,photography:e,pilots:e,pittsburgh:e,planetarium:e,plantation:e,plants:e,plaza:e,portal:e,portland:e,portlligat:e,"posts-and-telecommunications":e,preservation:e,presidio:e,press:e,project:e,public:e,pubol:e,quebec:e,railroad:e,railway:e,research:e,resistance:e,riodejaneiro:e,rochester:e,rockart:e,roma:e,russia:e,saintlouis:e,salem:e,salvadordali:e,salzburg:e,sandiego:e,sanfrancisco:e,santabarbara:e,santacruz:e,santafe:e,saskatchewan:e,satx:e,savannahga:e,schlesisches:e,schoenbrunn:e,schokoladen:e,school:e,schweiz:e,science:e,scienceandhistory:e,scienceandindustry:e,sciencecenter:e,sciencecenters:e,"science-fiction":e,sciencehistory:e,sciences:e,sciencesnaturelles:e,scotland:e,seaport:e,settlement:e,settlers:e,shell:e,sherbrooke:e,sibenik:e,silk:e,ski:e,skole:e,society:e,sologne:e,soundandvision:e,southcarolina:e,southwest:e,space:e,spy:e,square:e,stadt:e,stalbans:e,starnberg:e,state:e,stateofdelaware:e,station:e,steam:e,steiermark:e,stjohn:e,stockholm:e,stpetersburg:e,stuttgart:e,suisse:e,surgeonshall:e,surrey:e,svizzera:e,sweden:e,sydney:e,tank:e,tcm:e,technology:e,telekommunikation:e,television:e,texas:e,textile:e,theater:e,time:e,timekeeping:e,topology:e,torino:e,touch:e,town:e,transport:e,tree:e,trolley:e,trust:e,trustee:e,uhren:e,ulm:e,undersea:e,university:e,usa:e,usantiques:e,usarts:e,uscountryestate:e,usculture:e,usdecorativearts:e,usgarden:e,ushistory:e,ushuaia:e,uslivinghistory:e,utah:e,uvic:e,valley:e,vantaa:e,versailles:e,viking:e,village:e,virginia:e,virtual:e,virtuel:e,vlaanderen:e,volkenkunde:e,wales:e,wallonie:e,war:e,washingtondc:e,watchandclock:e,"watch-and-clock":e,western:e,westfalen:e,whaling:e,wildlife:e,williamsburg:e,windmill:e,workshop:e,york:e,yorkshire:e,yosemite:e,youth:e,zoological:e,zoology:e,"xn--9dbhblg6di":e,"ירושלים":e,"xn--h1aegh":e,"иком":e}},mv:{$:1,succ:{aero:e,biz:e,com:e,coop:e,edu:e,gov:e,info:e,int:e,mil:e,museum:e,name:e,net:e,org:e,pro:e}},mw:{$:1,succ:{ac:e,biz:e,co:e,com:e,coop:e,edu:e,gov:e,int:e,museum:e,net:e,org:e}},mx:{$:1,succ:{com:e,org:e,gob:e,edu:e,net:e,blogspot:a}},my:{$:1,succ:{biz:e,com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e,blogspot:a}},mz:{$:1,succ:{ac:e,adv:e,co:e,edu:e,gov:e,mil:e,net:e,org:e}},na:{$:1,succ:{info:e,pro:e,name:e,school:e,or:e,dr:e,us:e,mx:e,ca:e,in:e,cc:e,tv:e,ws:e,mobi:e,co:e,com:e,org:e}},name:{$:1,succ:{her:O,his:O}},nc:{$:1,succ:{asso:e,nom:e}},ne:e,net:{$:1,succ:{adobeaemcloud:a,"adobeio-static":a,adobeioruntime:a,akadns:a,akamai:a,"akamai-staging":a,akamaiedge:a,"akamaiedge-staging":a,akamaihd:a,"akamaihd-staging":a,akamaiorigin:a,"akamaiorigin-staging":a,akamaized:a,"akamaized-staging":a,edgekey:a,"edgekey-staging":a,edgesuite:a,"edgesuite-staging":a,alwaysdata:a,myamaze:a,cloudfront:a,t3l3p0rt:a,appudo:a,"atlassian-dev":{$:0,succ:{prod:{$:0,succ:{cdn:a}}}},myfritz:a,onavstack:a,shopselect:a,blackbaudcdn:a,boomla:a,bplaced:a,square7:a,gb:a,hu:a,jp:a,se:a,uk:a,in:a,clickrising:a,cloudaccess:a,"cdn77-ssl":a,cdn77:{$:0,succ:{r:a}},"feste-ip":a,"knx-server":a,"static-access":a,cryptonomic:n,dattolocal:a,mydatto:a,debian:a,bitbridge:a,"at-band-camp":a,blogdns:a,"broke-it":a,buyshouses:a,dnsalias:a,dnsdojo:a,"does-it":a,dontexist:a,dynalias:a,dynathome:a,endofinternet:a,"from-az":a,"from-co":a,"from-la":a,"from-ny":a,"gets-it":a,"ham-radio-op":a,homeftp:a,homeip:a,homelinux:a,homeunix:a,"in-the-band":a,"is-a-chef":a,"is-a-geek":a,"isa-geek":a,"kicks-ass":a,"office-on-the":a,podzone:a,"scrapper-site":a,selfip:a,"sells-it":a,servebbs:a,serveftp:a,thruhere:a,webhop:a,definima:a,casacam:a,dynu:a,dynv6:a,twmail:a,ru:a,channelsdvr:{$:2,succ:{u:a}},fastlylb:{$:2,succ:{map:a}},fastly:{$:0,succ:{freetls:a,map:a,prod:{$:0,succ:{a:a,global:a}},ssl:{$:0,succ:{a:a,b:a,global:a}}}},edgeapp:a,flynnhosting:a,"cdn-edges":a,heteml:a,cloudfunctions:a,moonscale:a,"in-dsl":a,"in-vpn":a,ipifony:a,iobb:a,cloudjiffy:{$:2,succ:{"fra1-de":a,"west1-us":a}},elastx:{$:0,succ:{"jls-sto1":a,"jls-sto2":a,"jls-sto3":a}},faststacks:a,massivegrid:{$:0,succ:{paas:{$:0,succ:{"fr-1":a,"lon-1":a,"lon-2":a,"ny-1":a,"ny-2":a,"sg-1":a}}}},saveincloud:{$:0,succ:{jelastic:a,"nordeste-idc":a}},scaleforce:E,tsukaeru:C,kinghost:a,uni5:a,krellian:a,barsy:a,memset:a,azurewebsites:a,"azure-mobile":a,cloudapp:a,azurestaticapps:{$:2,succ:{1:a,2:a,3:a,centralus:a,eastasia:a,eastus2:a,westeurope:a,westus2:a}},dnsup:a,hicam:a,"now-dns":a,ownip:a,vpndns:a,"eating-organic":a,mydissent:a,myeffect:a,mymediapc:a,mypsx:a,mysecuritycamera:a,nhlfan:a,"no-ip":a,pgafan:a,privatizehealthinsurance:a,bounceme:a,ddns:a,redirectme:a,serveblog:a,serveminecraft:a,sytes:a,cloudycluster:a,ovh:{$:0,succ:{webpaas:n,hosting:n}},bar0:a,bar1:a,bar2:a,rackmaze:a,squares:a,schokokeks:a,"firewall-gateway":a,seidat:a,senseering:a,siteleaf:a,"vps-host":{$:2,succ:{jelastic:{$:0,succ:{atl:a,njs:a,ric:a}}}},myspreadshop:a,srcf:{$:0,succ:{soc:a,user:a}},supabase:a,dsmynas:a,familyds:a,tailscale:{$:0,succ:{beta:a}},ts:a,torproject:{$:2,succ:{pages:a}},"reserve-online":a,"community-pro":a,meinforum:a,yandexcloud:{$:2,succ:{storage:a,website:a}},za:a}},nf:{$:1,succ:{com:e,net:e,per:e,rec:e,web:e,arts:e,firm:e,info:e,other:e,store:e}},ng:{$:1,succ:{com:s,edu:e,gov:e,i:e,mil:e,mobi:e,name:e,net:e,org:e,sch:e,col:a,firm:a,gen:a,ltd:a,ngo:a}},ni:{$:1,succ:{ac:e,biz:e,co:e,com:e,edu:e,gob:e,in:e,info:e,int:e,mil:e,net:e,nom:e,org:e,web:e}},nl:{$:1,succ:{co:a,"hosting-cluster":a,blogspot:a,gov:a,khplay:a,"123website":a,myspreadshop:a,transurl:n,cistron:a,demon:a}},no:{$:1,succ:{fhs:e,vgs:e,fylkesbibl:e,folkebibl:e,museum:e,idrett:e,priv:e,mil:e,stat:e,dep:e,kommune:e,herad:e,aa:I,ah:I,bu:I,fm:I,hl:I,hm:I,"jan-mayen":I,mr:I,nl:I,nt:I,of:I,ol:I,oslo:I,rl:I,sf:I,st:I,svalbard:I,tm:I,tr:I,va:I,vf:I,akrehamn:e,"xn--krehamn-dxa":e,"åkrehamn":e,algard:e,"xn--lgrd-poac":e,"ålgård":e,arna:e,brumunddal:e,bryne:e,bronnoysund:e,"xn--brnnysund-m8ac":e,"brønnøysund":e,drobak:e,"xn--drbak-wua":e,"drøbak":e,egersund:e,fetsund:e,floro:e,"xn--flor-jra":e,"florø":e,fredrikstad:e,hokksund:e,honefoss:e,"xn--hnefoss-q1a":e,"hønefoss":e,jessheim:e,jorpeland:e,"xn--jrpeland-54a":e,"jørpeland":e,kirkenes:e,kopervik:e,krokstadelva:e,langevag:e,"xn--langevg-jxa":e,"langevåg":e,leirvik:e,mjondalen:e,"xn--mjndalen-64a":e,"mjøndalen":e,"mo-i-rana":e,mosjoen:e,"xn--mosjen-eya":e,"mosjøen":e,nesoddtangen:e,orkanger:e,osoyro:e,"xn--osyro-wua":e,"osøyro":e,raholt:e,"xn--rholt-mra":e,"råholt":e,sandnessjoen:e,"xn--sandnessjen-ogb":e,"sandnessjøen":e,skedsmokorset:e,slattum:e,spjelkavik:e,stathelle:e,stavern:e,stjordalshalsen:e,"xn--stjrdalshalsen-sqb":e,"stjørdalshalsen":e,tananger:e,tranby:e,vossevangen:e,afjord:e,"xn--fjord-lra":e,"åfjord":e,agdenes:e,al:e,"xn--l-1fa":e,"ål":e,alesund:e,"xn--lesund-hua":e,"ålesund":e,alstahaug:e,alta:e,"xn--lt-liac":e,"áltá":e,alaheadju:e,"xn--laheadju-7ya":e,"álaheadju":e,alvdal:e,amli:e,"xn--mli-tla":e,"åmli":e,amot:e,"xn--mot-tla":e,"åmot":e,andebu:e,andoy:e,"xn--andy-ira":e,"andøy":e,andasuolo:e,ardal:e,"xn--rdal-poa":e,"årdal":e,aremark:e,arendal:e,"xn--s-1fa":e,"ås":e,aseral:e,"xn--seral-lra":e,"åseral":e,asker:e,askim:e,askvoll:e,askoy:e,"xn--asky-ira":e,"askøy":e,asnes:e,"xn--snes-poa":e,"åsnes":e,audnedaln:e,aukra:e,aure:e,aurland:e,"aurskog-holand":e,"xn--aurskog-hland-jnb":e,"aurskog-høland":e,austevoll:e,austrheim:e,averoy:e,"xn--avery-yua":e,"averøy":e,balestrand:e,ballangen:e,balat:e,"xn--blt-elab":e,"bálát":e,balsfjord:e,bahccavuotna:e,"xn--bhccavuotna-k7a":e,"báhccavuotna":e,bamble:e,bardu:e,beardu:e,beiarn:e,bajddar:e,"xn--bjddar-pta":e,"bájddar":e,baidar:e,"xn--bidr-5nac":e,"báidár":e,berg:e,bergen:e,berlevag:e,"xn--berlevg-jxa":e,"berlevåg":e,bearalvahki:e,"xn--bearalvhki-y4a":e,"bearalváhki":e,bindal:e,birkenes:e,bjarkoy:e,"xn--bjarky-fya":e,"bjarkøy":e,bjerkreim:e,bjugn:e,bodo:e,"xn--bod-2na":e,"bodø":e,badaddja:e,"xn--bdddj-mrabd":e,"bådåddjå":e,budejju:e,bokn:e,bremanger:e,bronnoy:e,"xn--brnny-wuac":e,"brønnøy":e,bygland:e,bykle:e,barum:e,"xn--brum-voa":e,"bærum":e,telemark:{$:0,succ:{bo:e,"xn--b-5ga":e,"bø":e}},nordland:{$:0,succ:{bo:e,"xn--b-5ga":e,"bø":e,heroy:e,"xn--hery-ira":e,"herøy":e}},bievat:e,"xn--bievt-0qa":e,"bievát":e,bomlo:e,"xn--bmlo-gra":e,"bømlo":e,batsfjord:e,"xn--btsfjord-9za":e,"båtsfjord":e,bahcavuotna:e,"xn--bhcavuotna-s4a":e,"báhcavuotna":e,dovre:e,drammen:e,drangedal:e,dyroy:e,"xn--dyry-ira":e,"dyrøy":e,donna:e,"xn--dnna-gra":e,"dønna":e,eid:e,eidfjord:e,eidsberg:e,eidskog:e,eidsvoll:e,eigersund:e,elverum:e,enebakk:e,engerdal:e,etne:e,etnedal:e,evenes:e,evenassi:e,"xn--eveni-0qa01ga":e,"evenášši":e,"evje-og-hornnes":e,farsund:e,fauske:e,fuossko:e,fuoisku:e,fedje:e,fet:e,finnoy:e,"xn--finny-yua":e,"finnøy":e,fitjar:e,fjaler:e,fjell:e,flakstad:e,flatanger:e,flekkefjord:e,flesberg:e,flora:e,fla:e,"xn--fl-zia":e,"flå":e,folldal:e,forsand:e,fosnes:e,frei:e,frogn:e,froland:e,frosta:e,frana:e,"xn--frna-woa":e,"fræna":e,froya:e,"xn--frya-hra":e,"frøya":e,fusa:e,fyresdal:e,forde:e,"xn--frde-gra":e,"førde":e,gamvik:e,gangaviika:e,"xn--ggaviika-8ya47h":e,"gáŋgaviika":e,gaular:e,gausdal:e,gildeskal:e,"xn--gildeskl-g0a":e,"gildeskål":e,giske:e,gjemnes:e,gjerdrum:e,gjerstad:e,gjesdal:e,gjovik:e,"xn--gjvik-wua":e,"gjøvik":e,gloppen:e,gol:e,gran:e,grane:e,granvin:e,gratangen:e,grimstad:e,grong:e,kraanghke:e,"xn--kranghke-b0a":e,"kråanghke":e,grue:e,gulen:e,hadsel:e,halden:e,halsa:e,hamar:e,hamaroy:e,habmer:e,"xn--hbmer-xqa":e,"hábmer":e,hapmir:e,"xn--hpmir-xqa":e,"hápmir":e,hammerfest:e,hammarfeasta:e,"xn--hmmrfeasta-s4ac":e,"hámmárfeasta":e,haram:e,hareid:e,harstad:e,hasvik:e,aknoluokta:e,"xn--koluokta-7ya57h":e,"ákŋoluokta":e,hattfjelldal:e,aarborte:e,haugesund:e,hemne:e,hemnes:e,hemsedal:e,"more-og-romsdal":{$:0,succ:{heroy:e,sande:e}},"xn--mre-og-romsdal-qqb":{$:0,succ:{"xn--hery-ira":e,sande:e}},"møre-og-romsdal":{$:0,succ:{"herøy":e,sande:e}},hitra:e,hjartdal:e,hjelmeland:e,hobol:e,"xn--hobl-ira":e,"hobøl":e,hof:e,hol:e,hole:e,holmestrand:e,holtalen:e,"xn--holtlen-hxa":e,"holtålen":e,hornindal:e,horten:e,hurdal:e,hurum:e,hvaler:e,hyllestad:e,hagebostad:e,"xn--hgebostad-g3a":e,"hægebostad":e,hoyanger:e,"xn--hyanger-q1a":e,"høyanger":e,hoylandet:e,"xn--hylandet-54a":e,"høylandet":e,ha:e,"xn--h-2fa":e,"hå":e,ibestad:e,inderoy:e,"xn--indery-fya":e,"inderøy":e,iveland:e,jevnaker:e,jondal:e,jolster:e,"xn--jlster-bya":e,"jølster":e,karasjok:e,karasjohka:e,"xn--krjohka-hwab49j":e,"kárášjohka":e,karlsoy:e,galsa:e,"xn--gls-elac":e,"gálsá":e,karmoy:e,"xn--karmy-yua":e,"karmøy":e,kautokeino:e,guovdageaidnu:e,klepp:e,klabu:e,"xn--klbu-woa":e,"klæbu":e,kongsberg:e,kongsvinger:e,kragero:e,"xn--krager-gya":e,"kragerø":e,kristiansand:e,kristiansund:e,krodsherad:e,"xn--krdsherad-m8a":e,"krødsherad":e,kvalsund:e,rahkkeravju:e,"xn--rhkkervju-01af":e,"ráhkkerávju":e,kvam:e,kvinesdal:e,kvinnherad:e,kviteseid:e,kvitsoy:e,"xn--kvitsy-fya":e,"kvitsøy":e,kvafjord:e,"xn--kvfjord-nxa":e,"kvæfjord":e,giehtavuoatna:e,kvanangen:e,"xn--kvnangen-k0a":e,"kvænangen":e,navuotna:e,"xn--nvuotna-hwa":e,"návuotna":e,kafjord:e,"xn--kfjord-iua":e,"kåfjord":e,gaivuotna:e,"xn--givuotna-8ya":e,"gáivuotna":e,larvik:e,lavangen:e,lavagis:e,loabat:e,"xn--loabt-0qa":e,"loabát":e,lebesby:e,davvesiida:e,leikanger:e,leirfjord:e,leka:e,leksvik:e,lenvik:e,leangaviika:e,"xn--leagaviika-52b":e,"leaŋgaviika":e,lesja:e,levanger:e,lier:e,lierne:e,lillehammer:e,lillesand:e,lindesnes:e,lindas:e,"xn--linds-pra":e,"lindås":e,lom:e,loppa:e,lahppi:e,"xn--lhppi-xqa":e,"láhppi":e,lund:e,lunner:e,luroy:e,"xn--lury-ira":e,"lurøy":e,luster:e,lyngdal:e,lyngen:e,ivgu:e,lardal:e,lerdal:e,"xn--lrdal-sra":e,"lærdal":e,lodingen:e,"xn--ldingen-q1a":e,"lødingen":e,lorenskog:e,"xn--lrenskog-54a":e,"lørenskog":e,loten:e,"xn--lten-gra":e,"løten":e,malvik:e,masoy:e,"xn--msy-ula0h":e,"måsøy":e,muosat:e,"xn--muost-0qa":e,"muosát":e,mandal:e,marker:e,marnardal:e,masfjorden:e,meland:e,meldal:e,melhus:e,meloy:e,"xn--mely-ira":e,"meløy":e,meraker:e,"xn--merker-kua":e,"meråker":e,moareke:e,"xn--moreke-jua":e,"moåreke":e,midsund:e,"midtre-gauldal":e,modalen:e,modum:e,molde:e,moskenes:e,moss:e,mosvik:e,malselv:e,"xn--mlselv-iua":e,"målselv":e,malatvuopmi:e,"xn--mlatvuopmi-s4a":e,"málatvuopmi":e,namdalseid:e,aejrie:e,namsos:e,namsskogan:e,naamesjevuemie:e,"xn--nmesjevuemie-tcba":e,"nååmesjevuemie":e,laakesvuemie:e,nannestad:e,narvik:e,narviika:e,naustdal:e,"nedre-eiker":e,akershus:N,buskerud:N,nesna:e,nesodden:e,nesseby:e,unjarga:e,"xn--unjrga-rta":e,"unjárga":e,nesset:e,nissedal:e,nittedal:e,"nord-aurdal":e,"nord-fron":e,"nord-odal":e,norddal:e,nordkapp:e,davvenjarga:e,"xn--davvenjrga-y4a":e,"davvenjárga":e,"nordre-land":e,nordreisa:e,raisa:e,"xn--risa-5na":e,"ráisa":e,"nore-og-uvdal":e,notodden:e,naroy:e,"xn--nry-yla5g":e,"nærøy":e,notteroy:e,"xn--nttery-byae":e,"nøtterøy":e,odda:e,oksnes:e,"xn--ksnes-uua":e,"øksnes":e,oppdal:e,oppegard:e,"xn--oppegrd-ixa":e,"oppegård":e,orkdal:e,orland:e,"xn--rland-uua":e,"ørland":e,orskog:e,"xn--rskog-uua":e,"ørskog":e,orsta:e,"xn--rsta-fra":e,"ørsta":e,hedmark:{$:0,succ:{os:e,valer:e,"xn--vler-qoa":e,"våler":e}},hordaland:{$:0,succ:{os:e}},osen:e,osteroy:e,"xn--ostery-fya":e,"osterøy":e,"ostre-toten":e,"xn--stre-toten-zcb":e,"østre-toten":e,overhalla:e,"ovre-eiker":e,"xn--vre-eiker-k8a":e,"øvre-eiker":e,oyer:e,"xn--yer-zna":e,"øyer":e,oygarden:e,"xn--ygarden-p1a":e,"øygarden":e,"oystre-slidre":e,"xn--ystre-slidre-ujb":e,"øystre-slidre":e,porsanger:e,porsangu:e,"xn--porsgu-sta26f":e,"porsáŋgu":e,porsgrunn:e,radoy:e,"xn--rady-ira":e,"radøy":e,rakkestad:e,rana:e,ruovat:e,randaberg:e,rauma:e,rendalen:e,rennebu:e,rennesoy:e,"xn--rennesy-v1a":e,"rennesøy":e,rindal:e,ringebu:e,ringerike:e,ringsaker:e,rissa:e,risor:e,"xn--risr-ira":e,"risør":e,roan:e,rollag:e,rygge:e,ralingen:e,"xn--rlingen-mxa":e,"rælingen":e,rodoy:e,"xn--rdy-0nab":e,"rødøy":e,romskog:e,"xn--rmskog-bya":e,"rømskog":e,roros:e,"xn--rros-gra":e,"røros":e,rost:e,"xn--rst-0na":e,"røst":e,royken:e,"xn--ryken-vua":e,"røyken":e,royrvik:e,"xn--ryrvik-bya":e,"røyrvik":e,rade:e,"xn--rde-ula":e,"råde":e,salangen:e,siellak:e,saltdal:e,salat:e,"xn--slt-elab":e,"sálát":e,"xn--slat-5na":e,"sálat":e,samnanger:e,vestfold:{$:0,succ:{sande:e}},sandefjord:e,sandnes:e,sandoy:e,"xn--sandy-yua":e,"sandøy":e,sarpsborg:e,sauda:e,sauherad:e,sel:e,selbu:e,selje:e,seljord:e,sigdal:e,siljan:e,sirdal:e,skaun:e,skedsmo:e,ski:e,skien:e,skiptvet:e,skjervoy:e,"xn--skjervy-v1a":e,"skjervøy":e,skierva:e,"xn--skierv-uta":e,"skiervá":e,skjak:e,"xn--skjk-soa":e,"skjåk":e,skodje:e,skanland:e,"xn--sknland-fxa":e,"skånland":e,skanit:e,"xn--sknit-yqa":e,"skánit":e,smola:e,"xn--smla-hra":e,"smøla":e,snillfjord:e,snasa:e,"xn--snsa-roa":e,"snåsa":e,snoasa:e,snaase:e,"xn--snase-nra":e,"snåase":e,sogndal:e,sokndal:e,sola:e,solund:e,songdalen:e,sortland:e,spydeberg:e,stange:e,stavanger:e,steigen:e,steinkjer:e,stjordal:e,"xn--stjrdal-s1a":e,"stjørdal":e,stokke:e,"stor-elvdal":e,stord:e,stordal:e,storfjord:e,omasvuotna:e,strand:e,stranda:e,stryn:e,sula:e,suldal:e,sund:e,sunndal:e,surnadal:e,sveio:e,svelvik:e,sykkylven:e,sogne:e,"xn--sgne-gra":e,"søgne":e,somna:e,"xn--smna-gra":e,"sømna":e,"sondre-land":e,"xn--sndre-land-0cb":e,"søndre-land":e,"sor-aurdal":e,"xn--sr-aurdal-l8a":e,"sør-aurdal":e,"sor-fron":e,"xn--sr-fron-q1a":e,"sør-fron":e,"sor-odal":e,"xn--sr-odal-q1a":e,"sør-odal":e,"sor-varanger":e,"xn--sr-varanger-ggb":e,"sør-varanger":e,"matta-varjjat":e,"xn--mtta-vrjjat-k7af":e,"mátta-várjjat":e,sorfold:e,"xn--srfold-bya":e,"sørfold":e,sorreisa:e,"xn--srreisa-q1a":e,"sørreisa":e,sorum:e,"xn--srum-gra":e,"sørum":e,tana:e,deatnu:e,time:e,tingvoll:e,tinn:e,tjeldsund:e,dielddanuorri:e,tjome:e,"xn--tjme-hra":e,"tjøme":e,tokke:e,tolga:e,torsken:e,tranoy:e,"xn--trany-yua":e,"tranøy":e,tromso:e,"xn--troms-zua":e,"tromsø":e,tromsa:e,romsa:e,trondheim:e,troandin:e,trysil:e,trana:e,"xn--trna-woa":e,"træna":e,trogstad:e,"xn--trgstad-r1a":e,"trøgstad":e,tvedestrand:e,tydal:e,tynset:e,tysfjord:e,divtasvuodna:e,divttasvuotna:e,tysnes:e,tysvar:e,"xn--tysvr-vra":e,"tysvær":e,tonsberg:e,"xn--tnsberg-q1a":e,"tønsberg":e,ullensaker:e,ullensvang:e,ulvik:e,utsira:e,vadso:e,"xn--vads-jra":e,"vadsø":e,cahcesuolo:e,"xn--hcesuolo-7ya35b":e,"čáhcesuolo":e,vaksdal:e,valle:e,vang:e,vanylven:e,vardo:e,"xn--vard-jra":e,"vardø":e,varggat:e,"xn--vrggt-xqad":e,"várggát":e,vefsn:e,vaapste:e,vega:e,vegarshei:e,"xn--vegrshei-c0a":e,"vegårshei":e,vennesla:e,verdal:e,verran:e,vestby:e,vestnes:e,"vestre-slidre":e,"vestre-toten":e,vestvagoy:e,"xn--vestvgy-ixa6o":e,"vestvågøy":e,vevelstad:e,vik:e,vikna:e,vindafjord:e,volda:e,voss:e,varoy:e,"xn--vry-yla5g":e,"værøy":e,vagan:e,"xn--vgan-qoa":e,"vågan":e,voagat:e,vagsoy:e,"xn--vgsy-qoa0j":e,"vågsøy":e,vaga:e,"xn--vg-yiab":e,"vågå":e,ostfold:{$:0,succ:{valer:e}},"xn--stfold-9xa":{$:0,succ:{"xn--vler-qoa":e}},"østfold":{$:0,succ:{"våler":e}},co:a,blogspot:a,"123hjemmeside":a,myspreadshop:a}},np:i,nr:M,nu:{$:1,succ:{merseine:a,mine:a,shacknet:a,enterprisecloud:a}},nz:{$:1,succ:{ac:e,co:s,cri:e,geek:e,gen:e,govt:e,health:e,iwi:e,kiwi:e,maori:e,mil:e,"xn--mori-qsa":e,"māori":e,net:e,org:e,parliament:e,school:e}},om:{$:1,succ:{co:e,com:e,edu:e,gov:e,med:e,museum:e,net:e,org:e,pro:e}},onion:e,org:{$:1,succ:{altervista:a,amune:{$:0,succ:{tele:a}},pimienta:a,poivron:a,potager:a,sweetpepper:a,ae:a,us:a,certmgr:a,cdn77:{$:0,succ:{c:a,rsc:a}},"cdn77-secure":{$:0,succ:{origin:{$:0,succ:{ssl:a}}}},cloudns:a,duckdns:a,tunk:a,dyndns:{$:2,succ:{go:a,home:a}},blogdns:a,blogsite:a,boldlygoingnowhere:a,dnsalias:a,dnsdojo:a,doesntexist:a,dontexist:a,doomdns:a,dvrdns:a,dynalias:a,endofinternet:a,endoftheinternet:a,"from-me":a,"game-host":a,gotdns:a,"hobby-site":a,homedns:a,homeftp:a,homelinux:a,homeunix:a,"is-a-bruinsfan":a,"is-a-candidate":a,"is-a-celticsfan":a,"is-a-chef":a,"is-a-geek":a,"is-a-knight":a,"is-a-linux-user":a,"is-a-patsfan":a,"is-a-soxfan":a,"is-found":a,"is-lost":a,"is-saved":a,"is-very-bad":a,"is-very-evil":a,"is-very-good":a,"is-very-nice":a,"is-very-sweet":a,"isa-geek":a,"kicks-ass":a,misconfused:a,podzone:a,readmyblog:a,selfip:a,sellsyourhome:a,servebbs:a,serveftp:a,servegame:a,"stuff-4-sale":a,webhop:a,ddnss:a,accesscam:a,camdvr:a,freeddns:a,mywire:a,webredirect:a,eu:{$:2,succ:{al:a,asso:a,at:a,au:a,be:a,bg:a,ca:a,cd:a,ch:a,cn:a,cy:a,cz:a,de:a,dk:a,edu:a,ee:a,es:a,fi:a,fr:a,gr:a,hr:a,hu:a,ie:a,il:a,in:a,int:a,is:a,it:a,jp:a,kr:a,lt:a,lu:a,lv:a,mc:a,me:a,mk:a,mt:a,my:a,net:a,ng:a,nl:a,no:a,nz:a,paris:a,pl:a,pt:a,"q-a":a,ro:a,ru:a,se:a,si:a,sk:a,tr:a,uk:a,us:a}},twmail:a,fedorainfracloud:a,fedorapeople:a,fedoraproject:{$:0,succ:{cloud:a,os:y,stg:{$:0,succ:{os:y}}}},freedesktop:a,hepforge:a,"in-dsl":a,"in-vpn":a,js:a,barsy:a,mayfirst:a,"mozilla-iot":a,bmoattachments:a,dynserv:a,"now-dns":a,"cable-modem":a,collegefan:a,couchpotatofries:a,mlbfan:a,mysecuritycamera:a,nflfan:a,"read-books":a,ufcfan:a,hopto:a,myftp:a,"no-ip":a,zapto:a,httpbin:a,pubtls:a,jpn:a,"my-firewall":a,myfirewall:a,spdns:a,"small-web":a,dsmynas:a,familyds:a,teckids:l,tuxfamily:a,diskstation:a,hk:a,wmflabs:a,toolforge:a,wmcloud:a,za:a}},pa:{$:1,succ:{ac:e,gob:e,com:e,org:e,sld:e,edu:e,net:e,ing:e,abo:e,med:e,nom:e}},pe:{$:1,succ:{edu:e,gob:e,nom:e,mil:e,org:e,com:e,net:e,blogspot:a}},pf:{$:1,succ:{com:e,org:e,edu:e}},pg:i,ph:{$:1,succ:{com:e,net:e,org:e,gov:e,edu:e,ngo:e,mil:e,i:e}},pk:{$:1,succ:{com:e,net:e,edu:e,org:e,fam:e,biz:e,web:e,gov:e,gob:e,gok:e,gon:e,gop:e,gos:e,info:e}},pl:{$:1,succ:{com:e,net:e,org:e,aid:e,agro:e,atm:e,auto:e,biz:e,edu:e,gmina:e,gsm:e,info:e,mail:e,miasta:e,media:e,mil:e,nieruchomosci:e,nom:e,pc:e,powiat:e,priv:e,realestate:e,rel:e,sex:e,shop:e,sklep:e,sos:e,szkola:e,targi:e,tm:e,tourism:e,travel:e,turystyka:e,gov:{$:1,succ:{ap:e,ic:e,is:e,us:e,kmpsp:e,kppsp:e,kwpsp:e,psp:e,wskr:e,kwp:e,mw:e,ug:e,um:e,umig:e,ugim:e,upow:e,uw:e,starostwo:e,pa:e,po:e,psse:e,pup:e,rzgw:e,sa:e,so:e,sr:e,wsa:e,sko:e,uzs:e,wiih:e,winb:e,pinb:e,wios:e,witd:e,wzmiuw:e,piw:e,wiw:e,griw:e,wif:e,oum:e,sdn:e,zp:e,uppo:e,mup:e,wuoz:e,konsulat:e,oirm:e}},augustow:e,"babia-gora":e,bedzin:e,beskidy:e,bialowieza:e,bialystok:e,bielawa:e,bieszczady:e,boleslawiec:e,bydgoszcz:e,bytom:e,cieszyn:e,czeladz:e,czest:e,dlugoleka:e,elblag:e,elk:e,glogow:e,gniezno:e,gorlice:e,grajewo:e,ilawa:e,jaworzno:e,"jelenia-gora":e,jgora:e,kalisz:e,"kazimierz-dolny":e,karpacz:e,kartuzy:e,kaszuby:e,katowice:e,kepno:e,ketrzyn:e,klodzko:e,kobierzyce:e,kolobrzeg:e,konin:e,konskowola:e,kutno:e,lapy:e,lebork:e,legnica:e,lezajsk:e,limanowa:e,lomza:e,lowicz:e,lubin:e,lukow:e,malbork:e,malopolska:e,mazowsze:e,mazury:e,mielec:e,mielno:e,mragowo:e,naklo:e,nowaruda:e,nysa:e,olawa:e,olecko:e,olkusz:e,olsztyn:e,opoczno:e,opole:e,ostroda:e,ostroleka:e,ostrowiec:e,ostrowwlkp:e,pila:e,pisz:e,podhale:e,podlasie:e,polkowice:e,pomorze:e,pomorskie:e,prochowice:e,pruszkow:e,przeworsk:e,pulawy:e,radom:e,"rawa-maz":e,rybnik:e,rzeszow:e,sanok:e,sejny:e,slask:e,slupsk:e,sosnowiec:e,"stalowa-wola":e,skoczow:e,starachowice:e,stargard:e,suwalki:e,swidnica:e,swiebodzin:e,swinoujscie:e,szczecin:e,szczytno:e,tarnobrzeg:e,tgory:e,turek:e,tychy:e,ustka:e,walbrzych:e,warmia:e,warszawa:e,waw:e,wegrow:e,wielun:e,wlocl:e,wloclawek:e,wodzislaw:e,wolomin:e,wroclaw:e,zachpomor:e,zagan:e,zarow:e,zgora:e,zgorzelec:e,beep:a,"ecommerce-shop":a,shoparena:a,homesklep:a,sdscloud:a,unicloud:a,krasnik:a,leczna:a,lubartow:a,lublin:a,poniatowa:a,swidnik:a,co:a,simplesite:a,art:a,gliwice:a,krakow:a,poznan:a,wroc:a,zakopane:a,myspreadshop:a,gda:a,gdansk:a,gdynia:a,med:a,sopot:a}},pm:{$:1,succ:{own:a,name:a}},pn:{$:1,succ:{gov:e,co:e,org:e,edu:e,net:e}},post:e,pr:{$:1,succ:{com:e,net:e,org:e,gov:e,edu:e,isla:e,pro:e,biz:e,info:e,name:e,est:e,prof:e,ac:e}},pro:{$:1,succ:{aaa:e,aca:e,acct:e,avocat:e,bar:e,cpa:e,eng:e,jur:e,law:e,med:e,recht:e,cloudns:a,dnstrace:{$:0,succ:{bci:a}},barsy:a}},ps:{$:1,succ:{edu:e,gov:e,sec:e,plo:e,com:e,org:e,net:e}},pt:{$:1,succ:{net:e,gov:e,org:e,edu:e,int:e,publ:e,com:e,nome:e,blogspot:a,"123paginaweb":a}},pw:{$:1,succ:{co:e,ne:e,or:e,ed:e,go:e,belau:e,cloudns:a,x443:a}},py:{$:1,succ:{com:e,coop:e,edu:e,gov:e,mil:e,net:e,org:e}},qa:{$:1,succ:{com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e,sch:e,blogspot:a}},re:{$:1,succ:{asso:e,com:e,nom:e,blogspot:a}},ro:{$:1,succ:{arts:e,com:e,firm:e,info:e,nom:e,nt:e,org:e,rec:e,store:e,tm:e,www:e,co:a,shop:a,blogspot:a,barsy:a}},rs:{$:1,succ:{ac:e,co:e,edu:e,gov:e,in:e,org:e,brendly:{$:0,succ:{shop:a}},blogspot:a,ua:a,ox:a}},ru:{$:1,succ:{ac:a,edu:a,gov:a,int:a,mil:a,test:a,eurodir:a,adygeya:a,bashkiria:a,bir:a,cbg:a,com:a,dagestan:a,grozny:a,kalmykia:a,kustanai:a,marine:a,mordovia:a,msk:a,mytis:a,nalchik:a,nov:a,pyatigorsk:a,spb:a,vladikavkaz:a,vladimir:a,blogspot:a,na4u:a,mircloud:a,regruhosting:C,myjino:{$:2,succ:{hosting:n,landing:n,spectrum:n,vps:n}},cldmail:{$:0,succ:{hb:a}},mcdir:{$:2,succ:{vps:a}},mcpre:a,net:a,org:a,pp:a,"123sait":a,lk3:a,ras:a}},rw:{$:1,succ:{ac:e,co:e,coop:e,gov:e,mil:e,net:e,org:e}},sa:{$:1,succ:{com:e,net:e,org:e,gov:e,med:e,pub:e,edu:e,sch:e}},sb:t,sc:t,sd:{$:1,succ:{com:e,net:e,org:e,edu:e,med:e,tv:e,gov:e,info:e}},se:{$:1,succ:{a:e,ac:e,b:e,bd:e,brand:e,c:e,d:e,e:e,f:e,fh:e,fhsk:e,fhv:e,g:e,h:e,i:e,k:e,komforb:e,kommunalforbund:e,komvux:e,l:e,lanbib:e,m:e,n:e,naturbruksgymn:e,o:e,org:e,p:e,parti:e,pp:e,press:e,r:e,s:e,t:e,tm:e,u:e,w:e,x:e,y:e,z:e,com:a,blogspot:a,conf:a,iopsys:a,"123minsida":a,itcouldbewor:a,myspreadshop:a,paba:{$:0,succ:{su:a}}}},sg:{$:1,succ:{com:e,net:e,org:e,gov:e,edu:e,per:e,blogspot:a,enscaled:a}},sh:{$:1,succ:{com:e,net:e,gov:e,org:e,mil:e,bip:a,hashbang:a,platform:{$:0,succ:{bc:a,ent:a,eu:a,us:a}},now:a,vxl:a,wedeploy:a}},si:{$:1,succ:{gitapp:a,gitpage:a,blogspot:a}},sj:e,sk:s,sl:t,sm:e,sn:{$:1,succ:{art:e,com:e,edu:e,gouv:e,org:e,perso:e,univ:e,blogspot:a}},so:{$:1,succ:{com:e,edu:e,gov:e,me:e,net:e,org:e,sch:a}},sr:e,ss:{$:1,succ:{biz:e,com:e,edu:e,gov:e,me:e,net:e,org:e,sch:e}},st:{$:1,succ:{co:e,com:e,consulado:e,edu:e,embaixada:e,mil:e,net:e,org:e,principe:e,saotome:e,store:e,kirara:a,noho:a}},su:{$:1,succ:{abkhazia:a,adygeya:a,aktyubinsk:a,arkhangelsk:a,armenia:a,ashgabad:a,azerbaijan:a,balashov:a,bashkiria:a,bryansk:a,bukhara:a,chimkent:a,dagestan:a,"east-kazakhstan":a,exnet:a,georgia:a,grozny:a,ivanovo:a,jambyl:a,kalmykia:a,kaluga:a,karacol:a,karaganda:a,karelia:a,khakassia:a,krasnodar:a,kurgan:a,kustanai:a,lenug:a,mangyshlak:a,mordovia:a,msk:a,murmansk:a,nalchik:a,navoi:a,"north-kazakhstan":a,nov:a,obninsk:a,penza:a,pokrovsk:a,sochi:a,spb:a,tashkent:a,termez:a,togliatti:a,troitsk:a,tselinograd:a,tula:a,tuva:a,vladikavkaz:a,vladimir:a,vologda:a}},sv:{$:1,succ:{com:e,edu:e,gob:e,org:e,red:e}},sx:r,sy:_,sz:{$:1,succ:{co:e,ac:e,org:e}},tc:{$:1,succ:{ch:a,me:a,we:a}},td:s,tel:e,tf:{$:1,succ:{sch:a}},tg:e,th:{$:1,succ:{ac:e,co:e,go:e,in:e,mi:e,net:e,or:e,online:a,shop:a}},tj:{$:1,succ:{ac:e,biz:e,co:e,com:e,edu:e,go:e,gov:e,int:e,mil:e,name:e,net:e,nic:e,org:e,test:e,web:e}},tk:e,tl:r,tm:{$:1,succ:{com:e,co:e,org:e,net:e,nom:e,gov:e,mil:e,edu:e}},tn:{$:1,succ:{com:e,ens:e,fin:e,gov:e,ind:e,info:e,intl:e,mincom:e,nat:e,net:e,org:e,perso:e,tourism:e,orangecloud:a}},to:{$:1,succ:{611:a,com:e,gov:e,net:e,org:e,edu:e,mil:e,oya:a,rdv:a,x0:a,vpnplus:a,quickconnect:c,nyan:a}},tr:{$:1,succ:{av:e,bbs:e,bel:e,biz:e,com:s,dr:e,edu:e,gen:e,gov:e,info:e,mil:e,k12:e,kep:e,name:e,net:e,org:e,pol:e,tel:e,tsk:e,tv:e,web:e,nc:r}},tt:{$:1,succ:{co:e,com:e,org:e,net:e,biz:e,info:e,pro:e,int:e,coop:e,jobs:e,mobi:e,travel:e,museum:e,aero:e,name:e,gov:e,edu:e}},tv:{$:1,succ:{dyndns:a,"better-than":a,"on-the-web":a,"worse-than":a,from:a,sakura:a}},tw:{$:1,succ:{edu:e,gov:e,mil:e,com:{$:1,succ:{mymailer:a}},net:e,org:e,idv:e,game:e,ebiz:e,club:e,"xn--zf0ao64a":e,"網路":e,"xn--uc0atv":e,"組織":e,"xn--czrw28b":e,"商業":e,url:a,blogspot:a}},tz:{$:1,succ:{ac:e,co:e,go:e,hotel:e,info:e,me:e,mil:e,mobi:e,ne:e,or:e,sc:e,tv:e}},ua:{$:1,succ:{com:e,edu:e,gov:e,in:e,net:e,org:e,cherkassy:e,cherkasy:e,chernigov:e,chernihiv:e,chernivtsi:e,chernovtsy:e,ck:e,cn:e,cr:e,crimea:e,cv:e,dn:e,dnepropetrovsk:e,dnipropetrovsk:e,donetsk:e,dp:e,if:e,"ivano-frankivsk":e,kh:e,kharkiv:e,kharkov:e,kherson:e,khmelnitskiy:e,khmelnytskyi:e,kiev:e,kirovograd:e,km:e,kr:e,krym:e,ks:e,kv:e,kyiv:e,lg:e,lt:e,lugansk:e,lutsk:e,lv:e,lviv:e,mk:e,mykolaiv:e,nikolaev:e,od:e,odesa:e,odessa:e,pl:e,poltava:e,rivne:e,rovno:e,rv:e,sb:e,sebastopol:e,sevastopol:e,sm:e,sumy:e,te:e,ternopil:e,uz:e,uzhgorod:e,vinnica:e,vinnytsia:e,vn:e,volyn:e,yalta:e,zaporizhzhe:e,zaporizhzhia:e,zhitomir:e,zhytomyr:e,zp:e,zt:e,cc:a,inf:a,ltd:a,cx:a,ie:a,biz:a,co:a,pp:a,v:a}},ug:{$:1,succ:{co:e,or:e,ac:e,sc:e,go:e,ne:e,com:e,org:e,blogspot:a}},uk:{$:1,succ:{ac:e,co:{$:1,succ:{bytemark:{$:0,succ:{dh:a,vm:a}},blogspot:a,layershift:E,barsy:a,barsyonline:a,retrosnub:S,"nh-serv":a,"no-ip":a,wellbeingzone:a,adimo:a,myspreadshop:a}},gov:{$:1,succ:{campaign:a,service:a,api:a,homeoffice:a}},ltd:e,me:e,net:e,nhs:e,org:{$:1,succ:{glug:a,lug:a,lugs:a,affinitylottery:a,raffleentry:a,weeklylottery:a}},plc:e,police:e,sch:i,conn:a,copro:a,hosp:a,"independent-commission":a,"independent-inquest":a,"independent-inquiry":a,"independent-panel":a,"independent-review":a,"public-inquiry":a,"royal-commission":a,pymnt:a,barsy:a}},us:{$:1,succ:{dni:e,fed:e,isa:e,kids:e,nsn:e,ak:U,al:U,ar:U,as:U,az:U,ca:U,co:U,ct:U,dc:U,de:{$:1,succ:{k12:e,cc:e,lib:a}},fl:U,ga:U,gu:U,hi:B,ia:U,id:U,il:U,in:U,ks:U,ky:U,la:U,ma:{$:1,succ:{k12:{$:1,succ:{pvt:e,chtr:e,paroch:e}},cc:e,lib:e}},md:U,me:U,mi:{$:1,succ:{k12:e,cc:e,lib:e,"ann-arbor":e,cog:e,dst:e,eaton:e,gen:e,mus:e,tec:e,washtenaw:e}},mn:U,mo:U,ms:U,mt:U,nc:U,nd:B,ne:U,nh:U,nj:U,nm:U,nv:U,ny:U,oh:U,ok:U,or:U,pa:U,pr:U,ri:B,sc:U,sd:B,tn:U,tx:U,ut:U,vi:U,vt:U,va:U,wa:U,wi:U,wv:{$:1,succ:{cc:e}},wy:U,graphox:a,cloudns:a,drud:a,"is-by":a,"land-4-sale":a,"stuff-4-sale":a,enscaled:{$:0,succ:{phx:a}},mircloud:a,freeddns:a,golffan:a,noip:a,pointto:a,platterp:a}},uy:{$:1,succ:{com:s,edu:e,gub:e,mil:e,net:e,org:e}},uz:{$:1,succ:{co:e,com:e,net:e,org:e}},va:e,vc:{$:1,succ:{com:e,net:e,org:e,gov:e,mil:e,edu:e,gv:{$:2,succ:{d:a}},"0e":a}},ve:{$:1,succ:{arts:e,bib:e,co:e,com:e,e12:e,edu:e,firm:e,gob:e,gov:e,info:e,int:e,mil:e,net:e,nom:e,org:e,rar:e,rec:e,store:e,tec:e,web:e}},vg:{$:1,succ:{at:a}},vi:{$:1,succ:{co:e,com:e,k12:e,net:e,org:e}},vn:{$:1,succ:{com:e,net:e,org:e,edu:e,gov:e,int:e,ac:e,biz:e,info:e,name:e,pro:e,health:e,blogspot:a}},vu:{$:1,succ:{com:e,edu:e,net:e,org:e,cn:a,blog:a,dev:a,me:a}},wf:{$:1,succ:{biz:a,sch:a}},ws:{$:1,succ:{com:e,net:e,org:e,gov:e,edu:e,advisor:n,cloud66:a,dyndns:a,mypets:a}},yt:{$:1,succ:{org:a}},"xn--mgbaam7a8h":e,"امارات":e,"xn--y9a3aq":e,"հայ":e,"xn--54b7fta0cc":e,"বাংলা":e,"xn--90ae":e,"бг":e,"xn--mgbcpq6gpa1a":e,"البحرين":e,"xn--90ais":e,"бел":e,"xn--fiqs8s":e,"中国":e,"xn--fiqz9s":e,"中國":e,"xn--lgbbat1ad8j":e,"الجزائر":e,"xn--wgbh1c":e,"مصر":e,"xn--e1a4c":e,"ею":e,"xn--qxa6a":e,"ευ":e,"xn--mgbah1a3hjkrd":e,"موريتانيا":e,"xn--node":e,"გე":e,"xn--qxam":e,"ελ":e,"xn--j6w193g":{$:1,succ:{"xn--55qx5d":e,"xn--wcvs22d":e,"xn--mxtq1m":e,"xn--gmqw5a":e,"xn--od0alg":e,"xn--uc0atv":e}},"香港":{$:1,succ:{"公司":e,"教育":e,"政府":e,"個人":e,"網絡":e,"組織":e}},"xn--2scrj9c":e,"ಭಾರತ":e,"xn--3hcrj9c":e,"ଭାରତ":e,"xn--45br5cyl":e,"ভাৰত":e,"xn--h2breg3eve":e,"भारतम्":e,"xn--h2brj9c8c":e,"भारोत":e,"xn--mgbgu82a":e,"ڀارت":e,"xn--rvc1e0am3e":e,"ഭാരതം":e,"xn--h2brj9c":e,"भारत":e,"xn--mgbbh1a":e,"بارت":e,"xn--mgbbh1a71e":e,"بھارت":e,"xn--fpcrj9c3d":e,"భారత్":e,"xn--gecrj9c":e,"ભારત":e,"xn--s9brj9c":e,"ਭਾਰਤ":e,"xn--45brj9c":e,"ভারত":e,"xn--xkc2dl3a5ee0h":e,"இந்தியா":e,"xn--mgba3a4f16a":e,"ایران":e,"xn--mgba3a4fra":e,"ايران":e,"xn--mgbtx2b":e,"عراق":e,"xn--mgbayh7gpa":e,"الاردن":e,"xn--3e0b707e":e,"한국":e,"xn--80ao21a":e,"қаз":e,"xn--q7ce6a":e,"ລາວ":e,"xn--fzc2c9e2c":e,"ලංකා":e,"xn--xkc2al3hye2a":e,"இலங்கை":e,"xn--mgbc0a9azcg":e,"المغرب":e,"xn--d1alf":e,"мкд":e,"xn--l1acc":e,"мон":e,"xn--mix891f":e,"澳門":e,"xn--mix082f":e,"澳门":e,"xn--mgbx4cd0ab":e,"مليسيا":e,"xn--mgb9awbf":e,"عمان":e,"xn--mgbai9azgqp6j":e,"پاکستان":e,"xn--mgbai9a5eva00b":e,"پاكستان":e,"xn--ygbi2ammx":e,"فلسطين":e,"xn--90a3ac":{$:1,succ:{"xn--o1ac":e,"xn--c1avg":e,"xn--90azh":e,"xn--d1at":e,"xn--o1ach":e,"xn--80au":e}},"срб":{$:1,succ:{"пр":e,"орг":e,"обр":e,"од":e,"упр":e,"ак":e}},"xn--p1ai":e,"рф":e,"xn--wgbl6a":e,"قطر":e,"xn--mgberp4a5d4ar":e,"السعودية":e,"xn--mgberp4a5d4a87g":e,"السعودیة":e,"xn--mgbqly7c0a67fbc":e,"السعودیۃ":e,"xn--mgbqly7cvafr":e,"السعوديه":e,"xn--mgbpl2fh":e,"سودان":e,"xn--yfro4i67o":e,"新加坡":e,"xn--clchc0ea0b2g2a9gcd":e,"சிங்கப்பூர்":e,"xn--ogbpf8fl":e,"سورية":e,"xn--mgbtf8fl":e,"سوريا":e,"xn--o3cw4h":{$:1,succ:{"xn--12c1fe0br":e,"xn--12co0c3b4eva":e,"xn--h3cuzk1di":e,"xn--o3cyx2a":e,"xn--m3ch0j3a":e,"xn--12cfi8ixb8l":e}},"ไทย":{$:1,succ:{"ศึกษา":e,"ธุรกิจ":e,"รัฐบาล":e,"ทหาร":e,"เน็ต":e,"องค์กร":e}},"xn--pgbs0dh":e,"تونس":e,"xn--kpry57d":e,"台灣":e,"xn--kprw13d":e,"台湾":e,"xn--nnx388a":e,"臺灣":e,"xn--j1amh":e,"укр":e,"xn--mgb2ddes":e,"اليمن":e,xxx:e,ye:_,za:{$:0,succ:{ac:e,agric:e,alt:e,co:s,edu:e,gov:e,grondar:e,law:e,mil:e,net:e,ngo:e,nic:e,nis:e,nom:e,org:e,school:e,tm:e,web:e}},zm:{$:1,succ:{ac:e,biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,net:e,org:e,sch:e}},zw:{$:1,succ:{ac:e,co:e,gov:e,mil:e,org:e}},aaa:e,aarp:e,abarth:e,abb:e,abbott:e,abbvie:e,abc:e,able:e,abogado:e,abudhabi:e,academy:{$:1,succ:{official:a}},accenture:e,accountant:e,accountants:e,aco:e,actor:e,ads:e,adult:e,aeg:e,aetna:e,afl:e,africa:e,agakhan:e,agency:e,aig:e,airbus:e,airforce:e,airtel:e,akdn:e,alfaromeo:e,alibaba:e,alipay:e,allfinanz:e,allstate:e,ally:e,alsace:e,alstom:e,amazon:e,americanexpress:e,americanfamily:e,amex:e,amfam:e,amica:e,amsterdam:e,analytics:e,android:e,anquan:e,anz:e,aol:e,apartments:e,app:{$:1,succ:{beget:n,clerk:a,clerkstage:a,wnext:a,platform0:a,deta:a,ondigitalocean:a,easypanel:a,encr:a,edgecompute:a,fireweb:a,onflashdrive:a,framer:a,run:{$:2,succ:{a:a}},web:a,hasura:a,loginline:a,messerli:a,netlify:a,ngrok:a,"ngrok-free":a,developer:n,noop:a,northflank:n,snowflake:{$:2,succ:{privatelink:a}},streamlit:a,telebit:a,typedream:a,vercel:a,bookonline:a}},apple:e,aquarelle:e,arab:e,aramco:e,archi:e,army:e,art:e,arte:e,asda:e,associates:e,athleta:e,attorney:e,auction:e,audi:e,audible:e,audio:e,auspost:e,author:e,auto:e,autos:e,avianca:e,aws:e,axa:e,azure:e,baby:e,baidu:e,banamex:e,bananarepublic:e,band:e,bank:e,bar:e,barcelona:e,barclaycard:e,barclays:e,barefoot:e,bargains:e,baseball:e,basketball:{$:1,succ:{aus:a,nz:a}},bauhaus:e,bayern:e,bbc:e,bbt:e,bbva:e,bcg:e,bcn:e,beats:e,beauty:e,beer:e,bentley:e,berlin:e,best:e,bestbuy:e,bet:e,bharti:e,bible:e,bid:e,bike:e,bing:e,bingo:e,bio:e,black:e,blackfriday:e,blockbuster:e,blog:e,bloomberg:e,blue:e,bms:e,bmw:e,bnpparibas:e,boats:e,boehringer:e,bofa:e,bom:e,bond:e,boo:e,book:e,booking:e,bosch:e,bostik:e,boston:e,bot:e,boutique:e,box:e,bradesco:e,bridgestone:e,broadway:e,broker:e,brother:e,brussels:e,build:e,builders:{$:1,succ:{cloudsite:a}},business:d,buy:e,buzz:e,bzh:e,cab:e,cafe:e,cal:e,call:e,calvinklein:e,cam:e,camera:e,camp:e,canon:e,capetown:e,capital:e,capitalone:e,car:e,caravan:e,cards:e,care:e,career:e,careers:e,cars:e,casa:{$:1,succ:{nabu:{$:0,succ:{ui:a}}}},case:e,cash:e,casino:e,catering:e,catholic:e,cba:e,cbn:e,cbre:e,cbs:e,center:e,ceo:e,cern:e,cfa:e,cfd:e,chanel:e,channel:e,charity:e,chase:e,chat:e,cheap:e,chintai:e,christmas:e,chrome:e,church:e,cipriani:e,circle:e,cisco:e,citadel:e,citi:e,citic:e,city:e,cityeats:e,claims:e,cleaning:e,click:e,clinic:e,clinique:e,clothing:e,cloud:{$:1,succ:{banzai:n,elementor:a,encoway:{$:0,succ:{eu:a}},statics:n,ravendb:a,axarnet:{$:0,succ:{"es-1":a}},diadem:a,jelastic:{$:0,succ:{vip:a}},jele:a,"jenv-aruba":{$:0,succ:{aruba:{$:0,succ:{eur:{$:0,succ:{it1:a}}}},it1:a}},keliweb:{$:2,succ:{cs:a}},oxa:{$:2,succ:{tn:a,uk:a}},primetel:{$:2,succ:{uk:a}},reclaim:{$:0,succ:{ca:a,uk:a,us:a}},trendhosting:{$:0,succ:{ch:a,de:a}},jotelulu:a,kuleuven:a,linkyard:a,magentosite:n,perspecta:a,vapor:a,"on-rancher":n,scw:{$:0,succ:{baremetal:{$:0,succ:{"fr-par-1":a,"fr-par-2":a,"nl-ams-1":a}},"fr-par":{$:0,succ:{fnc:{$:2,succ:{functions:a}},k8s:u,s3:a,"s3-website":a,whm:a}},instances:{$:0,succ:{priv:a,pub:a}},k8s:a,"nl-ams":{$:0,succ:{k8s:u,s3:a,"s3-website":a,whm:a}},"pl-waw":{$:0,succ:{k8s:u,s3:a,"s3-website":a}},scalebook:a,smartlabeling:a}},sensiosite:n,trafficplex:a,urown:a,voorloper:a}},club:{$:1,succ:{cloudns:a,jele:a,barsy:a}},clubmed:e,coach:e,codes:{$:1,succ:{owo:n}},coffee:e,college:e,cologne:e,comcast:e,commbank:e,community:{$:1,succ:{nog:a,ravendb:a,myforum:a}},company:e,compare:e,computer:e,comsec:e,condos:e,construction:e,consulting:e,contact:e,contractors:e,cooking:e,cookingchannel:e,cool:{$:1,succ:{elementor:a,de:a}},corsica:e,country:e,coupon:e,coupons:e,courses:e,cpa:e,credit:e,creditcard:e,creditunion:e,cricket:e,crown:e,crs:e,cruise:e,cruises:e,cuisinella:e,cymru:e,cyou:e,dabur:e,dad:e,dance:e,data:e,date:e,dating:e,datsun:e,day:e,dclk:e,dds:e,deal:e,dealer:e,deals:e,degree:e,delivery:e,dell:e,deloitte:e,delta:e,democrat:e,dental:e,dentist:e,desi:e,design:{$:1,succ:{bss:a}},dev:{$:1,succ:{autocode:a,lcl:n,lclstage:n,stg:n,stgstage:n,pages:a,r2:a,workers:a,curv:a,deno:a,"deno-staging":a,deta:a,fly:a,githubpreview:a,gateway:n,iserv:a,localcert:{$:0,succ:{user:n}},loginline:a,mediatech:a,ngrok:a,"ngrok-free":a,"platter-app":a,shiftcrypto:a,vercel:a,webhare:n}},dhl:e,diamonds:e,diet:e,digital:{$:1,succ:{cloudapps:{$:2,succ:{london:a}}}},direct:e,directory:e,discount:e,discover:e,dish:e,diy:e,dnp:e,docs:e,doctor:e,dog:e,domains:e,dot:e,download:e,drive:e,dtv:e,dubai:e,dunlop:e,dupont:e,durban:e,dvag:e,dvr:e,earth:{$:1,succ:{dapps:{$:0,succ:{"*":a,bzz:n}}}},eat:e,eco:e,edeka:e,education:d,email:e,emerck:e,energy:e,engineer:e,engineering:e,enterprises:e,epson:e,equipment:e,ericsson:e,erni:e,esq:e,estate:{$:1,succ:{compute:n}},etisalat:e,eurovision:e,eus:{$:1,succ:{party:D}},events:{$:1,succ:{koobin:a,co:a}},exchange:e,expert:e,exposed:e,express:e,extraspace:e,fage:e,fail:e,fairwinds:e,faith:j,family:e,fan:e,fans:e,farm:{$:1,succ:{storj:a}},farmers:e,fashion:e,fast:e,fedex:e,feedback:e,ferrari:e,ferrero:e,fiat:e,fidelity:e,fido:e,film:e,final:e,finance:e,financial:d,fire:e,firestone:e,firmdale:e,fish:e,fishing:e,fit:e,fitness:e,flickr:e,flights:e,flir:e,florist:e,flowers:e,fly:e,foo:e,food:e,foodnetwork:e,football:e,ford:e,forex:e,forsale:e,forum:e,foundation:e,fox:e,free:e,fresenius:e,frl:e,frogans:e,frontdoor:e,frontier:e,ftr:e,fujitsu:e,fun:e,fund:e,furniture:e,futbol:e,fyi:e,gal:e,gallery:e,gallo:e,gallup:e,game:e,games:e,gap:e,garden:e,gay:e,gbiz:e,gdn:{$:1,succ:{cnpy:a}},gea:e,gent:e,genting:e,george:e,ggee:e,gift:e,gifts:e,gives:e,giving:e,glass:e,gle:e,global:e,globo:e,gmail:e,gmbh:e,gmo:e,gmx:e,godaddy:e,gold:e,goldpoint:e,golf:e,goo:e,goodyear:e,goog:{$:1,succ:{cloud:a,translate:a,usercontent:n}},google:e,gop:e,got:e,grainger:e,graphics:e,gratis:e,green:e,gripe:e,grocery:e,group:{$:1,succ:{discourse:a}},guardian:e,gucci:e,guge:e,guide:e,guitars:e,guru:e,hair:e,hamburg:e,hangout:e,haus:e,hbo:e,hdfc:e,hdfcbank:e,health:{$:1,succ:{hra:a}},healthcare:e,help:e,helsinki:e,here:e,hermes:e,hgtv:e,hiphop:e,hisamitsu:e,hitachi:e,hiv:e,hkt:e,hockey:e,holdings:e,holiday:e,homedepot:e,homegoods:e,homes:e,homesense:e,honda:e,horse:e,hospital:e,host:{$:1,succ:{cloudaccess:a,freesite:a,easypanel:a,fastvps:a,myfast:a,tempurl:a,wpmudev:a,jele:a,mircloud:a,pcloud:a,half:a}},hosting:{$:1,succ:{opencraft:a}},hot:e,hoteles:e,hotels:e,hotmail:e,house:e,how:e,hsbc:e,hughes:e,hyatt:e,hyundai:e,ibm:e,icbc:e,ice:e,icu:e,ieee:e,ifm:e,ikano:e,imamat:e,imdb:e,immo:e,immobilien:e,inc:e,industries:e,infiniti:e,ing:e,ink:e,institute:e,insurance:e,insure:e,international:e,intuit:e,investments:e,ipiranga:e,irish:e,ismaili:e,ist:e,istanbul:e,itau:e,itv:e,jaguar:e,java:e,jcb:e,jeep:e,jetzt:e,jewelry:e,jio:e,jll:e,jmp:e,jnj:e,joburg:e,jot:e,joy:e,jpmorgan:e,jprs:e,juegos:e,juniper:e,kaufen:e,kddi:e,kerryhotels:e,kerrylogistics:e,kerryproperties:e,kfh:e,kia:e,kids:e,kim:e,kinder:e,kindle:e,kitchen:e,kiwi:e,koeln:e,komatsu:e,kosher:e,kpmg:e,kpn:e,krd:{$:1,succ:{co:a,edu:a}},kred:e,kuokgroup:e,kyoto:e,lacaixa:e,lamborghini:e,lamer:e,lancaster:e,lancia:e,land:{$:1,succ:{static:{$:2,succ:{dev:a,sites:a}}}},landrover:e,lanxess:e,lasalle:e,lat:e,latino:e,latrobe:e,law:e,lawyer:e,lds:e,lease:e,leclerc:e,lefrak:e,legal:e,lego:e,lexus:e,lgbt:e,lidl:e,life:e,lifeinsurance:e,lifestyle:e,lighting:e,like:e,lilly:e,limited:e,limo:e,lincoln:e,link:{$:1,succ:{cyon:a,mypep:a,dweb:n}},lipsy:e,live:{$:1,succ:{hlx:a}},living:e,llc:e,llp:e,loan:e,loans:e,locker:e,locus:e,lol:{$:1,succ:{omg:a}},london:e,lotte:e,lotto:e,love:e,lpl:e,lplfinancial:e,ltd:e,ltda:e,lundbeck:e,luxe:e,luxury:e,madrid:e,maif:e,maison:e,makeup:e,man:e,management:{$:1,succ:{router:a}},mango:e,map:e,market:e,marketing:e,markets:e,marriott:e,marshalls:e,maserati:e,mattel:e,mba:e,mckinsey:e,med:e,media:F,meet:e,melbourne:e,meme:e,memorial:e,men:e,menu:$,merckmsd:e,miami:e,microsoft:e,mini:e,mint:e,mit:e,mitsubishi:e,mlb:e,mls:e,mma:e,mobile:e,moda:e,moe:e,moi:e,mom:e,monash:e,money:e,monster:e,mormon:e,mortgage:e,moscow:e,moto:e,motorcycles:e,mov:e,movie:e,msd:e,mtn:e,mtr:e,music:e,mutual:e,nab:e,nagoya:e,natura:e,navy:e,nba:e,nec:e,netbank:e,netflix:e,network:{$:1,succ:{alces:n,co:a,arvo:a,azimuth:a,tlon:a}},neustar:e,new:e,news:{$:1,succ:{noticeable:a}},next:e,nextdirect:e,nexus:e,nfl:e,ngo:e,nhk:e,nico:e,nike:e,nikon:e,ninja:e,nissan:e,nissay:e,nokia:e,northwesternmutual:e,norton:e,now:e,nowruz:e,nowtv:e,nra:e,nrw:e,ntt:e,nyc:e,obi:e,observer:e,office:e,okinawa:e,olayan:e,olayangroup:e,oldnavy:e,ollo:e,omega:e,one:{$:1,succ:{onred:{$:2,succ:{staging:a}},service:a,homelink:a}},ong:e,onl:e,online:{$:1,succ:{eero:a,"eero-stage":a,barsy:a}},ooo:e,open:e,oracle:e,orange:{$:1,succ:{tech:a}},organic:e,origins:e,osaka:e,otsuka:e,ott:e,ovh:{$:1,succ:{nerdpol:a}},page:{$:1,succ:{hlx:a,hlx3:a,translated:a,codeberg:a,pdns:a,plesk:a,prvcy:a,rocky:a,magnet:a}},panasonic:e,paris:e,pars:e,partners:e,parts:e,party:j,passagens:e,pay:e,pccw:e,pet:e,pfizer:e,pharmacy:e,phd:e,philips:e,phone:e,photo:e,photography:e,photos:F,physio:e,pics:e,pictet:e,pictures:{$:1,succ:{1337:a}},pid:e,pin:e,ping:e,pink:e,pioneer:e,pizza:{$:1,succ:{ngrok:a}},place:d,play:e,playstation:e,plumbing:e,plus:e,pnc:e,pohl:e,poker:e,politie:e,porn:{$:1,succ:{indie:a}},pramerica:e,praxi:e,press:e,prime:e,prod:e,productions:e,prof:e,progressive:e,promo:e,properties:e,property:e,protection:e,pru:e,prudential:e,pub:$,pwc:e,qpon:e,quebec:e,quest:e,racing:e,radio:e,read:e,realestate:e,realtor:e,realty:e,recipes:e,red:e,redstone:e,redumbrella:e,rehab:e,reise:e,reisen:e,reit:e,reliance:e,ren:e,rent:e,rentals:e,repair:e,report:e,republican:e,rest:e,restaurant:e,review:j,reviews:e,rexroth:e,rich:e,richardli:e,ricoh:e,ril:e,rio:e,rip:{$:1,succ:{clan:a}},rocher:e,rocks:{$:1,succ:{myddns:a,"lima-city":a,webspace:a}},rodeo:e,rogers:e,room:e,rsvp:e,rugby:e,ruhr:e,run:{$:1,succ:{hs:a,development:a,ravendb:a,servers:a,build:n,code:n,database:n,migration:n,onporter:a,repl:a}},rwe:e,ryukyu:e,saarland:e,safe:e,safety:e,sakura:e,sale:e,salon:e,samsclub:e,samsung:e,sandvik:e,sandvikcoromant:e,sanofi:e,sap:e,sarl:e,sas:e,save:e,saxo:e,sbi:e,sbs:e,sca:e,scb:e,schaeffler:e,schmidt:e,scholarships:e,school:e,schule:e,schwarz:e,science:j,scot:{$:1,succ:{edu:a,gov:{$:2,succ:{service:a}}}},search:e,seat:e,secure:e,security:e,seek:e,select:e,sener:e,services:{$:1,succ:{loginline:a}},seven:e,sew:e,sex:e,sexy:e,sfr:e,shangrila:e,sharp:e,shaw:e,shell:e,shia:e,shiksha:e,shoes:e,shop:{$:1,succ:{base:a,hoplix:a,barsy:a}},shopping:e,shouji:e,show:e,showtime:e,silk:e,sina:e,singles:e,site:{$:1,succ:{cloudera:n,cyon:a,fnwk:a,folionetwork:a,fastvps:a,jele:a,lelux:a,loginline:a,barsy:a,mintere:a,omniwe:a,opensocial:a,platformsh:n,tst:n,byen:a,srht:a,novecore:a}},ski:e,skin:e,sky:e,skype:e,sling:e,smart:e,smile:e,sncf:e,soccer:e,social:e,softbank:e,software:e,sohu:e,solar:e,solutions:{$:1,succ:{diher:n}},song:e,sony:e,soy:e,spa:e,space:{$:1,succ:{myfast:a,uber:a,xs4all:a}},sport:e,spot:e,srl:e,stada:e,staples:e,star:e,statebank:e,statefarm:e,stc:e,stcgroup:e,stockholm:e,storage:e,store:{$:1,succ:{sellfy:a,shopware:a,storebase:a}},stream:e,studio:e,study:e,style:e,sucks:e,supplies:e,supply:e,support:$,surf:e,surgery:e,suzuki:e,swatch:e,swiss:e,sydney:e,systems:{$:1,succ:{knightpoint:a}},tab:e,taipei:e,talk:e,taobao:e,target:e,tatamotors:e,tatar:e,tattoo:e,tax:e,taxi:e,tci:e,tdk:e,team:{$:1,succ:{discourse:a,jelastic:a}},tech:e,technology:d,temasek:e,tennis:e,teva:e,thd:e,theater:e,theatre:e,tiaa:e,tickets:e,tienda:e,tiffany:e,tips:e,tires:e,tirol:e,tjmaxx:e,tjx:e,tkmaxx:e,tmall:e,today:{$:1,succ:{prequalifyme:a}},tokyo:e,tools:e,top:{$:1,succ:{"now-dns":a,ntdll:a}},toray:e,toshiba:e,total:e,tours:e,town:e,toyota:e,toys:e,trade:j,trading:e,training:e,travel:e,travelchannel:e,travelers:e,travelersinsurance:e,trust:e,trv:e,tube:e,tui:e,tunes:e,tushu:e,tvs:e,ubank:e,ubs:e,unicom:e,university:e,uno:e,uol:e,ups:e,vacations:e,vana:e,vanguard:e,vegas:e,ventures:e,verisign:e,versicherung:e,vet:e,viajes:e,video:e,vig:e,viking:e,villas:e,vin:e,vip:e,virgin:e,visa:e,vision:e,viva:e,vivo:e,vlaanderen:e,vodka:e,volkswagen:e,volvo:e,vote:e,voting:e,voto:e,voyage:e,vuelos:e,wales:e,walmart:e,walter:e,wang:e,wanggou:e,watch:e,watches:e,weather:e,weatherchannel:e,webcam:e,weber:e,website:F,wedding:e,weibo:e,weir:e,whoswho:e,wien:e,wiki:F,williamhill:e,win:e,windows:e,wine:e,winners:e,wme:e,wolterskluwer:e,woodside:e,work:e,works:e,world:e,wow:e,wtc:e,wtf:e,xbox:e,xerox:e,xfinity:e,xihuan:e,xin:e,"xn--11b4c3d":e,"कॉम":e,"xn--1ck2e1b":e,"セール":e,"xn--1qqw23a":e,"佛山":e,"xn--30rr7y":e,"慈善":e,"xn--3bst00m":e,"集团":e,"xn--3ds443g":e,"在线":e,"xn--3pxu8k":e,"点看":e,"xn--42c2d9a":e,"คอม":e,"xn--45q11c":e,"八卦":e,"xn--4gbrim":e,"موقع":e,"xn--55qw42g":e,"公益":e,"xn--55qx5d":e,"公司":e,"xn--5su34j936bgsg":e,"香格里拉":e,"xn--5tzm5g":e,"网站":e,"xn--6frz82g":e,"移动":e,"xn--6qq986b3xl":e,"我爱你":e,"xn--80adxhks":e,"москва":e,"xn--80aqecdr1a":e,"католик":e,"xn--80asehdb":e,"онлайн":e,"xn--80aswg":e,"сайт":e,"xn--8y0a063a":e,"联通":e,"xn--9dbq2a":e,"קום":e,"xn--9et52u":e,"时尚":e,"xn--9krt00a":e,"微博":e,"xn--b4w605ferd":e,"淡马锡":e,"xn--bck1b9a5dre4c":e,"ファッション":e,"xn--c1avg":e,"орг":e,"xn--c2br7g":e,"नेट":e,"xn--cck2b3b":e,"ストア":e,"xn--cckwcxetd":e,"アマゾン":e,"xn--cg4bki":e,"삼성":e,"xn--czr694b":e,"商标":e,"xn--czrs0t":e,"商店":e,"xn--czru2d":e,"商城":e,"xn--d1acj3b":e,"дети":e,"xn--eckvdtc9d":e,"ポイント":e,"xn--efvy88h":e,"新闻":e,"xn--fct429k":e,"家電":e,"xn--fhbei":e,"كوم":e,"xn--fiq228c5hs":e,"中文网":e,"xn--fiq64b":e,"中信":e,"xn--fjq720a":e,"娱乐":e,"xn--flw351e":e,"谷歌":e,"xn--fzys8d69uvgm":e,"電訊盈科":e,"xn--g2xx48c":e,"购物":e,"xn--gckr3f0f":e,"クラウド":e,"xn--gk3at1e":e,"通販":e,"xn--hxt814e":e,"网店":e,"xn--i1b6b1a6a2e":e,"संगठन":e,"xn--imr513n":e,"餐厅":e,"xn--io0a7i":e,"网络":e,"xn--j1aef":e,"ком":e,"xn--jlq480n2rg":e,"亚马逊":e,"xn--jvr189m":e,"食品":e,"xn--kcrx77d1x4a":e,"飞利浦":e,"xn--kput3i":e,"手机":e,"xn--mgba3a3ejt":e,"ارامكو":e,"xn--mgba7c0bbn0a":e,"العليان":e,"xn--mgbaakc7dvf":e,"اتصالات":e,"xn--mgbab2bd":e,"بازار":e,"xn--mgbca7dzdo":e,"ابوظبي":e,"xn--mgbi4ecexp":e,"كاثوليك":e,"xn--mgbt3dhd":e,"همراه":e,"xn--mk1bu44c":e,"닷컴":e,"xn--mxtq1m":e,"政府":e,"xn--ngbc5azd":e,"شبكة":e,"xn--ngbe9e0a":e,"بيتك":e,"xn--ngbrx":e,"عرب":e,"xn--nqv7f":e,"机构":e,"xn--nqv7fs00ema":e,"组织机构":e,"xn--nyqy26a":e,"健康":e,"xn--otu796d":e,"招聘":e,"xn--p1acf":{$:1,succ:{"xn--90amc":a,"xn--j1aef":a,"xn--j1ael8b":a,"xn--h1ahn":a,"xn--j1adp":a,"xn--c1avg":a,"xn--80aaa0cvac":a,"xn--h1aliz":a,"xn--90a1af":a,"xn--41a":a}},"рус":{$:1,succ:{"биз":a,"ком":a,"крым":a,"мир":a,"мск":a,"орг":a,"самара":a,"сочи":a,"спб":a,"я":a}},"xn--pssy2u":e,"大拿":e,"xn--q9jyb4c":e,"みんな":e,"xn--qcka1pmc":e,"グーグル":e,"xn--rhqv96g":e,"世界":e,"xn--rovu88b":e,"書籍":e,"xn--ses554g":e,"网址":e,"xn--t60b56a":e,"닷넷":e,"xn--tckwe":e,"コム":e,"xn--tiq49xqyj":e,"天主教":e,"xn--unup4y":e,"游戏":e,"xn--vermgensberater-ctb":e,"vermögensberater":e,"xn--vermgensberatung-pwb":e,"vermögensberatung":e,"xn--vhquv":e,"企业":e,"xn--vuq861b":e,"信息":e,"xn--w4r85el8fhu5dnra":e,"嘉里大酒店":e,"xn--w4rs40l":e,"嘉里":e,"xn--xhq521b":e,"广东":e,"xn--zfr164b":e,"政务":e,xyz:{$:1,succ:{blogsite:a,localzone:a,crafting:a,zapto:a,telebit:n}},yachts:e,yahoo:e,yamaxun:e,yandex:e,yodobashi:e,yoga:e,yokohama:e,you:e,youtube:e,yun:e,zappos:e,zara:e,zero:e,zip:e,zone:{$:1,succ:{cloud66:a,hs:a,triton:n,lima:a}},zuerich:e}}}();function ss(e,a,t,n){let s=null,r=a;for(;void 0!==r&&(r.$&n&&(s={index:t+1,isIcann:1===r.$,isPrivate:2===r.$}),-1!==t);){const a=r.succ;r=a&&(a[e[t]]||a["*"]),t-=1}return s}function rs(e,a,t){if(!0===function(e,a,t){if(!1===a.allowPrivateDomains&&e.length>3){const a=e.length-1,n=e.charCodeAt(a),s=e.charCodeAt(a-1),r=e.charCodeAt(a-2),i=e.charCodeAt(a-3);if(109===n&&111===s&&99===r&&46===i)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="com",!0;if(103===n&&114===s&&111===r&&46===i)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="org",!0;if(117===n&&100===s&&101===r&&46===i)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="edu",!0;if(118===n&&111===s&&103===r&&46===i)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="gov",!0;if(116===n&&101===s&&110===r&&46===i)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="net",!0;if(101===n&&100===s&&46===r)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="de",!0}return!1}(e,a,t))return;const n=e.split("."),s=(!0===a.allowPrivateDomains?2:0)|(!0===a.allowIcannDomains?1:0),r=ss(n,ts,n.length-1,s);if(null!==r)return t.isIcann=r.isIcann,t.isPrivate=r.isPrivate,void(t.publicSuffix=n.slice(r.index+1).join("."));const i=ss(n,ns,n.length-1,s);if(null!==i)return t.isIcann=i.isIcann,t.isPrivate=i.isPrivate,void(t.publicSuffix=n.slice(i.index).join("."));t.isIcann=!1,t.isPrivate=!1,t.publicSuffix=n[n.length-1]}const is={domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null};function os(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var t;return(t=is).domain=null,t.domainWithoutSuffix=null,t.hostname=null,t.isIcann=null,t.isIp=null,t.isPrivate=null,t.publicSuffix=null,t.subdomain=null,as(e,0,rs,a,is).hostname}const ds="[a-fA-F\\d:]",us=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${ds})|(?<=${ds})(?=\\s|$))`:"",ls="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",cs="[a-fA-F\\d]{1,4}",ps=`\n(?:\n(?:${cs}:){7}(?:${cs}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${cs}:){6}(?:${ls}|:${cs}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${cs}:){5}(?::${ls}|(?::${cs}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${cs}:){4}(?:(?::${cs}){0,1}:${ls}|(?::${cs}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${cs}:){3}(?:(?::${cs}){0,2}:${ls}|(?::${cs}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${cs}:){2}(?:(?::${cs}){0,3}:${ls}|(?::${cs}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${cs}:){1}(?:(?::${cs}){0,4}:${ls}|(?::${cs}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${cs}){0,5}:${ls}|(?::${cs}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),ms=new RegExp(`(?:^${ls}$)|(?:^${ps}$)`),fs=new RegExp(`^${ls}$`),gs=new RegExp(`^${ps}$`),hs=e=>e&&e.exact?ms:new RegExp(`(?:${us(e)}${ls}${us(e)})|(?:${us(e)}${ps}${us(e)})`,"g");hs.v4=e=>e&&e.exact?fs:new RegExp(`${us(e)}${ls}${us(e)}`,"g"),hs.v6=e=>e&&e.exact?gs:new RegExp(`${us(e)}${ps}${us(e)}`,"g");const bs=hs,vs=e=>bs({exact:!0}).test(e);vs.v4=e=>bs.v4({exact:!0}).test(e),vs.v6=e=>bs.v6({exact:!0}).test(e),vs.version=e=>vs(e)?vs.v4(e)?4:6:void 0;var ys,ks,ws,xs,As,Es=ie(vs);!function(e){e[e.Syntax=1]="Syntax",e[e.Raws=2]="Raws",e[e.Ip=3]="Ip",e[e.HostnameList=4]="HostnameList",e[e.Comment=5]="Comment",e[e.Start=6]="Start",e[e.End=7]="End"}(ys||(ys={})),function(e){e[e.Children=1]="Children",e[e.Start=2]="Start",e[e.End=3]="End"}(ks||(ks={}));class Cs extends Ie{static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=V.skipWS(a,0);const r=[];let i=s,o=null;const d=a.length,u=(e,s)=>{e<s&&r.push(Le.parse(a.slice(e,s),t,n+e))};for(;s<d;)if(V.isWhitespace(a[s]))u(i,s),s=V.skipWS(a,s),i=s;else if(a[s]===Cs.COMMENT_MARKER){const e=s;s=V.skipWS(a,s+1),o=Le.parse(a.slice(s),t,n+e),s=d,i=s}else s+=1;u(i,s);const l=r.length;if(l<1)throw new Error("Host rule must have at least one domain name or an IP address and a domain name");const c={category:e.RuleCategory.Network,type:e.NetworkRuleType.HostRule,syntax:e.AdblockSyntax.Common};if(1===l){if(function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var t;return(t=is).domain=null,t.domainWithoutSuffix=null,t.hostname=null,t.isIcann=null,t.isIp=null,t.isPrivate=null,t.publicSuffix=null,t.subdomain=null,as(e,3,rs,a,is).domain}(r[0].value)!==r[0].value)throw new Error(`Not a valid domain: ${r[0].value}`);c.ip={type:"Value",value:Cs.NULL_IP},c.hostnames={type:"HostnameList",children:r}}else if(l>1){const[e,...a]=r;if(!Es(e.value))throw new Error(`Invalid IP address: ${e.value}`);for(const{value:e}of a)if(os(e)!==e)throw new Error(`Not a valid hostname: ${e}`);c.ip=e,c.hostnames={type:"HostnameList",children:a}}return o&&(c.comment=o),t.includeRaws&&(c.raws={text:a}),c}static generate(e){const a=[];return e.ip&&a.push(e.ip.value),e.hostnames&&(a.push(i),a.push(e.hostnames.children.map((e=>{let{value:a}=e;return a})).join(i))),e.comment&&(a.push(i),a.push(Cs.COMMENT_MARKER),a.push(i),a.push(e.comment.value)),a.join(r)}static serializeHostnameList(e,a){a.writeUint8(te.HostnameListNode),Ue(e.start)||(a.writeUint8(ks.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(ks.End),a.writeUint32(e.end));const t=e.children.length;if(t){if(t>65535)throw new Error(`Too many children: ${t}, the limit is 65535`);a.writeUint8(ks.Children),a.writeUint16(t);for(let n=0;n<t;n+=1)Le.serialize(e.children[n],a)}a.writeUint8(0)}static deserializeHostnameList(e,a){e.assertUint8(te.HostnameListNode),a.type="HostnameList";let t=e.readUint8();for(;0!==t;){switch(t){case ks.Children:a.children=new Array(e.readUint16());for(let t=0;t<a.children.length;t+=1)Le.deserialize(e,a.children[t]={});break;case ks.Start:a.start=e.readUint32();break;case ks.End:a.end=e.readUint32();break;default:throw new Error(`Unknown property: ${t}`)}t=e.readUint8()}}static serialize(e,a){a.writeUint8(te.HostRuleNode),a.writeUint8(ys.Syntax),a.writeUint8(ne.get(e.syntax)??0),e.ip&&(a.writeUint8(ys.Ip),Le.serialize(e.ip,a)),e.hostnames&&(a.writeUint8(ys.HostnameList),Cs.serializeHostnameList(e.hostnames,a)),e.comment&&(a.writeUint8(ys.Comment),Le.serialize(e.comment,a)),Ue(e.start)||(a.writeUint8(ys.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(ys.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(a,t){a.assertUint8(te.HostRuleNode),t.category=e.RuleCategory.Network,t.type=e.NetworkRuleType.HostRule;let n=a.readUint8();for(;0!==n;){switch(n){case ys.Syntax:t.syntax=se.get(a.readUint8())??e.AdblockSyntax.Common;break;case ys.Ip:t.ip={},Le.deserialize(a,t.ip);break;case ys.HostnameList:t.hostnames={},Cs.deserializeHostnameList(a,t.hostnames);break;case ys.Comment:t.comment={},Le.deserialize(a,t.comment);break;case ys.Start:t.start=a.readUint32();break;case ys.End:t.end=a.readUint32();break;default:throw new Error(`Invalid property: ${n}.`)}n=a.readUint8()}}}_defineProperty(Cs,"NULL_IP","0.0.0.0"),_defineProperty(Cs,"COMMENT_MARKER","#"),function(e){e[e.Start=1]="Start",e[e.End=2]="End"}(ws||(ws={})),function(e){e[e.Name=1]="Name",e[e.Message=2]="Message",e[e.Start=3]="Start",e[e.End=4]="End"}(xs||(xs={})),function(e){e[e.Error=1]="Error",e[e.Start=2]="Start",e[e.End=3]="End"}(As||(As={}));class Ds extends Ie{static parseHostOrNetworkRule(e,a,t){if(a.parseHostRules)try{return Cs.parse(e,a,t)}catch(e){}return Xn.parse(e,a,t)}static parse(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;try{if(0===a.trim().length){const s={type:"EmptyRule",category:e.RuleCategory.Empty,syntax:e.AdblockSyntax.Common};return t.includeRaws&&(s.raws={text:a}),t.isLocIncluded&&(s.start=n,s.end=n+a.length),s}if(t.ignoreComments){if(At.isCommentRule(a)){const s={type:"EmptyRule",category:e.RuleCategory.Empty,syntax:e.AdblockSyntax.Common};return t.includeRaws&&(s.raws={text:a}),t.isLocIncluded&&(s.start=n,s.end=n+a.length),s}return Kn.parse(a,t,n)||Ds.parseHostOrNetworkRule(a,t,n)}return At.parse(a,t,n)||Kn.parse(a,t,n)||Ds.parseHostOrNetworkRule(a,t,n)}catch(s){if(!(t.tolerant&&s instanceof Error))throw s;const r={type:"InvalidRuleError",name:s.name,message:s.message};s instanceof Fe&&(r.start=s.start,r.end=s.end);const i={type:"InvalidRule",category:e.RuleCategory.Invalid,syntax:e.AdblockSyntax.Common,raw:a,error:r};return t.includeRaws&&(i.raws={text:a}),t.isLocIncluded&&(i.start=n,i.end=n+a.length),i}}static generate(a){switch(a.category){case e.RuleCategory.Empty:return r;case e.RuleCategory.Invalid:return a.raw;case e.RuleCategory.Comment:return At.generate(a);case e.RuleCategory.Cosmetic:return Kn.generate(a);case e.RuleCategory.Network:switch(a.type){case e.NetworkRuleType.HostRule:return Cs.generate(a);case e.NetworkRuleType.NetworkRule:return Xn.generate(a);default:throw new Error("Unknown network rule type")}default:throw new Error("Unknown rule category")}}static serializeEmptyRule(e,a){a.writeUint8(te.EmptyRule),Ue(e.start)||(a.writeUint8(ws.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(ws.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserializeEmptyRule(a,t){a.assertUint8(te.EmptyRule),t.type="EmptyRule",t.category=e.RuleCategory.Empty,t.syntax=e.AdblockSyntax.Common;let n=a.readUint8();for(;0!==n;){switch(n){case ws.Start:t.start=a.readUint32();break;case ws.End:t.end=a.readUint32();break;default:throw new Error(`Invalid property: ${n}.`)}n=a.readUint8()}}static serializeInvalidRuleErrorNode(e,a){a.writeUint8(te.InvalidRuleErrorNode),a.writeUint8(xs.Name),a.writeString(e.name),a.writeUint8(xs.Message),a.writeString(e.message),Ue(e.start)||(a.writeUint8(xs.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(xs.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserializeInvalidRuleErrorNode(e,a){e.assertUint8(te.InvalidRuleErrorNode),a.type="InvalidRuleError";let t=e.readUint8();for(;0!==t;){switch(t){case xs.Name:a.name=e.readString();break;case xs.Message:a.message=e.readString();break;case xs.Start:a.start=e.readUint32();break;case xs.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}.`)}t=e.readUint8()}}static serializeInvalidRule(e,a){a.writeUint8(te.InvalidRule),a.writeUint8(As.Error),Ds.serializeInvalidRuleErrorNode(e.error,a),Ue(e.start)||(a.writeUint8(As.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(As.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserializeInvalidRule(a,t){a.assertUint8(te.InvalidRule),t.type="InvalidRule",t.category=e.RuleCategory.Invalid;let n=a.readUint8();for(;0!==n;){switch(n){case As.Error:Ds.deserializeInvalidRuleErrorNode(a,t.error={});break;case As.Start:t.start=a.readUint32();break;case As.End:t.end=a.readUint32();break;default:throw new Error(`Invalid property: ${n}.`)}n=a.readUint8()}}static serialize(a,t){switch(a.category){case e.RuleCategory.Comment:At.serialize(a,t);break;case e.RuleCategory.Cosmetic:Kn.serialize(a,t);break;case e.RuleCategory.Network:switch(a.type){case e.NetworkRuleType.HostRule:Cs.serialize(a,t);break;case e.NetworkRuleType.NetworkRule:Xn.serialize(a,t);break;default:throw new Error("Unknown network rule type")}break;case e.RuleCategory.Empty:Ds.serializeEmptyRule(a,t);break;case e.RuleCategory.Invalid:Ds.serializeInvalidRule(a,t);break;default:throw new Error("Unknown rule category")}}static deserialize(e,a){switch(e.peekUint8()){case te.AgentRuleNode:case te.HintRuleNode:case te.PreProcessorCommentRuleNode:case te.MetadataCommentRuleNode:case te.ConfigCommentRuleNode:case te.CommentRuleNode:At.deserialize(e,a);break;case te.ElementHidingRule:case te.CssInjectionRule:case te.ScriptletInjectionRule:case te.HtmlFilteringRule:case te.JsInjectionRule:Kn.deserialize(e,a);break;case te.NetworkRuleNode:Xn.deserialize(e,a);break;case te.HostRuleNode:Cs.deserialize(e,a);break;case te.EmptyRule:Ds.deserializeEmptyRule(e,a);break;case te.InvalidRule:Ds.deserializeInvalidRule(e,a);break;default:throw new Error("Unknown rule category")}}}const js=f;class Rs extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n={type:X.AppList,separator:js,children:Dt(e,a,t,js,J.App)};return a.isLocIncluded&&(n.start=t,n.end=t+e.length),n}}const Ss=f;class _s extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n={type:X.MethodList,separator:Ss,children:Dt(e,a,t,Ss,J.Method)};return a.isLocIncluded&&(n.start=t,n.end=t+e.length),n}}const Ms=f;class Ts extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n={type:X.StealthOptionList,separator:Ms,children:Dt(e,a,t,Ms,J.StealthOption)};return a.isLocIncluded&&(n.start=t,n.end=t+e.length),n}}var Fs;!function(e){e[e.Children=1]="Children",e[e.Start=2]="Start",e[e.End=3]="End"}(Fs||(Fs={}));class $s extends Ie{static parse(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;const s=[];let r=n;for(;n<e.length;)if(V.isEOL(e[n])){const t=e.slice(r,n),i=Ds.parse(t,a,r);let o;e[n]===v?o=e[n+1]===y?"crlf":"cr":e[n]===y&&(o="lf"),i.raws?i.raws.nl=o:i.raws={text:t,nl:o},s.push(i),n+="crlf"===o?2:1,r=n}else n+=1;s.push(Ds.parse(e.slice(r,n),a,t+r));const i={type:"FilterList",children:s};return a.isLocIncluded&&(i.start=t,i.end=t+e.length),i}static generate(e){let a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=r;for(let r=0;r<e.children.length;r+=1){var n,s;const i=e.children[r];switch(a&&null!==(n=i.raws)&&void 0!==n&&n.text?t+=i.raws.text:t+=Ds.generate(i),null===(s=i.raws)||void 0===s?void 0:s.nl){case"crlf":t+=k;break;case"cr":t+=v;break;case"lf":t+=y;break;default:r!==e.children.length-1&&(t+=y)}}return t}static serialize(e,a){a.writeUint8(te.FilterListNode),a.writeUint8(Fs.Children);const t=e.children.length;a.writeUint32(t);for(let n=0;n<t;n+=1)Ds.serialize(e.children[n],a);Ue(e.start)||(a.writeUint8(Fs.Start),a.writeUint32(e.start)),Ue(e.end)||(a.writeUint8(Fs.End),a.writeUint32(e.end)),a.writeUint8(0)}static deserialize(e,a){e.assertUint8(te.FilterListNode),a.type="FilterList";let t=e.readUint8();for(;0!==t;){switch(t){case Fs.Children:a.children=new Array(e.readUint32());for(let t=0;t<a.children.length;t+=1)Ds.deserialize(e,a.children[t]={});break;case Fs.Start:a.start=e.readUint32();break;case Fs.End:a.end=e.readUint32();break;default:throw new Error(`Invalid property: ${t}.`)}t=e.readUint8()}}static jumpToChildren(e){e.assertUint8(te.FilterListNode);let a=e.readUint8();for(;a;){switch(a){case Fs.Children:return e.readUint32();case Fs.Start:case Fs.End:e.readUint32();break;default:throw new Error(`Invalid property: ${a}.`)}a=e.readUint8()}return 0}}class Os extends Error{constructor(e){super(e),this.name="RuleConversionError"}}class Is extends Error{constructor(e,a){super(`Expected schema version ${e}, but got ${a}`),_defineProperty(this,"expectedVersion",void 0),_defineProperty(this,"actualVersion",void 0),this.name="BinarySchemaMismatchError",this.expectedVersion=e,this.actualVersion=a}}const Ns={[e.AdblockSyntax.Adg]:"adg_",[e.AdblockSyntax.Ubo]:"ubo_",[e.AdblockSyntax.Abp]:"abp_"},Us=new Set([...S,...R,..._,g]),Bs=new Set(["connect","delete","get","head","options","patch","post","put","trace"]),zs=new Set(["searchqueries","donottrack","3p-cookie","1p-cookie","3p-cache","3p-auth","webrtc","push","location","flash","java","referrer","useragent","ip","xclientdata","dpi"]),Ps=new Set(["base-uri","child-src","connect-src","default-src","fenced-frame-src","font-src","form-action","frame-ancestors","frame-src","img-src","manifest-src","media-src","navigate-to","object-src","plugin-types","prefetch-src","referrer","report-to","report-uri","require-trusted-types-for","sandbox","script-src","script-src-attr","script-src-elem","style-src","style-src-attr","style-src-elem","trusted-types","upgrade-insecure-requests","worker-src"]),Ls=new Set(["accelerometer","ambient-light-sensor","autoplay","battery","browsing-topics","camera","display-capture","document-domain","encrypted-media","execution-while-not-rendered","execution-while-out-of-viewport","fullscreen","gamepad","geolocation","gyroscope","hid","identity-credentials-get","idle-detection","join-ad-interest-group","local-fonts","magnetometer","microphone","midi","payment","picture-in-picture","publickey-credentials-create","publickey-credentials-get","run-ad-auction","screen-wake-lock","serial","speaker-selection","storage-access","usb","web-share","xr-spatial-tracking"]),qs=`${E}${C}`,Hs=new Set(["no-referrer","no-referrer-when-downgrade","origin","origin-when-cross-origin","same-origin","strict-origin","strict-origin-when-cross-origin","unsafe-url"]),Ws="Value is invalid for the modifier",Zs=e=>({valid:!1,error:e}),Vs=e=>Zs(`Value is required for the modifier: '${e}'`),Gs="xregexp",Ks={astral:!1,namespacing:!0},Qs={};let Xs={},Js={};const Ys=[],er="default",ar="class",tr={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},nr=/\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g,sr=void 0===/()??/.exec("")[1],rr=void 0!==/x/.flags;function ir(e){let a=!0;try{new RegExp("",e),"y"===e&&".."===".a".replace(new RegExp("a","gy"),".")&&(a=!1)}catch(e){a=!1}return a}const or=ir("d"),dr=ir("s"),ur=ir("u"),lr=ir("y"),cr={d:or,g:!0,i:!0,m:!0,s:dr,u:ur,y:lr},pr=dr?/[^dgimsuy]+/g:/[^dgimuy]+/g;function mr(e,a,t,n,s){if(e[Gs]={captureNames:a},s)return e;if(e.__proto__)e.__proto__=jr.prototype;else for(const a in jr.prototype)e[a]=jr.prototype[a];return e[Gs].source=t,e[Gs].flags=n?n.split("").sort().join(""):n,e}function fr(e){return e.replace(/([\s\S])(?=[\s\S]*\1)/g,"")}function gr(e,a){if(!jr.isRegExp(e))throw new TypeError("Type RegExp expected");const t=e[Gs]||{};let n=function(e){return rr?e.flags:/\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(e))[1]}(e),s="",r="",i=null,o=null;return(a=a||{}).removeG&&(r+="g"),a.removeY&&(r+="y"),r&&(n=n.replace(new RegExp(`[${r}]+`,"g"),"")),a.addG&&(s+="g"),a.addY&&(s+="y"),s&&(n=fr(n+s)),a.isInternalOnly||(void 0!==t.source&&(i=t.source),null!=t.flags&&(o=s?fr(t.flags+s):t.flags)),mr(new RegExp(a.source||e.source,n),function(e){return!(!e[Gs]||!e[Gs].captureNames)}(e)?t.captureNames.slice(0):null,i,o,a.isInternalOnly)}function hr(e){return parseInt(e,16)}function br(e,a,t){const n=e.index+e[0].length,s=e.input[e.index-1],r=e.input[n];return/^[()|]$/.test(s)||/^[()|]$/.test(r)||0===e.index||n===e.input.length||/\(\?(?:[:=!]|<[=!])$/.test(e.input.substring(e.index-4,e.index))||function(e,a,t){const n="\\(\\?#[^)]*\\)",s="[?*+]|{\\d+(?:,\\d*)?}";return(t.includes("x")?new RegExp(`^(?:\\s|#[^#\\n]*|${n})*(?:${s})`):new RegExp(`^(?:${n})*(?:${s})`)).test(e.slice(a))}(e.input,n,t)?"":"(?:)"}function vr(e){return parseInt(e,10).toString(16)}function yr(e,a){return Object.prototype.toString.call(e)===`[object ${a}]`}function kr(e){if(null==e)throw new TypeError("Cannot convert null or undefined to object");return e}function wr(e){for(;e.length<4;)e=`0${e}`;return e}function xr(e){const a={};return yr(e,"String")?(jr.forEach(e,/[^\s,]+/,(e=>{a[e]=!0})),a):e}function Ar(e){if(!/^[\w$]$/.test(e))throw new Error("Flag must be a single character A-Za-z0-9_$");cr[e]=!0}function Er(e,a,t,n,s){let r=Ys.length;const i=e[t];let o,d,u=null;for(;r--;)if(d=Ys[r],!(d.leadChar&&d.leadChar!==i||d.scope!==n&&"all"!==d.scope||d.flag&&!a.includes(d.flag))&&(o=jr.exec(e,d.regex,t,"sticky"),o)){u={matchLength:o[0].length,output:d.handler.call(s,o,n,a),reparse:d.reparse};break}return u}function Cr(e){Ks.astral=e}function Dr(e){Ks.namespacing=e}function jr(e,a){if(jr.isRegExp(e)){if(void 0!==a)throw new TypeError("Cannot supply flags when copying a RegExp");return gr(e)}if(e=void 0===e?"":String(e),a=void 0===a?"":String(a),jr.isInstalled("astral")&&!a.includes("A")&&(a+="A"),Js[e]||(Js[e]={}),!Js[e][a]){const t={hasNamedCapture:!1,captureNames:[]};let n,s=er,r="",i=0;const o=function(e,a){if(fr(a)!==a)throw new SyntaxError(`Invalid duplicate regex flag ${a}`);e=e.replace(/^\(\?([\w$]+)\)/,((e,t)=>{if(/[dgy]/.test(t))throw new SyntaxError(`Cannot use flags dgy in mode modifier ${e}`);return a=fr(a+t),""}));for(const e of a)if(!cr[e])throw new SyntaxError(`Unknown regex flag ${e}`);return{pattern:e,flags:a}}(e,a);let d=o.pattern;const u=o.flags;for(;i<d.length;){do{n=Er(d,u,i,s,t),n&&n.reparse&&(d=d.slice(0,i)+n.output+d.slice(i+n.matchLength))}while(n&&n.reparse);if(n)r+=n.output,i+=n.matchLength||1;else{const[e]=jr.exec(d,tr[s],i,"sticky");r+=e,i+=e.length,"["===e&&s===er?s=ar:"]"===e&&s===ar&&(s=er)}}Js[e][a]={pattern:r.replace(/(?:\(\?:\))+/g,"(?:)"),flags:u.replace(pr,""),captures:t.hasNamedCapture?t.captureNames:null}}const t=Js[e][a];return mr(new RegExp(t.pattern,t.flags),t.captures,e,a)}jr.prototype=new RegExp,jr.version="5.1.1",jr._clipDuplicates=fr,jr._hasNativeFlag=ir,jr._dec=hr,jr._hex=vr,jr._pad4=wr,jr.addToken=(e,a,t)=>{t=t||{};let{optionalFlags:n}=t;if(t.flag&&Ar(t.flag),n){n=n.split("");for(const e of n)Ar(e)}Ys.push({regex:gr(e,{addG:!0,addY:lr,isInternalOnly:!0}),handler:a,scope:t.scope||er,flag:t.flag,reparse:t.reparse,leadChar:t.leadChar}),jr.cache.flush("patterns")},jr.cache=(e,a)=>(Xs[e]||(Xs[e]={}),Xs[e][a]||(Xs[e][a]=jr(e,a))),jr.cache.flush=e=>{"patterns"===e?Js={}:Xs={}},jr.escape=e=>String(kr(e)).replace(/[\\\[\]{}()*+?.^$|]/g,"\\$&").replace(/[\s#\-,]/g,(e=>`\\u${wr(vr(e.charCodeAt(0)))}`)),jr.exec=(e,a,t,n)=>{let s,r="g",i=!1,o=!1;i=lr&&!!(n||a.sticky&&!1!==n),i?r+="y":n&&(o=!0,r+="FakeY"),a[Gs]=a[Gs]||{};const d=a[Gs][r]||(a[Gs][r]=gr(a,{addG:!0,addY:i,source:o?`${a.source}|()`:void 0,removeY:!1===n,isInternalOnly:!0}));return t=t||0,d.lastIndex=t,s=Qs.exec.call(d,e),o&&s&&""===s.pop()&&(s=null),a.global&&(a.lastIndex=s?d.lastIndex:0),s},jr.forEach=(e,a,t)=>{let n,s=0,r=-1;for(;n=jr.exec(e,a,s);)t(n,++r,e,a),s=n.index+(n[0].length||1)},jr.globalize=e=>gr(e,{addG:!0}),jr.install=e=>{e=xr(e),!Ks.astral&&e.astral&&Cr(!0),!Ks.namespacing&&e.namespacing&&Dr(!0)},jr.isInstalled=e=>!!Ks[e],jr.isRegExp=e=>"[object RegExp]"===Object.prototype.toString.call(e),jr.match=(e,a,t)=>{const n=a.global&&"one"!==t||"all"===t,s=(n?"g":"")+(a.sticky?"y":"")||"noGY";a[Gs]=a[Gs]||{};const r=a[Gs][s]||(a[Gs][s]=gr(a,{addG:!!n,removeG:"one"===t,isInternalOnly:!0})),i=String(kr(e)).match(r);return a.global&&(a.lastIndex="one"===t&&i?i.index+i[0].length:0),n?i||[]:i&&i[0]},jr.matchChain=(e,a)=>function e(t,n){const s=a[n].regex?a[n]:{regex:a[n]},r=[];function i(e){if(s.backref){const a=`Backreference to undefined group: ${s.backref}`,t=isNaN(s.backref);if(t&&jr.isInstalled("namespacing")){if(!e.groups||!(s.backref in e.groups))throw new ReferenceError(a)}else if(!e.hasOwnProperty(s.backref))throw new ReferenceError(a);const n=t&&jr.isInstalled("namespacing")?e.groups[s.backref]:e[s.backref];r.push(n||"")}else r.push(e[0])}for(const e of t)jr.forEach(e,s.regex,i);return n!==a.length-1&&r.length?e(r,n+1):r}([e],0),jr.replace=(e,a,t,n)=>{const s=jr.isRegExp(a),r=a.global&&"one"!==n||"all"===n,i=(r?"g":"")+(a.sticky?"y":"")||"noGY";let o=a;s?(a[Gs]=a[Gs]||{},o=a[Gs][i]||(a[Gs][i]=gr(a,{addG:!!r,removeG:"one"===n,isInternalOnly:!0}))):r&&(o=new RegExp(jr.escape(String(a)),"g"));const d=Qs.replace.call(kr(e),o,t);return s&&a.global&&(a.lastIndex=0),d},jr.replaceEach=(e,a)=>{for(const t of a)e=jr.replace(e,t[0],t[1],t[2]);return e},jr.split=(e,a,t)=>Qs.split.call(kr(e),a,t),jr.test=(e,a,t,n)=>!!jr.exec(e,a,t,n),jr.uninstall=e=>{e=xr(e),Ks.astral&&e.astral&&Cr(!1),Ks.namespacing&&e.namespacing&&Dr(!1)},jr.union=(e,a,t)=>{const n=(t=t||{}).conjunction||"or";let s,r,i=0;function o(e,a,t){const n=r[i-s];if(a){if(++i,n)return`(?<${n}>`}else if(t)return`\\${+t+s}`;return e}if(!yr(e,"Array")||!e.length)throw new TypeError("Must provide a nonempty array of patterns to merge");const d=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,u=[];for(const a of e)jr.isRegExp(a)?(s=i,r=a[Gs]&&a[Gs].captureNames||[],u.push(jr(a.source).source.replace(d,o))):u.push(jr.escape(a));const l="none"===n?"":"|";return jr(u.join(l),a)},Qs.exec=function(e){const a=this.lastIndex,t=RegExp.prototype.exec.apply(this,arguments);if(t){if(!sr&&t.length>1&&t.includes("")){const a=gr(this,{removeG:!0,isInternalOnly:!0});String(e).slice(t.index).replace(a,(function(){const e=arguments.length;for(let a=1;a<e-2;++a)void 0===(a<0||arguments.length<=a?void 0:arguments[a])&&(t[a]=void 0)}))}if(this[Gs]&&this[Gs].captureNames){let e=t;jr.isInstalled("namespacing")&&(t.groups=Object.create(null),e=t.groups);for(let a=1;a<t.length;++a){const n=this[Gs].captureNames[a-1];n&&(e[n]=t[a])}}else!t.groups&&jr.isInstalled("namespacing")&&(t.groups=void 0);this.global&&!t[0].length&&this.lastIndex>t.index&&(this.lastIndex=t.index)}return this.global||(this.lastIndex=a),t},Qs.test=function(e){return!!Qs.exec.call(this,e)},Qs.match=function(e){if(jr.isRegExp(e)){if(e.global){const a=String.prototype.match.apply(this,arguments);return e.lastIndex=0,a}}else e=new RegExp(e);return Qs.exec.call(e,kr(this))},Qs.replace=function(e,a){const t=jr.isRegExp(e);let n,s,r;return t?(e[Gs]&&({captureNames:s}=e[Gs]),n=e.lastIndex):e+="",r=yr(a,"Function")?String(this).replace(e,(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(s){let e;jr.isInstalled("namespacing")?(e=Object.create(null),t.push(e)):(t[0]=new String(t[0]),[e]=t);for(let a=0;a<s.length;++a)s[a]&&(e[s[a]]=t[a+1])}return a(...t)})):String(kr(this)).replace(e,(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return String(a).replace(nr,(function(e,a,n,r){a=a||n;const i=yr(t[t.length-1],"Object")?4:3,o=t.length-i;if(a){if(/^\d+$/.test(a)){const e=+a;if(e<=o)return t[e]||""}const n=s?s.indexOf(a):-1;if(n<0)throw new SyntaxError(`Backreference to undefined group ${e}`);return t[n+1]||""}if(""===r||" "===r)throw new SyntaxError(`Invalid token ${e}`);if("&"===r||0==+r)return t[0];if("$"===r)return"$";if("`"===r)return t[t.length-1].slice(0,t[t.length-2]);if("'"===r)return t[t.length-1].slice(t[t.length-2]+t[0].length);if(r=+r,!isNaN(r)){if(r>o)throw new SyntaxError(`Backreference to undefined group ${e}`);return t[r]||""}throw new SyntaxError(`Invalid token ${e}`)}))})),t&&(e.global?e.lastIndex=0:e.lastIndex=n),r},Qs.split=function(e,a){if(!jr.isRegExp(e))return String.prototype.split.apply(this,arguments);const t=String(this),n=[],s=e.lastIndex;let r,i=0;return a=(void 0===a?-1:a)>>>0,jr.forEach(t,e,(e=>{e.index+e[0].length>i&&(n.push(t.slice(i,e.index)),e.length>1&&e.index<t.length&&Array.prototype.push.apply(n,e.slice(1)),r=e[0].length,i=e.index+r)})),i===t.length?e.test("")&&!r||n.push(""):n.push(t.slice(i)),e.lastIndex=s,n.length>a?n.slice(0,a):n},jr.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,((e,a)=>{if("B"===e[1]&&a===er)return e[0];throw new SyntaxError(`Invalid escape ${e[0]}`)}),{scope:"all",leadChar:"\\"}),jr.addToken(/\\u{([\dA-Fa-f]+)}/,((e,a,t)=>{const n=hr(e[1]);if(n>1114111)throw new SyntaxError(`Invalid Unicode code point ${e[0]}`);if(n<=65535)return`\\u${wr(vr(n))}`;if(ur&&t.includes("u"))return e[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")}),{scope:"all",leadChar:"\\"}),jr.addToken(/\(\?#[^)]*\)/,br,{leadChar:"("}),jr.addToken(/\s+|#[^\n]*\n?/,br,{flag:"x"}),dr||jr.addToken(/\./,(()=>"[\\s\\S]"),{flag:"s",leadChar:"."}),jr.addToken(/\\k<([^>]+)>/,(function(e){const a=isNaN(e[1])?this.captureNames.indexOf(e[1])+1:+e[1],t=e.index+e[0].length;if(!a||a>this.captureNames.length)throw new SyntaxError(`Backreference to undefined group ${e[0]}`);return`\\${a}${t===e.input.length||isNaN(e.input[t])?"":"(?:)"}`}),{leadChar:"\\"}),jr.addToken(/\\(\d+)/,(function(e,a){if(!(a===er&&/^[1-9]/.test(e[1])&&+e[1]<=this.captureNames.length)&&"0"!==e[1])throw new SyntaxError(`Cannot use octal escape or backreference to undefined group ${e[0]}`);return e[0]}),{scope:"all",leadChar:"\\"}),jr.addToken(/\(\?P?<([\p{ID_Start}$_][\p{ID_Continue}$_\u200C\u200D]*)>/u,(function(e){if(!jr.isInstalled("namespacing")&&("length"===e[1]||"__proto__"===e[1]))throw new SyntaxError(`Cannot use reserved word as capture name ${e[0]}`);if(this.captureNames.includes(e[1]))throw new SyntaxError(`Cannot use same name for multiple groups ${e[0]}`);return this.captureNames.push(e[1]),this.hasNamedCapture=!0,"("}),{leadChar:"("}),jr.addToken(/\((?!\?)/,(function(e,a,t){return t.includes("n")?"(?:":(this.captureNames.push(null),"(")}),{optionalFlags:"n",leadChar:"("});
8
- /*!
9
- * XRegExp.build 5.1.1
10
- * <xregexp.com>
11
- * Steven Levithan (c) 2012-present MIT License
12
- */
13
- var Rr=ie([{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0--Ÿ­͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-؅؜۝܎܏݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏-ࢗ࣢঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠎᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿​-‏‪-‮⁠-⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽-＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￾￿",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcbd\udcc3-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udbff][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca0-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udd73-\udd7a\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00-\udcff\uddf0-\udfff]"},{name:"Cc",alias:"Control",bmp:"\0--Ÿ"},{name:"Cf",alias:"Format",bmp:"­؀-؅؜۝܏࢐࢑࣢᠎​-‏‪-‮⁠-⁤⁦-\ufeff-",astral:"\ud804[\udcbd\udccd]|\ud80d[\udc30-\udc38]|\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|\udb40[\udc01\udc20-\udc7f]"},{name:"Cn",alias:"Unassigned",bmp:"͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-׿܎݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏࢒-ࢗ঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿⁥⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-퟿﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽﻾＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￸￾￿",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcc3-\udccc\udcce\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udb7f][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f\udc39-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca4-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00\udc02-\udc1f\udc80-\udcff\uddf0-\udfff]|[\udbbf\udbff][\udffe\udfff]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\udb80-\udbbe\udbc0-\udbfe][\udc00-\udfff]|[\udbbf\udbff][\udc00-\udffd]"},{name:"Cs",alias:"Surrogate",bmp:"\ud800-\udfff"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\ud801[\udc00-\udc4f\udcb0-\udcd3\udcd8-\udcfb\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udc80-\udcb2\udcc0-\udcf2]|\ud806[\udca0-\udcdf]|\ud81b[\ude40-\ude7f]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd00-\udd43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud81a[\udf40-\udf43]|\ud81b[\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud838[\udd37-\udd3d]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc50-\udc9d\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf4a\udf50]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|𝼊|\ud838[\udd00-\udd2c\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc00-\udc02\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc82\udcb0-\udcba\udcc2\udd00-\udd02\udd27-\udd34\udd45\udd46\udd73\udd80-\udd82\uddb3-\uddc0\uddc9-\uddcc\uddce\uddcf\ude2c-\ude37\ude3e\udedf-\udeea\udf00-\udf03\udf3b\udf3c\udf3e-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc35-\udc46\udc5e\udcb0-\udcc3\uddaf-\uddb5\uddb8-\uddc0\udddc\udddd\ude30-\ude40\udeab-\udeb7\udf1d-\udf2b]|\ud806[\udc2c-\udc3a\udd30-\udd35\udd37\udd38\udd3b-\udd3e\udd40\udd42\udd43\uddd1-\uddd7\uddda-\udde0\udde4\ude01-\ude0a\ude33-\ude39\ude3b-\ude3e\ude47\ude51-\ude5b\ude8a-\ude99]|\ud807[\udc2f-\udc36\udc38-\udc3f\udc92-\udca7\udca9-\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd8a-\udd8e\udd90\udd91\udd93-\udd97\udef3-\udef6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf51-\udf87\udf8f-\udf92\udfe4\udff0\udff1]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\ud804[\udc00\udc02\udc82\udcb0-\udcb2\udcb7\udcb8\udd2c\udd45\udd46\udd82\uddb3-\uddb5\uddbf\uddc0\uddce\ude2c-\ude2e\ude32\ude33\ude35\udee0-\udee2\udf02\udf03\udf3e\udf3f\udf41-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63]|\ud805[\udc35-\udc37\udc40\udc41\udc45\udcb0-\udcb2\udcb9\udcbb-\udcbe\udcc1\uddaf-\uddb1\uddb8-\uddbb\uddbe\ude30-\ude32\ude3b\ude3c\ude3e\udeac\udeae\udeaf\udeb6\udf20\udf21\udf26]|\ud806[\udc2c-\udc2e\udc38\udd30-\udd35\udd37\udd38\udd3d\udd40\udd42\uddd1-\uddd3\udddc-\udddf\udde4\ude39\ude57\ude58\ude97]|\ud807[\udc2f\udc3e\udca9\udcb1\udcb4\udd8a-\udd8e\udd93\udd94\udd96\udef5\udef6]|\ud81b[\udf51-\udf87\udff0\udff1]|\ud834[\udd65\udd66\udd6d-\udd72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc01\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc81\udcb3-\udcb6\udcb9\udcba\udcc2\udd00-\udd02\udd27-\udd2b\udd2d-\udd34\udd73\udd80\udd81\uddb6-\uddbe\uddc9-\uddcc\uddcf\ude2f-\ude31\ude34\ude36\ude37\ude3e\udedf\udee3-\udeea\udf00\udf01\udf3b\udf3c\udf40\udf66-\udf6c\udf70-\udf74]|\ud805[\udc38-\udc3f\udc42-\udc44\udc46\udc5e\udcb3-\udcb8\udcba\udcbf\udcc0\udcc2\udcc3\uddb2-\uddb5\uddbc\uddbd\uddbf\uddc0\udddc\udddd\ude33-\ude3a\ude3d\ude3f\ude40\udeab\udead\udeb0-\udeb5\udeb7\udf1d-\udf1f\udf22-\udf25\udf27-\udf2b]|\ud806[\udc2f-\udc37\udc39\udc3a\udd3b\udd3c\udd3e\udd43\uddd4-\uddd7\uddda\udddb\udde0\ude01-\ude0a\ude33-\ude38\ude3b-\ude3e\ude47\ude51-\ude56\ude59-\ude5b\ude8a-\ude96\ude98\ude99]|\ud807[\udc30-\udc36\udc38-\udc3d\udc3f\udc92-\udca7\udcaa-\udcb0\udcb2\udcb3\udcb5\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd90\udd91\udd95\udd97\udef3\udef4]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf8f-\udf92\udfe4]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud800[\udd07-\udd33\udd40-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23\udf41\udf4a\udfd1-\udfd5]|\ud801[\udca0-\udca9]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\udd30-\udd39\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udde1-\uddf4\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf3b]|\ud806[\udce0-\udcf2\udd50-\udd59]|\ud807[\udc50-\udc6c\udd50-\udd59\udda0-\udda9\udfc0-\udfd4]|\ud809[\udc00-\udc6e]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udcc7-\udccf\udd50-\udd59]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]|\ud83e[\udff0-\udff9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud801[\udca0-\udca9]|\ud803[\udd30-\udd39]|\ud804[\udc66-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf39]|\ud806[\udce0-\udce9\udd50-\udd59]|\ud807[\udc50-\udc59\udd50-\udd59\udda0-\udda9]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udd50-\udd59]|\ud83e[\udff0-\udff9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\ud800[\udd40-\udd74\udf41\udf4a\udfd1-\udfd5]|\ud809[\udc00-\udc6e]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\ud800[\udd07-\udd33\udd75-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc65\udde1-\uddf4]|\ud805[\udf3a\udf3b]|\ud806[\udcea-\udcf2]|\ud807[\udc5a-\udc6c\udfc0-\udfd4]|\ud81a[\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud83a[\udcc7-\udccf]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udead\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud838[\udd4f\udeff]|\ud83b[\udcac\udcb0\udd2e\udef0\udef1]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\ud807[\udfdd-\udfe0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\ud83c[\udffb-\udfff]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud83b[\udef0\udef1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udfdc\udfe1-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|𞅏|\ud83b[\udcac\udd2e]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udffa]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Z",alias:"Separator",bmp:"    - \u2028\u2029   "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:"    -    "}]),Sr=ie([{name:"ASCII",bmp:"\0-"},{name:"Alphabetic",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͅͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈְ-ׇֽֿׁׂׅׄא-תׯ-ײؐ-ؚؠ-ٗٙ-ٟٮ-ۓە-ۜۡ-ۭۨ-ۯۺ-ۼۿܐ-ܿݍ-ޱߊ-ߪߴߵߺࠀ-ࠗࠚ-ࠬࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉࣔ-ࣣࣟ-ࣰࣩ-ऻऽ-ौॎ-ॐॕ-ॣॱ-ঃঅ-ঌএঐও-নপ-রলশ-হঽ-ৄেৈোৌৎৗড়ঢ়য়-ৣৰৱৼਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੂੇੈੋੌੑਖ਼-ੜਫ਼ੰ-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ૅે-ૉોૌૐૠ-ૣૹ-ૼଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽ-ୄେୈୋୌୖୗଡ଼ଢ଼ୟ-ୣୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-ௌௐௗఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-ౌౕౖౘ-ౚౝౠ-ౣಀ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊ-ೌೕೖೝೞೠ-ೣೱೲഀ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൌൎൔ-ൗൟ-ൣൺ-ൿඁ-ඃඅ-ඖක-නඳ-රලව-ෆා-ුූෘ-ෟෲෳก-ฺเ-ๆํກຂຄຆ-ຊຌ-ຣລວ-ູົ-ຽເ-ໄໆໍໜ-ໟༀཀ-ཇཉ-ཬཱ-ཱྀྈ-ྗྙ-ྼက-ံးျ-ဿၐ-ႏႚ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜓᜟ-ᜳᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-ឳា-ៈៗៜᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-ᤸᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨛᨠ-ᩞᩡ-ᩴᪧᪿᫀᫌ-ᫎᬀ-ᬳᬵ-ᭃᭅ-ᭌᮀ-ᮩᮬ-ᮯᮺ-ᯥᯧ-ᯱᰀ-ᰶᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿᷧ-ᷴḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⒶ-ⓩⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙴ-ꙻꙿ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠅꠇ-ꠧꡀ-ꡳꢀ-ꣃꣅꣲ-ꣷꣻꣽ-ꣿꤊ-ꤪꤰ-ꥒꥠ-ꥼꦀ-ꦲꦴ-ꦿꧏꧠ-ꧯꧺ-ꧾꨀ-ꨶꩀ-ꩍꩠ-ꩶꩺ-ꪾꫀꫂꫛ-ꫝꫠ-ꫯꫲ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯪ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\ude80-\udea9\udeab\udeac\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc00-\udc45\udc71-\udc75\udc82-\udcb8\udcc2\udcd0-\udce8\udd00-\udd32\udd44-\udd47\udd50-\udd72\udd76\udd80-\uddbf\uddc1-\uddc4\uddce\uddcf\uddda\udddc\ude00-\ude11\ude13-\ude34\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udee8\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d-\udf44\udf47\udf48\udf4b\udf4c\udf50\udf57\udf5d-\udf63]|\ud805[\udc00-\udc41\udc43-\udc45\udc47-\udc4a\udc5f-\udc61\udc80-\udcc1\udcc4\udcc5\udcc7\udd80-\uddb5\uddb8-\uddbe\uddd8-\udddd\ude00-\ude3e\ude40\ude44\ude80-\udeb5\udeb8\udf00-\udf1a\udf1d-\udf2a\udf40-\udf46]|\ud806[\udc00-\udc38\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd35\udd37\udd38\udd3b\udd3c\udd3f-\udd42\udda0-\udda7\uddaa-\uddd7\uddda-\udddf\udde1\udde3\udde4\ude00-\ude32\ude35-\ude3e\ude50-\ude97\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc3e\udc40\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08\udd09\udd0b-\udd36\udd3a\udd3c\udd3d\udd3f-\udd41\udd43\udd46\udd47\udd60-\udd65\udd67\udd68\udd6a-\udd8e\udd90\udd91\udd93-\udd96\udd98\udee0-\udef6\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0\udfe1\udfe3\udff0\udff1]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9e]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd47\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Any",isBmpLast:!0,bmp:"\0-￿",astral:"[\ud800-\udbff][\udc00-\udfff]"},{name:"Default_Ignorable_Code_Point",bmp:"­͏؜ᅟᅠ឴឵᠋-᠏​-‏‪-‮⁠-ㅤ︀-️\ufeffᅠ￰-￸",astral:"\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|[\udb40-\udb43][\udc00-\udfff]"},{name:"Lowercase",bmp:"a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʸˀˁˠ-ˤͅͱͳͷͺ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᶿḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷⁱⁿₐ-ₜℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎⅰ-ⅿↄⓐ-ⓩⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱽⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛ-ꚝꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟸ-ꟺꬰ-ꭚꭜ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\udf80\udf83-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Noncharacter_Code_Point",bmp:"﷐-﷯￾￿",astral:"[\ud83f\ud87f\ud8bf\ud8ff\ud93f\ud97f\ud9bf\ud9ff\uda3f\uda7f\udabf\udaff\udb3f\udb7f\udbbf\udbff][\udffe\udfff]"},{name:"Uppercase",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅⅠ-ⅯↃⒶ-ⓏⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]"},{name:"White_Space",bmp:"\t-\r …   - \u2028\u2029   "}]),_r=ie([{name:"Adlam",astral:"\ud83a[\udd00-\udd4b\udd50-\udd59\udd5e\udd5f]"},{name:"Ahom",astral:"\ud805[\udf00-\udf1a\udf1d-\udf2b\udf30-\udf46]"},{name:"Anatolian_Hieroglyphs",astral:"\ud811[\udc00-\ude46]"},{name:"Arabic",bmp:"؀-؄؆-؋؍-ؚ؜-؞ؠ-ؿف-يٖ-ٯٱ-ۜ۞-ۿݐ-ݿࡰ-ࢎ࢐࢑࢘-ࣣ࣡-ࣿﭐ-﯂ﯓ-ﴽ﵀-ﶏﶒ-ﷇ﷏ﷰ-﷿ﹰ-ﹴﹶ-ﻼ",astral:"\ud803[\ude60-\ude7e]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb\udef0\udef1]"},{name:"Armenian",bmp:"Ա-Ֆՙ-֊֍-֏ﬓ-ﬗ"},{name:"Avestan",astral:"\ud802[\udf00-\udf35\udf39-\udf3f]"},{name:"Balinese",bmp:"ᬀ-ᭌ᭐-᭾"},{name:"Bamum",bmp:"ꚠ-꛷",astral:"\ud81a[\udc00-\ude38]"},{name:"Bassa_Vah",astral:"\ud81a[\uded0-\udeed\udef0-\udef5]"},{name:"Batak",bmp:"ᯀ-᯳᯼-᯿"},{name:"Bengali",bmp:"ঀ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-৾"},{name:"Bhaiksuki",astral:"\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc45\udc50-\udc6c]"},{name:"Bopomofo",bmp:"˪˫ㄅ-ㄯㆠ-ㆿ"},{name:"Brahmi",astral:"\ud804[\udc00-\udc4d\udc52-\udc75\udc7f]"},{name:"Braille",bmp:"⠀-⣿"},{name:"Buginese",bmp:"ᨀ-ᨛ᨞᨟"},{name:"Buhid",bmp:"ᝀ-ᝓ"},{name:"Canadian_Aboriginal",bmp:"᐀-ᙿᢰ-ᣵ",astral:"\ud806[\udeb0-\udebf]"},{name:"Carian",astral:"\ud800[\udea0-\uded0]"},{name:"Caucasian_Albanian",astral:"\ud801[\udd30-\udd63\udd6f]"},{name:"Chakma",astral:"\ud804[\udd00-\udd34\udd36-\udd47]"},{name:"Cham",bmp:"ꨀ-ꨶꩀ-ꩍ꩐-꩙꩜-꩟"},{name:"Cherokee",bmp:"Ꭰ-Ᏽᏸ-ᏽꭰ-ꮿ"},{name:"Chorasmian",astral:"\ud803[\udfb0-\udfcb]"},{name:"Common",bmp:"\0-@\\[-`\\{-©«-¹»-¿×÷ʹ-˟˥-˩ˬ-˿ʹ;΅·؅،؛؟ـ۝࣢।॥฿࿕-࿘჻᛫-᛭᜵᜶᠂᠃᠅᳓᳡ᳩ-ᳬᳮ-ᳳᳵ-᳷ᳺ -​‎-⁤⁦-⁰⁴-⁾₀-₎₠-⃀℀-℥℧-℩ℬ-ℱℳ-⅍⅏-⅟↉-↋←-␦⑀-⑊①-⟿⤀-⭳⭶-⮕⮗-⯿⸀-⹝⿰-⿻ -〄〆〈-〠〰-〷〼-〿゛゜゠・ー㆐-㆟㇀-㇣㈠-㉟㉿-㋏㋿㍘-㏿䷀-䷿꜀-꜡ꞈ-꞊꠰-꠹꤮ꧏ꭛꭪꭫﴾﴿︐-︙︰-﹒﹔-﹦﹨-﹫\ufeff!-@[-`{-・ー゙゚¢-₩│-○-�",astral:"\ud800[\udd00-\udd02\udd07-\udd33\udd37-\udd3f\udd90-\udd9c\uddd0-\uddfc\udee1-\udefb]|\ud82f[\udca0-\udca3]|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd66\udd6a-\udd7a\udd83\udd84\udd8c-\udda9\uddae-\uddea\udee0-\udef3\udf00-\udf56\udf60-\udf78]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udfcb\udfce-\udfff]|\ud83b[\udc71-\udcb4\udd01-\udd3d]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd00-\uddad\udde6-\uddff\ude01\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca\udff0-\udff9]|\udb40[\udc01\udc20-\udc7f]"},{name:"Coptic",bmp:"Ϣ-ϯⲀ-ⳳ⳹-⳿"},{name:"Cuneiform",astral:"\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc70-\udc74\udc80-\udd43]"},{name:"Cypriot",astral:"\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f]"},{name:"Cypro_Minoan",astral:"\ud80b[\udf90-\udff2]"},{name:"Cyrillic",bmp:"Ѐ-҄҇-ԯᲀ-ᲈᴫᵸⷠ-ⷿꙀ-ꚟ︮︯"},{name:"Deseret",astral:"\ud801[\udc00-\udc4f]"},{name:"Devanagari",bmp:"ऀ-ॐॕ-ॣ०-ॿ꣠-ꣿ"},{name:"Dives_Akuru",astral:"\ud806[\udd00-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd35\udd37\udd38\udd3b-\udd46\udd50-\udd59]"},{name:"Dogra",astral:"\ud806[\udc00-\udc3b]"},{name:"Duployan",astral:"\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9c-\udc9f]"},{name:"Egyptian_Hieroglyphs",astral:"\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e\udc30-\udc38]"},{name:"Elbasan",astral:"\ud801[\udd00-\udd27]"},{name:"Elymaic",astral:"\ud803[\udfe0-\udff6]"},{name:"Ethiopic",bmp:"ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ",astral:"\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]"},{name:"Georgian",bmp:"Ⴀ-ჅჇჍა-ჺჼ-ჿᲐ-ᲺᲽ-Ჿⴀ-ⴥⴧⴭ"},{name:"Glagolitic",bmp:"Ⰰ-ⱟ",astral:"\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]"},{name:"Gothic",astral:"\ud800[\udf30-\udf4a]"},{name:"Grantha",astral:"\ud804[\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3c-\udf44\udf47\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]"},{name:"Greek",bmp:"Ͱ-ͳ͵-ͷͺ-ͽͿ΄ΆΈ-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ῄῆ-ΐῖ-Ί῝-`ῲ-ῴῶ-῾Ωꭥ",astral:"\ud800[\udd40-\udd8e\udda0]|\ud834[\ude00-\ude45]"},{name:"Gujarati",bmp:"ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૹ-૿"},{name:"Gunjala_Gondi",astral:"\ud807[\udd60-\udd65\udd67\udd68\udd6a-\udd8e\udd90\udd91\udd93-\udd98\udda0-\udda9]"},{name:"Gurmukhi",bmp:"ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶"},{name:"Han",bmp:"⺀-⺙⺛-⻳⼀-⿕々〇〡-〩〸-〻㐀-䶿一-鿿豈-舘並-龎",astral:"\ud81b[\udfe2\udfe3\udff0\udff1]|[\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Hangul",bmp:"ᄀ-ᇿ〮〯ㄱ-ㆎ㈀-㈞㉠-㉾ꥠ-ꥼ가-힣ힰ-ퟆퟋ-ퟻᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"Hanifi_Rohingya",astral:"\ud803[\udd00-\udd27\udd30-\udd39]"},{name:"Hanunoo",bmp:"ᜠ-᜴"},{name:"Hatran",astral:"\ud802[\udce0-\udcf2\udcf4\udcf5\udcfb-\udcff]"},{name:"Hebrew",bmp:"֑-ׇא-תׯ-״יִ-זּטּ-לּמּנּסּףּפּצּ-ﭏ"},{name:"Hiragana",bmp:"ぁ-ゖゝ-ゟ",astral:"\ud82c[\udc01-\udd1f\udd50-\udd52]|🈀"},{name:"Imperial_Aramaic",astral:"\ud802[\udc40-\udc55\udc57-\udc5f]"},{name:"Inherited",bmp:"̀-ًͯ҅҆-ٰٕ॑-॔᪰-ᫎ᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿‌‍⃐-〪⃰-゙゚〭︀-️︠-︭",astral:"\ud800[\uddfd\udee0]|𑌻|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad]|\udb40[\udd00-\uddef]"},{name:"Inscriptional_Pahlavi",astral:"\ud802[\udf60-\udf72\udf78-\udf7f]"},{name:"Inscriptional_Parthian",astral:"\ud802[\udf40-\udf55\udf58-\udf5f]"},{name:"Javanese",bmp:"ꦀ-꧍꧐-꧙꧞꧟"},{name:"Kaithi",astral:"\ud804[\udc80-\udcc2\udccd]"},{name:"Kannada",bmp:"ಀ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೝೞೠ-ೣ೦-೯ೱೲ"},{name:"Katakana",bmp:"ァ-ヺヽ-ヿㇰ-ㇿ㋐-㋾㌀-㍗ヲ-ッア-ン",astral:"\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00\udd20-\udd22\udd64-\udd67]"},{name:"Kayah_Li",bmp:"꤀-꤭꤯"},{name:"Kharoshthi",astral:"\ud802[\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f-\ude48\ude50-\ude58]"},{name:"Khitan_Small_Script",astral:"𖿤|\ud822[\udf00-\udfff]|\ud823[\udc00-\udcd5]"},{name:"Khmer",bmp:"ក-៝០-៩៰-៹᧠-᧿"},{name:"Khojki",astral:"\ud804[\ude00-\ude11\ude13-\ude3e]"},{name:"Khudawadi",astral:"\ud804[\udeb0-\udeea\udef0-\udef9]"},{name:"Lao",bmp:"ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟ"},{name:"Latin",bmp:"A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud837[\udf00-\udf1e]"},{name:"Lepcha",bmp:"ᰀ-᰷᰻-᱉ᱍ-ᱏ"},{name:"Limbu",bmp:"ᤀ-ᤞᤠ-ᤫᤰ-᤻᥀᥄-᥏"},{name:"Linear_A",astral:"\ud801[\ude00-\udf36\udf40-\udf55\udf60-\udf67]"},{name:"Linear_B",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa]"},{name:"Lisu",bmp:"ꓐ-꓿",astral:"𑾰"},{name:"Lycian",astral:"\ud800[\ude80-\ude9c]"},{name:"Lydian",astral:"\ud802[\udd20-\udd39\udd3f]"},{name:"Mahajani",astral:"\ud804[\udd50-\udd76]"},{name:"Makasar",astral:"\ud807[\udee0-\udef8]"},{name:"Malayalam",bmp:"ഀ-ഌഎ-ഐഒ-ൄെ-ൈൊ-൏ൔ-ൣ൦-ൿ"},{name:"Mandaic",bmp:"ࡀ-࡛࡞"},{name:"Manichaean",astral:"\ud802[\udec0-\udee6\udeeb-\udef6]"},{name:"Marchen",astral:"\ud807[\udc70-\udc8f\udc92-\udca7\udca9-\udcb6]"},{name:"Masaram_Gondi",astral:"\ud807[\udd00-\udd06\udd08\udd09\udd0b-\udd36\udd3a\udd3c\udd3d\udd3f-\udd47\udd50-\udd59]"},{name:"Medefaidrin",astral:"\ud81b[\ude40-\ude9a]"},{name:"Meetei_Mayek",bmp:"ꫠ-꫶ꯀ-꯭꯰-꯹"},{name:"Mende_Kikakui",astral:"\ud83a[\udc00-\udcc4\udcc7-\udcd6]"},{name:"Meroitic_Cursive",astral:"\ud802[\udda0-\uddb7\uddbc-\uddcf\uddd2-\uddff]"},{name:"Meroitic_Hieroglyphs",astral:"\ud802[\udd80-\udd9f]"},{name:"Miao",astral:"\ud81b[\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f]"},{name:"Modi",astral:"\ud805[\ude00-\ude44\ude50-\ude59]"},{name:"Mongolian",bmp:"᠀᠁᠄᠆-᠙ᠠ-ᡸᢀ-ᢪ",astral:"\ud805[\ude60-\ude6c]"},{name:"Mro",astral:"\ud81a[\ude40-\ude5e\ude60-\ude69\ude6e\ude6f]"},{name:"Multani",astral:"\ud804[\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea9]"},{name:"Myanmar",bmp:"က-႟ꧠ-ꧾꩠ-ꩿ"},{name:"Nabataean",astral:"\ud802[\udc80-\udc9e\udca7-\udcaf]"},{name:"Nandinagari",astral:"\ud806[\udda0-\udda7\uddaa-\uddd7\uddda-\udde4]"},{name:"New_Tai_Lue",bmp:"ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟"},{name:"Newa",astral:"\ud805[\udc00-\udc5b\udc5d-\udc61]"},{name:"Nko",bmp:"߀-ߺ߽-߿"},{name:"Nushu",astral:"𖿡|\ud82c[\udd70-\udefb]"},{name:"Nyiakeng_Puachue_Hmong",astral:"\ud838[\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udd4f]"},{name:"Ogham",bmp:" -᚜"},{name:"Ol_Chiki",bmp:"᱐-᱿"},{name:"Old_Hungarian",astral:"\ud803[\udc80-\udcb2\udcc0-\udcf2\udcfa-\udcff]"},{name:"Old_Italic",astral:"\ud800[\udf00-\udf23\udf2d-\udf2f]"},{name:"Old_North_Arabian",astral:"\ud802[\ude80-\ude9f]"},{name:"Old_Permic",astral:"\ud800[\udf50-\udf7a]"},{name:"Old_Persian",astral:"\ud800[\udfa0-\udfc3\udfc8-\udfd5]"},{name:"Old_Sogdian",astral:"\ud803[\udf00-\udf27]"},{name:"Old_South_Arabian",astral:"\ud802[\ude60-\ude7f]"},{name:"Old_Turkic",astral:"\ud803[\udc00-\udc48]"},{name:"Old_Uyghur",astral:"\ud803[\udf70-\udf89]"},{name:"Oriya",bmp:"ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍୕-ୗଡ଼ଢ଼ୟ-ୣ୦-୷"},{name:"Osage",astral:"\ud801[\udcb0-\udcd3\udcd8-\udcfb]"},{name:"Osmanya",astral:"\ud801[\udc80-\udc9d\udca0-\udca9]"},{name:"Pahawh_Hmong",astral:"\ud81a[\udf00-\udf45\udf50-\udf59\udf5b-\udf61\udf63-\udf77\udf7d-\udf8f]"},{name:"Palmyrene",astral:"\ud802[\udc60-\udc7f]"},{name:"Pau_Cin_Hau",astral:"\ud806[\udec0-\udef8]"},{name:"Phags_Pa",bmp:"ꡀ-꡷"},{name:"Phoenician",astral:"\ud802[\udd00-\udd1b\udd1f]"},{name:"Psalter_Pahlavi",astral:"\ud802[\udf80-\udf91\udf99-\udf9c\udfa9-\udfaf]"},{name:"Rejang",bmp:"ꤰ-꥓꥟"},{name:"Runic",bmp:"ᚠ-ᛪᛮ-ᛸ"},{name:"Samaritan",bmp:"ࠀ-࠭࠰-࠾"},{name:"Saurashtra",bmp:"ꢀ-ꣅ꣎-꣙"},{name:"Sharada",astral:"\ud804[\udd80-\udddf]"},{name:"Shavian",astral:"\ud801[\udc50-\udc7f]"},{name:"Siddham",astral:"\ud805[\udd80-\uddb5\uddb8-\udddd]"},{name:"SignWriting",astral:"\ud836[\udc00-\ude8b\ude9b-\ude9f\udea1-\udeaf]"},{name:"Sinhala",bmp:"ඁ-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-෴",astral:"\ud804[\udde1-\uddf4]"},{name:"Sogdian",astral:"\ud803[\udf30-\udf59]"},{name:"Sora_Sompeng",astral:"\ud804[\udcd0-\udce8\udcf0-\udcf9]"},{name:"Soyombo",astral:"\ud806[\ude50-\udea2]"},{name:"Sundanese",bmp:"ᮀ-ᮿ᳀-᳇"},{name:"Syloti_Nagri",bmp:"ꠀ-꠬"},{name:"Syriac",bmp:"܀-܍܏-݊ݍ-ݏࡠ-ࡪ"},{name:"Tagalog",bmp:"ᜀ-᜕ᜟ"},{name:"Tagbanwa",bmp:"ᝠ-ᝬᝮ-ᝰᝲᝳ"},{name:"Tai_Le",bmp:"ᥐ-ᥭᥰ-ᥴ"},{name:"Tai_Tham",bmp:"ᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪠-᪭"},{name:"Tai_Viet",bmp:"ꪀ-ꫂꫛ-꫟"},{name:"Takri",astral:"\ud805[\ude80-\udeb9\udec0-\udec9]"},{name:"Tamil",bmp:"ஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௺",astral:"\ud807[\udfc0-\udff1\udfff]"},{name:"Tangsa",astral:"\ud81a[\ude70-\udebe\udec0-\udec9]"},{name:"Tangut",astral:"𖿠|[\ud81c-\ud820][\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udeff]|\ud823[\udd00-\udd08]"},{name:"Telugu",bmp:"ఀ-ఌఎ-ఐఒ-నప-హ఼-ౄె-ైొ-్ౕౖౘ-ౚౝౠ-ౣ౦-౯౷-౿"},{name:"Thaana",bmp:"ހ-ޱ"},{name:"Thai",bmp:"ก-ฺเ-๛"},{name:"Tibetan",bmp:"ༀ-ཇཉ-ཬཱ-ྗྙ-ྼ྾-࿌࿎-࿔࿙࿚"},{name:"Tifinagh",bmp:"ⴰ-ⵧⵯ⵰⵿"},{name:"Tirhuta",astral:"\ud805[\udc80-\udcc7\udcd0-\udcd9]"},{name:"Toto",astral:"\ud838[\ude90-\udeae]"},{name:"Ugaritic",astral:"\ud800[\udf80-\udf9d\udf9f]"},{name:"Vai",bmp:"ꔀ-ꘫ"},{name:"Vithkuqi",astral:"\ud801[\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]"},{name:"Wancho",astral:"\ud838[\udec0-\udef9\udeff]"},{name:"Warang_Citi",astral:"\ud806[\udca0-\udcf2\udcff]"},{name:"Yezidi",astral:"\ud803[\ude80-\udea9\udeab-\udead\udeb0\udeb1]"},{name:"Yi",bmp:"ꀀ-ꒌ꒐-꓆"},{name:"Zanabazar_Square",astral:"\ud806[\ude00-\ude47]"}]);
14
- /*!
15
- * XRegExp.matchRecursive 5.1.1
16
- * <xregexp.com>
17
- * Steven Levithan (c) 2009-present MIT License
18
- */(e=>{const a="xregexp",t=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,n=e.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,t],"g",{conjunction:"or"});function s(e){const a=/^(?:\(\?:\))*\^/,t=/\$(?:\(\?:\))*$/;return a.test(e)&&t.test(e)&&t.test(e.replace(/\\[\s\S]/g,""))?e.replace(a,"").replace(t,""):e}function r(t,n){const s=n?"x":"";return e.isRegExp(t)?t[a]&&t[a].captureNames?t:e(t.source,s):e(t,s)}function i(a){return a instanceof RegExp?a:e.escape(a)}function o(e,a,t){return e[`subpattern${t}`]=a,e}function d(e,a,t){return e+(a<t.length-1?`{{subpattern${a}}}`:"")}e.tag=a=>function(t){for(var n=arguments.length,s=new Array(n>1?n-1:0),r=1;r<n;r++)s[r-1]=arguments[r];const u=s.map(i).reduce(o,{}),l=t.raw.map(d).join("");return e.build(l,u,a)},e.build=(i,o,d)=>{const u=(d=d||"").includes("x"),l=/^\(\?([\w$]+)\)/.exec(i);l&&(d=e._clipDuplicates(d+l[1]));const c={};for(const e in o)if(o.hasOwnProperty(e)){const t=r(o[e],u);c[e]={pattern:s(t.source),names:t[a].captureNames||[]}}const p=r(i,u);let m,f=0,g=0;const h=[0],b=p[a].captureNames||[],v=p.source.replace(n,((e,a,n,s,r)=>{const i=a||n;let o,d,u;if(i){if(!c.hasOwnProperty(i))throw new ReferenceError(`Undefined property ${e}`);return a?(o=b[g],h[++g]=++f,d=`(?<${o||i}>`):d="(?:",m=f,`${d}${c[i].pattern.replace(t,((e,a,t)=>{if(a){if(o=c[i].names[f-m],++f,o)return`(?<${o}>`}else if(t)return u=+t-1,c[i].names[u]?`\\k<${c[i].names[u]}>`:`\\${+t+m}`;return e}))})`}if(s){if(o=b[g],h[++g]=++f,o)return`(?<${o}>`}else if(r)return u=+r-1,b[u]?`\\k<${b[u]}>`:`\\${h[+r]}`;return e}));return e(v,d)}})(jr),(e=>{function a(e,a,t,n){return{name:e,value:a,start:t,end:n}}e.matchRecursive=(t,n,s,r,i)=>{i=i||{};const o=(r=r||"").includes("g"),d=r.includes("y"),u=r.replace(/y/g,"");let l;n=e(n,u),s=e(s,u);let{escapeChar:c}=i;if(c){if(c.length>1)throw new Error("Cannot use more than one escape character");c=e.escape(c),l=new RegExp(`(?:${c}[\\S\\s]|(?:(?!${e.union([n,s],"",{conjunction:"or"}).source})[^${c}])+)+`,r.replace(e._hasNativeFlag("s")?/[^imsu]/g:/[^imu]/g,""))}let p,m,f,g,h=0,b=0,v=0,y=0;const k=i.valueNames,w=[];for(;;){if(c&&(v+=(e.exec(t,l,v,"sticky")||[""])[0].length),f=e.exec(t,n,v),g=e.exec(t,s,v),f&&g&&(f.index<=g.index?g=null:f=null),f||g)b=(f||g).index,v=b+(f||g)[0].length;else if(!h)break;if(d&&!h&&b>y)break;if(f)h||(p=b,m=v),h+=1;else if(g&&h){if(h-=1,!h&&(k?(k[0]&&p>y&&w.push(a(k[0],t.slice(y,p),y,p)),k[1]&&w.push(a(k[1],t.slice(p,m),p,m)),k[2]&&w.push(a(k[2],t.slice(m,b),m,b)),k[3]&&w.push(a(k[3],t.slice(b,v),b,v))):w.push(t.slice(m,b)),y=v,!o))break}else{const a=i.unbalanced||"error";if("skip"!==a&&"skip-lazy"!==a){if("error"===a)throw new Error(`Unbalanced ${g?"right":"left"} delimiter found in string at position ${g?b:p}`);throw new Error(`Unsupported value for unbalanced: ${a}`)}g?g=null:(v="skip"===a?p+(e.exec(t,n,p,"sticky")[0].length||1):p+1,h=0)}b===v&&(v+=1)}return o&&w.length>0&&!d&&k&&k[0]&&t.length>y&&w.push(a(k[0],t.slice(y),y,t.length)),w}})(jr),(e=>{const a={},t={},n=e._dec,s=e._hex,r=e._pad4;function i(e){return e.replace(/[- _]+/g,"").toLowerCase()}function o(e){const a=/^\\[xu](.+)/.exec(e);return a?n(a[1]):e.charCodeAt("\\"===e[0]?1:0)}e.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,((n,d,u)=>{const l="Unknown Unicode token ",[c,p,m,f,g,h]=n;let b="P"===p||!!m;const v=u.includes("A");let y=i(h||g),k=a[y];if("P"===p&&m)throw new SyntaxError("Invalid double negation "+c);if(!a.hasOwnProperty(y))throw new SyntaxError(l+c);if(f&&(!t[f]||!t[f][y]))throw new SyntaxError(l+c);if(k.inverseOf){if(y=i(k.inverseOf),!a.hasOwnProperty(y))throw new ReferenceError(`${"Unicode token missing data "+c} -> ${k.inverseOf}`);k=a[y],b=!b}if(!k.bmp&&!v)throw new SyntaxError("Astral mode required for Unicode token "+c);if(v){if("class"===d)throw new SyntaxError("Astral mode does not support Unicode tokens within character classes");return function(e,t){const n=t?"a!":"a=";return a[e][n]||(a[e][n]=function(e,t){const n=a[e];let s="";return n.bmp&&!n.isBmpLast&&(s=`[${n.bmp}]${n.astral?"|":""}`),n.astral&&(s+=n.astral),n.isBmpLast&&n.bmp&&(s+=`${n.astral?"|":""}[${n.bmp}]`),t?`(?:(?!${s})(?:[\ud800-\udbff][\udc00-\udfff]|[\0-￿]))`:`(?:${s})`}(e,t))}(y,b)}return"class"===d?b?function(t){return a[t]["b!"]||(a[t]["b!"]=function(a){let t="",n=-1;return e.forEach(a,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(e=>{const a=o(e[1]);a>n+1&&(t+=`\\u${r(s(n+1))}`,a>n+2&&(t+=`-\\u${r(s(a-1))}`)),n=o(e[2]||e[1])})),n<65535&&(t+=`\\u${r(s(n+1))}`,n<65534&&(t+="-\\uFFFF")),t}(a[t].bmp))}(y):k.bmp:(b?"[^":"[")+k.bmp+"]"}),{scope:"all",optionalFlags:"A",leadChar:"\\"}),e.addUnicodeData=(n,s)=>{s&&(t[s]={});for(const e of n){if(!e.name)throw new Error("Unicode token requires name");if(!(e.inverseOf||e.bmp||e.astral))throw new Error("Unicode token has no character data "+e.name);const n=i(e.name);if(a[n]=e,s&&(t[s][n]=!0),e.alias){const n=i(e.alias);a[n]=e,s&&(t[s][n]=!0)}}e.cache.flush("patterns")},e._getUnicodeProperty=e=>{const t=i(e);return a[t]}})(jr),(e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");e.addUnicodeData(Rr)})(jr),(e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");const a=Sr;a.push({name:"Assigned",inverseOf:"Cn"}),e.addUnicodeData(a)})(jr),(e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");e.addUnicodeData(_r,"Script")})(jr);const Mr=u+I,Tr=I+u;class Fr{static isValidDomainOrHostname(e){let a=e;if(a===I)return!0;a.endsWith(Mr)&&(a=a.substring(0,a.length-2)),a.startsWith(Tr)&&(a=a.substring(2));const t=function(e){return as(e,5,rs,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null})}(a);return a===t.domain||a===t.hostname}}var $r,Or;e.QuoteType=void 0,($r=e.QuoteType||(e.QuoteType={})).None="none",$r.Single="single",$r.Double="double";class Ir{static escapeUnescapedOccurrences(e,a){let t=r;for(let n=0;n<e.length;n+=1)e[n]!==a||0!==n&&e[n-1]===b||(t+=b),t+=e[n];return t}static unescapeSingleEscapedOccurrences(e,a){let t=r;for(let n=0;n<e.length;n+=1)e[n]!==a||e[n-1]!==b||1!==n&&e[n-2]===b||(t=t.slice(0,-1)),t+=e[n];return t}static getStringQuoteType(a){if(a.length>1){if(a.startsWith(A)&&a.endsWith(A))return e.QuoteType.Single;if(a.startsWith(x)&&a.endsWith(x))return e.QuoteType.Double}return e.QuoteType.None}static setStringQuoteType(a,t){const n=Ir.getStringQuoteType(a);switch(t){case e.QuoteType.None:return n===e.QuoteType.Single?Ir.escapeUnescapedOccurrences(a.slice(1,-1),A):n===e.QuoteType.Double?Ir.escapeUnescapedOccurrences(a.slice(1,-1),x):a;case e.QuoteType.Single:return n===e.QuoteType.None?A+Ir.escapeUnescapedOccurrences(a,A)+A:n===e.QuoteType.Double?A+Ir.escapeUnescapedOccurrences(Ir.unescapeSingleEscapedOccurrences(a.slice(1,-1),x),A)+A:a;case e.QuoteType.Double:return n===e.QuoteType.None?x+Ir.escapeUnescapedOccurrences(a,x)+x:n!==e.QuoteType.Double?x+Ir.escapeUnescapedOccurrences(Ir.unescapeSingleEscapedOccurrences(a.slice(1,-1),A),x)+x:a;default:return a}}static removeQuotes(e){return e.length>1&&(e[0]===A||e[0]===x)&&e[0]===e[e.length-1]?e.slice(1,-1):e}static removeQuotesAndUnescape(e){return e.length>1&&(e[0]===A||e[0]===x)&&e[0]===e[e.length-1]?Ir.unescapeSingleEscapedOccurrences(e.slice(1,-1),e[0]):e}static quoteAndJoinStrings(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.QuoteType.Single,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:`${d}${i}`;return a.map((e=>Ir.setStringQuoteType(e,t))).join(n)}}!function(e){e.App="pipe_separated_apps",e.Csp="csp_value",e.DenyAllow="pipe_separated_denyallow_domains",e.Domain="pipe_separated_domains",e.Method="pipe_separated_methods",e.Permissions="permissions_value",e.ReferrerPolicy="referrerpolicy_value",e.StealthOption="pipe_separated_stealth_options"}(Or||(Or={}));const Nr=e=>!e.includes(I)&&e.split(u).every((e=>(e=>{if(0===e.length)return!1;for(let a=0;a<e.length;a+=1){const t=e[a];if(!Us.has(t))return!1}return!0})(e))),Ur=e=>Bs.has(e),Br=e=>zs.has(e),zr=a=>{if(Ir.getStringQuoteType(a)!==e.QuoteType.Double)return!1;const t=Ir.removeQuotes(a);try{new URL(t)}catch(e){return!1}return!0},Pr=e=>!e.includes(I)&&Fr.isValidDomainOrHostname(e),Lr=e=>Fr.isValidDomainOrHostname(e),qr=(e,a)=>{const t=[];if(a.forEach((e=>{e.exception&&t.push(e.value)})),t.length>0){const a=Ir.quoteAndJoinStrings(t);return Zs(`Values cannot be negated for the modifier: '${e}': ${a}`)}return{valid:!0}},Hr=(e,a)=>{const t=a[0].exception,n=[];if(a.forEach((e=>{e.exception!==t&&n.push(e.value)})),n.length>0){const a=Ir.quoteAndJoinStrings(n);return Zs(`Simultaneous usage of negated and not negated values is forbidden for the modifier: '${e}': ${a}`)}return{valid:!0}},Wr=(e,a,t,n)=>{var s;const r=e.name.value,i=Vs(r);if(null===(s=e.value)||void 0===s||!s.value)return i;let o;try{o=a(e.value.value,Ne,0,f)}catch(e){return e instanceof Fe?{valid:!1,error:e.message}:i}const d=[];if(o.children.forEach((e=>{t(e.value)||d.push(e.value)})),d.length>0){const e=Ir.quoteAndJoinStrings(d);return Zs(`Invalid values for the modifier: '${r}': ${e}`)}return n?n(r,o.children):{valid:!0}},Zr=(a,t,n)=>{if(!a)return Zs(`${Ws}: '${t}'`);if(a.includes(d))return Zs(`Unescaped comma in the value is not allowed for the modifier: '${t}': '${n}'`);const[s,r]=a.split(m);return Ls.has(s)?((a,t,n)=>a===I||a===qs?{valid:!0}:a.startsWith(E)&&a.endsWith(C)?((a,t,n)=>{const s=[];for(let r=0;r<a.length;r+=1){const i=a[r].trim();if(0!==i.length&&"self"!==i.toLowerCase()){if(Ir.getStringQuoteType(i)!==e.QuoteType.Double)return Zs(`Double quotes should be used for origins in the value of the modifier: '${n}': '${t}': '${Ir.removeQuotes(i)}'`);zr(i)||s.push(i)}}if(s.length>0){const e=Ir.quoteAndJoinStrings(s);return Zs(`Origins in the value is invalid for the modifier and the directive: '${n}': '${t}': ${e}`)}return{valid:!0}})(a.slice(1,-1).split(i),t,n):Zs(`${Ws}: '${n}'`))(r,s,t):Zs(`Invalid Permissions-Policy directive for the modifier: '${t}': '${s}'`)},Vr={[Or.App]:e=>Wr(e,(e=>Rs.parse(e)),Nr),[Or.Csp]:a=>{var t;const n=a.name.value;if(null===(t=a.value)||void 0===t||!t.value)return Vs(n);const s=a.value.value.split(l).filter((e=>!!e)),r=Zs(`${Ws}: '${n}': "${a.value.value}"`);if(0===s.length)return r;const o=[];for(let e=0;e<s.length;e+=1){const a=s[e].trim();if(!a)return r;const t=a.split(i),[d,...u]=t;if(!d)return r;if(Ps.has(d)){if(0===u.length)return Zs(`No CSP value for the modifier and the directive: '${n}': '${d}'`)}else{if(Ps.has(Ir.removeQuotes(d)))return Zs(`CSP directives should no be quoted for the modifier: '${n}': ${d}`);o.push(d)}}if(o.length>0){const a=Ir.quoteAndJoinStrings(o,e.QuoteType.Double);return Zs(`Invalid CSP directives for the modifier: '${n}': ${a}`)}return{valid:!0}},[Or.DenyAllow]:e=>Wr(e,$t.parse,Pr,qr),[Or.Domain]:e=>Wr(e,$t.parse,Lr),[Or.Method]:e=>Wr(e,(e=>_s.parse(e)),Ur,Hr),[Or.Permissions]:e=>{var a;if(null===(a=e.value)||void 0===a||!a.value)return Vs(e.name.value);const t=e.name.value,n=e.value.value,s=e.value.value.split(`${h}${d}`);for(let e=0;e<s.length;e+=1){const a=s[e].trim(),r=Zr(a,t,n);if(!r.valid)return r}return{valid:!0}},[Or.ReferrerPolicy]:e=>{var a;if(null===(a=e.value)||void 0===a||!a.value)return Vs(e.name.value);const t=e.name.value,n=e.value.value;return Hs.has(n)?{valid:!0}:Zs(`Invalid Referrer-Policy directive for the modifier: '${t}': '${n}'`)},[Or.StealthOption]:e=>Wr(e,(e=>Ts.parse(e)),Br,qr)};var Gr=Object.prototype.toString,Kr=function(e){if(void 0===e)return"undefined";if(null===e)return"null";var a=typeof e;if("boolean"===a)return"boolean";if("string"===a)return"string";if("number"===a)return"number";if("symbol"===a)return"symbol";if("function"===a)return"GeneratorFunction"===Qr(e)?"generatorfunction":"function";if(function(e){return Array.isArray?Array.isArray(e):e instanceof Array}(e))return"array";if(function(e){return!(!e.constructor||"function"!=typeof e.constructor.isBuffer)&&e.constructor.isBuffer(e)}
19
- /*!
20
- * shallow-clone <https://github.com/jonschlinkert/shallow-clone>
21
- *
22
- * Copyright (c) 2015-present, Jon Schlinkert.
23
- * Released under the MIT License.
24
- */(e))return"buffer";if(function(e){try{if("number"==typeof e.length&&"function"==typeof e.callee)return!0}catch(e){if(-1!==e.message.indexOf("callee"))return!0}return!1}(e))return"arguments";if(function(e){return e instanceof Date||"function"==typeof e.toDateString&&"function"==typeof e.getDate&&"function"==typeof e.setDate}(e))return"date";if(function(e){return e instanceof Error||"string"==typeof e.message&&e.constructor&&"number"==typeof e.constructor.stackTraceLimit}(e))return"error";if(function(e){return e instanceof RegExp||"string"==typeof e.flags&&"boolean"==typeof e.ignoreCase&&"boolean"==typeof e.multiline&&"boolean"==typeof e.global}(e))return"regexp";switch(Qr(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(function(e){return"function"==typeof e.throw&&"function"==typeof e.return&&"function"==typeof e.next}(e))return"generator";switch(a=Gr.call(e)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return a.slice(8,-1).toLowerCase().replace(/\s/g,"")};function Qr(e){return"function"==typeof e.constructor?e.constructor.name:null}const Xr=Symbol.prototype.valueOf,Jr=Kr;function Yr(e){return 1==(null!=(a=e)&&"object"==typeof a&&!1===Array.isArray(a))&&"[object Object]"===Object.prototype.toString.call(e);var a}const ei=Kr;function ai(e,a){switch(ei(e)){case"object":return function(e,a){if("function"==typeof a)return a(e);if(a||!1!==Yr(t=e)&&"function"==typeof(n=t.constructor)&&!1!==Yr(s=n.prototype)&&!1!==s.hasOwnProperty("isPrototypeOf")){const t=new e.constructor;for(let n in e)t[n]=ai(e[n],a);return t}var t,n,s;return e}(e,a);case"array":return function(e,a){const t=new e.constructor(e.length);for(let n=0;n<e.length;n++)t[n]=ai(e[n],a);return t}(e,a);default:return function(e,a){switch(Jr(e)){case"array":return e.slice();case"object":return Object.assign({},e);case"date":return new e.constructor(Number(e));case"map":return new Map(e);case"set":return new Set(e);case"buffer":return function(e){const a=e.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(a):Buffer.from(a);return e.copy(t),t}(e);case"symbol":return function(e){return Xr?Object(Xr.call(e)):{}}(e);case"arraybuffer":return function(e){const a=new e.constructor(e.byteLength);return new Uint8Array(a).set(new Uint8Array(e)),a}(e);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return function(e,a){return new e.constructor(e.buffer,e.byteOffset,e.length)}(e);case"regexp":return function(e){const a=void 0!==e.flags?e.flags:/\w+$/.exec(e)||void 0,t=new e.constructor(e.source,a);return t.lastIndex=e.lastIndex,t}(e);case"error":return Object.create(e);default:return e}}(e)}}var ti,ni,si=ie(ai);function ri(e){return si(e)}e.SpecificPlatform=void 0,(ti=e.SpecificPlatform||(e.SpecificPlatform={}))[ti.AdgOsWindows=1]="AdgOsWindows",ti[ti.AdgOsMac=2]="AdgOsMac",ti[ti.AdgOsAndroid=4]="AdgOsAndroid",ti[ti.AdgExtChrome=8]="AdgExtChrome",ti[ti.AdgExtOpera=16]="AdgExtOpera",ti[ti.AdgExtEdge=32]="AdgExtEdge",ti[ti.AdgExtFirefox=64]="AdgExtFirefox",ti[ti.AdgCbAndroid=128]="AdgCbAndroid",ti[ti.AdgCbIos=256]="AdgCbIos",ti[ti.AdgCbSafari=512]="AdgCbSafari",ti[ti.UboExtChrome=1024]="UboExtChrome",ti[ti.UboExtOpera=2048]="UboExtOpera",ti[ti.UboExtEdge=4096]="UboExtEdge",ti[ti.UboExtFirefox=8192]="UboExtFirefox",ti[ti.AbpExtChrome=16384]="AbpExtChrome",ti[ti.AbpExtOpera=32768]="AbpExtOpera",ti[ti.AbpExtEdge=65536]="AbpExtEdge",ti[ti.AbpExtFirefox=131072]="AbpExtFirefox",e.GenericPlatform=void 0,(ni=e.GenericPlatform||(e.GenericPlatform={}))[ni.AdgOsAny=7]="AdgOsAny",ni[ni.AdgSafariAny=768]="AdgSafariAny",ni[ni.AdgExtChromium=56]="AdgExtChromium",ni[ni.AdgExtAny=120]="AdgExtAny",ni[ni.AdgAny=1023]="AdgAny",ni[ni.UboExtChromium=7168]="UboExtChromium",ni[ni.UboExtAny=15360]="UboExtAny",ni[ni.UboAny=15360]="UboAny",ni[ni.AbpExtChromium=114688]="AbpExtChromium",ni[ni.AbpExtAny=245760]="AbpExtAny",ni[ni.AbpAny=245760]="AbpAny",ni[ni.Any=262143]="Any";const ii=new Map([["adg_os_windows",e.SpecificPlatform.AdgOsWindows],["adg_os_mac",e.SpecificPlatform.AdgOsMac],["adg_os_android",e.SpecificPlatform.AdgOsAndroid],["adg_ext_chrome",e.SpecificPlatform.AdgExtChrome],["adg_ext_opera",e.SpecificPlatform.AdgExtOpera],["adg_ext_edge",e.SpecificPlatform.AdgExtEdge],["adg_ext_firefox",e.SpecificPlatform.AdgExtFirefox],["adg_cb_android",e.SpecificPlatform.AdgCbAndroid],["adg_cb_ios",e.SpecificPlatform.AdgCbIos],["adg_cb_safari",e.SpecificPlatform.AdgCbSafari],["ubo_ext_chrome",e.SpecificPlatform.UboExtChrome],["ubo_ext_opera",e.SpecificPlatform.UboExtOpera],["ubo_ext_edge",e.SpecificPlatform.UboExtEdge],["ubo_ext_firefox",e.SpecificPlatform.UboExtFirefox],["abp_ext_chrome",e.SpecificPlatform.AbpExtChrome],["abp_ext_opera",e.SpecificPlatform.AbpExtOpera],["abp_ext_edge",e.SpecificPlatform.AbpExtEdge],["abp_ext_firefox",e.SpecificPlatform.AbpExtFirefox]]),oi=new Map([...ii].map((e=>{let[a,t]=e;return[t,a]}))),di=new Map([["adg_os_any",e.GenericPlatform.AdgOsAny],["adg_safari_any",e.GenericPlatform.AdgSafariAny],["adg_ext_chromium",e.GenericPlatform.AdgExtChromium],["adg_ext_any",e.GenericPlatform.AdgExtAny],["adg_any",e.GenericPlatform.AdgAny],["ubo_ext_chromium",e.GenericPlatform.UboExtChromium],["ubo_ext_any",e.GenericPlatform.UboExtAny],["ubo_any",e.GenericPlatform.UboAny],["abp_ext_chromium",e.GenericPlatform.AbpExtChromium],["abp_ext_any",e.GenericPlatform.AbpExtAny],["abp_any",e.GenericPlatform.AbpAny],["any",e.GenericPlatform.Any]]),ui=e=>!!(e&e-1);class li{constructor(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;_defineProperty(this,"data",void 0),_defineProperty(this,"nameTransformer",void 0),this.data=e,this.nameTransformer=a}getRowStorage(e){const a=this.data.map[e];return Ue(a)?null:this.data.shared[a]}existsAny(e){const a=this.nameTransformer?this.nameTransformer(e):e;return!Ue(this.data.map[a])}exists(e,a){const t=this.nameTransformer?this.nameTransformer(e):e,n=this.getRowStorage(t);if(!n)return!1;const s=e=>{var a;const s=n.shared[e];return!(Ue(s)||s.name!==t&&(null===(a=s.aliases)||void 0===a||!a.includes(t)))};if(ui(a)){const e=Object.keys(n.map);for(let t=0;t<e.length;t+=1){const r=Number(e[t]);if(a&r&&s(n.map[r]))return!0}return!1}return s(n.map[a])}getSingle(e,a){const t=this.nameTransformer?this.nameTransformer(e):e,n=this.getRowStorage(t);if(!n)return null;const s=n.map[a];return Ue(s)?null:n.shared[s]}getMultiple(e,a){const t=this.nameTransformer?this.nameTransformer(e):e,n=this.getRowStorage(t);if(!n)return null;if(ui(a)){const e={},t=Object.keys(n.map);for(let s=0;s<t.length;s+=1){const r=Number(t[s]);if(a&r){const a=n.map[r];Ue(a)||(e[r]=n.shared[a])}}return e}const s=n.map[a];return Ue(s)?null:{key:n.shared[s]}}getAllMultiple(e){const a=[];for(let t=0;t<this.data.shared.length;t+=1){const n=this.data.shared[t];new Set(n.shared.map((e=>{let{name:a}=e;return a}))).forEach((t=>{const n=this.getMultiple(t,e);n&&a.push(n)}))}return a}getFirst(e,a){const t=this.nameTransformer?this.nameTransformer(e):e,n=this.getRowStorage(t);if(!n)return null;if(ui(a)){const e=Object.keys(n.map);for(let t=0;t<e.length;t+=1){const s=Number(e[t]);if(a&s){const e=n.map[s];if(!Ue(e))return n.shared[e]}}return null}const s=n.map[a];return Ue(s)?null:n.shared[s]}getRow(e){const a=this.nameTransformer?this.nameTransformer(e):e,t=this.getRowStorage(a);return t?t.shared:[]}getRowsByProduct(){const a=[];for(let t=0;t<this.data.shared.length;t+=1){const n=this.data.shared[t],s=Object.keys(n.map),r={[e.AdblockSyntax.Adg]:{},[e.AdblockSyntax.Ubo]:{},[e.AdblockSyntax.Abp]:{}};for(let a=0;a<s.length;a+=1){const t=Number(s[a]);t&e.GenericPlatform.AdgAny?r[e.AdblockSyntax.Adg][t]=n.shared[n.map[t]]:t&e.GenericPlatform.UboAny?r[e.AdblockSyntax.Ubo][t]=n.shared[n.map[t]]:t&e.GenericPlatform.AbpAny&&(r[e.AdblockSyntax.Abp][t]=n.shared[n.map[t]])}a.push(r)}return a}}const ci={shared:[{shared:[{name:"all",aliases:null,description:"$all modifier is made of $document, $popup, and all content-type modifiers combined.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#all-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!0,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"all",aliases:null,description:"The `all` option is equivalent to specifying all network-based types\n+ `popup`, `document`, `inline-font` and `inline-script`.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#all",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"app",aliases:null,description:"The `$app` modifier lets you narrow the rule coverage down to a specific application or a list of applications.\nThe modifier's behavior and syntax perfectly match the corresponding basic rules `$app` modifier.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#app-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_apps"}],map:{1:0,2:0,4:0}},{shared:[{name:"badfilter",aliases:null,description:"The rules with the `$badfilter` modifier disable other basic rules to which they refer. It means that\nthe text of the disabled rule should match the text of the `$badfilter` rule (without the `$badfilter` modifier).",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#badfilter-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"badfilter",aliases:null,description:"The rules with the `$badfilter` modifier disable other basic rules to which they refer. It means that\nthe text of the disabled rule should match the text of the `$badfilter` rule (without the `$badfilter` modifier).",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#badfilter",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"cname",aliases:null,description:"When used in an exception filter,\nit will bypass blocking CNAME uncloaked requests for the current (specified) document.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#cname",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"content",aliases:null,description:"Disables HTML filtering and `$replace` rules on the pages that match the rule.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#content-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0}},{shared:[{name:"cookie",aliases:null,description:"The `$cookie` modifier completely changes rule behavior.\nInstead of blocking a request, this modifier makes us suppress or modify the Cookie and Set-Cookie headers.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#cookie-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"^([^;=\\s]*?)((?:;(maxAge=\\d+;?)?|(sameSite=(lax|none|strict);?)?){1,3})(?<!;)$"}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"csp",aliases:null,description:"This modifier completely changes the rule behavior.\nIf it is applied to a rule, it will not block the matching request.\nThe response headers are going to be modified instead.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#csp-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","important","subdocument","badfilter"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"csp_value"},{name:"csp",aliases:null,description:"This modifier completely changes the rule behavior.\nIf it is applied to a rule, it will not block the matching request.\nThe response headers are going to be modified instead.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#csp",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["1p","3p","domain","badfilter"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"csp_value"},{name:"csp",aliases:null,description:"This modifier completely changes the rule behavior.\nIf it is applied to a rule, it will not block the matching request.\nThe response headers are going to be modified instead.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#content-security-policies",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","subdocument"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"csp_value"}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"denyallow",aliases:null,description:"The `$denyallow` modifier allows to avoid creating additional rules\nwhen it is needed to disable a certain rule for specific domains.\n`$denyallow` matches only target domains and not referrer domains.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#denyallow-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["to"],inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_denyallow_domains"},{name:"denyallow",aliases:null,description:"The `$denyallow` modifier allows to avoid creating additional rules\nwhen it is needed to disable a certain rule for specific domains.\n`$denyallow` matches only target domains and not referrer domains.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#denyallow",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["to"],inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_denyallow_domains"}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"document",aliases:null,description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#document-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"document",aliases:null,description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#document-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"document",aliases:null,description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#document-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"document",aliases:null,description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#document-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"document",aliases:["doc"],description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#document",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"document",aliases:null,description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#allowlist",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,256:2,512:3,1024:4,2048:4,4096:4,8192:4,16384:5,32768:5,65536:5,131072:5}},{shared:[{name:"domain",aliases:["from"],description:"The `$domain` modifier limits the rule application area to a list of domains and their subdomains.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#domain-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_domains"},{name:"domain",aliases:["from"],description:"The `$domain` modifier limits the rule application area to a list of domains and their subdomains.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#from",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_domains"},{name:"domain",aliases:null,description:"The `$domain` modifier limits the rule application area to a list of domains and their subdomains.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#domain-restrictions",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_domains"}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"elemhide",aliases:["ehide"],description:"Disables any cosmetic rules on the pages matching the rule.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#elemhide-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"elemhide",aliases:["ehide"],description:"Disables any cosmetic rules on the pages matching the rule.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#elemhide-1",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"elemhide",aliases:["ehide"],description:"Disables any cosmetic rules on the pages matching the rule.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"empty",aliases:null,description:"This modifier is deprecated in favor of the $redirect modifier.\nRules with `$empty` are still supported and being converted into `$redirect=nooptext` now\nbut the support shall be removed in the future.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#empty-modifier",versionAdded:null,versionRemoved:null,deprecated:!0,deprecationMessage:"Rules with `$empty` are still supported and being converted into `$redirect=nooptext` now\nbut the support shall be removed in the future.",removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"empty",aliases:null,description:"This modifier is deprecated in favor of the $redirect modifier.\nRules with `$empty` are still supported and being converted into `$redirect=nooptext` now\nbut the support shall be removed in the future.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#empty-modifier",versionAdded:null,versionRemoved:null,deprecated:!0,deprecationMessage:"Rules with `$empty` are still supported and being converted into `$redirect=nooptext` now\nbut the support shall be removed in the future.",removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"empty",aliases:null,description:"This modifier is deprecated in favor of the $redirect modifier.\nRules with `$empty` are supported and being converted into `$redirect=nooptext`.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#empty",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,1024:2,2048:2,4096:2,8192:2}},{shared:[{name:"extension",aliases:null,description:"Disables all userscripts on the pages matching this rule.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#extension-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","specifichide","generichide","elemhide","genericblock","urlblock","jsinject","content","xmlhttprequest","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0}},{shared:[{name:"first-party",aliases:["1p","~third-party"],description:"A restriction of first-party requests. Equal to `~third-party`.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#third-party-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"first-party",aliases:["1p","~third-party"],description:"A restriction of first-party requests. Equal to `~third-party`.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#1p",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"font",aliases:null,description:"The rule corresponds to requests for fonts, e.g. `.woff` filename extension.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#font-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"font",aliases:null,description:"The rule corresponds to requests for fonts, e.g. `.woff` filename extension.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"font",aliases:null,description:"The rule corresponds to requests for fonts, e.g. `.woff` filename extension.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"genericblock",aliases:null,description:"Disables generic basic rules on pages that correspond to exception rule.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#genericblock-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","specifichide","generichide","elemhide","extension","jsinject","content","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"genericblock",aliases:null,description:"Disables generic basic rules on pages that correspond to exception rule.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#genericblock-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","specifichide","generichide","elemhide","jsinject","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"genericblock",aliases:null,description:"Disables generic basic rules on pages that correspond to exception rule.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#genericblock-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","specifichide","generichide","elemhide","jsinject","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"genericblock",aliases:null,description:"Disables generic basic rules on pages that correspond to exception rule.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#genericblock-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","specifichide","generichide","elemhide","jsinject","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"genericblock",aliases:null,description:"Disables generic basic rules on pages that correspond to exception rule.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,256:2,512:3,16384:4,32768:4,65536:4,131072:4}},{shared:[{name:"generichide",aliases:["ghide"],description:"Disables all generic cosmetic rules.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#generichide-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","genericblock","urlblock","extension","jsinject","content","xmlhttprequest","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"generichide",aliases:["ghide"],description:"Disables all generic cosmetic rules.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#generichide",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"generichide",aliases:null,description:"Disables all generic cosmetic rules.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"header",aliases:null,description:"The `$header` modifier allows matching the HTTP response\nhaving a specific header with (optionally) a specific value.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#header-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"(?xi)\n ^\n # header name\n [\\w-]+\n (\n :\n # header value: string or regexp\n (\\w+|\\/.+\\/)\n )?"},{name:"header",aliases:null,description:"The `$header` modifier allows matching the HTTP response\nhaving a specific header with (optionally) a specific value.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#header-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"(?xi)\n ^\n # header name\n [\\w-]+\n (\n :\n # header value: string or regexp\n (\\w+|\\/.+\\/)\n )?"},{name:"header",aliases:null,description:"The `$header` modifier allows matching the HTTP response\nhaving a specific header with (optionally) a specific value.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#header",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"(?xi)\n ^\n # header name\n [\\w-]+\n (\n :\n # header value: string or regexp\n (\\w+|\\/.+\\/)\n )?"}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,1024:2,2048:2,4096:2,8192:2}},{shared:[{name:"hls",aliases:null,description:"The `$hls` rules modify the response of a matching request.\nThey are intended as a convenient way to remove segments from HLS playlists (RFC 8216).",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#hls-modifier",versionAdded:"CoreLibs 1.10",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","third-party","app","important","match-case","xmlhttprequest"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n # TODO: improve regexp pattern to invalidate unescaped `/`, `$`, and `,`\n \\/.+\\/\n # options\n ([ti]*)?\n )"}],map:{1:0,2:0,4:0}},{shared:[{name:"image",aliases:null,description:"The rule corresponds to images requests.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#image-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"image",aliases:null,description:"The rule corresponds to images requests.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"image",aliases:null,description:"The rule corresponds to images requests.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"important",aliases:null,description:"The `$important` modifier applied to a rule increases its priority\nover any other rule without `$important` modifier. Even over basic exception rules.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#important-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"important",aliases:null,description:"The `$important` modifier applied to a rule increases its priority\nover any other rule without `$important` modifier. Even over basic exception rules.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#important",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"inline-font",aliases:null,description:"The `$inline-font` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-font` is converting into:\n```adblock\n||example.org^$csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#inline-font-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"inline-font",aliases:null,description:"The `$inline-font` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-font` is converting into:\n```adblock\n||example.org^$csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#inline-font-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"inline-font",aliases:null,description:"The `$inline-font` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-font` is converting into:\n```adblock\n||example.org^$csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#inline-font",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,1024:2,2048:2,4096:2,8192:2}},{shared:[{name:"inline-script",aliases:null,description:"The `$inline-script` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-script` is converting into:\n```adblock\n||example.org^$csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#inline-script-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"inline-script",aliases:null,description:"The `$inline-script` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-script` is converting into:\n```adblock\n||example.org^$csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#inline-script-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"inline-script",aliases:null,description:"The `$inline-script` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-script` is converting into:\n```adblock\n||example.org^$csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#inline-script",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,1024:2,2048:2,4096:2,8192:2}},{shared:[{name:"jsinject",aliases:null,description:"Forbids adding of javascript code to the page.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsinject-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","specifichide","generichide","elemhide","genericblock","urlblock","extension","content","xmlhttprequest","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"jsinject",aliases:null,description:"Forbids adding of javascript code to the page.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsinject-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","specifichide","generichide","elemhide","genericblock","urlblock","xmlhttprequest","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"jsinject",aliases:null,description:"Forbids adding of javascript code to the page.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsinject-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","specifichide","generichide","elemhide","genericblock","urlblock","xmlhttprequest","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"jsinject",aliases:null,description:"Forbids adding of javascript code to the page.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsinject-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","specifichide","generichide","elemhide","genericblock","urlblock","xmlhttprequest","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,256:2,512:3}},{shared:[{name:"jsonprune",aliases:null,description:"The `$jsonprune` rules modify the response to a matching request\nby removing JSON items that match a modified JSONPath expression.\nThey do not modify responses which are not valid JSON documents.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsonprune-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"(?xi)\n ^\n # the expression always starts with a dollar sign (for root)\n # which should be escaped\n \\\\\n \\$\n \\.?\n # TODO: improve the expression to invalidate unescaped `$` and `,`\n .+\n $"}],map:{1:0,2:0,4:0}},{shared:[{name:"match-case",aliases:null,description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#match-case-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"match-case",aliases:null,description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#match-case",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"match-case",aliases:null,description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"media",aliases:null,description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#media-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"media",aliases:null,description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"media",aliases:null,description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"method",aliases:null,description:"This modifier limits the rule scope to requests that use the specified set of HTTP methods.\nNegated methods are allowed.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#method-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_methods"},{name:"method",aliases:null,description:"This modifier limits the rule scope to requests that use the specified set of HTTP methods.\nNegated methods are allowed.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#method-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_methods"},{name:"method",aliases:null,description:"This modifier limits the rule scope to requests that use the specified set of HTTP methods.\nNegated methods are allowed.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#method",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_methods"}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,1024:2,2048:2,4096:2,8192:2}},{shared:[{name:"mp4",aliases:null,description:"As a response to blocked request AdGuard returns a short video placeholder.\nRules with `$mp4` are still supported and being converted into `$redirect=noopmp4-1s` now\nbut the support shall be removed in the future.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#mp4-modifier",versionAdded:null,versionRemoved:null,deprecated:!0,deprecationMessage:"Rules with `$mp4` are still supported and being converted into `$redirect=noopmp4-1s` now\nbut the support shall be removed in the future.",removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"mp4",aliases:null,description:"As a response to blocked request AdGuard returns a short video placeholder.\nRules with `$mp4` are still supported and being converted into `$redirect=noopmp4-1s` now\nbut the support shall be removed in the future.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#mp4-modifier",versionAdded:null,versionRemoved:null,deprecated:!0,deprecationMessage:"Rules with `$mp4` are still supported and being converted into `$redirect=noopmp4-1s` now\nbut the support shall be removed in the future.",removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"mp4",aliases:null,description:"As a response to blocked request a short video placeholder is returned.\nRules with `$mp4` are supported and being converted into `$redirect=noopmp4-1s`.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#mp4",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,1024:2,2048:2,4096:2,8192:2}},{shared:[{name:"network",aliases:null,description:"This is basically a Firewall-kind of rules allowing to fully block\nor unblock access to a specified remote address.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#network-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["app","important"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0}},{shared:[{name:"_",aliases:null,description:"The noop modifier does nothing and can be used solely to increase rules' readability.\nIt consists of a sequence of underscore characters (_) of any length\nand can appear in a rule as many times as needed.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#noop-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"_",aliases:null,description:"The noop modifier does nothing and can be used solely to increase rules' readability.\nIt consists of a sequence of underscore characters (_) of any length\nand can appear in a rule as many times as needed.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#noop-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"_",aliases:null,description:"The noop modifier does nothing and can be used solely to increase rules' readability.\nIt consists of a sequence of underscore characters (_) of any length\nand can appear in a rule as many times as needed.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#noop-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"_",aliases:null,description:"The noop modifier does nothing and can be used solely to increase rules' readability.\nIt consists of a sequence of underscore characters (_) of any length\nand can appear in a rule as many times as needed.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#noop-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"_",aliases:null,description:"The noop modifier does nothing and can be used solely to increase rules' readability.\nIt consists of a sequence of underscore characters (_) of any length\nand can appear in a rule as many times as needed.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#_-aka-noop",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,256:2,512:3,1024:4,2048:4,4096:4,8192:4}},{shared:[{name:"object-subrequest",aliases:null,description:"The `$object-subrequest` modifier is removed and is no longer supported.\nRules with it are considered as invalid.\nThe rule corresponds to requests by browser plugins (it is usually Flash).",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#object-subrequest-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!0,removalMessage:"The `$object-subrequest` modifier is removed and is no longer supported.\nRules with it are considered as invalid.",conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0}},{shared:[{name:"object",aliases:null,description:"The rule corresponds to browser plugins resources, e.g. Java or Flash",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#object-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"object",aliases:null,description:"The rule corresponds to browser plugins resources, e.g. Java or Flash.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"object",aliases:null,description:"The rule corresponds to browser plugins resources, e.g. Java or Flash.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"other",aliases:null,description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#other-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"other",aliases:null,description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"other",aliases:null,description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"permissions",aliases:null,description:"For the requests matching a `$permissions` rule, ad blocker strengthens response's feature policy\nby adding additional feature policy equal to the `$permissions` modifier contents.\n`$permissions` rules are applied independently from any other rule type.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#permissions-modifier",versionAdded:"CoreLibs 1.11",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","important","subdocument"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"permissions_value"}],map:{1:0,2:0,4:0}},{shared:[{name:"ping",aliases:null,description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#ping-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"ping",aliases:null,description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"ping",aliases:null,description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"popunder",aliases:null,description:'To block "popunders" windows/tabs where the original page redirects to an advertisement\nand the desired content loads in the newly created one.\nTo be used in the same manner as the popup filter option, except that it will block popunders.',docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#popunder",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!0,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"popup",aliases:null,description:"Pages opened in a new tab or window.\nNote: Filters will not block pop-ups by default, only if the `$popup` type option is specified.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#popup-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"popup",aliases:null,description:"Pages opened in a new tab or window.\nNote: Filters will not block pop-ups by default, only if the `$popup` type option is specified.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"popup",aliases:null,description:"Pages opened in a new tab or window.\nNote: Filters will not block pop-ups by default, only if the `$popup` type option is specified.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"redirect-rule",aliases:null,description:'This is basically an alias to `$redirect`\nsince it has the same "redirection" values and the logic is almost similar.\nThe difference is that `$redirect-rule` is applied only in the case\nwhen the target request is blocked by a different basic rule.',docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-rule-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","to","third-party","popup","match-case","header","first-party","document","image","stylesheet","script","object","font","media","subdocument","ping","xmlhttprequest","websocket","other","webrtc","important","badfilter","app"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html|\n )?$"},{name:"redirect-rule",aliases:null,description:'This is basically an alias to `$redirect`\nsince it has the same "redirection" values and the logic is almost similar.\nThe difference is that `$redirect-rule` is applied only in the case\nwhen the target request is blocked by a different basic rule.',docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-rule-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","to","third-party","popup","match-case","header","first-party","document","image","stylesheet","script","object","font","media","subdocument","ping","xmlhttprequest","websocket","other","webrtc","important","badfilter"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html|\n )?$"},{name:"redirect-rule",aliases:null,description:'This is basically an alias to `$redirect`\nsince it has the same "redirection" values and the logic is almost similar.\nThe difference is that `$redirect-rule` is applied only in the case\nwhen the target request is blocked by a different basic rule.',docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#redirect-rule",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","to","third-party","popup","match-case","header","first-party","document","image","stylesheet","script","object","font","media","subdocument","ping","xmlhttprequest","websocket","other","webrtc","important","badfilter"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"(?x)\n ^(\n 1x1\\.gif|\n 2x2\\.png|\n 3x2\\.png|\n 32x32\\.png|\n noop\\.css|\n noop\\.html|\n noopframe|\n noop\\.js|\n noop\\.txt|\n noop-0\\.1s\\.mp3|\n noop-0\\.5s\\.mp3|\n noop-1s\\.mp4|\n none|\n click2load\\.html|\n addthis_widget\\.js|\n amazon_ads\\.js|\n amazon_apstag\\.js|\n monkeybroker\\.js|\n doubleclick_instream_ad_status|\n google-analytics_ga\\.js|\n google-analytics_analytics\\.js|\n google-analytics_inpage_linkid\\.js|\n google-analytics_cx_api\\.js|\n google-ima\\.js|\n googletagservices_gpt\\.js|\n googletagmanager_gtm\\.js|\n googlesyndication_adsbygoogle\\.js|\n scorecardresearch_beacon\\.js|\n outbrain-widget\\.js|\n hd-main\\.js\n )\n (:[0-9]+)?$"}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,1024:2,2048:2,4096:2,8192:2}},{shared:[{name:"redirect",aliases:null,description:'Used to redirect web requests to a local "resource".',docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n googletagmanager-gtm|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html\n )?$"},{name:"redirect",aliases:null,description:'Used to redirect web requests to a local "resource".',docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n googletagmanager-gtm|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html\n )?$"},{name:"redirect",aliases:null,description:'Used to redirect web requests to a local "resource".',docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#redirect",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"(?x)\n ^(\n 1x1\\.gif|\n 2x2\\.png|\n 3x2\\.png|\n 32x32\\.png|\n noop\\.css|\n noop\\.html|\n noopframe|\n noop\\.js|\n noop\\.txt|\n noop-0\\.1s\\.mp3|\n noop-0\\.5s\\.mp3|\n noop-1s\\.mp4|\n none|\n click2load\\.html|\n addthis_widget\\.js|\n amazon_ads\\.js|\n amazon_apstag\\.js|\n monkeybroker\\.js|\n doubleclick_instream_ad_status|\n google-analytics_ga\\.js|\n google-analytics_analytics\\.js|\n google-analytics_inpage_linkid\\.js|\n google-analytics_cx_api\\.js|\n google-ima\\.js|\n googletagservices_gpt\\.js|\n googletagmanager_gtm\\.js|\n googlesyndication_adsbygoogle\\.js|\n scorecardresearch_beacon\\.js|\n outbrain-widget\\.js|\n hd-main\\.js\n )\n (:[0-9]+)?$"},{name:"rewrite",aliases:null,description:"The `rewrite=` option allows the rewriting of URLs (or redirecting requests) to an internal\nresource in order to deactivate it without causing an error. Indicate the internal resource\nby name and prefix `abp-resource:` in order to be recognized. For example\n`$rewrite=abp-resource:blank-js` sends an empty JavaScript.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#rewrite",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"(?x)\n # ABP resources always starts with the `abp-resource:` prefix\n ^abp-resource:\n # Possible resource names\n (\n blank-text|\n blank-css|\n blank-js|\n blank-html|\n blank-mp3|\n 1x1-transparent-gif|\n 2x2-transparent-png|\n 3x2-transparent-png|\n 32x32-transparent-png\n )$"}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,1024:2,2048:2,4096:2,8192:2,16384:3,32768:3,65536:3,131072:3}},{shared:[{name:"referrerpolicy",aliases:null,description:"This modifier allows overriding of a page's referrer policy.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#referrerpolicy-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["document","subdocument"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"referrerpolicy_value"}],map:{1:0,2:0,4:0}},{shared:[{name:"removeheader",aliases:null,description:"Rules with the `$removeheader` modifier are intended to remove headers from HTTP requests and responses.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#removeheader-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","third-party","first-party","app","important","match-case","document","image","stylesheet","script","object","font","media","subdocument","ping","xmlhttpreqeust","websocket","other","webrtc"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:'(?xi)\n ^\n # Value may start with "request:"\n (request:)?\n\n # Forbidden header names\n (?!\n (\n access-control-allow-origin|\n access-control-allow-credentials|\n access-control-allow-headers|\n access-control-allow-methods|\n access-control-expose-headers|\n access-control-max-age|\n access-control-request-headers|\n access-control-request-method|\n origin|\n timing-allow-origin|\n allow|\n cross-origin-embedder-policy|\n cross-origin-opener-policy|\n cross-origin-resource-policy|\n content-security-policy|\n content-security-policy-report-only|\n expect-ct|\n feature-policy|\n origin-isolation|\n strict-transport-security|\n upgrade-insecure-requests|\n x-content-type-options|\n x-download-options|\n x-frame-options|\n x-permitted-cross-domain-policies|\n x-powered-by|\n x-xss-protection|\n public-key-pins|\n public-key-pins-report-only|\n sec-websocket-key|\n sec-websocket-extensions|\n sec-websocket-accept|\n sec-websocket-protocol|\n sec-websocket-version|\n p3p|\n sec-fetch-mode|\n sec-fetch-dest|\n sec-fetch-site|\n sec-fetch-user|\n referrer-policy|\n content-type|\n content-length|\n accept|\n accept-encoding|\n host|\n connection|\n transfer-encoding|\n upgrade\n )\n $)\n\n # Any other header name is allowed, if it matches the following regex\n [A-z0-9-]+\n $'},{name:"removeheader",aliases:null,description:"Rules with the `$removeheader` modifier are intended to remove headers from HTTP requests and responses.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#removeheader-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","third-party","first-party","app","important","match-case","document","image","stylesheet","script","object","font","media","subdocument","ping","xmlhttpreqeust","websocket","other","webrtc"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:'(?xi)\n ^\n # Value may start with "request:"\n (request:)?\n\n # Forbidden header names\n (?!\n (\n access-control-allow-origin|\n access-control-allow-credentials|\n access-control-allow-headers|\n access-control-allow-methods|\n access-control-expose-headers|\n access-control-max-age|\n access-control-request-headers|\n access-control-request-method|\n origin|\n timing-allow-origin|\n allow|\n cross-origin-embedder-policy|\n cross-origin-opener-policy|\n cross-origin-resource-policy|\n content-security-policy|\n content-security-policy-report-only|\n expect-ct|\n feature-policy|\n origin-isolation|\n strict-transport-security|\n upgrade-insecure-requests|\n x-content-type-options|\n x-download-options|\n x-frame-options|\n x-permitted-cross-domain-policies|\n x-powered-by|\n x-xss-protection|\n public-key-pins|\n public-key-pins-report-only|\n sec-websocket-key|\n sec-websocket-extensions|\n sec-websocket-accept|\n sec-websocket-protocol|\n sec-websocket-version|\n p3p|\n sec-fetch-mode|\n sec-fetch-dest|\n sec-fetch-site|\n sec-fetch-user|\n referrer-policy|\n content-type|\n content-length|\n accept|\n accept-encoding|\n host|\n connection|\n transfer-encoding|\n upgrade\n )\n $)\n\n # Any other header name is allowed, if it matches the following regex\n [A-z0-9-]+\n $'}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1}},{shared:[{name:"removeparam",aliases:null,description:"Rules with the `$removeparam` modifier are intended to strip query parameters from requests' URLs.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#removeparam-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n \\/.+\\/\n # flags\n ([gimuy]+)?\n )"},{name:"removeparam",aliases:null,description:"Rules with the `$removeparam` modifier are intended to strip query parameters from requests' URLs.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#removeparam-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!0,valueFormat:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n \\/.+\\/\n # flags\n ([gimuy]+)?\n )"},{name:"removeparam",aliases:null,description:"Rules with the `$removeparam` modifier are intended to strip query parameters from requests' URLs.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#removeparam",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n \\/.+\\/\n # flags\n ([gimuy]+)?\n )"}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,1024:2,2048:2,4096:2,8192:2}},{shared:[{name:"replace",aliases:null,description:"This modifier completely changes the rule behavior.\nIf it is applied, the rule will not block the request. The response is going to be modified instead.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#replace-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["app","domain","document","subdocument","script","stylesheet","other","xmlhttprequest","first-party","third-party","important","badfilter"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $"},{name:"replace",aliases:null,description:"This modifier completely changes the rule behavior.\nIf it is applied, the rule will not block the request. The response is going to be modified instead.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#replace-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["app","domain","document","subdocument","script","stylesheet","other","xmlhttprequest","first-party","third-party","important","badfilter"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $"},{name:"replace",aliases:null,description:"This modifier completely changes the rule behavior.\nIf it is applied, the rule will not block the request. The response is going to be modified instead.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#replace",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["app","domain","document","subdocument","script","stylesheet","other","xmlhttprequest","first-party","third-party","important","badfilter"],inverseConflicts:!0,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $"}],map:{1:0,2:0,4:0,64:1,8192:2}},{shared:[{name:"script",aliases:null,description:"The rule corresponds to script requests, e.g. javascript, vbscript.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#script-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"script",aliases:null,description:"The rule corresponds to script requests, e.g. javascript, vbscript.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"script",aliases:null,description:"The rule corresponds to script requests, e.g. javascript, vbscript.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"specifichide",aliases:["shide"],description:"Disables all specific element hiding and CSS rules, but not general ones.\nHas an opposite effect to `$generichide`.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#specifichide-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","genericblock","urlblock","extension","jsinject","content","xmlhttprequest","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null},{name:"specifichide",aliases:["shide"],description:"Disables all specific element hiding and CSS rules, but not general ones.\nHas an opposite effect to `$generichide`.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#specifichide",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"stealth",aliases:null,description:"Disables the Stealth Mode module for all corresponding pages and requests.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#stealth-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!0,valueFormat:"pipe_separated_stealth_options"},{name:"stealth",aliases:null,description:"Disables the Stealth Mode module for all corresponding pages and requests.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#stealth-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!0,valueFormat:"pipe_separated_stealth_options"},{name:"stealth",aliases:null,description:"Disables the Stealth Mode module for all corresponding pages and requests.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#stealth-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!0,valueFormat:"pipe_separated_stealth_options"},{name:"stealth",aliases:null,description:"Disables the Stealth Mode module for all corresponding pages and requests.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#stealth-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!0,valueFormat:"pipe_separated_stealth_options"},{name:"stealth",aliases:null,description:"Disables the Stealth Mode module for all corresponding pages and requests.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#stealth-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!0,valueFormat:"pipe_separated_stealth_options"}],map:{1:0,2:0,4:0,8:1,16:2,32:3,64:4}},{shared:[{name:"strict1p",aliases:null,description:"This new `strict1p` option can check for strict partyness.\nFor example, a network request qualifies as 1st-party if both the context and the request share the same hostname.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#strict1p",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"strict3p",aliases:null,description:"This new `strict3p` option can check for strict partyness.\nFor example, a network request qualifies as 3rd-party if the context and the request hostnames are different.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#strict3p",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"stylesheet",aliases:null,description:"The rule corresponds to CSS files requests.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#stylesheet-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"stylesheet",aliases:["css"],description:"The rule corresponds to CSS files requests.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#css",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"stylesheet",aliases:null,description:"The rule corresponds to CSS files requests.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"subdocument",aliases:null,description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#subdocument-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"subdocument",aliases:["frame"],description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#frame",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"subdocument",aliases:null,description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"third-party",aliases:["3p"],description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#third-party-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"3p",aliases:["third-party"],description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#3p",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"third-party",aliases:null,description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#party-requests",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"to",aliases:null,description:"`$to` limits the rule scope to requests made to the specified domains and their subdomains.\nTo add multiple domains to one rule, use the `|` character as a separator.",docs:"https://adguard.com/kb/general/ad-filtering/create-own-filters/#to-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["denyallow"],inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_domains"},{name:"to",aliases:null,description:"`$to` limits the rule scope to requests made to the specified domains and their subdomains.\nTo add multiple domains to one rule, use the `|` character as a separator.",docs:"https://adguard.com/kb/general/ad-filtering/create-own-filters/#to-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["denyallow"],inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_domains"},{name:"to",aliases:null,description:"The main motivation of this option is\nto give static network filtering engine an equivalent of DNR's `requestDomains` and `excludedRequestDomains`.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#to",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["denyallow"],inverseConflicts:!1,assignable:!0,negatable:!1,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:"pipe_separated_domains"}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,1024:2,2048:2,4096:2,8192:2}},{shared:[{name:"urlblock",aliases:null,description:"Disables blocking of all requests sent from the pages matching the rule.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#urlblock-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:["domain","specifichide","generichide","elemhide","extension","jsinject","content","badfilter"],inverseConflicts:!0,assignable:!1,negatable:!1,blockOnly:!1,exceptionOnly:!0,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0}},{shared:[{name:"webrtc",aliases:null,description:"The rule applies only to WebRTC connections.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#webrtc-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!0,removalMessage:"This modifier is removed and is no longer supported.\nRules with it are considered as invalid. If you need to suppress WebRTC, consider using\nthe [nowebrtc scriptlet](https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#nowebrtc).",conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"webrtc",aliases:null,description:"The rule applies only to WebRTC connections.",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!0,removalMessage:"This modifier is removed and is no longer supported.\nIf you need to suppress WebRTC, consider using\nthe [nowebrtc scriptlet](https://github.com/gorhill/uBlock/wiki/Resources-Library#nowebrtcjs-).",conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"webrtc",aliases:null,description:"The rule applies only to WebRTC connections.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:"1.13.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"websocket",aliases:null,description:"The rule applies only to WebSocket connections.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#websocket-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"websocket",aliases:null,description:"The rule applies only to WebSocket connections.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#websocket-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"websocket",aliases:null,description:"The rule applies only to WebSocket connections.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#websocket-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"websocket",aliases:null,description:"The rule applies only to WebSocket connections.",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#websocket-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"websocket",aliases:null,description:"The rule applies only to WebSocket connections.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"websocket",aliases:null,description:"The rule applies only to WebSocket connections.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:1,16:1,32:1,64:1,256:2,512:3,1024:4,2048:4,4096:4,8192:4,16384:5,32768:5,65536:5,131072:5}},{shared:[{name:"xmlhttprequest",aliases:["xhr"],description:"The rule applies only to ajax requests (requests sent via javascript object XMLHttpRequest).",docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#xmlhttprequest-modifier",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"xhr",aliases:["xmlhttprequest"],description:"The rule applies only to ajax requests (requests sent via javascript object XMLHttpRequest).",docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#xhr",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null},{name:"xmlhttprequest",aliases:null,description:"The rule applies only to ajax requests (requests sent via javascript object XMLHttpRequest).",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,conflicts:null,inverseConflicts:!1,assignable:!1,negatable:!0,blockOnly:!1,exceptionOnly:!1,valueOptional:!1,valueFormat:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,128:0,256:0,512:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}}],map:{all:0,app:1,badfilter:2,cname:3,content:4,cookie:5,csp:6,denyallow:7,document:8,doc:8,domain:9,from:9,elemhide:10,ehide:10,empty:11,extension:12,"first-party":13,"1p":13,"~third-party":13,font:14,genericblock:15,generichide:16,ghide:16,header:17,hls:18,image:19,important:20,"inline-font":21,"inline-script":22,jsinject:23,jsonprune:24,"match-case":25,media:26,method:27,mp4:28,network:29,_:30,"object-subrequest":31,object:32,other:33,permissions:34,ping:35,popunder:36,popup:37,"redirect-rule":38,redirect:39,rewrite:39,referrerpolicy:40,removeheader:41,removeparam:42,replace:43,script:44,specifichide:45,shide:45,stealth:46,strict1p:47,strict3p:48,stylesheet:49,css:49,subdocument:50,frame:50,"third-party":51,"3p":51,to:52,urlblock:53,webrtc:54,websocket:55,xmlhttprequest:56,xhr:56}},pi={shared:[{shared:[{name:"1x1-transparent.gif",aliases:["1x1.gif","1x1-transparent-gif"],description:"Redirects to a 1x1 transparent GIF.",docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#1x1-transparent.gif",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"1x1.gif",aliases:null,description:"Redirects to a 1x1 transparent GIF.",docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#available-empty-redirect-resources",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["image"]},{name:"1x1-transparent-gif",aliases:null,description:"Redirects to a 1x1 transparent GIF.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#rewrite",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"2x2-transparent.png",aliases:["2x2.png","2x2-transparent-png"],description:"Redirects to a 2x2 transparent PNG.",docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#2x2-transparent.png",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"2x2.png",aliases:null,description:"Redirects to a 2x2 transparent PNG.",docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#available-empty-redirect-resources",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["image"]},{name:"2x2-transparent-png",aliases:null,description:"Redirects to a 2x2 transparent PNG.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#rewrite",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"32x32-transparent.png",aliases:["32x32.png","32x32-transparent-png"],description:"Redirects to a 32x32 transparent PNG.",docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#32x32-transparent.png",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"32x32.png",aliases:null,description:"Redirects to a 32x32 transparent PNG.",docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#available-empty-redirect-resources",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["image"]},{name:"32x32-transparent-png",aliases:null,description:"Redirects to a 32x32 transparent PNG.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#rewrite",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"3x2-transparent.png",aliases:["3x2.png","3x2-transparent-png"],description:"Redirects to a 3x2 transparent PNG.",docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#3x2-transparent.png",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"3x2.png",aliases:null,description:"Redirects to a 3x2 transparent PNG.",docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#available-empty-redirect-resources",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["image"]},{name:"3x2-transparent-png",aliases:null,description:"Redirects to a 3x2 transparent PNG.",docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#rewrite",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"amazon-apstag",aliases:["ubo-amazon_apstag.js","amazon_apstag.js"],description:"Mocks Amazon's apstag.js",docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#amazon-apstag",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"amazon_apstag.js",aliases:null,description:"Mocks Amazon's apstag.js",docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#amazon_apstagjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"amazon_ads.js",aliases:null,description:null,docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"ampproject_v0.js",aliases:null,description:null,docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"ati-smarttag",aliases:null,description:null,docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"chartbeat.js",aliases:null,description:null,docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"click2load.html",aliases:["click2load.html","ubo-click2load.html"],description:"Redirects resource and replaces supposed content by decoy frame with button for original content recovering.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!0,resourceTypes:[]},{name:"click2load.html",aliases:null,description:"Redirects resource and replaces supposed content by decoy frame with button for original content recovering.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!0,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"didomi-loader",aliases:null,description:"Mocks Didomi's CMP loader script.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"empty",aliases:null,description:"Redirects to an empty file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"empty",aliases:null,description:"Redirects to an empty file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"fingerprintjs2",aliases:["fingerprint2.js"],description:"Mocks FingerprintJS2 script.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"fingerprint2.js",aliases:null,description:"Mocks FingerprintJS2 script.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"fingerprintjs3",aliases:["fingerprint3.js"],description:"Mocks FingerprintJS v3.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"fingerprint3.js",aliases:null,description:"Mocks FingerprintJS v3.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"gemius",aliases:null,description:"Mocks Gemius Analytics.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"google-analytics-ga",aliases:["ubo-google-analytics_ga.js","google-analytics_ga.js"],description:"Mocks old Google Analytics API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"google-analytics_ga.js",aliases:null,description:"Mocks old Google Analytics API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"google-analytics",aliases:["ubo-google-analytics_analytics.js","google-analytics_analytics.js","googletagmanager-gtm","ubo-googletagmanager_gtm.js","googletagmanager_gtm.js"],description:"Mocks Google's Analytics and Tag Manager APIs.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"google-analytics_analytics.js",aliases:null,description:"Mocks Google's Analytics and Tag Manager APIs.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"google-analytics_cx_api.js",aliases:null,description:null,docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"google-analytics_inpage_linkid.js",aliases:null,description:null,docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"google-ima3",aliases:["ubo-google-ima.js","google-ima.js"],description:"Mocks the IMA SDK of Google.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"google-ima.js",aliases:null,description:"Mocks the IMA SDK of Google.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"googlesyndication-adsbygoogle",aliases:["ubo-googlesyndication_adsbygoogle.js","ubo-googlesyndication.com/adsbygoogle.js","googlesyndication_adsbygoogle.js"],description:"Mocks Google AdSense API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"googlesyndication_adsbygoogle.js",aliases:["googlesyndication.com/adsbygoogle.js"],description:"Mocks Google AdSense API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"googletagservices-gpt",aliases:["ubo-googletagservices_gpt.js","googletagservices_gpt.js"],description:"Mocks Google Publisher Tag API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"googletagservices_gpt.js",aliases:null,description:"Mocks Google Publisher Tag API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"hd-main.js",aliases:null,description:null,docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"matomo",aliases:null,description:"Mocks the piwik.js file of Matomo (formerly Piwik).",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"metrika-yandex-tag",aliases:null,description:"Mocks Yandex Metrika API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"metrika-yandex-watch",aliases:null,description:"Mocks the old Yandex Metrika API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"naver-wcslog",aliases:null,description:"Mocks wcslog.js of Naver Analytics.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"no-protected-audience",aliases:null,description:"Prevents using the Protected Audience API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"no-topics",aliases:null,description:"Prevents using the Topics API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"noeval",aliases:["noeval.js","silent-noeval.js","ubo-noeval.js","ubo-silent-noeval.js","ubo-noeval","ubo-silent-noeval"],description:"Prevents page to use eval.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"noeval.js",aliases:null,description:"Prevents page to use eval.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"noop-0.5s.mp3",aliases:null,description:"Redirects to an empty MP3 file with a duration of 0.5 seconds.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["media"]}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"noopcss",aliases:["noop.css","blank-css"],description:"Redirects to an empty CSS file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"noop.css",aliases:null,description:"Redirects to an empty CSS file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["stylesheet"]},{name:"blank-css",aliases:null,description:"Redirects to an empty CSS file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"noopframe",aliases:["noop.html","blank-html"],description:"Redirects to an empty HTML file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"noop.html",aliases:null,description:"Redirects to an empty HTML file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["sub_frame"]},{name:"blank-html",aliases:null,description:"Redirects to an empty HTML file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"noopjs",aliases:["noop.js","blank-js"],description:"Redirects to an empty JavaScript file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"noop.js",aliases:null,description:"Redirects to an empty JavaScript file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]},{name:"blank-js",aliases:null,description:"Redirects to an empty JavaScript file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"noopjson",aliases:["noop.json"],description:"Redirects to an empty JSON file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"noop.json",aliases:null,description:"Redirects to an empty JSON file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"noopmp3-0.1s",aliases:["noop-0.1s.mp3","blank-mp3"],description:"Redirects to an empty MP3 file with a duration of 0.1 seconds.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"noop-0.1s.mp3",aliases:null,description:"Redirects to an empty MP3 file with a duration of 0.1 seconds.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["media"]},{name:"blank-mp3",aliases:null,description:"Redirects to an empty MP3 file with a duration of 0.1 seconds.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"noopmp4-1s",aliases:["noop-1s.mp4","blank-mp4"],description:"Redirects to an empty MP4 file with a duration of 1 second.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"noop-1s.mp4",aliases:null,description:"Redirects to an empty MP4 file with a duration of 1 second.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["media"]},{name:"blank-mp4",aliases:null,description:"Redirects to an empty MP4 file with a duration of 1 second.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"nooptext",aliases:["noop.txt","blank-text"],description:"Redirects to an empty text file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"noop.txt",aliases:null,description:"Redirects to an empty text file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["image","media","sub_frame","stylesheet","script","xmlhttprequest","other"]},{name:"blank-text",aliases:null,description:"Redirects to an empty text file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"noopvast-2.0",aliases:null,description:"Redirects to an empty VAST 2.0 XML file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"noopvast-3.0",aliases:null,description:"Redirects to an empty VAST 3.0 XML file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"noopvast-4.0",aliases:null,description:"Redirects to an empty VAST 4.0 XML file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"noopvmap-1.0",aliases:["noop-vmap1.0.xml"],description:"Redirects to an empty VMAP 1.0 XML file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"noop-vmap1.0.xml",aliases:null,description:"Redirects to an empty VMAP 1.0 XML file.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["media"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"nowebrtc",aliases:["nowebrtc.js","ubo-nowebrtc.js","ubo-nowebrtc"],description:"Disables WebRTC by overriding `RTCPeerConnection`.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"nowebrtc.js",aliases:null,description:"Disables WebRTC by overriding `RTCPeerConnection`.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["other"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"outbrain-widget.js",aliases:null,description:null,docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1024:0,2048:0,4096:0,8192:0}},{shared:[{name:"pardot-1.0",aliases:null,description:"Mocks the pd.js file of Salesforce.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"prebid-ads",aliases:["prebid-ads.js"],description:"Mocks prebid-ads.js script.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"prebid-ads.js",aliases:null,description:"Mocks prebid-ads.js script.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prebid",aliases:null,description:"Mocks the prebid.js header bidding suit.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"prevent-bab",aliases:["nobab.js"],description:"Prevents BlockAdblock script from detecting an ad blocker.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"nobab.js",aliases:null,description:"Prevents BlockAdblock script from detecting an ad blocker.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prevent-bab2",aliases:["nobab2.js"],description:"Prevents BlockAdblock script from detecting an ad blocker.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"nobab2.js",aliases:null,description:"Prevents BlockAdblock script from detecting an ad blocker.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prevent-fab-3.2.0",aliases:["nofab.js"],description:"Mocks FAB script v3.2.0.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"nofab.js",aliases:["fuckadblock.js-3.2.0","fuckadblock.js-3.2.0.js"],description:"Mocks FAB script v3.2.0.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prevent-popads-net",aliases:["popads.js"],description:"Aborts on property write (PopAds, popns), throws reference error with random id.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"popads.js",aliases:null,description:"Aborts on property write (PopAds, popns), throws reference error with random id.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"scorecardresearch-beacon",aliases:["scorecardresearch_beacon.js"],description:"Mocks Scorecard Research API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"scorecardresearch_beacon.js",aliases:null,description:"Mocks Scorecard Research API.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"set-popads-dummy",aliases:["popads-dummy.js"],description:"Sets static properties PopAds and popns.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:[]},{name:"popads-dummy.js",aliases:null,description:"Sets static properties PopAds and popns.",docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,isBlocking:!1,resourceTypes:["script"]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}}],map:{"1x1-transparent.gif":0,"1x1.gif":0,"1x1-transparent-gif":0,"2x2-transparent.png":1,"2x2.png":1,"2x2-transparent-png":1,"32x32-transparent.png":2,"32x32.png":2,"32x32-transparent-png":2,"3x2-transparent.png":3,"3x2.png":3,"3x2-transparent-png":3,"amazon-apstag":4,"ubo-amazon_apstag.js":4,"amazon_apstag.js":4,"amazon_ads.js":5,"ampproject_v0.js":6,"ati-smarttag":7,"chartbeat.js":8,"click2load.html":9,"ubo-click2load.html":9,"didomi-loader":10,empty:11,fingerprintjs2:12,"fingerprint2.js":12,fingerprintjs3:13,"fingerprint3.js":13,gemius:14,"google-analytics-ga":15,"ubo-google-analytics_ga.js":15,"google-analytics_ga.js":15,"google-analytics":16,"ubo-google-analytics_analytics.js":16,"google-analytics_analytics.js":16,"googletagmanager-gtm":16,"ubo-googletagmanager_gtm.js":16,"googletagmanager_gtm.js":16,"google-analytics_cx_api.js":17,"google-analytics_inpage_linkid.js":18,"google-ima3":19,"ubo-google-ima.js":19,"google-ima.js":19,"googlesyndication-adsbygoogle":20,"ubo-googlesyndication_adsbygoogle.js":20,"ubo-googlesyndication.com/adsbygoogle.js":20,"googlesyndication_adsbygoogle.js":20,"googlesyndication.com/adsbygoogle.js":20,"googletagservices-gpt":21,"ubo-googletagservices_gpt.js":21,"googletagservices_gpt.js":21,"hd-main.js":22,matomo:23,"metrika-yandex-tag":24,"metrika-yandex-watch":25,"naver-wcslog":26,"no-protected-audience":27,"no-topics":28,noeval:29,"noeval.js":29,"silent-noeval.js":29,"ubo-noeval.js":29,"ubo-silent-noeval.js":29,"ubo-noeval":29,"ubo-silent-noeval":29,"noop-0.5s.mp3":30,noopcss:31,"noop.css":31,"blank-css":31,noopframe:32,"noop.html":32,"blank-html":32,noopjs:33,"noop.js":33,"blank-js":33,noopjson:34,"noop.json":34,"noopmp3-0.1s":35,"noop-0.1s.mp3":35,"blank-mp3":35,"noopmp4-1s":36,"noop-1s.mp4":36,"blank-mp4":36,nooptext:37,"noop.txt":37,"blank-text":37,"noopvast-2.0":38,"noopvast-3.0":39,"noopvast-4.0":40,"noopvmap-1.0":41,"noop-vmap1.0.xml":41,nowebrtc:42,"nowebrtc.js":42,"ubo-nowebrtc.js":42,"ubo-nowebrtc":42,"outbrain-widget.js":43,"pardot-1.0":44,"prebid-ads":45,"prebid-ads.js":45,prebid:46,"prevent-bab":47,"nobab.js":47,"prevent-bab2":48,"nobab2.js":48,"prevent-fab-3.2.0":49,"nofab.js":49,"fuckadblock.js-3.2.0":49,"fuckadblock.js-3.2.0.js":49,"prevent-popads-net":50,"popads.js":50,"scorecardresearch-beacon":51,"scorecardresearch_beacon.js":51,"set-popads-dummy":52,"popads-dummy.js":52}},mi={shared:[{shared:[{name:"abort-current-inline-script",aliases:["abort-current-script.js","ubo-abort-current-script.js","acs.js","ubo-acs.js","ubo-abort-current-script","ubo-acs","abort-current-inline-script.js","ubo-abort-current-inline-script.js","acis.js","ubo-acis.js","ubo-abort-current-inline-script","ubo-acis","abp-abort-current-inline-script"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#abort-current-inline-script",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"search",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"abort-current-script.js",aliases:["acs.js","abort-current-inline-script.js","acis.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#abort-current-scriptjs-",versionAdded:"1.37.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"search",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"abort-current-inline-script",aliases:null,description:null,docs:"https://help.adblockplus.org/hc/en-us/articles/1500002338501-Snippet-filters-tutorial#snippets-ref",versionAdded:"3.4.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"api",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"search",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"abort-on-property-read",aliases:["abort-on-property-read.js","ubo-abort-on-property-read.js","aopr.js","ubo-aopr.js","ubo-abort-on-property-read","ubo-aopr","abp-abort-on-property-read"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#abort-on-property-read",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1}]},{name:"abort-on-property-read.js",aliases:["aopr.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#abort-on-property-readjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1}]},{name:"abort-on-property-read",aliases:null,description:null,docs:"https://help.adblockplus.org/hc/en-us/articles/1500002338501-Snippet-filters-tutorial#snippets-ref",versionAdded:"3.4.1",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"setConfigurable",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"abort-on-property-write",aliases:["abort-on-property-write.js","ubo-abort-on-property-write.js","aopw.js","ubo-aopw.js","ubo-abort-on-property-write","ubo-aopw","abp-abort-on-property-write"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#abort-on-property-write",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1}]},{name:"abort-on-property-write.js",aliases:["aopw.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#abort-on-property-writejs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1}]},{name:"abort-on-property-write",aliases:null,description:null,docs:"https://help.adblockplus.org/hc/en-us/articles/1500002338501-Snippet-filters-tutorial#snippets-ref",versionAdded:"3.4.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"setConfigurable",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"abort-on-stack-trace",aliases:["abort-on-stack-trace.js","ubo-abort-on-stack-trace.js","aost.js","ubo-aost.js","ubo-abort-on-stack-trace","ubo-aost","abp-abort-on-stack-trace"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#abort-on-stack-trace",versionAdded:"1.5.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!0,description:null,pattern:null,default:null,debug:!1}]},{name:"abort-on-stack-trace.js",aliases:["aost.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#abort-on-stack-tracejs-",versionAdded:"1.29.3rc9",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"adjust-setInterval",aliases:["nano-setInterval-booster.js","ubo-nano-setInterval-booster.js","nano-sib.js","ubo-nano-sib.js","adjust-setInterval.js","ubo-adjust-setInterval.js","ubo-nano-setInterval-booster","ubo-nano-sib","ubo-adjust-setInterval"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#adjust-setInterval",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"matchCallback",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"matchDelay",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"boost",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"adjust-setInterval.js",aliases:["nano-setInterval-booster.js","nano-sib.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#adjust-setIntervaljs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"matchCallback",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"matchDelay",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"boost",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"adjust-setTimeout",aliases:["adjust-setTimeout.js","ubo-adjust-setTimeout.js","nano-setTimeout-booster.js","ubo-nano-setTimeout-booster.js","nano-stb.js","ubo-nano-stb.js","ubo-adjust-setTimeout","ubo-nano-setTimeout-booster","ubo-nano-stb"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#adjust-setTimeout",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"matchCallback",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"matchDelay",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"boost",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"adjust-setTimeout.js",aliases:["nano-setTimeout-booster.js","nano-stb.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#adjust-setTimeoutjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"matchCallback",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"matchDelay",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"boost",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"amazon-apstag",aliases:["ubo-amazon_apstag.js","amazon_apstag.js"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#amazon-apstag",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"call-nothrow",aliases:["call-nothrow.js","ubo-call-nothrow.js","ubo-call-nothrow"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#call-nothrow",versionAdded:"1.10.1",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"functionName",required:!0,description:null,pattern:null,default:null,debug:!1}]},{name:"call-nothrow.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#call-nothrowjs-",versionAdded:"1.48.1b0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"functionName",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"close-window",aliases:["window-close-if.js","ubo-window-close-if.js","ubo-window-close-if","close-window.js","ubo-close-window.js","ubo-close-window"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#close-window",versionAdded:"1.5.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"path",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"close-window.js",aliases:["window-close-if.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#close-windowjs-",versionAdded:"1.39.3b10",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"path",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"debug-current-inline-script",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#debug-current-inline-script",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"search",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"debug-on-property-read",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#debug-on-property-read",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"debug-on-property-write",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#debug-on-property-write",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"didomi-loader",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#didomi-loader",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"dir-string",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#dir-string",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"times",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"disable-newtab-links",aliases:["disable-newtab-links.js","ubo-disable-newtab-links.js","ubo-disable-newtab-links"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#disable-newtab-links",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null},{name:"disable-newtab-links.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#disable-newtab-linksjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"evaldata-prune",aliases:["evaldata-prune.js","ubo-evaldata-prune.js","ubo-evaldata-prune"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#evaldata-prune",versionAdded:"1.9.37",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"obligatoryProps",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"evaldata-prune.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#evaldata-prunejs-",versionAdded:"1.49.3rc15",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"obligatoryProps",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"fingerprintjs2",aliases:["ubo-fingerprint2.js","fingerprint2.js"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#fingerprintjs2",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"fingerprintjs3",aliases:["ubo-fingerprint3.js","fingerprint3.js"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#fingerprintjs3",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"gemius",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#gemius",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"google-analytics-ga",aliases:["ubo-google-analytics_ga.js","google-analytics_ga.js"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#google-analytics-ga",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"google-analytics",aliases:["ubo-google-analytics_analytics.js","google-analytics_analytics.js","googletagmanager-gtm","ubo-googletagmanager_gtm.js","googletagmanager_gtm.js"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#google-analytics",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"google-ima3",aliases:["ubo-google-ima.js","google-ima.js"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#google-ima3",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"googlesyndication-adsbygoogle",aliases:["ubo-googlesyndication_adsbygoogle.js","googlesyndication_adsbygoogle.js"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#googlesyndication-adsbygoogle",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"googletagservices-gpt",aliases:["ubo-googletagservices_gpt.js","googletagservices_gpt.js"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#googletagservices-gpt",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"hide-in-shadow-dom",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#hide-in-shadow-dom",versionAdded:"1.3.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"selector",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"baseSelector",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"href-sanitizer",aliases:["href-sanitizer.js","ubo-href-sanitizer.js","ubo-href-sanitizer"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#href-sanitizer",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"selector",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"attribute",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"href-sanitizer.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#href-sanitizerjs-",versionAdded:"1.47.5b4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"selector",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"attribute",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"inject-css-in-shadow-dom",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#inject-css-in-shadow-dom",versionAdded:"1.8.2",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"cssRule",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"hostSelector",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"json-prune-fetch-response",aliases:["json-prune-fetch-response.js","ubo-json-prune-fetch-response.js","ubo-json-prune-fetch-response"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#json-prune-fetch-response",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"obligatoryProps",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"json-prune-fetch-response.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#json-prune-fetch-responsejs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"obligatoryProps",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"json-prune-xhr-response",aliases:["json-prune-xhr-response.js","ubo-json-prune-xhr-response.js","ubo-json-prune-xhr-response"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#json-prune-xhr-response",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"obligatoryProps",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"json-prune-xhr-response.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#json-prune-xhr-responsejs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"obligatoryProps",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"json-prune",aliases:["json-prune.js","ubo-json-prune.js","ubo-json-prune","abp-json-prune"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#json-prune",versionAdded:"1.1.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"obligatoryProps",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"json-prune.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#json-prunejs-",versionAdded:"1.23.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"obligatoryProps",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"json-prune",aliases:null,description:null,docs:"https://help.adblockplus.org/hc/en-us/articles/1500002338501-Snippet-filters-tutorial#snippets-ref",versionAdded:"3.9.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"rawPrunePaths",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"rawNeedlePaths",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"log-addEventListener",aliases:["addEventListener-logger.js","ubo-addEventListener-logger.js","aell.js","ubo-aell.js","ubo-addEventListener-logger","ubo-aell"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#log-addEventListener",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"log-eval",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#log-eval",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"log-on-stack-trace",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#log-on-stack-trace",versionAdded:"1.5.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"log",aliases:["abp-log"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#log",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"arguments",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"m3u-prune",aliases:["m3u-prune.js","ubo-m3u-prune.js","ubo-m3u-prune"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#m3u-prune",versionAdded:"1.9.1",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"urlToMatch",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"m3u-prune.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#m3u-prunejs-",versionAdded:"1.44.5b6",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"urlToMatch",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"matomo",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#matomo",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"metrika-yandex-tag",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#metrika-yandex-tag",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"metrika-yandex-watch",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#metrika-yandex-watch",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"naver-wcslog",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#naver-wcslog",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"no-protected-audience",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#no-protected-audience",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"no-topics",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#no-topics",versionAdded:"1.6.18",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"noeval",aliases:["noeval.js","silent-noeval.js","ubo-noeval.js","ubo-silent-noeval.js","ubo-noeval","ubo-silent-noeval"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#noeval",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"nowebrtc",aliases:["nowebrtc.js","ubo-nowebrtc.js","ubo-nowebrtc"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#nowebrtc",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null},{name:"nowebrtc.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#nowebrtcjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"pardot-1.0",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#pardot-1.0",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"prebid",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prebid",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"prevent-addEventListener",aliases:["addEventListener-defuser.js","ubo-addEventListener-defuser.js","aeld.js","ubo-aeld.js","ubo-addEventListener-defuser","ubo-aeld","abp-prevent-listener"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-addEventListener",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"typeSearch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"listenerSearch",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"addEventListener-defuser.js",aliases:["aeld.js","prevent-addEventListener.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#addEventListener-defuserjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"typeSearch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"listenerSearch",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"prevent-listener",aliases:null,description:null,docs:"https://help.adblockplus.org/hc/en-us/articles/1500002338501-Snippet-filters-tutorial#snippets-ref",versionAdded:"3.11.2",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"type",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"handler",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"selector",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"prevent-adfly",aliases:["adfly-defuser.js","ubo-adfly-defuser.js","ubo-adfly-defuser"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-adfly",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"prevent-bab",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-bab",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"prevent-element-src-loading",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-element-src-loading",versionAdded:"1.6.2",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"tagName",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"match",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"prevent-eval-if",aliases:["noeval-if.js","ubo-noeval-if.js","ubo-noeval-if"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-eval-if",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"search",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"noeval-if.js",aliases:["prevent-eval-if.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#noeval-ifjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"search",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prevent-fab-3.2.0",aliases:["nofab.js","ubo-nofab.js","fuckadblock.js-3.2.0","ubo-fuckadblock.js-3.2.0","ubo-nofab"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-fab-3.2.0",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"prevent-fetch",aliases:["prevent-fetch.js","no-fetch-if.js","ubo-no-fetch-if.js","ubo-no-fetch-if"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-fetch",versionAdded:"1.3.18",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"responseBody",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"responseType",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"prevent-fetch.js",aliases:["no-fetch-if.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#prevent-fetchjs-",versionAdded:"1.31.3b9",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"responseBody",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"responseType",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prevent-popads-net",aliases:["popads.net.js","ubo-popads.net.js","ubo-popads.net"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-popads-net",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"prevent-refresh",aliases:["prevent-refresh.js","refresh-defuser.js","refresh-defuser","ubo-prevent-refresh.js","ubo-prevent-refresh","ubo-refresh-defuser.js","ubo-refresh-defuser"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-refresh",versionAdded:"1.6.2",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"delay",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"prevent-refresh.js",aliases:["refresh-defuser.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#prevent-refreshjs-",versionAdded:"1.38.7b3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"delay",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prevent-requestAnimationFrame",aliases:["no-requestAnimationFrame-if.js","ubo-no-requestAnimationFrame-if.js","norafif.js","ubo-norafif.js","ubo-no-requestAnimationFrame-if","ubo-norafif"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-requestAnimationFrame",versionAdded:"1.1.15",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"search",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"no-requestAnimationFrame-if.js",aliases:["norafif.js","prevent-requestAnimationFrame.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#no-requestAnimationFrame-ifjs-",versionAdded:"1.27.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"search",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prevent-setInterval",aliases:["no-setInterval-if.js","ubo-no-setInterval-if.js","setInterval-defuser.js","ubo-setInterval-defuser.js","nosiif.js","ubo-nosiif.js","sid.js","ubo-sid.js","ubo-no-setInterval-if","ubo-setInterval-defuser","ubo-nosiif","ubo-sid"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-setInterval",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"matchCallback",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"matchDelay",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"no-setInterval-if.js",aliases:["nosiif.js","prevent-setInterval.js","setInterval-defuser.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#no-setInterval-ifjs-",versionAdded:"1.23.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"matchCallback",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"matchDelay",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prevent-setTimeout",aliases:["no-setTimeout-if.js","ubo-no-setTimeout-if.js","nostif.js","ubo-nostif.js","ubo-no-setTimeout-if","ubo-nostif","setTimeout-defuser.js","ubo-setTimeout-defuser.js","ubo-setTimeout-defuser","std.js","ubo-std.js","ubo-std"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-setTimeout",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"matchCallback",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"matchDelay",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"no-setTimeout-if.js",aliases:["nostif.js","prevent-setTimeout.js","setTimeout-defuser.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#no-setTimeout-ifjs-",versionAdded:"1.23.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"matchCallback",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"matchDelay",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prevent-window-open",aliases:["window.open-defuser.js","ubo-window.open-defuser.js","ubo-window.open-defuser","nowoif.js","ubo-nowoif.js","ubo-nowoif","no-window-open-if.js","ubo-no-window-open-if.js","ubo-no-window-open-if"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-window-open",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"match",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"delay",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"replacement",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"no-window-open-if.js",aliases:["nowoif.js","prevent-window-open.js","window.open-defuser.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#no-window-open-ifjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"match",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"delay",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"replacement",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"prevent-xhr",aliases:["no-xhr-if.js","ubo-no-xhr-if.js","ubo-no-xhr-if"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-xhr",versionAdded:"1.5.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"randomize",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"no-xhr-if.js",aliases:["prevent-xhr.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#no-xhr-ifjs-",versionAdded:"1.38.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"randomize",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"remove-attr",aliases:["remove-attr.js","ubo-remove-attr.js","ra.js","ubo-ra.js","ubo-remove-attr","ubo-ra"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#remove-attr",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"attrs",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"selector",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"applying",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"remove-attr.js",aliases:["ra.js","ra","remove-attr"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#remove-attrjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"attrs",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"selector",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"applying",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"remove-class",aliases:["remove-class.js","ubo-remove-class.js","rc.js","ubo-rc.js","ubo-remove-class","ubo-rc"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#remove-class",versionAdded:"1.1.1",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"classes",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"selector",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"applying",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"remove-class.js",aliases:["rc.js","rc","remove-class"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#remove-classjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"classes",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"selector",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"applying",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"remove-cookie",aliases:["cookie-remover.js","ubo-cookie-remover.js","ubo-cookie-remover","remove-cookie.js","ubo-remove-cookie.js","ubo-remove-cookie","abp-cookie-remover"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#remove-cookie",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"match",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"remove-cookie.js",aliases:["cookie-remover.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#remove-cookiejs-",versionAdded:"1.28.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"match",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"cookie-remover",aliases:null,description:null,docs:"https://help.adblockplus.org/hc/en-us/articles/1500002338501-Snippet-filters-tutorial#snippets-ref",versionAdded:"3.11.2",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"cookie",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"autoRemoveCookie",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"remove-in-shadow-dom",aliases:null,description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#remove-in-shadow-dom",versionAdded:"1.3.14",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"selector",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"baseSelector",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"remove-node-text",aliases:["remove-node-text.js","ubo-remove-node-text.js","rmnt.js","ubo-rmnt.js","ubo-remove-node-text","ubo-rmnt"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#remove-node-text",versionAdded:"1.9.37",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"nodeName",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"textMatch",required:!0,description:null,pattern:null,default:null,debug:!1}]},{name:"remove-node-text.js",aliases:["rmnt.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#remove-node-textjs-",versionAdded:"1.49.3rc15",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"nodeName",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"textMatch",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"scorecardresearch-beacon",aliases:["ubo-scorecardresearch_beacon.js","scorecardresearch_beacon.js"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#scorecardresearch-beacon",versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"set-attr",aliases:["set-attr.js","ubo-set-attr.js","ubo-set-attr"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-attr",versionAdded:"1.5.0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"selector",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"attr",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"set-attr.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#set-attrjs-",versionAdded:"1.50.1b16",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"selector",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"attr",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"set-constant",aliases:["set-constant.js","ubo-set-constant.js","set.js","ubo-set.js","ubo-set-constant","ubo-set"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-constant",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"valueWrapper",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"setProxyTrap",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"set-constant.js",aliases:["set.js"],description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#set-constantjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"chain",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"rawValue",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"runAt",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"override-property-read",aliases:null,description:null,docs:"https://help.adblockplus.org/hc/en-us/articles/1500002338501-Snippet-filters-tutorial#snippets-ref",versionAdded:"3.9.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"setConfigurable",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1,16384:2,32768:2,65536:2,131072:2}},{shared:[{name:"set-cookie-reload",aliases:["set-cookie-reload.js","ubo-set-cookie-reload.js","ubo-set-cookie-reload"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-cookie-reload",versionAdded:"1.3.14",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"name",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"path",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"domain",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"set-cookie-reload.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#set-cookie-reloadjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"name",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"path",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"domain",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"set-cookie",aliases:["set-cookie.js","ubo-set-cookie.js","ubo-set-cookie"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-cookie",versionAdded:"1.2.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"name",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"path",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"set-cookie.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#set-cookiejs-",versionAdded:"1.50.1b0",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"name",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"path",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"set-local-storage-item",aliases:["set-local-storage-item.js","ubo-set-local-storage-item.js","ubo-set-local-storage-item"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-local-storage-item",versionAdded:"1.4.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"key",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1}]},{name:"set-local-storage-item.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#set-local-storage-itemjs-",versionAdded:"1.50.1b4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"key",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"set-popads-dummy",aliases:["popads-dummy.js","ubo-popads-dummy.js","ubo-popads-dummy"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-popads-dummy",versionAdded:"1.0.4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"set-session-storage-item",aliases:["set-session-storage-item.js","ubo-set-session-storage-item.js","ubo-set-session-storage-item"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-session-storage-item",versionAdded:"1.4.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"key",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1}]},{name:"set-session-storage-item.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#set-session-storage-itemjs-",versionAdded:"1.50.1b4",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"key",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"spoof-css",aliases:["spoof-css.js","ubo-spoof-css.js","ubo-spoof-css"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#spoof-css",versionAdded:"1.10.1",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"selectors",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"cssPropertyName",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"cssPropertyValue",required:!0,description:null,pattern:null,default:null,debug:!1}]},{name:"spoof-css.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#spoof-cssjs-",versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"selectors",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"cssPropertyName",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"cssPropertyValue",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"arguments",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}},{shared:[{name:"trusted-click-element",aliases:null,description:null,docs:null,versionAdded:"1.7.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"selectors",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"extraMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"delay",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-create-element",aliases:null,description:null,docs:null,versionAdded:"1.10.1",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"parentSelector",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"tagName",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"attributePairs",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"textContent",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"cleanupDelayMs",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-dispatch-event",aliases:null,description:null,docs:null,versionAdded:null,versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"event",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"target",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-prune-inbound-object",aliases:null,description:null,docs:null,versionAdded:"1.9.91",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"functionName",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"propsToRemove",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"obligatoryProps",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-replace-fetch-response",aliases:null,description:null,docs:null,versionAdded:"1.7.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"pattern",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"replacement",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-replace-node-text",aliases:null,description:null,docs:null,versionAdded:"1.9.37",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"nodeName",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"textMatch",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"pattern",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"replacement",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-replace-xhr-response",aliases:null,description:null,docs:null,versionAdded:"1.7.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"pattern",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"replacement",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-set-attr",aliases:null,description:null,docs:null,versionAdded:"1.10.1",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"selector",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"attr",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-set-constant",aliases:null,description:null,docs:null,versionAdded:"1.8.2",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"property",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-set-cookie-reload",aliases:null,description:null,docs:null,versionAdded:"1.7.10",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"name",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"offsetExpiresSec",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"path",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"domain",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-set-cookie",aliases:null,description:null,docs:null,versionAdded:"1.7.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"name",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"offsetExpiresSec",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"path",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"domain",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-set-local-storage-item",aliases:null,description:null,docs:null,versionAdded:"1.7.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"key",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"value",required:!0,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"trusted-suppress-native-method",aliases:null,description:null,docs:null,versionAdded:"1.10.25",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"methodPath",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"signatureStr",required:!0,description:null,pattern:null,default:null,debug:!1},{name:"how",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"stack",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0}},{shared:[{name:"xml-prune",aliases:["xml-prune.js","ubo-xml-prune.js","ubo-xml-prune"],description:null,docs:"https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#xml-prune",versionAdded:"1.7.3",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"optionalProp",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"urlToMatch",required:!1,description:null,pattern:null,default:null,debug:!1}]},{name:"xml-prune.js",aliases:null,description:null,docs:"https://github.com/gorhill/uBlock/wiki/Resources-Library#xml-prunejs-",versionAdded:"1.49.3rc6",versionRemoved:null,deprecated:!1,deprecationMessage:null,removed:!1,removalMessage:null,parameters:[{name:"propsToMatch",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"optionalProp",required:!1,description:null,pattern:null,default:null,debug:!1},{name:"urlToMatch",required:!1,description:null,pattern:null,default:null,debug:!1}]}],map:{1:0,2:0,4:0,8:0,16:0,32:0,64:0,1024:1,2048:1,4096:1,8192:1}}],map:{"abort-current-inline-script":0,"abort-current-script.js":0,"ubo-abort-current-script.js":0,"acs.js":0,"ubo-acs.js":0,"ubo-abort-current-script":0,"ubo-acs":0,"abort-current-inline-script.js":0,"ubo-abort-current-inline-script.js":0,"acis.js":0,"ubo-acis.js":0,"ubo-abort-current-inline-script":0,"ubo-acis":0,"abp-abort-current-inline-script":0,"abort-on-property-read":1,"abort-on-property-read.js":1,"ubo-abort-on-property-read.js":1,"aopr.js":1,"ubo-aopr.js":1,"ubo-abort-on-property-read":1,"ubo-aopr":1,"abp-abort-on-property-read":1,"abort-on-property-write":2,"abort-on-property-write.js":2,"ubo-abort-on-property-write.js":2,"aopw.js":2,"ubo-aopw.js":2,"ubo-abort-on-property-write":2,"ubo-aopw":2,"abp-abort-on-property-write":2,"abort-on-stack-trace":3,"abort-on-stack-trace.js":3,"ubo-abort-on-stack-trace.js":3,"aost.js":3,"ubo-aost.js":3,"ubo-abort-on-stack-trace":3,"ubo-aost":3,"abp-abort-on-stack-trace":3,"adjust-setInterval":4,"nano-setInterval-booster.js":4,"ubo-nano-setInterval-booster.js":4,"nano-sib.js":4,"ubo-nano-sib.js":4,"adjust-setInterval.js":4,"ubo-adjust-setInterval.js":4,"ubo-nano-setInterval-booster":4,"ubo-nano-sib":4,"ubo-adjust-setInterval":4,"adjust-setTimeout":5,"adjust-setTimeout.js":5,"ubo-adjust-setTimeout.js":5,"nano-setTimeout-booster.js":5,"ubo-nano-setTimeout-booster.js":5,"nano-stb.js":5,"ubo-nano-stb.js":5,"ubo-adjust-setTimeout":5,"ubo-nano-setTimeout-booster":5,"ubo-nano-stb":5,"amazon-apstag":6,"ubo-amazon_apstag.js":6,"amazon_apstag.js":6,"call-nothrow":7,"call-nothrow.js":7,"ubo-call-nothrow.js":7,"ubo-call-nothrow":7,"close-window":8,"window-close-if.js":8,"ubo-window-close-if.js":8,"ubo-window-close-if":8,"close-window.js":8,"ubo-close-window.js":8,"ubo-close-window":8,"debug-current-inline-script":9,"debug-on-property-read":10,"debug-on-property-write":11,"didomi-loader":12,"dir-string":13,"disable-newtab-links":14,"disable-newtab-links.js":14,"ubo-disable-newtab-links.js":14,"ubo-disable-newtab-links":14,"evaldata-prune":15,"evaldata-prune.js":15,"ubo-evaldata-prune.js":15,"ubo-evaldata-prune":15,fingerprintjs2:16,"ubo-fingerprint2.js":16,"fingerprint2.js":16,fingerprintjs3:17,"ubo-fingerprint3.js":17,"fingerprint3.js":17,gemius:18,"google-analytics-ga":19,"ubo-google-analytics_ga.js":19,"google-analytics_ga.js":19,"google-analytics":20,"ubo-google-analytics_analytics.js":20,"google-analytics_analytics.js":20,"googletagmanager-gtm":20,"ubo-googletagmanager_gtm.js":20,"googletagmanager_gtm.js":20,"google-ima3":21,"ubo-google-ima.js":21,"google-ima.js":21,"googlesyndication-adsbygoogle":22,"ubo-googlesyndication_adsbygoogle.js":22,"googlesyndication_adsbygoogle.js":22,"googletagservices-gpt":23,"ubo-googletagservices_gpt.js":23,"googletagservices_gpt.js":23,"hide-in-shadow-dom":24,"href-sanitizer":25,"href-sanitizer.js":25,"ubo-href-sanitizer.js":25,"ubo-href-sanitizer":25,"inject-css-in-shadow-dom":26,"json-prune-fetch-response":27,"json-prune-fetch-response.js":27,"ubo-json-prune-fetch-response.js":27,"ubo-json-prune-fetch-response":27,"json-prune-xhr-response":28,"json-prune-xhr-response.js":28,"ubo-json-prune-xhr-response.js":28,"ubo-json-prune-xhr-response":28,"json-prune":29,"json-prune.js":29,"ubo-json-prune.js":29,"ubo-json-prune":29,"abp-json-prune":29,"log-addEventListener":30,"addEventListener-logger.js":30,"ubo-addEventListener-logger.js":30,"aell.js":30,"ubo-aell.js":30,"ubo-addEventListener-logger":30,"ubo-aell":30,"log-eval":31,"log-on-stack-trace":32,log:33,"abp-log":33,"m3u-prune":34,"m3u-prune.js":34,"ubo-m3u-prune.js":34,"ubo-m3u-prune":34,matomo:35,"metrika-yandex-tag":36,"metrika-yandex-watch":37,"naver-wcslog":38,"no-protected-audience":39,"no-topics":40,noeval:41,"noeval.js":41,"silent-noeval.js":41,"ubo-noeval.js":41,"ubo-silent-noeval.js":41,"ubo-noeval":41,"ubo-silent-noeval":41,nowebrtc:42,"nowebrtc.js":42,"ubo-nowebrtc.js":42,"ubo-nowebrtc":42,"pardot-1.0":43,prebid:44,"prevent-addEventListener":45,"addEventListener-defuser.js":45,"ubo-addEventListener-defuser.js":45,"aeld.js":45,"ubo-aeld.js":45,"ubo-addEventListener-defuser":45,"ubo-aeld":45,"abp-prevent-listener":45,"prevent-addEventListener.js":45,"prevent-listener":45,"prevent-adfly":46,"adfly-defuser.js":46,"ubo-adfly-defuser.js":46,"ubo-adfly-defuser":46,"prevent-bab":47,"prevent-element-src-loading":48,"prevent-eval-if":49,"noeval-if.js":49,"ubo-noeval-if.js":49,"ubo-noeval-if":49,"prevent-eval-if.js":49,"prevent-fab-3.2.0":50,"nofab.js":50,"ubo-nofab.js":50,"fuckadblock.js-3.2.0":50,"ubo-fuckadblock.js-3.2.0":50,"ubo-nofab":50,"prevent-fetch":51,"prevent-fetch.js":51,"no-fetch-if.js":51,"ubo-no-fetch-if.js":51,"ubo-no-fetch-if":51,"prevent-popads-net":52,"popads.net.js":52,"ubo-popads.net.js":52,"ubo-popads.net":52,"prevent-refresh":53,"prevent-refresh.js":53,"refresh-defuser.js":53,"refresh-defuser":53,"ubo-prevent-refresh.js":53,"ubo-prevent-refresh":53,"ubo-refresh-defuser.js":53,"ubo-refresh-defuser":53,"prevent-requestAnimationFrame":54,"no-requestAnimationFrame-if.js":54,"ubo-no-requestAnimationFrame-if.js":54,"norafif.js":54,"ubo-norafif.js":54,"ubo-no-requestAnimationFrame-if":54,"ubo-norafif":54,"prevent-requestAnimationFrame.js":54,"prevent-setInterval":55,"no-setInterval-if.js":55,"ubo-no-setInterval-if.js":55,"setInterval-defuser.js":55,"ubo-setInterval-defuser.js":55,"nosiif.js":55,"ubo-nosiif.js":55,"sid.js":55,"ubo-sid.js":55,"ubo-no-setInterval-if":55,"ubo-setInterval-defuser":55,"ubo-nosiif":55,"ubo-sid":55,"prevent-setInterval.js":55,"prevent-setTimeout":56,"no-setTimeout-if.js":56,"ubo-no-setTimeout-if.js":56,"nostif.js":56,"ubo-nostif.js":56,"ubo-no-setTimeout-if":56,"ubo-nostif":56,"setTimeout-defuser.js":56,"ubo-setTimeout-defuser.js":56,"ubo-setTimeout-defuser":56,"std.js":56,"ubo-std.js":56,"ubo-std":56,"prevent-setTimeout.js":56,"prevent-window-open":57,"window.open-defuser.js":57,"ubo-window.open-defuser.js":57,"ubo-window.open-defuser":57,"nowoif.js":57,"ubo-nowoif.js":57,"ubo-nowoif":57,"no-window-open-if.js":57,"ubo-no-window-open-if.js":57,"ubo-no-window-open-if":57,"prevent-window-open.js":57,"prevent-xhr":58,"no-xhr-if.js":58,"ubo-no-xhr-if.js":58,"ubo-no-xhr-if":58,"prevent-xhr.js":58,"remove-attr":59,"remove-attr.js":59,"ubo-remove-attr.js":59,"ra.js":59,"ubo-ra.js":59,"ubo-remove-attr":59,"ubo-ra":59,ra:59,"remove-class":60,"remove-class.js":60,"ubo-remove-class.js":60,"rc.js":60,"ubo-rc.js":60,"ubo-remove-class":60,"ubo-rc":60,rc:60,"remove-cookie":61,"cookie-remover.js":61,"ubo-cookie-remover.js":61,"ubo-cookie-remover":61,"remove-cookie.js":61,"ubo-remove-cookie.js":61,"ubo-remove-cookie":61,"abp-cookie-remover":61,"cookie-remover":61,"remove-in-shadow-dom":62,"remove-node-text":63,"remove-node-text.js":63,"ubo-remove-node-text.js":63,"rmnt.js":63,"ubo-rmnt.js":63,"ubo-remove-node-text":63,"ubo-rmnt":63,"scorecardresearch-beacon":64,"ubo-scorecardresearch_beacon.js":64,"scorecardresearch_beacon.js":64,"set-attr":65,"set-attr.js":65,"ubo-set-attr.js":65,"ubo-set-attr":65,"set-constant":66,"set-constant.js":66,"ubo-set-constant.js":66,"set.js":66,"ubo-set.js":66,"ubo-set-constant":66,"ubo-set":66,"override-property-read":66,"set-cookie-reload":67,"set-cookie-reload.js":67,"ubo-set-cookie-reload.js":67,"ubo-set-cookie-reload":67,"set-cookie":68,"set-cookie.js":68,"ubo-set-cookie.js":68,"ubo-set-cookie":68,"set-local-storage-item":69,"set-local-storage-item.js":69,"ubo-set-local-storage-item.js":69,"ubo-set-local-storage-item":69,"set-popads-dummy":70,"popads-dummy.js":70,"ubo-popads-dummy.js":70,"ubo-popads-dummy":70,"set-session-storage-item":71,"set-session-storage-item.js":71,"ubo-set-session-storage-item.js":71,"ubo-set-session-storage-item":71,"spoof-css":72,"spoof-css.js":72,"ubo-spoof-css.js":72,"ubo-spoof-css":72,"trusted-click-element":73,"trusted-create-element":74,"trusted-dispatch-event":75,"trusted-prune-inbound-object":76,"trusted-replace-fetch-response":77,"trusted-replace-node-text":78,"trusted-replace-xhr-response":79,"trusted-set-attr":80,"trusted-set-constant":81,"trusted-set-cookie-reload":82,"trusted-set-cookie":83,"trusted-set-local-storage-item":84,"trusted-suppress-native-method":85,"xml-prune":86,"xml-prune.js":86,"ubo-xml-prune.js":86,"ubo-xml-prune":86}},fi=e=>{const a=Reflect.ownKeys(e);for(const t of a){const a=e[t];(a&&"object"==typeof a||"function"==typeof a)&&fi(a)}return Object.freeze(e)},gi=e=>e.startsWith(g)&&e.split(r).every((e=>e===g))?g:e;fi(ci);const hi=new class extends li{constructor(e){super(e,gi)}}(ci),bi=new class{constructor(){var a=this;_defineProperty(this,"exists",(e=>hi.existsAny(e.name.value))),_defineProperty(this,"validate",(function(t,n){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=ri(n);if(r.name.value.startsWith(g)){if(!r.name.value.split("").every((e=>e===g)))return Zs(`Invalid noop modifier: '${r.name.value}'`);r.name.value=g}return a.exists(r)?t===e.AdblockSyntax.Common?{valid:!0}:((a,t,n)=>{if(a===e.AdblockSyntax.Common)throw new Error(`Syntax should be specific, '${e.AdblockSyntax.Common}' is not supported`);const s=t.name.value;if(!Ns[a])throw new Error(`Unknown syntax: ${a}`);const r=hi.getFirst(s,(a=>{switch(a){case e.AdblockSyntax.Adg:return e.GenericPlatform.AdgAny;case e.AdblockSyntax.Ubo:return e.GenericPlatform.UboAny;case e.AdblockSyntax.Abp:return e.GenericPlatform.AbpAny;default:throw new Error(`Unknown syntax: ${a}`)}})(a));if(!r)return Zs(`The adblocker does not support the modifier: '${s}'`);if(r.removed)return Zs(`Removed and no longer supported modifier: '${s}'`);if(r.deprecated){if(!r.deprecationMessage)throw new Error(`Property 'deprecation_message' is required for the 'deprecated' modifier: '${s}'`);return{valid:!0,warn:r.deprecationMessage.replace(w,i)}}if(r.blockOnly&&n)return Zs(`Only blocking rules may contain the modifier: '${s}'`);if(r.exceptionOnly&&!n)return Zs(`Only exception rules may contain the modifier: '${s}'`);if(!r.negatable&&t.exception)return Zs(`Non-negatable modifier: '${s}'`);if(r.assignable){if(!t.value)return r.valueOptional?{valid:!0}:Vs(s);if(!r.valueFormat)throw new Error(`Property 'value_format' should be specified for the assignable modifier: '${s}'`);return((e,a)=>{var t,n;if((e=>Object.keys(Vr).includes(e))(a))return(0,Vr[a])(e);const s=e.name.value;if(null===(t=e.value)||void 0===t||!t.value)return Vs(s);let r;try{r=jr(a)}catch(e){throw new Error(`Invalid regular expression in 'value_format' for the modifier: '${s}'`)}return r.test(null===(n=e.value)||void 0===n?void 0:n.value)?{valid:!0}:Zs(`${Ws}: '${s}'`)})(t,r.valueFormat)}return null!=t&&t.value?Zs(`Value is not allowed for the modifier: '${s}'`):{valid:!0}})(t,r,s):Zs(`Non-existent modifier: '${r.name.value}'`)}))}};class vi{static convertToAdg(e){throw new Oe}static convertToAbp(e){throw new Oe}static convertToUbo(e){throw new Oe}}class yi extends vi{static convertToAdg(e){throw new Oe}static convertToAbp(e){throw new Oe}static convertToUbo(e){throw new Oe}}function ki(e,a){return{result:e,isConverted:a}}function wi(e,a){return ki(e,a)}class xi extends yi{static convertToAdg(a){if(a.type===e.CommentRuleType.CommentRule){if(a.type===e.CommentRuleType.CommentRule&&a.marker.value===e.CommentMarker.Hashmark){const t=ri(a);return t.marker.value=e.CommentMarker.Regular,t.text.value=`${i}${e.CommentMarker.Hashmark}${t.text.value}`,wi([t],!0)}return wi([a],!1)}return wi([a],!1)}}const Ai=p,Ei=u+c,Ci=f+f,Di="^(http|https|ws|wss)://([a-z0-9-_.]+\\.)?",ji="([^ a-zA-Z0-9.%_-]|$)",Ri=c,Si=Ei,_i="^((?!",Mi=").)*$",Ti=new Set([c,"^","}",C,j,p,u,b,"{",E,D,f,"+","?","/"]);class Fi{static isRegexPattern(e){const a=e.trim();return!!(a.length>2&&a.startsWith(M))&&V.findNextUnescapedCharacter(a,M,1)===a.length-1}static negateRegexPattern(e){let a=e.trim(),t=!1;return Fi.isRegexPattern(a)&&(a=a.substring(1,a.length-1),t=!0),a.startsWith(_i)&&a.endsWith(Mi)||(a.startsWith("^")&&(a=a.substring(1)),a.endsWith(Ai)&&(a=a.substring(0,a.length-1)),a=`${_i}${a}${Mi}`),t&&(a=`${M}${a}${M}`),a}static patternToRegexp(e){const a=e.trim();if(a===Ci||a===f||a===Ri||a===r)return Ei;if(Fi.isRegexPattern(e))return e.substring(1,e.length-1);let t=r,n=0,s=a.length;a[0]===f&&(a[1]===f?(t+=Di,n=2):(t+="^",n=1));let i=!1;for(a.endsWith(f)&&(i=!0,s-=1);n<s;n+=1)a[n]===Ri?t+=Si:"^"===a[n]?t+=ji:Ti.has(a[n])?t+=b+a[n]:t+=a[n];return i&&(t+=Ai),t}}function $i(e){return{type:e.type,children:e.children.map((e=>Be(e)?null:{...e}))}}function Oi(e){return{type:e.type,separator:e.separator,children:e.children.map((e=>({...e})))}}function Ii(e){return{type:e.type,children:e.children.map((e=>{const a={type:e.type,exception:e.exception,name:{...e.name}};return e.value&&(a.value={...e.value}),a}))}}const Ni=262144,Ui=-1;var Bi,zi;!function(e){e.Contains="contains",e.HasText="has-text",e.MinTextLength="min-text-length"}(Bi||(Bi={})),function(e){e.MaxLength="max-length",e.MinLength="min-length",e.TagContent="tag-content",e.Wildcard="wildcard"}(zi||(zi={}));const Pi=new Set([Bi.Contains,Bi.HasText,Bi.MinTextLength]),Li={ABP_NOT_SUPPORTED:"Invalid rule, ABP does not support HTML filtering rules",TAG_SHOULD_BE_FIRST_CHILD:"Unexpected token '%s' with value '%s', tag selector should be the first child",EXPECTED_BUT_GOT_WITH_VALUE:"Expected '%s', but got '%s' with value '%s'",INVALID_ATTRIBUTE_NAME:"Attribute name should be an identifier, but got '%s' with value '%s'",INVALID_ATTRIBUTE_VALUE:`Expected '${nn(an.Ident)}' or '${nn(an.String)}' as attribute value, but got '%s' with value '%s`,INVALID_FLAG:"Unsupported attribute selector flag '%s'",INVALID_OPERATOR_FOR_ATTR:"Unsupported operator '%s' for '%s' attribute",VALUE_FOR_ATTR_SHOULD_BE_INT:"Value for '%s' attribute should be an integer, but got '%s'",INVALID_PSEUDO_CLASS:"Unsupported pseudo class '%s'",VALUE_FOR_PSEUDO_CLASS_SHOULD_BE_INT:"Value for '%s' pseudo class should be an integer, but got '%s'",REGEXP_NOT_SUPPORTED:"Cannot convert RegExp parameter '%s' from '%s' pseudo class, because converting RegExp patterns are not supported yet",ATTRIBUTE_SELECTOR_REQUIRES_VALUE:"Attribute selector '%s' requires a value",INVALID_ATTRIBUTE_SELECTOR_OPERATOR:"Unsupported attribute selector operator '%s'",VALUE_SHOULD_BE_SPECIFIED:"Value should be specified if operator is specified",OPERATOR_SHOULD_BE_SPECIFIED:"Operator should be specified if value is specified",UNEXPECTED_TOKEN_WITH_VALUE:"Unexpected token '%s' with value '%s'",FLAGS_NOT_SUPPORTED:"Flags are not supported for attribute selectors"};function qi(e){let a=!1;const t=[];for(let n=0;n<e.length;n+=1)e[n]===Z&&e[n-1]!==b?(a=!a,t.push(e[n])):a&&e[n]===b&&e[n+1]===Z?t.push(Z):t.push(e[n]);return t.join(r)}function Hi(e,a,t,n){const s=[];if(s.push(D),s.push(e),void 0!==a){if(void 0===t)throw new Error(Li.VALUE_SHOULD_BE_SPECIFIED);s.push(a)}if(void 0!==t){if(!a)throw new Error(Li.OPERATOR_SHOULD_BE_SPECIFIED);s.push(Z),s.push(t),s.push(Z)}return void 0!==n&&(s.push(i),s.push(n)),s.push(j),s.join(r)}class Wi extends yi{static convertToAdg(a){if(a.syntax===e.AdblockSyntax.Adg)return wi([a],!1);if(a.syntax===e.AdblockSyntax.Abp)throw new Os(Li.ABP_NOT_SUPPORTED);const t=function(e){let a=!1;const t=[];for(let n=0;n<e.length;n+=1)a||e[n]!==Z?a&&e[n]===Z&&e[n+1]===Z?(t.push(b),t.push(Z),n+=1):a&&e[n]===Z&&e[n+1]!==Z?(t.push(Z),a=!1):t.push(e[n]):(a=!0,t.push(e[n]));return t.join(r)}(a.body.value),n=new _n(t),s=[],i=[];let o=Ui,d=Ui;for(n.skipWhitespace(),n.expect(an.Delim,{value:"^"}),n.advance();!n.isEof();){const e=n.getOrFail();if(e.type===an.Ident){if(0!==s.length&&void 0!==n.lookbehindForNonWs())throw new Os(Ct.sprintf(Li.TAG_SHOULD_BE_FIRST_CHILD,nn(e.type),t.slice(e.start,e.end)));s.push(t.slice(e.start,e.end)),n.advance()}else if(e.type===an.OpenSquareBracket){const{start:a}=e;let r;if(n.advance(),n.skipWhitespace(),r=n.getOrFail(),r.type!==an.Ident)throw new Os(Ct.sprintf(Li.INVALID_ATTRIBUTE_NAME,nn(r.type),t.slice(r.start,r.end)));const i=t.slice(r.start,r.end);if(n.advance(),n.skipWhitespace(),r=n.getOrFail(),r.type===an.CloseSquareBracket){const{end:e}=r;if(n.advance(),i===zi.MinLength||i===zi.MaxLength)throw new Os(Ct.sprintf(Li.ATTRIBUTE_SELECTOR_REQUIRES_VALUE,i));s.push(t.slice(a,e));continue}if(n.expect(an.Delim,{value:m}),n.advance(),n.skipWhitespace(),r=n.getOrFail(),r.type!==an.Ident&&r.type!==an.String)throw new Os(Ct.sprintf(Li.INVALID_ATTRIBUTE_VALUE,nn(r.type),t.slice(r.start,r.end)));const u=t.slice(r.start,r.end);if(n.advance(),n.skipWhitespace(),r=n.getOrFail(),r.type===an.Ident)throw new Os(Ct.sprintf(Li.FLAGS_NOT_SUPPORTED));n.expect(an.CloseSquareBracket);const{end:l}=n.getOrFail();if(n.advance(),i===zi.MinLength){const e=parseInt(u,10);if(Number.isNaN(e))throw new Os(Ct.sprintf(Li.VALUE_FOR_ATTR_SHOULD_BE_INT,i,u));o=e}else if(i===zi.MaxLength){const e=parseInt(u,10);if(Number.isNaN(e))throw new Os(Ct.sprintf(Li.VALUE_FOR_ATTR_SHOULD_BE_INT,i,u));d=e}else s.push(t.slice(a,l))}else if(e.type===an.Colon){let e;n.advance(),n.expect(an.Function),e=n.getOrFail();const a=t.slice(e.start,e.end-1);if(!Pi.has(a))throw new Os(Ct.sprintf(Li.INVALID_PSEUDO_CLASS,a));const r=e.end;n.skipUntilBalanced(),e=n.getOrFail();const i=e.end,d=t.slice(r,i-1);if(a===Bi.MinTextLength){const e=parseInt(d,10);if(Number.isNaN(e))throw new Os(Ct.sprintf(Li.VALUE_FOR_PSEUDO_CLASS_SHOULD_BE_INT,a,d));o=e}else if(a===Bi.Contains||a===Bi.HasText){if(Fi.isRegexPattern(d))throw new Os(Ct.sprintf(Li.REGEXP_NOT_SUPPORTED,d,a));const e=V.escapeCharacter(d,Z);s.push(Hi(zi.TagContent,m,e))}n.advance()}else if(e.type===an.Comma&&0===e.balance)o!==Ui&&s.push(Hi(zi.MinLength,m,o.toString())),s.push(Hi(zi.MaxLength,m,d!==Ui?d.toString():Ni.toString())),i.push(s.join(r)),s.length=0,n.advance();else{if(e.type!==an.Whitespace)throw new Os(Ct.sprintf(Li.UNEXPECTED_TOKEN_WITH_VALUE,nn(e.type),t.slice(e.start,e.end)));n.advance()}}return 0!==s.length&&(o!==Ui&&s.push(Hi(zi.MinLength,m,o.toString())),s.push(Hi(zi.MaxLength,m,d!==Ui?d.toString():Ni.toString())),i.push(s.join(r))),wi(i.map((t=>({category:e.RuleCategory.Cosmetic,type:e.CosmeticRuleType.HtmlFilteringRule,syntax:e.AdblockSyntax.Adg,exception:a.exception,domains:Oi(a.domains),separator:{type:"Value",value:a.exception?e.CosmeticRuleSeparator.AdgHtmlFilteringException:e.CosmeticRuleSeparator.AdgHtmlFiltering},body:{type:"Value",value:qi(t)}}))),!0)}}function Zi(e){var a;if(0===e.children.length)throw new Error("Empty scriptlet");return(null===(a=e.children[0])||void 0===a?void 0:a.value)??r}function Vi(e,a,t){const n=e.children[a];if(!Ue(n)){const s=t((null==n?void 0:n.value)??null);if(Be(s))return void(e.children[a]=null);if(Be(n))return void(e.children[a]={type:"Value",value:s});n.value=s}}function Gi(e,a){for(let t=0;t<e.children.length;t+=1)Vi(e,t,a)}function Ki(e,a){Vi(e,0,(()=>a))}function Qi(e,a){Gi(e,(e=>Ir.setStringQuoteType(e??r,a)))}var Xi,Ji;!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const a={};for(const t of e)a[t]=t;return a},e.getValidEnumValues=a=>{const t=e.objectKeys(a).filter((e=>"number"!=typeof a[a[e]])),n={};for(const e of t)n[e]=a[e];return e.objectValues(n)},e.objectValues=a=>e.objectKeys(a).map((function(e){return a[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const a=[];for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&a.push(t);return a},e.find=(e,a)=>{for(const t of e)if(a(t))return t},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" | ";return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(a)},e.jsonStringifyReplacer=(e,a)=>"bigint"==typeof a?a.toString():a}(Xi||(Xi={})),function(e){e.mergeShapes=(e,a)=>({...e,...a})}(Ji||(Ji={}));const Yi=Xi.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),eo=e=>{switch(typeof e){case"undefined":return Yi.undefined;case"string":return Yi.string;case"number":return isNaN(e)?Yi.nan:Yi.number;case"boolean":return Yi.boolean;case"function":return Yi.function;case"bigint":return Yi.bigint;case"symbol":return Yi.symbol;case"object":return Array.isArray(e)?Yi.array:null===e?Yi.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?Yi.promise:"undefined"!=typeof Map&&e instanceof Map?Yi.map:"undefined"!=typeof Set&&e instanceof Set?Yi.set:"undefined"!=typeof Date&&e instanceof Date?Yi.date:Yi.object;default:return Yi.unknown}},ao=Xi.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class to extends Error{constructor(e){var a;super(),a=this,this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];a.issues=[...a.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const a=e||function(e){return e.message},t={_errors:[]},n=e=>{for(const s of e.issues)if("invalid_union"===s.code)s.unionErrors.map(n);else if("invalid_return_type"===s.code)n(s.returnTypeError);else if("invalid_arguments"===s.code)n(s.argumentsError);else if(0===s.path.length)t._errors.push(a(s));else{let e=t,n=0;for(;n<s.path.length;){const t=s.path[n];n===s.path.length-1?(e[t]=e[t]||{_errors:[]},e[t]._errors.push(a(s))):e[t]=e[t]||{_errors:[]},e=e[t],n++}}};return n(this),t}toString(){return this.message}get message(){return JSON.stringify(this.issues,Xi.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e=>e.message;const a={},t=[];for(const n of this.issues)n.path.length>0?(a[n.path[0]]=a[n.path[0]]||[],a[n.path[0]].push(e(n))):t.push(e(n));return{formErrors:t,fieldErrors:a}}get formErrors(){return this.flatten()}}to.create=e=>new to(e);const no=(e,a)=>{let t;switch(e.code){case ao.invalid_type:t=e.received===Yi.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case ao.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(e.expected,Xi.jsonStringifyReplacer)}`;break;case ao.unrecognized_keys:t=`Unrecognized key(s) in object: ${Xi.joinValues(e.keys,", ")}`;break;case ao.invalid_union:t="Invalid input";break;case ao.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${Xi.joinValues(e.options)}`;break;case ao.invalid_enum_value:t=`Invalid enum value. Expected ${Xi.joinValues(e.options)}, received '${e.received}'`;break;case ao.invalid_arguments:t="Invalid function arguments";break;case ao.invalid_return_type:t="Invalid function return type";break;case ao.invalid_date:t="Invalid date";break;case ao.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(t=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(t=`${t} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?t=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?t=`Invalid input: must end with "${e.validation.endsWith}"`:Xi.assertNever(e.validation):t="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case ao.too_small:t="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case ao.too_big:t="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case ao.custom:t="Invalid input";break;case ao.invalid_intersection_types:t="Intersection results could not be merged";break;case ao.not_multiple_of:t=`Number must be a multiple of ${e.multipleOf}`;break;case ao.not_finite:t="Number must be finite";break;default:t=a.defaultError,Xi.assertNever(e)}return{message:t}};let so=no;function ro(){return so}const io=e=>{const{data:a,path:t,errorMaps:n,issueData:s}=e,r=[...t,...s.path||[]],i={...s,path:r};let o="";const d=n.filter((e=>!!e)).slice().reverse();for(const e of d)o=e(i,{data:a,defaultError:o}).message;return{...s,path:r,message:s.message||o}};function oo(e,a){const t=io({issueData:a,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,ro(),no].filter((e=>!!e))});e.common.issues.push(t)}class uo{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,a){const t=[];for(const n of a){if("aborted"===n.status)return lo;"dirty"===n.status&&e.dirty(),t.push(n.value)}return{status:e.value,value:t}}static async mergeObjectAsync(e,a){const t=[];for(const e of a)t.push({key:await e.key,value:await e.value});return uo.mergeObjectSync(e,t)}static mergeObjectSync(e,a){const t={};for(const n of a){const{key:a,value:s}=n;if("aborted"===a.status)return lo;if("aborted"===s.status)return lo;"dirty"===a.status&&e.dirty(),"dirty"===s.status&&e.dirty(),(void 0!==s.value||n.alwaysSet)&&(t[a.value]=s.value)}return{status:e.value,value:t}}}const lo=Object.freeze({status:"aborted"}),co=e=>({status:"dirty",value:e}),po=e=>({status:"valid",value:e}),mo=e=>"aborted"===e.status,fo=e=>"dirty"===e.status,go=e=>"valid"===e.status,ho=e=>"undefined"!=typeof Promise&&e instanceof Promise;var bo;!function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(bo||(bo={}));class vo{constructor(e,a,t,n){this._cachedPath=[],this.parent=e,this.data=a,this._path=t,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const yo=(e,a)=>{if(go(a))return{success:!0,data:a.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const a=new to(e.common.issues);return this._error=a,this._error}}};function ko(e){if(!e)return{};const{errorMap:a,invalid_type_error:t,required_error:n,description:s}=e;if(a&&(t||n))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return a?{errorMap:a,description:s}:{errorMap:(e,a)=>"invalid_type"!==e.code?{message:a.defaultError}:void 0===a.data?{message:null!=n?n:a.defaultError}:{message:null!=t?t:a.defaultError},description:s}}class wo{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return eo(e.data)}_getOrReturnCtx(e,a){return a||{common:e.parent.common,data:e.data,parsedType:eo(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new uo,ctx:{common:e.parent.common,data:e.data,parsedType:eo(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const a=this._parse(e);if(ho(a))throw new Error("Synchronous parse encountered promise.");return a}_parseAsync(e){const a=this._parse(e);return Promise.resolve(a)}parse(e,a){const t=this.safeParse(e,a);if(t.success)return t.data;throw t.error}safeParse(e,a){var t;const n={common:{issues:[],async:null!==(t=null==a?void 0:a.async)&&void 0!==t&&t,contextualErrorMap:null==a?void 0:a.errorMap},path:(null==a?void 0:a.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:eo(e)},s=this._parseSync({data:e,path:n.path,parent:n});return yo(n,s)}async parseAsync(e,a){const t=await this.safeParseAsync(e,a);if(t.success)return t.data;throw t.error}async safeParseAsync(e,a){const t={common:{issues:[],contextualErrorMap:null==a?void 0:a.errorMap,async:!0},path:(null==a?void 0:a.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:eo(e)},n=this._parse({data:e,path:t.path,parent:t}),s=await(ho(n)?n:Promise.resolve(n));return yo(t,s)}refine(e,a){const t=e=>"string"==typeof a||void 0===a?{message:a}:"function"==typeof a?a(e):a;return this._refinement(((a,n)=>{const s=e(a),r=()=>n.addIssue({code:ao.custom,...t(a)});return"undefined"!=typeof Promise&&s instanceof Promise?s.then((e=>!!e||(r(),!1))):!!s||(r(),!1)}))}refinement(e,a){return this._refinement(((t,n)=>!!e(t)||(n.addIssue("function"==typeof a?a(t,n):a),!1)))}_refinement(e){return new ud({schema:this,typeName:kd.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ld.create(this,this._def)}nullable(){return cd.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ho.create(this,this._def)}promise(){return dd.create(this,this._def)}or(e){return Vo.create([this,e],this._def)}and(e){return Xo.create(this,e,this._def)}transform(e){return new ud({...ko(this._def),schema:this,typeName:kd.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const a="function"==typeof e?e:()=>e;return new pd({...ko(this._def),innerType:this,defaultValue:a,typeName:kd.ZodDefault})}brand(){return new hd({typeName:kd.ZodBranded,type:this,...ko(this._def)})}catch(e){const a="function"==typeof e?e:()=>e;return new md({...ko(this._def),innerType:this,catchValue:a,typeName:kd.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return bd.create(this,e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const xo=/^c[^\s-]{8,}$/i,Ao=/^[a-z][a-z0-9]*$/,Eo=/[0-9A-HJKMNP-TV-Z]{26}/,Co=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,Do=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,jo=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,Ro=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,So=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;function _o(e,a){return!("v4"!==a&&a||!Ro.test(e))||!("v6"!==a&&a||!So.test(e))}class Mo extends wo{constructor(){super(...arguments),this._regex=(e,a,t)=>this.refinement((a=>e.test(a)),{validation:a,code:ao.invalid_string,...bo.errToObj(t)}),this.nonempty=e=>this.min(1,bo.errToObj(e)),this.trim=()=>new Mo({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Mo({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Mo({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==Yi.string){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.string,received:a.parsedType}),lo}const a=new uo;let t;for(const s of this._def.checks)if("min"===s.kind)e.data.length<s.value&&(t=this._getOrReturnCtx(e,t),oo(t,{code:ao.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),a.dirty());else if("max"===s.kind)e.data.length>s.value&&(t=this._getOrReturnCtx(e,t),oo(t,{code:ao.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),a.dirty());else if("length"===s.kind){const n=e.data.length>s.value,r=e.data.length<s.value;(n||r)&&(t=this._getOrReturnCtx(e,t),n?oo(t,{code:ao.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):r&&oo(t,{code:ao.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),a.dirty())}else if("email"===s.kind)Do.test(e.data)||(t=this._getOrReturnCtx(e,t),oo(t,{validation:"email",code:ao.invalid_string,message:s.message}),a.dirty());else if("emoji"===s.kind)jo.test(e.data)||(t=this._getOrReturnCtx(e,t),oo(t,{validation:"emoji",code:ao.invalid_string,message:s.message}),a.dirty());else if("uuid"===s.kind)Co.test(e.data)||(t=this._getOrReturnCtx(e,t),oo(t,{validation:"uuid",code:ao.invalid_string,message:s.message}),a.dirty());else if("cuid"===s.kind)xo.test(e.data)||(t=this._getOrReturnCtx(e,t),oo(t,{validation:"cuid",code:ao.invalid_string,message:s.message}),a.dirty());else if("cuid2"===s.kind)Ao.test(e.data)||(t=this._getOrReturnCtx(e,t),oo(t,{validation:"cuid2",code:ao.invalid_string,message:s.message}),a.dirty());else if("ulid"===s.kind)Eo.test(e.data)||(t=this._getOrReturnCtx(e,t),oo(t,{validation:"ulid",code:ao.invalid_string,message:s.message}),a.dirty());else if("url"===s.kind)try{new URL(e.data)}catch(n){t=this._getOrReturnCtx(e,t),oo(t,{validation:"url",code:ao.invalid_string,message:s.message}),a.dirty()}else"regex"===s.kind?(s.regex.lastIndex=0,s.regex.test(e.data)||(t=this._getOrReturnCtx(e,t),oo(t,{validation:"regex",code:ao.invalid_string,message:s.message}),a.dirty())):"trim"===s.kind?e.data=e.data.trim():"includes"===s.kind?e.data.includes(s.value,s.position)||(t=this._getOrReturnCtx(e,t),oo(t,{code:ao.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),a.dirty()):"toLowerCase"===s.kind?e.data=e.data.toLowerCase():"toUpperCase"===s.kind?e.data=e.data.toUpperCase():"startsWith"===s.kind?e.data.startsWith(s.value)||(t=this._getOrReturnCtx(e,t),oo(t,{code:ao.invalid_string,validation:{startsWith:s.value},message:s.message}),a.dirty()):"endsWith"===s.kind?e.data.endsWith(s.value)||(t=this._getOrReturnCtx(e,t),oo(t,{code:ao.invalid_string,validation:{endsWith:s.value},message:s.message}),a.dirty()):"datetime"===s.kind?((n=s).precision?n.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${n.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${n.precision}}Z$`):0===n.precision?n.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):n.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$")).test(e.data)||(t=this._getOrReturnCtx(e,t),oo(t,{code:ao.invalid_string,validation:"datetime",message:s.message}),a.dirty()):"ip"===s.kind?_o(e.data,s.version)||(t=this._getOrReturnCtx(e,t),oo(t,{validation:"ip",code:ao.invalid_string,message:s.message}),a.dirty()):Xi.assertNever(s);var n;return{status:a.value,value:e.data}}_addCheck(e){return new Mo({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...bo.errToObj(e)})}url(e){return this._addCheck({kind:"url",...bo.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...bo.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...bo.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...bo.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...bo.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...bo.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...bo.errToObj(e)})}datetime(e){var a;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(a=null==e?void 0:e.offset)&&void 0!==a&&a,...bo.errToObj(null==e?void 0:e.message)})}regex(e,a){return this._addCheck({kind:"regex",regex:e,...bo.errToObj(a)})}includes(e,a){return this._addCheck({kind:"includes",value:e,position:null==a?void 0:a.position,...bo.errToObj(null==a?void 0:a.message)})}startsWith(e,a){return this._addCheck({kind:"startsWith",value:e,...bo.errToObj(a)})}endsWith(e,a){return this._addCheck({kind:"endsWith",value:e,...bo.errToObj(a)})}min(e,a){return this._addCheck({kind:"min",value:e,...bo.errToObj(a)})}max(e,a){return this._addCheck({kind:"max",value:e,...bo.errToObj(a)})}length(e,a){return this._addCheck({kind:"length",value:e,...bo.errToObj(a)})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get minLength(){let e=null;for(const a of this._def.checks)"min"===a.kind&&(null===e||a.value>e)&&(e=a.value);return e}get maxLength(){let e=null;for(const a of this._def.checks)"max"===a.kind&&(null===e||a.value<e)&&(e=a.value);return e}}function To(e,a){const t=(e.toString().split(".")[1]||"").length,n=(a.toString().split(".")[1]||"").length,s=t>n?t:n;return parseInt(e.toFixed(s).replace(".",""))%parseInt(a.toFixed(s).replace(".",""))/Math.pow(10,s)}Mo.create=e=>{var a;return new Mo({checks:[],typeName:kd.ZodString,coerce:null!==(a=null==e?void 0:e.coerce)&&void 0!==a&&a,...ko(e)})};class Fo extends wo{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==Yi.number){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.number,received:a.parsedType}),lo}let a;const t=new uo;for(const n of this._def.checks)"int"===n.kind?Xi.isInteger(e.data)||(a=this._getOrReturnCtx(e,a),oo(a,{code:ao.invalid_type,expected:"integer",received:"float",message:n.message}),t.dirty()):"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(a=this._getOrReturnCtx(e,a),oo(a,{code:ao.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),t.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(a=this._getOrReturnCtx(e,a),oo(a,{code:ao.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),t.dirty()):"multipleOf"===n.kind?0!==To(e.data,n.value)&&(a=this._getOrReturnCtx(e,a),oo(a,{code:ao.not_multiple_of,multipleOf:n.value,message:n.message}),t.dirty()):"finite"===n.kind?Number.isFinite(e.data)||(a=this._getOrReturnCtx(e,a),oo(a,{code:ao.not_finite,message:n.message}),t.dirty()):Xi.assertNever(n);return{status:t.value,value:e.data}}gte(e,a){return this.setLimit("min",e,!0,bo.toString(a))}gt(e,a){return this.setLimit("min",e,!1,bo.toString(a))}lte(e,a){return this.setLimit("max",e,!0,bo.toString(a))}lt(e,a){return this.setLimit("max",e,!1,bo.toString(a))}setLimit(e,a,t,n){return new Fo({...this._def,checks:[...this._def.checks,{kind:e,value:a,inclusive:t,message:bo.toString(n)}]})}_addCheck(e){return new Fo({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:bo.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:bo.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:bo.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:bo.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:bo.toString(e)})}multipleOf(e,a){return this._addCheck({kind:"multipleOf",value:e,message:bo.toString(a)})}finite(e){return this._addCheck({kind:"finite",message:bo.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:bo.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:bo.toString(e)})}get minValue(){let e=null;for(const a of this._def.checks)"min"===a.kind&&(null===e||a.value>e)&&(e=a.value);return e}get maxValue(){let e=null;for(const a of this._def.checks)"max"===a.kind&&(null===e||a.value<e)&&(e=a.value);return e}get isInt(){return!!this._def.checks.find((e=>"int"===e.kind||"multipleOf"===e.kind&&Xi.isInteger(e.value)))}get isFinite(){let e=null,a=null;for(const t of this._def.checks){if("finite"===t.kind||"int"===t.kind||"multipleOf"===t.kind)return!0;"min"===t.kind?(null===a||t.value>a)&&(a=t.value):"max"===t.kind&&(null===e||t.value<e)&&(e=t.value)}return Number.isFinite(a)&&Number.isFinite(e)}}Fo.create=e=>new Fo({checks:[],typeName:kd.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...ko(e)});class $o extends wo{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==Yi.bigint){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.bigint,received:a.parsedType}),lo}let a;const t=new uo;for(const n of this._def.checks)"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(a=this._getOrReturnCtx(e,a),oo(a,{code:ao.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),t.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(a=this._getOrReturnCtx(e,a),oo(a,{code:ao.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),t.dirty()):"multipleOf"===n.kind?e.data%n.value!==BigInt(0)&&(a=this._getOrReturnCtx(e,a),oo(a,{code:ao.not_multiple_of,multipleOf:n.value,message:n.message}),t.dirty()):Xi.assertNever(n);return{status:t.value,value:e.data}}gte(e,a){return this.setLimit("min",e,!0,bo.toString(a))}gt(e,a){return this.setLimit("min",e,!1,bo.toString(a))}lte(e,a){return this.setLimit("max",e,!0,bo.toString(a))}lt(e,a){return this.setLimit("max",e,!1,bo.toString(a))}setLimit(e,a,t,n){return new $o({...this._def,checks:[...this._def.checks,{kind:e,value:a,inclusive:t,message:bo.toString(n)}]})}_addCheck(e){return new $o({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:bo.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:bo.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:bo.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:bo.toString(e)})}multipleOf(e,a){return this._addCheck({kind:"multipleOf",value:e,message:bo.toString(a)})}get minValue(){let e=null;for(const a of this._def.checks)"min"===a.kind&&(null===e||a.value>e)&&(e=a.value);return e}get maxValue(){let e=null;for(const a of this._def.checks)"max"===a.kind&&(null===e||a.value<e)&&(e=a.value);return e}}$o.create=e=>{var a;return new $o({checks:[],typeName:kd.ZodBigInt,coerce:null!==(a=null==e?void 0:e.coerce)&&void 0!==a&&a,...ko(e)})};class Oo extends wo{_parse(e){if(this._def.coerce&&(e.data=Boolean(e.data)),this._getType(e)!==Yi.boolean){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.boolean,received:a.parsedType}),lo}return po(e.data)}}Oo.create=e=>new Oo({typeName:kd.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...ko(e)});class Io extends wo{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==Yi.date){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.date,received:a.parsedType}),lo}if(isNaN(e.data.getTime()))return oo(this._getOrReturnCtx(e),{code:ao.invalid_date}),lo;const a=new uo;let t;for(const n of this._def.checks)"min"===n.kind?e.data.getTime()<n.value&&(t=this._getOrReturnCtx(e,t),oo(t,{code:ao.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),a.dirty()):"max"===n.kind?e.data.getTime()>n.value&&(t=this._getOrReturnCtx(e,t),oo(t,{code:ao.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),a.dirty()):Xi.assertNever(n);return{status:a.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Io({...this._def,checks:[...this._def.checks,e]})}min(e,a){return this._addCheck({kind:"min",value:e.getTime(),message:bo.toString(a)})}max(e,a){return this._addCheck({kind:"max",value:e.getTime(),message:bo.toString(a)})}get minDate(){let e=null;for(const a of this._def.checks)"min"===a.kind&&(null===e||a.value>e)&&(e=a.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const a of this._def.checks)"max"===a.kind&&(null===e||a.value<e)&&(e=a.value);return null!=e?new Date(e):null}}Io.create=e=>new Io({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:kd.ZodDate,...ko(e)});class No extends wo{_parse(e){if(this._getType(e)!==Yi.symbol){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.symbol,received:a.parsedType}),lo}return po(e.data)}}No.create=e=>new No({typeName:kd.ZodSymbol,...ko(e)});class Uo extends wo{_parse(e){if(this._getType(e)!==Yi.undefined){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.undefined,received:a.parsedType}),lo}return po(e.data)}}Uo.create=e=>new Uo({typeName:kd.ZodUndefined,...ko(e)});class Bo extends wo{_parse(e){if(this._getType(e)!==Yi.null){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.null,received:a.parsedType}),lo}return po(e.data)}}Bo.create=e=>new Bo({typeName:kd.ZodNull,...ko(e)});class zo extends wo{constructor(){super(...arguments),this._any=!0}_parse(e){return po(e.data)}}zo.create=e=>new zo({typeName:kd.ZodAny,...ko(e)});class Po extends wo{constructor(){super(...arguments),this._unknown=!0}_parse(e){return po(e.data)}}Po.create=e=>new Po({typeName:kd.ZodUnknown,...ko(e)});class Lo extends wo{_parse(e){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.never,received:a.parsedType}),lo}}Lo.create=e=>new Lo({typeName:kd.ZodNever,...ko(e)});class qo extends wo{_parse(e){if(this._getType(e)!==Yi.undefined){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.void,received:a.parsedType}),lo}return po(e.data)}}qo.create=e=>new qo({typeName:kd.ZodVoid,...ko(e)});class Ho extends wo{_parse(e){const{ctx:a,status:t}=this._processInputParams(e),n=this._def;if(a.parsedType!==Yi.array)return oo(a,{code:ao.invalid_type,expected:Yi.array,received:a.parsedType}),lo;if(null!==n.exactLength){const e=a.data.length>n.exactLength.value,s=a.data.length<n.exactLength.value;(e||s)&&(oo(a,{code:e?ao.too_big:ao.too_small,minimum:s?n.exactLength.value:void 0,maximum:e?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),t.dirty())}if(null!==n.minLength&&a.data.length<n.minLength.value&&(oo(a,{code:ao.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),t.dirty()),null!==n.maxLength&&a.data.length>n.maxLength.value&&(oo(a,{code:ao.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),t.dirty()),a.common.async)return Promise.all([...a.data].map(((e,t)=>n.type._parseAsync(new vo(a,e,a.path,t))))).then((e=>uo.mergeArray(t,e)));const s=[...a.data].map(((e,t)=>n.type._parseSync(new vo(a,e,a.path,t))));return uo.mergeArray(t,s)}get element(){return this._def.type}min(e,a){return new Ho({...this._def,minLength:{value:e,message:bo.toString(a)}})}max(e,a){return new Ho({...this._def,maxLength:{value:e,message:bo.toString(a)}})}length(e,a){return new Ho({...this._def,exactLength:{value:e,message:bo.toString(a)}})}nonempty(e){return this.min(1,e)}}function Wo(e){if(e instanceof Zo){const a={};for(const t in e.shape){const n=e.shape[t];a[t]=ld.create(Wo(n))}return new Zo({...e._def,shape:()=>a})}return e instanceof Ho?new Ho({...e._def,type:Wo(e.element)}):e instanceof ld?ld.create(Wo(e.unwrap())):e instanceof cd?cd.create(Wo(e.unwrap())):e instanceof Jo?Jo.create(e.items.map((e=>Wo(e)))):e}Ho.create=(e,a)=>new Ho({type:e,minLength:null,maxLength:null,exactLength:null,typeName:kd.ZodArray,...ko(a)});class Zo extends wo{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),a=Xi.objectKeys(e);return this._cached={shape:e,keys:a}}_parse(e){if(this._getType(e)!==Yi.object){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.object,received:a.parsedType}),lo}const{status:a,ctx:t}=this._processInputParams(e),{shape:n,keys:s}=this._getCached(),r=[];if(!(this._def.catchall instanceof Lo&&"strip"===this._def.unknownKeys))for(const e in t.data)s.includes(e)||r.push(e);const i=[];for(const e of s){const a=n[e],s=t.data[e];i.push({key:{status:"valid",value:e},value:a._parse(new vo(t,s,t.path,e)),alwaysSet:e in t.data})}if(this._def.catchall instanceof Lo){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of r)i.push({key:{status:"valid",value:e},value:{status:"valid",value:t.data[e]}});else if("strict"===e)r.length>0&&(oo(t,{code:ao.unrecognized_keys,keys:r}),a.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const a of r){const n=t.data[a];i.push({key:{status:"valid",value:a},value:e._parse(new vo(t,n,t.path,a)),alwaysSet:a in t.data})}}return t.common.async?Promise.resolve().then((async()=>{const e=[];for(const a of i){const t=await a.key;e.push({key:t,value:await a.value,alwaysSet:a.alwaysSet})}return e})).then((e=>uo.mergeObjectSync(a,e))):uo.mergeObjectSync(a,i)}get shape(){return this._def.shape()}strict(e){return bo.errToObj,new Zo({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(a,t)=>{var n,s,r,i;const o=null!==(r=null===(s=(n=this._def).errorMap)||void 0===s?void 0:s.call(n,a,t).message)&&void 0!==r?r:t.defaultError;return"unrecognized_keys"===a.code?{message:null!==(i=bo.errToObj(e).message)&&void 0!==i?i:o}:{message:o}}}:{}})}strip(){return new Zo({...this._def,unknownKeys:"strip"})}passthrough(){return new Zo({...this._def,unknownKeys:"passthrough"})}extend(e){return new Zo({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Zo({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:kd.ZodObject})}setKey(e,a){return this.augment({[e]:a})}catchall(e){return new Zo({...this._def,catchall:e})}pick(e){const a={};return Xi.objectKeys(e).forEach((t=>{e[t]&&this.shape[t]&&(a[t]=this.shape[t])})),new Zo({...this._def,shape:()=>a})}omit(e){const a={};return Xi.objectKeys(this.shape).forEach((t=>{e[t]||(a[t]=this.shape[t])})),new Zo({...this._def,shape:()=>a})}deepPartial(){return Wo(this)}partial(e){const a={};return Xi.objectKeys(this.shape).forEach((t=>{const n=this.shape[t];e&&!e[t]?a[t]=n:a[t]=n.optional()})),new Zo({...this._def,shape:()=>a})}required(e){const a={};return Xi.objectKeys(this.shape).forEach((t=>{if(e&&!e[t])a[t]=this.shape[t];else{let e=this.shape[t];for(;e instanceof ld;)e=e._def.innerType;a[t]=e}})),new Zo({...this._def,shape:()=>a})}keyof(){return rd(Xi.objectKeys(this.shape))}}Zo.create=(e,a)=>new Zo({shape:()=>e,unknownKeys:"strip",catchall:Lo.create(),typeName:kd.ZodObject,...ko(a)}),Zo.strictCreate=(e,a)=>new Zo({shape:()=>e,unknownKeys:"strict",catchall:Lo.create(),typeName:kd.ZodObject,...ko(a)}),Zo.lazycreate=(e,a)=>new Zo({shape:e,unknownKeys:"strip",catchall:Lo.create(),typeName:kd.ZodObject,...ko(a)});class Vo extends wo{_parse(e){const{ctx:a}=this._processInputParams(e),t=this._def.options;if(a.common.async)return Promise.all(t.map((async e=>{const t={...a,common:{...a.common,issues:[]},parent:null};return{result:await e._parseAsync({data:a.data,path:a.path,parent:t}),ctx:t}}))).then((function(e){for(const a of e)if("valid"===a.result.status)return a.result;for(const t of e)if("dirty"===t.result.status)return a.common.issues.push(...t.ctx.common.issues),t.result;const t=e.map((e=>new to(e.ctx.common.issues)));return oo(a,{code:ao.invalid_union,unionErrors:t}),lo}));{let e;const n=[];for(const s of t){const t={...a,common:{...a.common,issues:[]},parent:null},r=s._parseSync({data:a.data,path:a.path,parent:t});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:t}),t.common.issues.length&&n.push(t.common.issues)}if(e)return a.common.issues.push(...e.ctx.common.issues),e.result;const s=n.map((e=>new to(e)));return oo(a,{code:ao.invalid_union,unionErrors:s}),lo}}get options(){return this._def.options}}Vo.create=(e,a)=>new Vo({options:e,typeName:kd.ZodUnion,...ko(a)});const Go=e=>e instanceof nd?Go(e.schema):e instanceof ud?Go(e.innerType()):e instanceof sd?[e.value]:e instanceof id?e.options:e instanceof od?Object.keys(e.enum):e instanceof pd?Go(e._def.innerType):e instanceof Uo?[void 0]:e instanceof Bo?[null]:null;class Ko extends wo{_parse(e){const{ctx:a}=this._processInputParams(e);if(a.parsedType!==Yi.object)return oo(a,{code:ao.invalid_type,expected:Yi.object,received:a.parsedType}),lo;const t=this.discriminator,n=a.data[t],s=this.optionsMap.get(n);return s?a.common.async?s._parseAsync({data:a.data,path:a.path,parent:a}):s._parseSync({data:a.data,path:a.path,parent:a}):(oo(a,{code:ao.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[t]}),lo)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,a,t){const n=new Map;for(const t of a){const a=Go(t.shape[e]);if(!a)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const s of a){if(n.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);n.set(s,t)}}return new Ko({typeName:kd.ZodDiscriminatedUnion,discriminator:e,options:a,optionsMap:n,...ko(t)})}}function Qo(e,a){const t=eo(e),n=eo(a);if(e===a)return{valid:!0,data:e};if(t===Yi.object&&n===Yi.object){const t=Xi.objectKeys(a),n=Xi.objectKeys(e).filter((e=>-1!==t.indexOf(e))),s={...e,...a};for(const t of n){const n=Qo(e[t],a[t]);if(!n.valid)return{valid:!1};s[t]=n.data}return{valid:!0,data:s}}if(t===Yi.array&&n===Yi.array){if(e.length!==a.length)return{valid:!1};const t=[];for(let n=0;n<e.length;n++){const s=Qo(e[n],a[n]);if(!s.valid)return{valid:!1};t.push(s.data)}return{valid:!0,data:t}}return t===Yi.date&&n===Yi.date&&+e==+a?{valid:!0,data:e}:{valid:!1}}class Xo extends wo{_parse(e){const{status:a,ctx:t}=this._processInputParams(e),n=(e,n)=>{if(mo(e)||mo(n))return lo;const s=Qo(e.value,n.value);return s.valid?((fo(e)||fo(n))&&a.dirty(),{status:a.value,value:s.data}):(oo(t,{code:ao.invalid_intersection_types}),lo)};return t.common.async?Promise.all([this._def.left._parseAsync({data:t.data,path:t.path,parent:t}),this._def.right._parseAsync({data:t.data,path:t.path,parent:t})]).then((e=>{let[a,t]=e;return n(a,t)})):n(this._def.left._parseSync({data:t.data,path:t.path,parent:t}),this._def.right._parseSync({data:t.data,path:t.path,parent:t}))}}Xo.create=(e,a,t)=>new Xo({left:e,right:a,typeName:kd.ZodIntersection,...ko(t)});class Jo extends wo{_parse(e){const{status:a,ctx:t}=this._processInputParams(e);if(t.parsedType!==Yi.array)return oo(t,{code:ao.invalid_type,expected:Yi.array,received:t.parsedType}),lo;if(t.data.length<this._def.items.length)return oo(t,{code:ao.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),lo;!this._def.rest&&t.data.length>this._def.items.length&&(oo(t,{code:ao.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),a.dirty());const n=[...t.data].map(((e,a)=>{const n=this._def.items[a]||this._def.rest;return n?n._parse(new vo(t,e,t.path,a)):null})).filter((e=>!!e));return t.common.async?Promise.all(n).then((e=>uo.mergeArray(a,e))):uo.mergeArray(a,n)}get items(){return this._def.items}rest(e){return new Jo({...this._def,rest:e})}}Jo.create=(e,a)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Jo({items:e,typeName:kd.ZodTuple,rest:null,...ko(a)})};class Yo extends wo{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:a,ctx:t}=this._processInputParams(e);if(t.parsedType!==Yi.object)return oo(t,{code:ao.invalid_type,expected:Yi.object,received:t.parsedType}),lo;const n=[],s=this._def.keyType,r=this._def.valueType;for(const e in t.data)n.push({key:s._parse(new vo(t,e,t.path,e)),value:r._parse(new vo(t,t.data[e],t.path,e))});return t.common.async?uo.mergeObjectAsync(a,n):uo.mergeObjectSync(a,n)}get element(){return this._def.valueType}static create(e,a,t){return new Yo(a instanceof wo?{keyType:e,valueType:a,typeName:kd.ZodRecord,...ko(t)}:{keyType:Mo.create(),valueType:e,typeName:kd.ZodRecord,...ko(a)})}}class ed extends wo{_parse(e){const{status:a,ctx:t}=this._processInputParams(e);if(t.parsedType!==Yi.map)return oo(t,{code:ao.invalid_type,expected:Yi.map,received:t.parsedType}),lo;const n=this._def.keyType,s=this._def.valueType,r=[...t.data.entries()].map(((e,a)=>{let[r,i]=e;return{key:n._parse(new vo(t,r,t.path,[a,"key"])),value:s._parse(new vo(t,i,t.path,[a,"value"]))}}));if(t.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const t of r){const n=await t.key,s=await t.value;if("aborted"===n.status||"aborted"===s.status)return lo;"dirty"!==n.status&&"dirty"!==s.status||a.dirty(),e.set(n.value,s.value)}return{status:a.value,value:e}}))}{const e=new Map;for(const t of r){const n=t.key,s=t.value;if("aborted"===n.status||"aborted"===s.status)return lo;"dirty"!==n.status&&"dirty"!==s.status||a.dirty(),e.set(n.value,s.value)}return{status:a.value,value:e}}}}ed.create=(e,a,t)=>new ed({valueType:a,keyType:e,typeName:kd.ZodMap,...ko(t)});class ad extends wo{_parse(e){const{status:a,ctx:t}=this._processInputParams(e);if(t.parsedType!==Yi.set)return oo(t,{code:ao.invalid_type,expected:Yi.set,received:t.parsedType}),lo;const n=this._def;null!==n.minSize&&t.data.size<n.minSize.value&&(oo(t,{code:ao.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),a.dirty()),null!==n.maxSize&&t.data.size>n.maxSize.value&&(oo(t,{code:ao.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),a.dirty());const s=this._def.valueType;function r(e){const t=new Set;for(const n of e){if("aborted"===n.status)return lo;"dirty"===n.status&&a.dirty(),t.add(n.value)}return{status:a.value,value:t}}const i=[...t.data.values()].map(((e,a)=>s._parse(new vo(t,e,t.path,a))));return t.common.async?Promise.all(i).then((e=>r(e))):r(i)}min(e,a){return new ad({...this._def,minSize:{value:e,message:bo.toString(a)}})}max(e,a){return new ad({...this._def,maxSize:{value:e,message:bo.toString(a)}})}size(e,a){return this.min(e,a).max(e,a)}nonempty(e){return this.min(1,e)}}ad.create=(e,a)=>new ad({valueType:e,minSize:null,maxSize:null,typeName:kd.ZodSet,...ko(a)});class td extends wo{constructor(){super(...arguments),this.validate=this.implement}_parse(e){var a=this;const{ctx:t}=this._processInputParams(e);if(t.parsedType!==Yi.function)return oo(t,{code:ao.invalid_type,expected:Yi.function,received:t.parsedType}),lo;function n(e,a){return io({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,ro(),no].filter((e=>!!e)),issueData:{code:ao.invalid_arguments,argumentsError:a}})}function s(e,a){return io({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,ro(),no].filter((e=>!!e)),issueData:{code:ao.invalid_return_type,returnTypeError:a}})}const r={errorMap:t.common.contextualErrorMap},i=t.data;return this._def.returns instanceof dd?po((async function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const d=new to([]),u=await a._def.args.parseAsync(t,r).catch((e=>{throw d.addIssue(n(t,e)),d})),l=await i(...u);return await a._def.returns._def.type.parseAsync(l,r).catch((e=>{throw d.addIssue(s(l,e)),d}))})):po((function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const d=a._def.args.safeParse(t,r);if(!d.success)throw new to([n(t,d.error)]);const u=i(...d.data),l=a._def.returns.safeParse(u,r);if(!l.success)throw new to([s(u,l.error)]);return l.data}))}parameters(){return this._def.args}returnType(){return this._def.returns}args(){for(var e=arguments.length,a=new Array(e),t=0;t<e;t++)a[t]=arguments[t];return new td({...this._def,args:Jo.create(a).rest(Po.create())})}returns(e){return new td({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,a,t){return new td({args:e||Jo.create([]).rest(Po.create()),returns:a||Po.create(),typeName:kd.ZodFunction,...ko(t)})}}class nd extends wo{get schema(){return this._def.getter()}_parse(e){const{ctx:a}=this._processInputParams(e);return this._def.getter()._parse({data:a.data,path:a.path,parent:a})}}nd.create=(e,a)=>new nd({getter:e,typeName:kd.ZodLazy,...ko(a)});class sd extends wo{_parse(e){if(e.data!==this._def.value){const a=this._getOrReturnCtx(e);return oo(a,{received:a.data,code:ao.invalid_literal,expected:this._def.value}),lo}return{status:"valid",value:e.data}}get value(){return this._def.value}}function rd(e,a){return new id({values:e,typeName:kd.ZodEnum,...ko(a)})}sd.create=(e,a)=>new sd({value:e,typeName:kd.ZodLiteral,...ko(a)});class id extends wo{_parse(e){if("string"!=typeof e.data){const a=this._getOrReturnCtx(e),t=this._def.values;return oo(a,{expected:Xi.joinValues(t),received:a.parsedType,code:ao.invalid_type}),lo}if(-1===this._def.values.indexOf(e.data)){const a=this._getOrReturnCtx(e),t=this._def.values;return oo(a,{received:a.data,code:ao.invalid_enum_value,options:t}),lo}return po(e.data)}get options(){return this._def.values}get enum(){const e={};for(const a of this._def.values)e[a]=a;return e}get Values(){const e={};for(const a of this._def.values)e[a]=a;return e}get Enum(){const e={};for(const a of this._def.values)e[a]=a;return e}extract(e){return id.create(e)}exclude(e){return id.create(this.options.filter((a=>!e.includes(a))))}}id.create=rd;class od extends wo{_parse(e){const a=Xi.getValidEnumValues(this._def.values),t=this._getOrReturnCtx(e);if(t.parsedType!==Yi.string&&t.parsedType!==Yi.number){const e=Xi.objectValues(a);return oo(t,{expected:Xi.joinValues(e),received:t.parsedType,code:ao.invalid_type}),lo}if(-1===a.indexOf(e.data)){const e=Xi.objectValues(a);return oo(t,{received:t.data,code:ao.invalid_enum_value,options:e}),lo}return po(e.data)}get enum(){return this._def.values}}od.create=(e,a)=>new od({values:e,typeName:kd.ZodNativeEnum,...ko(a)});class dd extends wo{unwrap(){return this._def.type}_parse(e){const{ctx:a}=this._processInputParams(e);if(a.parsedType!==Yi.promise&&!1===a.common.async)return oo(a,{code:ao.invalid_type,expected:Yi.promise,received:a.parsedType}),lo;const t=a.parsedType===Yi.promise?a.data:Promise.resolve(a.data);return po(t.then((e=>this._def.type.parseAsync(e,{path:a.path,errorMap:a.common.contextualErrorMap}))))}}dd.create=(e,a)=>new dd({type:e,typeName:kd.ZodPromise,...ko(a)});class ud extends wo{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===kd.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:a,ctx:t}=this._processInputParams(e),n=this._def.effect||null;if("preprocess"===n.type){const e=n.transform(t.data);return t.common.async?Promise.resolve(e).then((e=>this._def.schema._parseAsync({data:e,path:t.path,parent:t}))):this._def.schema._parseSync({data:e,path:t.path,parent:t})}const s={addIssue:e=>{oo(t,e),e.fatal?a.abort():a.dirty()},get path(){return t.path}};if(s.addIssue=s.addIssue.bind(s),"refinement"===n.type){const e=e=>{const a=n.refinement(e,s);if(t.common.async)return Promise.resolve(a);if(a instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===t.common.async){const n=this._def.schema._parseSync({data:t.data,path:t.path,parent:t});return"aborted"===n.status?lo:("dirty"===n.status&&a.dirty(),e(n.value),{status:a.value,value:n.value})}return this._def.schema._parseAsync({data:t.data,path:t.path,parent:t}).then((t=>"aborted"===t.status?lo:("dirty"===t.status&&a.dirty(),e(t.value).then((()=>({status:a.value,value:t.value}))))))}if("transform"===n.type){if(!1===t.common.async){const e=this._def.schema._parseSync({data:t.data,path:t.path,parent:t});if(!go(e))return e;const r=n.transform(e.value,s);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:a.value,value:r}}return this._def.schema._parseAsync({data:t.data,path:t.path,parent:t}).then((e=>go(e)?Promise.resolve(n.transform(e.value,s)).then((e=>({status:a.value,value:e}))):e))}Xi.assertNever(n)}}ud.create=(e,a,t)=>new ud({schema:e,typeName:kd.ZodEffects,effect:a,...ko(t)}),ud.createWithPreprocess=(e,a,t)=>new ud({schema:a,effect:{type:"preprocess",transform:e},typeName:kd.ZodEffects,...ko(t)});class ld extends wo{_parse(e){return this._getType(e)===Yi.undefined?po(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ld.create=(e,a)=>new ld({innerType:e,typeName:kd.ZodOptional,...ko(a)});class cd extends wo{_parse(e){return this._getType(e)===Yi.null?po(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}cd.create=(e,a)=>new cd({innerType:e,typeName:kd.ZodNullable,...ko(a)});class pd extends wo{_parse(e){const{ctx:a}=this._processInputParams(e);let t=a.data;return a.parsedType===Yi.undefined&&(t=this._def.defaultValue()),this._def.innerType._parse({data:t,path:a.path,parent:a})}removeDefault(){return this._def.innerType}}pd.create=(e,a)=>new pd({innerType:e,typeName:kd.ZodDefault,defaultValue:"function"==typeof a.default?a.default:()=>a.default,...ko(a)});class md extends wo{_parse(e){const{ctx:a}=this._processInputParams(e),t={...a,common:{...a.common,issues:[]}},n=this._def.innerType._parse({data:t.data,path:t.path,parent:{...t}});return ho(n)?n.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new to(t.common.issues)},input:t.data})}))):{status:"valid",value:"valid"===n.status?n.value:this._def.catchValue({get error(){return new to(t.common.issues)},input:t.data})}}removeCatch(){return this._def.innerType}}md.create=(e,a)=>new md({innerType:e,typeName:kd.ZodCatch,catchValue:"function"==typeof a.catch?a.catch:()=>a.catch,...ko(a)});class fd extends wo{_parse(e){if(this._getType(e)!==Yi.nan){const a=this._getOrReturnCtx(e);return oo(a,{code:ao.invalid_type,expected:Yi.nan,received:a.parsedType}),lo}return{status:"valid",value:e.data}}}fd.create=e=>new fd({typeName:kd.ZodNaN,...ko(e)});const gd=Symbol("zod_brand");class hd extends wo{_parse(e){const{ctx:a}=this._processInputParams(e),t=a.data;return this._def.type._parse({data:t,path:a.path,parent:a})}unwrap(){return this._def.type}}class bd extends wo{_parse(e){const{status:a,ctx:t}=this._processInputParams(e);if(t.common.async)return(async()=>{const e=await this._def.in._parseAsync({data:t.data,path:t.path,parent:t});return"aborted"===e.status?lo:"dirty"===e.status?(a.dirty(),co(e.value)):this._def.out._parseAsync({data:e.value,path:t.path,parent:t})})();{const e=this._def.in._parseSync({data:t.data,path:t.path,parent:t});return"aborted"===e.status?lo:"dirty"===e.status?(a.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:t.path,parent:t})}}static create(e,a){return new bd({in:e,out:a,typeName:kd.ZodPipeline})}}const vd=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2?arguments[2]:void 0;return e?zo.create().superRefine(((n,s)=>{var r,i;if(!e(n)){const e="function"==typeof a?a(n):"string"==typeof a?{message:a}:a,o=null===(i=null!==(r=e.fatal)&&void 0!==r?r:t)||void 0===i||i,d="string"==typeof e?{message:e}:e;s.addIssue({code:"custom",...d,fatal:o})}})):zo.create()},yd={object:Zo.lazycreate};var kd;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"}(kd||(kd={}));const wd=Mo.create,xd=Fo.create,Ad=fd.create,Ed=$o.create,Cd=Oo.create,Dd=Io.create,jd=No.create,Rd=Uo.create,Sd=Bo.create,_d=zo.create,Md=Po.create,Td=Lo.create,Fd=qo.create,$d=Ho.create,Od=Zo.create,Id=Zo.strictCreate,Nd=Vo.create,Ud=Ko.create,Bd=Xo.create,zd=Jo.create,Pd=Yo.create,Ld=ed.create,qd=ad.create,Hd=td.create,Wd=nd.create,Zd=sd.create,Vd=id.create,Gd=od.create,Kd=dd.create,Qd=ud.create,Xd=ld.create,Jd=cd.create,Yd=ud.createWithPreprocess,eu=bd.create,au={string:e=>Mo.create({...e,coerce:!0}),number:e=>Fo.create({...e,coerce:!0}),boolean:e=>Oo.create({...e,coerce:!0}),bigint:e=>$o.create({...e,coerce:!0}),date:e=>Io.create({...e,coerce:!0})},tu=lo;var nu,su=Object.freeze({__proto__:null,defaultErrorMap:no,setErrorMap:function(e){so=e},getErrorMap:ro,makeIssue:io,EMPTY_PATH:[],addIssueToContext:oo,ParseStatus:uo,INVALID:lo,DIRTY:co,OK:po,isAborted:mo,isDirty:fo,isValid:go,isAsync:ho,get util(){return Xi},get objectUtil(){return Ji},ZodParsedType:Yi,getParsedType:eo,ZodType:wo,ZodString:Mo,ZodNumber:Fo,ZodBigInt:$o,ZodBoolean:Oo,ZodDate:Io,ZodSymbol:No,ZodUndefined:Uo,ZodNull:Bo,ZodAny:zo,ZodUnknown:Po,ZodNever:Lo,ZodVoid:qo,ZodArray:Ho,ZodObject:Zo,ZodUnion:Vo,ZodDiscriminatedUnion:Ko,ZodIntersection:Xo,ZodTuple:Jo,ZodRecord:Yo,ZodMap:ed,ZodSet:ad,ZodFunction:td,ZodLazy:nd,ZodLiteral:sd,ZodEnum:id,ZodNativeEnum:od,ZodPromise:dd,ZodEffects:ud,ZodTransformer:ud,ZodOptional:ld,ZodNullable:cd,ZodDefault:pd,ZodCatch:md,ZodNaN:fd,BRAND:gd,ZodBranded:hd,ZodPipeline:bd,custom:vd,Schema:wo,ZodSchema:wo,late:yd,get ZodFirstPartyTypeKind(){return kd},coerce:au,any:_d,array:$d,bigint:Ed,boolean:Cd,date:Dd,discriminatedUnion:Ud,effect:Qd,enum:Vd,function:Hd,instanceof:function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{message:`Input not instance of ${e.name}`};return vd((a=>a instanceof e),a)},intersection:Bd,lazy:Wd,literal:Zd,map:Ld,nan:Ad,nativeEnum:Gd,never:Td,null:Sd,nullable:Jd,number:xd,object:Od,oboolean:()=>Cd().optional(),onumber:()=>xd().optional(),optional:Xd,ostring:()=>wd().optional(),pipeline:eu,preprocess:Yd,promise:Kd,record:Pd,set:qd,strictObject:Id,string:wd,symbol:jd,transformer:Qd,tuple:zd,undefined:Rd,union:Nd,unknown:Md,void:Fd,NEVER:tu,ZodIssueCode:ao,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:to});e.ResourceType=void 0,(nu=e.ResourceType||(e.ResourceType={})).MainFrame="main_frame",nu.SubFrame="sub_frame",nu.Stylesheet="stylesheet",nu.Script="script",nu.Image="image",nu.Font="font",nu.Object="object",nu.XmlHttpRequest="xmlhttprequest",nu.Ping="ping",nu.Media="media",nu.WebSocket="websocket",nu.Other="other";const ru=su.nativeEnum(e.ResourceType),iu=Object.freeze({[e.ResourceType.MainFrame]:"document",[e.ResourceType.SubFrame]:"subdocument",[e.ResourceType.Stylesheet]:"stylesheet",[e.ResourceType.Script]:"script",[e.ResourceType.Image]:"image",[e.ResourceType.Font]:"font",[e.ResourceType.Object]:"object",[e.ResourceType.XmlHttpRequest]:"xmlhttprequest",[e.ResourceType.Ping]:"ping",[e.ResourceType.Media]:"media",[e.ResourceType.WebSocket]:"websocket",[e.ResourceType.Other]:"other"}),ou=(e,a)=>{const t=iu[e];if(!t)return null;const n=hi.getFirst(t,a);return Be(n)?null:n.name},du=a=>Object.values(e.ResourceType).includes(a),uu=e=>{if(e.startsWith("abp-resource:"))return e.slice(13);const a=e.lastIndexOf(o);return-1!==a&&/^\d+$/.test(e.slice(a+1))?e.slice(0,a):e};fi(pi);const lu=new class extends li{constructor(e){super(e,uu)}getResourceTypeModifiers(e,a){let t=null;t="string"==typeof e?this.getFirst(e,a):e;const n=new Set;if(Be(t)||Ue(t.resourceTypes))return n;for(const e of t.resourceTypes){const t=ou(e,a);Be(t)||n.add(t)}return n}}(pi);fi(mi);const cu=new class extends li{}(mi),pu=e=>{const a=e.split("|").map((e=>e.trim()));let t=0;for(let e of a){let a=!1;e.startsWith("~")&&(a=!0,e=e.slice(1).trim());const n=ii.get(e)??di.get(e);if(Ue(n))throw new Error(`Unknown platform: ${e}`);a?t&=~n:t|=n}if(0===t)throw new Error("No platforms specified");return t};su.string().min(1).transform((e=>pu(e)));var mu={exports:{}};const fu=e=>"object"==typeof e&&null!==e,gu=Symbol("skip"),hu=e=>fu(e)&&!(e instanceof RegExp)&&!(e instanceof Error)&&!(e instanceof Date),bu=function(e,a,t){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new WeakMap;if(t={deep:!1,target:{},...t},n.has(e))return n.get(e);n.set(e,t.target);const{target:s}=t;delete t.target;const r=e=>e.map((e=>hu(e)?bu(e,a,t,n):e));if(Array.isArray(e))return r(e);for(const[i,o]of Object.entries(e)){const d=a(i,o,e);if(d===gu)continue;let[u,l,{shouldRecurse:c=!0}={}]=d;"__proto__"!==u&&(t.deep&&c&&hu(l)&&(l=Array.isArray(l)?r(l):bu(l,a,t,n)),s[u]=l)}return s};mu.exports=(e,a,t)=>{if(!fu(e))throw new TypeError(`Expected an object, got \`${e}\` (${typeof e})`);return bu(e,a,t)},mu.exports.mapObjectSkip=gu;var vu=mu.exports,yu={exports:{}};const ku=/[\p{Lu}]/u,wu=/[\p{Ll}]/u,xu=/^[\p{Lu}](?![\p{Lu}])/gu,Au=/([\p{Alpha}\p{N}_]|$)/u,Eu=/[_.\- ]+/,Cu=new RegExp("^"+Eu.source),Du=new RegExp(Eu.source+Au.source,"gu"),ju=new RegExp("\\d+"+Au.source,"gu"),Ru=(e,a)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");if(a={pascalCase:!1,preserveConsecutiveUppercase:!1,...a},0===(e=Array.isArray(e)?e.map((e=>e.trim())).filter((e=>e.length)).join("-"):e.trim()).length)return"";const t=!1===a.locale?e=>e.toLowerCase():e=>e.toLocaleLowerCase(a.locale),n=!1===a.locale?e=>e.toUpperCase():e=>e.toLocaleUpperCase(a.locale);return 1===e.length?a.pascalCase?n(e):t(e):(e!==t(e)&&(e=((e,a,t)=>{let n=!1,s=!1,r=!1;for(let i=0;i<e.length;i++){const o=e[i];n&&ku.test(o)?(e=e.slice(0,i)+"-"+e.slice(i),n=!1,r=s,s=!0,i++):s&&r&&wu.test(o)?(e=e.slice(0,i-1)+"-"+e.slice(i-1),r=s,s=!1,n=!0):(n=a(o)===o&&t(o)!==o,r=s,s=t(o)===o&&a(o)!==o)}return e})(e,t,n)),e=e.replace(Cu,""),e=a.preserveConsecutiveUppercase?((e,a)=>(xu.lastIndex=0,e.replace(xu,(e=>a(e)))))(e,t):t(e),a.pascalCase&&(e=n(e.charAt(0))+e.slice(1)),((e,a)=>(Du.lastIndex=0,ju.lastIndex=0,e.replace(Du,((e,t)=>a(t))).replace(ju,(e=>a(e)))))(e,n))};yu.exports=Ru,yu.exports.default=Ru;var Su=yu.exports;class _u{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,a){if(this.cache.set(e,a),this._size++,this._size>=this.maxSize){if(this._size=0,"function"==typeof this.onEviction)for(const[e,a]of this.oldCache.entries())this.onEviction(e,a);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){const a=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,a),a}}set(e,a){return this.cache.has(e)?this.cache.set(e,a):this._set(e,a),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){return this.cache.has(e)?this.cache.get(e):this.oldCache.has(e)?this.oldCache.get(e):void 0}delete(e){const a=this.cache.delete(e);return a&&this._size--,this.oldCache.delete(e)||a}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache)yield e;for(const e of this.oldCache){const[a]=e;this.cache.has(a)||(yield e)}}get size(){let e=0;for(const a of this.oldCache.keys())this.cache.has(a)||e++;return Math.min(this._size+e,this.maxSize)}}const Mu=vu,Tu=Su,Fu=new _u({maxSize:1e5}),$u=e=>!("object"!=typeof e||null===e||e instanceof RegExp||e instanceof Error||e instanceof Date),Ou=(e,a)=>{if(!$u(e))return e;a={deep:!1,pascalCase:!1,...a};const{exclude:t,pascalCase:n,stopPaths:s,deep:r}=a,i=new Set(s),o=e=>(a,s)=>{if(r&&$u(s)){const t=void 0===e?a:`${e}.${a}`;i.has(t)||(s=Mu(s,o(t)))}if(!t||!((e,a)=>e.some((e=>"string"==typeof e?e===a:(e.lastIndex=0,e.test(a)))))(t,a)){const e=n?`${a}_`:a;if(Fu.has(e))a=Fu.get(e);else{const t=Tu(a,{pascalCase:n,locale:!1});a.length<100&&Fu.set(e,t),a=t}}return[a,s]};return Mu(e,o(void 0))};var Iu=(e,a)=>Array.isArray(e)?Object.keys(e).map((t=>Ou(e[t],a))):Ou(e,a),Nu=ie(Iu);const Uu=e=>e.transform((e=>Nu(e))),Bu=su.union([su.string().transform((e=>"true"===e.trim().toLowerCase())),su.boolean()]),zu=su.string().transform((e=>e.trim())).pipe(su.string().min(1)),Pu=su.object({name:zu,aliases:su.array(zu).nullable().default(null),description:zu.nullable().default(null),docs:zu.nullable().default(null),version_added:zu.nullable().default(null),version_removed:zu.nullable().default(null),deprecated:Bu.default(!1),deprecation_message:zu.nullable().default(null),removed:Bu.default(!1),removal_message:zu.nullable().default(null)});Uu(Pu);const Lu=(e,a)=>{e.deprecated&&!e.deprecation_message&&a.addIssue({code:su.ZodIssueCode.custom,message:"deprecation_message is required for deprecated modifiers"}),!e.deprecated&&e.deprecation_message&&a.addIssue({code:su.ZodIssueCode.custom,message:"deprecation_message is only allowed for deprecated modifiers"}),e.aliases&&e.aliases.length!==new Set(e.aliases).size&&a.addIssue({code:su.ZodIssueCode.custom,message:"Aliases must be unique"})};function qu(e){return function(e){if("object"==typeof(a=e)&&null!==a&&"message"in a&&"string"==typeof a.message)return e;var a;try{return new Error(JSON.stringify(e))}catch{return new Error(String(e))}}(e).message}const Hu=new Set(["domain","pipe_separated_domains","regexp","url"]);Uu(Pu.extend({conflicts:su.array(zu).nullable().default(null),inverse_conflicts:Bu.default(!1),assignable:Bu.default(!1),negatable:Bu.default(!0),block_only:Bu.default(!1),exception_only:Bu.default(!1),value_optional:Bu.default(!1),value_format:zu.nullable().default(null)}).superRefine(((e,a)=>{if(Lu(e,a),e.block_only&&e.exception_only&&a.addIssue({code:su.ZodIssueCode.custom,message:"block_only and exception_only are mutually exclusive"}),e.assignable&&!e.value_format&&a.addIssue({code:su.ZodIssueCode.custom,message:"value_format is required for assignable modifiers"}),e.value_format){const t=e.value_format.trim();if(Hu.has(t))return;try{jr(t)}catch(e){a.addIssue({code:su.ZodIssueCode.custom,message:qu(e)})}}}))),Uu(Pu.extend({is_blocking:Bu.default(!1),resource_types:su.array(ru).default([])}).superRefine(Lu));const Wu=su.object({name:zu,required:Bu,description:zu.nullable().default(null),pattern:zu.nullable().default(null),default:zu.nullable().default(null),debug:Bu.default(!1)}),Zu=su.array(Wu);Uu(Pu.extend({parameters:Zu.optional()}).superRefine(((e,a)=>{if(Lu(e,a),!e.parameters)return;let t=!1;for(const n of e.parameters)t&&n.required&&a.addIssue({code:su.ZodIssueCode.custom,message:"Required parameters must be before optional ones"}),n.required||(t=!0)})));const Vu="ubo-",Gu={"":"''",emptyArr:"[]",emptyObj:"{}"},Ku=new Set(["asap","stay","complete"]);class Qu extends yi{static convertToAdg(a){if(a.syntax===e.AdblockSyntax.Adg)return wi([a],!1);let t=a.separator.value;t=a.exception?e.CosmeticRuleSeparator.AdgJsInjectionException:e.CosmeticRuleSeparator.AdgJsInjection;const n=[];if(a.syntax===e.AdblockSyntax.Ubo&&1===a.body.children.length&&0===a.body.children[0].children.length)n.push(a.body.children[0]);else for(const t of a.body.children){const s=$i(t),o=Ir.setStringQuoteType(Zi(s),e.QuoteType.None);let d,u;switch(a.syntax){case e.AdblockSyntax.Abp:d="abp-",u=i;break;case e.AdblockSyntax.Ubo:d=Vu,u=",";break;default:d=r}if(o.startsWith(d)||Ki(s,`${d}${o}`),Ue(u)||Gi(s,(e=>Be(e)?e:Ir.unescapeSingleEscapedOccurrences(e,u))),a.syntax===e.AdblockSyntax.Ubo){const a=cu.getFirst(o,e.GenericPlatform.UboAny);if(a&&("remove-class.js"===a.name||"remove-attr.js"===a.name)&&s.children.length>2){const e=[];let a=null,t=s.children.pop();for(t&&(Ku.has(t.value)?a=t.value:e.push(t.value));s.children.length>2;)t=s.children.pop(),t&&e.push(t.value.trim());e.length>0&&s.children.push({type:"Value",value:e.reverse().join(", ")}),Be(a)||(0===e.length&&s.children.push({type:"Value",value:r}),s.children.push({type:"Value",value:a}))}}Qi(s,e.QuoteType.Single),n.push(s)}return wi(n.map((n=>{const s={category:a.category,type:a.type,syntax:e.AdblockSyntax.Adg,exception:a.exception,domains:Oi(a.domains),separator:{type:"Value",value:t},body:{type:a.body.type,children:[n]}};return a.modifiers&&(s.modifiers=Ii(a.modifiers)),s})),!0)}static convertToUbo(a){if(a.syntax===e.AdblockSyntax.Ubo)return wi([a],!1);let t=a.separator.value;t=a.exception?e.CosmeticRuleSeparator.ElementHidingException:e.CosmeticRuleSeparator.ElementHiding;const n=[];if(a.syntax===e.AdblockSyntax.Adg&&1===a.body.children.length&&0===a.body.children[0].children.length)n.push(a.body.children[0]);else for(const t of a.body.children){const s=$i(t),r=Ir.setStringQuoteType(Zi(s),e.QuoteType.None);let o;if(a.syntax===e.AdblockSyntax.Adg&&r.startsWith(Vu))o=r.slice(4);else{const a=cu.getFirst(r,e.GenericPlatform.UboAny);o=(null==a?void 0:a.name)??r}switch(o.endsWith(".js")&&(o=o.slice(0,-3)),Ki(s,o),Qi(s,e.QuoteType.None),Gi(s,(e=>Be(e)?e:Ir.escapeUnescapedOccurrences(e,","))),a.syntax===e.AdblockSyntax.Abp&&Gi(s,(e=>Be(e)?e:Ir.unescapeSingleEscapedOccurrences(e,i))),r){case"set-constant":Vi(s,2,(e=>Be(e)?e:Gu[e]??e));break;case"prevent-fetch":Vi(s,1,(e=>""===e||"*"===e?"/^/":e))}n.push(s)}return wi(n.map((n=>{const s={category:a.category,type:a.type,syntax:e.AdblockSyntax.Ubo,exception:a.exception,domains:Oi(a.domains),separator:{type:"Value",value:t},body:{type:a.body.type,children:[n]}};return a.modifiers&&(s.modifiers=Ii(a.modifiers)),s})),!0)}}function Xu(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;const t={type:"Modifier",exception:arguments.length>2&&void 0!==arguments[2]&&arguments[2],name:{type:"Value",value:e}};return Ue(a)||(t.value={type:"Value",value:a}),t}class Ju extends Map{add(e){let a=super.get(e);for(var t=arguments.length,n=new Array(t>1?t-1:0),s=1;s<t;s++)n[s-1]=arguments[s];Ue(a)&&(a=[],super.set(e,n)),a.push(...n)}}const Yu="matches-path",el=new Set([D,j,d,b]);class al{static convertFromUbo(e){const a=new Ju;if(e.children.forEach(((e,t)=>{if(e.name.value===Yu){if(!e.value)throw new Os(`'${Yu}' operator requires a value`);const n=Fi.isRegexPattern(e.value.value)?V.escapeCharacters(e.value.value,el):e.value.value;a.add(t,Xu("path",e.exception?`${M}${Fi.negateRegexPattern(Fi.patternToRegexp(n))}${M}`:n))}})),a.size){const t=ri(e);return t.children=t.children.map(((e,t)=>a.get(t)??e)).flat(),ki(t,!0)}return ki(e,!1)}}const tl={INVALID_ATTRIBUTE_VALUE:`Expected '${nn(an.Ident)}' or '${nn(an.String)}' as attribute value, but got '%s' with value '%s`};var nl,sl;!function(e){e.AbpContains="-abp-contains",e.AbpHas="-abp-has",e.Contains="contains",e.Has="has",e.HasText="has-text",e.MatchesCss="matches-css",e.MatchesCssAfter="matches-css-after",e.MatchesCssBefore="matches-css-before",e.Not="not"}(nl||(nl={})),function(e){e.After="after",e.Before="before"}(sl||(sl={}));const rl=new Set([sl.After,sl.Before]);class il extends vi{static convertToAdg(e){const a=e instanceof _n?e:new _n(e),t=[],n=e=>{switch(e){case nl.AbpContains:case nl.HasText:t.push(nl.Contains),t.push(E);break;case nl.AbpHas:t.push(nl.Has),t.push(E);break;case nl.MatchesCssBefore:case nl.MatchesCssAfter:t.push(nl.MatchesCss),t.push(E),t.push(e.substring(nl.MatchesCss.length+1)),t.push(d);break;default:t.push(e),t.push(E)}};for(;!a.isEof();){const e=a.getOrFail();if(e.type===an.Colon){a.advance(),t.push(o);const e=a.getOrFail();if(e.type===an.Colon){a.advance(),t.push(o);continue}if(e.type===an.Ident){const n=a.source.slice(e.start,e.end);rl.has(n)?(t.push(o),t.push(n)):t.push(n),a.advance()}else e.type===an.Function&&(n(a.source.slice(e.start,e.end-1)),a.advance())}else if(e.type===an.OpenSquareBracket){let s;const{start:r}=e;a.advance(),a.skipWhitespace(),a.expect(an.Ident),s=a.getOrFail();let i=a.source.slice(s.start,s.end);if(!i.startsWith(En)&&!i.startsWith(Cn)){t.push(a.source.slice(r,s.end)),a.advance();continue}if(i.startsWith(En)&&(i=i.slice(5)),a.advance(),a.skipWhitespace(),a.expect(an.Delim,{value:m}),a.advance(),a.skipWhitespace(),s=a.getOrFail(),s.type!==an.Ident&&s.type!==an.String)throw new Error(Ct.sprintf(tl.INVALID_ATTRIBUTE_VALUE,nn(s.type),a.source.slice(s.start,s.end)));const d=a.source.slice(s.start,s.end);a.advance(),a.skipWhitespace(),a.expect(an.CloseSquareBracket),a.advance(),t.push(o),n(i);let u=d.slice(1,-1);i===nl.Has&&(u=il.convertToAdg(u).result),t.push(u),t.push(C)}else t.push(a.source.slice(e.start,e.end)),a.advance()}const s=t.join(r);return ki(s,a.source!==s)}}class ol extends yi{static convertToAdg(a){const t=a.separator.value;let n=t;const s=new _n(a.body.selectorList.value),r=il.convertToAdg(s);if(s.hasAnySelectorExtendedCssNodeStrict()||a.body.remove?n=a.exception?e.CosmeticRuleSeparator.AdgExtendedCssInjectionException:e.CosmeticRuleSeparator.AdgExtendedCssInjection:a.syntax!==e.AdblockSyntax.Adg&&(n=a.exception?e.CosmeticRuleSeparator.AdgCssInjectionException:e.CosmeticRuleSeparator.AdgCssInjection),a.syntax!==e.AdblockSyntax.Common&&a.syntax!==e.AdblockSyntax.Adg||t!==n||r.isConverted){const t=ri(a);return t.syntax=e.AdblockSyntax.Adg,t.separator.value=n,t.body.selectorList.value=r.result,wi([t],!0)}return wi([a],!1)}}class dl extends yi{static convertToAdg(a){const t=a.separator.value;let n=t;const s=new _n(a.body.selectorList.value),r=il.convertToAdg(s);if(s.hasAnySelectorExtendedCssNodeStrict()&&(n=a.exception?e.CosmeticRuleSeparator.ExtendedElementHidingException:e.CosmeticRuleSeparator.ExtendedElementHiding),a.syntax!==e.AdblockSyntax.Common&&a.syntax!==e.AdblockSyntax.Adg||t!==n||r.isConverted){const t=ri(a);return t.syntax=e.AdblockSyntax.Adg,t.separator.value=n,t.body.selectorList.value=r.result,wi([t],!0)}return wi([a],!1)}}function ul(a){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.AdblockSyntax.Common;const r={category:e.RuleCategory.Network,type:e.NetworkRuleType.NetworkRule,syntax:s,exception:n,pattern:{type:"Value",value:a}};return Ue(t)||(r.modifiers=ri(t)),r}const ll="responseheader",cl={EMPTY_PARAMETER:`Empty parameter for '${ll}' function`,EXPECTED_END_OF_RULE:"Expected end of rule, but got '%s'",MULTIPLE_DOMAINS_NOT_SUPPORTED:"Multiple domains are not supported yet"};class pl extends yi{static convertToAdg(a){if(a.category!==e.RuleCategory.Cosmetic||a.type!==e.CosmeticRuleType.HtmlFilteringRule)return wi([a],!1);const t=new _n(a.body.value);let n;if(t.skipWhitespace(),n=t.get(),!n||n.type!==an.Delim||"^"!==a.body.value[n.start])return wi([a],!1);if(t.advance(),n=t.get(),!n)return wi([a],!1);if(a.body.value.slice(n.start,n.end-1)!==ll)return wi([a],!1);const s=n.end;t.skipUntilBalanced();const i=t.getOrFail().end,o=a.body.value.slice(s,i-1).trim();if(0===o.length)throw new Os(cl.EMPTY_PARAMETER);if(t.expect(an.CloseParenthesis),t.advance(),t.skipWhitespace(),!t.isEof())throw n=t.getOrFail(),new Os(Ct.sprintf(cl.EXPECTED_END_OF_RULE,nn(n.type)));const d=[];if(1===a.domains.children.length)d.push(Ci,a.domains.children[0].value,"^");else if(a.domains.children.length>1)throw new Os(cl.MULTIPLE_DOMAINS_NOT_SUPPORTED);const u=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:"ModifierList",children:e.length?ri(e):[]}}();return u.children.push(Xu("removeheader",o)),wi([ul(d.join(r),u,a.exception,e.AdblockSyntax.Adg)],!0)}}class ml extends yi{static convertToAdg(a){let t,n;switch(a.type){case e.CosmeticRuleType.ElementHidingRule:t=dl.convertToAdg(a);break;case e.CosmeticRuleType.ScriptletInjectionRule:t=Qu.convertToAdg(a);break;case e.CosmeticRuleType.CssInjectionRule:t=ol.convertToAdg(a);break;case e.CosmeticRuleType.HtmlFilteringRule:if(t=pl.convertToAdg(a),t.isConverted)break;t=Wi.convertToAdg(a);break;case e.CosmeticRuleType.JsInjectionRule:t=wi([a],!1);break;default:throw new Os("Unsupported cosmetic rule type")}if(a.modifiers)if(a.syntax===e.AdblockSyntax.Ubo){if(a.type===e.CosmeticRuleType.ScriptletInjectionRule)throw new Os("uBO scriptlet injection rules don't support cosmetic rule modifiers");n=al.convertFromUbo(a.modifiers)}else if(a.syntax===e.AdblockSyntax.Abp)throw new Os("ABP don't support cosmetic rule modifiers");return t.result.length>1||t.isConverted||n&&n.isConverted?(t.result.forEach((a=>{n&&a.category===e.RuleCategory.Cosmetic&&(a.modifiers=n.result)})),t):wi([a],!1)}static convertToUbo(a){if(a.type===e.CosmeticRuleType.ScriptletInjectionRule){var t;if(a.syntax===e.AdblockSyntax.Adg&&null!==(t=a.modifiers)&&void 0!==t&&t.children.length)throw new Os("uBO scriptlet injection rules do not support cosmetic rule modifiers");return Qu.convertToUbo(a)}return wi([a],!1)}}const fl="csp",gl=l+i,hl="'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:",bl="rewrite",vl="redirect",yl=new Set([bl,vl,"redirect-rule"]),kl=new Map([["1p",[{name:()=>"third-party",exception:e=>!e}]],["3p",[{name:()=>"third-party"}]],["css",[{name:()=>"stylesheet"}]],["doc",[{name:()=>"document"}]],["ehide",[{name:()=>"elemhide"}]],["empty",[{name:()=>"redirect",value:()=>"nooptext"}]],["first-party",[{name:()=>"third-party",exception:e=>!e}]],["frame",[{name:()=>"subdocument"}]],["ghide",[{name:()=>"generichide"}]],["inline-font",[{name:()=>fl,value:()=>`font-src ${hl}`}]],["inline-script",[{name:()=>fl,value:()=>`script-src ${hl}`}]],["mp4",[{name:()=>"redirect",value:()=>"noopmp4-1s"},{name:()=>"media",value:()=>{}}]],["queryprune",[{name:()=>"removeparam"}]],["shide",[{name:()=>"specifichide"}]],["xhr",[{name:()=>"xmlhttprequest"}]]]);class wl extends vi{static convertToAdg(a){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=new Ju;let s=0;if(a.children.forEach(((a,r)=>{const i=kl.get(a.name.value);if(i)for(const e of i){var o,d,u;const t=e.name(a.name.value),i=e.exception?e.exception(a.exception||!1):a.exception,l=e.value?e.value(null===(o=a.value)||void 0===o?void 0:o.value):null===(d=a.value)||void 0===d?void 0:d.value;t===a.name.value&&l===(null===(u=a.value)||void 0===u?void 0:u.value)||n.add(r,Xu(t,l,i)),t===fl&&(s+=1)}else if(yl.has(a.name.value)){var l,c;if(!0===a.exception)throw new Os(`Modifier '${a.name.value}' cannot be negated`);const s=null===(l=a.value)||void 0===l?void 0:l.value;if(!s&&!t)throw new Os(`No redirect resource specified for '${a.name.value}' modifier`);const i=a.name.value===bl?vl:a.name.value,o=s?null===(c=lu.getFirst(s,e.GenericPlatform.AdgAny))||void 0===c?void 0:c.name:void 0;(i!==a.name.value||void 0!==o&&o!==s)&&n.add(r,Xu(i,o||s,a.exception))}})),n.size||s){const e=Ii(a);if(e.children=e.children.map(((e,a)=>n.get(a)||e)).flat(),s){const a=[];e.children=e.children.filter((e=>{if(e.name.value===fl){var t,n;if(null===(t=e.value)||void 0===t||!t.value)throw new Os("$csp modifier value is missing");return a.push(null===(n=e.value)||void 0===n?void 0:n.value),!1}return!0})),e.children.push(Xu(fl,a.join(gl)))}return e.children=e.children.filter(((e,a,t)=>t.findIndex((a=>{var t,n;return a.name.value===e.name.value&&a.exception===e.exception&&(null===(t=a.value)||void 0===t?void 0:t.value)===(null===(n=e.value)||void 0===n?void 0:n.value)}))===a)),ki(e,!0)}return ki(a,!1)}static convertToUbo(a){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=new Ju,s=new Set;if(a.children.forEach(((r,i)=>{const o=r.name.value,d=hi.getFirst(o,e.GenericPlatform.UboAny);if(yl.has(o)){var u,l;if(!0===r.exception)throw new Os(`Modifier '${r.name.value}' cannot be negated`);const d=null===(u=r.value)||void 0===u?void 0:u.value;if(!d&&!t)throw new Os(`No redirect resource specified for '${r.name.value}' modifier`);if(!d)return;const c=r.name.value===bl?vl:r.name.value,p=lu.getFirst(d,e.GenericPlatform.UboAny),m=(null==p?void 0:p.name)??d;if(null!=p&&null!==(l=p.resourceTypes)&&void 0!==l&&l.length){const t=lu.getResourceTypeModifiers(p,e.GenericPlatform.UboAny),n="noop.txt"===m,r=a.children.some((a=>{const n=a.name.value;if(!du(n))return!1;const s=hi.getFirst(n,e.GenericPlatform.UboAny);return t.has((null==s?void 0:s.name)??n)}));n&&r||t.forEach((e=>{s.add(e)}))}(c!==o||!Ue(m)&&m!==d)&&n.add(i,Xu(c,m||d,r.exception))}else{var c;d&&d.name!==o&&n.add(i,Xu(d.name,null===(c=r.value)||void 0===c?void 0:c.value,r.exception))}})),n.size||s.size){const e=Ii(a);if(e.children=e.children.map(((e,a)=>n.get(a)||e)).flat(),e.children=e.children.filter(((e,a,t)=>t.findIndex((a=>{var t,n;return a.name.value===e.name.value&&a.exception===e.exception&&(null===(t=a.value)||void 0===t?void 0:t.value)===(null===(n=e.value)||void 0===n?void 0:n.value)}))===a)),s.size){const t=new Set(a.children.map((e=>e.name.value)));s.forEach((a=>{t.has(a)||e.children.push(Xu(a))}))}return ki(e,!0)}return ki(a,!1)}}class xl extends yi{static convertToAdg(a){if(a.type!==e.NetworkRuleType.NetworkRule)throw new Error(`Invalid rule type: ${a.type}`);if(a.modifiers){const t=wl.convertToAdg(a.modifiers,a.exception);if(t.isConverted)return{result:[{category:e.RuleCategory.Network,type:e.NetworkRuleType.NetworkRule,syntax:a.syntax,exception:a.exception,pattern:{type:"Value",value:a.pattern.value},modifiers:t.result}],isConverted:!0}}return wi([a],!1)}static convertToUbo(a){if(a.type!==e.NetworkRuleType.NetworkRule)throw new Error(`Invalid rule type: ${a.type}`);if(a.modifiers){const t=wl.convertToUbo(a.modifiers,a.exception);if(t.isConverted)return{result:[{category:e.RuleCategory.Network,type:e.NetworkRuleType.NetworkRule,syntax:a.syntax,exception:a.exception,pattern:{type:"Value",value:a.pattern.value},modifiers:t.result}],isConverted:!0}}return wi([a],!1)}}class Al extends yi{static convertToAdg(a){switch(a.category){case e.RuleCategory.Comment:return xi.convertToAdg(a);case e.RuleCategory.Cosmetic:return ml.convertToAdg(a);case e.RuleCategory.Network:return a.type===e.NetworkRuleType.HostRule?ki([a],!1):xl.convertToAdg(a);case e.RuleCategory.Invalid:case e.RuleCategory.Empty:return ki([a],!1);default:throw new Os("Unknown rule category")}}static convertToUbo(a){return a.category===e.RuleCategory.Cosmetic?ml.convertToUbo(a):a.category===e.RuleCategory.Network?xl.convertToUbo(a):ki([a],!1)}}class El extends vi{static convertToAdg(e){let a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const t=new Ju;for(let n=0;n<e.children.length;n+=1)try{const a=Al.convertToAdg(e.children[n]);a.isConverted&&t.add(n,...a.result)}catch(e){if(!a)throw e}if(0===t.size)return ki(e,!1);const n={type:"FilterList",children:[]};for(let a=0;a<e.children.length;a+=1){const s=t.get(a);s?n.children.push(...s):n.children.push(ri(e.children[a]))}return ki(n,!0)}}const Cl="Unexpected node type";class Dl{static getVariables(e){if(e.type===it.Variable)return[e];if(e.type===it.Operator)return[...Dl.getVariables(e.left),...e.right?Dl.getVariables(e.right):[]];if(e.type===it.Parenthesis)return Dl.getVariables(e.expression);throw new Error(Cl)}static evaluate(e,a){if(e.type===it.Variable)return!!a[e.name];if(e.type===it.Operator){if(e.operator===G.And||e.operator===G.Or){if(!e.right)throw new Error(`Unexpected operator '${e.operator}'`);if(e.operator===G.And)return Dl.evaluate(e.left,a)&&Dl.evaluate(e.right,a);if(e.operator===G.Or)return Dl.evaluate(e.left,a)||Dl.evaluate(e.right,a)}else if(e.operator===G.Not)return!Dl.evaluate(e.left,a)}else if(e.type===it.Parenthesis)return Dl.evaluate(e.expression,a);throw new Error(`${Cl} '${e.type}'`)}}class jl{constructor(e){let a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];_defineProperty(this,"chunks",void 0),_defineProperty(this,"chunksLength",void 0);const t=e??[];this.chunks=a?t.map((e=>new Uint8Array(e))):t,this.chunksLength=(null==e?void 0:e.length)??0}ensureCapacity(e){const a=e>>>15;for(let e=this.chunksLength;e<=a;e+=1)this.chunks.push(new Uint8Array(jl.CHUNK_SIZE)),this.chunksLength+=1}writeByte(e,a){const t=e>>>15,n=32767&e;t>=this.chunksLength&&this.ensureCapacity(e),this.chunks[t][n]=a}readByte(e){const a=e>>>15,t=32767&e;if(!(a>=this.chunksLength))return this.chunks[a][t]}}_defineProperty(jl,"CHUNK_SIZE",32768);const Rl=()=>"undefined"!=typeof window&&(Object.prototype.hasOwnProperty.call(window,"chrome")||void 0!==window.navigator&&/chrome/i.test(window.navigator.userAgent)),Sl=e=>e>=0&&e<=127,_l=[192,224,240],Ml=(e,a)=>{const{length:t}=a;let n=0,s=0;for(let r=0;r<e.length;){const i=e.codePointAt(r)||0;let o=1;if(Sl(i)){if(s>=t)break;a[s]=i,s+=1,n+=1,r+=1}else{if(i>=128&&i<=2047?o=2:i>=2048&&i<=65535?o=3:i>=65536&&i<=1114111&&(o=4),s+o-1>=t)break;let e=o-1;const d=_l[o-2];for(a[s]=(i>>6*e)+d,s+=1;e>0;)a[s]=128|i>>6*(e-1)&63,s+=1,e-=1;n+=i>=65536?2:1,r+=i>=65536?2:1}}return{read:n,written:s}};class Tl extends jl{constructor(){super(),_defineProperty(this,"offset",void 0),_defineProperty(this,"sharedBuffer",void 0),_defineProperty(this,"sharedNativeEncoder",void 0),_defineProperty(this,"isChromium",void 0),this.sharedBuffer=new Uint8Array(Tl.ENCODER_BUFFER_SIZE),this.sharedNativeEncoder=new TextEncoder,this.isChromium=Rl(),this.writeUint32ToIndex(1,0),this.offset=4}writeUint8(e){return this.writeByte(this.offset++,e),1}writeUint16(e){return this.writeByte(this.offset++,e>>8),this.writeByte(this.offset++,e),2}writeUint32ToIndex(e,a){return this.writeByte(a,e>>24),this.writeByte(a+1,e>>16),this.writeByte(a+2,e>>8),this.writeByte(a+3,e),4}writeUint32(e){return this.writeUint32ToIndex(e,this.offset),this.offset+=4,4}writeInt32(e){return this.writeUint32(e?e>>>0:0)}writeBuffer(e){const{length:a}=e;this.ensureCapacity(this.offset+a);let t=this.offset>>>15,n=32767&this.offset,s=a;for(;s;){const r=jl.CHUNK_SIZE-n,i=Math.min(s,r);this.chunks[t].set(e.subarray(a-s,a-s+i),n),s-=i,t+=1,n=0}}writeString(e){const a=this.offset;if(e.length<=Tl.SHORT_STRING_THRESHOLD){let t;return t=this.isChromium?Ml(e,this.sharedBuffer).written??0:this.sharedNativeEncoder.encodeInto(e,this.sharedBuffer).written??0,this.writeOptimizedUint(t),this.writeBuffer(this.sharedBuffer.subarray(0,t)),this.offset+=t,this.offset-a}const t=this.sharedNativeEncoder.encode(e),n=t.length;return this.writeOptimizedUint(n),this.writeBuffer(t),this.offset+=n,this.offset-a}async writeChunksToStorage(e,a){await e.set(a,this.chunks)}writeOptimizedUint(e){if(e<0||e>Tl.MAX_OPTIMIZED_UINT)throw new Error("Value exceeds 29-bit limit");let a=e;const t=this.offset;for(;a>=128;){const e=127&a;a>>>=7,this.writeByte(this.offset++,128|e)}return this.writeByte(this.offset++,a),this.offset-t}get currentOffset(){return this.offset}}_defineProperty(Tl,"ENCODER_BUFFER_SIZE",8192),_defineProperty(Tl,"SHORT_STRING_THRESHOLD",2048),_defineProperty(Tl,"MAX_OPTIMIZED_UINT",536870911);const Fl=String.fromCodePoint(65533),$l=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,n=0,s=0,i=0,o=128,d=191,u=a;const{length:l}=e,c=-1===t?l:Math.min(t,l),p=new Array(c-a);let m=0;for(;u<c;u+=1){const a=e[u];if(0===i)if(a<=127)n=255&a;else if(a>=194&&a<=223)i=1,n=31&a;else if(a>=224&&a<=239)i=2,n=15&a,224===a?o=160:237===a&&(d=159);else{if(!(a>=240&&a<=244)){p[m++]=Fl;continue}i=3,n=7&a,240===a?o=144:244===a&&(d=143)}else{if(!(a>=o&&a<=d)){i=0,s=0,o=128,d=191,p[m++]=Fl,u-=1;continue}n=n<<6|63&a,o=128,d=191,s+=1}s===i&&(p[m++]=String.fromCodePoint(n),i=0,s=0,n=0)}return p.join(r)};class Ol extends jl{constructor(e){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(super(e,arguments.length>1&&void 0!==arguments[1]&&arguments[1]),_defineProperty(this,"offset",void 0),_defineProperty(this,"sharedNativeDecoder",void 0),_defineProperty(this,"isChromium",void 0),0===e.length)throw new Error("No data in the buffer");const t=this.readSchemaVersion();if(1!==t)throw new Is(1,t);if(a<0||a>this.chunks.length*jl.CHUNK_SIZE)throw new Error(`Invalid offset: ${a}`);this.offset=Math.max(4,a),this.sharedNativeDecoder=new TextDecoder,this.isChromium=Rl()}static async createFromStorage(e,a){const t=await e.get(a);if(n=t,!Array.isArray(n)||!n.every((e=>e instanceof Uint8Array)))throw new Error("The data from storage is not an array of Uint8Arrays");var n;return new Ol(t)}readUint8(){return this.readByte(this.offset++)??0}readUint16(){return((this.readByte(this.offset++)??0)<<8|(this.readByte(this.offset++)??0))>>>0}readUint32FromIndex(e){return((this.readByte(e)??0)<<24|(this.readByte(e+1)??0)<<16|(this.readByte(e+2)??0)<<8|(this.readByte(e+3)??0))>>>0}readUint32(){const e=this.readUint32FromIndex(this.offset);return this.offset+=4,e}readSchemaVersion(){return this.readUint32FromIndex(0)}readInt32(){const e=this.readUint32();return e>2147483647?e-4294967296:e}readOptimizedUint(){let e=0,a=0;for(;a<=28;){const t=this.readByte(this.offset++)??0;if(e|=(127&t)<<a,a+=7,!(128&t))break}return e}readString(){const e=this.readOptimizedUint();let a=this.offset>>>15;const t=32767&this.offset,n=t+e;if(n<jl.CHUNK_SIZE)return this.offset+=e,this.isChromium?$l(this.chunks[a],t,n):this.sharedNativeDecoder.decode(this.chunks[a].subarray(t,n));const s=[];s.push(this.sharedNativeDecoder.decode(this.chunks[a++].subarray(t),{stream:!0}));let r=e-(jl.CHUNK_SIZE-t);for(;r;){const e=this.chunks[a];if(!e)break;const t=Math.min(r,jl.CHUNK_SIZE);s.push(this.sharedNativeDecoder.decode(e.subarray(0,t),{stream:!0})),r-=t,a+=1}return s.push(this.sharedNativeDecoder.decode()),this.offset+=e,s.join("")}peekUint8(){return this.readByte(this.offset)??0}assertUint8(e){const a=this.readUint8();if(a!==e)throw new Error(`Expected ${e}, but got ${a}`)}createCopyWithOffset(e){let a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Ol(this.chunks,a,e)}get currentOffset(){return this.offset}get capacity(){return this.chunks.length*jl.CHUNK_SIZE}}return e.ADBLOCK_URL_SEPARATOR="^",e.ADBLOCK_URL_SEPARATOR_REGEX=ji,e.ADBLOCK_URL_START=Ci,e.ADBLOCK_URL_START_REGEX=Di,e.ADBLOCK_WILDCARD=Ri,e.ADBLOCK_WILDCARD_REGEX=Si,e.ADG_SCRIPTLET_MASK=T,e.AGLINT_COMMAND_PREFIX=P,e.AGTREE_VERSION="2.0.1",e.AdblockSyntaxError=Fe,e.AgentCommentRuleParser=Je,e.AgentParser=Ke,e.AppListParser=Rs,e.BINARY_SCHEMA_VERSION=1,e.BinarySchemaMismatchError=Is,e.ByteBuffer=jl,e.COMMA_DOMAIN_LIST_SEPARATOR=",",e.CommentRuleParser=At,e.ConfigCommentRuleParser=La,e.CosmeticRuleParser=Kn,e.CosmeticRuleSeparatorUtils=Qe,e.DomainListParser=$t,e.DomainUtils=Fr,e.EXT_CSS_LEGACY_ATTRIBUTES=Rn,e.EXT_CSS_PSEUDO_CLASSES=jn,e.FORBIDDEN_CSS_FUNCTIONS=Sn,e.FilterListConverter=El,e.FilterListParser=$s,e.HINT_MARKER=B,e.HintCommentRuleParser=Xa,e.HintParser=Ga,e.HostRuleParser=Cs,e.IF=H,e.INCLUDE=W,e.InputByteBuffer=Ol,e.KNOWN_METADATA_HEADERS=et,e.LogicalExpressionParser=ft,e.LogicalExpressionUtils=Dl,e.MODIFIERS_SEPARATOR=",",e.MODIFIER_ASSIGN_OPERATOR="=",e.MetadataCommentRuleParser=at,e.MethodListParser=_s,e.ModifierListParser=qt,e.ModifierParser=Pt,e.NEGATION_MARKER=O,e.NETWORK_RULE_EXCEPTION_MARKER=z,e.NETWORK_RULE_SEPARATOR="$",e.NetworkRuleParser=Xn,e.NotImplementedError=Oe,e.OutputByteBuffer=Tl,e.PIPE_MODIFIER_SEPARATOR="|",e.PREPROCESSOR_MARKER=L,e.ParameterListParser=Ba,e.PositionProvider=class{constructor(e){_defineProperty(this,"offsetToLine",void 0),_defineProperty(this,"lineStartOffsets",void 0),this.offsetToLine=[],this.lineStartOffsets=[0];let a=0;for(let t=0;t<e.length;t+=1)this.offsetToLine[t]=a,e[t]!==y&&"\f"!==e[t]&&e[t]!==v||(a+=1,this.lineStartOffsets[a]=e[t]===v&&e[t+1]===y?t+2:t+1,e[t]===v&&(t+=1))}convertOffsetToPosition(e){if(e<0||e>=this.offsetToLine.length)return null;const a=this.offsetToLine[e];return{line:a+1,column:e-this.lineStartOffsets[a]+1}}},e.PreProcessorCommentRuleParser=kt,e.QuoteUtils=Ir,e.RawFilterListConverter=class extends vi{static convertToAdg(e){let a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const t=El.convertToAdg($s.parse(e,{...Ne,isLocIncluded:!1,tolerant:a}),a);return t.isConverted?ki($s.generate(t.result),!0):ki(e,!1)}},e.RawRuleConverter=class extends vi{static convertToAdg(e){const a=Al.convertToAdg(Ds.parse(e));return a.isConverted?ki(a.result.map(Ds.generate),!0):ki([e],!1)}},e.RegExpUtils=Fi,e.RuleCategorizer=class{static getCosmeticRuleType(e){try{const a=Kn.parse(e,{...Ne,isLocIncluded:!1,includeRaws:!1});return Be(a)?null:a.type}catch{return null}}},e.RuleConversionError=Os,e.RuleConverter=Al,e.RuleParser=Ds,e.SAFARI_CB_AFFINITY=q,e.SPECIAL_REGEX_SYMBOLS=Ti,e.StealthOptionListParser=Ts,e.UBO_SCRIPTLET_MASK=F,e.decodeTextPolyfill=$l,e.defaultParserOptions=Ne,e.encodeIntoPolyfill=Ml,e.getPlatformId=e=>{const a=ii.get(e);if(a)return a;const t=di.get(e);if(t)return t;throw new Error(`Unknown platform: ${e}`)},e.getResourceTypeModifier=ou,e.getSpecificPlatformName=e=>{const a=oi.get(e);if(!a)throw new Error(`Unknown platform: ${e}`);return a},e.isGenericPlatform=ui,e.isValidResourceType=du,e.modifierValidator=bi,e.modifiersCompatibilityTable=hi,e.parseRawPlatforms=pu,e.redirectsCompatibilityTable=lu,e.scriptletsCompatibilityTable=cu,e}({});